脅威モデルとは何か?攻撃者のように考える
脅威モデルとは、何が問題になり得るかを構造的に問う方法です。すなわち、誰がシステムを攻撃し得るか、何を求めているか、そしてどのようにそれを手に入れ得るかです。
脅威モデルとは、チームが勘ではなく意図的にセキュリティについて考える方法です。何を守っているか、誰がそれを攻撃し得るか、どのような経路をたどり得るか、そしてどの防御が最も重要かを描き出します。CI/CDにとって、脅威モデリングは、スコープ付きtokenや使い捨てrunnerといった特定の制御がなぜ努力に値するのかを明確にします。
それが答える問い
- 私たちは何を守っているのか(secret、ソース、deployアクセスといった資産)?
- 誰がそれを攻撃し得るか、そして何を求めているのか?
- どのように侵入し得るか、そして何がそれを止めるのか?
なぜ脅威をモデリングするのか
脅威モデルがなければ、セキュリティは優先順位の感覚を欠いた、ばらばらな制御の寄せ集めになります。モデリングは、最も価値の高い資産と最も起こりやすい攻撃経路を特定することを強制するため、努力が実際にリスクを低減する場所へと向かいます。
pipelineの脅威モデリング
CI/CD pipelineは価値の高い標的です。認証情報を保持し、本番環境にデプロイできるからです。それをモデリングすると、漏洩したsecret、悪意のある依存関係、侵害されたrunner、過度に広範なtokenといった懸念が浮かび上がり、それぞれに対応する緩和策があります。
モデルから制御へ
特定された各脅威は、防御へとマッピングされます。長期間有効なsecretの漏洩が心配ですか?OIDCと短期間有効なtokenを使いましょう。あるrunnerが別のjobのデータを読むことが心配ですか?隔離された使い捨てのrunnerを使いましょう。モデルが制御を正当化します。
最新に保つ
システムは変化し、その脅威も変化します。脅威モデルは生きた文書であり、依存関係、deploy先、または統合を追加するたびに見直されます。古くなったモデルは、新しい機能が導入したまさにその攻撃経路を見逃す可能性があります。
実用的な見返り
脅威モデリングは、重厚な形式ばったものを必要としません。変更を出荷する前に「誰かがこのpipelineをどう悪用するだろうか?」を短く正直に議論するだけでも、リスクを早期に - まだ対処が安価なうちに - 検出できます。
重要なポイント
- 脅威モデルは、資産、攻撃者、攻撃経路、防御をマッピングします。
- 最も価値が高く、最も起こりやすいリスクに向けてセキュリティの努力を優先します。
- pipelineをモデリングすることで、OIDC tokenや使い捨てrunnerといった制御が正当化されます。