8
AIWebアプリ診断をやらせてみる ssmjp 2015/11/24 ~絶賛開発中!!~

Aiにwebアプリ診断をやらせてみる

Embed Size (px)

Citation preview

Page 1: Aiにwebアプリ診断をやらせてみる

AIにWebアプリ診断をやらせてみるssmjp2015/11/24

~絶賛開発中!!~

Page 2: Aiにwebアプリ診断をやらせてみる

1.自己紹介

• 名前:babaroa@bbr_bbq

• 仕事:Webアプリケーションの脆弱性診断

• 職歴:銀行系システム開発、Webアプリ開発など

• 趣味:スキャナ作り、機械学習

・6,720分でWebアプリケーションスキャナを作る方法

・多層パーセプトロンでCAPTCHAを認識する

http://qiita.com/bbr_bbq

Page 3: Aiにwebアプリ診断をやらせてみる

2.GOAL ~目指しているもの~

人間の診断員と同じように、Webアプリの脆弱性を見つける。

そんなAIを作りたい。

・診断対象のWebアプリを隅々まで巡回し、

・様々な診断を実施し、

・脆弱性を発見したら報告する。

具体的には…

完成にはあと30年くらいかかる見込み…

Page 4: Aiにwebアプリ診断をやらせてみる

3.いまできること

・Webアプリの巡回

ページ種別の判別(ログイン?会員登録?)

最適なパラメータ値の入力

ページ遷移の成否を判別

・脆弱性スキャン

・脆弱性の報告

会員登録機能でアカウントを作った後にログインを試行し、

ログイン後のページを粛々と巡回しながらスキャンする。

こんなことができます…

AIで実現

Page 5: Aiにwebアプリ診断をやらせてみる

4.診断の流れ

① AIに診断対象のURLを伝える ← ここだけ人間が関与

② フォームタグ(FORM)などを頼りに次遷移のURLを取得

③ 遷移先のページ種別を判別(ログイン?会員登録?検索?)

Bayesian network

④ 正常遷移できるパラメータ値の組み合わせを学習

DQN(Deep Q-Network)

⑤(学習結果を基に)遷移を再現しながらスキャンを実行

⑥ 診断結果を報告

loop

全ページの診断が終わるまで「学習→遷移→スキャン」を

ひたすら繰り返す。

Page 6: Aiにwebアプリ診断をやらせてみる

5.デモ

診断対象:OWASP BWA Cyclone

シグネチャ:SQLインジェクション「‘¥」

レスポンスに出力されるSQL構文エラーを検出して脆弱性判定

例)

Page 7: Aiにwebアプリ診断をやらせてみる

デモの様子はこちらをご覧ください。

https://www.youtube.com/watch?v=263uJZUvNNU&feature=youtu.be

Page 8: Aiにwebアプリ診断をやらせてみる

6.今後の予定

・巡回能力の強化(~1年)

複雑なアプリの巡回、CAPTCHA/画像認証の突破

・脆弱性スキャン能力の強化(~1、2年)

人間の知覚を要して検出する脆弱性にも一部対応

誤検知の低減

・自然言語処理の組み込み

・バグバウンティプログラムへの参戦

30年より前倒しして完成させたい…