サプライチェーン攻撃の技術対策|SBOM・CI/CD・OSS・EDIを解説

サプライチェーン攻撃から組織を守るには、技術的な対策が不可欠です。特にソフトウェア開発においては、依存関係の管理、ビルドパイプラインの保護、OSSの安全な利用が重要なテーマとなります。SolarWinds事件や3CX事件に代表されるように、開発・ビルド工程を狙った攻撃は高度化しており、従来のセキュリティ対策では防ぎきれません。このカテゴリでは、開発者・セキュリティエンジニア向けに、サプライチェーン攻撃の技術的な対策を詳しく解説します。SBOM、CI/CDセキュリティ、OSS管理、npmセキュリティ、EDI、脅威モデリングまで、実践的な技術対策を網羅します。

サプライチェーン攻撃の技術的対策とは

現代のソフトウェア開発において、サプライチェーン攻撃への技術的対策は喫緊の課題です。従来のセキュリティ対策が境界防御やマルウェア感染の検知に重点を置いていたのに対し、サプライチェーン攻撃は開発プロセスそのものを標的とします。

なぜ技術的な対策が重要なのでしょうか。その理由は、攻撃者が開発・ビルド工程を狙うようになったからです。SolarWinds事件では、正規のビルドシステムが侵害され、18,000以上の組織に悪意あるアップデートが配信されました。3CX事件では、ビルドパイプラインにトロイの木馬が混入し、VoIPソフトウェアのユーザーが被害を受けました。

従来のセキュリティ対策では、これらの攻撃を防ぐことが困難です。なぜなら、攻撃は「信頼された」ソフトウェアを経由して行われるためです。正規のコード署名が施され、公式のアップデートチャネルを通じて配信されるため、ファイアウォールやウイルス対策ソフトでは検知できません。

従来の対策 サプライチェーン攻撃への効果 課題
ファイアウォール 限定的 正規通信との区別が困難
ウイルス対策ソフト 限定的 署名済みソフトは信頼される
侵入検知システム 限定的 正常な動作との区別が困難
アクセス制御 一部有効 内部からの攻撃には弱い

このカテゴリでは、ソフトウェアサプライチェーン攻撃に対抗するための技術的対策を詳しく解説します。SBOM(ソフトウェア部品表)による依存関係の可視化、CI/CDパイプラインの保護、OSSの安全な利用方法、npmエコシステムのセキュリティ、EDIシステムの防御、そして脅威モデリングによるリスク分析まで、開発者・セキュリティエンジニアが知るべき実践的な対策を網羅します。


SBOM(ソフトウェア部品表)の活用

SBOM(Software Bill of Materials:ソフトウェア部品表)は、サプライチェーン攻撃対策の基盤となる技術です。製造業における部品表(BOM)と同様に、ソフトウェアを構成するすべてのコンポーネントを一覧化したものです。

SBOMがなぜ重要かを理解するには、Log4Shell脆弱性(CVE-2021-44228)を思い出してください。この深刻な脆弱性が発見された際、多くの組織が「自社のシステムにLog4jが含まれているか」を把握できず、対応に苦慮しました。SBOMがあれば、依存関係の脆弱性が発見された際に、影響範囲を即座に特定できます。

SBOMの主な活用場面
脆弱性管理:新たに発見された脆弱性が自社システムに影響するか迅速に判断
ライセンス管理:利用しているOSSのライセンス条件を把握し、コンプライアンスを確保
変更管理:ソフトウェア更新時の影響範囲を事前に把握
インシデント対応:情報漏洩発生時の原因特定を迅速化

SBOMの詳細な作成方法、フォーマット(SPDX、CycloneDX)、脆弱性管理への活用については、サプライチェーン攻撃とSBOM|依存関係・脆弱性管理・署名検証で詳しく解説しています。


CI/CDセキュリティとSLSA

CI/CD(継続的インテグレーション/継続的デリバリー)パイプラインは、現代のソフトウェア開発に不可欠ですが、同時にサプライチェーン攻撃の主要な標的でもあります。

