2024中國軟件供應(yīng)鏈安全分析報告-2024.08-56正式版_第1頁
2024中國軟件供應(yīng)鏈安全分析報告-2024.08-56正式版_第2頁
2024中國軟件供應(yīng)鏈安全分析報告-2024.08-56正式版_第3頁
2024中國軟件供應(yīng)鏈安全分析報告-2024.08-56正式版_第4頁
2024中國軟件供應(yīng)鏈安全分析報告-2024.08-56正式版_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

一、概述當(dāng)前,軟件供應(yīng)鏈安全依然是網(wǎng)絡(luò)安全中備受關(guān)注的方向,基于自研產(chǎn)品的技術(shù)能力和第一手實測數(shù)據(jù),奇安信代碼安全實驗室繼續(xù)推出《2024

中國軟件供應(yīng)鏈安全分析報告》,即本系列年度分析報告的第四期。軟件由自主開發(fā)的代碼與開源代碼等第三方代碼集成后,形成混源代碼,然后通過編譯、連接等構(gòu)建過程形成軟件產(chǎn)品,交付給用戶使用。在這一軟件供應(yīng)鏈模型中,每個階段中的代碼或工件都可能引入安全問題,從而導(dǎo)致最終軟件供應(yīng)鏈安全事件的爆發(fā)。本期報告仍以此模型為基礎(chǔ),分析各階段的代碼安全問題對軟件供應(yīng)鏈安全性的潛在威脅,分析內(nèi)容分別在后續(xù)的國內(nèi)企業(yè)自主開發(fā)的源代碼安全狀況、開源軟件生態(tài)發(fā)展與安全狀況、國內(nèi)企業(yè)軟件開發(fā)中開源軟件應(yīng)用狀況、典型軟件供應(yīng)鏈安全風(fēng)險實例分析等章節(jié)中呈現(xiàn)。在此基礎(chǔ)上,本報告還總結(jié)了趨勢和變化。與往年報告相比,本期報告在開源軟件生態(tài)發(fā)展與安全部分新增了對

NPM

生態(tài)中惡意開源軟件分析的內(nèi)容;在典型軟件供應(yīng)鏈安全風(fēng)險實例部分,通過實例再次驗證了因軟件供應(yīng)鏈的復(fù)雜性,“外來”組件的“老漏洞”發(fā)揮“0day

漏洞”攻擊作用的狀況。感興趣的讀者可重點關(guān)注。1、軟件供應(yīng)鏈安全攻擊手段依然花樣百出過去的一年中,軟件供應(yīng)鏈安全攻擊事件沒有絲毫減少的趨勢,1攻擊手段依然花樣百出。2023

10

月,安全人員分析發(fā)現(xiàn)了一種新型供應(yīng)鏈攻擊。整個9

月,某黑客組織都在使用域名仿冒(Typosquatting)和星標(biāo)劫持(Starjacking)技術(shù)向開源包管理器

PyPi

植入一系列惡意包,并引誘開發(fā)人員使用,而這些惡意包與

Telegram、AWS

和阿里云等熱門通信和電子商務(wù)平臺所使用的流行軟件包高度對應(yīng),被認為是故意攻擊這些平臺的特定用戶。攻擊者可以攻陷平臺用戶設(shè)備,竊取金融和個人信息、登錄憑據(jù)等敏感數(shù)據(jù),可能影響數(shù)百萬人。2023

12

月,AI

安全公司

Lasso

Security

的研究人員,在

GitHub和

Hugging

Face

平臺上發(fā)現(xiàn)了

1500

多個不安全的

API

訪問令牌,可用來訪問

772

個組織機構(gòu)的倉庫,包括谷歌、微軟、VMware

等公司。其中部分令牌可幫助攻擊者獲得

Meta

公司

Bloom、Meta-Liama、Pythia

等大語言模型(LLM)倉庫的完全讀寫權(quán)限,攻擊者可利用該漏洞實施

LLM

訓(xùn)練數(shù)據(jù)投毒、模型和數(shù)據(jù)集竊取等惡意行為,從而將使用這些倉庫把

LLM

能力集成到應(yīng)用和運營中的組織置于供應(yīng)鏈風(fēng)險中,危及數(shù)百萬下游用戶的安全。2024

2

月,Cycode

研究團隊披露了谷歌重要的開源構(gòu)建和測試工具

Bazel

的一個供應(yīng)鏈安全漏洞的詳細信息。Bazel

所依賴的CI\CD

平臺

GitHub

Actions

的工作流程中存在命令注入漏洞,可導(dǎo)致攻擊者將惡意代碼植入

Bazel

代碼庫、創(chuàng)建后門并影響

Bazel

用戶的生產(chǎn)環(huán)境。該漏洞可能影響數(shù)百萬個依賴于

Bazel

的項目和平臺,包括

Kubernetes、Angular、Uber、LinkedIn、Dababricks、Dropbox、Nvidia2和谷歌自身等。2024

3

月初,安全研究人員發(fā)現(xiàn),機器人平臺

Top.gg

Discord托管在

GitHub

上的源代碼遭受到大規(guī)模嚴(yán)重供應(yīng)鏈投毒攻擊,該平臺擁有超

17

萬成員。分析發(fā)現(xiàn),攻擊者劫持了

Top.gg

GitHub

賬戶,上傳了至少

14

個偽造的惡意

Python

流行軟件包,并通過這些惡意軟件竊取用戶

Chrome、Edge

等瀏覽器中的敏感數(shù)據(jù),包括瀏覽歷史記錄、信用卡詳細信息等,并通過出售信息實現(xiàn)盈利。攻擊者還試圖竊取

Telegram

會話數(shù)據(jù)以侵犯用戶隱私。這些攻擊同時也影響到了大量與平臺相關(guān)的開發(fā)人員。2024

3

月底,某開發(fā)人員在調(diào)查

SSH

性能問題時發(fā)現(xiàn)了涉及XZ

Util?工具庫的供應(yīng)鏈攻擊,溯源發(fā)現(xiàn)

SSH

使用的上游

liblzma

庫被植入了惡意后門漏洞(CVE-2024-3094),滿足一定條件時會解密流量里的

C2

命令并執(zhí)行,從而使攻擊者能夠破壞

SSHD

身份驗證并遠程獲得對整個系統(tǒng)的未經(jīng)授權(quán)訪問。XZ

是一種由

Tukaani

項目開發(fā)的高壓縮比數(shù)據(jù)壓縮格式,幾乎應(yīng)用于每個

Linux

發(fā)行版中,包括社區(qū)項目和商業(yè)產(chǎn)品發(fā)行版,liblzma

是一個用于處理

XZ

壓縮格式的開源軟件庫。慶幸的是,該漏洞主要影響的

XZ

5.6.0

5.6.1

版本尚未被Linux

發(fā)行版廣泛集成,而且大部分是在預(yù)發(fā)行版本中。2024

5

月,攻擊者通過與英國國防部核心網(wǎng)絡(luò)鏈接的一個外部系統(tǒng),即由英國國防部的一家提供薪資處理服務(wù)的外部承包商維護的薪資處理系統(tǒng),訪問了部分軍隊支付網(wǎng)絡(luò),造成嚴(yán)重的信息泄露。據(jù)統(tǒng)計,攻擊者訪問了超過

