【きょういもでりんぐ】

脅威モデリング とは?

💡 泥棒の気持ちになって、自分の家の弱点を先に見つけておく作戦
📌 このページのポイント
STRIDE 脅威モデル S - Spoofing なりすまし T - Tampering 改ざん R - Repudiation 否認 I - Info Disclosure 情報漏えい D - Denial of Service サービス妨害 E - Elev. of Privilege 権限昇格 データフロー図 (DFD作成) STRIDE分析 (脅威の洗い出し) 対策の策定 (リスク軽減)
STRIDEモデルの6つの脅威カテゴリと分析フロー
ひよこ ひよこ

脅威モデリングって、何が怖いか想像するってこと?

ペンギン先生 ペンギン先生

そうそう、近いイメージだよ!自分のシステムを攻撃者の目線で見て「ここから侵入できそう」「このデータが盗まれそう」って弱点を先に見つけておく手法なんだ。

ひよこ ひよこ

STRIDEっていうのをよく聞くけど、何なの?

ペンギン先生 ペンギン先生

STRIDEはMicrosoftが考えた脅威の分類方法だよ。Spoofing(なりすまし)、Tampering(改ざん)、Repudiation(否認)、Information Disclosure(情報漏えい)、Denial of Service(サービス妨害)、Elevation of Privilege(権限昇格)の頭文字を取ったものなんだ。

ひよこ ひよこ

6つもあると覚えるの大変だね…。全部チェックするの?

ペンギン先生 ペンギン先生

そこがSTRIDEの良いところで、チェックリストのように使えるんだ。「この機能になりすましの脅威は?」「改ざんの可能性は?」と順番に考えていくと、抜け漏れなく脅威を洗い出せるよ。

ひよこ ひよこ

いつやるのがベストなの?

ペンギン先生 ペンギン先生

設計段階がベストだよ。コードを書いた後に「ここ危ない」と気づくと修正コストが何倍にもなるけど、設計図の段階なら変更も軽い。データフロー図を描いて、データが信頼境界をまたぐポイントを重点的に分析するのが王道のやり方だね。

ひよこ ひよこ

STRIDE以外にも脅威モデリングの手法ってあるの?

ペンギン先生 ペンギン先生

あるよ!攻撃者の視点で攻撃ツリーを描くATTACK Tree、カードゲーム形式で脅威を議論するEoP(Elevation of Privilege Game)、LINDDUNというプライバシー特化のモデルもある。プロジェクトの特性に合わせて使い分けるのが実務では大事だね。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「脅威モデリング」って出てきたら「システムの弱点を攻撃者目線で先回りして見つける手法」と思えればだいたいOK!
📖 おまけ:英語の意味
「Threat Modeling」 = 脅威のモデル化
💬 threat(脅威)をmodeling(モデル化)して可視化・分析するという意味で、もともとMicrosoftが自社製品のセキュリティ強化のために体系化した手法なんだよ
← 用語集にもどる