ステップ 2 - 分解
分解フェーズは、データフロー ダイアグラムを使用して、システムに対する潜在的な脅威を検出するフェーズです。 このプロセスでは、最も一般的な脅威と、それらから保護する方法を見つけやすくするために、脅威モデリング フレームワークを使用します。
目標
- "システムの保護" に重点を置くアプローチと "攻撃者の把握" に重点を置くアプローチのどちらかを選択する
- STRIDE フレームワークを使用して一般的な脅威を特定する
重要
このフェーズを完了しないと、システム内の潜在的な脅威が検出されず、将来的に侵害を受ける可能性があります。
アプローチを絞る
まず、システムを保護する方法を見つけるか、または攻撃者とその動機についてできる限り理解するかを選択します。 以下に例を示します。
対象 | 検出可能な問題の例 |
---|---|
システム | ユーザーとシステムとの間の暗号化されていない接続に問題があることを検出します。 |
攻撃者 | システムのエントリ ポイントを強化する手段、動機、方法について詳細に把握します。 |
資産 | 分類されたデータの処理などに基づいて重要な資産を識別し、主にこれらの資産の保護に重点を置きます。 |
Note
Microsoft の製品エンジニアは、主にシステムの保護に重点を置いています。 侵入テスト チームは両方に重点を置いています。
脅威フレームワークを選択する
次に、システムで潜在的な脅威を生成するためのフレームワークを選択します。 Microsoft は従来 STRIDE を使用しています。これは、6 つの主要な脅威カテゴリの頭字語であり、すべては網羅しないにせよ、広範囲にわたる脅威のリストを提供するものです。
フレームワークを使用すると、システムに関していくつかの重要な質問を行うことができます。
脅威 | 定義 | 質問 | 脅威の例 |
---|---|---|---|
なりすまし | 攻撃者が他のだれか、または他の何かになりすます | 通信の両側が認証されていますか? | 正当に見えるアカウントから悪意のあるリンクや添付ファイル付きの電子メールをユーザーに送信して、ユーザーの資格情報、データ、デバイス アクセス権を取得する |
改ざん | 攻撃者が承認なくデータを変更する | 転送中、使用中、または保存中のデータをユーザーが変更できないことを知るにはどうすればよいですか? | 脆弱な API 呼び出し処理を介してメモリを変更し、クラッシュや、機密のエラー メッセージの漏洩を発生させる |
否認 | 攻撃者が、何かを実行していないことを主張する | すべてのアクションを ID に関連付けることはできますか? | データベース レコードを削除していないことを主張する |
情報漏えい | 攻撃者が見るべきでないデータを見る | 転送中、使用中、または保存中のデータをユーザーが確認できないことを知るにはどうすればよいですか? | 承認されていない、脆弱なセキュリティ制御のドキュメントやフォルダーにアクセスする |
サービス拒否 | 攻撃者がシステムをダウンさせる | システム内でリソースが制限されている領域はありますか? | ネットワークを要求であふれさせる |
特権の昇格 | 攻撃者がデータに未承認でアクセスする | ユーザーがこのアクションを許可されていることを知るにはどうすればよいですか? | 入力処理ロジックまたはメモリの脆弱性を悪用してデータを抽出する |