22.5

萬名英國陸軍、海軍和皇家空軍現(xiàn)3役軍人、退役軍人和預(yù)備役軍人的姓名、銀行賬號詳情等個人信息。第三方承包商未能充分的保護系統(tǒng)是這次事件的主要誘因,而這一事件是在不到一年的時間內(nèi)發(fā)生的第二起因外部承包商而導(dǎo)致的英國軍隊數(shù)據(jù)遭泄露事件。OpenSSH

可以在

CS

架構(gòu)中提供網(wǎng)絡(luò)安全信道,被眾多企業(yè)用于遠程服務(wù)器管理和數(shù)據(jù)安全通信。2024

7

月初,網(wǎng)絡(luò)安全公司Qualys

發(fā)

現(xiàn)

OpenSSH

務(wù)

“regreSSHion”

洞(CVE-2024-6387),攻擊者可利用其以

root

權(quán)限在基于

glibc

的Linux

系統(tǒng)上實現(xiàn)未認證的遠程代碼執(zhí)行,從而實施系統(tǒng)完全接管、惡意程序安裝和后門創(chuàng)建等攻擊行為,嚴(yán)重程度堪比

Log4Shell。具不完全統(tǒng)計,互聯(lián)網(wǎng)上有

1400

多萬臺易受攻擊的

OpenSSH

實例,僅Qualys

公司自身的客戶中就有約

70

萬個暴露在互聯(lián)網(wǎng)上的系統(tǒng)可能易受攻擊。2、國內(nèi)企業(yè)軟件供應(yīng)鏈安全狀況有所改善奇安信代碼安全實驗室通過數(shù)據(jù)分析發(fā)現(xiàn),與以往歷年相比,2023

年,國內(nèi)企業(yè)自主開發(fā)軟件的源代碼高危缺陷密度明顯下降,并且因使用開源軟件而引入安全風(fēng)險的狀況有所改善。盡管如此,軟件供應(yīng)鏈安全風(fēng)險的管控依然值得持續(xù)關(guān)注,需要更多的投入。1)國內(nèi)企業(yè)自主開發(fā)軟件的源代碼高危缺陷密度明顯下降通過對

2023

年國內(nèi)企業(yè)自主開發(fā)源代碼的分析發(fā)現(xiàn),雖然整體缺陷密度達到

12.76

個/千行,高于以往各年,但高危缺陷的密度為40.52

個/千行,比之前三年有明顯的下降;此外,NULL

引用類缺陷的檢出率為

25.7%,較往年也有較大降低。上述趨勢的出現(xiàn),應(yīng)該在很大程度上得益于以下措施的采?。很浖_發(fā)過程中,研發(fā)企業(yè)對重點缺陷逐漸重視,針對重點問題的安全編碼規(guī)范進一步普及,并且代碼審計工具的使用持續(xù)推廣。2)國內(nèi)企業(yè)因使用開源軟件而引入安全風(fēng)險的狀況有所改善2023

年,奇安信代碼安全實驗室對

1763

個國內(nèi)企業(yè)軟件項目中使用開源軟件的情況進行分析發(fā)現(xiàn),平均每個項目使用了

166

個開源軟件,數(shù)量再創(chuàng)新高。但另一方面,平均每個項目存在

83

個已知開源軟件漏洞,含有容易利用的開源軟件漏洞的項目占比為

68.1%,以上兩項指標(biāo)與去年相比降幅較大;此外,存在已知開源軟件漏洞、高危漏洞、超危漏洞的項目占比分別為

88.0%、81.0%和

71.9%,與去年相比均有所下降。其他方面,如項目中存在古老開源軟件漏洞、老舊開源軟件版本使用、同一開源軟件各版本使用混亂等方面的狀況基本與之前歷年持平。總體而言,國內(nèi)企業(yè)使用開源軟件的安全狀況有所好轉(zhuǎn)。雖然從趨勢來看,上述的軟件供應(yīng)鏈安全問題有一定程度的緩解,但另一方面,這些指標(biāo)數(shù)據(jù)仍處于高位,軟件供應(yīng)鏈的安全問題并沒有得到根本性的改變。值得高興的是,越來越多的機構(gòu)和企業(yè)開始關(guān)注并實施軟件供應(yīng)鏈的安全,一些機構(gòu)和企業(yè)基于規(guī)范的流程和實踐,落地了相應(yīng)的解決方案和檢測平臺。但就目前的形勢而言,這些經(jīng)驗、方法和工具還需要進一步的持續(xù)完善、推廣和應(yīng)用。5二、國內(nèi)企業(yè)自主開發(fā)源代碼安全狀況源代碼的安全是軟件供應(yīng)鏈安全的基礎(chǔ)。2023

年全年,奇安信代碼安全實驗室對

1858

個國內(nèi)企業(yè)自主開發(fā)的軟件項目的源代碼進行了安全缺陷檢測,檢測的代碼總量為

408909802

行,共發(fā)現(xiàn)安全缺陷

5216473

個,其中高危缺陷

211355

個,整體缺陷密度為

12.76

個/千行,高危缺陷密度為

0.52

個/千行。與以往歷年相比,整體缺陷密度升高較快,但高危缺陷密度有較大幅度的降低。這應(yīng)該與開發(fā)者對高危缺陷類型的重點防范及相應(yīng)安全編碼規(guī)范的使用有關(guān)。1、編程語言分布情況在

1858

個國內(nèi)企業(yè)自主開發(fā)的軟件項目中,共使用了

17

種編程語言,使用項目數(shù)排名前

3

的分別為

Java、C/C++和

Python,對應(yīng)的軟件項目數(shù)量分別為

1258

個、246

個和

118

個,Python

取代

NodeJS6再次回到第三的位置。Java

語言項目占比達

67.7%,但低于去年的76.1%。國內(nèi)企業(yè)在進行軟件開發(fā)時,Java

語言仍然最受歡迎。編程語言的分布情況如下圖所示。2、典型安全缺陷檢出情況對

1858

個軟件項目的源代碼缺陷檢測結(jié)果進行分析和統(tǒng)計發(fā)現(xiàn),注入、密碼管理、日志偽造、跨站腳本、NULL

引用、配置管理、輸入驗證、資源管理、路徑遍歷、API

誤用等十類典型安全缺陷的總體檢出率(即含有某類缺陷的軟件項目數(shù)占項目總數(shù)的比例)為

71.1%,與去年的

74.1%基本持平。每類典型缺陷歷年的檢出率及對比情況如下圖所示。7可以看出,輸入驗證類和跨站腳本類缺陷的檢出率較高,依然排在前兩位,特別是輸入驗證類缺陷,檢出率依舊高達

49%;同時,配置管理類和日志偽造類缺陷的檢出率依然排在最后兩位;與過去歷年相比,NULL

