SlideShare ist ein Scribd-Unternehmen logo
1 von 56
Downloaden Sie, um offline zu lesen
今今夜夜わわかかるるWWeebbアアププリリケケーーシショョンン脆脆弱弱性性診診断断
OWASP Japan Chapter Leader,
TRICORDER Co. Ltd.
Sen UENO
PPrrooffiillee:: 上上野野 宣宣 ((SSeenn UUEENNOO))
株株式式会会社社トトラライイココーーダダ 代代表表取取締締役役
奈良先端科学技術大学院大学で情報セキュリティを専攻、2006年にサイバーセキュリティ教育や演習、
脆弱性診断などを提供する株式会社トライコーダを設立
OWASP Japan 代表、情報セキュリティ専門誌『ScanNetSecurity』編集長、
Hardening Project 実行委員、JNSA ISOG-J WG1リーダー、SECCON 実行委員、
情報処理安全確保支援士 集合講習講師、セキュリティキャンプGMなどを務める
(ISC)² 2017年アジア・パシフィック情報セキュリティ・リーダーシップ・アチーブメント(ISLA)を受賞
主主なな著著書書
Webセキュリティ担当者のための脆弱性診断スタート
ガイド - 上野宣が教える情報漏えいを防ぐ技術、
HTTPの教科書、めんどうくさいWebセキュリティ、他多数
(C) 2018 Tricorder Co. Ltd. 2
脆脆弱弱性性診診断断ととはは
(C) 2018 Tricorder Co. Ltd. 3
脆脆弱弱性性診診断断でで発発見見すするるもものの
• 脆弱性
– プログラムのバグ
– バグの中で悪用可能なものが脆弱性
• セキュリティ機能の不足
– 実装すればセキュリティレベルが向上する対策を実施していない
– 安全でないプロトコルや弱いパスワードの利用なども
• 脆弱性とセキュリティ機能の不足を見つけるのが脆弱性診断
(C) 2018 Tricorder Co. Ltd. 4
WWeebbアアププリリのの脆脆弱弱性性診診断断ははゼゼロロデデイイ探探しし
プラットフォームで対策すべき事項
• 既知の脆弱性
– バージョンが古く脆弱性が存在する
– すでにプロダクトのサポートが終了しているため脆弱性が修正されない
• 設定の不備
– 最新バージョンであってもセキュリティに関わる設定の不備による脆弱
性が存在する
• Webアプリケーション(プロダクトやパッケージを除く)はゼ
ロデイを探すことになる
– 攻撃者以外は誰も脆弱性を発見してくれない
(C) 2018 Tricorder Co. Ltd. 5
脆脆弱弱性性診診断断ととペペネネトトレレーーシショョンンテテスストト
• 脆弱性診断
– システムの構成要素単体の脆弱性を探す
– 脆弱性やセキュリティの問題を見つけることが目的
– 網羅的により多くの脆弱性を探す(単一の脆弱性を探す)
– テスト方法を学べば実施可能なテストケースに則ったテスト
• ペネトレーションテスト
– 組織や組織のシステム全体の脆弱性を探す
– 管理者権限の奪取や情報の入手が可能かどうかを検証することが目的
– 複数の脆弱性などを攻撃に利用する(網羅的には探さない)
– 多分野に亘るハッキング能力が必要(特に内部ネットワーク)
– Red Team/Teaming, 脅威ベースペネトレーションテスト(TLPT)
(C) 2018 Tricorder Co. Ltd. 6
脆脆弱弱性性診診断断士士ススキキルルママッッププププロロジジェェククトト
• 脆弱性診断を行う個人の技術的な能力を具体的にすることを目的
としたプロジェクト
– ISOG-JとOWASP Japan共同WG
– Webアプリケーション脆弱性診断ガイドラインなどを公開
https://www.owasp.org/index.php/Pentester_Skillmap_Project_JP
(C) 2018 Tricorder Co. Ltd. 7
「「脆脆弱弱性性診診断断士士」」ラランンクク
22つつののラランンククをを定定義義
• Silver ランク
– 脆弱性診断業務に従事する者が全員知って
おくべき技能
• Gold ランク
– 単独で診断業務を行うために必要な技能
8
各各ラランンククのの詳詳細細
9
SSiillvveerr GGoolldd
対象者像 l 自社の Web アプリケーションの脆
弱性診断(受入れ検査)を行う方
l 脆弱性診断業務の従事を目指す方
(学生など)
l Web アプリケーションの脆弱性診断
(受入れ検査)を行う方
l 脆弱性診断をサービスとして提供する業
務に従事する方
業務と役割 l Gold ランクの者の指示の下、脆弱性
診断を行う
l 自社 IT システムの脆弱性診断を行
う
l 脆弱性診断業務を管理し、診断方針の決
定、作業指示の実施、診断結果の精査お
よび評価を行うことができる
l 脆弱性診断の報告書を作成し、技術的
な説明ができる
期待する
技術水準
l IT システムを診断する上で(最低
限)必要な技術や知識を保有
l 脆弱性診断サービスを提供するのに必要
十分な技術や知識を保有
WWeebbアアププリリケケーーシショョンン脆脆弱弱性性診診断断ガガイイドドラライインン
• Webアプリケーションの脆弱性診断に最低限必要な診断項目や手順を定義
– 一定レベルの手動診断が行えるようになる
– 自動診断ツールの検査結果の検証が行える
ダダウウンンロローードドででききまますす
• WWeebbアアププリリケケーーシショョンン脆脆弱弱性性診診断断ガガイイドドラライインン
– ガイドライン本体
• ガガイイドドラライインン利利用用ののたためめののドドキキュュメメンントト
– 使い方
https://www.owasp.org/index.php/Pentester_Skillmap_Project_JP
WWeebbアアププリリケケーーシショョンンのの診診断断項項目目((11))
• 出力値のエスケープの不備
– SQLインジェクション
– コマンドインジェクション
– CRLFインジェクション
– クロスサイトスクリプティング
• セッション管理の不備
– セッションフィクセイション
– CookieのHttpOnly属性未設定
– 推測可能なセッションID
11(C) 2018 Tricorder Co. Ltd.
WWeebbアアププリリケケーーシショョンンのの診診断断項項目目((22))
• 情報漏えい(情報露出)
– クエリストリング情報の漏洩
– キャッシュからの情報漏洩
– パスワードフィールドのマスク不備
– 画面表示上のマスク不備
– HTTPS利用時のCookieのSecure属性未設定
– HTTPSの不備
– 不要な情報の存在
• 動作環境への診断項目
– サーバーソフトウェアの設定の不備
– 公開不要な機能・ファイル・ディレクトリの存在
12(C) 2018 Tricorder Co. Ltd.
WWeebbアアププリリケケーーシショョンンのの診診断断項項目目((33))
• その他の攻撃
– パストラバーサル
– XML外部エンティティ参照(XXE)
– オープンリダイレクト
– シリアライズされたオブジェクト
– リモートファイルインクルージョン
– クリックジャッキング
– 認証に係る脆弱性
– 認可制御の不備・欠落
– クロスサイト・リクエストフォージェリー(CSRF)
13(C) 2018 Tricorder Co. Ltd.
ククロロススササイイトトススククリリププテティィンンググのの診診断断例例
診診断断をを実実施施すすべべきき箇箇所所 ペペイイロローードド
すべて <script>alert(1)</script>
操操作作をを行行うう対対象象 診診断断方方法法
パラメーター パラメーターの値に検出パターンを挿入し、リクエ
ストを送信
脆脆弱弱性性ががああるる場場合合のの結結果果 脆脆弱弱性性ががなないい場場合合のの結結果果
検出パターンが適切にエエススケケーーププさされれずずにに挿入され
る
検出パターンが適切にエエススケケーーププさされれてて挿入される
※ Webアプリケーション脆弱性診断ガイドラインより抜粋元元のの文文字字 エエススケケーーププ例例
& &amp;
< &lt;
> &gt;
" &quot;
' &#39;
SSQQLLイインンジジェェククシショョンン
(C) 2018 Tricorder Co. Ltd. 15
SSQQLLイインンジジェェククシショョンン
• 不正な入力により任意のSQL文を実行させる攻撃
– Webコンテンツやユーザー入力値を格納するデータベースに対する攻撃
– 顧客情報の改ざん・流出、コンテンツの改ざん、意図しない挙動
– 認証の回避や認証情報の書き換え、テーブル破壊などの攻撃が可能
16(C) 2018 Tricorder Co. Ltd.
SSQQLL
17
SELECT title,text FROM userTbl WHERE id=123
ステートメント 列名 テーブル名 条件 列名 値
値:
hoge 列名
1234 数値
'hoge' 文字列
count(*), min(x) 関数
max(x), char(x)
条件(WHERE):
a=b , a<>b 同等
a>b 比較
a like '%test%' 文字列検索
a in ('a','b') 抽出
a not in (1,2,3)
(C) 2018 Tricorder Co. Ltd.
http://........
BBrroowwsseerr
SSQQLLイインンジジェェククシショョンンのの攻攻撃撃例例
18
BOOKSTORE
著者 "上野宣" の検索結果
発発売売日日 著著者者 書書名名
12/06/19 上野宣 めんどうくさいWebセ…
05/06/17 上野宣 今夜わかるメールプロ…
04/12/09 上野宣 今夜わかるHTTP
04/12/09 上野宣 今夜わかるTCP/IP
検索キーワードに指定
した著者の書籍一覧が
表示される機能
※絶版の書籍は
表示されない
(C) 2018 Tricorder Co. Ltd.
http://........
BBrroowwsseerr
正正常常処処理理のの動動作作例例
19
BOOKSTORE
著者 "上野宣" の検索結果
発発売売日日 著著者者 書書名名
12/06/19 上野宣 めんどうくさいWebセ…
05/06/17 上野宣 今夜わかるメールプロ…
04/12/09 上野宣 今夜わかるHTTP
04/12/09 上野宣 今夜わかるTCP/IP
【SQL文】
SELECT * FROM bookTbl WHERE author = '上野宣' and flag = 1;
bookTblテーブルから、author=上野宣 かつ flag=1(販売可能)の行のデータを
表示しなさい
http://example.com/search?q=上野宣
(C) 2018 Tricorder Co. Ltd.
デデーータタベベーーススのの処処理理
20
bbiidd ddaattee aauutthhoorr iitteemm ffllaagg
1000203503 17/06/23 上杉謙信 塩対応 1
1000203501 12/06/19 上野宣 めんどうくさいWebセキュリティ 1
1000103409 10/06/02 明智光秀 本能寺の変 0
1000093050 05/06/17 上野宣 今夜わかるメールプロトコル 1
1000085771 04/12/09 上野宣 今夜わかるHTTP 1
1000072889 04/12/09 上野宣 今夜わかるTCP/IP 1
1000042384 03/04/21 上野宣 ネットワーク初心者のためのTCP/IP入門 0
bookTbl
bookTblテーブルから、author= 上野宣 かつ flag=1 の行のデータを表示しな
さい
※ flag=0 は絶版書籍
(C) 2018 Tricorder Co. Ltd.
http://........
BBrroowwsseerr
SSQQLLイインンジジェェククシショョンンのの動動作作例例
21
BOOKSTORE
著者 "上野宣" の検索結果
発発売売日日 著著者者 書書名名
12/06/19 上野宣 めんどうくさいWebセ…
05/06/17 上野宣 今夜わかるメールプロ…
04/12/09 上野宣 今夜わかるHTTP
04/12/09 上野宣 今夜わかるTCP/IP
【SQL文】
SELECT * FROM bookTbl WHERE author ='上野宣' -- ' and flag = 1;
bookTblテーブルから、 author=上野宣 の行のデータを表示しなさい
(「--」以降はコメントアウトされるので flag=1 の条件は無視される)
http://example.com/search?q=上野宣' --
書き換える
(C) 2018 Tricorder Co. Ltd.
デデーータタベベーーススのの処処理理
22
bookTblテーブルから、 author=上野宣 の行のデータを表示しなさい
(flagの条件はSQLインジェクションによって無視されている)
bbiidd ddaattee aauutthhoorr iitteemm ffllaagg
1000203503 17/06/23 上杉謙信 塩対応 1
1000203501 12/06/19 上野宣 めんどうくさいWebセキュリティ 1
1000103409 10/06/02 明智光秀 本能寺の変 0
1000093050 05/06/17 上野宣 今夜わかるメールプロトコル 1
1000085771 04/12/09 上野宣 今夜わかるHTTP 1
1000072889 04/12/09 上野宣 今夜わかるTCP/IP 1
1000042384 03/04/21 上野宣 ネットワーク初心者のためのTCP/IP入門 0
bookTbl
本来は表示されない行
(C) 2018 Tricorder Co. Ltd.
http://........
BBrroowwsseerr
SSQQLLイインンジジェェククシショョンン結結果果
23
BOOKSTORE
著者 "上野宣' --" の検索結果
発発売売日日 著著者者 書書名名
12/06/19 上野宣 めんどうくさいWeb…
05/06/17 上野宣 今夜わかるメールプロ…
04/12/09 上野宣 今夜わかるHTTP
04/12/09 上野宣 今夜わかるTCP/IP
03/04/21 上野宣 ネットワーク初心者の… 本来は表示されない
絶版も含めたデータが
表示されてしまう
(C) 2018 Tricorder Co. Ltd.
SELECT * FROM bookTbl WHERE author = '$q' and flag = 1;
SELECT * FROM bookTbl WHERE author = '上野宣' -- ' and flag = 1;
SSQQLLイインンジジェェククシショョンンのの原原因因
• SQL文の構文を破壊する攻撃
– パラメーターに与えられた値がリテラルの外にはみ出した状態になり、
リテラルの後ろに続くSQL文として解釈される
– 構文を破壊する文字は何か?
– 構文を破壊した後に続く有効な攻撃は何か?
24
authorのリテラル
をはみ出している
(C) 2018 Tricorder Co. Ltd.
値値のの出出力力先先でで機機能能をを持持っっててそそれれがが動動作作すするる
• 出力先によって機能を持つ特殊文字は異なる
– SQL文、OSコマンド、ヘッダー、HTML、JavaScript、ディレクトリな
ど
25
http://........
BBrroowwsseerr
ショッピングサイト 入
力
処
理
出
力
クライアント Webアプリケーション
HTTP
リクエスト
http://........
BBrroowwsseerr
DB
ファイル
システム
HTTPレスポンス
DBアクセス
ファイルアクセス
値の出力先
(C) 2018 Tricorder Co. Ltd.
イインンジジェェククシショョンン関関連連のの脆脆弱弱性性診診断断でで確確認認すするる現現象象
• 構文を破壊して、リテラルの外にはみ出したことの確認
– 例:「"」で構文が破壊され、後続の文字がはみ出したことを確認
• 特殊文字が機能したことの確認
– 例: 「1+1」が演算して実行されたことを確認
• コマンドが実行されたことの確認
– 例: 「/bin/sleep 20」でコマンド実行され、20秒間止まることを確認
(C) 2018 Tricorder Co. Ltd. 26
脆脆弱弱性性診診断断にに使使用用すするるツツーールル
(C) 2018 Tricorder Co. Ltd. 27
自自動動とと手手動動のの診診断断手手法法
2つの診断手法
• 自動的に脆弱性を発見する診断
– 自動診断ツールによる診断
• 手作業で脆弱性を発見する診断
– 手動診断補助ツールを使う手作業による診断
• 自動診断ツールでは発見が難しい脆弱性や、自動的に探すことが
困難な機能や箇所があるため、確実に脆弱性診断を行うためには
手作業による診断を合わせて行うことが必要
– 自動診断ツールにしか発見できない脆弱性はない
(C) 2018 Tricorder Co. Ltd. 28
自自動動診診断断ツツーールルのの特特長長とと得得意意分分野野
• 最も大きな特長はスピード
• パラメーターに値を挿入して発見するタイプの脆弱性
– SQLインジェクションやクロスサイトスクリプティングなど
• HTMLやCookieなどのセキュリティ機能の不足
– レスポンス内容を見れば判断ができるセキュリティ機能の不足の発見
– CookieのHttpOnly属性、X-Frame-Optionsなど
• ディレクトリやファイルの発見
– リンクされているURL、robots.txtなどからファイルを探索
– crossdomain.xmlなどの特定のアプリケーションのためのファイルの探索
– 辞書機能で、どこからもリンクされていないファイルやディレクトリを探すこ
ともある
(C) 2018 Tricorder Co. Ltd. 29
自自動動診診断断ツツーールルでではは発発見見がが難難ししいい脆脆弱弱性性やや機機能能
発見が難しい脆弱性
• 認可制御の不備・欠落
• ビジネスロジック上の問題
• メールヘッダーインジェクション
• クロスサイトリクエストフォージェリ(CSRF)
発見が難しい機能
• 人間の判断や操作が必要になるもの
• メール受信、CAPTCHA、二要素認証、複数要素認証
• ゲームのような操作を伴うもの
• 脆弱性の発動に複数のパラメーターを利用するもの
• 一度しか実行できない機能
• 入力値の影響が次画面ではなく他の画面にでるもの
(C) 2018 Tricorder Co. Ltd. 30
ツールによって異なる
脆脆弱弱性性診診断断にに使使用用すするるツツーールル
• Proxyツール
– WebブラウザとWebサーバーの間にProxyとして入り、リクエスト・レ
スポンスに介在する
– 取得や保存、書き換え、再生などを行う
(C) 2018 Tricorder Co. Ltd. 31
http://........
BBrroowwsseerr
ショッピングサイト
WebサーバーProxyツールWebブラウザ
OOWWAASSPP ZZAAPP
(C) 2018 Tricorder Co. Ltd. 32
OOWWAASSPP ZZAAPP 動動的的ススキキャャンンがが
検検出出すするる脆脆弱弱性性
• インジェクション
– CRLFインジェクション
• HTTPヘッダーインジェクション/HTTPレスポンス分割攻撃
• メールヘッダーインジェクションは検出しない
– Format String Error
• CWE-134: Use of Externally-Controlled Format String
• フォーマットストリングバグ
– Server Side Code Injection
• CWE-94:Improper Control of Generation of Code
(‘Code Injection’)
• コードインジェクション
– Server Side Include
• CWE-97: Improper Neutralization of Server-Side Includes
(SSI) Within a Web Page
• SSIインジェクション
– SQLインジェクション
– クロスサイトスクリプティング(反射型)
– クロスサイトスクリプティング(持続型)
• バッファオーバーフロー
– CWE-788: Access of Memory Location After End of
Buffer
• パラメータ改ざん
– CWE-472:External Control of Assumed-Immutable
Web Parameter
• リモートOSコマンドインジェクション
– コマンドインジェクション
• クライアント・ブラウザ
– セキュアページのブラウザキャッシュ
• サーバ・セキュリティ
– パストラバーサル
– リモートファイルインクルージョン
• 一般
– Script Active Scan Rules
• 動的スキャン用に作成されたスクリプトの実行
– 外部リダイレクト
• オープンリダイレクト
• 情報収集
– ディレクトリブラウジング
• CWE-548: Information Exposure Through Directory Listing
– ディレクトリリスティング
(C) 2018 Tricorder Co. Ltd. 33
BBuurrpp SSuuiittee
(C) 2018 Tricorder Co. Ltd. 34
BBuurrpp SSuuiittee PPrrooffeessssiioonnaall
AAccttiivvee SSccaannnneerr
(C) 2018 Tricorder Co. Ltd. 35
脆脆弱弱性性診診断断のの実実施施
(C) 2018 Tricorder Co. Ltd. 36
脆脆弱弱性性診診断断のの実実施施手手順順
(C) 2018 Tricorder Co. Ltd. 37
テストケース作成 脆弱性診断の実施 診断結果の検証 レポート作成
• 診断対象の記録
• シナリオ作成
• 自動診断ツール
を使った診断
• 手動診断補助
ツールを使った
診断
• 診断ツールによる
レポート出力
• 手作業による
レポート作成
• 手作業による
診断結果の検証
脆脆弱弱性性診診断断のの実実施施手手順順
(C) 2018 Tricorder Co. Ltd. 38
テストケース作成 脆弱性診断の実施 診断結果の検証 レポート作成
• 診断対象の記録
• シナリオ作成
• 自動診断ツール
を使った診断
• 手動診断補助
ツールを使った
診断
• 診断ツールによる
レポート出力
• 手作業による
レポート作成
• 手作業による
診断結果の検証
テテスストトケケーースス((診診断断リリスストト))のの作作成成
• どこを診断するのか?
– URL
– Webページ内の特定の機能
– クエリーやPOSTデータ、ヘッダーフィールドなどのパラメーター
• どの順序で診断するのか?
– どのページから先に行うかの優先順位
– 特定の機能を利用するための画面遷移の順序
(C) 2018 Tricorder Co. Ltd. 39
診診断断リリスストトのの作作成成
1. 診断リストひな形の作成
– 項番、名称、URL、TYPE、パラメーター、診断項目
2. Webサイトのクロール
– Burp Suiteを使い、全動的ページ、全機能を巡回
– パラメーターやCookieの状態によって、異なる機能やパラメーターになるこ
ともあるので注意
3. リクエスト・レスポンスを確認しパラメーターの記載
– URL、TYPE、パラメーターを記載
– TYPE:GET、POST、Cookie、Redirect
• GET、POSTメソッド
• Cookie:Set-Cookieヘッダ
• Redirect:Locationヘッダ、METAタグのRefresh、JavaScript によるリダイレクト
(location.href, location.assign, location.replace)
(C) 2018 Tricorder Co. Ltd. 40
診診断断リリスストト
NNoo.. 名名称称 UURRLL TTYYPPEE パパララメメーータターー SSQQLLii ココママンン
ドドii
CCRRLLFFii XXSSSS パパスストト
ララババーー
ササルル
オオーーププ
ンンリリダダ
イイレレクク
トト
RRFFII ククリリッッ
クク
ジジャャッッ
キキンンググ
認認証証 認認可可制制
御御のの不不
備備・・欠欠
落落
セセッッ
シショョンン
フフィィクク
セセイイ
シショョンン
CCSSRRFF HHttttppOOnnll
yy属属性性未未
設設定定
推推測測可可
能能なな
セセッッ
シショョンン
IIDD
情情報報漏漏
ええいい
1 トップページ http://www.badstore.net/ 1
Cookie SSOid
Cookie CartID
2 Home
http://www.badstore.net/cgi-
bin/badstore.cgi
Cookie SSOid - - - - -
Cookie CartID - - - - -
URL action - - - - -
3
Sign our
Guestbook
http://www.badstore.net/cgi-
bin/badstore.cgi?action=guestbook
URL action - - - - -
Cookie SSOid - - - - -
Cookie CartID - - - - -
4
Sign our
Guestbook >
Add Entry
http://www.badstore.net/cgi-
bin/badstore.cgi?action=doguestbook
1 2
URL action - - -
Cookie SSOid - - -
Cookie CartID - - -
Body name - - 4
Body email - - 5
Body comments - - 6
(C) 2018 Tricorder Co. Ltd. 41
診診断断リリスストト
(C) 2018 Tricorder Co. Ltd. 42
診断をしない項目は
塗りつぶす
診診断断リリスストト
(C) 2018 Tricorder Co. Ltd. 43
診診断断リリスストト
(C) 2018 Tricorder Co. Ltd. 44
パラメーターに
起因しない脆弱性
パラメーターに
起因しない脆弱性
パラメーターに
起因する脆弱性
診診断断リリスストト
(C) 2018 Tricorder Co. Ltd. 45
診断の結果
脆弱性がなければ「-」
診断の結果
脆弱性があれば「番号」を付ける
番号は詳細レポートと紐付く
診断完了後は
すべての項目が埋まる
脆脆弱弱性性診診断断のの実実施施手手順順
(C) 2018 Tricorder Co. Ltd. 46
テストケース作成 脆弱性診断の実施 診断結果の検証 レポート作成
• 診断対象の記録
• シナリオ作成
• 自動診断ツール
を使った診断
• 手動診断補助
ツールを使った
診断
• 診断ツールによる
レポート出力
• 手作業による
レポート作成
• 手作業による
診断結果の検証
脆脆弱弱性性診診断断のの実実施施手手順順
(C) 2018 Tricorder Co. Ltd. 47
テストケース作成 脆弱性診断の実施 診断結果の検証 レポート作成
• 診断対象の記録
• シナリオ作成
• 自動診断ツール
を使った診断
• 手動診断補助
ツールを使った
診断
• 診断ツールによる
レポート出力
• 手作業による
レポート作成
• 手作業による
診断結果の検証
診診断断結結果果のの検検証証
• 発見した脆弱性は本当に問題になるのか?脅威になるのか?を検
証
• 自動診断ツールによる診断の場合は、手作業による診断結果の検
証が必要な場合もある
• 手動診断補助ツールを使った診断の場合は脆弱性診断の実施時に
合わせて行うこともある
(C) 2018 Tricorder Co. Ltd. 48
誤誤検検知知とと見見逃逃しし
誤検知(false positive)
• 正常なものを誤って脆弱性だと判断してしまうこと
見逃し(false negative)
• 脆弱性を発見できずに見逃してしまうこと
• 誤検知が起きるときはWebアプリケーションに何らかの問題が
あることも多いので、一概に誤検知が悪いこととはいえないこと
もある
(C) 2018 Tricorder Co. Ltd. 49
自自動動診診断断ツツーールルのの誤誤検検知知とと見見逃逃ししをを減減ららすす
• 異なる自動診断ツールを使った診断
• 自動診断レポートの確認
– 必要な場合には手作業で確かめる
(C) 2018 Tricorder Co. Ltd. 50
効率的かつ確実な診断には
自動診断ツールと手作業による診断を
組み合わせて行うことが必要
脆脆弱弱性性診診断断のの実実施施手手順順
(C) 2018 Tricorder Co. Ltd. 51
テストケース作成 脆弱性診断の実施 診断結果の検証 レポート作成
• 診断対象の記録
• シナリオ作成
• 自動診断ツール
を使った診断
• 手動診断補助
ツールを使った
診断
• 診断ツールによる
レポート出力
• 手作業による
レポート作成
• 手作業による
診断結果の検証
診診断断報報告告書書のの記記載載事事項項
• 表紙
– タイトル、日付、報告者(会社名、部署名、担当者名など)
• 目次
• イントロダクション
– 診断報告書について(報告書の概要や目的について)
– 脆弱性診断サービスの診断対象について
– 業務運営上のリスク(診断対象の事業やサービスなどのリスクについて)
– 診断を行う際に同意した契約上の規則(免責事項、守秘義務など)
– 診断を行う際の制限事項(主に脆弱性を発見にあたっての阻害要因)
• 診断実施概要
– 診断の実施日程
– 診断対象(URL、ドメイン、IPアドレス、機器名、サービス名など)
– ネットワーク環境(診断対象と診断実施側のネットワーク的な関係)
– 診断実施者(診断を担当した脆弱性診断士)
– 診断環境(診断に使用したOS環境や診断ツール、バージョンなど)
• 診断結果
– 診断結果の総合評価
– 個別の脆弱性の報告
(C) 2018 Tricorder Co. Ltd. 52
個個別別のの脆脆弱弱性性のの報報告告
• 通し番号(報告書内での通し番号)
• 脆弱性名称
• 脆弱性を一意に特定する識別子
– CWE、CVEなど
• リスク評価
– CVSS、独自指標など
• 脆弱性を発見した場所
– URL、タイトルや画面遷移での位置、画面キャプチャなど
• 脆弱性を発見したときのリクエストとレスポンスのHTTPメッセージ
• 脆弱性があると判断した理由
– 脆弱性の発動に一番因果関係が深いと考えられる事項
• 脆弱性の解説や対策
• システムやビジネスへの影響や脅威
(C) 2018 Tricorder Co. Ltd. 53
((例例))SSQQLLイインンジジェェククシショョンンのの報報告告
• 脆弱性名称:SQLインジェクション
• リスク評価:高
• 場所
– http://example.com/cgi-bin/badstore.cgi
– 画面左上「Quick Item Search」の検索フォーム
• リクエストしたHTTPメッセージの内容
– パラメーター「searchquery」に「'(シングルクォート)」を入力したときに、DBMSのエラーメッセージ「Query failed」
が表示されたため、SQLインジェクションがあると判断
(C) 2018 Tricorder Co. Ltd. 54
GET /cgi-bin/badstore.cgi?searchquery=%27&action=search&x=0&y=0 HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:21.0) Gecko/20100101 Firefox/21.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ja,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Referer: http://example.com/cgi-bin/badstore.cgi?action=whatsnew
Connection: keep-alive
ささいいごごにに
(C) 2018 Tricorder Co. Ltd. 55
脆脆弱弱性性診診断断士士にに求求めめらられれるる倫倫理理観観
• 「脆弱性診断士は、高い倫理を持ち、適切な手法でITシステムの脆弱
性診断を行える者であり、脆弱性診断士スキルマップ&シラバスで求
める技術や知識を保有している者に対して与えられる呼称である。」
(脆弱性診断士スキルマップの解説)
• 脆弱性診断の技術を悪用することで他者に不利益を与えたり、犯罪を
起こしてしまうこともある
• 自分に権利があるもの以外を勝手に脆弱性診断をしないこと
– 余計な正義感は不要
– バグバウンティ・プログラムなどもある
• HackerOne
https://www.hackerone.com/
(C) 2018 Tricorder Co. Ltd. 56

