Mais conteúdo relacionado
Semelhante a ベイジアンネットワークによるウェブ侵入検知 金床 AVTokyo 2013.5 (20)
ベイジアンネットワークによるウェブ侵入検知 金床 AVTokyo 2013.5
- 2.
自己紹介
• 金床
• Web Application Firewall の開発
• ミッション:「攻撃検知の精度を上げる」
– 攻撃を見逃さない
– 正常な通信を止めない
2
02/17/14
Copyright (c) Bitforest Co., Ltd.
- 3.
ベイズの定理
– B が起こったときに A が起こる確率 P(A|B) に、
A が起こった時に B が起こる確率 P(B|A) を対応
させる式
• 「道具としてのベイズ統計 ( 涌井良幸著)」より
– 確率の計算テクニックとして使える
– 別に難しくないので、興味がある人はちょっと
時間を作って学べばすぐ理解できる
3
02/17/14
Copyright (c) Bitforest Co., Ltd.
- 4.
ベイジアンネットワークとは?
– ベイジアンネットワーク( Bayesian network )
は、因果関係を確率により記述するグラフィカ
ルモデルの 1 つで、複雑な因果関係の推論を有
向グラフ構造により表すとともに、個々の変数
の関係を条件つき確率で表す確率推論のモデル
である。(ウィキペディアより)
Hacker
Drunken
AVTokyo
4
Beer in
hand
02/17/14
Copyright (c) Bitforest Co., Ltd.
- 5.
スプリンクラーの例
•ノードとエッジが因果関係を表す
•原因 -> 結果の確率は CPT で事前に判明している
•観察されたノードに情報をエビデンスとして入力
•観察できないノードの確率が変化(出力として利用)
•計算のためにベイズの定理を使う
•「今、芝が濡れていることがわかった。さて、雨が降った確率はいくつだろうか?」
5
02/17/14
Copyright (c) Bitforest Co., Ltd.
- 6.
Weka
– オープンソース、 Java によるデータマイニング
ソフトウェア集
– ライブラリ、 GUI ツールなどなんでもあり
– 老舗
– (スプリンクラーのデモ)
6
02/17/14
Copyright (c) Bitforest Co., Ltd.
- 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.
- 9.
WAF(Web Application Firewall) の検知性能向上への挑戦
– シグネチャベース ( ブラックリスト型 )
• If ‘alert’ then die!
• 単純だがメリットも数多くある
– 挙動が明確
– パフォーマンス一定(比較的速い)
– 人間がメンテしやすい
• 最大のデメリット 検知精度は低い(誤検知が多
い)
9
02/17/14
Copyright (c) Bitforest Co., Ltd.
- 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.
WAF(Web Application Firewall) の検知性能向上への挑戦
– 閾値モデル(つづき)
– Alert で 5 点加算
– UNION で 5 点加算
– “Alert UNION” で 10 点?
– 「 XSS 」「 SQLi 」など複数の属性ごとに計算す
べき
11
02/17/14
Copyright (c) Bitforest Co., Ltd.
- 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.
ベイズの定理によって乗算・確率表現ができる
– UNION だけの場合 ( それほど…)
– SELECT だけの場合(別に…)
– UNION と SELECT の両方の場合(これはまず
い!)
– ベイズの定理による計算によって、「希なケー
ス」の場合には「攻撃である確率が高い」こと
が自然に導出される
15
02/17/14
Copyright (c) Bitforest Co., Ltd.
- 16.
チューニングしやすい
– 中間的な役目のノード (mediating variables) が便
利
– CPT の数値を変更した際の全体への影響が予想
通りになる
– ニューラルネットワークのようなブラックボッ
クスではないので、細かく作業を積み重ねてい
ける
16
02/17/14
Copyright (c) Bitforest Co., Ltd.
- 17.
エキスパートの勘とのシンクロ感
「 A という条件と B という条件だったら C っぽ
くなる」
のような、専門家(エキスパート)の感覚が、そ
のまま数値として出力されてくる
人間の意志決定のプロセスとベイジアンネット
ワークの相似性
17
02/17/14
Copyright (c) Bitforest Co., Ltd.