stride-threat-modeling について
stride-threat-modelingは、システムの脅威を構造的に検討するワークショップ形式のスキルです。セキュリティチーム向けに、図示からSTRIDE分析、リスク評価、対策の追跡、検証までを導きます。
主な機能
- 01信頼境界を含むシステム図
- 02要素ごとのSTRIDE分類確認
- 03影響度と可能性によるリスク評価
- 04対策とバックログ項目の関連付け
- 05アーキテクチャ変更とインシデントの振り返り
活用シーン
- 01セキュリティワークショップでのシステム分析
- 02システム要素間の脅威の優先順位付け
- 03受容したリスクの作業項目化
- 04アーキテクチャ変更後のモデル更新
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ securityskills/ skills --skill stride-threat-modelingインストール後、Claude Code で/stride-threat-modelingを入力して読み込まれたか確認します。
詳細
STRIDE 脅威モデリング
構造化されたワークショップ形式で、システムの脅威モデルを作成します。
1. システムをモデル化する
図を描きます。プロセス、データストア、データフロー、外部アクター、信頼境界(権限やコンテキストが変わる箇所に破線を引きます)。
- すべての要素に番号を付け、プロセス/データストアには使用技術を記載します
- 見落としがちな部分も含めます。認証フロー、非同期ジョブ、管理ツール、バックアップなど
2. STRIDE で列挙する
各要素に、該当するカテゴリを適用します。
| カテゴリ | 対象 | 問い |
|---|---|---|
| Sなりすまし | プロセス、アクター | 誰かがこれになりすませますか?(認証) |
| T改ざん | フロー、データストア | 転送中または保存中のデータを変更できますか?(完全性) |
| R否認 | プロセス | 操作を否認できますか?(ログ/監査) |
| I情報漏えい | フロー、データストア | 権限のない相手にデータが漏れる可能性はありますか?(機密性) |
| Dサービス拒否 | プロセス、フロー | リソースを枯渇させたり、クラッシュさせたりできますか?(可用性) |
| E権限昇格 | プロセス | 権限を獲得できますか?(認可) |
体系的に進めます。要素 × カテゴリのグリッドを使い、見落としがないようにします。
3. ランク付けする
各脅威を、影響度(現実的に起こり得る最悪の結果)×可能性(攻撃の複雑さ、露出度)で評価します。優先順位は、未認証のリモート攻撃 > 認証済みのリモート攻撃 > ローカル攻撃 > 物理攻撃とします。
4. 軽減する
受け入れた各脅威について、対策を選びます。低減(コントロール)、移転、受容(責任者を明記して文書化)、または回避(設計変更)です。対策を、受け入れ条件付きの具体的なバックログチケットに紐付けます。
5. 検証する
- アーキテクチャが変更されたときにモデルを見直します(新しい外部依存関係、新しい信頼境界、新しいデータ分類をきっかけとします)
- 振り返り:本番環境で見つかったインシデントと、以前にモデル化した脅威を照合し、見落としを手法に反映します
成果物
信頼境界を示したシステム図、要素 × STRIDE 脅威グリッド、ランク付けされたリスク一覧、追跡可能なチケットとして管理する軽減策。
コメント
Markdown 対応