Weitere ähnliche Inhalte

Was ist angesagt?

React(TypeScript) + Go + Auth0 で実現する管理画面
React(TypeScript) + Go + Auth0 で実現する管理画面React(TypeScript) + Go + Auth0 で実現する管理画面
React(TypeScript) + Go + Auth0 で実現する管理画面KentaEndoh
 
Amazon SageMakerでカスタムコンテナを使った学習
Amazon SageMakerでカスタムコンテナを使った学習Amazon SageMakerでカスタムコンテナを使った学習
Amazon SageMakerでカスタムコンテナを使った学習西岡 賢一郎
 
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)abend_cve_9999_0001
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAkihiro Kuwano
 
とある診断員とAWS
とある診断員とAWSとある診断員とAWS
とある診断員とAWSzaki4649
 
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with KarateTakanori Suzuki
 
SQLインジェクション総”習”編
SQLインジェクション総”習”編SQLインジェクション総”習”編
SQLインジェクション総”習”編Yasuo Ohgaki
 
脆弱性診断って何をどうすればいいの?(おかわり)
脆弱性診断って何をどうすればいいの?(おかわり)脆弱性診断って何をどうすればいいの?(おかわり)
脆弱性診断って何をどうすればいいの?(おかわり)脆弱性診断研究会
 
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...Amazon Web Services Japan
 
