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
1.1k
ソフトウェア研究における脅威モデリング
ソフトウェアの研究における脅威モデリングは何をどこまでやるのが良さそうか、筆者の見解を共有
Sho Nakatani
December 02, 2024
Tweet
Share
Other Decks in Research
See All in Research
【NLPコロキウム】Stepwise Alignment for Constrained Language Model Policy Optimization (NeurIPS 2024)
akifumi_wachi
3
340
非ガウス性と非線形性に基づく統計的因果探索
sshimizu2006
0
450
移動ビッグデータに基づく地理情報の埋め込みベクトル化
tam1110
0
180
Weekly AI Agents News! 8月号 プロダクト/ニュースのアーカイブ
masatoto
1
210
Weekly AI Agents News! 8月号 論文のアーカイブ
masatoto
1
230
Weekly AI Agents News! 10月号 プロダクト/ニュースのアーカイブ
masatoto
1
150
第 2 部 11 章「大規模言語モデルの研究開発から実運用に向けて」に向けて / MLOps Book Chapter 11
upura
0
440
MetricSifter:クラウドアプリケーションにおける故障箇所特定の効率化のための多変量時系列データの特徴量削減 / FIT 2024
yuukit
2
140
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
220
情報処理学会関西支部2024年度定期講演会「自然言語処理と大規模言語モデルの基礎」
ksudoh
10
2.2k
Weekly AI Agents News! 10月号 論文のアーカイブ
masatoto
1
420
marukotenant01/tenant-20240916
marketing2024
0
630
Featured
See All Featured
Designing for humans not robots
tammielis
250
25k
A better future with KSS
kneath
238
17k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Become a Pro
speakerdeck
PRO
26
5.1k
A designer walks into a library…
pauljervisheath
205
24k
How STYLIGHT went responsive
nonsquared
96
5.2k
Optimising Largest Contentful Paint
csswizardry
33
3k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
The Cost Of JavaScript in 2023
addyosmani
46
7k
For a Future-Friendly Web
brad_frost
176
9.5k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
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 等々たまに見受けるが、基礎的なのはまとめたつもり