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