PenTesterが知っている危ないAWS環境の共通点
PenTesterが知っている危ないAWS環境の共通点 PenTesterが知っている危ないAWS環境の共通点
PenTesterが知っている危ないAWS環境の共通点 zaki4649
 
フリーでできるWebセキュリティ(burp編)
フリーでできるWebセキュリティ(burp編)フリーでできるWebセキュリティ(burp編)
フリーでできるWebセキュリティ(burp編)abend_cve_9999_0001
 
ログ管理のベストプラクティス
ログ管理のベストプラクティスログ管理のベストプラクティス
ログ管理のベストプラクティスAkihiro Kuwano
 
20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway 20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway Amazon Web Services Japan
 
flaws.cloudに挑戦しよう!
flaws.cloudに挑戦しよう!flaws.cloudに挑戦しよう!
flaws.cloudに挑戦しよう!zaki4649
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織Takafumi ONAKA
 
マイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦いマイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦いota42y
 
CVE、JVN番号の取得経験者になろう!
CVE、JVN番号の取得経験者になろう!CVE、JVN番号の取得経験者になろう!
CVE、JVN番号の取得経験者になろう!kazkiti
 
Day 1 with Amazon Web Services - AWSご利用開始時に最低限おさえておきたい10のこと
Day 1 with Amazon Web Services - AWSご利用開始時に最低限おさえておきたい10のことDay 1 with Amazon Web Services - AWSご利用開始時に最低限おさえておきたい10のこと
Day 1 with Amazon Web Services - AWSご利用開始時に最低限おさえておきたい10のことAmazon Web Services Japan
 

