應(yīng)用安全公司Veracode和數(shù)據(jù)科學(xué)研究所Cyentia聯(lián)合編寫的最新軟件安全報告顯示,大多數(shù)開發(fā)者在軟件中包含第三方庫之后,從未更新過這些庫。報告的重點是關(guān)注開源軟件和開發(fā)者如何處理他們使用的第三方庫的安全性。
一份包含30萬多個獨特庫的超過86000個庫的分析報告以及與1700多名開發(fā)者的討論顯示,盡管開源領(lǐng)域在不斷變化,庫也在不斷發(fā)展,但79%的庫在被引入應(yīng)用軟件后從未更新。
雖然有些開發(fā)人員在了解到他們使用的庫中的漏洞后會迅速采取行動——25%的漏洞在一周內(nèi)就得到了解決——但有一半的安全漏洞在修復(fù)發(fā)布后的7個月內(nèi)沒有得到修補。這是因為開發(fā)人員缺乏他們需要立即采取行動的重要信息。
Veracode指出:“當開發(fā)人員理解漏洞的含義并適當?shù)貎?yōu)先考慮安全性時,他們可以輕松地修復(fù)大多數(shù)缺陷。”事實上,當開發(fā)人員獲得他們需要的信息時,一半的漏洞在三周內(nèi)就得到了解決。
該報告還發(fā)現(xiàn),第三方庫中的大多數(shù)漏洞(92%)可以通過一個更新進行修補,并且69%的更新代表較小的版本變動,不太可能破壞應(yīng)用程序的功能。
超過一半的被調(diào)查開發(fā)者(52.5%)有正式的庫評估流程,28.4%的人說他們不確定(他們要么沒有正式的流程,要么沒有意識到并忽略了它),19.1%的人承認沒有這樣的流程。總的來說,超過80%的開發(fā)人員表示,他們在選擇使用庫的時候會考慮安全性。
Veracode指出:“在大型和不同的團隊中,開發(fā)、共享和遵循統(tǒng)一的政策可能是困難的,這可能會導(dǎo)致不確定性。”
對數(shù)以萬計的庫進行反復(fù)掃描發(fā)現(xiàn),第一次掃描中出現(xiàn)的庫中有65.0%從未更新。此外,14%的庫是在第一次掃描后添加的,并且從未更新,總共有79%的庫被添加和遺忘。
當分析僅限于使用壽命相對較長的存儲庫和多次掃描時,結(jié)果相差不大:73%的庫從未更新過。該報告還顯示,Ruby庫被忽略的最多(67.1%),而PHP庫被維護的最多(只有37.7%的PHP庫被添加后又被忽略)。
報告揭示的另一個令人擔(dān)憂的事實是,大約一半包含漏洞的庫可能需要超過21個月的時間來更新,而大約25%的庫甚至在四年之后都沒有更新。
報告顯示,當?shù)谌綆熘械穆┒幢┞稌r,一些開發(fā)人員會迅速采取行動。具體來說,17%的缺陷在一小時內(nèi)得到修復(fù),25%在一周內(nèi)得到修復(fù)。然而,開發(fā)人員要花3個月的時間來修補50%的有漏洞的庫,而解決75%的漏洞則需要一年的時間。
對于直接依賴和繼承性依賴的庫,打補丁可能需要2.5倍的時間。這同樣適用于復(fù)雜的漏洞,例如任意代碼執(zhí)行缺陷,這可能需要比典型問題花費兩倍的時間來修復(fù)。遠程代碼執(zhí)行和拒絕服務(wù)bug也需要更長的時間來解決。
開源庫在不斷發(fā)展變化。這樣的安全狀況顯然形成了軟件供應(yīng)鏈的重大風(fēng)險。需要謹記的是,大量的庫選擇是“設(shè)置后忘記它”,開發(fā)人員找到他們需要的功能而不改變它。兩年前沒有缺陷的函數(shù)庫今天可能會暴露一個應(yīng)用程序。
那么,如何面對這種變化的挑戰(zhàn)呢?該報告的結(jié)果表明,當開發(fā)人員得到他們需要的信息時,他們可以迅速采取行動來解決問題。它的幫助在于,大多數(shù)修復(fù)并不比一個小的軟件更新更費力,即使是最復(fù)雜的應(yīng)用程序也不太可能破壞內(nèi)部工作。
Veracode在報告發(fā)布消息中稱,確保軟件供應(yīng)鏈的安全正引起白宮的注意。上個月,白宮發(fā)布了一項關(guān)于網(wǎng)絡(luò)安全的行政命令,其中近25%的內(nèi)容關(guān)注于確保軟件供應(yīng)鏈的安全。接下來,向聯(lián)邦政府銷售的軟件供應(yīng)商將被要求公開其軟件的組成,并確保軟件應(yīng)用程序已經(jīng)過自動化測試。
Veracode的聯(lián)合創(chuàng)始人和首席技術(shù)官Chris Wysopal說:“隨著行政命令的不斷落實,任何軟件開發(fā)人員都應(yīng)該確保他們在軟件開發(fā)生命周期的早期就經(jīng)常掃描他們的軟件。開放源碼軟件的日益普及,加上越來越苛刻的開發(fā)周期,導(dǎo)致了軟件漏洞的高發(fā)傾向。在流程的早期進行掃描可以顯著降低風(fēng)險,而且大多數(shù)修復(fù)都是微小改動,因此不會影響最復(fù)雜軟件的功能。”
延伸閱讀
今年6月初奇安信集團發(fā)布《2021年中國軟件供應(yīng)鏈安全綜合分析報告》,全面從開源軟件生態(tài)發(fā)展狀況、開源軟件源代碼安全狀況、開源軟件公開報告漏洞狀況、開源軟件活躍度狀況等四個方面對2020年開源軟件生態(tài)發(fā)展與安全狀況進行綜合分析。報告顯示,1、每1000行代碼就有超過10個安全缺陷。2、超8成項目存在高危開源軟件漏洞。3、開源軟件活躍度狀況堪憂,61.6%的開源軟件處于不活躍狀態(tài)。4、18年前的老舊開源軟件版本仍在被使用卻無人更新。基礎(chǔ)薄弱、意識不足、開源漏洞風(fēng)險、開源軟件運維風(fēng)險、活躍度狀況,等等,軟件供應(yīng)鏈的安全風(fēng)險近在眼前。真是“藏在深山人未識,終有時日露崢嶸”。
關(guān)于Veracode
Veracode創(chuàng)立于2006年,是全球領(lǐng)先的獨立應(yīng)用安全合作伙伴,旨在創(chuàng)建安全的軟件,降低安全漏洞風(fēng)險,提高安全性和開發(fā)團隊的生產(chǎn)力。Veracode技術(shù)的公司可以通過將流程自動化、整合、速度和響應(yīng)能力相結(jié)合,幫助各企業(yè)獲得準確可靠的結(jié)果,從而讓客戶將精力集中在修復(fù)而不僅僅是查找潛在的漏洞上。Veracode為全球各行各業(yè)的2,500家客戶提供服務(wù),包括三分之一的財富100強和超過四分之一的福布斯最具價值品牌的企業(yè)。該公司在世界各地都設(shè)有辦事處。此外,還提供靈活的遠程工作選擇,以支持不斷壯大的全球服務(wù)團隊。
關(guān)于Cyentia
Cyentia Institute是一家研究數(shù)據(jù)科學(xué)的企業(yè),其使命是增進網(wǎng)絡(luò)安全行業(yè)的知識,通過與供應(yīng)商和其他組織合作發(fā)布一系列高質(zhì)量的數(shù)據(jù)驅(qū)動內(nèi)容來實現(xiàn)這一目標。該團隊利用多年的經(jīng)驗來促進網(wǎng)絡(luò)安全知識和實踐。作為值得信賴的行業(yè)領(lǐng)導(dǎo)者,多年來致力于提高研究和可用信息的質(zhì)量。該研究機構(gòu)對研究方法學(xué)、強大的數(shù)據(jù)分析和溝通技巧以及豐富的網(wǎng)絡(luò)安全領(lǐng)域?qū)I(yè)知識有著深刻的了解。