コンテンツにスキップ

XZ Utilsのバックドア

出典: フリー百科事典『ウィキペディア(Wikipedia)』
XZ Utilsのバックドア
Jia Tanによって寄稿された、以前のXZロゴ
CVE 識別子 CVE-2024-3094
発見日時 2024年3月29日 (3か月前) (2024-03-29)
修正日時 2024年3月29日 (3か月前) (2024-03-29)[注釈 1][1]
発見者 Andres Freund
影響を受ける
ソフトウェア
xz / liblzma library
ウェブサイト tukaani.org/xz-backdoor/

2024年3月29日、Linuxユーティリティであるxzのバージョン5.6.0と5.6.1に、悪意を持って仕掛けられたバックドアの発見が報告された。このバージョンは2024年2月に「Jia Tan[注釈 2]」という名前を使用したアカウントによってリリースされ、ソフトウェア開発者のAndres Freundによってバックドアが発見された[2]

xzは多くのLinuxディストリビューション内に存在するにも関わらず、発見された地点では、バックドアが含まれるバージョンはまだ広く本番環境のシステムには導入されていなかった。しかしながら、主要なディストリビューションの開発バージョン内には存在した[3]

このバックドアは、影響を受けるLinuxシステム上において、特定のEd448秘密鍵を持つ攻撃者によるリモートコード実行を可能にする。この脆弱性には、CVE番号CVE-2024-3094 が割り振られ、CVSSスコアは最高スコアの10.0が割り当てられた[4][5][6]

背景[編集]

Microsoftの社員でPostgreSQLの開発者の一人だったAndres Freundは、Debian Sid[注釈 3]で発生していたパフォーマンスリグレッションの調査を行う中で、バックドアを発見した[7]。Freundは、SSH接続を行うと異常に高いCPU使用率が発生し、メモリデバッグツールであるValgrindのエラーも引き起こしていることに気が付いた[8][9]。Freundはこの発見をOpenwallプロジェクト英語版のセキュリティーメーリングリストに報告する[8]と、多くのソフトウェア開発者の注目を呼んだ[9]。このバックドアは、連携して動作する複数の段階で構成されていたため、攻撃者はコードの難読化に尽力した[10][11]

汚染されたバージョンがOSに取り込まれると、systemdライブラリを悪用してOpenSSHSSHサーバーデーモンの動作を改変し、攻撃者が管理者権限を獲得できるようになる[11][9]Red Hatの分析によると、このバックドアは「悪意のある者がsshdの認証を破り、リモートでシステム全体への不正アクセスを可能にする」という[12]

その後の調査で、XZ Utilsにバックドアを仕掛ける活動は、Jia Tan、そしてJiaT75と名乗るユーザーが、約3年をかけてプロジェクト内で信頼される地位を得るための努力の結晶であることが分かった。Jia Tanは設立者と主要メンテナーに対して、プロジェクトの支配権を引き渡すよう自作自演とみられるアカウントを用いて圧力をかけた。その後、XZ Utilsの共同メンテナーの地位を手に入れたことで、バックドアを仕込んだバージョン5.6.0と、OSのソフトウェアテストの中で起こる明らかに異常な動作を修正したバージョン5.6.1に署名することができた[9]

多重アカウントと疑われるユーザー名には、「Jigar Kumar」「krygorin4545」「misoeater91」などが含まれる。「Jia Tan」という名前も、バージョン5.6.0および5.6.1の作成者名である「Hans Jansen」も、活動の中で使われた偽名であると疑われている。どちらも数年という短い活動期間以前には、ソフトウェア開発において公の場に姿を現したことは全くない[13][14]

このバックドアは、その巧妙さと、犯人が信頼される地位を得るために長期間にわたって高度な作戦保全を実践していたという事実が注目された。米国のセキュリティ研究者Dave Aitelは、ロシア対外情報庁の代理として活動していると考えられている、持続的標的型攻撃ハッカーであるAPT29英語版に起因するパターンに合致することを示唆している[15]。ジャーナリストのトーマス・クラバーンは、国家的活動家か、あるいは相当なリソースを持つ非国家的活動家である可能性を示唆した[16]

仕組み[編集]