Was ist angesagt? (20)

React(TypeScript) + Go + Auth0 で実現する管理画面
React(TypeScript) + Go + Auth0 で実現する管理画面React(TypeScript) + Go + Auth0 で実現する管理画面
React(TypeScript) + Go + Auth0 で実現する管理画面
 
Amazon SageMakerでカスタムコンテナを使った学習
Amazon SageMakerでカスタムコンテナを使った学習Amazon SageMakerでカスタムコンテナを使った学習
Amazon SageMakerでカスタムコンテナを使った学習
 
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
とある診断員とAWS
とある診断員とAWSとある診断員とAWS
とある診断員とAWS
 
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate
 
SQLインジェクション総”習”編
SQLインジェクション総”習”編SQLインジェクション総”習”編
SQLインジェクション総”習”編
 
脆弱性診断って何をどうすればいいの?(おかわり)
脆弱性診断って何をどうすればいいの?(おかわり)脆弱性診断って何をどうすればいいの?(おかわり)
脆弱性診断って何をどうすればいいの?(おかわり)
 
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
 
PenTesterが知っている危ないAWS環境の共通点
PenTesterが知っている危ないAWS環境の共通点 PenTesterが知っている危ないAWS環境の共通点
PenTesterが知っている危ないAWS環境の共通点
 