引用類缺陷的檢出率有較大下降,這可能與研發(fā)人員對此類問題的特別關(guān)注有關(guān);其他類型缺陷的檢出率在正常的波動范圍內(nèi)。國內(nèi)企業(yè)在自主開發(fā)軟件時,應(yīng)繼續(xù)關(guān)注針對這些缺陷類型的代碼修復(fù)問題。三、開源軟件生態(tài)發(fā)展與安全狀況開源軟件在現(xiàn)代軟件開發(fā)中持續(xù)發(fā)揮著基礎(chǔ)支持的作用。本期報告除了延續(xù)開源軟件生態(tài)發(fā)展?fàn)顩r、開源軟件源代碼安全狀況、開源軟件公開報告漏洞狀況、開源軟件活躍度狀況、關(guān)鍵基礎(chǔ)開源軟件分析五部分內(nèi)容外,在對

2023

年開源軟件生態(tài)發(fā)展與安全狀況進行綜合分析時,還增加了針對

NPM

生態(tài)中惡意開源軟件的分析。81、開源軟件生態(tài)發(fā)展?fàn)顩r分析根據(jù)奇安信代碼安全實驗室的監(jiān)測和統(tǒng)計,2022

年底和

2023

年底,主流開源軟件包生態(tài)系統(tǒng)中開源項目總量分別為

5499977

和7959049,一年間增長了

44.7%,增速迅猛;截至

2023

年底,主流開源軟件包生態(tài)系統(tǒng)中平均每個開源項目有

11.3

個版本,與前幾年基本持平。2023

年開源軟件生態(tài)持續(xù)繁榮。對

Maven、NPM、Packagist、Pypi、Godoc、Nuget、Rubygems、Swift

等八個典型開源軟件包生態(tài)系統(tǒng)的具體分析如下:NPM

包生態(tài)開源項目數(shù)量和增速均位列第一。與前三年相比,NPM超越

Godoc,成為開源項目數(shù)增速最快的包生態(tài)系統(tǒng)。八個典型的開源軟件包生態(tài)系統(tǒng)中開源項目數(shù)量和增長率情況如下圖所示,其中開源項目數(shù)量最多的是

NPM

包生態(tài)系統(tǒng),截至

2023

年底,其開源項目數(shù)量達到了

4170641,依然遠高于其他生態(tài);開源項目數(shù)量增速最快的也是

NPM,2023

年一年間的項目總量增速高達

79.1%,Godoc

的項目數(shù)增長也很快,達

58.1%。9Maven

包生態(tài)系統(tǒng)的開源項目開發(fā)者依然“最勤奮”,開源項目的平均版本數(shù)超過

23

個。截至

2023

年底,八個典型的開源軟件包生態(tài)系統(tǒng)的開源項目數(shù)量和版本數(shù)量如下表所示。其中,Maven

包生態(tài)系統(tǒng)平均每個開源項目有高達

23.6

個版本,比去年的

21.9

又有增加;NPM

Godoc

的開源項目平均版本數(shù)有所降低,分別從

13.4

9.4

降至

10.2

8.8。序號

包生態(tài)系統(tǒng)2023

年項目數(shù)7272282023

年版本數(shù)17191582426928065380809平均版本數(shù)23.612345678MavenNPM417064142193510.2PackagistPypi12.8536523554033010.3Godoc80906171078328.8Nuget640966809115112.6RubygemsSwift1786939488614236316665248.07.0102、開源軟件源代碼安全狀況分析2023

年全年,“奇安信開源項目檢測計劃”對

2248

個開源軟件項目的源代碼進行了安全檢測,代碼總量為

309522947

行,共發(fā)現(xiàn)安全缺陷

5108161

個,其中高危缺陷

355721

個,整體缺陷密度為

16.50個/千行,高危缺陷密度為

1.15

個/千行。兩項缺陷密度指標(biāo)較去年均有所下降。(1)編程語言分布情況2023

年檢測的

2248

個開源項目中,共涉及

10

種編程語言,分別是

Java、C/C++、JavaScript、Python、Groovy、C#、Lua、Kotlin、Ruby

Go,編程語言的分布情況如下圖所示。被測項目中,使用

Java、C/C++、JavaScript

Python

四種語言開發(fā)的開源軟件約占

3/4。11(2)典型安全缺陷檢出情況對

2248

個開源軟件項目的缺陷檢測結(jié)果分析發(fā)現(xiàn),注入、密碼管理、日志偽造、跨站腳本、NULL

引用、配置管理、輸入驗證、資源管理、路徑遍歷、API

誤用等十類典型安全缺陷的總體檢出率為76.7%,與前兩年相比,有小幅升高。每類典型缺陷歷年的檢出率及對比情況如下圖所示。12可以看出,除了密碼管理類缺陷的檢出率較往年,特別是去年有較大幅度的提升外,其他均在正常的波動范圍內(nèi)。從歷年數(shù)據(jù)來看,輸入驗證、路徑遍歷和資源管理三類缺陷的檢出率較高,均在

30%左右或以上;日志偽造、跨站腳本和配置管理三類缺陷檢出率較低,均在

20%左右或以下。3、開源軟件公開報告漏洞狀況分析根據(jù)奇安信代碼安全實驗室監(jiān)測與統(tǒng)計,截至

2023

年底,CVE/NVD、CNNVD、CNVD

等公開漏洞庫中共收錄開源軟件相關(guān)漏洞

64938

個,其中有

7107

個漏洞為

2023

年新增。(1)大型開源項目漏洞總數(shù)及年度增長

TOP20截至

2023

年底,歷史漏洞總數(shù)排名前

20

的大型開源項目信息如下表所示。Linux

Kernel、Chromium

(Google

Chrome)和

Mozilla

Firefox13一如既往,依然排名前

3。歷史漏洞總數(shù)序號大型開源項目Linux

KernelChromium主頁地址/159832/3369(Google

Chrome)Mozilla

FirefoxThunderbirdMySQL345678/en-US/firefox//zh-CN//263715461430125611791155linux-aws/linux-gcp/linux-azure/zh-cn//en-US/firefox/enterprise/9Firefox

ESR10971088Adobe

Flash

Player

/products/flashplay10pluginer/end-of-life.html11

GitLab///95176475069769666312

SeaMonkey13

PHP14

WebKitGTK15

OpenJDK16

Wireshark///1417

ImageMagick18

Jenkins/index.phphttps://www.jenkins.io/65857252719

Moodle/XenProject20/515(Hypervisor)2023

年一年間,公開報告漏洞數(shù)量增長排名前

20

的大型開源項目信息如下表所示,Linux

Kernel

依然是一年來增加漏洞最多的項目,達到

607

個。2023年漏洞增量序號大型開源項目Linux

KernelChromium

(GoogleChrome)主頁地址1/60723/275186/en-US/firefox/Mozilla

Firefox4567GitLab///165142141138linux-awslinux-gcplinux-azure/zh-cn//en-US/firefox/enterprise/89Firefox

ESRThunderbird120119/zh-CN/1510

XWiki//https://www.jenkins.io//http://gpac.io/1119792858479625811

Android12

Jenkins13

MySQL14

gpac15

Mattermost16

phpMyFAQ17

Discourse

(.org)Electron

-/https://www.phpmyfaq.de/Cross-platform1858desktopapplication

