セキュリティフレームワーク・モデル

STRIDE すとらいど

脅威モデリングセキュリティ設計なりすまし情報漏洩サービス拒否権限昇格
STRIDEについて教えて

簡単に言うとこんな感じ!

システムへの攻撃パターンを6種類に整理した「脅威チェックリスト」だよ!設計段階で「どんな悪いことが起きそう?」を漏れなく洗い出すための枠組みで、各頭文字を並べると「STRIDE」になるんだ!


STRIDEとは

STRIDEとは、ソフトウェアやシステムに潜むセキュリティ上の脅威を6つのカテゴリに分類したフレームワークです。1999年にMicrosoft社のセキュリティ研究者であるLoren KohnfeldとShane Cのチームが考案し、脅威モデリング(Threat Modeling)の代表的な手法として広く普及しています。

脅威モデリングとは、システムを設計する段階で「どんな攻撃が来るか」を先読みして対策を盛り込む活動のことです。家を建てるときに「泥棒が入りやすい窓はどこか」を設計図の段階で確認するようなイメージで、後から鍵を取り付けるより安くて確実な対策が打てます。STRIDEはその際に「見落としがないか」をチェックするための6つの引き出しを提供してくれます。

ビジネスの現場では、新しいシステムを発注・設計する際にベンダーや開発チームが「STRIDEで脅威を洗い出しました」という形で報告書を提出することがあります。発注側の担当者として、6つのカテゴリの意味を知っておくと、報告書の妥当性を判断しやすくなります。


STRIDEの6つの脅威カテゴリ

STRIDEの名前は、6つの脅威の頭文字を組み合わせたものです。

頭文字英語日本語攻撃例
SSpoofingなりすまし他人のIDでログイン、送信元IPの偽装
TTampering改ざんデータベースの書き換え、通信パケットの書き換え
RRepudiation否認「そんな操作はしていない」と言い逃れる行為
IInformation Disclosure情報漏洩個人情報・機密ファイルへの不正アクセス
DDenial of Serviceサービス拒否大量リクエストでサーバーをダウンさせる(DoS攻撃
EElevation of Privilege権限昇格一般ユーザーが管理者権限を不正に取得する

覚え方・語呂合わせ

「すた・り・いで」(S・T・R・I・D・E)で覚えるのがおすすめです。

S → 素性(すじょう)を偽る → なりすまし(Spoofing)
T → データを手直し → 改ざん(Tampering)
R → 「やってない」と言い張る → 否認(Repudiation)
I → 情報がダダ漏れ → 情報漏洩(Information Disclosure)
D → ダウンさせる → サービス拒否(Denial of Service)
E → えらい権限を奪う → 権限昇格(Elevation of Privilege)

各脅威に対応するセキュリティ特性

それぞれの脅威は、情報セキュリティの基本原則と対になっています。

STRIDE脅威守るべきセキュリティ特性主な対策例
Spoofing(なりすまし)認証(Authentication)多要素認証・デジタル証明書
Tampering(改ざん)完全性(Integrity)デジタル署名・チェックサム
Repudiation(否認)否認防止(Non-repudiation)監査ログ・タイムスタンプ
Information Disclosure(情報漏洩)機密性(Confidentiality)暗号化・アクセス制御
Denial of Service(サービス拒否)可用性(Availability)レート制限・冗長構成
Elevation of Privilege(権限昇格)認可(Authorization)最小権限原則・ロール管理

歴史と背景

  • 1999年 — Microsoftのエンジニア Loren Kohnfeld と Praerit Garg が社内の脅威モデリング手法としてSTRIDEを考案
  • 2002年 — MicrosoftがセキュリティSDL(Security Development Lifecycle)を策定し、STRIDEを開発プロセスの標準ツールとして組み込む
  • 2006年 — Frank SwiederskiとWindow Snyder著『Threat Modeling』が出版され、STRIDEが広く業界に知られるようになる
  • 2009年頃〜 — OWASPなどのセキュリティコミュニティがSTRIDEをWebアプリケーション設計のチェック手法として推奨し始める
  • 2014年 — MicrosoftがSTRIDEを活用した脅威モデリングツール「Microsoft Threat Modeling Tool」を公開(無料)
  • 2020年代〜クラウドネイティブDevSecOpsの普及とともに、CI/CDパイプラインへのSTRIDEベースの脅威モデリング統合が進む

脅威モデリングの進め方とSTRIDEの使い方

STRIDEは単体で使うより、システムのデータフロー図(DFD: Data Flow Diagram)と組み合わせて使うことで効果を発揮します。

脅威モデリングの4ステップ

Step 1: システムを図に描く
  └─ データがどこを流れるか、信頼境界はどこかをDFDで整理

Step 2: STRIDEで脅威を列挙する
  └─ DFDの各要素(プロセス・データストア・データフロー)に対して
     S/T/R/I/D/E それぞれが起きないか問いかける

Step 3: リスクを評価する
  └─ 発生確率 × 影響度でリスクの高低を判断(DREADなどの手法を使う)

Step 4: 対策を設計する
  └─ 各脅威に対応するセキュリティコントロールを盛り込む

STRIDEと他の脅威モデリング手法の比較

主な脅威モデリング手法の比較 手法名 Framework 考案者・出所 Origin 特徴 Feature 向いているシーン Best for STRIDE 本エントリで解説 Microsoft(1999) 6分類で網羅的に 脅威を列挙できる 設計初期の脅威洗い出し エンタープライズ全般 PASTA リスク重視型 Tony UcedaVelez(2012) ビジネスリスクと 技術を橋渡し 経営層への説明・ リスクベース管理 LINDDUN プライバシー特化 KU Leuven(2010年代) プライバシー侵害を 7分類で整理 個人情報を扱う システム・GDPR対応 ATTACK TREE 攻撃シナリオ分析 Bruce Schneier(1999) 攻撃経路をツリーで 視覚化・深掘り 特定攻撃の詳細分析 ペネトレーションテスト

DFDとSTRIDEの組み合わせ方

DFD(データフロー図)上の各要素に、STRIDEの脅威が適用できるかを確認します。

DFD要素意味適用できる脅威
プロセス(処理)アプリ・サービスが動く部分S / T / R / I / D / E(全部)
データストア(保管)DBやファイルが置かれる場所T / R / I / D
データフロー(通信)データが移動する経路T / I / D
外部エンティティ(外部接続)ユーザー・外部システムS / R

実務での活用シーン

発注担当者として、以下の場面でSTRIDEを意識することが重要です。

システム発注時のRFP(提案依頼書)に盛り込める一言:

「設計フェーズにてSTRIDEフレームワークを用いた脅威モデリングを実施し、その結果を設計書に添付してください」

ベンダーへの確認ポイント:

  • STRIDEの6カテゴリそれぞれに対する脅威が列挙されているか
  • 列挙された脅威に対して具体的な対策が設計に盛り込まれているか
  • 特に「否認(Repudiation)」への対策として監査ログが設計されているか

関連する規格・RFC

規格・文書内容
NIST SP 800-154データ中心型脅威モデリングガイド(STRIDEを含む手法を参照)
NIST SP 800-30リスクアセスメントのガイドライン(脅威モデリングの上位フレームワーク)

関連用語