フリーでできるWebセキュリティ(burp編)
フリーでできるWebセキュリティ(burp編)フリーでできるWebセキュリティ(burp編)
フリーでできるWebセキュリティ(burp編)
 
Proxy War
Proxy WarProxy War
Proxy War
 
Azure Search 大全
Azure Search 大全Azure Search 大全
Azure Search 大全
 
ログ管理のベストプラクティス
ログ管理のベストプラクティスログ管理のベストプラクティス
ログ管理のベストプラクティス
 
20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway 20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway
 
flaws.cloudに挑戦しよう!
flaws.cloudに挑戦しよう!flaws.cloudに挑戦しよう!
flaws.cloudに挑戦しよう!
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
マイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦いマイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦い
 
CVE、JVN番号の取得経験者になろう!
CVE、JVN番号の取得経験者になろう!CVE、JVN番号の取得経験者になろう!
CVE、JVN番号の取得経験者になろう!
 
Day 1 with Amazon Web Services - AWSご利用開始時に最低限おさえておきたい10のこと
Day 1 with Amazon Web Services - AWSご利用開始時に最低限おさえておきたい10のことDay 1 with Amazon Web Services - AWSご利用開始時に最低限おさえておきたい10のこと
Day 1 with Amazon Web Services - AWSご利用開始時に最低限おさえておきたい10のこと
 

