Slide 1

Slide 1 text

AbuseCase Cheatsheetの紹介 PR Team 仲⽥ 翔⼀ 2019/1/7

Slide 2

Slide 2 text

1 https://www.owasp.org/index.php/OWASP_Cheat_Sheet_Series

Slide 3

Slide 3 text

各役割において有⽤な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 ■・・・

Slide 4

Slide 4 text

⽇本語訳されているチートシートもあります。 3 https://jpcertcc.github.io/OWASPdocuments/ https://goo.gl/fNPGwB

Slide 5

Slide 5 text

実は頻繁に更新されていて、なにか追加されています。 4 https://www.owasp.org/index.php/OWASP_Cheat_Sheet_Series

Slide 6

Slide 6 text

5 https://www.owasp.org/index.php/Abuse_Case_Cheat_Sheet

Slide 7

Slide 7 text

OWASP SAMMではAbuse Caseを考慮すべきとされています。 6

Slide 8

Slide 8 text

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を定義するの か

Slide 9

Slide 9 text

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)

Slide 10

Slide 10 text

各役割をこなし、対策/受容のコンセンサスをみんなで得ます。 9 ビジネス アナリスト リスク アナリスト 品質担当 (機能テスター) ペンテスター (セキュリ ティ担当) 技術責任者 ■各機能の説明 ■セキュリティ要件の更新 ■各機能に対する攻撃⽅法の提 案/説明 ■攻撃⽅法に対する対策及び講 じる場所の提案/説明 ■CVSSスコアの算出 ■対策に対するフィージビリティ のフィードバック ■全ての対策に要するコストと⼯ 数の評価 ■ビジネス状況に応じた CVSSスコアの修正/確定

Slide 11

Slide 11 text

各シートのサンプルがこれだ! 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⼀覧 ■機能⼀覧 ■対策⼀覧

Slide 12

Slide 12 text

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)

Slide 13

Slide 13 text

12 ✕

Slide 14

Slide 14 text

13 Hardening参加者の皆様、 競技前にビジネスにおけ るAbuseCaseを想定した 上で本番に臨んでみてわ?

Slide 15

Slide 15 text

そもそもHardeningは、ECサイトの堅牢化⼒を競います。 14 https://wasforum.jp/ ✕

Slide 16

Slide 16 text

想定される各機能のAbuse Caseを事前に検討 15 ✕ ECサイトの機能 ⼤ 中 ⼩ フロント 商品紹介 商品⼀覧 在庫終了ステータス 商品注⽂ ショッピングカート 配送時間指定 注⽂処理 ポイント購⼊ お客様ページ 会員登録 ログイン 注⽂履歴表⽰ 退会 その他 パスワード変更 オススメ表⽰ 問い合わせ ECサイトの機能 ⼤ 中 ⼩ 管理 売上状況 ঎඼؅ཧ 商品登録/編集 在庫情報登録 ച্؅ཧ 売上状況CSV出⼒ 配送状況CSV出⼒ 納品書PDF出⼒ 各種メール送信 ձһ؅ཧ お客様情報登録 お客様情報CSV出⼒ ίϯςϯπ؅ཧ オススメ管理 SEO管理 ϝϧϚΨ഑৴ Ϋʔϙϯ؅ཧ 【参考】https://www.ec-cube.net/product/functions.php

Slide 17

Slide 17 text

OWASP Connectという勉強会をやっています。LT枠空いていますよ。 16 https://owaspprteam.connpass.com/event/113927/

Slide 18

Slide 18 text

OWASP Japanはコミュニティスポンサーです。是⾮ご来場ください。 17