Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Webアプリ診断AIの開発 クローラー編

91 420 vues

Publié le

2015.12.19 Chainer MeetUp.

Publié dans : Logiciels
  • Identifiez-vous pour voir les commentaires

Webアプリ診断AIの開発 クローラー編

  1. 1. Webアプリ診断A.Iの開発 - クローラー編 - Chainer MeetUp #01 2015/12/19
  2. 2. 1.自己紹介 • 名前:高江洲 勲(babaroa@bbr_bbq) • 仕事:Webアプリケーションの脆弱性診断 • 所属:三井物産セキュアディレクション • 経験:銀行系システム開発、Webアプリ開発など • 趣味:脆弱性スキャナ作り、機械学習 ・6,720分でWebアプリケーションスキャナを作る方法 ・多層パーセプトロンでCAPTCHAを認識する … http://qiita.com/bbr_bbq
  3. 3. 診断員 Internet Webサーバ Webアプリ F/W 診断員 診断環境 診断対象 Webアプリを巡回しながら診断パターン(XSS,SQLiなど)を試行。 Webアプリのレスポンスから脆弱性の有無を判定する。 2.Webアプリケーション診断とは?
  4. 4. 3.GOAL 人間の診断員と同じように、Webアプリの脆弱性を見つける。 そんな診断A.Iを作る。 ・診断対象のWebアプリを隅々まで巡回し、 ・様々な診断を実施し、 ・脆弱性を発見したら報告する。 具体的には… 完成には30年くらいかかる見込み…
  5. 5. 4.いまできること ・Webアプリの巡回  ページ種別の認識(ログイン?会員登録?)  フォームに最適なパラメータ値を入力  ページ遷移の成否を認識 ・脆弱性スキャン ・簡易レポート出力 会員登録機能でアカウントを作った後にログインを試行し、 ログイン後のページを粛々と巡回しながらスキャンする。 こんなことができます… A.Iで実現
  6. 6. 5.診断A.Iの思考フロー ① 人間から対象WebアプリのトップURLを教えて貰う ② トップURLのResから、次ページのURL・パラメータを抽出 ③ 次ページの種別を認識(ログイン?会員登録?)  Naive Bayes分類器 ④ (FORMの場合)正常遷移できる最適パラメータ値を学習  DeepじゃないDQN(Deep Q-Network) ⑤(学習結果を基に)正常遷移しながらスキャンを実行 ⑥ 診断結果を報告 繰り返す 全ページ・全パラメータの診断が終わるまで “学習→遷移→スキャン”を繰り返す。
  7. 7. 6.最適パラメータ値の学習 ・ ・ ・ 状態の入力 中間処理 行動の出力(パラメータ構成の決定) ・ ・ ・ 多層NN 95 14 ・ ・ ・ Q’値 -2 評価 報酬 or 罰則 英字のみ 英字・数字 メアド風文字列 今のページNo 次のページNo 遷移状態 87 8 6 Q値 誤差の算出 強化学習 誤差が最小になるように重みを更新 ・多層NNでChainerを利用 p1=abcd&p2=xyz・・・ p1=1234&p2=abc・・・ p1=hoge@hoge.jp・・・ ・ ・ ・
  8. 8. 7.デモ 診断対象:OWASP BWA Cyclone シグネチャ:SQLインジェクション「‘¥」 レスポンスに出力されるSQL構文エラーを検出して脆弱性判定 例)
  9. 9. 8.今後の予定 ・クローリング能力の強化  複雑なアプリの巡回(業務アプリ、ECサイトなど) CAPTCHA/画像認証の突破 ・脆弱性スキャン能力の強化  ロジック系の脆弱性にも一部対応  誤検知の低減 ・自然言語処理の組み込み ・バグバウンティプログラムへの参戦  診断A.Iによるバグ検出の実現

×