ベイジアンネットワークによるウェブ侵入検知 金床 AVTokyo 2013.5

2,196
-1

Published on

Published in: Technology

ベイジアンネットワークによるウェブ侵入検知 金床 AVTokyo 2013.5

  1. 1.   ベイジアンネットワークによるウェブ侵入検知 金床 (Kanatoko) 株式会社ビットフォレスト CTO @kinyuka http://www.jumperz.net/ http://www.scutum.jp/ 1 02/17/14 Copyright (c) Bitforest Co., Ltd.
  2. 2.   自己紹介 • 金床 • Web Application Firewall の開発 • ミッション:「攻撃検知の精度を上げる」 – 攻撃を見逃さない – 正常な通信を止めない 2 02/17/14 Copyright (c) Bitforest Co., Ltd.
  3. 3.   ベイズの定理 – B が起こったときに A が起こる確率 P(A|B) に、 A が起こった時に B が起こる確率 P(B|A) を対応 させる式 • 「道具としてのベイズ統計 ( 涌井良幸著)」より – 確率の計算テクニックとして使える – 別に難しくないので、興味がある人はちょっと 時間を作って学べばすぐ理解できる 3 02/17/14 Copyright (c) Bitforest Co., Ltd.
  4. 4.   ベイジアンネットワークとは? – ベイジアンネットワーク( Bayesian network ) は、因果関係を確率により記述するグラフィカ ルモデルの 1 つで、複雑な因果関係の推論を有 向グラフ構造により表すとともに、個々の変数 の関係を条件つき確率で表す確率推論のモデル である。(ウィキペディアより) Hacker Drunken AVTokyo 4 Beer in hand 02/17/14 Copyright (c) Bitforest Co., Ltd.
  5. 5.   スプリンクラーの例 •ノードとエッジが因果関係を表す •原因 -> 結果の確率は CPT で事前に判明している •観察されたノードに情報をエビデンスとして入力 •観察できないノードの確率が変化(出力として利用) •計算のためにベイズの定理を使う •「今、芝が濡れていることがわかった。さて、雨が降った確率はいくつだろうか?」 5 02/17/14 Copyright (c) Bitforest Co., Ltd.
  6. 6.   Weka – オープンソース、 Java によるデータマイニング ソフトウェア集 – ライブラリ、 GUI ツールなどなんでもあり – 老舗 – (スプリンクラーのデモ) 6 02/17/14 Copyright (c) Bitforest Co., Ltd.
  7. 7.   ウェブの侵入検知でベイジアンネットワークをどう使うか? •HTTP リクエストが攻撃である確率 -> 1% •HTTP リクエストが攻撃でない確率 -> 99% •HTTP リクエストが攻撃である場合に、その HTTP リクエストが alert という文字列を含む確率 -> 8% •HTTP リクエストが攻撃である場合に、その HTTP リクエストが •alert という文字列を含まない確率 ->92% •HTTP リクエストが攻撃でない場合に、その HTTP リクエストが alert という文字列を含む確率 -> 0.2% •HTTP リクエストが攻撃でない場合に、その HTTP リクエストが •alert という文字列を含まない確率 ->99.8% 今、目の前にある HTTP リクエストが攻撃である確率はいくつか? 1% 今、目の前にある HTTP リクエストに alert という文字列が含まれていた。 この HTTP リクエストが攻撃である確率はいくつか? 28.8% 7 02/17/14 Copyright (c) Bitforest Co., Ltd.
  8. 8.   スパムフィルタとナイーヴベイズ 8 02/17/14 Copyright (c) Bitforest Co., Ltd.
  9. 9.   WAF(Web Application Firewall) の検知性能向上への挑戦 – シグネチャベース ( ブラックリスト型 ) • If ‘alert’ then die! • 単純だがメリットも数多くある – 挙動が明確 – パフォーマンス一定(比較的速い) – 人間がメンテしやすい • 最大のデメリット 検知精度は低い(誤検知が多 い) 9 02/17/14 Copyright (c) Bitforest Co., Ltd.
  10. 10.   WAF(Web Application Firewall) の検知性能向上への挑戦 – 閾値モデル シグネチャごとに点数を加えたり減らしたりする 最終的に閾値を超えていたら攻撃とみなす 検知精度↑ メンテナンス性↓ チューニング作業中に違和感あり UNION で 5 点加算(ルール 1 ) SELECT で 5 点加算(ルール 2 ) UNION と SELECT 両方ある場合は? 10 点でいいの か? • UNION も SELECT もある場合は 20 点加算(ルール 3) • 組み合わせが増えすぎる 10 02/17/14 • • • • • • • • Copyright (c) Bitforest Co., Ltd.
  11. 11.   WAF(Web Application Firewall) の検知性能向上への挑戦 – 閾値モデル(つづき) – Alert で 5 点加算 – UNION で 5 点加算 – “Alert UNION” で 10 点? – 「 XSS 」「 SQLi 」など複数の属性ごとに計算す べき 11 02/17/14 Copyright (c) Bitforest Co., Ltd.
  12. 12.   WAF(Web Application Firewall) の検知性能向上への挑戦 – ベイジアンネットワーク • 閾値モデルが持っていた問題をほぼ全て解決 12 02/17/14 Copyright (c) Bitforest Co., Ltd.
  13. 13.   ベイジアンネットワークの利点 – 複雑な属性同士の関係性をそのままネットワー ク (GUI 操作 ) で表現できる – ベイズの定理によって乗算・確率表現ができる – チューニングしやすい – エキスパートの勘とのシンクロ感 13 02/17/14 Copyright (c) Bitforest Co., Ltd.
  14. 14.   複雑な属性同士の関係性をそのままネットワークで表現できる – 一対多(エッジの引き方)、強弱( CPT )が表 現できる – GUI でモデルを作り、それを使ってそのまま計 算ができる • Weka の Bayesian Network Editor を使用 – 複雑な属性同士の関係性 • 例( XSS 、 CMS ) • 例(脆弱性検査、国内のユーザ ) • 例 (eval と Java, Ruby, JavaScript, Perl, PHP) 14 02/17/14 Copyright (c) Bitforest Co., Ltd.
  15. 15.   ベイズの定理によって乗算・確率表現ができる – UNION だけの場合 ( それほど…) – SELECT だけの場合(別に…) – UNION と SELECT の両方の場合(これはまず い!) – ベイズの定理による計算によって、「希なケー ス」の場合には「攻撃である確率が高い」こと が自然に導出される 15 02/17/14 Copyright (c) Bitforest Co., Ltd.
  16. 16.   チューニングしやすい – 中間的な役目のノード (mediating variables) が便 利 – CPT の数値を変更した際の全体への影響が予想 通りになる – ニューラルネットワークのようなブラックボッ クスではないので、細かく作業を積み重ねてい ける 16 02/17/14 Copyright (c) Bitforest Co., Ltd.
  17. 17.   エキスパートの勘とのシンクロ感 「 A という条件と B という条件だったら C っぽ くなる」 のような、専門家(エキスパート)の感覚が、そ のまま数値として出力されてくる 人間の意志決定のプロセスとベイジアンネット ワークの相似性 17 02/17/14 Copyright (c) Bitforest Co., Ltd.
  18. 18.   まとめ ベイジアンネットワークは、複数の観察された情 報に基づいて意志決定する際に最適な技術 「専門家 ( エキスパート ) が目で見れば攻撃かど うか判別ができる」 → それをコンピュータにやらせたい という場面で使うことができる技術 18 02/17/14 Copyright (c) Bitforest Co., Ltd.
  19. 19.   おまけ – 株式会社ビットフォレストではウェブ侵入検知 をはじめ、ウェブアプリケーションセキュリ ティに興味があるエンジニアを募集中です。 – データサイエンスに興味がある人も大歓迎 – @kinyuka までお気軽に 19 02/17/14 Copyright (c) Bitforest Co., Ltd.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×