惡意與代碼擴展利用市場漏洞
網絡安全研究人員在微軟的Visual Studio代碼(VS Code)市場中發現了一個漏洞,使攻擊者能夠重複使用已刪除的擴展名稱,從而有可能使惡意軟件以受信任工具的幌子滲透開發人員的工作流程。
供應鏈安全公司的研究人員RetversingLabs(RL)在6月追踪了一系列稱為Ahbanc.shiba的惡意擴展後發現了這個問題。事實證明,該擴展的功能與今年早些時候標記的前兩個擴展名相同,Ahban.shiba和ahban.cychelloworld已經從市場上刪除了。
這引起了一個關鍵的問題:按市場規則,如果VS代碼要求所有擴展名稱都是唯一的,那麼在不同的發布者下“ shiba”如何重新鋪面
攻擊的工作方式
像它的前身一樣,Ahbanc.shiba擴展名充當簡單的下載器。擴展名僅註冊一個命令:shiba.aowoo,該命令從遠程服務器(54.85.145.93)中獲取了PowerShell腳本。
根據操作系統,該腳本將文件加密在testshiba文件夾中,並要求一個shiba inu代幣(以太坊建造的加密貨幣)為贖金。但是,像早期版本一樣,沒有提供錢包地址,這表明勒索軟件活動仍在開發中。
當Ahban.shiba和ahban.cychelloworld擴展被刪除時,研究人員認為他們的名字將被永久退休。取而代之的是,僅在幾週後,三月下旬,一個新的擴展名(ahbanc.shiba)在市場上出現了與前任相同的惡意代碼。這令人震驚地證明,在VS代碼市場上刪除了擴展名,但根本沒有被鎖定,但可以自由重複使用。
隱藏的市場漏洞
為了了解為什麼會發生這種情況,RL挖掘到市場的擴展管理系統中。他們的調查表明,問題在於VS代碼如何處理擴展名撤下。市場出版商有兩種選擇:未出版或刪除。
- 未發表的擴展從市場上消失,但仍與他們的原始名稱和統計數據聯繫在一起。他們不能被其他任何人重新出版。換句話說,沒有其他人可以聲稱這個名字。
- 刪除了擴展但是,從市場上完全消滅。這意味著他們的名字再次可用,允許任何人(包括惡意演員)以同一名稱索取並發布惡意代碼。
換句話說,一旦刪除了合法的擴展名,其可信賴的名稱就可以有效地搶購。 RL通過使用與以前已刪除的軟件包有關的名稱(包括具有惡意軟件史的史,例如Solidity-Ethereum)成功發布測試擴展,證實了這一點。
開源生態系統中的更廣泛問題
這不是第一次利用名稱重複使用。在2023年初,RL發現Python軟件包索引(PYPI)還允許重複使用已刪除軟件包的名稱。一個惡意的包裝,即托彩,在最初合法的一包被刪除後重新出現。
儘管PYPI此後已經實施了限制,以防止與惡意軟件包相關的名稱重複使用,但VS代碼市場沒有這樣的保護。
“這個漏洞的發現暴露了一個新的威脅:可以重複使用任何刪除的擴展名的名稱。寫ReversingLabs的軟件威脅研究人員Lucija Valenti在博客文章中。
開發人員可以做什麼
儘管微軟尚未宣布針對市場漏洞的解決方案,但安全專家強調,開發人員必須保持警惕。他們建議在安裝前仔細審核擴展名,即使名稱看起來很熟悉,並驗證發布者帳戶而不是僅依靠擴展名稱。
此外,還建議使用可以檢測惡意軟件包的安全工具對依賴關係進行連續監視。此外,開發人員可以利用在包括VS Code Marketplace在內的多個存儲庫之間提供自由風險評估的平台。
瓦倫蒂(Valenti)總結說:“從這項活動中學到的教訓是,重要的是要記住,許多危險潛伏在VS代碼市場和其他開源存儲庫上。對於這些平台的開發人員和用戶來說,要注意並意識到開發週期中所包含的內容至關重要。”
