研究發現超 200 個針對 Azure 開發人員的惡意 NPM 包
JFrog 研究人員 Andrey Polkovnychenko 和 Shachar Menashe 在一份報告中指出,截至 3 月 21 日他們已觀察到不少于 218 個惡意 NPM 包。檢查后發現這都是針對 Azure 開發人員的新的大規模供應鏈攻擊,攻擊者采用了一個自動腳本來創建賬戶并上傳覆蓋整個 scope 的惡意軟件包,旨在竊取個人身份信息。
除了針對 @azure scope 外,還有 @azure-rest、@azure-tests、@azure-tools 和 @cadl-lang 也是目標。在這些惡意包發布大約兩天后,JFrog 向 NPM 維護人員進行了披露,其迅速進行了刪除;但在此之前,每個軟件包已平均被下載了約 50 次。
根據介紹,攻擊人員使用的軟件供應鏈攻擊方法是 typosquatting,他們只是創建了一個新的(惡意的)包,其名稱與現有的 @azure scope package 相同,但刪除了 scope name。舉例如下:
這是一個合法的 azure npm 包

以及它的惡意對應物

“攻擊者依賴于一些開發人員在安裝軟件包時可能錯誤地省略了@azure 前綴這一事實。例如,錯誤地運行 npm install core-tracing,而不是正確的命令 - npm install @azure/core-tracing。”
而除了 typosquatting 感染方式外,所有的惡意軟件包都有極高的版本號(例如 99.10.9)。研究人員指出,這表明是一種依賴性混淆攻擊。一個可能的猜想是,除了基于 typosquatting 的普通 npm 用戶的目標外,攻擊者還試圖針對開發人員和從 Microsoft/Azure 內部網絡運行的機器。
JFrog 建議,對于使用目標包的 Azure 開發人員,可以通過檢查它們的名稱是否以 @azure* scope 開頭,以確保合法性。并表示,由于供應鏈攻擊的迅速崛起(特別是通過 npm 和 PyPI 軟件包庫),似乎應該增加更多的審查和緩解措施。
例如,在創建 npm 用戶時添加一個 CAPTCHA 機制將不允許攻擊者輕松創建任意數量的用戶來上傳惡意包,從而更容易識別攻擊。除此之外,作為安全軟件管理過程的一部分,基于 SAST 或 DAST 技術(或者最好是兩者)的自動軟件包過濾的需求可能也是不可避免的。
本文轉自OSCHINA
本文標題:研究發現超 200 個針對 Azure 開發人員的惡意 NPM 包
本文地址:https://www.oschina.net/news/189049/large-scale-npm-attack-targets-azure-developers


























