システム開発

ソフトウェアサプライチェーンセキュリティ そふとうぇあさぷらいちぇーんせきゅりてぃ

サプライチェーンOSS依存関係SBOM信頼の連鎖署名
ソフトウェアサプライチェーンセキュリティについて教えて

簡単に言うとこんな感じ!

「自分が書いたコード」だけでなく、「使っているライブラリ・ビルドツール・CI/CDパイプライン・配布方法」まで全部含めたソフトウェアの製造工程全体を守るセキュリティだよ! 2020年のSolarWinds事件みたいに、信頼されたツールを通じた攻撃が増えているから、全工程を疑って守る必要があるんだ!


ソフトウェアサプライチェーンセキュリティとは

ソフトウェアサプライチェーンセキュリティは、ソフトウェアの開発・ビルド・テスト・配布・運用までの全工程(サプライチェーン)におけるセキュリティリスクを管理する取り組みです。

製造業の「サプライチェーン」と同様に、ソフトウェアも複数の「仕入れ先(OSS・ライブラリ・外部ツール)」を組み合わせて作られます。攻撃者は自社コードに直接侵入するより、信頼されたサプライチェーン(ライブラリ・CI/CDツール・パッケージリポジトリ等)を汚染する方が効率的だと気づいています。

2020年のSolarWinds攻撃では、セキュリティツールのビルドパイプラインが汚染され、18,000社以上に汚染されたアップデートが配布されました。この事件がソフトウェアサプライチェーンセキュリティへの世界的な注目を急加速させました。


サプライチェーン攻撃の主な種類

攻撃タイプ内容代表的な事例
ビルドパイプライン汚染CI/CDシステムへの侵入・改ざんSolarWinds(2020年)
依存関係汚染正規ライブラリを悪意あるコードに置き換えevent-stream事件(2018年)
タイポスクワッティング有名パッケージに似た名前の偽パッケージpypi/npm上の偽パッケージ多数
依存関係混乱内部パッケージ名を公開リポジトリで取得するMicrosoft・Apple・Tesla等が影響
ソースコードリポジトリ侵害GitHubアカウントの乗っ取り複数のOSSプロジェクト
更新メカニズム汚染正規の自動更新を通じた攻撃ASUS LiveUpdate攻撃

サプライチェーンセキュリティの主な対策

対策内容
SBOM管理全コンポーネントの部品表を作成・管理
コード署名アーティファクトに暗号署名して改ざんを検知
SCA(依存関係解析)脆弱なライブラリを自動検出
プライベートレジストリ審査済みパッケージのみを使用できる環境
最小権限のCI/CDビルド環境の権限を必要最小限に制限
サプライヤー評価OSS・外部ツールのセキュリティ評価

歴史と背景

  • 2018年npm パッケージ「event-stream」に悪意あるコードが混入。数百万の開発者が影響を受ける
  • 2019年 — PyPI・npm等での偽パッケージ問題が続発。パッケージレジストリセキュリティが議論される
  • 2020年12月SolarWinds Orionのビルドパイプラインが侵害され、米国政府機関を含む18,000社以上に汚染パッケージが配布される。「サプライチェーン攻撃」が世界的なキーワードに
  • 2021年2月 — 米国大統領令14028号でソフトウェアサプライチェーンセキュリティ強化が義務化
  • 2021年12月Log4Shell脆弱性発覚。直接依存しない間接依存ライブラリの管理の重要性が再認識
  • 2022年 — Google・Linux Foundation等がSLSA(Supply-chain Levels for Software Artifacts)フレームワークを公開
  • 2023年 — 日本でも経産省がソフトウェアサプライチェーン対策を要求事項として明示

サプライチェーンの信頼の連鎖

ソフトウェアサプライチェーンの全体図 ソースコード 自社コード + OSS ビルド環境 CI/CDパイプライン パッケージ コンテナイメージ 配布・デプロイ 本番環境 ⚠ 主な攻撃ポイント • 依存ライブラリへの悪意あるコード混入 • CI/CDパイプラインの乗っ取り • 偽パッケージ・タイポスクワッティング • アップデート機構の悪用 • コード署名証明書の漏洩 ✅ 主な対策 • SBOMで全コンポーネントを可視化 • コード・アーティファクトへの署名 • CI/CDの最小権限・監査ログ • SLSAフレームワークの適用 • 依存関係の定期スキャン

関連する規格・RFC

規格・RFC番号内容
SLSA(Supply-chain Levels for Software Artifacts)Google提唱のサプライチェーンセキュリティフレームワーク(レベル1〜4)
NIST SSDF(SP 800-218)セキュアなソフトウェア開発フレームワーク
SPDX(ISO/IEC 5962)SBOMの国際標準フォーマット
Sigstoreオープンソースのコード署名・検証基盤
EO 14028米国大統領令。ソフトウェアサプライチェーンの強化を義務化

関連用語