More Related Content Similar to 異常行動検出入門 – 行動データ時系列のデータマイニング – Similar to 異常行動検出入門 – 行動データ時系列のデータマイニング – (20) More from Yohei Sato (20) 異常行動検出入門 – 行動データ時系列のデータマイニング –3. AGENDA
●
自己紹介
●
異常行動検出
●
サイバー犯罪の検出
●
ナイーブベイズによる異常行動検出
● 異常行動検出エンジン AccessTracer
●
応用例
●
最後に
4. AGENDA
●
自己紹介
●
異常行動検出
●
サイバー犯罪の検出
●
ナイーブベイズによる異常行動検出
● 異常行動検出エンジン AccessTracer
●
応用例
●
最後に
5. 自己紹介
● 名前 : 里 洋平
● ID : yokkuns
● 職業 : データマイニングエンジニア
● 出身 : 種子島
6. Tokyo.Rを主催しています
参加ありがとうございます!
http://groups.google.com/group/r-study-tokyo
9. AGENDA
●
自己紹介
●
異常行動検出
●
サイバー犯罪の検出
●
ナイーブベイズによる異常行動検出
● 異常行動検出エンジン AccessTracer
●
応用例
●
最後に
10. 異常行動検出
3つの基本的な異常検出の中の一つ
機能 入力対象 確率モデル 検出対象 応用
はずれ値検出 多次元ベクトル 独立モデル 外れ値 不正検出
侵入検知
故障検知
変化点検出 多次元時系列 時系列モデル 時系列上の 攻撃検出
急激な変化 ワーム検出
バースト的異常 障害予兆検出
異常行動検出 セッション 行動モデル 異常セッション なりすまし検出
時系列 異常行動パターン 障害予兆検出
不審行動検出
セッション時系列データを扱う異常検出
※セッション : ある一まとまりの行動履歴
11. サイバー犯罪の検出
大量のログから不正行為や不審行為を
自動的に検出することが求められている
1 サーバにアクセス
1 コピー 2 ファイルをコピー いつもと
2 リネーム
3 ファイルを開く
学習 3 ファイルをリネーム
違う行動
4 ファイルを圧縮
4 ファイルを閉じる
5 他フォルダに移動
5 メールに添付し送付
6 ファイルを削除
を検出
6 ファイルを開く
防犯や犯罪が
起こった際の調査の
ために大量のログが
蓄積されている
通常業務 情報漏洩行為
12. ナイーブベイズによる異常行動検出
特定のユーザに関するセッションの発生確率が
他のユーザに比べて優位に小さくなった時にアラート
訓練データ
ユーザuの ユーザu以外の
コマンド出現パターン コマンド出現パターン
出現確率
a b c ... 出現確率 a b c ...
P 〜 u ( x 1,. .. , x N )
スコアリング P u ( x 1,. .. , x N )
13. 異常行動検出エンジン AccessTracer
●
ナイーブベイズでは”動き”を捉える事が出来ない
●
珍しいコマンドが出た時にアラートを出すにとどまっている
●
コマンドの出現頻度だけを見るとなんら変わりなくても、
発生する時間的順序がいつもと違っているという異常など
異常行動検出エンジンAccessTracer
●
”動き”を確率モデルで表現
●
非定常な環境の元手も精度良く異常行動を検出する
14. AccessTracerの基本原理1
セッション時系列から行動パターンを学習
セッション単位で異常スコアリングを行う
セッション列
HMM混合モデル HMM混合モデル
の忘却型学習 ・・・・ の忘却型学習
M1(混合数1) MN(混合数N)
動的モデル選択による
最適なモデル系列の選択
各セッションの
異常スコア計算
15. AccessTracerの基本原理2
AccessTracerの基本的な流れ
隠れマルコフモデルの混合分布による行動モデリング
複数の混合隠れマルコフモデルのオンライン忘却型学習
動的モデル選択による最適混合数の決定
スコアリング
16. 行動モデリング
各セッションはK個の成分を持つ
隠れマルコフモデルに従って生起されていると仮定
セッションyjの発生確率
K
P ( y j | θ)= ∑k =1 π k P k ( y j | θk )
P k ( y j | θ k )=∑(s γ k∗∏ a k (st | s t−1 , ... , s t−n )∗∏ bk ( y t | st )
1,. .. , s T )
j
状態ベクトルの 状態変数の シンボルの
初期確率分布 遷移確率 出力確率
状態系列 S t−1 St S t +1
出力系列 y t −1 yt y t +1
隠れマルコフモデル
19. SDHMアルゴリズム
M-Step : 各パラメータの更新
混合係数
状態ベクトルの
初期確率分布
状態変数の
遷移確率
シンボルの 状態確率
出力確率
Baum–Welch
で求める
21. 異常スコアリング
各セッションの異常スコアを以下のように定義
1 ( j−1)
Score ( y j )=− log P ( y j | θ )
Tj
または
1 ( j−1) 1
Score( y j )=− log P ( y j | θ )− compress( y j )
Tj Tj
22. 異常スコアリング
各セッションの異常スコアを以下のように定義
1 ( j−1)
Score ( y j )=− log P ( y j | θ )
Tj
または シャノン情報量
対数損失
1 ( j−1) 1
Score( y j )=− log P ( y j | θ )− compress( y j )
Tj Tj
ユニバーサル符号化を
行った時の符号長
高い規則性をもつ系列 => 小
ランダムな系列 => 大
23. 異常スコアリング
各セッションの異常スコアを以下のように定義
1 ( j−1)
Score ( y j )=− log P ( y j | θ )
Tj
または
1 ( j−1) 1
Score( y j )=− log P ( y j | θ )− compress( y j )
Tj Tj
ユニバーサル統計検定量
25. 応用例1 : なりすまし検出
UNIXコマンド列からのなりすまし検出問題
隠れマルコフ なりすましの
モデル パターンを同定
なりすまし
パターン 開始検出 パターン2個
1個
行動
パターン
の数
異常
スコア
ユーザのコマンド なりすましのコマンド
図 : http://fbi-award.jp/sentan/jusyou/2005/nec.pdf
26. 応用例2 : syslogからの障害検知
syslogにAccessTracerを適用
システムロックアップの予兆を2 日前に発見
図 : http://fbi-award.jp/sentan/jusyou/2005/nec.pdf
28. HMMパッケージ
HMMの初期化
initHMM(States, Symbols, startProbs=NULL,
transProbs=NULL, emissionProbs=NULL)
●States : 状態変数のベクトル
●Symbols : イベントシンボルのベクトル
●startProbs : 状態変数の初期確率のベクトル
●transProbs : 状態変数の遷移確率
●emissionProbs : 状態変数からのイベントシンボルの出力確率
29. HMMパッケージ
HMMのパラメータ推定
forward型推定
forward(hmm, observation)
●hmm : HMMモデルオブジェクト
●observation : 観測されたイベントシンボルのベクトル
30. HMMパッケージ
HMMのパラメータ推定
backward型推定
backward(hmm, observation)
●hmm : HMMモデルオブジェクト
●observation : 観測されたイベントシンボルのベクトル
31. HMMパッケージ
HMMのパラメータ推定
baumWelch(hmm, observation, maxIterations=100, ...)
●hmm : HMMモデルオブジェクト
●observation : 観測されたイベントシンボルのベクトル
●maxIterations : Baum - Welchアルゴリズムの反復の最大数
36. AGENDA
●
自己紹介
●
異常行動検出
●
サイバー犯罪の検出
●
ナイーブベイズによる異常行動検出
● 異常行動検出エンジン AccessTracer
●
応用例
●
最後に
37. 最後に
次回以降の
発表者を募集しています!