ビルドパイプラインの保護がなぜ重要なのでしょうか。攻撃者がビルドシステムに侵入すれば、正規の署名が施されたソフトウェアに悪意あるコードを混入できます。SolarWinds事件やCodecov事件は、まさにこの手法で実行されました。1回のビルドシステム侵害で、数千から数万のユーザーに影響を与えることが可能です。

この課題に対応するため、Googleを中心にSLSA(Supply-chain Levels for Software Artifacts)フレームワークが開発されました。SLSAは、ビルドの完全性を保証するための段階的な要件を定義しています。

SLSAの目的
ソフトウェアアーティファクト(成果物)のサプライチェーン完全性を保証し、改ざんや不正な変更を防止する
段階的なアプローチ
L1からL4まで4つのレベルがあり、組織の成熟度に応じて段階的に導入可能

SLSAの各レベルと要件、ビルド成果物の署名(Sigstore/cosign)、改ざん検知の実装については、サプライチェーン攻撃対策のCI/CD|SLSA・署名・改ざん検知で詳しく解説しています。


OSSの安全な利用

現代のソフトウェア開発において、OSS(オープンソースソフトウェア)の利用は不可欠です。しかし、その便利さの裏にはサプライチェーン攻撃のリスクが潜んでいます。

OSSを狙った攻撃が増加している理由は明確です。1つの人気パッケージを侵害すれば、それに依存する無数のプロジェクトに影響を与えられます。event-stream事件では、人気npmパッケージのメンテナー権限が乗っ取られ、悪意あるコードが200万回以上ダウンロードされました。

OSSの安全な利用には、以下の観点からの対策が必要です。

  • 依存パッケージの管理:直接依存だけでなく、推移的(間接)依存も含めた把握
  • 供給元(メンテナー)の評価:プロジェクトの健全性、メンテナーの信頼性の確認
  • 脆弱性情報の継続的な収集:CVE、NVD、JVNなどのデータベースとの照合
  • バージョン管理:ロックファイルによるバージョン固定と計画的な更新

フィッシング詐欺ソーシャルエンジニアリングを用いてメンテナーの認証情報を窃取し、正規パッケージに悪意あるコードを混入する攻撃も報告されています。

OSSの選定基準、脆弱性管理ツール、メンテナー評価の方法については、OSS時代のサプライチェーン攻撃対策|依存パッケージ・供給元管理で詳しく解説しています。


npmセキュリティ

npmは世界最大のパッケージレジストリであり、200万以上のパッケージが登録されています。その規模の大きさと依存関係の複雑さは、サプライチェーン攻撃の格好の標的となっています。

npmエコシステムにおける代表的な攻撃手法として、タイポスクワッティングがあります。これは、人気パッケージに似た名前(タイプミスを誘う名前)の悪意あるパッケージを公開し、開発者のインストールミスを狙う手法です。パッケージのタイポスクワッティングは、npmに限らず広く見られる攻撃手法です。

攻撃手法 概要 対策
タイポスクワッティング 類似名のパッケージで誤インストールを誘発 パッケージ名の慎重な確認
メンテナー乗っ取り 正規パッケージの権限を奪取 パッケージの健全性監視
postinstallスクリプト悪用 インストール時に悪意あるコード実行 ignore-scriptsオプション

npm特有のリスクと対策、ロックファイルの活用、npm auditの効果的な使い方については、サプライチェーン攻撃とnpm|タイポスクワッティング・依存パッケージ対策で詳しく解説しています。


EDIセキュリティ

EDI(Electronic Data Interchange:電子データ交換)は、企業間の受発注、請求、出荷などのデータを電子的にやり取りする仕組みです。サプライチェーンの中核を担うEDIシステムは、ビジネスサプライチェーン攻撃の標的となります。

EDIシステムへの攻撃は、以下のような影響をもたらす可能性があります。

  • 偽装された取引データによる不正な発注・請求
  • EDI接続経路を利用した内部ネットワークへの侵入
  • 取引データの改ざんによる業務妨害
  • ランサムウェア感染の踏み台

EDIセキュリティの要点は、アクセス制御データの検証です。接続先の認証、通信の暗号化、受信データの形式チェックと異常検知を組み合わせることで、リスクを軽減できます。