shell19

pimcore//574920

WebKitGTK(2)主流開源軟件包生態(tài)系統(tǒng)漏洞總數(shù)及年度增長

TOP20截至

2023

年底,主流開源軟件包生態(tài)系統(tǒng)中歷史漏洞總數(shù)排名前

20

的開源軟件信息如下表所示。排名前兩位的依然是

TensorFlow和

Chakra

Core。序號開源軟件所屬包生態(tài)系統(tǒng)

歷史漏洞總數(shù)12TensorFlowChakra

CorePypi430347Nuget16Electron

-

Cross-platformdesktop

application

shellElectron

-

Cross-platformdesktop

application

shellJenkins34NPM314252Maven56789MavenMaven24620016916315912812212112011310710610298Apache

TomcatXWikiMavenTYPO3

CMSPackagistConanOpenSSL10

Ruby

on

Rails11

Magento

Core12

FFmpeg-iOS13

phpMyAdmin14

OpenSSLRubyPackagistSwiftPackagistSwift15

DjangoPypi16

Dolibarr

ERP

&

CRM17

keycloakPackagistMaven18

Drupal

(core)19

phpMyFAQPackagistPackagistPypi9420

Plone932023

年一年間,主流開源軟件包生態(tài)系統(tǒng)中公開報告漏洞數(shù)量增長排名前

20

的開源軟件信息如下表所示。17序號開源軟件所屬包生態(tài)系統(tǒng)

2023

年漏洞增量123XWikiMavenGodoc11169MattermostphpMyFAQPackagist62Electron

-

Cross-platformdesktop

application

shellpimcore4NPM5856789PackagistMavenPypi57292828272322jfinalincubator-airflowGo

programming

language.NET

RuntimeGodocNugetConanConda10

libTIFF11

mlflowElectron

-

Cross-platformdesktop

application

shell12Maven2213

mlflowPypiMaven22222118171614

XWiki

Platform15

TensorFlow16

keycloak17

JenkinsPypiMavenMaven18

PrestaShopPackagist1819

cryptographyConda151520

aheinze/cockpitPackagist4、開源軟件活躍度狀況分析本年度報告依然把活躍度作為衡量開源軟件安全性的一個維度。太過活躍的開源軟件,其版本更新發(fā)布頻率過高,會增加使用者運維的成本和安全風(fēng)險;不活躍的開源軟件,一旦出現(xiàn)安全漏洞,難以得到及時的修復(fù)。因此,兩者都會給運維帶來一些風(fēng)險。(1)68.7%的開源軟件項目處于不活躍狀態(tài),比例下降報告中依然將超過一年未更新發(fā)布版本的開源軟件項目定義為不活躍項目。2023

年全年,主流開源軟件包生態(tài)系統(tǒng)中不活躍的開源軟件項目數(shù)量為

5469685

個,占比為

68.7%,低于去年的

72.1%,與前年的

69.9%基本持平。對八個典型的開源軟件包生態(tài)系統(tǒng)進行分析和比較發(fā)現(xiàn),NPM

從去年的

72.7%大幅度下降為

60.4%,Nuget

從去年的

54.3%迅速上升至79.0%。除此之外,其他包生態(tài)系統(tǒng)中不活躍項目的占比均與去年持平。NPM

的不活躍項目數(shù)量依然最多,達

2520717

個,Rubygems

的不活躍項目占比依然最高,達

90.7%。具體數(shù)據(jù)見下表。序號

包生態(tài)系統(tǒng)項目總數(shù)不活躍項目數(shù)不活躍項目比例12MavenNPM72722850436269.4%4170641252071760.4%19345678PackagistPypi421935536523809061640966178693948863229153584886092645062131621448375576.5%66.8%75.3%79.0%90.7%88.3%GodocNugetRubygemsSwift(2)版本頻繁更新的項目較去年增長

21.6%2023

年全年,主流開源軟件包生態(tài)系統(tǒng)中,更新發(fā)布

100

個以上版本的開源項目有

27234

個,較去年增長

21.6%。八個典型的開源軟件包生態(tài)系統(tǒng)中,一年內(nèi)更新發(fā)布超過

100

個版本的項目數(shù)量見下表。一年內(nèi)發(fā)布超過

100

個排名包生態(tài)系統(tǒng)NPM對應(yīng)的開發(fā)語言JavascriptJava版本的項目數(shù)量1234567816229Maven3192274621561495952Nuget.NETGodocGoPypiPythonPHPPackagistRubygemsSwiftRuby275Swift18205、關(guān)鍵基礎(chǔ)開源軟件分析一般而言,如果開源軟件出現(xiàn)漏洞后,造成的放大效應(yīng)越大,影響范圍越廣,那么這個軟件就應(yīng)當(dāng)越重要。因此,本期報告繼續(xù)分析“關(guān)鍵基礎(chǔ)開源軟件”(被多于

1000

個其他開源軟件直接依賴的一類開源軟件)的安全狀況。這類開源軟件一旦出現(xiàn)漏洞,影響范圍巨大且消除困難,其安全性應(yīng)得到更多關(guān)注。Apache

Log4j2

就是一款關(guān)鍵基礎(chǔ)開源軟件,截止

2023

年底,其直接依賴數(shù)為

7919。(1)主流開源生態(tài)關(guān)鍵基礎(chǔ)開源軟件

TOP50分析發(fā)現(xiàn),截止

2023

年底,Maven、NPM、Nuget、Pypi、Packagist、Rubygems

等主流開源生態(tài)中的關(guān)鍵基礎(chǔ)開源軟件共有

1709

款,較2022

年底上漲

36.3%,直接依賴數(shù)排名

TOP50

的軟件如下表所示。開源軟件

junit:junit

的直接依賴數(shù)已連續(xù)三年位居榜首。ApacheLog4j2

僅排在第

139

名,未進入

TOP50,也就是說,如果

TOP50

