每周下載數(shù)百萬次!惡意軟件包感染Linux和Windows設(shè)備引發(fā)供應(yīng)鏈攻擊
開源軟件公司Sonatype的研究人員發(fā)現(xiàn)了多個(gè)惡意軟件包,這些軟件包將自己偽裝成 npm 注冊表中的合法JavaScript庫,以在Windows、macOS和Linux機(jī)器上啟動加密礦工。
npm注冊表是JavaScript包的數(shù)據(jù)庫,包括開源開發(fā)人員用來支持JavaScript代碼共享的軟件和元數(shù)據(jù)。
黑客劫持了流行的UA-Parser-JS NPM庫,這些庫每周下載數(shù)百萬次,在供應(yīng)鏈攻擊中使用加密礦工和密碼竊取木馬感染 Linux 和 Windows 設(shè)備。
UA-Parser-JS 庫用于解析瀏覽器的用戶代理以識別訪問者的瀏覽器、引擎、操作系統(tǒng)、CPU和設(shè)備類型/型號。該庫非常受歡迎,每周下載數(shù)百萬次,本月下載量超過2400萬次。
此外,該庫還用于一千多個(gè)其他項(xiàng)目,包括Facebook、微軟、亞馬遜、Instagram、谷歌、Slack、Mozilla、Discord、Elastic、Intuit、Reddit 以及更多知名公司的項(xiàng)目。

UA-Parser-JS 項(xiàng)目被劫持安裝惡意軟件
10月22日,攻擊者發(fā)布了惡意版本的UA-Parser-JS NPM庫,以在Linux和Windows設(shè)備上安裝加密礦工和密碼竊取木馬。據(jù)開發(fā)者稱,他的NPM帳戶被劫持并用于部署該庫的三個(gè)惡意版本。
受影響的版本及其打補(bǔ)丁的版本是:

技術(shù)分析
報(bào)告稱,研究人員于 2021 年 10 月 15 日向 npm 報(bào)告了惡意包。報(bào)告指出,惡意軟件包被稱為okhsa - 編目為Sonatype-2021-1473 - 以及klow和klown -編目為 Sonatype-2021-1472。
研究人員稱,Okhsa 包含一個(gè)框架代碼,可以在安裝前在 Windows 機(jī)器上啟動計(jì)算器應(yīng)用程序。根據(jù)報(bào)告,這樣做的okhsa版本也包含klow或klown包作為一個(gè)依賴項(xiàng)。
報(bào)告稱:“Sonatype 安全研究團(tuán)隊(duì)發(fā)現(xiàn),klown 在被 npm 刪除后的幾個(gè)小時(shí)內(nèi)就出現(xiàn)了?!?/p>
“Klown錯(cuò)誤地宣稱自己是一個(gè)合法的JavaScript庫UA-Parser-js,以幫助開發(fā)人員從 User-Agent HTTP標(biāo)頭中提取硬件細(xì)節(jié)(操作系統(tǒng)、CPU、瀏覽器、引擎等),”研究人員稱。
Sonatype研究員Ali ElShakankiry 分析了這些包,發(fā)現(xiàn)klow和klown包中包含加密貨幣礦工。
“這些軟件包在預(yù)安裝階段檢測當(dāng)前操作系統(tǒng),并繼續(xù)運(yùn)行 .bat 或 .sh 腳本,具體取決于用戶運(yùn)行的是 Windows 還是基于 Unix 的操作系統(tǒng),”ElShakankiry指出。
上述腳本還“下載外部托管的EXE或Linux ELF,然后執(zhí)行二進(jìn)制文件,其中包含指定要使用的礦池、挖掘加密貨幣的錢包以及要使用的 CPU 線程數(shù)的參數(shù)”。
研究人員無法完全確定惡意行為者計(jì)劃如何針對開發(fā)人員。
研究人員指出:“沒有觀察到明顯的跡象表明存在域名搶注或依賴劫持的情況。Klow(n) 確實(shí)在表面上模仿了合法的UAParser.js庫,這使得這次攻擊看起來像是一次微弱的品牌劫持嘗試。”
攻擊破壞生態(tài)系統(tǒng)
Uptycs 威脅研究公司的研究人員最近發(fā)現(xiàn)一項(xiàng)活動,在該活動中,專注于云計(jì)算的加密劫持組織TeamTNT部署了Docker Hub上的惡意容器圖像,并使用嵌入式腳本下載用于橫幅抓取和端口掃描的測試工具。
研究人員發(fā)現(xiàn),威脅行動者掃描受害者子網(wǎng)中的目標(biāo),并使用惡意Docker圖像中的掃描工具執(zhí)行惡意活動。
這些在第三方開源軟件庫中不斷出現(xiàn)的惡意行為表明,這些對軟件開發(fā)生態(tài)系統(tǒng)的成功攻擊引起惡意行為者的注意,他們非常樂意抓住任何一個(gè)機(jī)會進(jìn)行犯罪活動。
Geenens指出,他們通過向在線存儲庫上傳惡意模塊來破壞這些生態(tài)系統(tǒng),目的是欺騙開發(fā)人員下載并在他們的系統(tǒng)上執(zhí)行這些模塊。
這些所謂的供應(yīng)鏈攻擊并不局限于包存儲庫和開源?!癗otPetya和SolarWinds Orion攻擊都是商業(yè)軟件更新漏洞造成的?!避浖陨淼陌踩┒礊槠髽I(yè)網(wǎng)絡(luò)安全帶來極大風(fēng)險(xiǎn),在開發(fā)階段采取有效的靜態(tài)代碼檢測有助于第一時(shí)間減少軟件中的安全漏洞,提高軟件安全性,同時(shí)減少供應(yīng)鏈攻擊事件的發(fā)生,
“我們發(fā)現(xiàn),最近越來越多的攻擊者將開源存儲庫作為攻擊目標(biāo),以進(jìn)行具有不同目的的攻擊,從竊取敏感數(shù)據(jù)和系統(tǒng)文件到加密挖掘。
4月份網(wǎng)絡(luò)攻擊者對GitHub 進(jìn)行了加密挖掘攻擊;
6月份發(fā)現(xiàn)了PyPI加密挖掘惡意軟件。
考慮到PyPI和npm背后生態(tài)系統(tǒng)的成功和規(guī)模,有很多機(jī)會利用從偵察到妥協(xié)的目標(biāo),包括信息收集和外泄、后門、盜竊,以及在npm的情況下,加密劫持等技術(shù)。
防御依賴攻擊
npm上的惡意輸入、品牌劫持和依賴劫持包可以做任何事情,從竊取次要數(shù)據(jù)到生成反向shell和竊取敏感文件、進(jìn)行監(jiān)控活動,如鍵盤記錄和訪問網(wǎng)絡(luò)攝像頭,以及帶有盜版內(nèi)容和盜版網(wǎng)站鏈接的垃圾郵件庫。
“雖然域名搶注和品牌劫持攻擊需要開發(fā)人員進(jìn)行某種形式的手動操作,但鑒于其自動化性質(zhì),惡意依賴劫持攻擊要危險(xiǎn)得多?!?/p>
Sharma建議警惕拼寫錯(cuò)誤。例如,“twilio-npm”可能與“twilio”不是同一個(gè)包。有一個(gè) SBOM或軟件材料清單,以了解構(gòu)成您的應(yīng)用程序的依賴項(xiàng)和組件?!?/p>
他還建議保留一個(gè)自動化代碼安全檢測解決方案來防御依賴劫持攻擊,這可能就像部署一個(gè)腳本一樣簡單,該腳本檢查被拉入代碼的任何公共依賴項(xiàng)是否與您的私有依賴項(xiàng)名稱沖突,或是否有異常軟件存在。
參讀鏈接:
https://www.inforisktoday.com/malicious-packages-disguised-as-javascript-libraries-found-a-17782