悪意のあるコードは、XZ Utilsソフトウェアパッケージの5.6.0および5.6.1に含まれていることが確認されている。このエクスプロイトは、SSHサーバーの特定のサードパーティ製パッチが使用されない限りは、休眠状態のままである。しかし適切な状況下では、この干渉によって攻撃者がsshd認証を破り、リモートからシステム全体に不正アクセスできる恐れがある[12]。この仕組みは、悪意のあるバイナリコードを含む2つの圧縮されたテストファイルで構成されている。これらのファイルはGitリポジトリに含まれているが、展開してプログラムに注入しない限り、休止状態のままである[6]。このコードはglibcIFUNCと呼ばれる仕組みを使い、OpenSSHRSA_public_decryptという既存の関数を悪意のあるバージョンに置き換えている。OpenSSHは通常liblzmaをロードしないが、いくつかのLinuxディストリビューションで使用されている一般的なサードパーティのパッチにより、libsystemdをロードするようになり、libsystemdはlzmaをロードするようになる[6]GitHubにアップロードされたリリースのtarファイルには、build-to-host.m4の改変版が含まれており、liblzmaへの実際のインジェクションを実行するスクリプトの展開を行う。この改変されたm4ファイルはgitリポジトリには存在せず、メンテナーがgitとは別にリリースしたtarファイルからしか入手できなかった[6]。このスクリプトがインジェクションを実行するのは、glibcとGCCを使用し、dpkgまたはrpmでビルドされたx86-64 Linuxシステム上のみであると思われる[6]

反響[編集]

脆弱性の修正[編集]

CISAはセキュリティ勧告を公布し、影響を受けたデバイスを以前のバージョンに戻すよう促した[17]。Red Hat、SUSEDebianを含むLinuxソフトウェアベンダーは、影響を受けたパッケージを以前のバージョンに巻き戻した[12][18][19]GitHubはxzリポジトリのミラーを無効化し、その後復旧させた[20]

カノニカルUbuntu 24.04 LTSその派生OSのベータリリースを1週間延期し、ディストリビューションの全パッケージのバイナリを全てリビルドすることを選択した[21]。Ubuntuの安定版は影響を受けなかったが、アップストリームのバージョンは影響を受けた。カノニカルは、追加パッケージのコンパイル中にこのバックドアの影響を受けていないことを、元のリリース期限までに保証できなかったためこのような予防措置を取った[22]

世間の反応[編集]

画像外部リンク
xkcd 漫画 No. 2347 Dependency は、広く依存している重要なソフトウェアを保守する、1人の無給ボランティアの苦境を描いたものとして、コメンテーターにしばしば取り上げられている[23][24]

コンピュータ科学者のAlex Stamosは、「これは、あらゆるソフトウェア製品に仕掛けられたバックドアの中で、最も広範かつ効果的なものであった可能性がある」と評し、バックドアが発見されないままであれば、「SSHを実行する世界中の何億台ものあらゆるコンピュータへのマスターキーを、その作成者に与えていただろう」と指摘した[25]。さらに、この事件は、サイバーインフラの重要な部分を無給のボランティアに依存させたことによって計画を実行できた可能性に関する議論も巻き起こした[26]

脚注[編集]

  1. ^ この脆弱性は、安全なバージョンに巻き戻すことによって、実質的に発見から1時間以内に修正された。
  2. ^ この名称がグループ名、個人名、個人のペンネームのいずれであるかは不明。
  3. ^ Debianの開発者向けバージョン(不安定版)。

