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