hacktricks/generic-methodologies-and-resources/threat-modeling.md

9.1 KiB
Raw Blame History

脅威モデリング

脅威モデリング

HackTricksの脅威モデリングに関する包括的なガイドへようこそサイバーセキュリティのこの重要な側面を探求し、システム内の潜在的な脆弱性を特定、理解、戦略を立てます。このスレッドは、実際の例、役立つソフトウェア、わかりやすい説明が詰まったステップバイステップのガイドとして機能します。初心者から経験豊富な実践者まで、サイバーセキュリティの防御を強化したい方に最適です。

一般的に使用されるシナリオ

  1. ソフトウェア開発: セキュアソフトウェア開発ライフサイクルSSDLCの一環として、脅威モデリングは開発の初期段階で潜在的な脆弱性の源を特定するのに役立ちます。
  2. ペネトレーションテスト: ペネトレーションテスト実行標準PTESフレームワークは、テストを実施する前にシステムの脆弱性を理解するための脅威モデリングを要求します

脅威モデルの概要

脅威モデルは通常、アプリケーションの計画されたアーキテクチャまたは既存の構築を示す図、画像、または他の形式の視覚的なイラストレーションとして表現されます。これはデータフローダイアグラムに似ていますが、重要な違いはそのセキュリティ指向の設計にあります。

脅威モデルには、潜在的な脆弱性、リスク、または障壁を象徴する赤でマークされた要素がしばしば含まれています。リスクの特定プロセスを簡素化するために、CIA機密性、完全性、可用性トライアドが使用され、多くの脅威モデリング手法の基礎を形成しています。STRIDEは最も一般的なものの一つです。ただし、選択された手法は特定の文脈や要件に応じて異なる場合があります。

CIAトライアド

CIAトライアドは、情報セキュリティの分野で広く認識されているモデルで、機密性、完全性、可用性を表します。この3つの柱は、多くのセキュリティ対策やポリシーの基盤を形成し、脅威モデリング手法も含まれます。

  1. 機密性: データやシステムが不正な個人によってアクセスされないことを保証します。これはセキュリティの中心的な側面であり、データ侵害を防ぐために適切なアクセス制御、暗号化、その他の対策が必要です。
  2. 完全性: データのライフサイクルにわたる正確性、一貫性、信頼性。これは、データが不正な当事者によって変更または改ざんされないことを保証します。通常、チェックサム、ハッシュ、その他のデータ検証方法が含まれます。
  3. 可用性: データとサービスが必要なときに正当なユーザーにアクセス可能であることを保証します。これは、冗長性、フォールトトレランス、高可用性の構成を含むことが多く、システムが中断に直面しても稼働し続けることを目的としています。

脅威モデリング手法

  1. STRIDE: Microsoftによって開発されたSTRIDEは、なりすまし、改ざん、否認、情報漏洩、サービス拒否、特権昇格の頭字語です。各カテゴリは脅威のタイプを表し、この手法はプログラムやシステムの設計段階で潜在的な脅威を特定するために一般的に使用されます。
  2. DREAD: これは、特定された脅威のリスク評価に使用されるMicrosoftの別の手法です。DREADは、損害の可能性、再現性、悪用可能性、影響を受けるユーザー、発見可能性の頭字語です。これらの要素はそれぞれスコア付けされ、その結果を使用して特定された脅威の優先順位を決定します。
  3. PASTA(攻撃シミュレーションと脅威分析のプロセス): これは7ステップのリスク中心の手法です。セキュリティ目標の定義と特定、技術的範囲の作成、アプリケーションの分解、脅威分析、脆弱性分析、リスク/トリアージ評価が含まれます。
  4. Trike: これは資産を防御することに焦点を当てたリスクベースの手法です。リスク管理の視点から始まり、その文脈で脅威と脆弱性を見ます。
  5. VAST(視覚的、アジャイル、シンプルな脅威モデリング): このアプローチは、よりアクセスしやすく、アジャイル開発環境に統合されることを目指しています。他の手法の要素を組み合わせ、脅威の視覚的表現に焦点を当てています。
  6. OCTAVE(運用上重要な脅威、資産、脆弱性評価): CERTコーディネーションセンターによって開発されたこのフレームワークは、特定のシステムやソフトウェアではなく、組織のリスク評価を目的としています。

ツール

脅威モデルの作成と管理を支援するために利用できるツールやソフトウェアソリューションがいくつかあります。以下は、検討する価値のあるいくつかのツールです。

SpiderSuite

サイバーセキュリティ専門家向けの高度なクロスプラットフォームおよび多機能GUIウェブスパイダー/クローラー。Spider Suiteは攻撃面のマッピングと分析に使用できます。

使用法

  1. URLを選択し、クロール
  1. グラフを表示

OWASP Threat Dragon

OWASPのオープンソースプロジェクトであるThreat Dragonは、システムダイアグラム作成と脅威/緩和策を自動生成するルールエンジンを含むウェブおよびデスクトップアプリケーションです。

使用法

  1. 新しいプロジェクトを作成

時にはこのように見えることもあります:

  1. 新しいプロジェクトを開始
  1. 新しいプロジェクトを保存
  1. モデルを作成

SpiderSuite Crawlerのようなツールを使用してインスピレーションを得ることができます。基本的なモデルは次のようになります。

エンティティについての簡単な説明:

  • プロセスWebサーバーやウェブ機能などのエンティティ自体
  • アクター(ウェブサイト訪問者、ユーザー、管理者などの人)
  • データフローライン(相互作用の指標)
  • 信頼境界(異なるネットワークセグメントやスコープ)
  • ストア(データが保存される場所、例えばデータベース)
  1. 脅威を作成ステップ1

脅威を追加したいレイヤーを選択する必要があります。

脅威を作成できます。

アクターモデルの脅威とプロセスモデルの脅威には違いがあることに注意してください。アクターに脅威を追加する場合、「なりすまし」と「否認」しか選択できません。しかし、私たちの例ではプロセスエンティティに脅威を追加するので、脅威作成ボックスには次のように表示されます:

  1. 完了

完成したモデルは次のようになります。これがOWASP Threat Dragonを使用してシンプルな脅威モデルを作成する方法です。

Microsoft Threat Modeling Tool

これはMicrosoftからの無料ツールで、ソフトウェアプロジェクトの設計段階で脅威を見つけるのに役立ちます。STRIDE手法を使用しており、特にMicrosoftのスタックで開発している人に適しています。