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

19
Copyright (c) Bitforest Co., Ltd. ベベベベベベベベベベベベベベベベベベベベベ ベベ (Kanatoko) ベベベベベベベベベベベベ CTO @kinyuka http://www.jumperz.net/ http://www.scutum.jp/ 22/06/13 1

Upload: tadashi-satoh

Post on 28-May-2015

1.807 views

Category:

Technology


5 download

TRANSCRIPT

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

Copyright (c) Bitforest Co., Ltd.

 

 

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

金床 (Kanatoko)株式会社ビットフォレスト CTO

@kinyukahttp://www.jumperz.net/

http://www.scutum.jp/

23/04/121

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

Copyright (c) Bitforest Co., Ltd.

 

 

自己紹介

• 金床• Web Application Firewall の開発• ミッション:「攻撃検知の精度を上げる」

– 攻撃を見逃さない– 正常な通信を止めない

23/04/122

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

Copyright (c) Bitforest Co., Ltd.

 

 

ベイズの定理

– B が起こったときに A が起こる確率 P(A|B) に、A が起こった時に B が起こる確率 P(B|A) を対応させる式

• 「道具としてのベイズ統計 ( 涌井良幸著)」より

– 確率の計算テクニックとして使える– 別に難しくないので、興味がある人はちょっ

と時間を作って学べばすぐ理解できる

23/04/123

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

Copyright (c) Bitforest Co., Ltd.

 

 

ベイジアンネットワークとは?

– ベイジアンネットワーク( Bayesian network )は、因果関係を確率により記述するグラフィカルモデルの 1 つで、複雑な因果関係の推論を有向グラフ構造により表すとともに、個々の変数の関係を条件つき確率で表す確率推論のモデルである。(ウィキペディアより)

23/04/124

AVTokyo

HackerDrunken

Beer in hand

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

Copyright (c) Bitforest Co., Ltd.

 

 

スプリンクラーの例

23/04/125

•ノードとエッジが因果関係を表す•原因 -> 結果の確率は CPT で事前に判明している•観察されたノードに情報をエビデンスとして入力•観察できないノードの確率が変化(出力として利用)•計算のためにベイズの定理を使う

•「今、芝が濡れていることがわかった。さて、雨が降った確率はいくつだろうか?」

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

Copyright (c) Bitforest Co., Ltd.

 

 

Weka

– オープンソース、 Java によるデータマイニングソフトウェア集

– ライブラリ、 GUI ツールなどなんでもあり– 老舗– (スプリンクラーのデモ)

23/04/126

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

Copyright (c) Bitforest Co., Ltd.

 

 

ウェブの侵入検知でベイジアンネットワークをどう使うか?

23/04/127

•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%

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

Copyright (c) Bitforest Co., Ltd.

 

 

スパムフィルタとナイーヴベイズ

23/04/128

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

Copyright (c) Bitforest Co., Ltd.

 

 

WAF(Web Application Firewall) の検知性能向上への挑戦

– シグネチャベース ( ブラックリスト型 )• If ‘alert’ then die!• 単純だがメリットも数多くある

– 挙動が明確– パフォーマンス一定(比較的速い)– 人間がメンテしやすい

• 最大のデメリット 検知精度は低い(誤検知が多い)

23/04/129

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

Copyright (c) Bitforest Co., Ltd.

 

 

WAF(Web Application Firewall) の検知性能向上への挑戦

– 閾値モデル• シグネチャごとに点数を加えたり減らしたりする• 最終的に閾値を超えていたら攻撃とみなす• 検知精度↑• メンテナンス性↓• チューニング作業中に違和感あり• UNION で 5 点加算(ルール 1 )• SELECT で 5 点加算(ルール 2 )• UNION と SELECT 両方ある場合は? 10 点でいいのか?• UNION も SELECT もある場合は 20 点加算(ルール 3 )• 組み合わせが増えすぎる

23/04/1210

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

Copyright (c) Bitforest Co., Ltd.

 

 

WAF(Web Application Firewall) の検知性能向上への挑戦

– 閾値モデル(つづき)– Alert で 5 点加算– UNION で 5 点加算– “Alert UNION” で 10 点?– 「 XSS 」「 SQLi 」など複数の属性ごとに計算

すべき

23/04/1211

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

Copyright (c) Bitforest Co., Ltd.

 

 

WAF(Web Application Firewall) の検知性能向上への挑戦

– ベイジアンネットワーク• 閾値モデルが持っていた問題をほぼ全て解決

23/04/1212

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

Copyright (c) Bitforest Co., Ltd.

 

 

ベイジアンネットワークの利点

– 複雑な属性同士の関係性をそのままネットワーク (GUI操作 ) で表現できる

– ベイズの定理によって乗算・確率表現ができる

– チューニングしやすい– エキスパートの勘とのシンクロ感

23/04/1213

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

Copyright (c) Bitforest Co., Ltd.

 

 

複雑な属性同士の関係性をそのままネットワークで表現できる

– 一対多(エッジの引き方)、強弱( CPT )が表現できる

– GUI でモデルを作り、それを使ってそのまま計算ができる

• Weka の Bayesian Network Editor を使用

– 複雑な属性同士の関係性• 例( XSS 、 CMS )• 例(脆弱性検査、国内のユーザ )• 例 (eval と Java, Ruby, JavaScript, Perl, PHP)

23/04/1214

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

Copyright (c) Bitforest Co., Ltd.

 

 

ベイズの定理によって乗算・確率表現ができる

– UNION だけの場合 ( それほど…)– SELECT だけの場合(別に…)– UNION と SELECT の両方の場合(これはまず

い ! )– ベイズの定理による計算によって、「希なケース」の場合には「攻撃である確率が高い」ことが自然に導出される

23/04/1215

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

Copyright (c) Bitforest Co., Ltd.

 

 

チューニングしやすい

– 中間的な役目のノード (mediating variables) が便利

– CPT の数値を変更した際の全体への影響が予想通りになる

– ニューラルネットワークのようなブラックボックスではないので、細かく作業を積み重ねていける

23/04/1216

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

Copyright (c) Bitforest Co., Ltd.

 

 

エキスパートの勘とのシンクロ感

「 A という条件と B という条件だったら C っぽくなる」

のような、専門家(エキスパート)の感覚が、そのまま数値として出力されてくる

人間の意志決定のプロセスとベイジアンネットワークの相似性

23/04/1217

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

Copyright (c) Bitforest Co., Ltd.

 

 

まとめ

ベイジアンネットワークは、複数の観察された情報に基づいて意志決定する際に最適な技術

「専門家 ( エキスパート ) が目で見れば攻撃かどうか判別ができる」→それをコンピュータにやらせたい

という場面で使うことができる技術

23/04/1218

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

Copyright (c) Bitforest Co., Ltd.

 

 

おまけ

– 株式会社ビットフォレストではウェブ侵入検知をはじめ、ウェブアプリケーションセキュリティに興味があるエンジニアを募集中です。

– データサイエンスに興味がある人も大歓迎– @kinyuka までお気軽に

23/04/1219