脅威モデリングが重要な理由
攻撃者より先にリスクを見つけます。
「脅威モデリングが重要な理由」はCoddyKit上の無料Cyber Security Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCyber Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cyber Security Academyコースには全4レッスンが含まれています。
脅威モデリングとは
脅威モデリングとは、攻撃者に先んじて、システムで起こり得る問題を体系的に洗い出す実践です。設計を分析し、考えられる脅威を列挙し、軽減策を決定します。
脅威モデリングでは、次の4つの基本的な問いに答えます:
- 何を構築するのか
- 何が問題になり得るか
- それに対して何をするのか
- 適切に実施できたか
セキュリティをシフトレフトする
脅威モデリングは、開発ライフサイクルの後半ではなく早い段階でセキュリティに取り組む、シフトレフトの原則を体現しています。
問題を発見する時期が遅いほど、修正コストは大幅に増加します:
- 設計フェーズ — 図を変更するだけで、ほぼ無償
- 開発 — コードの一部を書き直す
- 本番環境 — 緊急パッチ、インシデント、侵害の可能性
コードを1行も書く前に設計上の欠陥を見つけることが、最も安価な修正方法です。
攻撃者のように考える
脅威モデリングでは、意識的な考え方の転換が求められます。システムがどのように動くべきかを考えるのではなく、どのように悪用され得るかを考え始めるのです。
防御側は自然に、機能や正常系のシナリオに注目します。一方、攻撃者は次のものを探します:
- 検証されていない入力
- 破られる可能性のある信頼上の前提
- スキップまたはリプレイ可能な手順
- 保護すべきなのに保護されていないデータ
モデリングによって、この敵対者の視点に立った思考を偶然に任せず、体系的に行えるようになります。
資産、脅威、脆弱性
すべての脅威モデルの基盤となる3つの用語があります。区別して覚えてください:
- 資産 — 保護する価値のある重要なもの(顧客データ、認証情報、可用性)
- 脅威 — 起こり得る有害な事象や行為者(データを盗む攻撃者)
- 脆弱性 — 脅威を成功させる弱点(アクセスチェックの欠如)
価値のある資産に対して脅威が脆弱性を悪用できると、リスクが生じます。
資産を特定する
特定していないものを保護することはできません。すべての脅威モデルは、重要なものを列挙することから始めてください。
一般的な資産のカテゴリ:
Data assets: PII, payment data, credentials, API keys, secrets
Functional: authentication, payment processing, admin actions
Reputational: brand trust, regulatory compliance
Infrastructure: databases, servers, network availability脅威モデリングを行うタイミング
脅威モデリングは、一度きりのイベントではなく、特定のタイミングで行うと最も効果を発揮します:
- 新しいシステムまたは機能を設計するとき
- 大規模なアーキテクチャ変更を行うとき
- 新しい信頼境界(新しい統合や外部API)を追加するとき
- セキュリティインシデントの後に、関連するギャップを見つけるとき
成熟したチームは、システムの進化に合わせてモデルを見直す継続的な活動として扱います。
誰が参加すべきか
脅威モデリングはチームで行うものです。一人で作成したモデルでは、重要なコンテキストを見落としすぎます。
効果的なセッションには、次のメンバーが参加します:
- システムの実際の動作を理解している開発者
- 設計の意図を理解しているアーキテクト
- 攻撃パターンを把握しているセキュリティエンジニア
- ビジネスへの影響を理解しているプロダクトオーナー
このように異なる視点を組み合わせることで、どの役割だけでも見つけられない脅威が明らかになります。
一般的な手法
構造化された手法はいくつかあり、必要に応じて組み合わせて使えます。
- STRIDE — 脅威を種類ごとに分類します。技術設計に適しています(次のレッスンで扱います)
- PASTA — リスクを中心に考え、脅威をビジネスへの影響と結び付けます
- 攻撃ツリー — 攻撃者の目的と、そこに至る経路をモデル化します
- DREAD — リスクの優先順位付けに使うスコアリングモデルです
STRIDEは体系的で取り組みやすいため、最初に学ぶ手法として最も広く教えられています。
脅威モデルの成果物
脅威モデルは、実行可能な結果を生み出して初めて役に立ちます。通常、次の成果物を作成します。
- システムとその信頼境界を示す図
- 分類済みの特定された脅威の一覧
- 各脅威のリスク評価
- 緩和策または受容したリスクに関する判断
- 担当者を割り当てたアクションアイテム
誰も行動しない文書を作って終わる脅威モデルは、失敗したも同然です。
よくある落とし穴
脅威モデリングは、予想できる形で失敗することがよくあります。次の落とし穴を避けてください。
- 対象範囲を広げすぎる — システム全体を一度にモデル化しようとすることです。代わりに、対象範囲を厳密に絞ります
- 分析麻痺 — 決定を下さないまま議論を延々と続けることです
- チェックボックスの消化として扱う — 監査人を満足させるために文書を作るだけで、実際には何も行動しないことです
- フォローアップがない — 脅威を特定しても、緩和策を追跡しないことです
対象範囲を絞り、時間を区切り、実際のアクションアイテムに結び付けてください。
簡単に始めるための手順
脅威モデリングを一度も行ったことがない場合は、次の簡単な手順で小さく始めてください。
- システムとデータフローの簡単な図を描きます
- データが信頼境界を越える場所に印を付けます
- 各境界について、攻撃者に何ができるかを考えます
- 主な脅威と、それぞれに対する緩和策を書き出します
- 担当者を割り当て、後で見直します
ホワイトボードを使った30分のセッションだけでも、そうしなければ本番環境に到達してしまう問題を見つけられます。
理解度チェック
脅威モデリングの基本を理解できているか確認しましょう。
まとめ
脅威モデリングが重要な理由を学びました。
- 脅威モデリングを行うと、攻撃者に見つかる前に、何が問題になり得るかを構造的に明らかにできます
- セキュリティを左へシフトし、修正にかかる費用を大幅に下げられます
- 資産、脅威、脆弱性を区別します。リスクはこれらが交わるところにあります
- 設計時と大きな変更を行うときに、複数の専門分野から成るチームでモデル化します
- 対象範囲を広げすぎたり、フォローアップを怠ったりするなどの落とし穴を避け、常に実行可能な成果物を作成します
次は、脅威を分類するためのSTRIDEフレームワークを学びます。
よくある質問
「脅威モデリングが重要な理由」レッスンは無料ですか?
はい。「脅威モデリングが重要な理由」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cyber Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cyber Security Academyコースには全4レッスンが含まれています。
「脅威モデリングが重要な理由」で何を学びますか?
攻撃者より先にリスクを見つけます。 ブラウザで直接実行するハンズオンコードでCyber Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cyber Security Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCyber Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「脅威モデリングが重要な理由」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCyber Security Academyレッスンでコードを書いて実行できますか?
はい。すべてのCyber Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 脅威モデリングが重要な理由
- STRIDEフレームワーク
- データフロー図と信頼境界
- 攻撃ツリーとリスクの優先順位付け