【小心打錯名】NuGet開源倉庫成放毒途徑 錄15萬次下載量

    不少 Microsoft .NET 開發人員使用的開源程式套件倉庫NuGet,被發現混入了多個有毒套件,頭三個最多人下載的套件,加起來差不多有 15 萬次,專家認為是一次非常成功的網絡攻擊,同時亦警告開發人員,必須更小心同類型攻擊手法,在使用開源套件前,必須謹守安全法則。

    黑客於開源程式套件倉庫落毒,是近年非常熱門的犯案手法,例如 Javascript 及 Python 電腦程式的開源倉庫 NPM 及 PyPl,就是最常被利用的平台。JFrog 網絡安全研究員卻指出,有黑客成功利用針對 .NET 開發框架的開源倉庫 NuGet 發動攻擊。

    從捕獲的 13 個套件可見,雖然部分只錄得數十次下載,但 Coinbase.C、Anarchy.Wrapper.Net 及 DiscordRich 三個最多人下載的套件,共錄得 15 萬下載量。

    儘管安全專家說上述數字未必等同受害人數,因為黑客有可能為增加惡意程式套件的可信性,利用機械人製造虛假下載量,但仍無損這次事件的嚴重性,就是以往認為 .NET 倉庫較少被攻擊的想法必須改變。

    這次事件中,研究員說黑客在惡意程式套件中,加入一組 PowerShell 指令,當套件被安裝時,惡意指令就會執行,修改系統設定讓 PowerShell 指令可在無任何限制下被執行,並從遠端伺服器下載第二階段的惡意編碼,最終在開發人員電腦設備中安裝加密貨幣盜竊軟件,另還有一個自動更新器可讓軟件保持更新。

    研究員又指出,要成功執行惡意指令,前提是目標人士必須使用舊版本的 Visual Studios,因新版會阻止安裝套件時執行其他指令。

    事實上,不少安全專家都警告開發人員,要小心這類供應鏈攻擊,因自動運行機制非常容易使用,且感染力較強,這亦是造成 NPM 及 PyPl 經常被利用的原因。相反 Go 程式可確保客戶端不會在安裝套件時自動運行編碼,因此亦較少被利用。

    開發人員要避免成為受害者,首先在開源倉庫搜尋或在程式碼中直接呼叫套件時,要小心檢查輸入的字串必須正確無誤,因為大部分黑客都會使用串字錯誤(typosquatting)方法,即模仿原裝套件的名字改名,因此打錯一兩個字也會有嚴重的後果。

    其次是必須確保電腦設備的作業系統及開發環境要保持在最新版本,避免黑客使用已知漏洞發動攻擊。

    資料來源:https://www.securityweek.com/malicious-nuget-packages-used-to-target-net-developers

    相關文章:【時差攻擊】npm搜索時間有機可乘 不公開軟件秒速曝光

    #CoinbaseC #CyberAttack #CyberSecurity #javascript #NuGet #Python #網絡保安 #網絡攻擊

    相關文章