出典[編集]

  1. ^ Remove the backdoor found in 5.6.0 and 5.6.1 (CVE-2024-3094).”. GitHub. 2024年6月19日閲覧。
  2. ^ Corbet, Jonathan. “A backdoor in xz”. LWN. 2024年4月1日時点のオリジナルよりアーカイブ。2024年4月2日閲覧。
  3. ^ CVE-2024-3094”. National Vulnerability Database. NIST. 2024年4月2日時点のオリジナルよりアーカイブ。2024年4月2日閲覧。
  4. ^ Gatlan. “Red Hat warns of backdoor in XZ tools used by most Linux distros” (英語). BleepingComputer. 2024年3月29日時点のオリジナルよりアーカイブ。2024年3月29日閲覧。
  5. ^ Akamai Security Intelligence Group (2024年4月1日). “XZ Utils Backdoor – Everything You Need to Know, and What You Can Do”. 2024年4月2日時点のオリジナルよりアーカイブ。2024年4月2日閲覧。
  6. ^ a b c d e James. “xz-utils backdoor situation (CVE-2024-3094)” (英語). GitHub. 2024年4月2日時点のオリジナルよりアーカイブ。2024年4月2日閲覧。
  7. ^ Beware! Backdoor found in XZ utilities used by many Linux distros (CVE-2024-3094)”. Help Net Security (2024年3月29日). 2024年3月29日時点のオリジナルよりアーカイブ。2024年3月29日閲覧。
  8. ^ a b oss-security - backdoor in upstream xz/liblzma leading to ssh server compromise”. www.openwall.com. 2024年4月1日時点のオリジナルよりアーカイブ。2024年4月3日閲覧。
  9. ^ a b c d What we know about the xz Utils backdoor that almost infected the world” (英語). Ars Technica (2024年4月1日). 2024年4月1日時点のオリジナルよりアーカイブ。2024年4月1日閲覧。
  10. ^ Red Hat, CISA Warn of XZ Utils Backdoor” (英語). Decipher (2024年3月29日). 2024年3月29日時点のオリジナルよりアーカイブ。2024年3月29日閲覧。
  11. ^ a b Malicious backdoor spotted in Linux compression library xz” (英語). The Register. 2024年4月1日時点のオリジナルよりアーカイブ。2024年4月1日閲覧。
  12. ^ a b c Urgent security alert for Fedora 41 and Fedora Rawhide users” (英語). Red Hat. 2024年3月29日時点のオリジナルよりアーカイブ。2024年3月29日閲覧。
  13. ^ Watching xz unfold from afar” (2024年3月31日). 2024年4月6日時点のオリジナルよりアーカイブ。2024年4月6日閲覧。
  14. ^ Timeline summary of the backdoor attack on XZ Utils” (2024年4月3日). 2024年4月10日時点のオリジナルよりアーカイブ。2024年4月7日閲覧。
  15. ^ Greenberg, Andy. “The Mystery of 'Jia Tan,' the XZ Backdoor Mastermind”. Wired. オリジナルの3 April 2024時点におけるアーカイブ。. https://web.archive.org/web/20240403141041/https://www.wired.com/story/jia-tan-xz-backdoor/ 2024年4月3日閲覧。. 
  16. ^ Malicious xz backdoor reveals fragility of open source”. The Register. 2024年4月8日時点のオリジナルよりアーカイブ。2024年4月8日閲覧。
  17. ^ Reported Supply Chain Compromise Affecting XZ Utils Data Compression Library, CVE-2024-3094” (英語). CISA (2024年3月29日). 2024年3月29日時点のオリジナルよりアーカイブ。2024年3月29日閲覧。
  18. ^ SUSE addresses supply chain attack against xz compression library”. SUSE Communities. SUSE. 2024年3月29日時点のオリジナルよりアーカイブ。2024年3月29日閲覧。
  19. ^ Salvatore, Bonaccorso (29 March 2024). "[SECURITY] [DSA 5649-1] xz-utils security update". debian-security-announce (Mailing list) (英語). 2024年3月29日時点のオリジナルよりアーカイブ。2024年3月29日閲覧
  20. ^ Important information regarding xz-utils (CVE-2024-3094)”. about.gitlab.com. 2024年4月1日時点のオリジナルよりアーカイブ。2024年5月31日閲覧。
  21. ^ Noble Numbat Beta delayed (xz/liblzma security update)” (英語). Ubuntu Community Hub (2024年4月3日). 2024年4月10日時点のオリジナルよりアーカイブ。2024年4月10日閲覧。
  22. ^ Ubuntu 24.04 Beta Delayed Due to Security Issue”. OMG! Ubuntu (2024年4月3日). 2024年4月8日時点のオリジナルよりアーカイブ。2024年4月10日閲覧。
  23. ^ The Story Behind The XZ Backdoor Is Way More Fascinating Than It Should Be”. Techdirt (2024年4月8日). 2024年4月10日時点のオリジナルよりアーカイブ。2024年4月12日閲覧。
  24. ^ How half-a-second of suspicious activity led an engineer to prevent a massive cyberattack” (英語). EL PAÍS English (2024年4月10日). 2024年4月12日時点のオリジナルよりアーカイブ。2024年4月12日閲覧。
  25. ^ Roose, Kevin (2024年4月3日). “Did One Guy Just Stop a Huge Cyberattack?”. The New York Times. オリジナルの2024年4月4日時点におけるアーカイブ。. https://web.archive.org/web/20240404000115/https://www.nytimes.com/2024/04/03/technology/prevent-cyberattack-linux.html 2024年4月4日閲覧。 
  26. ^ How one volunteer stopped a backdoor from exposing Linux systems worldwide” (英語). The Verge (2024年4月2日). 2024年4月4日時点のオリジナルよりアーカイブ。2024年4月4日閲覧。

外部リンク[編集]