版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021
年開(kāi)源軟件供應(yīng)鏈安全風(fēng)險(xiǎn)研究報(bào)告國(guó)家計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)急技術(shù)處理協(xié)調(diào)中心2021
年
6
月前言
“開(kāi)源”是指源代碼、文檔等設(shè)計(jì)內(nèi)容開(kāi)放的開(kāi)發(fā)模式,是群智協(xié)同、開(kāi)放共享、持續(xù)創(chuàng)新的理念和生產(chǎn)方式。
2020
年,根據(jù)
Synopsys發(fā)布的《開(kāi)源安全和風(fēng)險(xiǎn)分析報(bào)告》顯示,開(kāi)源使用數(shù)量占比較高,在教育、金融、醫(yī)療等傳統(tǒng)行業(yè)滲透率已超過(guò)
60%,開(kāi)源軟件已成為企業(yè)構(gòu)建信息技術(shù)的重要選擇。
國(guó)家政策上,2021
年
3
月
12
日,開(kāi)源首次被明確列入《中華人民共和國(guó)國(guó)民經(jīng)濟(jì)和社會(huì)發(fā)展第十四個(gè)五年規(guī)劃和
2035
年遠(yuǎn)景目標(biāo)綱要》,支持?jǐn)?shù)字技術(shù)開(kāi)源社區(qū)等創(chuàng)新聯(lián)合體發(fā)展,完善開(kāi)源知識(shí)產(chǎn)權(quán)和法律體系,鼓勵(lì)企業(yè)開(kāi)放軟件源代碼、硬件設(shè)計(jì)和應(yīng)用服務(wù)。
開(kāi)源蓬勃發(fā)展一方面可以突破技術(shù)壁壘、推動(dòng)創(chuàng)新,另一方面考慮到國(guó)際競(jìng)爭(zhēng)關(guān)系錯(cuò)綜復(fù)雜,開(kāi)源軟件安全作為軟件供應(yīng)鏈安全的重要環(huán)節(jié),面臨著安全漏洞、知識(shí)產(chǎn)權(quán)、軟件供應(yīng)鏈安全等相關(guān)風(fēng)險(xiǎn)。在此背景下,認(rèn)識(shí)和了解開(kāi)源安全風(fēng)險(xiǎn)情況是至關(guān)重要的。
國(guó)家互聯(lián)網(wǎng)應(yīng)急中心聯(lián)合棱鏡七彩開(kāi)源安全研究團(tuán)隊(duì)持續(xù)對(duì)開(kāi)源軟件供應(yīng)鏈安全進(jìn)行跟蹤分析。《2019
年開(kāi)源軟件風(fēng)險(xiǎn)研究報(bào)告》主要從GitHub熱門(mén)開(kāi)源軟件視角出發(fā),對(duì)開(kāi)源軟件安全風(fēng)險(xiǎn)進(jìn)行了分析。本報(bào)告從全新視角帶來(lái)開(kāi)源安全風(fēng)險(xiǎn)新的發(fā)現(xiàn)與突破。報(bào)告共分為五部分,第一部分,首先介紹開(kāi)源漏洞的發(fā)展現(xiàn)狀及趨勢(shì);第二部分,聚焦開(kāi)源組件生態(tài)庫(kù)的安全風(fēng)險(xiǎn);第三部分,重點(diǎn)圍繞組件按依賴層級(jí)漏洞傳播范圍分析;第四部分,對(duì)文件級(jí)漏洞潛在安全風(fēng)險(xiǎn)及波及范圍進(jìn)行討論;第五部分,對(duì)開(kāi)源使用者和關(guān)注者如何在開(kāi)源領(lǐng)域蓬勃發(fā)展下,更安全的擁抱開(kāi)源生態(tài)提出了建設(shè)性意見(jiàn)。
1目錄前
言1一、開(kāi)源漏洞發(fā)展現(xiàn)狀及趨勢(shì)3
發(fā)現(xiàn)一:開(kāi)源軟件漏洞整體呈增長(zhǎng)趨勢(shì),2020
年增長(zhǎng)率略有下降
3
發(fā)現(xiàn)二:CVE
官方未收錄的開(kāi)源軟件漏洞數(shù)逐年遞增
4
發(fā)現(xiàn)三:開(kāi)源軟件漏洞由
POC
披露到
NVD
首次公開(kāi)時(shí)間長(zhǎng)達(dá)
11
年
4
發(fā)現(xiàn)四:近
4
年,高危及以上開(kāi)源漏洞占比均超
40%
5
發(fā)現(xiàn)五:2020
年,最主要缺陷類型為
CWE-79
6二、開(kāi)源組件生態(tài)安全風(fēng)險(xiǎn)分析8
發(fā)現(xiàn)六:開(kāi)源組件生態(tài)中的漏洞數(shù)呈上漲趨勢(shì),2020
年環(huán)比增長(zhǎng)
40%
8
發(fā)現(xiàn)七:近
6
年中
Maven
倉(cāng)庫(kù)漏洞數(shù)量最多
9
發(fā)現(xiàn)八:超半數(shù)倉(cāng)庫(kù)的漏洞數(shù)均較上年有所增長(zhǎng)
10
發(fā)現(xiàn)九:2020
年高危漏洞占比最高,相比去年增加
2.6
倍左右
10
發(fā)現(xiàn)十:2020
年,含高危以上漏洞占比最多倉(cāng)庫(kù)是
Rubygems
12
發(fā)現(xiàn)十一:平均每版本漏洞最多的
TOP
25
組件約五成來(lái)自
Composer
倉(cāng)庫(kù)
12三、組件漏洞依賴層級(jí)傳播范圍分析15
發(fā)現(xiàn)十二:一級(jí)傳播影響范圍擴(kuò)大
125
倍,二級(jí)傳播影響范圍擴(kuò)大
173
倍
15
發(fā)現(xiàn)十三:npm
倉(cāng)庫(kù)中的組件經(jīng)
2
輪傳播,影響組件數(shù)量最多
16
發(fā)現(xiàn)十四:一級(jí)傳播影響范圍最廣的倉(cāng)庫(kù)是
Composer
16
發(fā)現(xiàn)十五:二級(jí)傳播影響范圍最廣的倉(cāng)庫(kù)是
Nuget
17
發(fā)現(xiàn)十六:傳播影響范圍最小的倉(cāng)庫(kù)是
Maven
18四、開(kāi)源文件潛在漏洞風(fēng)險(xiǎn)傳播分析20
發(fā)現(xiàn)十七:超
80%漏洞文件在開(kāi)源項(xiàng)目具有同源文件
20
發(fā)現(xiàn)十八:漏洞文件在開(kāi)源項(xiàng)目中傳播范圍擴(kuò)大
54
倍
21
案例分析
21五、開(kāi)源安全風(fēng)險(xiǎn)建議23
2
一、開(kāi)源漏洞發(fā)展現(xiàn)狀及趨勢(shì)
開(kāi)源軟件具有代碼公開(kāi)、易獲取、可重用的特點(diǎn),這一特點(diǎn)是開(kāi)源軟件熱度攀升的重要原因。隨著開(kāi)源軟件的廣泛使用,一旦軟件發(fā)現(xiàn)安全漏洞,必將給開(kāi)發(fā)、安全團(tuán)隊(duì)帶來(lái)嚴(yán)峻的挑戰(zhàn)。然而,開(kāi)源漏洞信息往往散落分布在各大社區(qū),很多漏洞信息不能及時(shí)被官方收錄。同時(shí),對(duì)于軟件使用者,由于缺少漏洞信息跟蹤能力,使得漏洞修復(fù)具有滯后性,提升了軟件被攻擊的風(fēng)險(xiǎn),為軟件供應(yīng)鏈安全管控增加了難度。
本次研究收錄了官方漏洞庫(kù)、開(kāi)源社區(qū)等渠道的數(shù)據(jù)1,并統(tǒng)一收錄整理成開(kāi)源漏洞知識(shí)庫(kù)。通過(guò)從中選取
2015
年至
2020
年發(fā)布的開(kāi)源漏洞為研究對(duì)象,本報(bào)告展示了近
6
年開(kāi)源安全漏洞發(fā)展現(xiàn)狀及趨勢(shì)。
發(fā)現(xiàn)一:開(kāi)源軟件漏洞整體呈增長(zhǎng)趨勢(shì),2020
年增長(zhǎng)率略有下降圖
1開(kāi)源漏洞時(shí)間分布根據(jù)調(diào)查結(jié)果,相比
2015
年漏洞數(shù)據(jù),近
5
年的漏洞數(shù)量均有不1國(guó)家信息安全漏洞
CNVD
共享平臺(tái)(/)、美國(guó)國(guó)家漏洞庫(kù)(/)、通用漏洞披露庫(kù)(/)等
34同程度增長(zhǎng)。2018
年是開(kāi)源項(xiàng)目快速增長(zhǎng)的一年,根據(jù)
GitHub
官方數(shù)據(jù)顯示,GitHub
代碼倉(cāng)庫(kù)中超過(guò)
1/3
的開(kāi)源項(xiàng)目創(chuàng)建于
2018
年,2018年新增開(kāi)源漏洞數(shù)也創(chuàng)下近
6
年新高,新增
7563
個(gè)漏洞,相較于
2015年翻了
2.85
倍;2017
年漏洞增長(zhǎng)速度最快,環(huán)比增長(zhǎng)率為
92.86%;2019
年與
2020
年增長(zhǎng)率略有下降,2020
年發(fā)布的漏洞數(shù)較
2019
年發(fā)布漏洞數(shù)少了
1746
條。
發(fā)現(xiàn)二:CVE
官方未收錄的開(kāi)源軟件漏洞數(shù)逐年遞增圖
2CVE
官方未收錄開(kāi)源漏洞情況
對(duì)
CVE
官方網(wǎng)站2進(jìn)行統(tǒng)計(jì),可發(fā)現(xiàn)
2020
年發(fā)布的開(kāi)源漏洞中未被
CVE
官方收錄漏洞有
1362
個(gè),占
2020
年發(fā)布漏洞總數(shù)的
23.78%;CVE
官方未收錄數(shù)據(jù)呈上長(zhǎng)趨勢(shì),增長(zhǎng)率逐年遞增,2018
年環(huán)比
2017年增長(zhǎng)速度達(dá)
133.52%。
發(fā)現(xiàn)三:開(kāi)源軟件漏洞由
POC
披露到
NVD
首次公開(kāi)時(shí)間長(zhǎng)達(dá)
11年
2020
年發(fā)布的開(kāi)源漏洞中,編號(hào)為
CVE-2009-4067
的
Linux
內(nèi)核25的
Auerswald
Linux
USB
驅(qū)動(dòng)程序的緩沖區(qū)溢出漏洞由
POC
披露到NVD
首次公開(kāi)時(shí)間長(zhǎng)達(dá)
11
年。POC
信息在
2009
年
10
月
19
日披露3;該漏洞于
2009
年
11
月
24
日獲得
CVE
編號(hào),但未公開(kāi)漏洞具體信息;直到
2020
年
11
月
2
日
NVD
官方才將其發(fā)布。
開(kāi)源軟件的使用者僅關(guān)注官方漏洞庫(kù)(如
NVD
等)可能無(wú)法及時(shí)獲取漏洞信息,需綜合考慮更多渠道的漏洞數(shù)據(jù)。
發(fā)現(xiàn)四:近
4
年,高危及以上開(kāi)源漏洞占比均超
40%圖
3含高危以上漏洞占比
調(diào)查結(jié)果顯示,近
6
年高危及以上漏洞占比逐年遞增,從
2015
年占比
30.87%增長(zhǎng)至
2020
年占比
56%;其中,2017
年至
2020
年高危及以上漏洞占比均超過(guò)
40%;2020
年,超危漏洞占比為
8.83%,高危漏洞占比為
46.91%,占
2020
年新增漏洞超
5
成。3/exploits/35957圖
42020
年漏洞危害等級(jí)占比發(fā)現(xiàn)五:2020
年,最主要缺陷類型為
CWE-79圖
52020
年開(kāi)源漏洞
TOP
10
CWE
缺陷類型
調(diào)查結(jié)果顯示,缺陷類型
CWE-79
數(shù)量最多,占
2020
年新增開(kāi)源漏洞的
14%左右。表
1
列出了
TOP
10
CWE
缺陷類型,這些缺陷類型很容易并被利用,往往通過(guò)系統(tǒng)信息暴露、竊取數(shù)據(jù)或阻止應(yīng)用程序正常工作等方式,對(duì)系統(tǒng)造成安全風(fēng)險(xiǎn)。了解開(kāi)源漏洞
Top10
CWE
可以幫助開(kāi)發(fā)人員、測(cè)試人員、用戶、項(xiàng)目經(jīng)理以及安全研究人員深入
6CWE編號(hào)中文名稱個(gè)數(shù)CWE-79在Web頁(yè)面生成時(shí)對(duì)輸入的轉(zhuǎn)義處理不恰當(dāng)(跨站腳本)824CWE-506內(nèi)嵌的惡意代碼726CWE-400未加控制的資源消耗(資源窮盡)510CWE-200信息暴露305CWE-20輸入驗(yàn)證不恰當(dāng)212CWE-94對(duì)生成代碼的控制不恰當(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了解當(dāng)前最嚴(yán)重的安全漏洞。表
12020
年開(kāi)源漏洞
TOP
10
CWE
缺陷類型
78二、開(kāi)源組件生態(tài)安全風(fēng)險(xiǎn)分析
開(kāi)源組件生態(tài)蓬勃發(fā)展,重要原因是組件獨(dú)立、可復(fù)用。組件化可以大幅度提高開(kāi)發(fā)效率、可測(cè)試性、可復(fù)用性、提升應(yīng)用性能。同時(shí),組件化能夠屏蔽邏輯,幫助迅速定位問(wèn)題,易于維護(hù)和迭代更新。組件標(biāo)準(zhǔn)化使得優(yōu)質(zhì)好用的組件越來(lái)越多,用戶也更愿意使用,形成一個(gè)良性循環(huán)的開(kāi)源組件生態(tài)庫(kù)。
開(kāi)源組件被廣泛使用,根據(jù)官方數(shù)據(jù)顯示,Maven
倉(cāng)庫(kù)數(shù)據(jù)量已達(dá)
650
萬(wàn)+,Nuget
倉(cāng)庫(kù)累計(jì)下載量超
930
億,Rubygems
倉(cāng)庫(kù)累計(jì)下載量超
712
億,PyPI
倉(cāng)庫(kù)使用人數(shù)超過(guò)
49
萬(wàn)。
本報(bào)告選取了
CocoaPods4、
Composer5、
Go6、
Maven7、
npm8、
Nuget9、PyPI10、Rubygems11這
8
個(gè)主流的倉(cāng)庫(kù)作為研究對(duì)象,分析近
6
年各倉(cāng)庫(kù)新增漏洞數(shù)據(jù),幫助解開(kāi)源組件生態(tài)安全風(fēng)險(xiǎn)情況。
發(fā)現(xiàn)六:開(kāi)源組件生態(tài)中的漏洞數(shù)呈上漲趨勢(shì),2020
年環(huán)比增長(zhǎng)40%
根據(jù)調(diào)查結(jié)果,近
6
年開(kāi)源組件生態(tài)中漏洞數(shù)逐年遞增。其中,2020
年新增漏洞數(shù)為
3426,環(huán)比去年增長(zhǎng)
40%;
2017
年增長(zhǎng)速度最快,環(huán)比增長(zhǎng)
49%;近
3
年增長(zhǎng)速度呈上升趨勢(shì),
2020
年新增漏洞數(shù)是
2015年的
4.48
倍。4567891011/https://pkg.go.dev
/
圖
6開(kāi)源組件生態(tài)漏洞時(shí)間分布發(fā)現(xiàn)七:近
6
年中
Maven
倉(cāng)庫(kù)漏洞數(shù)量最多圖
7近
6
年中各組件倉(cāng)庫(kù)漏洞情況
調(diào)查結(jié)果顯示,近
6
年中漏洞數(shù)量最多是
Maven
倉(cāng)庫(kù),漏洞數(shù)量為
3533
個(gè);Go
倉(cāng)庫(kù)漏洞數(shù)量最少,漏洞數(shù)量為
348
個(gè);平均每個(gè)倉(cāng)庫(kù)漏洞數(shù)量為
1413
個(gè)。
9發(fā)現(xiàn)八:超半數(shù)倉(cāng)庫(kù)的漏洞數(shù)均較上年有所增長(zhǎng)圖
8近
6
年各倉(cāng)庫(kù)漏洞分布圖
調(diào)查結(jié)果顯示,近
6
年,Composer、Go、Maven、npm、PyPI、Rubygems
6
種倉(cāng)庫(kù)的漏洞數(shù)均有不同程度的上漲;Rubygems
倉(cāng)庫(kù)漏洞增長(zhǎng)速度最快,相比去年翻
10.5
倍;Go
倉(cāng)庫(kù)和
PyPI
倉(cāng)庫(kù)增長(zhǎng)率其次,環(huán)比增長(zhǎng)率分別為
252%和
132%;Maven
倉(cāng)庫(kù)
2020
年新增漏洞數(shù)基本與去年持平。
發(fā)現(xiàn)九:2020
年高危漏洞占比最高,相比去年增加
2.6
倍左右
調(diào)查結(jié)果顯示,2020
年新增漏洞中,高危漏洞占比最高,數(shù)量為1826
個(gè);超危漏洞逐年遞增,2020
年數(shù)量有所下降,環(huán)比下降
53%,2019
年新增數(shù)量最多,新增數(shù)量為
468
個(gè);高危漏洞逐年遞增,2020年增長(zhǎng)速度最快,相比去年增加
2.62
倍;中危漏洞呈現(xiàn)平穩(wěn)增長(zhǎng)趨勢(shì),2018
年增長(zhǎng)速度最快,環(huán)比增長(zhǎng)率為
48.13%;低危漏洞逐年遞增,
2020
10年增長(zhǎng)速度有所下降,2019
年新增數(shù)量最多,新增數(shù)量為
171
個(gè)。圖
9
圖
10近
6
年新增漏洞風(fēng)險(xiǎn)等級(jí)時(shí)間分布
近
6
年新增漏洞各風(fēng)險(xiǎn)等級(jí)占比
11發(fā)現(xiàn)十:2020
年,含高危以上漏洞占比最多倉(cāng)庫(kù)是
Rubygems圖
112020
年各倉(cāng)庫(kù)中含高危以上漏洞占比
調(diào)查結(jié)果顯示,超八成組件含高危以上漏洞占比均超過(guò)
40%。2020年,Rubygems
倉(cāng)庫(kù)含高危以上漏洞占比最多,占
Rubygems
倉(cāng)庫(kù)新增漏洞的
96%;Go
倉(cāng)庫(kù)含高危以上漏洞占比最少,占
2020
年
Go
倉(cāng)庫(kù)新增漏洞的
39%。
發(fā)現(xiàn)十一:平均每版本漏洞最多的
TOP
25
組件約五成來(lái)自Composer
倉(cāng)庫(kù)
針對(duì)
2020
年各倉(cāng)庫(kù)新增漏洞,分析得到平均每版本漏洞數(shù)量最多的
TOP
25
組件。考慮到各倉(cāng)庫(kù)不同組件的版本數(shù)量各不相同,本報(bào)告采取平均每版本漏洞數(shù)作為計(jì)算依據(jù),即:平均每版本漏洞數(shù)=組件全版本漏洞數(shù)/組件版本數(shù)。
研究發(fā)現(xiàn),平均版本漏洞最多的
TOP25
中,Composer
倉(cāng)庫(kù)的組件數(shù)占比最多,共計(jì)
12
個(gè),占比約
5
成左右;PyPI
倉(cāng)庫(kù)的組件數(shù)排名第二,共計(jì)
7
個(gè);平均版本漏洞數(shù)最多的組件來(lái)自
Maven
倉(cāng)庫(kù),漏洞數(shù)量為
47
個(gè),下圖列示各倉(cāng)庫(kù)中平均版本漏洞
TOP25
組件分布:
1213圖
12
平均版本漏洞最多
TOP25
組件倉(cāng)庫(kù)分布圖
13
Composer
倉(cāng)庫(kù)組件分布14圖
14
PyPI
倉(cāng)庫(kù)組件分布圖
15
Maven
倉(cāng)庫(kù)組件分布圖
16
npm
和
Nuget
倉(cāng)庫(kù)組件分布三、組件漏洞依賴層級(jí)傳播范圍分析
軟件工程中經(jīng)常引用組件來(lái)實(shí)現(xiàn)某些功能,組件之間存在相互依賴關(guān)系,按依賴關(guān)系可分為直接依賴和間接依賴,即組件
A
依賴組件B,組件
B
依賴組件
C,那么組件
A→組件
B
和組件
B→組件
C
的依賴關(guān)系稱為直接依賴,而組件
A→組件
C
的依賴關(guān)系稱為間接依賴。組件存在安全漏洞,組件之間又存在相互依賴關(guān)系,導(dǎo)致漏洞在組件之間存在傳播風(fēng)險(xiǎn)。
本報(bào)告以
Maven、npm、Rubygems
、PyPI、Composer、Nuget
6個(gè)倉(cāng)庫(kù)中含已公開(kāi)安全漏洞的開(kāi)源組件為研究對(duì)象,共計(jì)
6,416
個(gè)12,對(duì)其做兩輪漏洞傳播模擬實(shí)驗(yàn),研究開(kāi)源組件漏洞依賴層級(jí)傳播范圍。第一輪實(shí)驗(yàn),查找直接依賴這
6,416
個(gè)開(kāi)源組件的組件集合,為方便定義,稱該組件范圍為一級(jí)傳播;第二輪實(shí)驗(yàn),查找直接依賴一級(jí)傳播組件的組件集合,該組件集合均間接依賴這
6,416
個(gè)開(kāi)源組件,稱該組件范圍為二級(jí)傳播。
發(fā)現(xiàn)十二:一級(jí)傳播影響范圍擴(kuò)大
125
倍,二級(jí)傳播影響范圍擴(kuò)大
173
倍
圖
17
組件漏洞依賴層級(jí)傳播范圍12截至
2020
年
12
月,Maven、npm、Rubygems
、PyPI、Composer、Nuget
6
個(gè)倉(cāng)庫(kù)中含已公開(kāi)安全漏洞的開(kāi)源組件共計(jì)
6,416
個(gè)。
1516
調(diào)查結(jié)果顯示,原始樣本中
6,416
個(gè)組件,受組件依賴關(guān)系的影響,一級(jí)傳播一共波及
801,164
個(gè)組件,其影響范圍擴(kuò)大
125
倍。第二輪實(shí)驗(yàn)中,發(fā)現(xiàn)二級(jí)傳播一共波及
1,109,519
個(gè)組件,影響范圍相比原始樣本
6,416
個(gè)組件擴(kuò)大
173
倍。發(fā)現(xiàn)十三:npm
倉(cāng)庫(kù)中的組件經(jīng)
2
輪傳播,影響組件數(shù)量最多圖
18
各倉(cāng)庫(kù)組件漏洞傳播范圍
調(diào)查結(jié)果顯示,
Maven、
npm、
Rubygems
、
PyPI、
Composer、
Nuget6
個(gè)倉(cāng)庫(kù)選取樣本中,npm
倉(cāng)庫(kù)原始含漏洞組件數(shù)量為
1,962
個(gè),npm倉(cāng)庫(kù)漏洞組件數(shù)量在原始樣本中僅次于
Maven
倉(cāng)庫(kù),排在第二位。經(jīng)2
輪模擬傳播實(shí)驗(yàn),發(fā)現(xiàn)
6
組倉(cāng)庫(kù)中波及范圍最廣是
npm
倉(cāng)庫(kù)。npm倉(cāng)庫(kù)原始樣本中共有
1,962
個(gè)含有漏洞的組件,經(jīng)過(guò)一級(jí)傳播共波及459,876
個(gè)組件,漏洞的影響范圍擴(kuò)大了
234
倍;二級(jí)傳播共波及601,574
個(gè)組件,范圍比最初
1,962
個(gè)組件擴(kuò)大了
307
倍。發(fā)現(xiàn)十四:一級(jí)傳播影響范圍最廣的倉(cāng)庫(kù)是
Composer17圖
19
各倉(cāng)庫(kù)一級(jí)傳播影響范圍
調(diào)查結(jié)果顯示,Composer
倉(cāng)庫(kù)原始含漏洞組件數(shù)量為
380
個(gè),為6
個(gè)倉(cāng)庫(kù)中原始樣本中含漏洞組件數(shù)量的第
5
位。經(jīng)
1
次傳播,一級(jí)傳播波影響范圍最廣的倉(cāng)庫(kù)是
Composer。經(jīng)過(guò)一級(jí)傳播共波及
99,611個(gè)組件,漏洞的影響范圍擴(kuò)大了
262
倍。發(fā)現(xiàn)十五:二級(jí)傳播影響范圍最廣的倉(cāng)庫(kù)是
Nuget
調(diào)查結(jié)果顯示,Nuget
倉(cāng)庫(kù)原始含漏洞組件數(shù)量為
172
個(gè),為
6
組中含漏洞組件數(shù)量最少的倉(cāng)庫(kù)。經(jīng)
2
次傳播,二級(jí)傳播波影響范圍最廣的倉(cāng)庫(kù)是
Nuget。經(jīng)過(guò)一級(jí)傳播共波及
23,240
個(gè)組件,漏洞的影響范圍擴(kuò)大了
135
倍;二級(jí)傳播共波及
84,995
個(gè)組件,范圍比最初
172
個(gè)組件擴(kuò)大了
494
倍。18圖
20
各倉(cāng)庫(kù)二級(jí)傳播影響范圍發(fā)現(xiàn)十六:傳播影響范圍最小的倉(cāng)庫(kù)是
Maven圖
21
兩輪漏洞傳播組件漏洞影響范圍分布圖
調(diào)查結(jié)果顯示,Maven
倉(cāng)庫(kù)原始含漏洞組件數(shù)量為
2,289
個(gè),經(jīng)過(guò)
2
次傳播,6
組倉(cāng)庫(kù)中受漏洞影響范圍最小是
Maven
倉(cāng)庫(kù)。經(jīng)過(guò)一19級(jí)傳播共波及
94,724
個(gè)組件,漏洞的影響范圍擴(kuò)大了
41
倍;二級(jí)傳播共波及
145,827
個(gè)組件,范圍比最初
2,289
個(gè)組件擴(kuò)大了
64
倍。
從整體上看,開(kāi)源組件生態(tài)中漏洞影響范圍遠(yuǎn)超預(yù)期,組件間的依賴層級(jí)關(guān)系會(huì)導(dǎo)致組件之間漏洞存在傳播風(fēng)險(xiǎn)。因此,要保證軟件的安全風(fēng)險(xiǎn)控制,應(yīng)通過(guò)自動(dòng)化的手段識(shí)別軟件工程中的組件成分,梳理組件間的依賴關(guān)系;在已知成分清單基礎(chǔ)上對(duì)組件漏洞風(fēng)險(xiǎn)實(shí)施管控;同時(shí),還要對(duì)已知成分進(jìn)行動(dòng)態(tài)監(jiān)控,建立組件生態(tài)的漏洞威脅警報(bào),在動(dòng)態(tài)變化中將安全漏洞風(fēng)險(xiǎn)降到最低。四、開(kāi)源文件潛在漏洞風(fēng)險(xiǎn)傳播分析
開(kāi)源項(xiàng)目中往往存在相互引用關(guān)系,同一開(kāi)源文件可能被多個(gè)項(xiàng)目所引用或包含??紤]到開(kāi)源文件這一特性,本研究選取已公開(kāi)漏洞中定位至文件級(jí)的開(kāi)源文件為研究對(duì)象,共計(jì)
17,570
個(gè),依托本研究團(tuán)隊(duì)的開(kāi)源項(xiàng)目知識(shí)庫(kù)13,對(duì)
17,570
個(gè)漏洞文件進(jìn)行同源分析,識(shí)別開(kāi)源生態(tài)中包含此漏洞文件的開(kāi)源項(xiàng)目范圍。
發(fā)現(xiàn)十七:超
80%漏洞文件在開(kāi)源項(xiàng)目具有同源文件
圖
22
漏洞文件同源占比分布
調(diào)查結(jié)果顯示,選取的
17,570
個(gè)含漏洞的開(kāi)源文件中有
80.35%的文件可在開(kāi)源項(xiàng)目中找到同源文件,共計(jì)
14,118
個(gè),其余的
3,452個(gè)文件未找到同源文件。13開(kāi)源項(xiàng)目知識(shí)庫(kù)是指對(duì)已公開(kāi)的開(kāi)源項(xiàng)目進(jìn)行收錄、清洗、整理形成的庫(kù)集合。收錄渠道包含:開(kāi)源代碼托管平臺(tái)
GitHub()、開(kāi)源代碼托管平臺(tái)
sourceforge()、開(kāi)源代碼托管平臺(tái)
bitbucket()、開(kāi)源代碼托管平臺(tái)
gitee(https://www.gi)等各大開(kāi)源社區(qū)
2021發(fā)現(xiàn)十八:漏洞文件在開(kāi)源項(xiàng)目中傳播范圍擴(kuò)大
54
倍圖
23
漏洞文件在開(kāi)源項(xiàng)目中傳播范圍分布
通過(guò)對(duì)含同源文件的
14,118
個(gè)含有漏洞的開(kāi)源文件進(jìn)行分析,在不考慮同一開(kāi)源項(xiàng)目不同版本的前提下,這些漏洞文件被
766,877
個(gè)開(kāi)源項(xiàng)目所引用,漏洞文件在開(kāi)源項(xiàng)目中傳播范圍擴(kuò)大
54
倍。如果考慮同一開(kāi)源項(xiàng)目的不同版本,這些漏洞文件被
2,410,476
個(gè)開(kāi)源項(xiàng)目所引用,漏洞文件在開(kāi)源項(xiàng)目中傳播范圍將擴(kuò)大
171
倍。案例分析
LibTIFF
項(xiàng)目中
tif_next.c
被曝出有
2
個(gè)中危漏洞
CVE-2015-1547和
CVE-2015-8784。為了解該漏洞文件在開(kāi)源項(xiàng)目中的引用情況,本研究團(tuán)隊(duì)對(duì)
tif_next.c
漏洞文件進(jìn)行同源分析,在開(kāi)源項(xiàng)目知識(shí)庫(kù)中共發(fā)現(xiàn)有
237
個(gè)開(kāi)源項(xiàng)目包含
tif_next.c
文件,如果考慮項(xiàng)目不同版本,共有
1000
個(gè)開(kāi)源項(xiàng)目中引用
tif_next.c
文件。表
2
列出了
6
大托管平臺(tái)引用
tif_next.c
文件的部分同源開(kāi)源項(xiàng)目,經(jīng)對(duì)比,所有同源文件均僅刪減了注釋行,而代碼邏輯以及函數(shù)變量名稱均未改變。托管平臺(tái)開(kāi)源項(xiàng)目名稱版本號(hào)同源文件路徑GitHub14reactos/reactosbackups/ros-branch-0_4_2@7308715見(jiàn)注釋Gitee16mirrors-opencv2.4.1017見(jiàn)注釋Gitlab18limbov2.2.1-Limbo-armv7-hf19見(jiàn)注釋Bitbucket20xrayFirstAddedTBB21見(jiàn)注釋Sourceforge22wxhaskellwxInstall-Abriline-32-0.123見(jiàn)注釋CodePlex24casaenginemaster25見(jiàn)注釋
表
2
6
大托管平臺(tái)
tif_next.c
文件的同源開(kāi)源項(xiàng)目舉例
從整體上看,本次研究發(fā)現(xiàn)相同的文件被多個(gè)開(kāi)源項(xiàng)目所引用的現(xiàn)象遠(yuǎn)多于預(yù)期??紤]到漏洞利用的復(fù)雜性,本研究團(tuán)隊(duì)認(rèn)為這些結(jié)構(gòu)一致的同源文件具有潛在漏洞風(fēng)險(xiǎn),漏洞是否能真正的被利用,還需要深入研究。1415項(xiàng)目下載地址:/reactos/reactos/tags?after=ReactOS-0.4.5reactos-backups-ros-branch-0_4_2-73087\reactos-backups-ros-branch-0_4_2-73087\reactos\dll\3rdparty\libtiff16171819項(xiàng)目下載地址:/mirrors/opencv/tags?page=4gitee-mirrors-opencv-2.4.10\opencv\3rdparty\libtiff項(xiàng)目下載地址:/bob447008888/limbo/-/tags?page=2&sort=updated_descgitlab-limbo-v2.2.1-Limbo-armv7-hf\limbo-v2.2.1-Limbo-armv7-hf\jni\SDL_image\external\tiff-4.0.3\libtiff2021項(xiàng)目下載地址:/sentike/xray/downloads/?tab=tagssentike-xray-a2c911aa2e5b\sentike-xray-a2c911aa2e5b\3rd
party\FreeImage\FreeImage\Source\LibTIFF422232425項(xiàng)目下載地址:/projects/wxhaskell/wxInstall-Abriline-32-0.1\wxInstall-Abriline-32-0.1\wxWidgets\src\tiff\libtiff項(xiàng)目下載地址:/?p=casaenginecasaengine\sourceCode\casaengine\ex
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年農(nóng)業(yè)文化遺產(chǎn)活化利用指南
- 煙草制品經(jīng)營(yíng)風(fēng)險(xiǎn)防控管理手冊(cè)
- 2026青龍湖(河北)產(chǎn)業(yè)發(fā)展集團(tuán)有限公司招聘15人備考題庫(kù)及一套參考答案詳解
- 2026年原型設(shè)計(jì)工具高階應(yīng)用培訓(xùn)
- 計(jì)算機(jī)行業(yè)年度策略:AI應(yīng)用加快全球格局重塑中
- 職業(yè)健康風(fēng)險(xiǎn)評(píng)估與員工職業(yè)發(fā)展動(dòng)態(tài)調(diào)整機(jī)制
- 職業(yè)健康促進(jìn)與職業(yè)健康效益優(yōu)化
- 職業(yè)健康與心理健康的整合干預(yù)策略-2
- 陽(yáng)江2025年廣東陽(yáng)江陽(yáng)西縣新墟鎮(zhèn)招聘合同制禁毒工作人員筆試歷年參考題庫(kù)附帶答案詳解
- 邢臺(tái)2025年河北邢臺(tái)市襄都區(qū)招聘中小學(xué)幼兒園教師75人筆試歷年參考題庫(kù)附帶答案詳解
- 云南省玉溪市2025-2026學(xué)年八年級(jí)上學(xué)期1月期末物理試題(原卷版+解析版)
- 2026年哈爾濱通河縣第一批公益性崗位招聘62人考試參考試題及答案解析
- 就業(yè)協(xié)議書(shū)解約函模板
- 研發(fā)部門(mén)員工加班管理細(xì)則
- 鋼結(jié)構(gòu)橋梁施工監(jiān)測(cè)方案
- 2025人教pep版三年級(jí)英語(yǔ)上冊(cè)字帖
- 《5G移動(dòng)通信》課件-項(xiàng)目六 5G網(wǎng)絡(luò)中的人工智能技術(shù)
- 2025江蘇蘇州高新區(qū)獅山商務(wù)創(chuàng)新區(qū)下屬國(guó)有企業(yè)招聘9人筆試題庫(kù)及答案詳解
- 教培機(jī)構(gòu)年終工作總結(jié)
- 2025年秋季青島版三年級(jí)數(shù)學(xué)上冊(cè)求比一個(gè)數(shù)的幾倍多(少)幾的數(shù)教學(xué)課件
- 人才技術(shù)入股公司股權(quán)分配協(xié)議書(shū)
評(píng)論
0/150
提交評(píng)論