表中的任何一款開源軟件曝出嚴(yán)重漏洞,其影響都可能會大過“Log4Shell”漏洞。排名開源軟件所屬包生態(tài)系統(tǒng)Maven直接依賴數(shù)997641234junit:junitrakeRubygemsMaven81212org.scala-lang:scala-librarybundler75893Rubygems70327215tiktokapi-srcNPMNPM640216345662980614266058959480566405549644720423374147139894388383776936717353826tiktok-src7Newtonsoft.JsonNugetNPM8tslib9rspecRubygemsPypi1011121314151617181920numpyrequestsPypiorg.slf4j:slf4j-apiMavenNPMchalkcommanderNPMlodashNPMpandasPypiorg.jetbrains.kotlin:kotlin-stdlibMavenPackagistPypiilluminate/supportpytestguzzlehttp/guzzlePackagistorg.jetbrains.kotlin:kotlin-stdlib21Maven34507-commonaxios222324NPMNPMNPM341383349430475expressreact222526272829inquirerNPMMavenMavenPypiNPM2890127293270962650125831com.google.guava:guavach.qos.logback:logback-classicmatplotlibrequestorg.jetbrains.kotlin:kotlin-stdlib-jdk830Maven25826313233org.mockito:mockito-corefs-extraMavenNPM243972413323994scipyPypicom.fasterxml.jackson.core:jackson-databind34Maven23581353637383940414243mons:commons-lang3typescriptMavenNPM218172093920849203142030618670180641798717202commons-io:commons-ioreact-domMavenNPMjectlombok:lomboklaravel/frameworkorg.clojure:clojureclickMavenPackagistMavenPypitqdmPypi23444546pytest-covPypiNPM165431579615391momentcom.google.code.gson:gsonMicrosoft.Extensions.DependencyInjection.AbstractionspryMaven47NugeubygemsPypi149781458814556odooorg.assertj:assertj-coreMaven(2)關(guān)鍵基礎(chǔ)開源軟件的漏洞披露情況未見改善分析發(fā)現(xiàn),歷年來,有較大比例的關(guān)鍵基礎(chǔ)開源軟件從未公開披露過漏洞,造成這種現(xiàn)象的原因主要有兩個,一方面,有的關(guān)鍵基礎(chǔ)開源軟件,特別是有的開源社區(qū)中的軟件,漏洞雖然已被修復(fù)了,但沒有記錄和公開;另一方面,維護和安全研究等相關(guān)人員對一些關(guān)鍵基礎(chǔ)開源軟件安全性的關(guān)注程度不夠,對它們漏洞挖掘的研究還不多。2023

年,對

1709

款關(guān)鍵基礎(chǔ)開源軟件分析發(fā)現(xiàn),有

1313

款從未公開披露過漏洞,占比達

76.8%,呈現(xiàn)出逐年升高的趨勢,如下圖所示。但另一方面,關(guān)鍵基礎(chǔ)開源軟件中也不乏漏洞披露流程非常正規(guī)的優(yōu)秀開源項目。24(3)關(guān)鍵基礎(chǔ)開源軟件的整體運維風(fēng)險有所改觀本期報告依然從“版本更新時間”和“周提交頻率”兩個維度來分析判斷關(guān)鍵基礎(chǔ)開源軟件的運維狀況。首先,關(guān)鍵基礎(chǔ)開源軟件新版本發(fā)布的活躍度有較大提升。截止2023

年底,半年內(nèi)沒有發(fā)布過新版本的關(guān)鍵基礎(chǔ)開源軟件有

453

款,占比為

26.5%,較去年的

41.5%有較大的下降。其次,關(guān)鍵基礎(chǔ)開源軟件提交的積極性有所降低。去年一年內(nèi),周平均提交次數(shù)小于

5

和小于

1

的關(guān)鍵基礎(chǔ)開源軟件數(shù)量分別為

1245和

916,占比分別為

72.8%、53.6%,兩項指標(biāo)較前兩年持續(xù)升高。此外,在

TOP50

的關(guān)鍵基礎(chǔ)開源軟件中,有

34

款軟件明確已獲得大廠或者基金會支持,比前兩年的

23

24

款有明顯增加;Github貢獻者數(shù)量小于

100

的有

8

款,比去年和前年減少

1

款。256、NPM

生態(tài)中惡意開源軟件分析分析發(fā)現(xiàn),NPM

包生態(tài)系統(tǒng)較容易受到惡意代碼投毒攻擊。2023年,奇安信代碼安全實驗室通過開源倉庫監(jiān)控平臺,共檢測出該包生態(tài)系統(tǒng)中的

381

個惡意開源組件。(1)超

95%的惡意開源組件以竊取敏感信息為目標(biāo)其中,大部分惡意組件的攻擊集中在下載安裝階段,惡意行為包括用戶敏感信息竊取、主機敏感信息竊取、Git

賬戶信息竊取、主機失陷攻擊、惡意域名訪問,各類惡意開源組件的數(shù)量和占比如下圖所示。可以看出,95.3%的惡意組件以竊取敏感信息為最終目標(biāo),這些敏感信息包括用戶名、密碼、DNS、服務(wù)器

IP、Github

配置等。26(2)典型惡意開源組件及惡意行為剖析針對各種惡意行為的典型惡意開源組件如下表所示。惡意行為組件版本slotbooking-ui2.18.04.45.01.1.2@sber-ufs-sbert/iconsbanca-movil-ionic-v4dlw.scbase.staticsitefio-registrations主機敏感信息竊取9999.10.92.0.0npm_package_devdependencies_sassupdate-material-outline-gaplifi-contracts2.69.53.7.141.0.0用戶敏感信息竊取@testvijaysimha/gd-utilunit-testing-controllersqr-emvco1.0.01.0.31.1.2vader-pack1.0.3主機失陷攻擊

doneidadeuna-lib-tl-react-native-biocatch1.0.71.1.2capacitor-selphi-plugin@zscaler/ec-domain1.5.55.0.0惡意域名訪問

backbone.picky1.0.0testepocdep1.1.1Git

賬戶信息竊取@gusmano/reext0.0.249本節(jié)以惡意開源組件

slotbooking-ui

2.18.0

為例,介紹其進行主機敏感信息竊取的過程。使用者在安裝該組件時,它會運行腳本來竊取服務(wù)器信息,具體步驟如下:271)安裝過程中,該惡意組件通過

package.json

里定義的命令,執(zhí)行預(yù)先編寫好的

index.js

腳本;2

務(wù)

內(nèi)

環(huán)

/etc/hosts

和/etc/resolv.conf

的文件內(nèi)容,如下圖所示;3)文件內(nèi)容通過

get_file()函數(shù)進行

base64

編碼,以便于進行傳輸;4)該惡意組件將收集到的信息通過

post

請求發(fā)送給攻擊者,如下圖所示。28四、國內(nèi)企業(yè)軟件開發(fā)中開源軟件應(yīng)用狀況2023

年,奇安信代碼安全實驗室對

1763

個國內(nèi)企業(yè)軟件項目中使用開源軟件的情況進行了分析,包括其中開源軟件的使用,以及由此所帶來的漏洞和許可證風(fēng)險等安全問題的情況。291、開源軟件總體使用情況分析(1)平均每個軟件項目使用

166

個開源軟件,再創(chuàng)新高與往年一樣,在被分析的

1763

個國內(nèi)企業(yè)軟件項目中,全部使用了開源軟件,使用率為

100%。平均每個項目使用了

166

個開源軟件,此項數(shù)據(jù)再創(chuàng)新高。本次分析的軟件項目中使用開源軟件最多的數(shù)量為

6168

個,使用開源軟件排名前

10

的項目的情況如下圖所示。30(2)最流行的開源軟件被

37.2%的軟件項目使用在被分析的

1763

個國內(nèi)企業(yè)軟件項目中,使用最多的開源軟件為

SLF4J

API

Module,被

656

個項目所使用,占比為

37.2%,低于去年

43.6%的水平。被使用最多的前

10

名開源軟件如下表所示。開源軟件名稱使用的項目數(shù)

被使用率SLF4J

API

Module65662762559157957155354537.2%35.6%35.5%33.5%32.8%32.4%31.4%30.9%Commons

Io

:

Commons

IoApache

Commons

CodecFasterxml

Jackson

Core

:

Jackson

DatabindFasterxml

Jackson

