XZ實用程式後門

2024年發現的後門

2024年3月29日,軟件開發者Andres Freund報告稱,liblzma庫在2024年2月發佈的5.6.0和5.6.1版本中,包含的Linux實用程式xz含有一個惡意引入的後門[1]

XZ實用程式後門
之前由Jia Tan貢獻的XZ徽標
CVE識別碼CVE-2024-3094
發現日期2024年3月29日,​6個月前​(2024-03-29
發現者Andres Freund
受影響軟件xz / liblzma 庫
網站tukaani.org/xz-backdoor/

雖然大多數Linux發行版都安裝有xz,但後門僅針對基於DebianRPMx86-64架構系統[來源請求]。在發現時,後門版本尚未被廣泛部署[2]

如果擁有特定的Ed448私鑰,攻擊者能夠使用此後門在受感染的Linux系統上執行遠端代碼CVSS評分為10.0分,為最高分[3][4][5]

背景

微軟員工、PostgreSQL開發人員Andres Freund在對Debian Sid進行效能回歸測試時發現了該後門[6]。Freund注意到SSH連接產生了超乎尋常的高CPU使用率,並且使主記憶體除錯工具Valgrind報錯[7]。Freund將他的發現報告給了Openwall Project開源安全郵寄清單[8],引起了各大軟件供應商的注意[7]。有證據表明,攻擊者將單次意圖拆解進多個階段[9],盡力混淆攻擊代碼[10][11]

一旦惡意版本被整合進作業系統,它就會藉助systemd庫篡改OpenSSH SSH伺服器,使攻擊者竊得等同於管理員的訪問權限[9][7]。據Red Hat分析,該後門可以「使惡意行為者能夠攻破sshd身份驗證,並獲得對整個系統的遠端未經授權的訪問」[12]

隨後的調查發現,在XZ實用程式專案中插入後門是一位暱稱JiaT75、名為「Jia Tan」的用戶在大約三年的時間內,取得該專案信任的結果。在操縱明顯是馬甲的帳號施加壓力後,創始人和首席維護者向「Jia Tan」移交了專案的控制權,作為聯合維護者的「Jia Tan」簽章發佈了5.6.0版本引入後門,而5.6.1版本修復了作業系統軟件測試期間可能出現的一些異常行為[7]。疑似傀儡帳號包括「Jigar Kumar」、「krygorin4545」和「misoeater91」。有人懷疑「Jia Tan」這個名字以及所謂的代碼作者「Hans Jensen」(針對版本5.6.0和5.6.1)只是該活動參與者編造的假名。除了在該活動的短短幾年外,兩個帳號在軟件開發領域都沒有可見的公開活動[13]。該後門因其複雜程度,及犯罪者在努力獲得信任地位的同時展現的長期高水平行動安全而引人注目。美國安全研究員戴夫·艾特爾(Dave Aitel)認為,該攻擊符合APT29的攻擊模式。APT29是一個進階長期威脅執行機構,據信為俄羅斯SVR工作[14]

機制

據了解,惡意代碼存在於XZ實用程式版本5.6.0和5.6.1中。漏洞將一直處於潛伏狀態,直到SSH伺服器打上了特定的第三方修補程式。在適當的情況下,惡意行為者可破壞sshd身份驗證過程,並遠端取得對整個系統的未經授權的訪問[12]。該惡意機制由包含惡意二進制代碼的兩個測試壓縮檔案組成。這些檔案儲存在git儲存庫中,但除非提取並注入到程式中,否則將保持休眠狀態[5]。該代碼使用glibc IFUNC機制,將OpenSSH中名為RSA_public_decrypt的函數替換為惡意版本。OpenSSH通常不會載入liblzma,但多個Linux發行版常使用的第三方修補程式會使其載入libsystemd,進而載入lzma[5]GitHub上上載的發行tar檔案中包含了build-to-host.m4的修改版本,該檔案會釋放對liblzma進行實際注入的指令碼。這個修改過的m4檔案並不存在於git儲存庫中,它只能從維護者獨立於git發佈的tar檔案中取得[5]。似乎只有在x86-64 Linux系統、使用glibc和GCC、通過dpkgrpm編譯軟件套件時,該指令碼才會執行注入[5]

反應

補救措施

負責網絡安全和基礎設施的美國聯邦機構CISA發佈了一份安全公告,建議受影響的裝置轉返至未受感染的版本[15]。Red Hat、SUSEDebian等Linux軟件供應商複製了CISA的公告,並撤回了受影響的軟件更新[12][16][17]GitHub已禁用了xz儲存庫的鏡像[18]

大眾回應

電腦科學家Alex Stamos認為,「這可能是有史以來植入軟件產品中最廣泛、最有效的後門」,並指出,如果該後門未被發現,它將「為其建立者提供全球數億台執行 SSH 電腦的萬能鑰匙」[19]。此外,該事件還引發了一場關於讓關鍵網絡基礎設施依賴無償志願者的可行性的討論[20]

參考

  1. ^ Corbet, Jonathan. A backdoor in xz. LWN. [2024-04-02]. (原始內容存檔於2024-04-01). 
  2. ^ CVE-2024-3094. National Vulnerability Database. NIST. [2024-04-02]. (原始內容存檔於2024-04-02). 
  3. ^ Gatlan, Sergiu. Red Hat warns of backdoor in XZ tools used by most Linux distros. BleepingComputer. [2024-03-29]. (原始內容存檔於2024-03-29) (美國英語). 
  4. ^ Akamai Security Intelligence Group. XZ Utils Backdoor – Everything You Need to Know, and What You Can Do. 2024-04-01 [2024-04-02]. (原始內容存檔於2024-04-02). 
  5. ^ 5.0 5.1 5.2 5.3 5.4 James, Sam. xz-utils backdoor situation (CVE-2024-3094). GitHub. [2024-04-02]. (原始內容存檔於2024-04-02) (英語). 
  6. ^ Zorz, Zeljka. Beware! Backdoor found in XZ utilities used by many Linux distros (CVE-2024-3094). Help Net Security. 2024-03-29 [2024-03-29]. (原始內容存檔於2024-03-29). 
  7. ^ 7.0 7.1 7.2 7.3 Goodin, Dan. What we know about the xz Utils backdoor that almost infected the world. Ars Technica. 2024-04-01 [2024-04-01]. (原始內容存檔於2024-04-01) (美國英語). 
  8. ^ oss-security - backdoor in upstream xz/liblzma leading to ssh server compromise. www.openwall.com. [2024-04-03]. (原始內容存檔於2024-04-01). 
  9. ^ 9.0 9.1 Claburn, Thomas. Malicious backdoor spotted in Linux compression library xz. The Register. [2024-04-01]. (原始內容存檔於2024-04-01) (英語). 
  10. ^ Larabel, Michael. XZ Struck By Malicious Code That Could Allow Unauthorized Remote System Access. Phoronix. [2024-03-29]. (原始內容存檔於2024-03-29) (英語). 
  11. ^ O'Donnell-Welch, Lindsey. Red Hat, CISA Warn of XZ Utils Backdoor. Decipher. 2024-03-29 [2024-03-29]. (原始內容存檔於2024-03-29) (英語). 
  12. ^ 12.0 12.1 12.2 Urgent security alert for Fedora 41 and Fedora Rawhide users. Red Hat. [2024-03-29]. (原始內容存檔於2024-03-29) (英語). 
  13. ^ Watching xz unfold from afar. [2024-04-06]. (原始內容存檔於2024-04-06). 
  14. ^ Greenberg, Andy. The Mystery of ‘Jia Tan,’ the XZ Backdoor Mastermind. Wired. [2024-04-03]. (原始內容存檔於2024-04-03). 
  15. ^ Reported Supply Chain Compromise Affecting XZ Utils Data Compression Library, CVE-2024-3094. CISA. 2024-03-29 [2024-03-29]. (原始內容存檔於2024-03-29) (英語). 
  16. ^ SUSE addresses supply chain attack against xz compression library. SUSE Communities. SUSE. [2024-03-29]. (原始內容存檔於2024-03-29). 
  17. ^ Salvatore, Bonaccorso. [SECURITY] [DSA 5649-1] xz-utils security update. debian-security-announce (郵寄清單). 2024-03-29 [2024-03-29]. (原始內容存檔於2024-03-29) (英語). 
  18. ^ Larabel, Michael. GitHub Disables The XZ Repository Following Today's Malicious Disclosure. Phoronix. 2024-03-29 [2024-03-31]. (原始內容存檔於2024-03-31) (英語). 
  19. ^ Roose, Kevin. Did One Guy Just Stop a Huge Cyberattack?. The New York Times. [2024-04-04]. (原始內容存檔於2024-04-04). 
  20. ^ Khalid, Amrita. How one volunteer stopped a backdoor from exposing Linux systems worldwide. The Verge. 2024-04-02 [2024-04-04]. (原始內容存檔於2024-04-04) (英語). 

外部連結