脅威モデリング分析とは?システムの脅威を体系的に特定・評価する手法
脅威モデリング分析は、システムやアプリケーションに対する脅威を設計段階で体系的に特定・評価し、対策の優先順位を決定する手法です。STRIDEモデル、DFD、リスク評価の実践方法を解説します。
脅威モデリング分析とは
脅威モデリングの代表的なフレームワークであるSTRIDEは、1999年にMicrosoftのLoren Kohnfelder とPreit Gargが提唱しました。その後、MicrosoftがSDL(Security Development Lifecycle)の中核プロセスとして採用し、2004年のFrank Swiderski著「Threat Modeling」で体系的に文書化されました。OWASP(Open Web Application Security Project)もThreat Modeling Manifestoを公開し、業界標準として普及しています。
脅威モデリング分析とは、システムやアプリケーションに対する潜在的な脅威を、設計段階で体系的に特定、分類、評価する手法です。英語では Threat Modeling と呼ばれます。
セキュリティ対策を開発完了後に後付けで行うと、修正コストが大幅に増加します。脅威モデリングは「シフトレフト」の考え方に基づき、設計段階でセキュリティリスクを洗い出すことで、効率的かつ効果的な対策を実現します。
構成要素
STRIDEモデル
STRIDEは、脅威を6つのカテゴリに分類するフレームワークです。
| カテゴリ | 脅威の内容 | 対策の方向性 |
|---|---|---|
| Spoofing(なりすまし) | 他者のIDを詐称する | 認証の強化 |
| Tampering(改ざん) | データやコードを不正に変更する | 完全性の保護 |
| Repudiation(否認) | 行為の否定を可能にする | 監査ログの整備 |
| Information Disclosure(情報漏洩) | 権限のない情報へのアクセス | 暗号化、アクセス制御 |
| Denial of Service(サービス拒否) | サービスの可用性を妨害する | 可用性の確保 |
| Elevation of Privilege(権限昇格) | 不正に高い権限を取得する | 認可の厳格化 |
データフロー図(DFD)
システムのデータの流れを可視化する図です。プロセス、データストア、外部エンティティ、データフローの4要素で構成し、信頼境界(Trust Boundary)を明示します。信頼境界を越えるデータフローが、脅威の発生しやすいポイントです。
リスク評価と優先順位づけ
特定した脅威に対し、DREAD(Damage、Reproducibility、Exploitability、Affected Users、Discoverability)などの基準でリスクをスコアリングし、対策の優先順位を決定します。
実践的な使い方
ステップ1: 対象システムをモデル化する
DFDを作成し、システムの構成要素とデータの流れを可視化します。外部エンティティ(ユーザー、外部API)、プロセス、データストアを明確にし、信頼境界を設定します。
ステップ2: STRIDEで脅威を列挙する
DFD上の各要素と信頼境界をまたぐデータフローに対し、STRIDEの6カテゴリで脅威を網羅的に列挙します。「このデータフローで、なりすましは可能か?」のように、各カテゴリを体系的に確認します。
ステップ3: リスクを評価し優先順位を決める
各脅威のリスクを、発生可能性と影響度で評価します。DREADスコアリングや、組織独自のリスク基準を用いて定量化し、対策の優先順位を決定します。
ステップ4: 対策を設計しドキュメント化する
優先度の高い脅威から対策(緩和策、移転、受容)を設計します。脅威モデルの文書は、開発チームのセキュリティ設計ガイドとして継続的に更新します。
活用場面
- 新規システム開発の設計レビュー
- クラウドアーキテクチャのセキュリティ評価
- APIの設計段階でのセキュリティ分析
- マイクロサービス間の通信セキュリティの検証
- IoTシステムの攻撃面分析
注意点
完全性を追求しすぎない
すべての脅威を網羅しようとすると、分析が膨大になり、プロジェクトの進行を妨げます。最もリスクの高い領域(信頼境界をまたぐデータフロー、外部公開インターフェース)に集中し、段階的に対象を広げるアプローチが実用的です。
脅威モデルを一度きりの成果物にしない
脅威モデルはシステムの変更に伴い陳腐化します。新機能の追加、アーキテクチャの変更、新たな攻撃手法の出現に応じて定期的に更新するプロセスを確立してください。CI/CDパイプラインに脅威モデルのレビューを組み込む実践も増えています。
まとめ
脅威モデリング分析は、STRIDEフレームワークとDFDを使ってシステムの脅威を設計段階で体系的に特定・評価する手法です。セキュリティ対策を「シフトレフト」で設計に組み込み、リスクの優先順位に基づいた効率的な対策を実現することで、開発コストの削減とセキュリティ品質の向上を両立できます。