ソフトウェアサプライチェーンセキュリティ そふとうぇあさぷらいちぇーんせきゅりてぃ
サプライチェーン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年 — 日本でも経産省がソフトウェアサプライチェーン対策を要求事項として明示
サプライチェーンの信頼の連鎖
関連する規格・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 | 米国大統領令。ソフトウェアサプライチェーンの強化を義務化 |
関連用語
- 依存関係管理・SBOM — サプライチェーンセキュリティの核心となるソフトウェア部品表
- セキュリティテスト(SAST/DAST) — サプライチェーンの各工程でのセキュリティテスト
- DevSecOps — サプライチェーンセキュリティをDevOpsプロセスに統合
- セキュリティシフトレフト — 開発の早い段階からサプライチェーンリスクに対処
- CI/CD — 攻撃対象になりやすいCI/CDパイプラインの保護が重要
- コードレビュー — 悪意あるコードの混入を人間の目でも確認する最後の砦