Core

:

Jackson

CoreFasterxml

Jackson

Core

:

Jackson

AnnotationsGoogle

Guava

:

GuavaApache

Commons

:

Commons

Lang331fastjson1-compatible53251830.2%29.4%Apache

Commons

Logging2、開源軟件漏洞風(fēng)險分析(1)存在容易利用的開源軟件漏洞的項目占比大幅下降統(tǒng)計發(fā)現(xiàn),在被分析的

1763

個國內(nèi)企業(yè)軟件項目中,存在已知開源軟件漏洞的項目有

1551

個,占比為

88.0%;存在已知高危開源軟件漏洞的項目有

1428

個,占比為

81.0%;存在已知超危開源軟件漏洞的項目有

1268

個,占比為

71.9%。這三個比例均略低于去年水平,與2021

2020

年基本持平。綜合漏洞的

POC/EXP

情況以及

CVSS

可利用性指標(biāo)等因素,我們將漏洞的利用難度分為容易、一般、困難,容易利用的漏洞風(fēng)險極高。在被分析的

1763

個項目中,存在容易利用的漏洞的項目有

1200

個,占比為

68.1%,較前兩年降幅較大。歷年存在各類開源軟件漏洞的軟件項目的占比情況如下圖所示。32(2)平均每個項目包含的已知開源軟件漏洞數(shù)明顯回落在

1763

個國內(nèi)企業(yè)軟件項目中,共檢出

146568

個已知開源軟件漏洞(涉及到

13135

個唯一

CVE

漏洞編號),平均每個軟件項目存在83

個已知開源軟件漏洞,與去年的

110

個相比,降幅明顯,但仍高于之前兩年的水平。33本次分析的軟件項目中,引入已知開源軟件漏洞最多的數(shù)量為1929

個。存在已知開源軟件漏洞數(shù)量排名前

10

的項目的情況如下圖所示。34(3)影響最廣的開源軟件漏洞的影響范圍有所減小從漏洞的影響度來分析,影響范圍最大的開源軟件漏洞為CVE-2023-35116,存在于

33.4%的軟件項目中,比去年最高的

41.9%有較大減小,說明本年度檢測出的開源軟件漏洞的影響范圍較為分散。2023

年影響度排名前

10

的開源軟件漏洞如下表所示。影響項目數(shù)量漏洞名稱FasterXML

jackson-databind

代碼問題漏洞CVE

編號影響度CVE-2023-3511658833.4%Google

Guava

安全漏洞CVE-2023-2976CVE-2024-22243CVE-2024-22262CVE-2024-2225950547047047028.6%26.7%26.7%26.7%Spring

Framework

安全漏洞Spring

Framework

安全漏洞Spring

Framework

安全漏洞FasterXML

jackson-databind

代碼問題漏洞CVE-2022-4200346026.1%Apache

HTTP/2

資源管理錯誤漏洞Vmware

Spring

Framework

代碼問題漏洞Spring

Framework

安全漏洞FasterXML

jackson-databind

代碼問題漏洞CVE-2023-44487CVE-2016-1000027CVE-2023-2086146046045826.1%26.1%26.0%CVE-2022-4200445625.9%容易利用的漏洞更易被用來發(fā)起攻擊,風(fēng)險極高。影響度排名前10

的容易利用的開源軟件漏洞情況如下表所示。35影響項目數(shù)量容易利用的漏洞名稱Vmware

Spring

Framework

代碼問題漏洞jQuery

跨站腳本漏洞CVE

編號影響度26.1%23.4%23.4%22.7%21.8%21.4%19.6%19.5%18.7%17.1%CVE-2016-1000027CVE-2020-11022CVE-2020-11023CVE-2019-11358CVE-2022-22965CVE-2015-9251CVE-2021-22096CVE-2021-22060CVE-2021-3711CVE-2020-13956460412412401384378345344329302jQuery

跨站腳本漏洞jQuery

跨站腳本漏洞Spring

Framework

代碼注入漏洞jQuery

跨站腳本漏洞Vmware

Spring

Framework

安全漏洞Vmware

Spring

Framework

安全漏洞OpenSSL

緩沖區(qū)錯誤漏洞Apache

HttpClient

安全漏洞(4)20

多年前的開源軟件漏洞仍然存在于多個軟件項目中分析發(fā)現(xiàn),與往年報告結(jié)果一樣,部分軟件項目中仍然存在很久之前公開的古老開源軟件漏洞,其中,最古老的漏洞是

2001

7

月12

日公開的

CVE-2001-1267,距今已

23

年,這一時間比去年報告中的最古老開源軟件漏洞的發(fā)布時間還早一年。部分古老開源軟件漏洞的影響情況如下表所示,它們的發(fā)布時間距今都已超過

20

年。影響項目數(shù)量漏洞名稱CVE

編號發(fā)布日期2001-07-12GNU

Tar

敵對目標(biāo)路徑漏洞GZip

超長文件名緩沖區(qū)溢出漏洞CVE-2001-12671CVE-2001-1228

2001-11-113682002-03-1zlib

安全漏洞CVE-2002-0059CVE-2002-1216CVE-2002-1363CVE-2003-0107CVE-2003-0367CVE-2004-0421CVE-2004-0603CVE-2004-05978125121252002-10-2GNU

tar

任意文件覆蓋漏洞8Portable

Network

Graphics

任意腳本遠程執(zhí)行漏洞2002-12-262003-02-2zlib

安全漏洞32003-07-0GNU

Gzip

輸入驗證錯誤漏洞2LibPNG

不合法

PNG

越界訪問拒絕服務(wù)漏洞2004-04-302004-06-2GNU

gzexe

臨時文件命令執(zhí)行漏洞4Microsoft

MSN

Messenger

PNG

圖片解析遠程代碼執(zhí)行漏洞2004-07-123、開源軟件許可協(xié)議風(fēng)險分析(1)最流行的開源許可協(xié)議在

46.9%的項目中使用在

1763

個被分析的國內(nèi)企業(yè)軟件項目中,共發(fā)現(xiàn)

545

個開源許37可協(xié)議。涉及項目數(shù)最多的協(xié)議與前兩年一樣,依然是

Apache

License2.0,在

827

個項目中使用,占比為

46.9%。涉及軟件項目數(shù)排名前

10的許可協(xié)議如下表所示。開源許可協(xié)議Apache

License

2.0涉及項目數(shù)827所占比例46.9%39.0%13.2%7.5%MIT

License688BSD

3-Clause

"New"

or

"Revised"

LicenseBSD

2-Clause

"Simplified"

LicenseGNU

General

Public

License

v2.0

onlyGNU

General

Public

License

v1.0

or

laterPublic

Domain2331321317.4%1066.0%989184815.6%5.2%4.8%4.6%GNU

General

Public

License

v3.0

onlyISC

LicenseGNU

General

Public

License

v2.0

or

later(2)超

1/5

