XZバックドア事件 えっくすぜっとばっくどーじけん
簡単に言うとこんな感じ!
何年もかけて信頼を勝ち取った攻撃者が、世界中のLinuxサーバーに使われている圧縮ツールに「こっそり裏口」を仕込んだ事件だよ。発覚がギリギリ間に合ったけど、もし気づかれなければ無数のサーバーが乗っ取られていたかもしれない超ヒヤッとした実話なんだ!
XZバックドア事件とは
2024年3月に発覚した、オープンソースのデータ圧縮ライブラリ「XZ Utils」に悪意あるコードが埋め込まれたセキュリティインシデントです。CVE識別番号は CVE-2024-3094 が付与され、世界中のセキュリティ研究者に衝撃を与えました。
攻撃者は「Jia Tan(JiaT75)」というアカウントを使い、約2年間にわたってXZ Utilsのオープンソースプロジェクトに貢献し続け、開発者から信頼を得てメンテナー権限を取得。その後、SSHサーバーに使われる認証ライブラリ(liblzma)に細工を施し、特定の秘密鍵を持つ攻撃者だけがリモートから認証なしでサーバーに侵入できるバックドアを仕込みました。
Microsoftのエンジニアである Andres Freund 氏が、SSHのログイン処理がわずかに遅いことを不審に思い調査したことで発覚。本番環境への広範な影響を寸前のところで防ぐことができた、まさに「紙一重」の事件です。
攻撃の構造と手口
この事件が恐ろしいのは、技術的な巧妙さだけでなく、人間の信頼関係を長期間かけて操作した点にあります。
攻撃のタイムライン概要
| フェーズ | 時期 | 内容 |
|---|---|---|
| 潜入・信頼獲得 | 2021年〜2023年 | 「Jia Tan」がXZ Utilsにパッチを継続提供、コントリビューターとして認知される |
| メンテナー権限取得 | 2023年末 | 既存メンテナーに圧力をかける形でコミット権を獲得 |
| バックドア埋め込み | 2024年2月 | XZ Utils 5.6.0/5.6.1 のリリースに悪意あるコードを混入 |
| 発覚 | 2024年3月29日 | Andres Freund氏がSSH速度低下を調査し発見・公表 |
| 対応 | 2024年3月末〜 | 各LinuxディストリビューションがXZ Utilsをダウングレード |
バックドアの技術的な仕組み
通常のSSH接続フロー:
クライアント → [sshd] → [liblzma] → 認証処理 → ログイン
改ざん後のフロー:
攻撃者 → [sshd] → [liblzma★] → バックドア発動 → 認証スキップ → サーバー乗っ取り
↑
ここに悪意あるコードが仕込まれていた
悪意あるコードはビルド時にのみ展開される難読化されたバイナリデータとしてテストファイルに隠されており、ソースコードを読むだけでは発見が極めて困難な設計になっていました。
ソーシャルエンジニアリングの手口
攻撃者は技術的な工作だけでなく、人間心理を操作する巧妙な手法も使いました。
- 疲弊した開発者を狙う:既存のメンテナー(Lasse Collin氏)が個人的な事情で多忙な時期を狙い、助けを申し出る形で近づいた
- サクラアカウントの活用:別の偽アカウントが「Jia Tanにもっと権限を与えるべきだ」とプレッシャーをかけるコメントを投稿
- 長期間の実績作り:2年以上にわたり正当なパッチを提供し続け、疑いを持たれない信頼を構築
歴史と背景
- 2021年ごろ:「Jia Tan」アカウントがXZ Utilsにコントリビュートを開始。最初のコミットは2021年10月ごろ
- 2022〜2023年:継続的にパッチを提供し、既存メンテナーから高評価を得る。複数の偽アカウントが「彼にもっとコミット権を」と要求するコメントを投稿
- 2023年末:XZ Utilsの主要メンテナー権限を取得
- 2024年2月:XZ Utils 5.6.0 をリリース。ビルドスクリプトとテストファイルにバックドアのコードを混入
- 2024年3月初旬:XZ Utils 5.6.1 リリース。一部のLinuxディストリビューション(Fedora Rawhide、openSUSE Tumbleweedなど)がベータ版として取り込み
- 2024年3月29日:Andres Freund氏がSSHのレイテンシ異常から調査を開始し、バックドアを発見。メーリングリストに公表
- 2024年3月29日〜:Debian、Red Hat、Arch Linux などが一斉に旧バージョンへダウングレード対応
- 現在:XZ Utilsは安全なバージョンに戻り、セキュリティ審査が強化。オープンソースのサプライチェーンセキュリティ全体を見直す契機となった
サプライチェーン攻撃としての位置づけ
XZバックドア事件は、ソフトウェアサプライチェーン攻撃の典型例として語り継がれます。「完成品」を直接攻撃するのではなく、その材料となるライブラリや開発プロセスを汚染する手法です。
他の有名なサプライチェーン攻撃との比較
| 事件名 | 年 | 攻撃対象 | 手口の特徴 |
|---|---|---|---|
| XZ Utils バックドア | 2024 | OSSライブラリ | 開発者に成りすまし長期潜伏 |
| SolarWinds攻撃 | 2020 | ITツールのアップデート | 正規ビルドパイプラインに侵入 |
| event-stream事件 | 2018 | npmパッケージ | メンテナーから権限を譲渡させ悪意あるコードを追加 |
| CCleaner改ざん | 2017 | セキュリティソフト | 公式配布サーバーに侵入し改ざん版を配布 |
XZ事件の最大の特徴は、攻撃者が正規の開発者として認められるまで自ら実績を積んだ点。技術的な侵入ではなく、人間関係の構築から始める極めて高度なアプローチです。
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 4251 | SSH プロトコルアーキテクチャ(バックドアが狙ったSSHの仕様) |
| RFC 4252 | SSH 認証プロトコル(バックドアが迂回しようとした認証の仕様) |
関連用語
- サプライチェーン攻撃 — ソフトウェアや部品の製造・流通過程を狙う攻撃手法
- バックドア — 正規の認証を迂回してシステムに侵入するための隠し経路
- ソーシャルエンジニアリング — 技術ではなく人間の心理・信頼を悪用した攻撃手法
- SSH(Secure Shell) — リモートサーバーに安全に接続するためのプロトコル
- OSS(オープンソースソフトウェア) — ソースコードを公開・共有して開発されるソフトウェア
- CVE — 脆弱性に付与される共通識別番号の体系
- ゼロデイ攻撃 — 脆弱性が公表される前に行われる攻撃
- 脆弱性管理 — ソフトウェアの弱点を発見・修正・追跡するプロセス