Saltar al contenido principal

Modelado de amenazas - Identificar riesgos por diseño

Lectura de 2 min aprox.

脅威モデリングとは、システムやアプリケーションに対する潜在的な脅威を設計段階で 体系的に洗い出し、優先順位を付けて対策を講じるセキュリティ設計手法です。 「何を守るのか」「誰が攻撃するのか」「どこが弱いのか」を構造的に分析することで、 開発の後工程で発覚するセキュリティ欠陥を大幅に削減できます。脆弱性が 本番環境で発見されてから修正するコストは、設計段階の 30〜100 倍とされており、 脅威モデリングは費用対効果の高い予防策です。

歴史的背景

脅威モデリングの概念は 1990 年代後半に Microsoft が社内のセキュリティ開発 プロセス (SDL: Security Development Lifecycle) の一環として体系化したことに 始まります。 2002 年の「Trustworthy Computing」宣言以降、 Microsoft は Windows や Office の開発に脅威モデリングを必須工程として組み込み、その成果を STRIDE モデルとして公開しました。以降、 OWASP や NIST もそれぞれの フレームワークに脅威モデリングを取り入れ、業界標準の設計手法として定着しています。

STRIDE モデル

STRIDE は Microsoft が開発した脅威分類フレームワークで、 6 種類の脅威カテゴリの 頭文字を取ったものです。

S - Spoofing

なりすまし。他者の ID で認証を突破する。

T - Tampering

改ざん。データや通信内容を不正に変更する。

R - Repudiation

否認。行為の証拠を消し、実行を否定する。

I - Info Disclosure

情報漏洩。権限のないデータへのアクセス。

D - Denial of Service

サービス拒否。システムを利用不能にする。

E - Elevation of Privilege

権限昇格。より高い権限を不正に取得する。

DREAD スコアリング

STRIDE で脅威を分類した後、各脅威の深刻度を定量的に評価するのが DREAD です。 Damage (被害の大きさ)、 Reproducibility (再現性)、 Exploitability (攻撃の容易さ)、 Affected Users (影響を受けるユーザー数)、 Discoverability (発見の容易さ) の 5 項目をそれぞれ 1〜10 で採点し、合計スコアで優先順位を決定します。ただし、 DREAD は主観的な評価に偏りやすいという批判もあり、 Microsoft 自身も現在は CVSS (Common Vulnerability Scoring System) との併用を推奨しています。

PASTA フレームワーク

PASTA (Process for Attack Simulation and Threat Analysis) は、ビジネスリスクと 技術的脅威を統合的に分析する 7 段階のフレームワークです。ビジネス目標の定義から 始まり、技術スコープの特定、アプリケーション分解、脅威分析、脆弱性分析、 攻撃シミュレーション、リスク・影響分析へと進みます。 STRIDE が技術者向けの 分類ツールであるのに対し、 PASTA は経営層とエンジニアの共通言語として 機能する点が特徴です。

データフロー図と信頼境界

ユーザー (外部)
🔒 信頼境界
Web サーバー
🔒 信頼境界
データベース

信頼境界を越えるデータフローが脅威分析の重点ポイントになる

脅威モデリングの核となるのがデータフロー図 (DFD) です。システム内のデータの 流れを可視化し、信頼境界 (Trust Boundary) を明示します。信頼境界とは、 セキュリティレベルが異なる領域の境目のことで、インターネットと社内ネットワークの 境界、アプリケーション層とデータベース層の境界などが該当します。攻撃対象領域は この信頼境界上に集中するため、境界を越えるすべてのデータフローに対して STRIDE の各脅威を検討します。

開発ライフサイクルへの組み込み

脅威モデリングは設計フェーズだけの作業ではありません。アジャイル開発では スプリントごとに新機能の脅威を評価し、既存の脅威モデルを更新します。 CI/CD パイプラインに SAST (静的解析) や DAST (動的解析) を組み込み、 脅威モデルで特定したリスクが実装レベルで対処されているかを自動検証する アプローチも広がっています。多層防御の 設計を脅威モデリングの段階で計画し、レッドチーム演習で その有効性を検証するサイクルが理想的です。

現場での使用例

「新しい決済機能の設計レビューで STRIDE 分析を実施したところ、 API の認可チェックに 権限昇格の脅威が見つかりました。設計段階で修正できたため、実装後に発覚した場合の 推定修正コスト 400 万円を回避できました。今では全機能の設計に脅威モデリングを 必須としています。」

組織のセキュリティ体制構築はスタートアップのセキュリティチェックリストで、 パスワードポリシーの設計は企業パスワードポリシーの記事で、 ランサムウェア対策はランサムウェア対策の記事で 詳しく解説しています。脅威モデリングの専門書 (Amazon)も設計プロセスの改善に役立ちます。

Términos relacionados

¿Te resultó útil este artículo?

XHatena