狠狠撸

狠狠撸Share a Scribd company logo
自動検査ツールでは
発見できない脆弱性
2013/6/13 OWASP JAPAN 6th Local Chapter Meeting
Ikeda Masakazu
13年6月14日金曜日
ikepyonについて
仕事は、Webアプリの自動セキュリティ検査ツール売ってます
一度、Webアプリのセキュリティ検査に飽きて会社辞めました
なのに、なぜかまたWebアプリのセキュリティ検査やってますorz
Twitter(@ikepyon)でたまにつぶやいてます。
Webアプリの自動検査ツールを試しに作ったことがあります。動作検証用
なのであんまり使えませんorz
http://webappsec.sakura.ne.jp/modules/wfdownloads/
singlefile.php?cid=2&lid=6
13年6月14日金曜日
自動検査ツールでは
発見できない
バックドアの作り方
13年6月14日金曜日
Agenda
Webアプリ脆弱性検査ツールの仕組み
検出できない脆弱性
13年6月14日金曜日
Webアプリ脆弱性検査ツールの仕組み
13年6月14日金曜日
Webアプリ脆弱性検査ツールの仕組み
商用ツール
Acunetix
AppScan
Burp
WebInspect
Vex
フリーツール
ZAP
Paros
13年6月14日金曜日
Webアプリ脆弱性検査ツールの仕組み
検査ツール ブラウザWebアプリ
リクエスト/レスポンス
を記録
リクエストを送信リクエストを送信
13年6月14日金曜日
Webアプリ脆弱性検査ツールの仕組み
検査ツールWebアプリ
記録したリクエストを基に
テストリクエストを作成
テストリクエストを送信
記録したリクエストのパラメータ?Cookieをテストパターンに変
えて送信
帰ってきたレスポンスを見て脆弱性の有無を判断
判定方法は、基本的に2個
リクエスト記録時のレスポンスと比較
レスポンスで特定の文字列を検索
13年6月14日金曜日
検出できない脆弱性
13年6月14日金曜日
検出できない脆弱性
脆弱性の仕組み上ツールだけでは検出できない脆
弱性
アプリの仕様によって検出できない脆弱性
13年6月14日金曜日
脆弱性の仕組み上ツールだけでは
検出できない脆弱性
クロスサイト?リクエスト?フォージェリ
(CSRF)
メールヘッダインジェクション
ビジネスロジックに起因する脆弱性
13年6月14日金曜日
アプリの仕様によって
検出できない脆弱性
入力したデータを処理するページが数ページ後にあり、そこに脆弱性があ
る場合
CAPTCHAやワンタイムパスワードを使用しているリクエストの検査
同じ処理が何度も実行できない場合
複数のパラメータを利用して発生する脆弱性
ゲームのように同じリクエストに対して一定のレスポンスを返さない場合
13年6月14日金曜日
アプリの仕様によって
検出できない脆弱性
入力したデータを処理するページが数ページ後あ
り、そこに脆弱性がある場合
13年6月14日金曜日
アプリの仕様によって
検出できない脆弱性
入力したデータを処理するページが数ページ後あ
り、そこに脆弱性がある場合
攻撃パターン
を入力
13年6月14日金曜日
アプリの仕様によって
検出できない脆弱性
入力したデータを処理するページが数ページ後あ
り、そこに脆弱性がある場合
攻撃パターン
を入力
攻撃が成功
13年6月14日金曜日
アプリの仕様によって
検出できない脆弱性
入力したデータを処理するページが数ページ後あ
り、そこに脆弱性がある場合
ほとんどのツールはテストリクエストを送信し
た時のレスポンスしか確認しない
一部ツールはどのレスポンスを確認するか指定
できるが、どこに脆弱性があると考えられる
か事前に知っておく必要がある
13年6月14日金曜日
アプリの仕様によって
検出できない脆弱性
CAPTCHAやワンタイムパスワードを使用している
リクエストの検査
2要素認証のあるアプリ
会員登録
13年6月14日金曜日
アプリの仕様によって
検出できない脆弱性
CAPTCHAやワンタイムパスワードを使用している
リクエストの検査
検査には記録したときのパラメータの値か、レ
スポンスに含まれる文字列を値に使用する
画像やメールなどから送信するパラメータの値
を取得することは出来ない
13年6月14日金曜日
アプリの仕様によって
検出できない脆弱性
同じ処理が何度も実行できない場合
パスワードの定期的変更処理
抽選を行うアプリ
13年6月14日金曜日
アプリの仕様によって
検出できない脆弱性
同じ処理が何度も実行できない場合
記録したリクエストを再送するので、記録時に
必ず処理を行う
1度送信されたテストリクエストで処理をして
しまうと、以降テストリクエストを送信して
も、実際には処理が行われないため脆弱性が
あっても検出できない
13年6月14日金曜日
アプリの仕様によって
検出できない脆弱性
複数のパラメータを利用して発生する脆弱性
不完全なShiftーJISを使用したXSS
パスワード変更処理における新パスワードと確
認用パスワードにある脆弱性
13年6月14日金曜日
アプリの仕様によって
検出できない脆弱性
複数のパラメータを利用して発生する脆弱性
検査ツールでは、 一つのパラメータのみをテ
ストデータに置き換える
同時にパラメータを変更する必要がある脆弱性
は検出できない
13年6月14日金曜日
アプリの仕様によって
検出できない脆弱性
同じリクエストを送信した場合、一定のレスポン
スを返さない場合
ブラウザゲーム
13年6月14日金曜日
アプリの仕様によって
検出できない脆弱性
同じリクエストを送信した場合、一定のレスポン
スを返さない場合
記録したときのレスポンスとテストレスポンス
を比較して脆弱性を検出するので、レスポンス
がリクエスト毎に変わるとFalse
Positive、False Negativeが多い
13年6月14日金曜日
まとめ
ツールでは脆弱性を検出できない場合があるので
ツールによる脆弱性検査を過信してはいけない
必要に応じて手動で検査がする必要がある
ツールによる検査の省力化は十分有用なのでツー
ルと手動のよいところを組み合わせるのがよい
13年6月14日金曜日
まとめ
脆弱性検査ツールのご利用は計画的に
13年6月14日金曜日
ご静聴
ありがとうございました
13年6月14日金曜日

More Related Content

翱飞补蝉辫 箩补辫补苍6迟丑