行業新聞與部落格

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 攻擊證明了這個問題,因為惡意儲存庫的名稱將與之前受信任的名稱相匹配。為了防止使用此載體進行攻擊,必須對這些儲存庫的依賴項進行靜態和執行時分析。”

需要幫助嗎?聯絡我們的支援團隊 線上客服