Ähnlich wie 今夜わかるWebアプリケーション脆弱性診断 (OWASP Day 758 / 2018)

分散システムの耐災害性・耐障害性の検証・評価・反映を行うプラットフォームの設計
分散システムの耐災害性・耐障害性の検証・評価・反映を行うプラットフォームの設計分散システムの耐災害性・耐障害性の検証・評価・反映を行うプラットフォームの設計
分散システムの耐災害性・耐障害性の検証・評価・反映を行うプラットフォームの設計Hiroki Kashiwazaki
 
サイバーセキュリティ錬金術
サイバーセキュリティ錬金術サイバーセキュリティ錬金術
サイバーセキュリティ錬金術Isao Takaesu
 
[JISA][変革リーダー養成部会]組織の中で自分を活かす生き方
[JISA][変革リーダー養成部会]組織の中で自分を活かす生き方[JISA][変革リーダー養成部会]組織の中で自分を活かす生き方
[JISA][変革リーダー養成部会]組織の中で自分を活かす生き方Shigeki Morizane
 
BCL WhiteSalon "Convergence of Bio X Silicon X Robotics may bring us to the C...
BCL WhiteSalon "Convergence of Bio X Silicon X Robotics may bring us to the C...BCL WhiteSalon "Convergence of Bio X Silicon X Robotics may bring us to the C...
BCL WhiteSalon "Convergence of Bio X Silicon X Robotics may bring us to the C...Gohsuke Takama
 
