SlideShare une entreprise Scribd logo
1  sur  19
 

ベイジアンネットワークによるウェブ侵入検知
金床 (Kanatoko)
株式会社ビットフォレスト CTO
@kinyuka
http://www.jumperz.net/
http://www.scutum.jp/

1

02/17/14

Copyright (c) Bitforest Co., Ltd.
 

自己紹介

• 金床
• Web Application Firewall の開発
• ミッション:「攻撃検知の精度を上げる」
– 攻撃を見逃さない
– 正常な通信を止めない

2

02/17/14

Copyright (c) Bitforest Co., Ltd.
 

ベイズの定理

– B が起こったときに A が起こる確率 P(A|B) に、
A が起こった時に B が起こる確率 P(B|A) を対応
させる式
• 「道具としてのベイズ統計 ( 涌井良幸著)」より

– 確率の計算テクニックとして使える
– 別に難しくないので、興味がある人はちょっと
時間を作って学べばすぐ理解できる

3

02/17/14

Copyright (c) Bitforest Co., Ltd.
 

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

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

AVTokyo

4

Beer in
hand

02/17/14

Copyright (c) Bitforest Co., Ltd.
 

スプリンクラーの例

•ノードとエッジが因果関係を表す
•原因 -> 結果の確率は CPT で事前に判明している
•観察されたノードに情報をエビデンスとして入力
•観察できないノードの確率が変化(出力として利用)
•計算のためにベイズの定理を使う
•「今、芝が濡れていることがわかった。さて、雨が降った確率はいくつだろうか?」
5

02/17/14

Copyright (c) Bitforest Co., Ltd.
 

Weka

– オープンソース、 Java によるデータマイニング
ソフトウェア集
– ライブラリ、 GUI ツールなどなんでもあり
– 老舗
– (スプリンクラーのデモ)

6

02/17/14

Copyright (c) Bitforest Co., Ltd.
 

ウェブの侵入検知でベイジアンネットワークをどう使うか?
•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

02/17/14

Copyright (c) Bitforest Co., Ltd.
 

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

– シグネチャベース ( ブラックリスト型 )
• If ‘alert’ then die!
• 単純だがメリットも数多くある
– 挙動が明確
– パフォーマンス一定(比較的速い)
– 人間がメンテしやすい

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

9

02/17/14

Copyright (c) Bitforest Co., Ltd.
 

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.
 

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

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

11

02/17/14

Copyright (c) Bitforest Co., Ltd.
 

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

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

12

02/17/14

Copyright (c) Bitforest Co., Ltd.
 

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

– 複雑な属性同士の関係性をそのままネットワー
ク (GUI 操作 ) で表現できる
– ベイズの定理によって乗算・確率表現ができる
– チューニングしやすい
– エキスパートの勘とのシンクロ感

13

02/17/14

Copyright (c) Bitforest Co., Ltd.
 

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

– 一対多(エッジの引き方)、強弱( CPT )が表
現できる
– GUI でモデルを作り、それを使ってそのまま計
算ができる
• Weka の Bayesian Network Editor を使用

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

14

02/17/14

Copyright (c) Bitforest Co., Ltd.
 

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

– UNION だけの場合 ( それほど…)
– SELECT だけの場合(別に…)
– UNION と SELECT の両方の場合(これはまず
い!)
– ベイズの定理による計算によって、「希なケー
ス」の場合には「攻撃である確率が高い」こと
が自然に導出される

15

02/17/14

Copyright (c) Bitforest Co., Ltd.
 

チューニングしやすい

– 中間的な役目のノード (mediating variables) が便
利
– CPT の数値を変更した際の全体への影響が予想
通りになる
– ニューラルネットワークのようなブラックボッ
クスではないので、細かく作業を積み重ねてい
ける

16

02/17/14

Copyright (c) Bitforest Co., Ltd.
 

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

「 A という条件と B という条件だったら C っぽ
くなる」
のような、専門家(エキスパート)の感覚が、そ
のまま数値として出力されてくる
人間の意志決定のプロセスとベイジアンネット
ワークの相似性

17

02/17/14

Copyright (c) Bitforest Co., Ltd.
 

まとめ

ベイジアンネットワークは、複数の観察された情
報に基づいて意志決定する際に最適な技術
「専門家 ( エキスパート ) が目で見れば攻撃かど
うか判別ができる」
→ それをコンピュータにやらせたい
という場面で使うことができる技術

18

02/17/14

Copyright (c) Bitforest Co., Ltd.
 

おまけ

– 株式会社ビットフォレストではウェブ侵入検知
をはじめ、ウェブアプリケーションセキュリ
ティに興味があるエンジニアを募集中です。
– データサイエンスに興味がある人も大歓迎
– @kinyuka までお気軽に

19

02/17/14

