Upload
isao-takaesu
View
399
Download
0
Embed Size (px)
Citation preview
AIにWebアプリ診断をやらせてみるssmjp2015/11/24
~絶賛開発中!!~
1.自己紹介
• 名前:babaroa@bbr_bbq
• 仕事:Webアプリケーションの脆弱性診断
• 職歴:銀行系システム開発、Webアプリ開発など
• 趣味:スキャナ作り、機械学習
・6,720分でWebアプリケーションスキャナを作る方法
・多層パーセプトロンでCAPTCHAを認識する
…
http://qiita.com/bbr_bbq
2.GOAL ~目指しているもの~
人間の診断員と同じように、Webアプリの脆弱性を見つける。
そんなAIを作りたい。
・診断対象のWebアプリを隅々まで巡回し、
・様々な診断を実施し、
・脆弱性を発見したら報告する。
具体的には…
完成にはあと30年くらいかかる見込み…
3.いまできること
・Webアプリの巡回
ページ種別の判別(ログイン?会員登録?)
最適なパラメータ値の入力
ページ遷移の成否を判別
・脆弱性スキャン
・脆弱性の報告
会員登録機能でアカウントを作った後にログインを試行し、
ログイン後のページを粛々と巡回しながらスキャンする。
こんなことができます…
AIで実現
4.診断の流れ
① AIに診断対象のURLを伝える ← ここだけ人間が関与
② フォームタグ(FORM)などを頼りに次遷移のURLを取得
③ 遷移先のページ種別を判別(ログイン?会員登録?検索?)
Bayesian network
④ 正常遷移できるパラメータ値の組み合わせを学習
DQN(Deep Q-Network)
⑤(学習結果を基に)遷移を再現しながらスキャンを実行
⑥ 診断結果を報告
loop
全ページの診断が終わるまで「学習→遷移→スキャン」を
ひたすら繰り返す。
5.デモ
診断対象:OWASP BWA Cyclone
シグネチャ:SQLインジェクション「‘¥」
レスポンスに出力されるSQL構文エラーを検出して脆弱性判定
例)
デモの様子はこちらをご覧ください。
https://www.youtube.com/watch?v=263uJZUvNNU&feature=youtu.be
6.今後の予定
・巡回能力の強化(~1年)
複雑なアプリの巡回、CAPTCHA/画像認証の突破
・脆弱性スキャン能力の強化(~1、2年)
人間の知覚を要して検出する脆弱性にも一部対応
誤検知の低減
・自然言語処理の組み込み
・バグバウンティプログラムへの参戦
30年より前倒しして完成させたい…