研究發(fā)現(xiàn)超 200 個(gè)針對 Azure 開發(fā)人員的惡意 NPM 包
JFrog 研究人員 Andrey Polkovnychenko 和 Shachar Menashe 在一份報(bào)告中指出,截至 3 月 21 日他們已觀察到不少于 218 個(gè)惡意 NPM 包。檢查后發(fā)現(xiàn)這都是針對 Azure 開發(fā)人員的新的大規(guī)模供應(yīng)鏈攻擊,攻擊者采用了一個(gè)自動(dòng)腳本來創(chuàng)建賬戶并上傳覆蓋整個(gè) scope 的惡意軟件包,旨在竊取個(gè)人身份信息。
除了針對 @azure scope 外,還有 @azure-rest、@azure-tests、@azure-tools 和 @cadl-lang 也是目標(biāo)。在這些惡意包發(fā)布大約兩天后,JFrog 向 NPM 維護(hù)人員進(jìn)行了披露,其迅速進(jìn)行了刪除;但在此之前,每個(gè)軟件包已平均被下載了約 50 次。
根據(jù)介紹,攻擊人員使用的軟件供應(yīng)鏈攻擊方法是 typosquatting,他們只是創(chuàng)建了一個(gè)新的(惡意的)包,其名稱與現(xiàn)有的 @azure scope package 相同,但刪除了 scope name。舉例如下:
這是一個(gè)合法的 azure npm 包
以及它的惡意對應(yīng)物
“攻擊者依賴于一些開發(fā)人員在安裝軟件包時(shí)可能錯(cuò)誤地省略了@azure 前綴這一事實(shí)。例如,錯(cuò)誤地運(yùn)行 npm install core-tracing,而不是正確的命令 - npm install @azure/core-tracing。”
而除了 typosquatting 感染方式外,所有的惡意軟件包都有極高的版本號(hào)(例如 99.10.9)。研究人員指出,這表明是一種依賴性混淆攻擊。一個(gè)可能的猜想是,除了基于 typosquatting 的普通 npm 用戶的目標(biāo)外,攻擊者還試圖針對開發(fā)人員和從 Microsoft/Azure 內(nèi)部網(wǎng)絡(luò)運(yùn)行的機(jī)器。
JFrog 建議,對于使用目標(biāo)包的 Azure 開發(fā)人員,可以通過檢查它們的名稱是否以 @azure* scope 開頭,以確保合法性。并表示,由于供應(yīng)鏈攻擊的迅速崛起(特別是通過 npm 和 PyPI 軟件包庫),似乎應(yīng)該增加更多的審查和緩解措施。
例如,在創(chuàng)建 npm 用戶時(shí)添加一個(gè) CAPTCHA 機(jī)制將不允許攻擊者輕松創(chuàng)建任意數(shù)量的用戶來上傳惡意包,從而更容易識(shí)別攻擊。除此之外,作為安全軟件管理過程的一部分,基于 SAST 或 DAST 技術(shù)(或者最好是兩者)的自動(dòng)軟件包過濾的需求可能也是不可避免的。
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:研究發(fā)現(xiàn)超 200 個(gè)針對 Azure 開發(fā)人員的惡意 NPM 包
本文地址:https://www.oschina.net/news/189049/large-scale-npm-attack-targets-azure-developers