Copyright (c) Bitforest Co., Ltd.

Contenu connexe

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

継続的Webセキュリティテスト PHPカンファレンス関西2015 LT
継続的Webセキュリティテスト PHPカンファレンス関西2015 LT継続的Webセキュリティテスト PHPカンファレンス関西2015 LT
継続的Webセキュリティテスト PHPカンファレンス関西2015 LTichikaway
 
脆弱性もバグ、だからテストしよう DevSummiFukuoka
脆弱性もバグ、だからテストしよう DevSummiFukuoka脆弱性もバグ、だからテストしよう DevSummiFukuoka
脆弱性もバグ、だからテストしよう DevSummiFukuokaichikaway
 
VAddy - CI勉強会 fukuoka
VAddy - CI勉強会 fukuokaVAddy - CI勉強会 fukuoka
VAddy - CI勉強会 fukuokaichikaway
 
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015ichikaway
 
継続的Webセキュリティテスト testing casual talks2
継続的Webセキュリティテスト testing casual talks2継続的Webセキュリティテスト testing casual talks2
継続的Webセキュリティテスト testing casual talks2ichikaway
 
ディペンダブルなクラウドコンピューティング基盤を目指して
ディペンダブルなクラウドコンピューティング基盤を目指してディペンダブルなクラウドコンピューティング基盤を目指して
ディペンダブルなクラウドコンピューティング基盤を目指してKazuhiko Kato
 
三協立山の仮想化基板の成長を支えるイーサネット・ファブリック
三協立山の仮想化基板の成長を支えるイーサネット・ファブリック三協立山の仮想化基板の成長を支えるイーサネット・ファブリック
三協立山の仮想化基板の成長を支えるイーサネット・ファブリックBrocade
 
Internet Week 2016 脆弱性スキャナによる対策支援の課題 Vuls
Internet Week 2016 脆弱性スキャナによる対策支援の課題 VulsInternet Week 2016 脆弱性スキャナによる対策支援の課題 Vuls
Internet Week 2016 脆弱性スキャナによる対策支援の課題 VulsKota Kanbe
 
Jenkinsを使った継続的セキュリティテスト
Jenkinsを使った継続的セキュリティテストJenkinsを使った継続的セキュリティテスト
Jenkinsを使った継続的セキュリティテストichikaway
 
人工知能技術のエンタープライズシステムへの適用
人工知能技術のエンタープライズシステムへの適用人工知能技術のエンタープライズシステムへの適用
人工知能技術のエンタープライズシステムへの適用Miki Yutani
 
Amazon Inspector v2で脆弱性管理を始めてみた
Amazon Inspector v2で脆弱性管理を始めてみたAmazon Inspector v2で脆弱性管理を始めてみた
Amazon Inspector v2で脆弱性管理を始めてみたcluclu_land
 
ソフトウェアサプライチェーンセキュリティの最新技術動向.pdf
ソフトウェアサプライチェーンセキュリティの最新技術動向.pdfソフトウェアサプライチェーンセキュリティの最新技術動向.pdf
ソフトウェアサプライチェーンセキュリティの最新技術動向.pdfFumieNakayama
 
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)NTT DATA OSS Professional Services
 
ビットバンクの開発におけるAWSの利用
ビットバンクの開発におけるAWSの利用ビットバンクの開発におけるAWSの利用
ビットバンクの開発におけるAWSの利用bitbank, Inc. Tokyo, Japan
 
アプリケーションのシフトレフトを実践するには
アプリケーションのシフトレフトを実践するにはアプリケーションのシフトレフトを実践するには
アプリケーションのシフトレフトを実践するにはRiotaro OKADA
 
New IP へのステップ その1) Fabric – すべての基本はファブリックにあり
New IP へのステップ その1) Fabric – すべての基本はファブリックにありNew IP へのステップ その1) Fabric – すべての基本はファブリックにあり
New IP へのステップ その1) Fabric – すべての基本はファブリックにありBrocade
 
Microsoft Azure/SRT - 最新技術情報アップデート
Microsoft Azure/SRT - 最新技術情報アップデートMicrosoft Azure/SRT - 最新技術情報アップデート
Microsoft Azure/SRT - 最新技術情報アップデートShige Fukushima
 
OSSで作る機械学習を用いたペネトレーションテストツール
OSSで作る機械学習を用いたペネトレーションテストツールOSSで作る機械学習を用いたペネトレーションテストツール
OSSで作る機械学習を用いたペネトレーションテストツールIsao Takaesu
 
Developer summit continuous deliveryとjenkins
Developer summit   continuous deliveryとjenkinsDeveloper summit   continuous deliveryとjenkins
Developer summit continuous deliveryとjenkinsKohsuke Kawaguchi
 
