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
0
480
チームビルディング「脅威モデリング」ワークショップ
こーへい
March 31, 2025
Tweet
Share
More Decks by こーへい
See All by こーへい
BLEAでAWSアカウントのセキュリティレベルを向上させよう
koheiyoshikawa
0
490
コンテナセキュリティ入門ウェビナー ~ECS on Fargate構成に必要なセキュリティ対策を知ろう~
koheiyoshikawa
0
1.7k
〜AWS初心者向け〜 ベストプラクティスから学ぶ 「AWSセキュリティの高め方」
koheiyoshikawa
1
2k
AWSアカウントセキュリティ(セキュアアカウント) 入門セミナー ~面倒な設定はクラスメソッドにお任せ!~
koheiyoshikawa
0
4.7k
ECSの仕組み解説~ECSをチャーハンセットに例えてみた~ #devio2023
koheiyoshikawa
0
3.9k
Other Decks in Technology
See All in Technology
シークレット管理だけじゃない!HashiCorp Vault でデータ暗号化をしよう / Beyond Secret Management! Let's Encrypt Data with HashiCorp Vault
nnstt1
3
140
AI時代にPdMとPMMはどう連携すべきか / PdM–PMM-collaboration-in-AI-era
rakus_dev
0
260
クラウドセキュリティを支える技術と運用の最前線 / Cutting-edge Technologies and Operations Supporting Cloud Security
yuj1osm
2
260
LLM翻訳ツールの開発と海外のお客様対応等への社内導入事例
gree_tech
PRO
0
440
2025年になってもまだMySQLが好き
yoku0825
8
3.4k
【Grafana Meetup Japan #6】Grafanaをリバプロ配下で動かすときにやること ~ Grafana Liveってなんだ ~
yoshitake945
0
220
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
240
新規案件の立ち上げ専門チームから見たAI駆動開発の始め方
shuyakinjo
0
650
バッチ処理で悩むバックエンドエンジニアに捧げるAWS Glue入門
diggymo
3
100
「魔法少女まどか☆マギカ Magia Exedra」の必殺技演出を徹底解剖! -キャラクターの魅力を最大限にファンに届けるためのこだわり-
gree_tech
PRO
0
450
Kubernetes における cgroup driver のしくみ: runwasi の bugfix より
z63d
2
120
7月のガバクラ利用料が高かったので調べてみた
techniczna
3
820
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
The Art of Programming - Codeland 2020
erikaheidi
55
13k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Into the Great Unknown - MozCon
thekraken
40
2k
We Have a Design System, Now What?
morganepeng
53
7.8k
The Cult of Friendly URLs
andyhume
79
6.6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Music & Morning Musume
bryan
46
6.8k
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についての概念についてわかりやすい 記事