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
こーへい
March 31, 2025
Technology
800
0
Share
チームビルディング「脅威モデリング」ワークショップ
こーへい
March 31, 2025
More Decks by こーへい
See All by こーへい
AIが自律的に働く時代へ Amazon Quick で実現するAIエージェント紹介
koheiyoshikawa
0
180
BLEAでAWSアカウントのセキュリティレベルを向上させよう
koheiyoshikawa
0
980
コンテナセキュリティ入門ウェビナー ~ECS on Fargate構成に必要なセキュリティ対策を知ろう~
koheiyoshikawa
0
2.5k
〜AWS初心者向け〜 ベストプラクティスから学ぶ 「AWSセキュリティの高め方」
koheiyoshikawa
1
2.8k
AWSアカウントセキュリティ(セキュアアカウント) 入門セミナー ~面倒な設定はクラスメソッドにお任せ!~
koheiyoshikawa
0
6.1k
ECSの仕組み解説~ECSをチャーハンセットに例えてみた~ #devio2023
koheiyoshikawa
0
4.1k
Other Decks in Technology
See All in Technology
Digital Independence: Why, When and How
wannesrams
0
280
エージェント時代の UIとAPI、CLI戦略
coincheck_recruit
0
140
AWS Transform CustomでIaCコードを自由自在に変換しよう
duelist2020jp
0
240
Oracle Cloud Infrastructure:2026年4月度サービス・アップデート
oracle4engineer
PRO
0
330
自動テストだけで リリース判断できるチームへ - 鍵はテストの量ではなくリリース判断基準の再設計にあった / Redesigning Release Criteria for Lightweight Releases
ewa
7
3.4k
独断と偏見で試してみる、 シングル or マルチエージェント どっちがいいの?
shichijoyuhi
1
240
FessのAI検索モード:検索システムとLLMへの取り組み
marevol
0
270
変化の激しい時代をゴキゲンに生き抜くために 〜ストレスマネジメントのススメ〜
kakehashi
PRO
4
1k
Reasoning Models in Practice: From Inference- Time to Training-Time Scaling on Verifiable Tasks
nptdat
0
110
20260428_Product Management Summit_Loglass_JoeHirose
loglassjoe
4
7k
古今東西SRE
okaru
1
130
AIの揺らぎに“コシ”を与える階層化品質設計
ickx
0
220
Featured
See All Featured
Accessibility Awareness
sabderemane
1
110
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Music & Morning Musume
bryan
47
7.2k
The SEO identity crisis: Don't let AI make you average
varn
0
460
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
43k
The Spectacular Lies of Maps
axbom
PRO
1
730
Are puppies a ranking factor?
jonoalderson
1
3.4k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Skip the Path - Find Your Career Trail
mkilby
1
110
Building an army of robots
kneath
306
46k
Raft: Consensus for Rubyists
vanstee
141
7.4k
Transcript
チームビルディング 「脅威モデリング」ワークショップ 2024/07/24 1
2 事前準備 • リンク先 ◦ 演習用Cacooシート ◦ 演習用スプレッドシート ▪ 配属先チームのシートをご利用ください
• Slack使用方針 ◦ チーム毎にチャンネル内にスレッドを立てる ▪ チーム内での共有は通知数を減らすためにスレ内へ書き込み ◦ 全体での共有はチャンネルへ書き込み
3 脅威モデリングとは 脅威モデリングとは
4 脅威モデリングとは システムに存在する潜在的な脅威と対応策を考え、セキュリティレベルを 向上させる取り組みのこと
5 脅威モデリングを実施するメリット① システムの文脈を理解し、優れたセキュリティ戦略を立てられる
6 脅威モデリングを実施するメリット② 安全なサービスを提供するために必要な定義をチームで共有できる
7 脅威モデリングを実施する理由③ 開発段階の早期な脅威モデリングの実施は安全なシステム構築に高い効果 を発揮
8 メルカリもやってるってよ
9 今回チームビルディングで採用した理由 今回チームビルディングで採用した理由
10 今回チームビルディングで採用した理由
11 今回チームビルディングで採用した理由
12 今回チームビルディングで採用した理由
13 今回チームビルディングで採用した理由 実施する機会の少ない脅威モデリングを チームビルディングを通じて体験しよう
14 システムの紹介 今回の脅威モデリングの 対象となるシステムについて
15 システム全体像
16 システム全体像
17 脅威モデリングの実施対象
18 演習の流れ 演習の流れ
19 演習の流れ 全体で4時間ほど • 演習1(40分):車両登録機能のデータフロー図作成 • 演習2(10分):メンバーの役割を決める • 演習3(20分):STRIDEチャートを作成する •
演習4(1時間):脅威を特定する • 演習5(1時間):対応策を考える • 演習6(1時間):感想(時間次第でスキップ)
20 演習1:車両登録機能のデータフロー図作成 車両登録機能のデータフロー図作成
21 演習1:車両登録機能のデータフロー図作成 データフロー図を作成し、脅威を洗い出しやすくします
22 演習1:車両登録機能のデータフロー図作成 • データフロー図とは ◦ システム要素間のデータ交換をモデル化したもの • データフロー図作成の目的 ◦ システム内に存在する資産(データ)とその保管場所の特定
◦ データフローの可視化によるシステム理解の向上
23 演習1:車両登録機能のデータフロー図作成 車両登録機能では以下のAPIが提供されている
24 演習1:車両登録機能のデータフロー図作成 1. Cacooでデータフロー図を作成してください ◦ 「チームX:演習1 データフロー図作成」シートに作成して下さい ▪ 紙とペンも用意しているので下書きにご利用ください ◦
「演習1 データフロー図要素」に各要素のサンプル素材と説明文を用 意しているので必要であればコピペ等で活用してください ◦ 参考:DFD(データフロー図)ってなに?DFDの概要と書き方をあわ せて紹介 2. 必要に応じてスプレッドシート「演習共通:仮定リスト」にてシステム の曖昧な要素となっている箇所を仮定として書き起こして下さい(後述)
25 演習1:ヒント1 データフロー図を作成する目的を意識することが大切です。形に囚われす ぎないでください • 作成の目的(再掲) ◦ システム内に存在する資産(データ)とその保管場所の特定 ◦ データフローの可視化によるシステム理解の向上
26 演習1:ヒント2 • 今回の脅威モデリングでは架空システムを利用している為、演習中にシ ステムに関する情報が不足していることによる混乱が発生するはずで す。 • 混乱が生じた場合はエクセルシート「演習共通:仮定リスト」を用意し ているので、何かしら仮定を立て、チームで共有してください ◦
仮定を立てることで、無関係な考慮事項、範囲外の脅威、または制御 できない緩和策について考える時間を節約できます • あくまで仮定なのでいつでも変更することが可能です
27 演習1:車両登録機能のデータフロー図作成 演習中(40分)
28 演習2:メンバーの役割(ペルソナ)を決める メンバーの役割 (ペルソナ)を決める
29 演習2:メンバーの役割(ペルソナ)を決める 1. スプレッドシート「演習2:メンバーの役割を決める」にて役割を確認 し、各役割を担当するメンバーを決めてください
30 演習2:ヒント1 • 今回の演習においてはあまり役割に固執しすぎないでください ◦ 役割決めは脅威モデリングの質の向上が目的です ▪ 脅威モデリングにも慣れていないメンバーがほとんどだと思いま すが、役割に固執しすぎると脅威モデリングの質を下げてしまう 恐れがある
◦ 役割が5つしかないので、6人チームの箇所は1役割2人の箇所が発生 します ▪ 難しそうなところは二人担当などがいいかも
31 演習2:メンバーの役割(ペルソナ)を決める 演習中(10分)
32 演習3:STRIDEチャートを作成する STRIDEチャートを作成する
33 演習3:STRIDEチャートを作成する 情報システムなどに損害を与えかねないセキュリティ上の要因を「脅威」と呼 ぶが、その脅威を6つのカテゴリーに分類したものをSTRIDEと言う
34 演習3:STRIDEチャートを作成する データフロー図作成の際に載せていた各要素の説明(再掲)
35 演習3:STRIDEチャートを作成する 1. スプレッドシート「演習3:STRIDEチャート」にて各システム要素にお ける脅威の標的または被害者となりうる項目にチェックをつけてくださ い ◦ 注意:脅威の発生源ではないことに注意 ▪ 例えばユーザーはなりすましの攻撃対象になり得るので◦
▪ 一方で、改ざんの対象にはなり得ないので× 2. 演習後回答を表示します(2ページ後)
36 演習3:STRIDEチャートを作成する 演習中(10分)
37 STRIDEチャート解答
38 演習4:車両登録機能に対する脅威を特定する 車両登録機能に対する脅威を特定する
39 演習4:車両登録機能に対する脅威を特定する 1. スプレッドシート「演習4:脅威の洗い出し」にて今回の機能に存在し うる脅威を書き出してください ◦ 文章の書き方が分からない場合は次スライドを参考にして下さい 2. 必要に応じてスプレッドシート「演習共通:仮定リスト」にてチームの 認識をそろえて下さい(後述)
40 演習4:車両登録機能に対する脅威を特定する 1. 脅威説明をどうやって書いたらいいか分からない場合は、下の画像を参 照にしてください 2. 作文に必要な要素を把握することで構造化された説明を書くことが可能 です
41 演習4:車両登録機能に対する脅威を特定する 車両登録機能では以下のAPIが提供されている(再掲)
42 演習4:ヒント1 • 脅威モデリングの演習に架空システムを利用している為、演習中に「こ れはどう考えたらいいの?」とシステムの背景情報が不足していること による混乱が度々発生します。 • 混乱が生じた場合は演習1と同様にエクセルシート「演習:仮定リス ト」を用意しているので、何かしら仮定を立て、チームで共有してくだ さい
◦ 仮定を立てることで、無関係な考慮事項、範囲外の脅威、または制御 できない緩和策について考える時間を節約できます • あくまで仮定なのでいつでも変更することが可能です
43 演習4:ヒント2 可能な限り脅威を洗い出してください • この段階では、API Gatewayでの認証要求などの緩和策が実装されてい る前提で考えないでください(仮定リストにもサンプル記載しています) ◦ 緩和策がある前提で考えると脅威を見逃す可能性が高まるからです
44 演習4:ヒント3 可能な限り脅威を分解してください • 例えば「S3バケットから意図せず情報が漏洩し、ユーザーの車両登録書 類の機密性が低下する」という脅威は以下に分解できます ◦ ユーザーとS3エンドポイント間のトラフィックを検査するアクセス 権を持つ脅威アクターは転送中のデータを表示できるため、ユーザー の車両登録書類の機密性が低下する
◦ 内部関係者がS3に保存されているデータにアクセスできるため、 ユーザーの車両登録書類の機密性が低下する
45 演習4:ヒント4(オプション) 今回のチームビルディングでは、優先度まで厳密に考えなくても大丈夫です、 脅威の洗い出しを優先してください • 各脅威が顧客とそのデータに及ぼすリスクの程度に基づいて、高、中、 低に優先順位付けします ◦ リスクは、脅威が発生する可能性に、イベントのコストである影響を 掛け合わせたものです
◦ AWSでは、顧客中心のアプローチを採用し、顧客の信頼を損なう可 能性が最も高い脅威を優先します ◦ 参考:OWASP Risk Rating Methodology
46 演習4:車両登録機能に対する脅威を特定する 演習中(1時間)
47 演習5:脅威への対応策を考える 脅威への対応策を考える (1時間)
48 演習5:脅威への対応策を考える 対応策は基本的に以下4つに分類されます
49 演習5:脅威への対応策を考える 「軽減する」は以下のように更に分類化できます
50 演習5:脅威への対応策を考える 1. スプレッドシート「演習5:対応策の洗い出し」にて演習4で洗い出した 脅威への対応策を書き出してください 2. 必要に応じてスプレッドシート「演習共通:仮定リスト」にてチームの 認識をそろえて下さい(説明省略)
51 演習5:ヒント1 • 演習4で洗い出した脅威の対応策を考えます ◦ 対応策は以下リンク等が参考になります ▪ AWS Well-Architected Framework
セキュリティの柱 ▪ AWS セキュリティドキュメント ▪ OWASP Top 10:2021 ◦ 1つの脅威に対して複数の対応策が必要な場合があります
52 演習5:ヒント2(オプション) 時間内での実施は難しいので省略、対応策の洗い出しを優先してください • 対応策の効果やコストを考えましょう • コストや効果を加味して対策候補から実際に適用するものを選ぶ • 対応策が選ばなれなかった理由も記載する •
脅威によってリスクを「受け入れる」場合もある(何故受け入れたの か理由を記載)
53 演習5:脅威への対応策を考える 演習中(1時間)
54 演習6:振り返り 演習6:振り返り
55 演習6:振り返り • チーム内で脅威モデリングの感想を共有しましょう(10分) • 代表者を決めチームの感想等を発表してください(2~3分) ◦ いけてるな、議論が白熱したなみたいな脅威と対応策を2~3個程度発 表 ◦
その他脅威モデリングを実施したことへの気づきとかなんでも
56 参考 • Threat modeling for builders ◦ AWSの公式脅威モデリングワークショップ •
メルカリの脅威モデリングプロセス ◦ メルカリの記事 • 前倒しで対処 -セキュリティを考慮したソフトウェア開発アプローチ 「シフトレフト」とは- ◦ シフトレフトとかDevSecOpsについての概念についてわかりやすい 記事