BitVisor Summit 3 「BitVisorの現状と今後」
BitVisor Summit 3 「BitVisorの現状と今後」BitVisor Summit 3 「BitVisorの現状と今後」
BitVisor Summit 3 「BitVisorの現状と今後」Takahiro Shinagawa
 

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

継続的Webセキュリティテスト PHPカンファレンス関西2015 LT
継続的Webセキュリティテスト PHPカンファレンス関西2015 LT継続的Webセキュリティテスト PHPカンファレンス関西2015 LT
継続的Webセキュリティテスト PHPカンファレンス関西2015 LT
 
脆弱性もバグ、だからテストしよう DevSummiFukuoka
脆弱性もバグ、だからテストしよう DevSummiFukuoka脆弱性もバグ、だからテストしよう DevSummiFukuoka
脆弱性もバグ、だからテストしよう DevSummiFukuoka
 
VAddy - CI勉強会 fukuoka
VAddy - CI勉強会 fukuokaVAddy - CI勉強会 fukuoka
VAddy - CI勉強会 fukuoka
 
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
 
継続的Webセキュリティテスト testing casual talks2
継続的Webセキュリティテスト testing casual talks2継続的Webセキュリティテスト testing casual talks2
継続的Webセキュリティテスト testing casual talks2
 
ディペンダブルなクラウドコンピューティング基盤を目指して
ディペンダブルなクラウドコンピューティング基盤を目指してディペンダブルなクラウドコンピューティング基盤を目指して
ディペンダブルなクラウドコンピューティング基盤を目指して
 
三協立山の仮想化基板の成長を支えるイーサネット・ファブリック
三協立山の仮想化基板の成長を支えるイーサネット・ファブリック三協立山の仮想化基板の成長を支えるイーサネット・ファブリック
三協立山の仮想化基板の成長を支えるイーサネット・ファブリック
 
Internet Week 2016 脆弱性スキャナによる対策支援の課題 Vuls
Internet Week 2016 脆弱性スキャナによる対策支援の課題 VulsInternet Week 2016 脆弱性スキャナによる対策支援の課題 Vuls
Internet Week 2016 脆弱性スキャナによる対策支援の課題 Vuls
 
Jenkinsを使った継続的セキュリティテスト
Jenkinsを使った継続的セキュリティテストJenkinsを使った継続的セキュリティテスト
Jenkinsを使った継続的セキュリティテスト
 
人工知能技術のエンタープライズシステムへの適用
人工知能技術のエンタープライズシステムへの適用人工知能技術のエンタープライズシステムへの適用
人工知能技術のエンタープライズシステムへの適用
 
Amazon Inspector v2で脆弱性管理を始めてみた
Amazon Inspector v2で脆弱性管理を始めてみたAmazon Inspector v2で脆弱性管理を始めてみた
Amazon Inspector v2で脆弱性管理を始めてみた
 
ソフトウェアサプライチェーンセキュリティの最新技術動向.pdf
ソフトウェアサプライチェーンセキュリティの最新技術動向.pdfソフトウェアサプライチェーンセキュリティの最新技術動向.pdf
ソフトウェアサプライチェーンセキュリティの最新技術動向.pdf
 
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
 
ビットバンクの開発におけるAWSの利用
ビットバンクの開発におけるAWSの利用ビットバンクの開発におけるAWSの利用
ビットバンクの開発におけるAWSの利用
 
アプリケーションのシフトレフトを実践するには
アプリケーションのシフトレフトを実践するにはアプリケーションのシフトレフトを実践するには
アプリケーションのシフトレフトを実践するには
 
New IP へのステップ その1) Fabric – すべての基本はファブリックにあり
New IP へのステップ その1) Fabric – すべての基本はファブリックにありNew IP へのステップ その1) Fabric – すべての基本はファブリックにあり
New IP へのステップ その1) Fabric – すべての基本はファブリックにあり
 
Microsoft Azure/SRT - 最新技術情報アップデート
Microsoft Azure/SRT - 最新技術情報アップデートMicrosoft Azure/SRT - 最新技術情報アップデート
Microsoft Azure/SRT - 最新技術情報アップデート
 
OSSで作る機械学習を用いたペネトレーションテストツール
OSSで作る機械学習を用いたペネトレーションテストツールOSSで作る機械学習を用いたペネトレーションテストツール
OSSで作る機械学習を用いたペネトレーションテストツール
 
Developer summit continuous deliveryとjenkins
Developer summit   continuous deliveryとjenkinsDeveloper summit   continuous deliveryとjenkins
Developer summit continuous deliveryとjenkins
 
BitVisor Summit 3 「BitVisorの現状と今後」
BitVisor Summit 3 「BitVisorの現状と今後」BitVisor Summit 3 「BitVisorの現状と今後」
BitVisor Summit 3 「BitVisorの現状と今後」
 

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