Slide 1

Slide 1 text

Threat Thinker 2025.11.19@CyberTAMAGO サイボウズ株式会社 湯浅 潤樹 1

Slide 2

Slide 2 text

Threat Thinker ©️ Cybozu, Inc. 2 • 湯浅 潤樹(Junki Yuasa) • X: melonattacker • サイボウズ株式会社 PSIRT • 主な業務は脆弱性診断、脅威分析など • 趣味は釣り、ランニング、銭湯 • SECCON Beginners運営メンバー • 徳島県に住んでいます 自己紹介 ハゼが好きです

Slide 3

Slide 3 text

Threat Thinker ©️ Cybozu, Inc. • STRIDEなどのフレームワークを利用 • S: Spoofing • T: Tampering • R: Repudiation • I: Information disclosure • D: Denial of Service • E: Elevation of Priviledge • 参考資料1, 2 システムの設計段階で脅威を洗い出し、必要に応じて対策を実施 [1] https://www.threatmodelingmanifesto.org/ [2] https://speakerdeck.com/takuyay0ne/sekiyuriteihaquan-yuan-can-jia- jawsnoihentosaitotexie-wei-moterinkuwoxue-ntemiyou [3] https://blog.cybozu.io/entry/2025/10/08/110000 成果物のイメージ3 3 脅威モデリング

Slide 4

Slide 4 text

Threat Thinker ©️ Cybozu, Inc. 人的リソースの不足により、全てのシステムに対しては実施不可能 4 脅威モデリングの理想と現実① 理想 / Ideal 現実 / Real 製品A 製品B 製品C Nothing… Nothing… 製品A 製品B 製品C

Slide 5

Slide 5 text

Threat Thinker ©️ Cybozu, Inc. 頻繁に変化するシステムに対して脅威モデリングの継続実施は困難 5 脅威モデリングの理想と現実② 理想 / Ideal 現実 / Real v1.0.0 v1.5.0 v2.0.0 v1.0.0 v1.5.0 v2.0.0 Nothing… Nothing…

Slide 6

Slide 6 text

Threat Thinker ©️ Cybozu, Inc. 図を投げると脅威リストが返ってくる自動脅威モデリングツール 6 Threat Thinker GitHub [4] https://github.com/melonattacker/threat-thinker

Slide 7

Slide 7 text

Threat Thinker ©️ Cybozu, Inc. 5つの層から構成 1. Parser Layer : システム構成図を中間表現としてのグラフ構造に変換 2. Inference Layer : 信頼境界、データフローなどの不足部分をLLMで補完 3. Threat Generation Layer : STRIDEベースで脅威をLLMで列挙、スコア付け 4. Filtering & Denoising Layer : 重複している脅威やノイズを削除 5. Reporting Layer : Markdown/JSONでレポート出力、差分解析をサポート 脅威モデリングを軽量化し、継続的に利用できるような設計 7 Threat Thinkerのアーキテクチャ

Slide 8

Slide 8 text

Threat Thinker ©️ Cybozu, Inc. システム構成図としてはMermaid、draw.io、画像に対応 8 様々な形式のシステム構成図をサポート graph LR user[User] --> api((API Gateway)) api --> app[App Service] app --> db[(Customer DB)] Mermaid (.mmdなど) … draw.io (.xmlなど) 画像 (.pngなど)

Slide 9

Slide 9 text

Threat Thinker ©️ Cybozu, Inc. ドキュメントを参照させることで脅威推論の強化が可能 9 ローカルRAG • OWASP, MITRE, NIST, etc... • システムについての補足書類 ローカルで 参照 システム構成図 より期待する 脅威を出力 LLM 断片を コンテキスト として渡す

Slide 10

Slide 10 text

Threat Thinker ©️ Cybozu, Inc. バージョン間のレポート差分を解析することが可能 11 レポートの差分解析 システムA v1.0.0 システムA v1.5.0 レポート レポート 差分解析 結果

Slide 11

Slide 11 text

Threat Thinker ©️ Cybozu, Inc. レポートは英語のみではなく多言語で出力可能 12 レポートの多言語出力 JP VN FR

Slide 12

Slide 12 text

Threat Thinker ©️ Cybozu, Inc. • Web, AWS, RAGのシステムに対して脅威を推論 • あらかじめ期待する脅威を定義 → 推論してマッチするものを採用 • 精度を計測するための指標 • Precision(適合率): 採用された脅威 / 出力の総数 • Recall(再現率): 採用された脅威 / 期待脅威の総数 • 結果*(Mermaid, draw.io, 画像の3ケースの平均値) • Web : Precision 67%, Recall 67% • AWS : Precision 47%, Recall 47% • RAG : Precision 47%, Recall 47% 13 脅威推論の精度はどんな感じ? 評価実験では中程度の精度で脅威の推論ができている [*] : 今回は出力の総数と期待脅威の総数が10件で同じのため、Precisionと Recallは同じ値になっています

Slide 13

Slide 13 text

Threat Thinker ©️ Cybozu, Inc. • IriusRisk4, ThreatModeler5, Threagle6 など自動で脅威を洗い出すツールはある • 差別化ポイント • 既存のアーキテクチャ図をそのまま入力可能 • ルールベースではなくLLMによる柔軟な脅威推論 • OSSかつローカルで実行可能なので軽量に回せる • 差分解析機能で継続運用しやすい • RAGで社内ナレッジなど知識の補強も可能 14 他の自動脅威モデリングツールと何が違う? 既存のアーキテクチャ図からそのまま軽量に回せる点が異なる [4] https://www.iriusrisk.com/ [5] https://threatmodeler.com/ [6] https://threagile.io/

Slide 14

Slide 14 text

Threat Thinker ©️ Cybozu, Inc. • システム構成図としてMermaid、draw.io、画像の形式に対応 • 充実したサポート機能 • ローカルRAG、レポートの差分解析、レポートの多言語出力 • 今後の展望 • システム構成図がない状態を想定したサポート機能の追加 • 地道な脅威推論の精度向上 図を投げると脅威リストが返ってくる自動脅威モデリングツール 15 まとめ

Slide 15

Slide 15 text

©️ Cybozu, Inc. Please Star Threat Thinker ! 16 https://github.com/melonattacker/threat-thinker