SPONSORED

依存関係混乱攻撃(いぞんかんけいこんらんこうげき)

最終更新:2026/4/27

依存関係混乱攻撃は、ソフトウェアの依存関係を悪用し、意図しないコードを実行させるセキュリティ攻撃である。

別名・同義語 サプライチェーン攻撃

ポイント

この攻撃は、パッケージ管理システムの脆弱性を利用し、攻撃者が制御する悪意のあるパッケージをインストールさせることで行われる。

概要

依存関係混乱攻撃(Dependency Confusion Attack)は、ソフトウェア開発における依存関係管理の脆弱性を突く攻撃手法です。多くのソフトウェアプロジェクトは、サードパーティ製のライブラリやパッケージを利用しており、これらの依存関係はパッケージ管理システムによって管理されます。

この攻撃では、攻撃者は公開リポジトリに、プロジェクトが内部で使用している非公開パッケージと名前が同じパッケージを登録します。パッケージ管理システムが依存関係を解決する際、公開リポジトリにある攻撃者のパッケージを優先的にダウンロードしてしまうことで、攻撃者は悪意のあるコードをプロジェクトに注入することができます。

攻撃の仕組み

  1. 依存関係の特定: 攻撃者は、ターゲットとなるプロジェクトが利用している依存関係を特定します。
  2. 名前の衝突: 攻撃者は、ターゲットのプロジェクトが内部で使用している非公開パッケージと名前が同じパッケージを公開リポジトリに登録します。
  3. パッケージのダウンロード: パッケージ管理システムが依存関係を解決する際、公開リポジトリにある攻撃者のパッケージを優先的にダウンロードします。
  4. 悪意のあるコードの実行: 攻撃者は、ダウンロードされたパッケージに悪意のあるコードを仕込み、ターゲットのシステム上で実行させます。

  • スコープ付きリポジトリ: パッケージ管理システムでスコープ付きリポジトリを使用し、内部パッケージと公開パッケージを明確に区別します。
  • パッケージの署名: パッケージにデジタル署名を行い、改ざんを検知できるようにします。
  • 依存関係の固定: 依存関係のバージョンを固定し、意図しないアップデートを防ぎます。
  • 脆弱性スキャン: 定期的に依存関係をスキャンし、既知の脆弱性を特定します。

SPONSORED