脅威モデリング

Reading time: 9 minutes

脅威モデリング

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のスタックで開発している人に適しています。