的項目使用了含有超、高危許可協(xié)議的開源軟件有些類型的開源許可協(xié)議中包含了一些限制性條款,在使用過程中一旦違反這些條款,可能對企業(yè)的商業(yè)利益和聲譽造成嚴(yán)重的損害。這些限制性條款包括如:“禁止本軟件及其衍生品用于商業(yè)目的”、“禁止在未支付費用和版稅的情況下將該軟件用于非公開、非商業(yè)用途”、“軟件發(fā)布時必須公開軟件的源代碼”等。奇安信代碼安全實驗室將限制性較為苛刻的一類協(xié)議定義為超38危許可協(xié)議,將限制性較大而未達到超危水平的一類協(xié)議定義為高危許可協(xié)議。在

2023

年分析的

1763

個國內(nèi)企業(yè)軟件項目中,存在超危許可協(xié)議的項目

124

個,占比

7.0%;存在高危許可協(xié)議的項目

256

個,占比

14.5%。含超危和高危許可協(xié)議的項目合計占比約為

21.5%,超過1/5,高于去年約

1/6

的占比。本次分析的軟件項目中使用到的超危許可協(xié)議如下表所示。涉及項目數(shù)超危開源許可協(xié)議簡稱GNU

General

Public

License

v3.0

onlyGNU

General

Public

License

v3.0

or

laterGNU

Affero

General

Public

License

v3.0

onlyGNU

Lesser

General

Public

License

v3.0

onlyGPL-3.0-onlyGPL-3.0-or-laterAGPL-3.0-onlyLGPL-3.0-only9144372011GNU

Lesser

General

Public

License

v3.0

or

later

LGPL-3.0-or-laterCreative

Commons

Attribution

Non

CommercialCC-BY-NC-SA-2.5Share

Alike

2.5

Generic87GNU

Free

Documentation

License

v1.2

onlyGFDL-1.2-only涉及軟件項目數(shù)排名前

10

的高危許可協(xié)議如下表所示。涉及項目數(shù)高危開源許可協(xié)議簡稱GNU

General

Public

License

v2.0

onlyGNU

General

Public

License

v2.0

or

laterGNU

Lesser

General

Public

License

v2.1

onlyGPL-2.0-onlyGPL-2.0-or-laterLGPL-2.1-only1318176GNU

Library

General

Public

License

v2

or

later

LGPL-2.0-or-later6539GNU

Lesser

General

Public

License

v2.1

or

later

LGPL-2.1-or-later59585631Mozilla

Public

License

1.1MPL-1.1EPL-1.0Eclipse

Public

License

1.0GNU

Library

General

Public

License

v2

onlyCreative

Commons

Attribution

Share

Alike

3.0UnportedLGPL-2.0-onlyCC-BY-SA-3.02310Creative

Commons

Attribution

Non

CommercialShare

Alike

3.0

UnportedCC-BY-NC-SA-3.04、開源軟件運維風(fēng)險分析開源軟件運維風(fēng)險復(fù)雜多樣,本期報告依然從老舊開源軟件的使用和開源軟件多個版本混亂使用的角度進行分析。(1)多個二三十年前的老舊開源軟件版本仍在使用分析發(fā)現(xiàn),與前幾年報告數(shù)據(jù)一致,許多軟件項目中仍然在使用老舊的開源軟件版本,有的版本已經(jīng)超過

30

年,存在極大的運維風(fēng)險。被使用的老舊開源軟件版本中,最早的一款是

1993

3

3

日發(fā)布的

byacc

1.9,已經(jīng)發(fā)布

31

年。按老舊程度排名前

10

的開源軟件如下表所示。開源軟件名稱byaccchecker版本號1.9版本發(fā)布日期1993-03-031999-03-09涉及項目的數(shù)量110.8-2140journalGNU

tarsdc1-41.131999-03-091999-09-052000-08-182000-08-282000-11-152001-01-112001-02-052001-03-26112141311.0.8beta-82.24Getopt-LongGNU

bcURI1.061.10zlib1.1.3libpng1.0.9(2)開源軟件各版本使用依然混亂分析發(fā)現(xiàn),與往年一樣,開源軟件版本使用混亂的狀況依然非常嚴(yán)重,并非使用的都是最新版本。Spring

Framework:

Spring

Core

是被使用版本最多的開源軟件,有

169

個版本在被使用。按照被使用版本的數(shù)量排序,排名前

10

的開源軟件情況如下表所示。開源軟件名稱Springframework:

Spring

CoreSpringframework:

Spring

BeansSpringframework:

Spring

ContextSpring

AOP被使用的版本數(shù)量169165163161159Springframework:

Spring

WebSpring

Expression

Language

(SpEL)Spring

Web

MVC15414941Spring

Transaction147146136Spring

JDBCSpringframework:

Spring

Context

Support五、典型軟件供應(yīng)鏈安全風(fēng)險實例分析1、多款主流操作系統(tǒng)供應(yīng)鏈攻擊實例分析Ubuntu

是一款被廣泛使用的

Linux

操作系統(tǒng)發(fā)行版,具有多種用途,可用作個人計算機的操作系統(tǒng),提供辦公、媒體播放、游戲等的圖形用戶界面;同時它也是開發(fā)人員的首選操作系統(tǒng)之一,因為它支持

Python、Java、C++等多種編程語言,還提供了

GCC

編譯器和版本控制系統(tǒng)等開發(fā)庫和工具。使用者通常使用

apt

install

命令在Ubuntu

上安裝

MiniDLNA,以獲得媒體播放服務(wù)。MiniDLNA

是一款兼容

DLNA/UPnP-AV

客戶端的開源媒體服務(wù)軟件,支持音樂、圖片、視頻等媒體文件的播放,可幫助用戶通過

DLNA

兼容的智能電視、音響等設(shè)備,訪問和播放存儲在計算機上的多媒體文件。MiniDLNA

被廣泛部署在

Linux

服務(wù)器上,同時也廣泛應(yīng)用于路由器、NAS

等嵌入式設(shè)備上。CVE-2023-33476

MiniDLNA

的一個越界寫類型的超危歷史漏洞,由于

MiniDLNA

在處理采用分塊傳輸編碼的

HTTP

請求時存在邏輯缺陷,攻擊者可通過偽造較大的分塊長度,觸發(fā)后續(xù)拷貝時出現(xiàn)越界寫問題。利用該漏洞,遠程未授權(quán)的攻擊者可實現(xiàn)任意代碼執(zhí)行攻擊。該漏洞42影響

MiniDLNA

1.1.15-1.3.2

版本。以

Ubuntu

20.04

為例,可通過

apt

install

命令安裝

MiniDLNA1.2.1。運行該軟件后,會監(jiān)聽

8200

端口。利用上述歷史漏洞,未認證的攻擊者可通過發(fā)送偽造的數(shù)據(jù)包,實現(xiàn)任意代碼執(zhí)行,如下圖所示,可以看到成功獲取反彈

shell,表示攻擊成功。除此之外,Debian11、多個型號的路由器等也有類似問題。本實例中,軟件供應(yīng)鏈風(fēng)險傳播鏈條為:多款主流操作系統(tǒng)的某些版本,在通過常規(guī)方式安裝開源媒體服務(wù)軟件

MiniDLNA

后,遠程未授權(quán)的攻擊者可能會利用

MiniDLNA

的歷史漏洞

