
CVE-2024-3094 XZ Utils バックドア調査 - 攻撃対象領域の可視化ツール、システム脆弱性チェッカー、および汎用Linux CVE評価ツール
Nikolaos Natsopoulos著、IAMコンサルタント
調査レポートに付随するインタラクティブなブラウザベースツール:
「CVE-2024-3094:XZ Utilsにおけるソーシャルエンジニアリングとビルドシステム操作によるサプライチェーン侵害」
2024年3月、XZ Utils(CVE-2024-3094)にバックドアが発見されました。世界中の安定版Linuxディストリビューションに届く直前のことでした。この脆弱性にはCVSSスコア最大の10.0が付与されました。この攻撃では、架空の貢献者が約3年かけてプロジェクトに潜入し、その後、数百万台のLinuxサーバーで認証なしのリモートコード実行を可能にするコードを挿入しました。
このツールは2つの機能を提供します:
CVE対象範囲を拡大し、追加の脆弱性評価機能を備えたシステムチェッカーのアップグレード版は、/CVE-Vulnerability-Assessment-Tool フォルダーにあります。
xz-toolkit_Visual_Checker.html をダウンロードし、任意のブラウザで開いてください。インストール不要、サーバー不要、インターネット接続も不要です。すべてが単一のファイルに含まれています。
攻撃ビジュアライザータブ - 左パネルの任意のフェーズをクリックして、攻撃のタイムラインを段階的に確認できます。依存関係チェーンが更新され、各段階で攻撃経路が正確にどこに存在するかが表示されます。フェーズは色分けされています:青はセットアップ、黄は警告サイン、赤はインジェクション、緑は発見と対応です。
システムチェッカータブ - 評価したいシステムで以下の3つのコマンドを実行します:
xz --version
ldd /usr/sbin/sshd
systemctl is-active ssh
出力を3つのフィールドに貼り付け、「システムを分析」をクリックします。このツールは悪用に必要な5つの条件を評価し、条件ごとの内訳とともに判定を返します。「このシステムの依存関係チェーンを可視化」をクリックすると、実際のライブラリプロファイルがチェーン図に表示されます。
完全に脆弱 - XZ 5.6.1を使用したDebian Sid
XZバージョン:
xz (XZ Utils) 5.6.1
liblzma 5.6.1
sshdの依存関係:
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5
libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
SSHステータス:
active (running) since Fri 2024-03-29 11:42:01 UTC
期待される結果:VULNERABLE - 5つの条件すべてを満たしています。
脆弱ではない - XZ 5.4.6を使用したUbuntu LTS
XZバージョン:
xz (XZ Utils) 5.4.6
liblzma 5.4.6
sshdの依存関係:
libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3
libpam.so.0 => /lib/x86_64-linux-gnu/libpam.so.0
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
SSHステータス:
active (running) since Thu 2024-03-28 09:15:33 UTC
期待される結果:NOT VULNERABLE - XZバージョンは安全で、sshdにliblzmaとlibsystemdが含まれていません。
脆弱ではない - XZ 5.6.0を使用したArch Linux(アーキテクチャ的に保護)
XZバージョン:
xz (XZ Utils) 5.6.0
liblzma 5.6.0
sshdの依存関係:
libcrypto.so.3 => /usr/lib/libcrypto.so.3
libpam.so.0 => /usr/lib/libpam.so.0
libc.so.6 => /usr/lib/libc.so.6
SSHステータス:
active (running) since Sat 2024-03-30 08:22:11 UTC
期待される結果:NOT VULNERABLE - XZ 5.6.0はバックドアが仕込まれたバージョンですが、Arch LinuxはOpenSSHにsd_notifyパッチを適用しないためliblzmaがsshdにリンクされることは決してなく、このシステムは悪用不可能です。この脆弱性はバージョン固有だけでなく、アーキテクチャ固有のものでした。
システムが脆弱であるためには、以下の5つすべてが同時に満たされている必要があります:
付属の調査レポートの重要な発見は、この攻撃がIdentity and Access Management(IAM)の実務者にとって新しい脅威モデルを表しているということです。このバックドアは従来の意味での認証情報の窃取やアクセス制御のバイパスではありませんでした。PAM、RBAC、MFA、ゼロトラストの下層で動作し、認証メカニズムそのものを置き換えたのです。従来のIAM制御では、この悪用を防ぐことはできませんでした。
有効だったと考えられる制御策:複数者によるリリース承認、tarballとgitリポジトリの差分チェック、実行時バイナリ整合性モニタリング(IMA/dm-verity)、SSH認証レイテンシの異常検知。
Copyright (c) 2026 Nikolaos Natsopoulos. MITライセンス。