2022年開源軟件供應(yīng)鏈安全風(fēng)險(xiǎn)研究報(bào)告_第1頁
2022年開源軟件供應(yīng)鏈安全風(fēng)險(xiǎn)研究報(bào)告_第2頁
2022年開源軟件供應(yīng)鏈安全風(fēng)險(xiǎn)研究報(bào)告_第3頁
2022年開源軟件供應(yīng)鏈安全風(fēng)險(xiǎn)研究報(bào)告_第4頁
2022年開源軟件供應(yīng)鏈安全風(fēng)險(xiǎn)研究報(bào)告_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

2022年開源軟件供應(yīng)鏈安全風(fēng)險(xiǎn)研究報(bào)告PAGEPAGE10目錄前言 1一、開漏洞展現(xiàn)趨勢 3發(fā)現(xiàn)一開源件漏體呈增趨勢,2020增長率有下降 3發(fā)現(xiàn)二:CVE方未錄的開軟件洞數(shù)遞增 4發(fā)現(xiàn)三開源件漏由POC披露到NVD首公開時(shí)長達(dá)11年 4發(fā)現(xiàn)四近4,高以上開漏洞比均超40% 5發(fā)現(xiàn)五:2020,最要缺陷型為CWE-79 6二、開組件態(tài)安全險(xiǎn)分析 8發(fā)現(xiàn)六開源件生的漏洞呈上趨勢,2020年環(huán)增長40% 8發(fā)現(xiàn)七近6中Maven倉庫洞數(shù)最多 9發(fā)現(xiàn)八超半倉庫洞數(shù)均上年所增長 10發(fā)現(xiàn)九:2020高危洞占比高,比去加2.6左右 10發(fā)現(xiàn)十:2020,含危以上洞占最多是Rubygems 12發(fā)現(xiàn)十:平每版洞最多的TOP25組件五成來自Composer倉庫 12三、組漏洞賴層播范圍析 15發(fā)現(xiàn)十:一傳播范圍擴(kuò)大125,二播影響圍擴(kuò)大173倍 15發(fā)現(xiàn)十:npm倉庫中組件經(jīng)2輪傳,影件數(shù)量多 16發(fā)現(xiàn)十:一傳播范圍最的倉是Composer 16發(fā)現(xiàn)十:二傳播范圍最的倉是Nuget 17發(fā)現(xiàn)十:傳影響最小的庫是Maven 18四、開文件在漏險(xiǎn)傳播析 20發(fā)現(xiàn)十:超80%漏件在開項(xiàng)目有同件 20發(fā)現(xiàn)十:漏文件源項(xiàng)目傳播圍擴(kuò)大54倍 21案例分析 21五、開安全險(xiǎn)建議 23一、開源漏洞發(fā)展現(xiàn)狀及趨勢開源軟件具有代碼公開、易獲取、可重用的特點(diǎn),這一特點(diǎn)是開源軟件熱度攀升的重要原因。隨著開源軟件的廣泛使用,一旦軟件發(fā)現(xiàn)安全漏洞,必將給開發(fā)、安全團(tuán)隊(duì)帶來嚴(yán)峻的挑戰(zhàn)。然而,開源漏同時(shí),對于軟件使用者,由于缺少漏洞信息跟蹤能力,使得漏洞修復(fù)具有滯后性,提升了軟件被攻擊的風(fēng)險(xiǎn),為軟件供應(yīng)鏈安全管控增加了難度。本次研究收錄了官方漏洞庫、開源社區(qū)等渠道的數(shù)據(jù)120152020年發(fā)布的開源漏洞為研究對象,本報(bào)告展示了近6年開源安全漏洞發(fā)展現(xiàn)狀及趨勢。發(fā)現(xiàn)一:開源軟件漏洞整體呈增長趨勢,2020年增長率略有下降圖1 開源漏洞時(shí)間分布201551國家信息安全漏洞CNVD共享平臺(/)、美國國家漏洞庫(https://nvd.nist.gov/)、通用漏洞披露庫(/)等2018GitHub官方數(shù)1/320186756320152.85倍;201792.86%;201920202019年發(fā)1746條。發(fā)現(xiàn)二:CVE官方未收錄的開源軟件漏洞數(shù)逐年遞增圖2 CVE官方未收錄開源漏洞情況CVE官方網(wǎng)站22020CVE1362202023.78%;CVE2017133.52%。POCNVD11年2020CVE-2009-4067Linux內(nèi)核AuerswaldLinuxUSBPOC披露到NVD11年。POC20091019日披露3;20091124日獲得CVE2020112NVD(NVD等440%圖3 含高危以上漏洞占比62015年30.87202056%;其中,20172020年高危及46.9120205成。圖4 2020年漏洞危害等級占比發(fā)現(xiàn)五:2020CWE-79圖5 2020年開源漏洞TOP10CWE缺陷類型CWE-792020110CWE很容易并被利用,往往通過系統(tǒng)信息暴露、竊取數(shù)據(jù)或阻止應(yīng)用程序CWE可以幫助開發(fā)人員、測試人員、用戶、項(xiàng)目經(jīng)理以及安全研究人員深入了解當(dāng)前最嚴(yán)重的安全漏洞。表1 2020年開源漏洞TOP10CWE缺陷類型CWE編號中文名稱個(gè)數(shù)CWE-79在Web頁面生成時(shí)對輸入的轉(zhuǎn)義處理不恰當(dāng)(跨站腳本)824CWE-506內(nèi)嵌的惡意代碼726CWE-400未加控制的資源消耗(資源窮盡)510CWE-200信息暴露305CWE-20輸入驗(yàn)證不恰當(dāng)212CWE-94對生成代碼的控制不恰當(dāng)(代碼注入)201CWE-119內(nèi)存緩沖區(qū)邊界內(nèi)操作的限制不恰當(dāng)142CWE-125跨界內(nèi)存讀134CWE-78OS命令中使用的特殊元素轉(zhuǎn)義處理不恰當(dāng)(OS命令注入)124CWE-325缺少必要的密碼學(xué)步驟117二、開源組件生態(tài)安全風(fēng)險(xiǎn)分析開源組件生態(tài)蓬勃發(fā)展,重要原因是組件獨(dú)立、可復(fù)用。組件化可以大幅度提高開發(fā)效率、可測試性、可復(fù)用性、提升應(yīng)用性能。同組件標(biāo)準(zhǔn)化使得優(yōu)質(zhì)好用的組件越來越多,用戶也更愿意使用,形成開源組件被廣泛使用,根據(jù)官方數(shù)據(jù)顯示,Maven倉庫數(shù)據(jù)量已650930712億,PyPI49萬。CocoaPods4Composer5Maven7npm8Nuget9、PyPI10、Rubygems1186年各倉發(fā)現(xiàn)六:開源組件生態(tài)中的漏洞數(shù)呈上漲趨勢,2020年環(huán)比增長40%6304.48倍。圖6 開源組件生態(tài)漏洞時(shí)間分布6年中Maven倉庫漏洞數(shù)量最多圖7 近6年中各組件倉庫漏洞情況6Maven3533個(gè);Go3481413個(gè)。發(fā)現(xiàn)八:超半數(shù)倉庫的漏洞數(shù)均較上年有所增長圖8 近6年各倉庫漏洞分布圖6年,Composer、、Maven、、PyPI、Rubygems6Rubygems倉庫漏10.5倉庫和PyPI252132%;Maven2020發(fā)現(xiàn)九:20202.6倍左右20201826202053%,201920202.6220182019171個(gè)。圖9 近6年新增漏洞風(fēng)險(xiǎn)等級時(shí)間分布圖10 近6年新增漏洞各風(fēng)險(xiǎn)等級占比發(fā)現(xiàn)十:2020Rubygems圖11 2020年各倉庫中含高危以上漏洞占比402020年,RubygemsRubygems倉庫新增漏2020Go倉庫新增25組件約五成來自Composer倉庫202025/1257Maven47圖12平均版本漏洞最多TOP25組件倉庫分布圖13Composer倉庫組件分布圖14PyPI倉庫組件分布圖15Maven倉庫組件分布圖16npm和Nuget倉庫組件分布三、組件漏洞依賴層級傳播范圍分析軟件工程中經(jīng)常引用組件來實(shí)現(xiàn)某些功能,組件之間存在相互依ABCABBCAC組件存在安全漏洞,組件之間又存在相互依賴關(guān)系,導(dǎo)致漏洞在組件Maven、npm、Rubygems、PyPI、Composer、Nuget66,41612,6,416定義,稱該組件范圍為一級傳播;第二輪實(shí)驗(yàn),查找直接依賴一級傳6,416125倍,二級傳播影響范圍擴(kuò)173倍圖17組件漏洞依賴層級傳播范圍6,416801,164125倍。第1,109,5196,416173發(fā)現(xiàn)十三:npm2輪傳播,影響組件數(shù)量最多圖18各倉庫組件漏洞傳播范圍RubygemsPyPIComposerNuget61,962Maven6npm倉庫。1,962459,876個(gè)組件,漏洞的影響范圍擴(kuò)大了234倍;二級傳播共波及601,5741,962307Composer圖19各倉庫一級傳播影響范圍Composer380個(gè),為651播波影響范圍最廣的倉庫是Composer。經(jīng)過一級傳播共波及99,611262發(fā)現(xiàn)十五:二級傳播影響范圍最廣的倉庫是Nuget1726組2廣的倉庫是Nuget23,24013584,995172個(gè)494圖20各倉庫二級傳播影響范圍發(fā)現(xiàn)十六:傳播影響范圍最小的倉庫是Maven圖21兩輪漏洞傳播組件漏洞影響范圍分布圖Maven2,289個(gè),經(jīng)2次傳播,6Maven94,72441145,8272,28964倍。從整體上看,開源組件生態(tài)中漏洞影響范圍遠(yuǎn)超預(yù)期,組件間的依賴層級關(guān)系會(huì)導(dǎo)致組件之間漏洞存在傳播風(fēng)險(xiǎn)。因此,要保證軟件的安全風(fēng)險(xiǎn)控制,應(yīng)通過自動(dòng)化的手段識別軟件工程中的組件成分,梳理組件間的依賴關(guān)系;在已知成分清單基礎(chǔ)上對組件漏洞風(fēng)險(xiǎn)實(shí)施管控;同時(shí),還要對已知成分進(jìn)行動(dòng)態(tài)監(jiān)控,建立組件生態(tài)的漏洞威脅警報(bào),在動(dòng)態(tài)變化中將安全漏洞風(fēng)險(xiǎn)降到最低。四、開源文件潛在漏洞風(fēng)險(xiǎn)傳播分析開源項(xiàng)目中往往存在相互引用關(guān)系,同一開源文件可能被多個(gè)項(xiàng)目所引用或包含。考慮到開源文件這一特性,本研究選取已公開漏洞17,5701317,570發(fā)現(xiàn)十七:超80%漏洞文件在開源項(xiàng)目具有同源文件圖22漏洞文件同源占比分布17,57080.35%14,1183,452個(gè)文件未找到同源文件。54倍圖23漏洞文件在開源項(xiàng)目中傳播范圍分布14,118766,877個(gè)542,410,476個(gè)開源項(xiàng)目171案例分析LibTIFF項(xiàng)目中tif_next.c2個(gè)中危漏洞CVE-2015-1547CVE-2015-8784tif_next.c237tif_next.c1000tif_next.c26大托管平臺引用tif_next.c表26大托管平臺tif_next.c文件的同源開源項(xiàng)目舉例托管平臺開源項(xiàng)目名稱版本號同源文件路徑GitHubreactos/reactos14backups/ros-branch-0_4_2@73087見注釋15Giteemirrors-opencv162.4.10見注釋17Gitlablimbo18v2.2.1-Limbo-armv7-hf見注釋19Bitbucketxray20FirstAddedTBB見注釋21Sourceforgewxhaskell22wxInstall-Abriline-32-0.1見注釋23CodePlexcasaengine24master見注釋25從整體上看,本次研究發(fā)現(xiàn)相同的文件被多個(gè)開源項(xiàng)目所引用的現(xiàn)象遠(yuǎn)多于預(yù)期。考慮到漏洞利用的復(fù)雜性,本研究團(tuán)隊(duì)認(rèn)為這些結(jié)構(gòu)一致的同源文件具有潛在漏洞風(fēng)險(xiǎn),漏洞是否能真正的被利用,還需要深入研究。五、開源安全風(fēng)險(xiǎn)建議開源生態(tài)帶來的正面效應(yīng)已在信息經(jīng)濟(jì)生活中發(fā)揮重要影響,如何在安全可控的情況下使用開源,已成為開源生態(tài)的關(guān)鍵任務(wù)。開源安全風(fēng)險(xiǎn)防范措施應(yīng)貫穿軟件開發(fā)的整個(gè)生命周期。本報(bào)告給出了如下六點(diǎn)建議:(一)建立開源管理領(lǐng)導(dǎo)組織。隨著軟件開發(fā)過程中開源軟件的使用越來越多,開源軟件事實(shí)上已經(jīng)成為了軟件開發(fā)的核心基礎(chǔ)設(shè)施。開源軟件由于其特殊性,從軟件供應(yīng)鏈視角看,將橫跨采購、選型設(shè)計(jì)、研發(fā)編碼、運(yùn)維交付等多個(gè)環(huán)節(jié),需要跨組織、跨部門協(xié)同管理。具備條件的企業(yè)、機(jī)構(gòu)建議設(shè)立開源管理辦公室或領(lǐng)導(dǎo)小組,全面學(xué)習(xí)開源生態(tài)知識,了解開源生態(tài)運(yùn)作機(jī)制,開展開源風(fēng)險(xiǎn)意識培訓(xùn),強(qiáng)化開源風(fēng)險(xiǎn)管控手段。(二)識別開源成分。開源軟件全面滲透至軟件供應(yīng)鏈體系中,需準(zhǔn)確識別軟件中的開源成分(包括開源源代碼成分、開源二進(jìn)制成分、引用依賴的開源組件成分等),形成開源成分清單和圖譜,做到對軟件開源成分的可知可控。同時(shí)精確繪制開源組件依賴鏈條,防止安全風(fēng)險(xiǎn)隨著開源組件依賴鏈條的逐層傳播,是進(jìn)行開源安全風(fēng)險(xiǎn)防范的基礎(chǔ)。(三)修復(fù)已知開源漏洞。已知軟件的開源成分清單和圖譜,明確開源成分及依賴鏈條后,通過相關(guān)工具檢測或知識庫查詢,可有效識別已知開源漏洞。結(jié)合項(xiàng)目實(shí)際情況進(jìn)行漏洞修復(fù),降低軟件安全明確相關(guān)應(yīng)急響應(yīng)機(jī)制,最大程度降低風(fēng)險(xiǎn)。已知的開源漏洞修復(fù),相較于代碼安全審計(jì),往往是將帶有漏洞的組件升級至最新或較安全的組件版本,操作簡單,易于實(shí)施,是一個(gè)投入產(chǎn)出比較高的風(fēng)控措施。(四)建立開源威脅情報(bào)體系。軟件安全是動(dòng)態(tài)發(fā)展的,開源軟(共同貢獻(xiàn)分享。開源威脅情報(bào)呈現(xiàn)無統(tǒng)一組織,散落在互聯(lián)網(wǎng)海量信息中。需建立對已知開源成分及依賴鏈條漏洞威脅情報(bào)的實(shí)時(shí)監(jiān)控跟蹤機(jī)制,搜集多維度多渠道的開源威脅情報(bào),并針對企業(yè)、機(jī)構(gòu)已有的開源成分清單和圖譜,在第一時(shí)間內(nèi)將有效的開源威脅情報(bào)同步給(五)棄用過老的開源組件和版本,及時(shí)安全更

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論