CVE-2023-33476

對這些操作系統(tǒng)版本發(fā)起任意代碼執(zhí)行的軟件供應(yīng)鏈攻擊。2、PHP

軟件供應(yīng)鏈攻擊實例分析PHP

是一種被廣泛使用的開源腳本語言,可以嵌入到

HTML

中,特別適用于

Web

開發(fā)。PHP

在運行時會依賴于底層的系統(tǒng)庫

Linux43glibc(GNU

C

庫)來進行文件讀寫、網(wǎng)絡(luò)通信等操作,可以認為

PHP利用

Linux

glibc

來支持其程序的運行及與操作系統(tǒng)的交互。Linux

glibc

GNU

按照

LGPL

許可協(xié)議發(fā)布的開源

libc

庫,即

C運行庫,是

Linux

系統(tǒng)中最底層的

API,幾乎其他任何運行庫都會依賴于

glibc。glibc

被廣泛應(yīng)用于各種應(yīng)用和設(shè)備中,包括大部分

Linux發(fā)行版以及路由器等。glibc

除了封裝

Linux

操作系統(tǒng)所提供的系統(tǒng)服務(wù)外,它自身也提供了許多必要功能服務(wù)的實現(xiàn),為各種應(yīng)用程序提供了基礎(chǔ)的接口和功能。CVE-2024-2961

Linux

glibc

庫的一個中危歷史漏洞,該漏洞源于

iconv()函數(shù)存在緩沖區(qū)溢出問題,可導(dǎo)致應(yīng)用程序崩潰或覆蓋相鄰變量。如果某

PHP

應(yīng)用程序中存在任意文件讀取漏洞,攻擊者便可以利用其實施文件讀取操作,在讀取過程中,會調(diào)用到

glibc

iconv()函數(shù),攻擊者可進一步利用

CVE-2024-2961

PHP

開發(fā)的應(yīng)用實施遠程命令執(zhí)行攻擊,從而提升了漏洞的危害程度。該漏洞影響

Linuxglibc

2.39

及更早版本。下圖展示了該漏洞對

PHP

8.1

的影響驗證結(jié)果。PHP

8.1

中使用了

glibc

2.35,利用上述歷史漏洞后,可以看到執(zhí)行了給定的命令“whoami>/tmp/16666.txt”,對應(yīng)權(quán)限為“www”,成功實現(xiàn)了遠程命令執(zhí)行攻擊。44本實例中,軟件供應(yīng)鏈風(fēng)險傳播鏈條為:PHP

程序運行時使用Linux

glibc

庫,如果某

PHP

應(yīng)用程序存在任意文件讀取問題,攻擊者便可以基于

glibc

的歷史漏洞

CVE-2024-2961

對該

PHP

程序發(fā)起遠程命令執(zhí)行的軟件供應(yīng)鏈攻擊。3、某國產(chǎn)數(shù)據(jù)庫供應(yīng)鏈攻擊實例分析某國產(chǎn)數(shù)據(jù)庫是一款自主研發(fā)的數(shù)據(jù)庫,可用作數(shù)據(jù)倉庫系統(tǒng)、BI

系統(tǒng)和決策支持系統(tǒng)的承載數(shù)據(jù)庫,具有高性能、高可用性、跨平臺支持、兼容性和可擴展性等特點,被規(guī)模化應(yīng)用于金融、電信、能源、政企等行業(yè)。分析發(fā)現(xiàn),為方便用戶進行數(shù)據(jù)遷移,實現(xiàn)與開源數(shù)據(jù)庫

MySQL

的適配,該國產(chǎn)數(shù)據(jù)庫的最新版本基于

MySQL

JDBC5.1.11

實現(xiàn)了建立到數(shù)據(jù)庫服務(wù)端連接的功能。JDBC(Java

Database

Connectivity)是

Java

提供的一套用于連接數(shù)據(jù)庫的標(biāo)準(zhǔn)

API,它定義了一套標(biāo)準(zhǔn)的接口,使得開發(fā)者可以使用相同的代碼來連接不同類型的數(shù)據(jù)庫。而

MySQL

JDBC(或

MySQLConnector/J

組件)是一種用于連接

MySQL

數(shù)據(jù)庫的

JDBC

驅(qū)動,允許Java

程序通過

JDBC

API

訪問

MySQL

數(shù)據(jù)庫中的數(shù)據(jù)。45CVE-2021-2471

MySQL

JDBC

的一個

XML

外部實體注入類型的中危歷史漏洞。由于

MySQL

JDBC

中的

getSource()方法對傳入的

XML數(shù)據(jù)校驗不足,導(dǎo)致攻擊者可以通過構(gòu)造惡意的

XML

數(shù)據(jù),實現(xiàn)遠程特權(quán)用戶讀取敏感數(shù)據(jù)或使應(yīng)用程序崩潰等攻擊。該漏洞影響

MySQLJDBC

8.0.27

以下版本。MySQL

JDBC

的另一個代表性的高危歷史漏洞是

2019

年爆出的某反序列化漏洞。攻擊者向

MySQL

服務(wù)器發(fā)送惡意數(shù)據(jù),然后通過控制JDBC

連接設(shè)置項,將其配置指向該服務(wù)器。MySQL

客戶端處理結(jié)果集時會調(diào)用

ObjectInputStream.readObject()方法,從而執(zhí)行惡意的反序列化操作,從而引發(fā)遠程命令執(zhí)行等攻擊。該漏洞影響

MySQL

JDBC8.0.21

以下版本。分析發(fā)現(xiàn),上述兩個歷史漏洞依然能夠影響本例中的國產(chǎn)數(shù)據(jù)庫的最新版本。以下展示了在其上利用兩個漏洞的效果,可以實現(xiàn)遠程命令執(zhí)行等攻擊,具體效果如下所示:

成功利用

CVE-2021-2471

漏洞的效果HTTP

服務(wù)收到

PoC

XML

外部實體解析發(fā)起的

HTTP

請求,成功實現(xiàn)服務(wù)端請求偽造攻擊,如下圖所示。

成功利用

2019

年某

MySQL

JDBC

反序列化漏洞的效果客戶端觸發(fā)了該反序列化漏洞,成功實現(xiàn)遠程命令執(zhí)行攻擊,如46下圖所示。本實例中,軟件供應(yīng)鏈風(fēng)險傳播鏈條為:某國產(chǎn)數(shù)據(jù)庫的最新版本基于

MySQL

JDBC

5.1.11

實現(xiàn)連接數(shù)據(jù)庫服務(wù)端的特定功能,MySQLJDBC

XML

外部實體注入、反序列化等歷史漏洞依然可以影響該國產(chǎn)數(shù)據(jù)庫,實現(xiàn)遠程命令執(zhí)行等軟件供應(yīng)鏈攻擊。六、總結(jié)及建議過去的一年,軟件供應(yīng)鏈安全依然是網(wǎng)絡(luò)安全領(lǐng)域的熱點,但各方的態(tài)度更加趨于理性和謹慎,各項工作也正處于循序漸進向深水區(qū)探索的階段。歐美國家

溫馨提示

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

評論

0/150

提交評論