SlideShare a Scribd company logo
1 of 39
Download to read offline
異常行動検出入門
 - 行動データ時系列のデータマイニング -



        @yokkuns 里 洋平
2011/08/27 第16回R勉強会@東京(Tokyo.R#16)
本日の内容
●
    異常行動検出
AGENDA
●
    自己紹介
●
    異常行動検出
    ●
        サイバー犯罪の検出
    ●
        ナイーブベイズによる異常行動検出
    ●   異常行動検出エンジン AccessTracer
    ●
        応用例
●
    最後に
AGENDA
●
    自己紹介
●
    異常行動検出
    ●
        サイバー犯罪の検出
    ●
        ナイーブベイズによる異常行動検出
    ●   異常行動検出エンジン AccessTracer
    ●
        応用例
●
    最後に
自己紹介

       ●   名前 : 里 洋平
       ●   ID   : yokkuns
       ●   職業 : データマイニングエンジニア
       ●   出身 : 種子島
Tokyo.Rを主催しています

    参加ありがとうございます!




    http://groups.google.com/group/r-study-tokyo
Japan.R 今年もやります!
本を執筆しました
AGENDA
●
    自己紹介
●
    異常行動検出
    ●
        サイバー犯罪の検出
    ●
        ナイーブベイズによる異常行動検出
    ●   異常行動検出エンジン AccessTracer
    ●
        応用例
●
    最後に
異常行動検出

         3つの基本的な異常検出の中の一つ
  機能       入力対象    確率モデル       検出対象       応用

はずれ値検出   多次元ベクトル   独立モデル    外れ値        不正検出
                                       侵入検知
                                       故障検知
変化点検出    多次元時系列    時系列モデル   時系列上の      攻撃検出
                             急激な変化     ワーム検出
                            バースト的異常    障害予兆検出
異常行動検出   セッション     行動モデル    異常セッション    なりすまし検出
         時系列                異常行動パターン   障害予兆検出
                                       不審行動検出




       セッション時系列データを扱う異常検出


                           ※セッション : ある一まとまりの行動履歴
サイバー犯罪の検出

  大量のログから不正行為や不審行為を
  自動的に検出することが求められている


                    1 サーバにアクセス
   1 コピー            2 ファイルをコピー    いつもと
   2 リネーム
   3 ファイルを開く
            学習      3 ファイルをリネーム
                                  違う行動
                    4 ファイルを圧縮
   4 ファイルを閉じる
   5 他フォルダに移動
                    5 メールに添付し送付
                    6 ファイルを削除
                                  を検出
   6 ファイルを開く


        防犯や犯罪が
        起こった際の調査の
        ために大量のログが
        蓄積されている

 通常業務               情報漏洩行為
ナイーブベイズによる異常行動検出
        特定のユーザに関するセッションの発生確率が
 他のユーザに比べて優位に小さくなった時にアラート

                           訓練データ


        ユーザuの                             ユーザu以外の
        コマンド出現パターン                        コマンド出現パターン
 出現確率




        a   b   c   ...            出現確率   a    b       c       ...




                                              P 〜 u ( x 1,. .. , x N )
                          スコアリング               P u ( x 1,. .. , x N )
異常行動検出エンジン AccessTracer
●
    ナイーブベイズでは”動き”を捉える事が出来ない
    ●
        珍しいコマンドが出た時にアラートを出すにとどまっている
    ●
        コマンドの出現頻度だけを見るとなんら変わりなくても、
        発生する時間的順序がいつもと違っているという異常など




        異常行動検出エンジンAccessTracer
          ●
              ”動き”を確率モデルで表現
          ●
              非定常な環境の元手も精度良く異常行動を検出する
AccessTracerの基本原理1

   セッション時系列から行動パターンを学習
   セッション単位で異常スコアリングを行う

                   セッション列




      HMM混合モデル                 HMM混合モデル
       の忘却型学習       ・・・・        の忘却型学習
      M1(混合数1)                 MN(混合数N)




                  動的モデル選択による
                 最適なモデル系列の選択




                   各セッションの
                   異常スコア計算
AccessTracerの基本原理2

       AccessTracerの基本的な流れ
  隠れマルコフモデルの混合分布による行動モデリング



 複数の混合隠れマルコフモデルのオンライン忘却型学習



     動的モデル選択による最適混合数の決定



            スコアリング
行動モデリング

              各セッションは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
                                                  隠れマルコフモデル
SDHMアルゴリズム

混合隠れマルコフモデルをオンラインで忘却型学習
SDHMアルゴリズム

    E-Step : メンバーシップ確率の更新




  メンバーシップ確率
SDHMアルゴリズム

     M-Step : 各パラメータの更新

         混合係数



     状態ベクトルの
     初期確率分布


      状態変数の
      遷移確率




       シンボルの              状態確率
       出力確率
                          Baum–Welch
                          で求める
動的モデル選択
学習されたモデルの中で最適な混合数を持つものを選択
最適な混合数の時間的変化は行動パターンの構造的な変化




 データ
            y 1, ... , y t−1           y t −1 ,... , y n

              モデル1                          モデル2           時間


       => 観測データを説明する最適なモデル系列を選択
        ( M 1, ... , M 1, M 2, ... , M 2)
異常スコアリング

 各セッションの異常スコアを以下のように定義


                         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
異常スコアリング

 各セッションの異常スコアを以下のように定義


                         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

                                       ユニバーサル符号化を
                                       行った時の符号長
                                       高い規則性をもつ系列 => 小
                                       ランダムな系列 => 大
異常スコアリング

 各セッションの異常スコアを以下のように定義


                         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

                                    ユニバーサル統計検定量
閾値の動的最適化

異常スコアのヒストグラムをオンライン忘却型学習
 裾確率がρを超えない最大のスコアを閾値とする



              閾値
 確率




                   累積確率がρ未満
応用例1 : なりすまし検出

  UNIXコマンド列からのなりすまし検出問題


隠れマルコフ                       なりすましの
モデル                          パターンを同定
             なりすまし
      パターン   開始検出      パターン2個
       1個


                                                        行動
                                                        パターン
                                                        の数



                                                         異常
                                                        スコア


  ユーザのコマンド      なりすましのコマンド



                     図 : http://fbi-award.jp/sentan/jusyou/2005/nec.pdf
応用例2 : syslogからの障害検知

      syslogにAccessTracerを適用
  システムロックアップの予兆を2 日前に発見




               図 : http://fbi-award.jp/sentan/jusyou/2005/nec.pdf
Rでの実装するには
      Rで隠れマルコフモデル
       HMMパッケージ
HMMパッケージ

               HMMの初期化

 initHMM(States, Symbols, startProbs=NULL,
         transProbs=NULL, emissionProbs=NULL)

  ●States : 状態変数のベクトル
  ●Symbols : イベントシンボルのベクトル

  ●startProbs : 状態変数の初期確率のベクトル

  ●transProbs : 状態変数の遷移確率

  ●emissionProbs : 状態変数からのイベントシンボルの出力確率
HMMパッケージ

          HMMのパラメータ推定
               forward型推定
        forward(hmm, observation)

  ●hmm : HMMモデルオブジェクト
  ●observation : 観測されたイベントシンボルのベクトル
HMMパッケージ

          HMMのパラメータ推定
              backward型推定
        backward(hmm, observation)

  ●hmm : HMMモデルオブジェクト
  ●observation : 観測されたイベントシンボルのベクトル
HMMパッケージ

             HMMのパラメータ推定


 baumWelch(hmm, observation, maxIterations=100, ...)

   ●hmm : HMMモデルオブジェクト
   ●observation : 観測されたイベントシンボルのベクトル

   ●maxIterations : Baum - Welchアルゴリズムの反復の最大数
HMMパッケージ実行例
HMMパッケージ実行例

      HMMのパラメータ推定
        forward型推定
HMMパッケージ実行例

      HMMのパラメータ推定
        backward型推定
Baum-Welchアルゴリズム
AGENDA
●
    自己紹介
●
    異常行動検出
    ●
        サイバー犯罪の検出
    ●
        ナイーブベイズによる異常行動検出
    ●   異常行動検出エンジン AccessTracer
    ●
        応用例
●
    最後に
最後に




     次回以降の
  発表者を募集しています!
最後に




 データマイニングエンジニア
    募集しています!

      yohei0511@gmail.com
ご清聴ありがとうございました

More Related Content

What's hot

[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイDeep Learning JP
 
工学系大学4年生のための論文の読み方
工学系大学4年生のための論文の読み方工学系大学4年生のための論文の読み方
工学系大学4年生のための論文の読み方ychtanaka
 
Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Yoshitaka Ushiku
 
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜SSII
 
cvpaper.challenge 研究効率化 Tips
cvpaper.challenge 研究効率化 Tipscvpaper.challenge 研究効率化 Tips
cvpaper.challenge 研究効率化 Tipscvpaper. challenge
 
[DL輪読会]Recent Advances in Autoencoder-Based Representation Learning
[DL輪読会]Recent Advances in Autoencoder-Based Representation Learning[DL輪読会]Recent Advances in Autoencoder-Based Representation Learning
[DL輪読会]Recent Advances in Autoencoder-Based Representation LearningDeep Learning JP
 
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習SSII
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門tmtm otm
 
3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向Kensho Hara
 
ドメイン適応の原理と応用
ドメイン適応の原理と応用ドメイン適応の原理と応用
ドメイン適応の原理と応用Yoshitaka Ushiku
 
【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習cvpaper. challenge
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?hoxo_m
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門Kawamoto_Kazuhiko
 
[DL輪読会] “Asymmetric Tri-training for Unsupervised Domain Adaptation (ICML2017...
[DL輪読会] “Asymmetric Tri-training for Unsupervised Domain Adaptation (ICML2017...[DL輪読会] “Asymmetric Tri-training for Unsupervised Domain Adaptation (ICML2017...
[DL輪読会] “Asymmetric Tri-training for Unsupervised Domain Adaptation (ICML2017...Yusuke Iwasawa
 
[DL輪読会]Deep Learning 第15章 表現学習
[DL輪読会]Deep Learning 第15章 表現学習[DL輪読会]Deep Learning 第15章 表現学習
[DL輪読会]Deep Learning 第15章 表現学習Deep Learning JP
 
クラシックな機械学習の入門  8. クラスタリング
クラシックな機械学習の入門  8. クラスタリングクラシックな機械学習の入門  8. クラスタリング
クラシックな機械学習の入門  8. クラスタリングHiroshi Nakagawa
 
GAN(と強化学習との関係)
GAN(と強化学習との関係)GAN(と強化学習との関係)
GAN(と強化学習との関係)Masahiro Suzuki
 
遺伝的アルゴリズム (Genetic Algorithm)を始めよう!
遺伝的アルゴリズム(Genetic Algorithm)を始めよう!遺伝的アルゴリズム(Genetic Algorithm)を始めよう!
遺伝的アルゴリズム (Genetic Algorithm)を始めよう!Kazuhide Okamura
 
【DL輪読会】Toolformer: Language Models Can Teach Themselves to Use Tools
【DL輪読会】Toolformer: Language Models Can Teach Themselves to Use Tools【DL輪読会】Toolformer: Language Models Can Teach Themselves to Use Tools
【DL輪読会】Toolformer: Language Models Can Teach Themselves to Use ToolsDeep Learning JP
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoderSho Tatsuno
 

What's hot (20)

[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
 
工学系大学4年生のための論文の読み方
工学系大学4年生のための論文の読み方工学系大学4年生のための論文の読み方
工学系大学4年生のための論文の読み方
 
Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)
 
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
 
cvpaper.challenge 研究効率化 Tips
cvpaper.challenge 研究効率化 Tipscvpaper.challenge 研究効率化 Tips
cvpaper.challenge 研究効率化 Tips
 
[DL輪読会]Recent Advances in Autoencoder-Based Representation Learning
[DL輪読会]Recent Advances in Autoencoder-Based Representation Learning[DL輪読会]Recent Advances in Autoencoder-Based Representation Learning
[DL輪読会]Recent Advances in Autoencoder-Based Representation Learning
 
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
 
3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向
 
ドメイン適応の原理と応用
ドメイン適応の原理と応用ドメイン適応の原理と応用
ドメイン適応の原理と応用
 
【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門
 
[DL輪読会] “Asymmetric Tri-training for Unsupervised Domain Adaptation (ICML2017...
[DL輪読会] “Asymmetric Tri-training for Unsupervised Domain Adaptation (ICML2017...[DL輪読会] “Asymmetric Tri-training for Unsupervised Domain Adaptation (ICML2017...
[DL輪読会] “Asymmetric Tri-training for Unsupervised Domain Adaptation (ICML2017...
 
[DL輪読会]Deep Learning 第15章 表現学習
[DL輪読会]Deep Learning 第15章 表現学習[DL輪読会]Deep Learning 第15章 表現学習
[DL輪読会]Deep Learning 第15章 表現学習
 
クラシックな機械学習の入門  8. クラスタリング
クラシックな機械学習の入門  8. クラスタリングクラシックな機械学習の入門  8. クラスタリング
クラシックな機械学習の入門  8. クラスタリング
 
GAN(と強化学習との関係)
GAN(と強化学習との関係)GAN(と強化学習との関係)
GAN(と強化学習との関係)
 
遺伝的アルゴリズム (Genetic Algorithm)を始めよう!
遺伝的アルゴリズム(Genetic Algorithm)を始めよう!遺伝的アルゴリズム(Genetic Algorithm)を始めよう!
遺伝的アルゴリズム (Genetic Algorithm)を始めよう!
 
【DL輪読会】Toolformer: Language Models Can Teach Themselves to Use Tools
【DL輪読会】Toolformer: Language Models Can Teach Themselves to Use Tools【DL輪読会】Toolformer: Language Models Can Teach Themselves to Use Tools
【DL輪読会】Toolformer: Language Models Can Teach Themselves to Use Tools
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder
 

Viewers also liked

[R勉強会][データマイニング] R言語による時系列分析
[R勉強会][データマイニング] R言語による時系列分析[R勉強会][データマイニング] R言語による時系列分析
[R勉強会][データマイニング] R言語による時系列分析Koichi Hamada
 
Tokyo r15 異常検知入門
Tokyo r15 異常検知入門Tokyo r15 異常検知入門
Tokyo r15 異常検知入門Yohei Sato
 
Strata Beijing 2017: Jumpy, a python interface for nd4j
Strata Beijing 2017: Jumpy, a python interface for nd4jStrata Beijing 2017: Jumpy, a python interface for nd4j
Strata Beijing 2017: Jumpy, a python interface for nd4jAdam Gibson
 
R実践 機械学習による異常検知 01
R実践 機械学習による異常検知 01R実践 機械学習による異常検知 01
R実践 機械学習による異常検知 01akira_11
 
状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38horihorio
 
機械学習を用いた異常検知入門
機械学習を用いた異常検知入門機械学習を用いた異常検知入門
機械学習を用いた異常検知入門michiaki ito
 
FIT2012招待講演「異常検知技術のビジネス応用最前線」
FIT2012招待講演「異常検知技術のビジネス応用最前線」FIT2012招待講演「異常検知技術のビジネス応用最前線」
FIT2012招待講演「異常検知技術のビジネス応用最前線」Shohei Hido
 

Viewers also liked (7)

[R勉強会][データマイニング] R言語による時系列分析
[R勉強会][データマイニング] R言語による時系列分析[R勉強会][データマイニング] R言語による時系列分析
[R勉強会][データマイニング] R言語による時系列分析
 
Tokyo r15 異常検知入門
Tokyo r15 異常検知入門Tokyo r15 異常検知入門
Tokyo r15 異常検知入門
 
Strata Beijing 2017: Jumpy, a python interface for nd4j
Strata Beijing 2017: Jumpy, a python interface for nd4jStrata Beijing 2017: Jumpy, a python interface for nd4j
Strata Beijing 2017: Jumpy, a python interface for nd4j
 
R実践 機械学習による異常検知 01
R実践 機械学習による異常検知 01R実践 機械学習による異常検知 01
R実践 機械学習による異常検知 01
 
状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38
 
機械学習を用いた異常検知入門
機械学習を用いた異常検知入門機械学習を用いた異常検知入門
機械学習を用いた異常検知入門
 
FIT2012招待講演「異常検知技術のビジネス応用最前線」
FIT2012招待講演「異常検知技術のビジネス応用最前線」FIT2012招待講演「異常検知技術のビジネス応用最前線」
FIT2012招待講演「異常検知技術のビジネス応用最前線」
 

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

マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法
マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法
マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法Shuhei Sowa
 
続わかりやすいパターン認識8章
続わかりやすいパターン認識8章続わかりやすいパターン認識8章
続わかりやすいパターン認識8章Akiyoshi Hara
 
ゆらぐヒト脳波データからどのように集中度合いを可視化するか
ゆらぐヒト脳波データからどのように集中度合いを可視化するかゆらぐヒト脳波データからどのように集中度合いを可視化するか
ゆらぐヒト脳波データからどのように集中度合いを可視化するかKenyu Uehara
 
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)ryotat
 
パターン認識 04 混合正規分布
パターン認識 04 混合正規分布パターン認識 04 混合正規分布
パターン認識 04 混合正規分布sleipnir002
 
Tokyo.R #19 発表資料 「Rで色々やってみました」
Tokyo.R #19 発表資料 「Rで色々やってみました」Tokyo.R #19 発表資料 「Rで色々やってみました」
Tokyo.R #19 発表資料 「Rで色々やってみました」Masayuki Isobe
 
Survival analysis0702 2
Survival analysis0702 2Survival analysis0702 2
Survival analysis0702 2Nobuaki Oshiro
 
Tutorial-DeepLearning-PCSJ-IMPS2016
Tutorial-DeepLearning-PCSJ-IMPS2016Tutorial-DeepLearning-PCSJ-IMPS2016
Tutorial-DeepLearning-PCSJ-IMPS2016Takayoshi Yamashita
 
Python for Data Anaysis第2回勉強会4,5章
Python for Data Anaysis第2回勉強会4,5章Python for Data Anaysis第2回勉強会4,5章
Python for Data Anaysis第2回勉強会4,5章Makoto Kawano
 
機械学習の理論と実践
機械学習の理論と実践機械学習の理論と実践
機械学習の理論と実践Preferred Networks
 
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learningゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement LearningPreferred Networks
 

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

マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法
マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法
マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法
 
続わかりやすいパターン認識8章
続わかりやすいパターン認識8章続わかりやすいパターン認識8章
続わかりやすいパターン認識8章
 
Ppt nishioka
Ppt nishiokaPpt nishioka
Ppt nishioka
 
ゆらぐヒト脳波データからどのように集中度合いを可視化するか
ゆらぐヒト脳波データからどのように集中度合いを可視化するかゆらぐヒト脳波データからどのように集中度合いを可視化するか
ゆらぐヒト脳波データからどのように集中度合いを可視化するか
 
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
 
パターン認識 04 混合正規分布
パターン認識 04 混合正規分布パターン認識 04 混合正規分布
パターン認識 04 混合正規分布
 
ma99992011id508
ma99992011id508ma99992011id508
ma99992011id508
 
ma99992006id365
ma99992006id365ma99992006id365
ma99992006id365
 
Ppt umemoto g
Ppt umemoto gPpt umemoto g
Ppt umemoto g
 
GANの基本
GANの基本GANの基本
GANの基本
 
Tokyo.R #19 発表資料 「Rで色々やってみました」
Tokyo.R #19 発表資料 「Rで色々やってみました」Tokyo.R #19 発表資料 「Rで色々やってみました」
Tokyo.R #19 発表資料 「Rで色々やってみました」
 
NLPforml5
NLPforml5NLPforml5
NLPforml5
 
Survival analysis0702 2
Survival analysis0702 2Survival analysis0702 2
Survival analysis0702 2
 
Tutorial-DeepLearning-PCSJ-IMPS2016
Tutorial-DeepLearning-PCSJ-IMPS2016Tutorial-DeepLearning-PCSJ-IMPS2016
Tutorial-DeepLearning-PCSJ-IMPS2016
 
Ibisml vhmm
Ibisml vhmmIbisml vhmm
Ibisml vhmm
 
Python for Data Anaysis第2回勉強会4,5章
Python for Data Anaysis第2回勉強会4,5章Python for Data Anaysis第2回勉強会4,5章
Python for Data Anaysis第2回勉強会4,5章
 
6 Info Theory
6 Info Theory6 Info Theory
6 Info Theory
 
機械学習の理論と実践
機械学習の理論と実践機械学習の理論と実践
機械学習の理論と実践
 
Rで学ぶロバスト推定
Rで学ぶロバスト推定Rで学ぶロバスト推定
Rで学ぶロバスト推定
 
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learningゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
 

More from Yohei Sato

Tokyor60 r data_science_part1
Tokyor60 r data_science_part1Tokyor60 r data_science_part1
Tokyor60 r data_science_part1Yohei Sato
 
Tokyor60 opening
Tokyor60 openingTokyor60 opening
Tokyor60 openingYohei Sato
 
Tokyor45 カーネル多変量解析第2章 カーネル多変量解析の仕組み
Tokyor45 カーネル多変量解析第2章 カーネル多変量解析の仕組みTokyor45 カーネル多変量解析第2章 カーネル多変量解析の仕組み
Tokyor45 カーネル多変量解析第2章 カーネル多変量解析の仕組みYohei Sato
 
Tokyor42_r_datamining_18
Tokyor42_r_datamining_18Tokyor42_r_datamining_18
Tokyor42_r_datamining_18Yohei Sato
 
Tokyor42 ggplot2
Tokyor42 ggplot2Tokyor42 ggplot2
Tokyor42 ggplot2Yohei Sato
 
Tokyor39 yokkuns
Tokyor39 yokkunsTokyor39 yokkuns
Tokyor39 yokkunsYohei Sato
 
EasyHtmlReportの紹介
EasyHtmlReportの紹介EasyHtmlReportの紹介
EasyHtmlReportの紹介Yohei Sato
 
20131206 japan r
20131206 japan r20131206 japan r
20131206 japan rYohei Sato
 
Tokyor35 人工データの発生
Tokyor35 人工データの発生Tokyor35 人工データの発生
Tokyor35 人工データの発生Yohei Sato
 
ドリコムの分析環境とデータサイエンス活用事例
ドリコムの分析環境とデータサイエンス活用事例ドリコムの分析環境とデータサイエンス活用事例
ドリコムの分析環境とデータサイエンス活用事例Yohei Sato
 
R言語で学ぶマーケティング分析 競争ポジショニング戦略
R言語で学ぶマーケティング分析 競争ポジショニング戦略R言語で学ぶマーケティング分析 競争ポジショニング戦略
R言語で学ぶマーケティング分析 競争ポジショニング戦略Yohei Sato
 
Rでレポートメール
RでレポートメールRでレポートメール
RでレポートメールYohei Sato
 
Rで階層ベイズモデル
Rで階層ベイズモデルRで階層ベイズモデル
Rで階層ベイズモデルYohei Sato
 
Rでピボットテーブル
RでピボットテーブルRでピボットテーブル
RでピボットテーブルYohei Sato
 
第3回Japan rパネルディスカッション
第3回Japan rパネルディスカッション第3回Japan rパネルディスカッション
第3回Japan rパネルディスカッションYohei Sato
 
Tokyor26 data fusion
Tokyor26 data fusionTokyor26 data fusion
Tokyor26 data fusionYohei Sato
 
Tokyor24 yokkuns
Tokyor24 yokkunsTokyor24 yokkuns
Tokyor24 yokkunsYohei Sato
 
Tokyowebmining19 data fusion
Tokyowebmining19 data fusionTokyowebmining19 data fusion
Tokyowebmining19 data fusionYohei Sato
 
傾向スコア解析とUplift Modelling
傾向スコア解析とUplift Modelling傾向スコア解析とUplift Modelling
傾向スコア解析とUplift ModellingYohei Sato
 
Complex network ws_percolation
Complex network ws_percolationComplex network ws_percolation
Complex network ws_percolationYohei Sato
 

More from Yohei Sato (20)

Tokyor60 r data_science_part1
Tokyor60 r data_science_part1Tokyor60 r data_science_part1
Tokyor60 r data_science_part1
 
Tokyor60 opening
Tokyor60 openingTokyor60 opening
Tokyor60 opening
 
Tokyor45 カーネル多変量解析第2章 カーネル多変量解析の仕組み
Tokyor45 カーネル多変量解析第2章 カーネル多変量解析の仕組みTokyor45 カーネル多変量解析第2章 カーネル多変量解析の仕組み
Tokyor45 カーネル多変量解析第2章 カーネル多変量解析の仕組み
 
Tokyor42_r_datamining_18
Tokyor42_r_datamining_18Tokyor42_r_datamining_18
Tokyor42_r_datamining_18
 
Tokyor42 ggplot2
Tokyor42 ggplot2Tokyor42 ggplot2
Tokyor42 ggplot2
 
Tokyor39 yokkuns
Tokyor39 yokkunsTokyor39 yokkuns
Tokyor39 yokkuns
 
EasyHtmlReportの紹介
EasyHtmlReportの紹介EasyHtmlReportの紹介
EasyHtmlReportの紹介
 
20131206 japan r
20131206 japan r20131206 japan r
20131206 japan r
 
Tokyor35 人工データの発生
Tokyor35 人工データの発生Tokyor35 人工データの発生
Tokyor35 人工データの発生
 
ドリコムの分析環境とデータサイエンス活用事例
ドリコムの分析環境とデータサイエンス活用事例ドリコムの分析環境とデータサイエンス活用事例
ドリコムの分析環境とデータサイエンス活用事例
 
R言語で学ぶマーケティング分析 競争ポジショニング戦略
R言語で学ぶマーケティング分析 競争ポジショニング戦略R言語で学ぶマーケティング分析 競争ポジショニング戦略
R言語で学ぶマーケティング分析 競争ポジショニング戦略
 
Rでレポートメール
RでレポートメールRでレポートメール
Rでレポートメール
 
Rで階層ベイズモデル
Rで階層ベイズモデルRで階層ベイズモデル
Rで階層ベイズモデル
 
Rでピボットテーブル
RでピボットテーブルRでピボットテーブル
Rでピボットテーブル
 
第3回Japan rパネルディスカッション
第3回Japan rパネルディスカッション第3回Japan rパネルディスカッション
第3回Japan rパネルディスカッション
 
Tokyor26 data fusion
Tokyor26 data fusionTokyor26 data fusion
Tokyor26 data fusion
 
Tokyor24 yokkuns
Tokyor24 yokkunsTokyor24 yokkuns
Tokyor24 yokkuns
 
Tokyowebmining19 data fusion
Tokyowebmining19 data fusionTokyowebmining19 data fusion
Tokyowebmining19 data fusion
 
傾向スコア解析とUplift Modelling
傾向スコア解析とUplift Modelling傾向スコア解析とUplift Modelling
傾向スコア解析とUplift Modelling
 
Complex network ws_percolation
Complex network ws_percolationComplex network ws_percolation
Complex network ws_percolation
 

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

  • 1. 異常行動検出入門 - 行動データ時系列のデータマイニング - @yokkuns 里 洋平 2011/08/27 第16回R勉強会@東京(Tokyo.R#16)
  • 2. 本日の内容 ● 異常行動検出
  • 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 隠れマルコフモデル
  • 18. SDHMアルゴリズム E-Step : メンバーシップ確率の更新 メンバーシップ確率
  • 19. SDHMアルゴリズム M-Step : 各パラメータの更新 混合係数 状態ベクトルの 初期確率分布 状態変数の 遷移確率 シンボルの 状態確率 出力確率 Baum–Welch で求める
  • 20. 動的モデル選択 学習されたモデルの中で最適な混合数を持つものを選択 最適な混合数の時間的変化は行動パターンの構造的な変化 データ y 1, ... , y t−1 y t −1 ,... , y n モデル1 モデル2 時間 => 観測データを説明する最適なモデル系列を選択 ( M 1, ... , M 1, M 2, ... , M 2)
  • 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
  • 27. Rでの実装するには Rで隠れマルコフモデル HMMパッケージ
  • 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アルゴリズムの反復の最大数
  • 33. HMMパッケージ実行例 HMMのパラメータ推定 forward型推定
  • 34. HMMパッケージ実行例 HMMのパラメータ推定 backward型推定
  • 36. AGENDA ● 自己紹介 ● 異常行動検出 ● サイバー犯罪の検出 ● ナイーブベイズによる異常行動検出 ● 異常行動検出エンジン AccessTracer ● 応用例 ● 最後に
  • 37. 最後に 次回以降の 発表者を募集しています!
  • 38. 最後に データマイニングエンジニア 募集しています! yohei0511@gmail.com