新聞中心
發(fā)現(xiàn)自己的環(huán)境中存在舊的、易受攻擊的代碼的公司很可能缺乏修復(fù)這些代碼的資源。大多數(shù)公司都會(huì)在某一時(shí)刻發(fā)現(xiàn)自己處于這種情況,無論是因?yàn)樗麄兪褂玫氖情_源程序還是過時(shí)的程序,但公司有一些方法可以應(yīng)對(duì)問題,包括確定優(yōu)先順序、自動(dòng)化和緩解。

成都創(chuàng)新互聯(lián)公司長期為上1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為文昌企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,文昌網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
舊的、糟糕的代碼中存在的問題在企業(yè)中隨處可見。易受攻擊的代碼通常是一個(gè)問題,根據(jù)Veracode今年發(fā)布的一份報(bào)告,在去年掃描的應(yīng)用程序中,74%至少有一個(gè)安全漏洞,19%有高度嚴(yán)重的漏洞。Veracode的首席研究官Chris Eng說,應(yīng)用程序越舊,出現(xiàn)問題的可能性就越大。首次掃描新應(yīng)用程序時(shí),32%的應(yīng)用程序存在安全漏洞。在五年的時(shí)間節(jié)點(diǎn)上,這一比例躍升至70%,到一個(gè)應(yīng)用程序使用10年的時(shí)候,它有90%的可能性至少有一個(gè)安全漏洞。
問題增加的一個(gè)原因是應(yīng)用程序中添加了新的代碼,根據(jù)Veracode的數(shù)據(jù),在前五年,應(yīng)用程序平均每年增長40%,每一行新代碼都增加了出錯(cuò)的可能性,更復(fù)雜的代碼使發(fā)現(xiàn)和修復(fù)問題變得更加困難。
組件也是問題的一大部分,Eng告訴記者:“大多數(shù)開發(fā)人員,當(dāng)他們下載一個(gè)開源組件并將其整合到他們的應(yīng)用程序中時(shí),永遠(yuǎn)不會(huì)回去更新它?!备鼫?zhǔn)確地說,79%的時(shí)間里,舊的開源組件不會(huì)更新。隨著時(shí)間的推移,即使從來沒有添加新的代碼行,也會(huì)不斷發(fā)現(xiàn)新的漏洞,Eng說,“該應(yīng)用程序的安全狀況變得越來越糟糕?!?/p>
根據(jù)Synopsys在2月份發(fā)布的開源安全和風(fēng)險(xiǎn)分析,所有商業(yè)代碼庫中96%包含開源組件,89%包含過時(shí)四年以上的開源代碼,這個(gè)問題對(duì)應(yīng)用程序安全是很重要,以至于易受攻擊的第三方庫被OWASP列為Web應(yīng)用程序安全風(fēng)險(xiǎn)前十名。
表面上看,解決方案似乎很簡單:只需用最新版本替換組件即可。當(dāng)代碼庫相對(duì)較新時(shí),這很容易。Eng說:“如果明天發(fā)布補(bǔ)丁,那么做補(bǔ)丁就相當(dāng)容易了。但如果我徘徊數(shù)年,得到多個(gè)版本,那么獲取最新版本所需的工作量是巨大的?!?/p>
隨著每一個(gè)新的更新,特別是主要的版本,有更多的可能性來改變行為,關(guān)鍵功能可能已棄用,這意味著如果組件更新到最新版本,應(yīng)用程序作為一個(gè)整體可能會(huì)停止工作?!爱?dāng)你有幾個(gè)主要版本之后,肯定會(huì)發(fā)生崩潰?!盓ng說。
當(dāng)公司發(fā)現(xiàn)自己處于這種情況時(shí),最好的做法是首先專注于最關(guān)鍵的問題。
識(shí)別并確定構(gòu)成最高風(fēng)險(xiǎn)的糟糕代碼的優(yōu)先順序
不同的漏洞可能會(huì)對(duì)公司產(chǎn)生不同的影響。在某些情況下,特定函數(shù)中可能存在安全漏洞,但應(yīng)用程序不使用該函數(shù),因此使系統(tǒng)不太容易受到該特定漏洞的攻擊。還有一個(gè)問題是,是否看到了攻擊行為,以及正在觀察到的攻擊活動(dòng)的類型。
背景也很重要。Synopsys Software Integrity Group的管理顧問亞當(dāng)·布朗告訴記者:“如果你有一個(gè)過時(shí)的、非常舊的應(yīng)用程序,但它部署在一個(gè)沒有人能訪問的安全網(wǎng)絡(luò)上,那么它的影響就不會(huì)那么高了。即使它被歸類為超高風(fēng)險(xiǎn)的關(guān)鍵漏洞,如果你花了很多錢來修復(fù)它,誰會(huì)受益?”
在受監(jiān)管的行業(yè)中,也可能存在與修復(fù)代碼相關(guān)的合規(guī)問題,因?yàn)槿魏胃亩急仨毥?jīng)過審查,這種情況往往發(fā)生在金融和衛(wèi)生領(lǐng)域。對(duì)于一些舊的應(yīng)用程序,更換可能比修復(fù)更有意義。布朗說:“有時(shí)候,建立一個(gè)新的模型,然后慢慢遷移到它上面,比試圖修復(fù)舊的模型要容易得多。你可能會(huì)花時(shí)間修復(fù)一個(gè)嚴(yán)重的漏洞,但最終你應(yīng)該做的是找出如何重新開發(fā)平臺(tái)。”
Synopsys本月初發(fā)布了自己的軟件漏洞報(bào)告,該報(bào)告基于過去三年運(yùn)行的1.2萬項(xiàng)測試,重點(diǎn)是網(wǎng)絡(luò)和移動(dòng)應(yīng)用程序。根據(jù)這份報(bào)告,92%的應(yīng)用程序存在漏洞,其中33%屬于嚴(yán)重類別。
在確定優(yōu)先順序時(shí),公司還需要注意不要被新聞?lì)^條所動(dòng)搖。網(wǎng)絡(luò)安全供應(yīng)商Cymulate的董事兼網(wǎng)絡(luò)安全架構(gòu)師邁克·德納波利表示:“公司之間有一種趨勢,即根據(jù)當(dāng)前媒體的關(guān)注水平來評(píng)估迫在眉睫的威脅,而不是實(shí)際的風(fēng)險(xiǎn)水平?!盋ymulate在今年3月發(fā)布了一份跟蹤網(wǎng)絡(luò)安全有效性狀況的報(bào)告,該報(bào)告還強(qiáng)調(diào)了公司中存在不安全代碼。根據(jù)這份報(bào)告,與前一年相比,平均風(fēng)險(xiǎn)得分有所惡化。
安全和風(fēng)險(xiǎn)公司HyperProof的IEEE高級(jí)成員兼現(xiàn)場CISO Kayne McGladrey表示,確定軟件修復(fù)的優(yōu)先順序的最大問題是,安全控制和業(yè)務(wù)風(fēng)險(xiǎn)結(jié)果之間往往存在脫節(jié),他表示,這加大了獲得高管支持的難度,代碼維護(hù)和依賴項(xiàng)管理不是什么吸引人的話題。McGladrey告訴記者,相反,高管的興趣往往集中在“停工帶來的財(cái)務(wù)或聲譽(yù)影響”上。
“為了解決這個(gè)問題,公司應(yīng)該記錄并商定與第一方代碼和第三方代碼相關(guān)的業(yè)務(wù)風(fēng)險(xiǎn),然后,他們需要確定他們愿意在聲譽(yù)損害、財(cái)務(wù)損害或法律審查等領(lǐng)域承擔(dān)多大風(fēng)險(xiǎn)。在管理層達(dá)成共識(shí)后,關(guān)鍵系統(tǒng)的企業(yè)主應(yīng)該努力識(shí)別和實(shí)施控制措施,以降低這些風(fēng)險(xiǎn)?!?/p>
一旦一家公司確定了其最優(yōu)先的問題,下一步就是解決這些問題。不幸的是,這并不總是可行的,公司需要尋找其他措施。
當(dāng)唯一的答案是緩解
當(dāng)涉及到舊系統(tǒng)時(shí),可能沒有任何人擁有修復(fù)代碼所需的知識(shí)。根據(jù)技術(shù)服務(wù)公司Advanced去年11月發(fā)布的一項(xiàng)調(diào)查,在使用大型機(jī)的公司中,42%的公司表示他們最著名的遺留語言是COBOL,另有37%的公司仍在使用匯編語言。
“別管就業(yè)市場了,很難找到像COBOL這樣擁有過時(shí)編程語言技能的人?!盬ithSecure的網(wǎng)絡(luò)安全顧問Paul Brucciani說。
另一個(gè)問題是源代碼何時(shí)丟失。Brucciani告訴記者:“你會(huì)驚訝于運(yùn)行在古老軟件上的[許多]公司因?yàn)閬G失了源代碼而無法更新?!?/p>
在某些情況下,這些應(yīng)用程序太重要了,不能碰,因?yàn)槠茐乃鼈兊娘L(fēng)險(xiǎn)太高,更換它們會(huì)造成太大的中斷?!安⒉皇撬械倪z留代碼和應(yīng)用程序在被發(fā)現(xiàn)時(shí)都可以刪除。在許多情況下,關(guān)鍵業(yè)務(wù)流程依賴于由遺留系統(tǒng)執(zhí)行的功能和工作流,“Cymulate的DeNapoli說。
軟件漏洞也可能因?yàn)闀r(shí)間或資源不足或合規(guī)性考慮而無法修復(fù),但如果被利用仍會(huì)構(gòu)成風(fēng)險(xiǎn)。在這些情況下,公司應(yīng)該在易受攻擊的系統(tǒng)周圍采取緩解措施,公司將需要使用其他策略,如實(shí)施或加強(qiáng)薪酬控制。
零信任架構(gòu)、網(wǎng)絡(luò)分段和對(duì)身份驗(yàn)證的更多關(guān)注有助于降低易受攻擊的應(yīng)用程序被利用的風(fēng)險(xiǎn)。Veracode的Eng說:“把所有東西都放在認(rèn)證層后面是一種廣泛的趨勢。不管代碼有多舊,這種情況都會(huì)發(fā)生?!?/p>
其他緩解策略包括加密、防火墻、安全自動(dòng)化和動(dòng)態(tài)數(shù)據(jù)備份。
自動(dòng)查找舊代碼并創(chuàng)建更安全的代碼
針對(duì)易受攻擊的舊代碼問題的最新解決方案涉及人工智能領(lǐng)域的新進(jìn)展,我們已經(jīng)有了可以編寫新代碼的生成性人工智能工具,但供應(yīng)商也在致力于專門的人工智能,這些人工智能經(jīng)過專門培訓(xùn),專門修復(fù)漏洞。Eng說:“人工智能可以提出修復(fù)建議,然后開發(fā)人員可以對(duì)其進(jìn)行一些調(diào)整。”
問題是,當(dāng)公司使用大型、公開的大型語言模型時(shí),這些模型會(huì)接受各種培訓(xùn),包括不好的東西?!罢缢麄冞^去常說的,垃圾進(jìn)了,垃圾出了。不可避免的是,由這些模型生成的代碼也將包含漏洞。因此,代碼的生成速度會(huì)更快,但仍會(huì)有錯(cuò)誤。“Eng補(bǔ)充道。
Veracode正在基于自己經(jīng)過審查的代碼構(gòu)建自己的人工智能?!拔覀兩梢资芄舻拇a和良好的代碼,并針對(duì)每一個(gè)類別訓(xùn)練模型,”Eng說?!斑@樣我們就可以肯定地知道,發(fā)布出來的東西不是隨機(jī)從某個(gè)開發(fā)者的Github庫中提取出來的?!?/p>
Veracode Fix于今年4月發(fā)布,據(jù)該公司稱,該產(chǎn)品可以為Java代碼中發(fā)現(xiàn)的72%的缺陷生成修復(fù)程序,這可以極大地加快公司的補(bǔ)救工作。
在某個(gè)時(shí)候,較大的企業(yè)可能會(huì)想要構(gòu)建自己的、定制的人工智能工具?!八麄兿胍运麄兪褂玫拇a風(fēng)格生成修復(fù)程序?!盓ng說。
但這并不意味著企業(yè)應(yīng)該坐等人工智能機(jī)構(gòu)來解決所有問題,他說:“有了大多數(shù)公司的大量安全債務(wù),即使你現(xiàn)在只應(yīng)對(duì)最嚴(yán)重的事情,你也不會(huì)沒有事情可做?!?/p>
分享標(biāo)題:修復(fù)來自開源和遺留程序的舊的、不安全的代碼的三種方法
分享網(wǎng)址:http://m.fisionsoft.com.cn/article/djcgeps.html


咨詢
建站咨詢
