行業新聞與博客

PyPI Revival 劫持使數千個應用程序面臨風險

據安全研究人員稱,一種新的軟件供應鏈攻擊正在被廣泛利用。


該技術針對通過 Python 包索引 (PyPI) 分發的 Python 應用程序。


軟件供應鏈安全公司 JFrog 的研究人員認為,這次被稱為“Revival Hijack”的攻擊可能會影響 22,000 個現有的 Python 軟件包。這反過來可能會導致數千萬次受感染的下載。


Revival Hijack 利用了作者從 PyPI 存儲庫中刪除項目時產生的潛在安全漏洞。


一旦開發人員從 PyPI 中刪除該軟件包,該軟件包名稱就會可供其他用户註冊。然後黑客可以劫持該軟件包名稱並使用它來分發惡意代碼。


“曾經安全”的供應鏈攻擊風險


Revival Hijack 利用了受害者可能在不知情的情況下更新“曾經安全”的軟件包,而不知道它已被更改或感染的事實。此外,CI/CD 機器通常設置為自動安裝軟件包更新。


JFrog 研究人員 Brian Moussalli 和 Andrey Polkovnichenko 警告説,這比以前的軟件供應鏈攻擊(依靠域名搶注,因此是人為錯誤)構成的風險要大得多,從而傳播惡意代碼。


研究團隊使用名稱相同但版本號不同且代碼完全不同的冒名包重現了這次攻擊。在進一步的測試中,他們發現“安全劫持”包在三個月內已被下載了 20 萬次。


“Revival Hijack 不僅僅是一種理論上的攻擊——我們的研究團隊已經看到它在野外被利用,”JFrog 研究團隊負責人 Brian Moussalli 解釋道。


“在處理已刪除軟件包時使用易受攻擊的行為允許攻擊者劫持現有軟件包,從而無需用户交互即可將其安裝到目標系統。”


針對開發人員的感染代碼警告


據 JFrog 研究人員稱,網絡安全團隊已經降低了域名搶注的風險。這迫使惡意黑客尋找其他方法將受感染的代碼放入存儲庫,例如 Revival Hijack。


在 PyPI 上了解有關域名搶注的更多信息:PyPI 上發現的新域名搶注和域名劫持策略


儘管 PyPI 確實會警告刪除軟件包的開發人員其名稱可能會被重複使用,並限制替換軟件包的特定版本,但 JFrog 的研究人員呼籲“制定更嚴格的政策,完全禁止重複使用軟件包名稱”。


雲安全專家 Sysdig 威脅研究總監 Michael Clark 告訴Infosecurity,使用代碼庫的開發人員也需要保持警惕。


他説道:“PyPI 等存儲庫在安全性方面面臨着嚴峻的挑戰,因為它們通常受到開發人員的默許信任。”


 “只要名稱正確,危險感就很低。 Revival Hijack 攻擊證明了這個問題,因為惡意存儲庫的名稱將與之前受信任的名稱相匹配。為了防止使用此載體進行攻擊,必須對這些存儲庫的依賴項進行靜態和運行時分析。”

需要幫助嗎?聯繫我們的支持團隊 在線客服