概要

サプライチェーン攻撃(Supply Chain Attack)は、標的組織を直接攻撃するのではなく、ソフトウェアの開発・配布・依存関係の経路(サプライチェーン)を汚染することで、信頼された経路を通じて標的に侵入する攻撃です。2020年の SolarWinds 事案で広く認知され、SC試験でも近年出題が増えています。

代表的な攻撃事例

SolarWinds SUNBURST(2020年)

攻撃の流れ:
1. SolarWinds社のビルド環境にマルウェアが挿入される
2. 正規の Orion ソフトウェアアップデートにバックドア(SUNBURST)が混入
3. SolarWinds社がデジタル署名付きで18,000社以上に配布
4. 米国政府機関を含む多数の組織がアップデートを適用 → 侵害
SolarWinds SUNBURST事案の攻撃フロー
1
SolarWinds社のビルド環境にマルウェアが挿入される
2
正規アップデートにバックドア(SUNBURST)が混入
3
デジタル署名付きで18,000社以上に配布
4
多数の組織がアップデートを適用し侵害される

教訓:正規のデジタル署名があっても安全とは限らない。ビルド環境の保護が重要。

Log4Shell(2021年)

Apache Log4j2 ライブラリに RCE 脆弱性(CVE-2021-44228)が発見されました。Java 製ソフトウェアの大半が直接・間接的に利用しており、「どのソフトウェアがLog4jに依存しているか」の把握すら困難でした。これが SBOM(ソフトウェア部品表)の重要性が高まる契機となりました。

OSS パッケージ汚染(タイポスクワッティング・依存関係混乱攻撃)

手法内容
タイポスクワッティング有名パッケージに似た名前(reqeusts 等)で偽パッケージを公開
依存関係混乱攻撃内部パッケージと同名のパッケージを公開リポジトリに登録して上書き
アカウント乗っ取り人気OSSメンテナのアカウントを侵害してパッケージを改ざん

XZ Utils バックドア(2024年)

XZ Utils(Linux 圧縮ツール)のメンテナアカウントに2年かけて不正なコントリビュータが信頼を築き、バックドアを挿入したケース。SSHデーモンに影響し、多数のLinuxディストリビューションに含まれる寸前まで進みました。

防御・検出の仕組み

SBOM(Software Bill of Materials:ソフトウェア部品表)

使用するソフトウェアの全コンポーネント・バージョン・ライセンス・依存関係を記録した一覧表です。

効果説明
脆弱性の影響範囲特定脆弱なコンポーネントを使用している製品を即時特定
ライセンス管理OSSライセンス違反の防止
法規制対応米国 EO 14028(サイバーセキュリティ大統領令)でSBOM提供が要件化

主要フォーマット:SPDX・CycloneDX

ソフトウェア完全性の確保

技術説明
コード署名リリース前にハッシュ値を秘密鍵で署名。改ざん検知
SLSA フレームワークビルドプロセスの信頼性をレベル1〜4で評価(Google提唱)
SigstoreOSSのコード署名を透明で検証可能にするツール群
Reproducible Builds同じソースから常に同一バイナリが生成されることを保証

CI/CD パイプラインの保護

汚染箇所の例:
- ソースコードリポジトリ(不正コミット・ブランチ保護の欠如)
- ビルドサーバ(依存パッケージのダウンロード経路)
- アーティファクトレジストリ(イメージ・パッケージの改ざん)
- デプロイスクリプト(インフラ設定の改ざん)
ソフトウェアサプライチェーンの構成要素と汚染箇所
ソースコードリポジトリ
不正コミット
ビルドサーバ
依存パッケージ取得
アーティファクトレジストリ
イメージ改ざん
デプロイスクリプト
インフラ設定改ざん
OSS依存関係
タイポスクワッティング等
配布ソフトウェア
利用者へ届く成果物

SC試験での頻出ポイント

  • サプライチェーン攻撃が危険な理由:信頼された経路(正規ベンダのアップデート等)を使うため検知が困難
  • SolarWindsの教訓:正規デジタル署名付きでも安全でない。ビルド環境の完全性保護が必要
  • SBOMの目的:使用しているソフトウェアの全部品を把握し、脆弱性発見時の影響範囲を即時特定
  • タイポスクワッティングの手口:有名パッケージに似た名前で偽パッケージを公開し、誤インストールを誘う
  • 依存関係混乱攻撃:内部パッケージ名をパブリックリポジトリに登録してパッケージマネージャを騙す

よくある誤問・ひっかけパターン

誤り① 「デジタル署名済みソフトウェアは安全」→ 。SolarWindsのように署名者のビルド環境が侵害されると、正規署名つきの悪意あるソフトウェアが配布されます。

誤り② 「有名なOSSパッケージは安全」→ 。Log4ShellのようにダウンロードされているOSSに重大脆弱性が発見されることや、メンテナアカウントが侵害されるケースがあります。

誤り③ 「SBOMは大企業だけに必要」→ 。組み込み機器・中小企業向け製品でも、脆弱なOSSコンポーネントを含む場合があり、SBOMは広く有効です。

関連用語

重要キーワード

用語説明
サプライチェーン攻撃ソフトウェアの開発・配布経路を汚染して標的に侵入する攻撃
SBOMソフトウェア部品表。使用コンポーネントの一覧
タイポスクワッティング有名パッケージに似た名前で偽パッケージを公開する手口
依存関係混乱攻撃内部パッケージと同名をパブリックリポジトリに登録する攻撃
SLSAビルドプロセスの信頼性評価フレームワーク(Google提唱)
Reproducible Builds同じソースから常に同一バイナリが生成されることを保証する手法