Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
20190107_AbuseCaseCheatSheet
OWASP Japan
January 07, 2019
Technology
0
120
20190107_AbuseCaseCheatSheet
OWASP Japan
January 07, 2019
Tweet
Share
More Decks by OWASP Japan
See All by OWASP Japan
OWASP Night 2019.03 Tokyo
owaspjapan
0
270
OWASP SAMMを活用したセキュア開発の推進
owaspjapan
0
540
セキュリティ要求定義で使える非機能要求グレードとASVS
owaspjapan
5
490
AWSクラスタに捧ぐウェブを衛っていく方法論と死なない程度の修羅場の価値
owaspjapan
9
2.4k
Shifting Left Like a Boss
owaspjapan
2
190
OWASP Top 10 and Your Web Apps
owaspjapan
2
350
OWASP Japan Proposal: Encouraging Japanese Translation
owaspjapan
1
170
elegance_of_OWASP_Top10_2017
owaspjapan
2
410
OWASP Top10 Translation YOMOYAMA talk by Ando-san
owaspjapan
0
390
Other Decks in Technology
See All in Technology
Adopting Kafka for the #1 job site in the world
ymyzk
1
520
LINE WORKS API 2.0について
mmclsntr
0
120
読者のことを考えて書いてみよう / Write with your reader in mind
line_developers
PRO
3
360
1年間のポストモーテム運用とそこから生まれたツール sre-advisor / SRE NEXT 2022
fujiwara3
6
3.3k
モダンデータスタックとかの話(データエンジニアのお仕事とは)
foursue
0
420
GitHub 엔터프라이즈 어카운트 소개 및 엔터프라이즈 서버 구축 경험
posquit0
1
140
SRE_チーム立ち上げから1年_気づいたら_SRE_っぽくない仕事まで貢献しちゃってる説
bitkey
PRO
0
2.3k
AWS Control TowerとAWS Organizationsを活用した組織におけるセキュリティ設定
fu3ak1
2
640
Oracle Content Management サービス概要 (2022年5月版)
oracle4engineer
PRO
0
110
Oracle Cloud Infrastructure:2022年5月度サービス・アップデート
oracle4engineer
PRO
0
110
一人から始めるプロダクトSRE / How to start SRE in a product team, all by yourself
vtryo
4
2.7k
Data Warehouse or Data Lake, which one do I choose?
ahana
0
110
Featured
See All Featured
A designer walks into a library…
pauljervisheath
196
16k
Code Review Best Practice
trishagee
41
6.7k
Build The Right Thing And Hit Your Dates
maggiecrowley
19
1.1k
Fireside Chat
paigeccino
11
1.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
224
49k
The Cult of Friendly URLs
andyhume
68
4.7k
KATA
mclloyd
7
8.6k
YesSQL, Process and Tooling at Scale
rocio
157
12k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
236
1M
Testing 201, or: Great Expectations
jmmastey
21
5.4k
Keith and Marios Guide to Fast Websites
keithpitt
404
21k
Making the Leap to Tech Lead
cromwellryan
113
6.9k
Transcript
AbuseCase Cheatsheetの紹介 PR Team 仲⽥ 翔⼀ 2019/1/7
1 https://www.owasp.org/index.php/OWASP_Cheat_Sheet_Series
各役割において有⽤な60以上のチートシートが存在しています。 2 Developer /Builder Assessment /Breaker Draft/Beta OpSec/ Defender Mobile
▪Android Testing ▪iOS Developer ▪Mobile Jailbreaking ▪Attack Surface Analysis ▪XSS Filter Evasion ▪Web Security Testing ▪・・・ ▪SQLi Prevention ▪Forgot Password ▪Logging ▪・・・ ▪Virtual Patching ▪Vulnerability Disclosure ▪Secure Coding ▪Thread Modeling ▪Content Security Policy ▪・・・
⽇本語訳されているチートシートもあります。 3 https://jpcertcc.github.io/OWASPdocuments/ https://goo.gl/fNPGwB
実は頻繁に更新されていて、なにか追加されています。 4 https://www.owasp.org/index.php/OWASP_Cheat_Sheet_Series
5 https://www.owasp.org/index.php/Abuse_Case_Cheat_Sheet
OWASP SAMMではAbuse Caseを考慮すべきとされています。 6
Abuse Case Cheat Sheetの⽬次と説明 (1/3) 7 項番 タイトル 説明 1
イントロ • たいていのWebアプリのセキュリティ要件には、「安全であ ること」や「OWASP Top10の脆弱性に対応していること」 等、開発者にとっては⼀般的すぎて、かつ、無⽤な要件しか 記載されていない。 • 実⽤的な観点でセキュアなWebアプリを開発するために、ビ ジネス状況や技術的動向に基づき、Webアプリが防御しなけ ればならない攻撃を識別する必要がある。 2 ⽬的 • このチートシートでは、Abuse Case⼀覧を作成する⽅法を 説明する。 3 このチートシートの使い⽅ • プロジェクト/スプリントにおいて、ビジネスリスクを考慮 した上でのセキュリティ要件の導出や必要な追加予算の確保 を⾏うためにAbuse Caseのリストを作成する。 • Abuse Caseとは、「開発者が想定していない機能の利⽤の され⽅を攻撃者にされることにより⽣じる悪影響」である。 • 複数の役割の⽅(後述)を集めたワークショップを実施する。 ワークショップはアジャイルの場合はユーザストーリーとス プリントを関連付けた直後、ウォーターフォールの場合は機 能要件を検討した直後に実施する。 3.1 攻撃を特定すべき理由 3.2 Abuse Caseの概念 3.3 Abuse Caseの定義の仕⽅ 3.4 いつAbuse Caseを定義するの か
8 項番 タイトル 説明 4 Abuse Caseの作り⽅例 ー 4.1 Step
1: ワークショップの事 前準備 • 機能⼀覧(サンプル後述)を準備する。 • 必要に応じて、対策⽅法⼀覧(サンプル後述)を準備する。 • Abuse Case⼀覧の様式(対象となる機能、攻撃⽅法、CVSS スコア(または別の基準)、Abuse Caseの種別(技術/ビジネ ス※)、対策⽅法、対策/受容フラグ)を準備する。 4.2 Step 2: ワークショップ中 • Abuse Case⼀覧の様式に基づき、複数の役割の⽅でAbuse Case⼀覧(サンプルを後述)を作成する。 4.3 Step 3: ワークショップ後 • 作成したAbuse Case⼀覧における対策フラグ付きの対策に 関し、必要に応じてセキュリティ要件を更新し、すべての対 策に要するコストと⼯数の評価を⾏う。 4.4 Step 4: 特定したAbuse Case のトラッキング • 設計/インフラ/ネットワークレベルおよびコードレベルで Abuse Caseに対して関連付けを⾏い、対応できていること を確認する。 4.5 Step 5:特定したAbuse Case の検証 • SAST/DASTまたはコードレビューを実施する。 ※Abuse Caseの種別 •技術的なAbuseCase:⼊⼒フィールドからXSSを実施するためのリクエストを⾏う。 •ビジネス的なAbuseCase:オンラインショップで商品の価格を改ざんし、より低い⾦額で購⼊する。 Abuse Case Cheat Sheetの⽬次と説明 (2/3)
各役割をこなし、対策/受容のコンセンサスをみんなで得ます。 9 ビジネス アナリスト リスク アナリスト 品質担当 (機能テスター) ペンテスター (セキュリ
ティ担当) 技術責任者 ▪各機能の説明 ▪セキュリティ要件の更新 ▪各機能に対する攻撃⽅法の提 案/説明 ▪攻撃⽅法に対する対策及び講 じる場所の提案/説明 ▪CVSSスコアの算出 ▪対策に対するフィージビリティ のフィードバック ▪全ての対策に要するコストと⼯ 数の評価 ▪ビジネス状況に応じた CVSSスコアの修正/確定
各シートのサンプルがこれだ! 10 Abuse case ID 影響を受け る機能ID Abuse caseの概要 攻撃ID
(必 要に応じて) CVSSス コア CVSSstring 種別 対策ID 対策/ 受容 ABUSE_ CASE_0 01 FEATURE_ 001 マルウェアのダウンロ ードを⾏うための、悪 意のあるマクロを含む Officeファイルをアッ プロードする。 CAPEC-17 HIGH (7.7) CVSS:3.0/ AV:N/AC:H/ PR:L/UI:R/ S:C/C:N/I:H/ A:H 技術 DEFENSE _001 対策 機能ID 機能名 機能概要 FEATUR E_001 ドキュメン トアップロ ード機能 ユーザがファイルをアップロー ドする。 対策ID 対策概要 対策に関する補⾜ DEFENS E_001 アップロードしたフ ァイルを検証する。 ファイルアップロード に関するOWASPチー トシートを参照する。 ▪Abuse Case⼀覧 ▪機能⼀覧 ▪対策⼀覧
11 項番 タイトル 説明 5 Abuse Case導出例 • OWASP Top10の脆弱性を例にAbuse
Case導出例を⽰す。 5.1 A1:インジェクション • OWASP Top10の各脆弱性に対応するAbuse Caseの導出例 を⽰している。 • ここでは、「A1:インジェクション」、「A2:認証の不備」 の例を⽰す。 • A1:インジェクション - ⼊⼒フィールドまたはAPIに対してインジェクション攻撃 (SQL/LDAP/XPath/NoSQLクエリ、OSコマンド、XMLパ ーサー、SMTPヘッダー等)を実施する。 • A2:認証の不備 - IDとPWの組み合わせでリスト型攻撃を実施する。 - デフォルト管理者アカウントを含む辞書攻撃を実施する。 - 有効期限切れまたは偽装したセッションを⽤いてアクセス する。 5.2 A2:認証の不備 5.3 A3:機微な情報の露出 5.4 A4:XML外部エンティティ参照 5.5 A5:アクセス制御の不備 5.6 A6:不適切なセキュリティ設定 5.7 A7:XSS 5.8 A8:安全でないデシリアライゼ ーション 5.9 A9:既知の脆弱性のあるコンポ ネントの使⽤ 5.10 A10:不⼗分なロギングとモニ タリング 6 スキーマのソース ー 7 著者及び主要な編集者 8 他のチートシート Abuse Case Cheat Sheetの⽬次と説明 (3/3)
12 ✕
13 Hardening参加者の皆様、 競技前にビジネスにおけ るAbuseCaseを想定した 上で本番に臨んでみてわ?
そもそもHardeningは、ECサイトの堅牢化⼒を競います。 14 https://wasforum.jp/ ✕
想定される各機能のAbuse Caseを事前に検討 15 ✕ ECサイトの機能 ⼤ 中 ⼩ フロント 商品紹介
商品⼀覧 在庫終了ステータス 商品注⽂ ショッピングカート 配送時間指定 注⽂処理 ポイント購⼊ お客様ページ 会員登録 ログイン 注⽂履歴表⽰ 退会 その他 パスワード変更 オススメ表⽰ 問い合わせ ECサイトの機能 ⼤ 中 ⼩ 管理 売上状況 ཧ 商品登録/編集 在庫情報登録 ച্ཧ 売上状況CSV出⼒ 配送状況CSV出⼒ 納品書PDF出⼒ 各種メール送信 ձһཧ お客様情報登録 お客様情報CSV出⼒ ίϯςϯπཧ オススメ管理 SEO管理 ϝϧϚΨ৴ Ϋʔϙϯཧ 【参考】https://www.ec-cube.net/product/functions.php
OWASP Connectという勉強会をやっています。LT枠空いていますよ。 16 https://owaspprteam.connpass.com/event/113927/
OWASP Japanはコミュニティスポンサーです。是⾮ご来場ください。 17