版權(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
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中考物理復(fù)習(xí)主題單元7第17課時功、功率課件
- 冀少版八年級生物上冊第四單元第三節(jié)先天性行為和學(xué)習(xí)行為課件
- 《兩個好朋友》教案
- 港口維修土石方施工合同
- 產(chǎn)權(quán)式酒店交易樣本
- 六年級信息技術(shù)上冊教案
- 公共服務(wù)設(shè)施資金監(jiān)管
- 文化藝術(shù)品合格證管理辦法
- 農(nóng)產(chǎn)品競拍活動拍賣師協(xié)議
- 文化產(chǎn)品運輸協(xié)議
- 牦牛主要疾病的防控進展及發(fā)展趨勢講義課件
- 高考語文 如何讀懂詩歌 課件(32張PPT)
- 中壓交聯(lián)電纜電纜正、負和零序計算
- 3C戰(zhàn)略三角模型
- 民間藝術(shù)團管理規(guī)章制度
- 高標(biāo)準(zhǔn)農(nóng)田建設(shè)示范工程質(zhì)量管理體系與措施
- 學(xué)生頂崗實習(xí)安全教育課件
- 公司組織架構(gòu)圖模板課件
- 遼寧省葫蘆島市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細
- 百合干(食品安全企業(yè)標(biāo)準(zhǔn))
- 咨詢服務(wù)合同之補充協(xié)議
評論
0/150
提交評論