異常行動検出入門 – 行動データ時系列のデータマイニング –

9,890 views
9,609 views

Published on

Published in: Technology
0 Comments
17 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
9,890
On SlideShare
0
From Embeds
0
Number of Embeds
989
Actions
Shares
0
Downloads
120
Comments
0
Likes
17
Embeds 0
No embeds

No notes for slide

異常行動検出入門 – 行動データ時系列のデータマイニング –

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

×