圖片來源: 

Checkmarx

資安公司Checkmarx揭露新一波針對Python開源軟體生態系的攻擊,攻擊者可利用軟體套件中的進入點(Entry Point)木馬化命令列工具。透過該手法,攻擊者能夠將惡意程式偽裝成常見的第三方工具或是系統命令,讓受害者無意間執行惡意程式碼,以達成攻擊開發環境和企業基礎設施的目的。

這項新的開源供應鏈攻擊之所以值得注意,研究人員指出,其具有極高的隱蔽性和靈活性,能夠在不被察覺的情況下木馬化命令列工具,並執行惡意程式碼。由於該攻擊主要針對開發工具以及開源生態系中常見的進入點功能,讓攻擊者可以劫持開發過程中常用的指令,對開發者或是企業造成嚴重安全威脅,不僅影響日常開發工作,還可能導致敏感資料洩漏,或是危及基礎設施安全。

所謂的進入點,指的是Python等軟體套件管理系統中的機制,讓開發者可以將特定功能以命令列命令的形式公開,讓終端使用者不需了解軟體內部程式碼結構就可以執行特定命令,通常應用於創建命令列腳本或是定義套件的系統功能。

不過,研究人員發現,攻擊者也可以濫用進入點機制植入惡意程式碼,例如攻擊者可以創建偽裝成開發工具的惡意套件,藉由進入點功能將這些惡意功能綁定到命令列工具上,當使用者執行受影響的命令時,惡意程式碼便會在不被發覺的情況下自動執行。另外,攻擊者還可使用一種稱為命令打包(Command Wrapping)的技術,在執行合法命令的同時,隱蔽地執行惡意程式碼,使得攻擊更難被發現。

雖然研究人員以Python生態系中的PyPI套件系統說明進入點濫用攻擊,但是研究人員也指出,npm、Ruby Gems、NuGet、Dart Pub和Rust Crates等多種程式語言開源生態系皆易受影響。攻擊者也可以鎖定各種常被用於開發、部署和營運的命令列工具進行劫持,諸如Docker、npm、git、kubectl、terraform與dotnet等。該攻擊可對開發者或是企業造成嚴重破壞,尤其是在CI/CD環境中,攻擊者甚至可取得雲端基礎設施的控制。

熱門新聞

Advertisement