Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ソフトウェア研究における脅威モデリング
Search
Sho Nakatani
December 02, 2024
Research
0
2.8k
ソフトウェア研究における脅威モデリング
ソフトウェアの研究における脅威モデリングは何をどこまでやるのが良さそうか、筆者の見解を共有
Sho Nakatani
December 02, 2024
Tweet
Share
More Decks by Sho Nakatani
See All by Sho Nakatani
RapidPen: AIエージェントによる高度なペネトレーションテスト自動化の研究開発
laysakura
1
400
体得しよう!RSA暗号の原理と解読
laysakura
3
780
RapidPen: AIエージェントによるペネトレーションテスト 初期侵入全自動化の研究
laysakura
0
1.7k
Other Decks in Research
See All in Research
一人称視点映像解析の最先端(MIRU2025 チュートリアル)
takumayagi
4
1.1k
利用シーンを意識した推薦システム〜SpotifyとAmazonの事例から〜
kuri8ive
1
220
Large Language Model Agent: A Survey on Methodology, Applications and Challenges
shunk031
14
9.2k
SSII2025 [TS1] 光学・物理原理に基づく深層画像生成
ssii
PRO
4
3.9k
【緊急警告】日本の未来設計図 ~沈没か、再生か。国民と断行するラストチャンス~
yuutakasan
0
140
Galileo: Learning Global & Local Features of Many Remote Sensing Modalities
satai
3
120
Streamlit 総合解説 ~ PythonistaのためのWebアプリ開発 ~
mickey_kubo
1
1.2k
NLP2025参加報告会 LT資料
hargon24
1
330
心理言語学の視点から再考する言語モデルの学習過程
chemical_tree
2
500
最適化と機械学習による問題解決
mickey_kubo
0
150
20250605_新交通システム推進議連_熊本都市圏「車1割削減、渋滞半減、公共交通2倍」から考える地方都市交通政策
trafficbrain
0
620
カスタマーサクセスの視点からAWS Summitの展示を考える~製品開発で活用できる勘所~
masakiokuda
2
150
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1031
460k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
What's in a price? How to price your products and services
michaelherold
246
12k
The Pragmatic Product Professional
lauravandoore
35
6.8k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Practical Orchestrator
shlominoach
189
11k
GraphQLとの向き合い方2022年版
quramy
49
14k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Transcript
ソフトウェア研究における脅威モデリング
本資料の目的 / 自己紹介 ソーシャルアカウント X https://x.com/laysakura GitHub https://github.com/laysakura 何してる 本業 JTCでソフトウェアの リサーチャー兼エンジニア
個人事業 セキュリティ関連支援 ↓詳細URL その他 執筆・講演活動 • ソフトウェアの研究における脅威モデリング は何をどこまでやるのが良さそうか、 筆者の見解を共有 ◦ 界隈の定説ではない(寡聞にして見たことなし) ◦ ソフトウェア開発・運用における脅威モデリングと 大部分被った話題 • Speaker DeckのTweetボタンから フィードバックお願いします🙏 • ※所属等と無関係に個人活動として本資料を公開
前置き • 脅威モデリングの What's / Why / How いずれのページかを 左上に明示
◦ What's 脅威モデリングとは ◦ Why 脅威モデリングの動機(特に "研究における" ) ◦ How 脅威モデリングの手法(触りのみ) • 参考サイト・文献、または私見は各ページ左下で明示 ◦ 一番体系的でおすすめ: 『セキュアなソフトウェアの設計と開発』 ここが左下 ここが左上
脅威モデリングとは • 脅威モデルを構築するプロセス • 脅威モデルとは: 情報資産に対するセキュリティ上の脅威へ対策するための 複合的な要素(下図一例)を含むモデル What’s 脅威モデル 資産
(セキュリティ上の)脅威 その他脅威 脅威アクター 影響評価 リスク管理 軽減策 天災 システム 構成図 脆弱性 人的ミス [私見]
研究での脅威モデル(成果物)想定 • 脅威アクター(攻撃者) ◦ 属性 例: データ分析者 ◦ 意図 例: Passive, Malicious
(※当スライド末尾 コラム1 参照) ◦ 能力 例: 任意の事前知識, 無限の計算資源 • 脅威アクターによらない脅威 ◦ 例: 災害時の復旧でプライバシー漏洩 • 資産(脅威から守るべきもの) • システム構成図・脅威マッピング ◦ 図1上半分 : 論理アーキレベル ◦ 図2上半分 : 物理アーキレベル • 対策(マッピングされた脅威への) ◦ 図1下半分: リスク管理 ◦ 図2下半分: 回避・軽減策 [私見] [参考 (図1)] 脅威モデリングとは|実施手順と成功のためのポイントを解説 [参考 (図2)] 脅威モデリングの概要としくみ | Black Duck 図2: 物理アーキレベルの脅威モデル (資産・脅威アクター・対策) 図1: 論理アーキレベルの脅威モデル (脅威概要・リスク管理) 論文に書くべき 研究段階ではやらないかな 論文に書くべき 論文には書かないだろうが モノ作るときにあると良い 研究段階では対策洗い出しまで 提案手法以外で防ぐ箇所は論文でも言及 What’s
一般的な脅威モデリングの目的 • 早期発見 セキュリティリスク早期発見によ る対応可能性向上・コスト低減 (図1) • 継続把握 開発運用工程に合わせたシステム モデル更新 + 世の脅威の更新
• 管理 セキュリティ対策フレームワーク への準拠 (図2) [参考] 脅威モデリングとは|実施手順と成功のためのポイントを解説 図1: セキュリティ対策コスト推移 図2: フレームワークでの脅威モデリングの位置づけ Why
「◯◯を守る」ソフトウェア研究における 脅威モデリングの目的 • 攻撃想定 ◯◯ = 重要資産 → 性善説ではいられない ◦ 攻撃があり得ることを想定しソフトウェアを設計・開発する必要あり
• 認識共有 共同研究者同士の認識合わせ(どこまで気にしてシステム作るか) • 反証可能性 論文・発表におけるスコープの明示 ◦ 「この攻撃意図・能力まで想定」の仮定(脅威アクターのスコーピング) ▪ これを前提に「だから提案手法により◯◯が守れる」と論ずる • → ツッコミどころが明確に(反証可能性up) [私見] Why
[参考 (図1)] Zhang, Yunyi, et al. "Rethinking the Security Threats
of Stale {DNS} Glue Records." 33rd USENIX Security Symposium (USENIX Security 24). 2024. [参考 (図2)] Coppola, Daniele, et al. "PURE: Payments with UWB RElay-protection." 33rd USENIX Security Symposium (USENIX Security 2024). 2024. 研究論文において現れる脅威モデル Why 調査目的 論文での脅威モデル記述の重要性を確認 調査方法 Threat/Security/Attacker Model の記載有無を調査 調査対象 USENIX Security 2024秋 採択論文から61件無作為抽出 攻撃手法の提案を除く34件を対象とした (Google Sheets) 調査結果 脅威モデル記載あり 18件 / 脅威モデル記載なし 16件 セキュリティ系トップカンファレンス採択論文の 半数程度が脅威モデルを明記 図1: 脅威モデル記載例1 図2: 脅威モデル記載例2
脅威モデリングの手順 1. ユースケース(誰が・何のために・どのように使うか) を規定 2. 脅威アクターを規定 3. システム構成図(論理レベル→物理レベル)を描く 4. システム構成図から資産を特定
5. システム構成図に脅威をマッピング 6. 脅威へのリスク管理(含む提案手法)を検討 7. 1~6の継続的改善 [私見] HowTo ユースケース 脅威アクター システム構成図 資産 システム構成図へ 脅威マッピング リスク管理検討 継続的改善 誰?最悪の意図・能力は? 悪用は? 何を本質的に守りたい? これは無視できる、これはこう対応 提案手法はこれの軽減策になってる
脅威モデリングの心構え [参考] 『セキュアなソフトウェアの設計と開発』 [参考 (図1)] 脅威モデリングで組織を動かす!クラウドセキュリティ強化を実現するための 実践⽅法 HowTo 図1: フレームワークでの脅威モデリングの位置づけ
ユースケース システム構成図 資産 脅威アクター 脅威マッピング リスク管理 継続的改善
脅威アクターの攻撃目標を大まかに知る HowTo [参考] NIST SP 800-12 Rev.1 • 右図:「情報セキュリティの3要素(CIA)」や
「CIAトライアド」など呼ばれる有名なもの • 脅威アクター(攻撃者)はこのいずれかを破るもの と考えるのが慣例 ◦ 例: CVSSスコア • 逆に言えば: これらを守るのがセキュリティ Confidentiality (機密性) Integrity (完全性) Availability (可用性) 破られたら 情報漏洩 破られたら 改ざん 破られたら システム停止 脅威アクター 脅威マッピング
脅威アクターの意図・能力の洗い出し手法(一例) HowTo [参考] 『セキュアなソフトウェアの設計と開発』 [参考 (図1,2)] 脅威モデリングで組織を動かす!クラウドセキュリティ強化を実現するための 実践⽅法 図1: STRIDE
フレームワーク (脅威発見) 図2: MITRE ATT&CK フレームワーク (脅威発見・軽減策検討) 脅威アクター 脅威マッピング
脅威マッピングの成果物(一例; p.5図再掲 ) HowTo 脅威マッピング [私見] [参考 (図1)] 脅威モデリングとは|実施手順と成功のためのポイントを解説 [参考
(図2)] 脅威モデリングの概要としくみ | Black Duck 図2: 物理アーキレベルの脅威マッピング 図1: 論理アーキレベルの脅威マッピング 物理アーキレベルでは システム構成図の他 データフロー図もよく使う
リスク管理の取り組み方 HowTo リスク管理 [1] 石川. 2024. “脅威インテリジェンスの機能的・歴史的視座 民間セクターにおける共有エコシステム分析と公共セクターの関与について.” NIDSコメンタリー第 316号,
May. https://www.nids.mod.go.jp/publication/commentary/pdf/commentary316.pdf. [参考 (図1)] 脅威モデリングとは|実施手順と成功のためのポイントを解説 [参考 (図2)] 脅威モデリングで組織を動かす!クラウドセキュリティ強化を実現するための 実践⽅法 図1: 典型的なリスク管理の表 • 脅威モデリング固有の概念ではない ◦ 「リスク管理」「リスクマネージメント」で 調べれば色々出てくる • リスク = 脅威 x 脆弱性 x 資産価値 ※米国のセキュリティ研究教育機関 SANSInstitute の定義による ◦ コントローラブルな脆弱性・資産を管理する伝統手法他、 脅威を深く知る「脅威インテリジェンス」も盛んに [1] • リスクへの対応4種: 「回避」「軽減」「受容」「転嫁」 ◦ 提案手法では技術での「回避」「軽減」を狙いつつ 研究の非本質的な部分は「受容」と考えれば良さそう ◦ 典型的脅威の「軽減」策は MITRE ATT&CK フレームワークも参考にできる 図2: MITRE ATT&CK フレームワーク (脅威発見・軽減策検討)
繰り返し、繰り返し HowTo 継続的改善 • 脅威モデリングは一回やって終わりではない ことのほうが多い • 新しい学びの度に都度モデルを改善 ◦ 提案システムの詳細が見えてきた
◦ 新しい脅威アクターの能力(攻撃手法)を思い付いた ◦ 弱い仮定の攻撃アクターでは査読が通らなかった ◦ OSSにする際に研究レベルよりもちゃんとした脅威モデルが必要になった ◦ etc… • 「自分たちの役に立つ」「他所に出しても恥ずかしくない」脅威モデルを研究参加者で磨こう [私見]
おわり
脅威アクターの意図の分類 コラム1 セキュリティ系論文でよく見る semi-honest, malicious などの 敵対者の積極性(本資料では「脅威アクターの意図」と呼称)の分類と出典 [1] Goldreich, O.,
S. Micali, and A. Wigderson. 1987. “How to Play ANY Mental Game.” In Proceedings of the Nineteenth Annual ACM Conference on Theory of Computing - STOC ’87. New York, New York, USA: ACM Press. https://doi.org/10.1145/28395.28420. [2] Goldreich, Oded. 2009. Foundations of Cryptography: Basic Applications Volume 2. Cambridge, England: Cambridge University Press. adversary 敵対者の積極性 Malicious adversary [1] Passive adversary [1] 別名 Active adversary [2] Honest [1] 意味 プロトコル通りの通信のみ行う (敵対者ではない) 別名 Semi-honest, Honest-but-curious [2] この種の分類の初出(たぶん) 仮想的な「ゲーム」における敵対者を考察 意味 プロトコルに則さない通信を する 意味 プロトコルに則した通信をするが、 盗聴や裏での結託をする 別軸の分類 [2] プロトコル途中で得た情報を利用するか: Adaptive adversary, Non-adaptive adversary プロトコルの途中で抜け出す: Mobile adversary 暗号プロトコルの大家 別名に関してもよくまとまってる & [1] と同著者。別名初出は別途あると思われる マルチパーティ計算 (MPC) における敵対者を考察 この他にも Honest-but-fallible / Covert / Rational adversary 等々たまに見受けるが、基礎的なのはまとめたつもり