X-PERT: Accurate Identification of Cross-Browser Issues in Web Applications (...
X-PERT: Accurate Identification of Cross-Browser Issues in Web Applications (...X-PERT: Accurate Identification of Cross-Browser Issues in Web Applications (...
X-PERT: Accurate Identification of Cross-Browser Issues in Web Applications (...nkazuki
 
The Shift Left Path and OWASP
The Shift Left Path and OWASPThe Shift Left Path and OWASP
The Shift Left Path and OWASPRiotaro OKADA
 
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes [CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes CODE BLUE
 
SPIGAN理論と実装について at 論文LT会 in LPIXEL
SPIGAN理論と実装について at 論文LT会 in LPIXELSPIGAN理論と実装について at 論文LT会 in LPIXEL
SPIGAN理論と実装について at 論文LT会 in LPIXELWEBFARMER. ltd.
 
Jubatusが目指すインテリジェンス基盤
Jubatusが目指すインテリジェンス基盤Jubatusが目指すインテリジェンス基盤
Jubatusが目指すインテリジェンス基盤Shohei Hido
 
Agile Japan 2016 | アジャイルなIoTプラットフォーム開発
Agile Japan 2016 | アジャイルなIoTプラットフォーム開発Agile Japan 2016 | アジャイルなIoTプラットフォーム開発
Agile Japan 2016 | アジャイルなIoTプラットフォーム開発SORACOM,INC
 
The way to the timeless way of programming
The way to the timeless way of programmingThe way to the timeless way of programming
The way to the timeless way of programmingShintaro Kakutani
 
CISOが、適切にセキュリティ機能とレベルを決めるには
CISOが、適切にセキュリティ機能とレベルを決めるにはCISOが、適切にセキュリティ機能とレベルを決めるには
CISOが、適切にセキュリティ機能とレベルを決めるにはRiotaro OKADA
 
脆弱性診断研究会 第34回セミナー資料
脆弱性診断研究会 第34回セミナー資料脆弱性診断研究会 第34回セミナー資料
脆弱性診断研究会 第34回セミナー資料脆弱性診断研究会
 
セキュリティ管理 入門セミナ
セキュリティ管理 入門セミナセキュリティ管理 入門セミナ
セキュリティ管理 入門セミナMasaaki Nabeshima
 
Fortranが拓く世界、VSCodeが架ける橋
Fortranが拓く世界、VSCodeが架ける橋Fortranが拓く世界、VSCodeが架ける橋
Fortranが拓く世界、VSCodeが架ける橋智啓 出川
 
20170419PFNオープンハウス リサーチャーの仕事_公開用
20170419PFNオープンハウス リサーチャーの仕事_公開用20170419PFNオープンハウス リサーチャーの仕事_公開用
20170419PFNオープンハウス リサーチャーの仕事_公開用Preferred Networks
 
Jsai2018
Jsai2018Jsai2018
Jsai2018MLSE
 
継続的Webセキュリティテスト testing casual talks2
継続的Webセキュリティテスト testing casual talks2継続的Webセキュリティテスト testing casual talks2
継続的Webセキュリティテスト testing casual talks2ichikaway
 
さくらのナレッジの運営から見えるもの
さくらのナレッジの運営から見えるものさくらのナレッジの運営から見えるもの
さくらのナレッジの運営から見えるもの法林浩之
 

Ähnlich wie 今夜わかるWebアプリケーション脆弱性診断 (OWASP Day 758 / 2018) (20)

分散システムの耐災害性・耐障害性の検証・評価・反映を行うプラットフォームの設計
分散システムの耐災害性・耐障害性の検証・評価・反映を行うプラットフォームの設計分散システムの耐災害性・耐障害性の検証・評価・反映を行うプラットフォームの設計
分散システムの耐災害性・耐障害性の検証・評価・反映を行うプラットフォームの設計
 
サイバーセキュリティ錬金術
サイバーセキュリティ錬金術サイバーセキュリティ錬金術
サイバーセキュリティ錬金術
 
[JISA][変革リーダー養成部会]組織の中で自分を活かす生き方
[JISA][変革リーダー養成部会]組織の中で自分を活かす生き方[JISA][変革リーダー養成部会]組織の中で自分を活かす生き方
[JISA][変革リーダー養成部会]組織の中で自分を活かす生き方
 
BCL WhiteSalon "Convergence of Bio X Silicon X Robotics may bring us to the C...
BCL WhiteSalon "Convergence of Bio X Silicon X Robotics may bring us to the C...BCL WhiteSalon "Convergence of Bio X Silicon X Robotics may bring us to the C...
BCL WhiteSalon "Convergence of Bio X Silicon X Robotics may bring us to the C...
 
X-PERT: Accurate Identification of Cross-Browser Issues in Web Applications (...
X-PERT: Accurate Identification of Cross-Browser Issues in Web Applications (...X-PERT: Accurate Identification of Cross-Browser Issues in Web Applications (...
X-PERT: Accurate Identification of Cross-Browser Issues in Web Applications (...
 
The Shift Left Path and OWASP
The Shift Left Path and OWASPThe Shift Left Path and OWASP
The Shift Left Path and OWASP
 
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes [CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
 
SPIGAN理論と実装について at 論文LT会 in LPIXEL
SPIGAN理論と実装について at 論文LT会 in LPIXELSPIGAN理論と実装について at 論文LT会 in LPIXEL
SPIGAN理論と実装について at 論文LT会 in LPIXEL
 
Jubatusが目指すインテリジェンス基盤
Jubatusが目指すインテリジェンス基盤Jubatusが目指すインテリジェンス基盤
Jubatusが目指すインテリジェンス基盤
 
Agile Japan 2016 | アジャイルなIoTプラットフォーム開発
Agile Japan 2016 | アジャイルなIoTプラットフォーム開発Agile Japan 2016 | アジャイルなIoTプラットフォーム開発
Agile Japan 2016 | アジャイルなIoTプラットフォーム開発
 
The way to the timeless way of programming
The way to the timeless way of programmingThe way to the timeless way of programming
The way to the timeless way of programming
 
CISOが、適切にセキュリティ機能とレベルを決めるには
CISOが、適切にセキュリティ機能とレベルを決めるにはCISOが、適切にセキュリティ機能とレベルを決めるには
CISOが、適切にセキュリティ機能とレベルを決めるには
 
20141008物体検出器
20141008物体検出器20141008物体検出器
20141008物体検出器
 
脆弱性診断研究会 第34回セミナー資料
脆弱性診断研究会 第34回セミナー資料脆弱性診断研究会 第34回セミナー資料
脆弱性診断研究会 第34回セミナー資料
 
セキュリティ管理 入門セミナ
セキュリティ管理 入門セミナセキュリティ管理 入門セミナ
セキュリティ管理 入門セミナ
 
Fortranが拓く世界、VSCodeが架ける橋
Fortranが拓く世界、VSCodeが架ける橋Fortranが拓く世界、VSCodeが架ける橋
Fortranが拓く世界、VSCodeが架ける橋
 
20170419PFNオープンハウス リサーチャーの仕事_公開用
20170419PFNオープンハウス リサーチャーの仕事_公開用20170419PFNオープンハウス リサーチャーの仕事_公開用
20170419PFNオープンハウス リサーチャーの仕事_公開用
 
Jsai2018
Jsai2018Jsai2018
Jsai2018
 
継続的Webセキュリティテスト testing casual talks2
継続的Webセキュリティテスト testing casual talks2継続的Webセキュリティテスト testing casual talks2
継続的Webセキュリティテスト testing casual talks2
 
さくらのナレッジの運営から見えるもの
さくらのナレッジの運営から見えるものさくらのナレッジの運営から見えるもの
さくらのナレッジの運営から見えるもの
 

今夜わかるWebアプリケーション脆弱性診断 (OWASP Day 758 / 2018)