高度な攻撃手法

XZバックドア事件 えっくすぜっとばっくどーじけん

サプライチェーン攻撃バックドアオープンソースソーシャルエンジニアリングliblzmaSSH
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事件の構造) 攻撃者 (Jia Tan) XZ Utils (汚染されたライブラリ) liblzma (バックドア入り) Linuxディストリビューション (Fedora/openSUSEなど) SSHサーバー (sshd) (バックドアが組み込まれる) 標的サーバー (世界中のLinuxサーバー) ⚠️ 2024年3月29日 Andres Freund氏が発見・公表 → 被害回避 2年間の 信頼構築

他の有名なサプライチェーン攻撃との比較

事件名攻撃対象手口の特徴
XZ Utils バックドア2024OSSライブラリ開発者に成りすまし長期潜伏
SolarWinds攻撃2020ITツールのアップデート正規ビルドパイプラインに侵入
event-stream事件2018npmパッケージメンテナーから権限を譲渡させ悪意あるコードを追加
CCleaner改ざん2017セキュリティソフト公式配布サーバーに侵入し改ざん版を配布

XZ事件の最大の特徴は、攻撃者が正規の開発者として認められるまで自ら実績を積んだ点。技術的な侵入ではなく、人間関係の構築から始める極めて高度なアプローチです。


関連する規格・RFC

規格・RFC番号内容
RFC 4251SSH プロトコルアーキテクチャ(バックドアが狙ったSSHの仕様)
RFC 4252SSH 認証プロトコル(バックドアが迂回しようとした認証の仕様)

関連用語