在最新軟件安全報(bào)告顯示,大多數(shù)開發(fā)者在軟件中包含第三方庫之后,從未更新過這些庫,。報(bào)告的重點(diǎn)是關(guān)注開源軟件和開發(fā)者如何處理他們使用的第三方庫的安全性,。
一份包含30萬多個(gè)獨(dú)特庫的超過86000個(gè)庫的分析報(bào)告以及與1700多名開發(fā)者的討論顯示,盡管開源領(lǐng)域在不斷變化,,庫也在不斷發(fā)展,但79%的庫在被引入應(yīng)用軟件后從未更新。
雖然有些開發(fā)人員在了解到他們使用的庫中的漏洞后會(huì)迅速采取行動(dòng)——25%的漏洞在一周內(nèi)就得到了解決——但有一半的安全漏洞在修復(fù)發(fā)布后的7個(gè)月內(nèi)沒有得到修補(bǔ),。這是因?yàn)殚_發(fā)人員缺乏他們需要立即采取行動(dòng)的重要信息。
Veracode指出:“當(dāng)開發(fā)人員理解漏洞的含義并適當(dāng)?shù)貎?yōu)先考慮安全性時(shí),,他們可以輕松地修復(fù)大多數(shù)缺陷,?!笔聦?shí)上,當(dāng)開發(fā)人員獲得他們需要的信息時(shí),,一半的漏洞在三周內(nèi)就得到了解決,。
該報(bào)告還發(fā)現(xiàn),第三方庫中的大多數(shù)漏洞(92%)可以通過一個(gè)更新進(jìn)行修補(bǔ),,并且69%的更新代表較小的版本變動(dòng),,不太可能破壞應(yīng)用程序的功能。
超過一半的被調(diào)查開發(fā)者(52.5%)有正式的庫評(píng)估流程,,28.4%的人說他們不確定(他們要么沒有正式的流程,,要么沒有意識(shí)到并忽略了它),19.1%的人承認(rèn)沒有這樣的流程,??偟膩碚f,超過80%的開發(fā)人員表示,,他們?cè)谶x擇使用庫的時(shí)候會(huì)考慮安全性,。
Veracode指出:“在大型和不同的團(tuán)隊(duì)中,開發(fā),、共享和遵循統(tǒng)一的政策可能是困難的,,這可能會(huì)導(dǎo)致不確定性?!?/p>
對(duì)數(shù)以萬計(jì)的庫進(jìn)行反復(fù)掃描發(fā)現(xiàn),,第一次掃描中出現(xiàn)的庫中有65.0%從未更新。此外,,14%的庫是在第一次掃描后添加的,,并且從未更新,總共有79%的庫被添加和遺忘,。
當(dāng)分析僅限于使用壽命相對(duì)較長的存儲(chǔ)庫和多次掃描時(shí),,結(jié)果相差不大:73%的庫從未更新過。該報(bào)告還顯示,,Ruby庫被忽略的最多(67.1%),,而PHP庫被維護(hù)的最多(只有37.7%的PHP庫被添加后又被忽略)。
報(bào)告揭示的另一個(gè)令人擔(dān)憂的事實(shí)是,,大約一半包含漏洞的庫可能需要超過21個(gè)月的時(shí)間來更新,,而大約25%的庫甚至在四年之后都沒有更新。
報(bào)告顯示,,當(dāng)?shù)谌綆熘械穆┒幢┞稌r(shí),,一些開發(fā)人員會(huì)迅速采取行動(dòng)。具體來說,17%的缺陷在一小時(shí)內(nèi)得到修復(fù),,25%在一周內(nèi)得到修復(fù),。然而,開發(fā)人員要花3個(gè)月的時(shí)間來修補(bǔ)50%的有漏洞的庫,,而解決75%的漏洞則需要一年的時(shí)間。
對(duì)于直接依賴和繼承性依賴的庫,,打補(bǔ)丁可能需要2.5倍的時(shí)間,。這同樣適用于復(fù)雜的漏洞,例如任意代碼執(zhí)行缺陷,,這可能需要比典型問題花費(fèi)兩倍的時(shí)間來修復(fù),。遠(yuǎn)程代碼執(zhí)行和拒絕服務(wù)bug也需要更長的時(shí)間來解決。
開源庫在不斷發(fā)展變化,。這樣的安全狀況顯然形成了軟件供應(yīng)鏈的重大風(fēng)險(xiǎn),。需要謹(jǐn)記的是,大量的庫選擇是“設(shè)置后忘記它”,,開發(fā)人員找到他們需要的功能而不改變它,。兩年前沒有缺陷的函數(shù)庫今天可能會(huì)暴露一個(gè)應(yīng)用程序。
那么,,如何面對(duì)這種變化的挑戰(zhàn)呢,?該報(bào)告的結(jié)果表明,當(dāng)開發(fā)人員得到他們需要的信息時(shí),,他們可以迅速采取行動(dòng)來解決問題,。它的幫助在于,大多數(shù)修復(fù)并不比一個(gè)小的軟件更新更費(fèi)力,,即使是最復(fù)雜的應(yīng)用程序也不太可能破壞內(nèi)部工作,。
Veracode在報(bào)告發(fā)布消息中稱,確保軟件供應(yīng)鏈的安全正引起白宮的注意,。上個(gè)月,,白宮發(fā)布了一項(xiàng)關(guān)于網(wǎng)絡(luò)安全的行政命令,其中近25%的內(nèi)容關(guān)注于確保軟件供應(yīng)鏈的安全,。接下來,,向聯(lián)邦政府銷售的軟件供應(yīng)商將被要求公開其軟件的組成,并確保軟件應(yīng)用程序已經(jīng)過自動(dòng)化測試,。
Veracode的聯(lián)合創(chuàng)始人和首席技術(shù)官Chris Wysopal說:“隨著行政命令的不斷落實(shí),,任何軟件開發(fā)人員都應(yīng)該確保他們?cè)谲浖_發(fā)生命周期的早期就經(jīng)常掃描他們的軟件。開放源碼軟件的日益普及,,加上越來越苛刻的開發(fā)周期,,導(dǎo)致了軟件漏洞的高發(fā)傾向。在流程的早期進(jìn)行掃描可以顯著降低風(fēng)險(xiǎn),,而且大多數(shù)修復(fù)都是微小改動(dòng),,因此不會(huì)影響最復(fù)雜軟件的功能,。”