開源再爆雷,NPM JavaScript存儲庫暗藏后門
近日,Phylum的研究人員在開源NPM JavaScript存儲庫中發現兩個惡意AWS軟件包暗藏精心設計的代碼,一旦執行,就會在開發者的計算機上植入后門程序。研究人員稱惡意軟件包存續期間已經被下載了數百次。
這兩個軟件包分別是img-aws-s3-object-multipart-copy和legacyaws-s3-object-multipart-copy,它們試圖冒充合法的JavaScript庫aws-s3-object-multipart-copy。
假冒軟件包包含了所有合法庫中的代碼,并添加了一個名為loadformat.js的JavaScript文件。這個文件表面上包含無害的代碼和三個JPG圖像(分別是英特爾、AMD和微軟的公司Logo),但其中一個圖像隱藏了惡意代碼片段,這些片段被重建后可組成后門程序代碼,攻擊開發者的設備。
日益復雜的開源供應鏈攻擊
“我們已經報告了這些軟件包并要求移除,但這些惡意軟件包在npm項目中仍然存在了近兩天時間,”發現這些軟件包的研究人員寫道:“這令人擔憂,因為當今大多數系統無法檢測并及時報告這些軟件包,導致開發者長時間暴露在攻擊風險中。”
研究人員表示,絕大多數殺毒軟件產品都未能發現隱藏在這兩個軟件包中的后門。
Phylum的研究主管Ross Bryant在郵件中透露,img-aws-s3-object-multipart-copy在被刪除前被下載了134次,另一個文件legacyaws-s3-object-multipart-copy被下載了48次。
這些惡意軟件包開發者對代碼的精心設計及其策略的有效性,突顯了針對上游開源代碼庫的攻擊日益復雜化,除了NPM外,其他熱門攻擊目標還包括PyPI、GitHub和RubyGems等。
近年來,針對開發者的開源供應鏈攻擊威脅不斷惡化。
在過去的17個月里,由朝鮮政府支持的黑客組織曾兩次針對開發者,其中一次利用了一個零日漏洞。
近期發現的最具創新性的一種開源后門隱藏方法是今年3月曝光的XZ Utils后門,只差一步進入生產版本中。該后門通過一個五階段加載器實現,使用了一系列簡單但巧妙的技術來隱藏自己。一旦安裝,黑客可以管理員權限登錄受感染的系統。
策劃XZ Utils攻擊的黑客組織(或個人)花費了數年時間來開發后門。除了隱蔽方法的復雜性,該組織還投入了大量時間為開源項目編寫高質量代碼,以贏得其他開發者的信任。
今年5月,Phylum阻止了另一個使用隱寫術(將秘密代碼嵌入圖像中的技術)來植入后門的PyPI軟件包攻擊活動。
“在過去幾年中,發布到開源生態系統的惡意軟件包的復雜性和數量顯著增加,”Phylum研究人員寫道:“毫無疑問,這些攻擊是成功的。開發者和企業必須高度警惕所使用的開源庫。”