製品管理 に戻る

脅威モデリング テンプレート

製品を根本から保護します。脅威モデリング テンプレートを使えば、データフローを視覚化し、侵害につながる前に潜在的な脆弱性を特定できます。これにより、設計段階からアーキテクチャに信頼性を組み込めます。

3 のテンプレート

脅威モデリング テンプレートとは?

脅威モデリング テンプレートは、セキュリティーエンジニアや開発者がシステムのアーキテクチャを視覚化し、攻撃に対して脆弱な箇所を特定するための構造化されたフレームワークです。STRIDEPASTAのような手法を用いて、データ漏えい、不正アクセス、サービス停止などの脅威を体系的に洗い出します。基礎としてデータフロー図 (DFD)を用いることで、これらのテンプレートは"Security by Design"を単なる流行語ではなく現実のものにします。

"攻撃者"監査: 隠れた欠陥を見つける 3 つの方法

脅威モデリングは、攻撃者の視点で考えられてこそ効果を発揮します。Miro や Excel のシートでモデルを確定する前に、次の専門家による 3 つの"健全性チェック"を実施してください:

1.「信頼境界」監査

監査:図は「公開」と「内部」データの間に明確な境界線がなく、ひとつの大きなクラウドになっていませんか? 対処:セグメンテーションを確認してください。プロの脅威モデルは必ず信頼境界を定義する必要があります。データが信頼できないソース(例:ユーザーのブラウザー)から信頼されたもの(例:データベース)へ移動するあらゆる点が高リスクの侵入口です。テンプレートがこれらの「横断点」を強調していなければ、攻撃の約90%が発生する箇所を見落としています。

2.「STRIDE」分類テスト

監査:脅威が曖昧になっていませんか(例:「誰かが私たちをハッキングするかもしれない」)? 対処:分類を確認してください。すべての潜在的な脅威を分類するために、STRIDEフレームワークを使用しましょう:

  • S なりすまし: 正当なユーザーを装われる可能性はありますか?

  • T 改ざん: 送信中または保存中のデータが改ざんされる可能性はありますか?

  • R 否認: ユーザーが行為を行ったことを否認できる可能性はありますか?

  • I 情報漏洩: 機密データが流出する可能性はありますか?

  • D サービス拒否: システムが停止する可能性はありますか?

  • E 権限昇格: 一般ユーザーが管理者になる可能性はありますか?

3. "Mitigation" の説明責任

監査: 脅威モデルは解決策のない「恐怖のリスト」になっていませんか? 対処:是正措置を監査してください。 テンプレートで特定された各脅威は、特定のセキュリティ コントロールと関連付ける必要があります。 「改ざん(Tampering)」リスクを特定した場合、対策として「デジタル署名」や「TLS 1.3」が考えられます。 脅威モデルは「生きたドキュメント」です。リスクが受け入れられる、緩和される、または移転されるまで完了しません。

戦略的フレームワーク:どの脅威モデルが必要ですか?

チームの技術レベルに合った手法を選択してください:

  • STRIDE (開発者向け):

    • 向いているのは: ソフトウェアアーキテクチャの欠陥を、再現性のある論理的な方法で見つけたいエンジニアリングチーム向けです。

  • PASTA (リスク重視型):

    • 向いているのは: ビジネス目標に整合したセキュリティー向けです。PASTA は 攻撃シミュレーションと脅威分析のプロセス(Process for Attack Simulation and Threat Analysis)の略で、ビジネス目標とセキュリティーの整合に重点を置きます。

  • V.A.S.T. (アジャイル重視型):

    • 向いているのは: 大規模なエンタープライズの DevOps 向けです。自動化と脅威モデリングを CI/CD パイプラインに組み込むことに重点を置きます。

脅威モデリング テンプレートの主要コンポーネント

高性能な脅威モデリング ボードには、次の5つのコア要素が必要です:

  • システムアーキテクチャ / DFD: プロセス、データストア、インタラクター(ユーザー)、およびデータフローを視覚化したマップ。

  • アセット インベントリ: 保護対象の「最重要資産」の一覧(例:PII、クレジットカード情報、管理者の認証情報)。

  • 脅威トレーサビリティ マトリックス: それぞれの脅威影響発生確率、およびリスクスコアを結びつける表。

  • アタックツリー: 特定の目標に到達するために攻撃者がたどる可能性のある経路を示す分岐図。

  • 検証チェックリスト: 緩和策が実際にコードに実装されていることを確認する最終セクション。