脅威モデリング
システムに対する潜在的な脅威を体系的に特定・評価し、対策を設計するセキュリティ手法
セキュリティ設計
脅威モデリングとは
脅威モデリング (Threat Modeling) は、システムに対する潜在的な脅威を体系的に特定・評価し、設計段階で対策を組み込むセキュリティ手法である。「何を守るか」「誰が攻撃するか」「どう攻撃されるか」「どう防ぐか」を構造的に分析する。
STRIDE モデル
Microsoft が開発した脅威の分類フレームワーク。
| 脅威 | 説明 | 対策例 |
|---|---|---|
| Spoofing (なりすまし) | 他人になりすます | 認証 (Cognito, MFA) |
| Tampering (改ざん) | データを不正に変更 | 整合性チェック (署名, ハッシュ) |
| Repudiation (否認) | 行為を否定する | 監査ログ (CloudTrail) |
| Information Disclosure (情報漏洩) | 機密データの流出 | 暗号化 (KMS, TLS) |
| Denial of Service (サービス拒否) | サービスを利用不能にする | WAF, レート制限 |
| Elevation of Privilege (権限昇格) | 権限を不正に取得 | 最小権限 (IAM) |
脅威モデリングの手順
1. システムの図を描く (データフロー図)
2. 脅威を特定する (STRIDE で分類)
3. リスクを評価する (影響度 × 発生確率)
4. 対策を設計する
5. 対策を検証する
データフロー図の例
[ブラウザ] → HTTPS → [CloudFront] → [API Gateway] → [Lambda] → [DynamoDB]
↓
[Cognito] (認証)
信頼境界:
├── 外部 (ブラウザ) ← 信頼しない
└── 内部 (Lambda, DynamoDB) ← 信頼する
AWS での脅威と対策
| 脅威 | 攻撃例 | AWS での対策 |
|---|---|---|
| なりすまし | 盗まれたトークンで API 呼び出し | Cognito + MFA |
| 改ざん | API リクエストの改ざん | API Gateway のリクエスト検証 |
| 情報漏洩 | S3 バケットの公開設定ミス | S3 Block Public Access |
| DoS | 大量リクエスト | WAF + API Gateway スロットリング |
| 権限昇格 | Lambda の過剰な IAM 権限 | 最小権限ポリシー |
OWASP Top 10 との関係
OWASP Top 10 は Web アプリケーションの脅威ランキングで、脅威モデリングの入力として使える。
| OWASP | STRIDE |
|---|---|
| インジェクション | Tampering |
| 認証の不備 | Spoofing |
| アクセス制御の不備 | Elevation of Privilege |
| 暗号化の不備 | Information Disclosure |
いつ実施するか
- 新しいシステムの設計時 (最も効果的)
- 大きな機能追加時
- セキュリティインシデント後の振り返り
より深く学ぶには関連書籍が役立つ。