Mímisbrunnr知恵の泉

← サイバーセキュリティ 一覧

🎓 レベル:発展 | 重要度:B(推奨) 📎 前提:コンテナとイメージのセキュリティ ⚠️ 脅威・対策ともに動きが速い領域(要最新確認)。本稿は枠組みと原則に絞る。

要点(BLUF)

概念:自分のコードは氷山の一角

アプリのコードのうち、自分で書く部分はごく一部で、残りはライブラリ・フレームワーク・ベースイメージ・ビルドツールなど外部由来です。攻撃者から見れば、人気の依存を1つ汚染すれば、それを使う全アプリに影響を及ぼせます。だから供給網(サプライチェーン)は効率のよい標的になり、近年事故が増えています。

供給網が狙われる典型的な経路(概念):

ここでは「どう攻撃するか」ではなく、「どの経路に完全性の保証が要るか」を理解します。

仕組み:供給網を守る4つの柱

何をするか関連
来歴の可視化(SBOM)何を使っているか部品表を作る脆弱性が出たとき影響範囲を即特定
署名と検証配布物・イメージの真正性を確認デジタル署名(デジタル署名と証明書(PKI)
依存の固定と検証バージョン・ハッシュを固定ハッシュ照合(対称鍵暗号とハッシュ
ビルドの完全性再現可能・隔離されたビルド改ざんされていないことの担保
flowchart LR
    DEP["外部依存・ベースイメージ"] -->|"署名検証・ハッシュ照合"| GATE{"信頼できるか"}
    GATE -->|"はい"| BUILD["隔離・再現可能なビルド"]
    GATE -->|"いいえ"| STOP["取り込まない"]
    BUILD --> SBOM["SBOM を生成(部品表)"]
    SBOM --> ART["署名つき成果物"]
    ART -.->|"脆弱性公表時に影響範囲を即特定"| SBOM

防御側の使い方/設定

なぜ安全か:完全性を「自分の外」まで広げる

供給網の防御が効くのは、これまで「自分のコード」に閉じていた完全性の保証を、取り込む部品とビルド工程まで拡張するからです。署名検証で「正規の発行元のものか」、ハッシュ照合で「途中で変わっていないか」、SBOM で「何を抱えているか」を常に把握する。これにより、外部由来の改ざんを取り込み口で弾き、万一の脆弱性公表にも影響範囲を即特定して素早く対応できます。

仕組みの直観

サプライチェーンセキュリティは食品のトレーサビリティです。完成品(アプリ)だけ検査しても、原材料(依存)や加工工場(ビルド)が汚染されていれば防げません。だから原材料の産地証明(署名)、ロット番号での同一性確認(ハッシュ)、全成分表示(SBOM)、衛生管理された工場(隔離ビルド)を揃える。事故(脆弱性公表)が起きたら、成分表からどの製品が該当するかを即座に追跡して回収します。

⚠️ よくある誤解・設定ミス

対応 lab

供給網の各ツールは環境依存のため lab は置きません。署名検証・ハッシュ照合という土台は security-study/labs/digital_signature_demo.pyhash_oneway_demo.py で原理を確認できます。

関連