レガシーEDIとWeb-EDIのセキュリティ比較、通信の暗号化方式、セキュリティ監査については、サプライチェーン攻撃とEDI|データ連携のアクセス制御と秘密保持で詳しく解説しています。


脅威モデリング

脅威モデリングは、システムやプロセスに対する潜在的な脅威を体系的に特定し、リスクを評価し、対策の優先順位を決定する手法です。サプライチェーン攻撃は、外部の依存先(ソフトウェア、サービス、取引先)を含む広範な攻撃面(アタックサーフェス)を持つため、脅威モデリングによる分析が有効です。

サプライチェーン攻撃への脅威モデリングでは、以下の要素を分析します。

  1. 外部依存の洗い出し:ソフトウェア依存(OSS、ライブラリ)、サービス依存(クラウド、SaaS)、組織依存(取引先、委託先)
  2. 接続ポイントの特定:API、EDI、VPN、リモートアクセスなど外部との接点
  3. データフローの分析:信頼境界の特定、機密データの経路

脅威モデリングのフレームワーク(STRIDEモデル)、実施方法、ツールの活用については、サプライチェーン攻撃の脅威モデリング|攻撃面・依存関係の分析手法で詳しく解説しています。


関連カテゴリへの案内

サプライチェーン攻撃対策は、技術的な対策だけでは完結しません。目的に応じて、以下のカテゴリもご参照ください。

攻撃の仕組みを詳しく知りたい方
サプライチェーン攻撃の種類|ソフトウェア・ビジネス・サービス3類型では、ソフトウェア型、ビジネス型、サービス型の3つの攻撃類型を解説しています。
組織的な対策を始めたい方
サプライチェーン攻撃の対策|自社を守るセキュリティ強化ガイドでは、多層防御、認証強化、従業員教育など組織全体での取り組みを解説しています。
取引先管理を強化したい方
サプライチェーン攻撃対策の取引先管理|評価・契約・監査・TPRMでは、取引先のセキュリティ評価、契約条項、監査方法を解説しています。
経営層への報告・説明が必要な方
サプライチェーン攻撃と経営|リスク・ガバナンス・投資判断では、経営リスク、ガバナンス体制、投資判断の観点から解説しています。

標的型攻撃(APT)ビジネスメール詐欺(BEC)など、サプライチェーン攻撃と組み合わせて使われる攻撃手法についても理解を深めることをお勧めします。


まとめ

本カテゴリでは、サプライチェーン攻撃に対する技術的対策を解説しています。主なポイントは以下の通りです。

  • SBOM(ソフトウェア部品表)は、依存関係の可視化と脆弱性管理の基盤となる
  • CI/CDセキュリティでは、SLSAフレームワークに基づくビルドパイプラインの保護が重要
  • OSS利用では、依存パッケージの管理と供給元(メンテナー)の評価が必要
  • npmセキュリティでは、タイポスクワッティングやpostinstallスクリプトの悪用に注意
  • EDIセキュリティでは、アクセス制御と通信の暗号化、データ検証が基本
  • 脅威モデリングにより、サプライチェーン全体のリスクを体系的に分析できる
  • 技術的対策と組織的対策を組み合わせることで、より効果的な防御が可能

サプライチェーン攻撃の全体像については、サプライチェーン攻撃とは|仕組み・事例・対策を初心者にもわかりやすく解説をご参照ください。


重要なお知らせ

  • 本記事は一般的な情報提供を目的としており、個別の状況に対する助言ではありません。
  • 実際にサイバー攻撃の被害に遭われた場合は、警察(#9110)やIPA(03-5978-7509)などの公的機関にご相談ください。
  • 法的な対応が必要な場合は、弁護士などの専門家にご相談ください。
  • 記載内容は作成時点の情報であり、攻撃手法は日々進化している可能性があります。

サプライチェーン攻撃 完全ガイド ナビゲーション

総合ガイド

目的別に探す

役職・立場別に探す

技術対策(技術者向け)

業種別に探す

人気のページ

更新履歴

初稿公開

京都開発研究所

システム開発/サーバ構築・保守/技術研究

CMSの独自開発および各業務管理システム開発を行っており、 10年以上にわたり自社開発CMSにて作成してきた70,000以上のサイトを 自社で管理するサーバに保守管理する。