Jubaanomalyについて
- 6. 密度による異常度の算出(1/2)
• あるデータ点Xに対する密度を「データ点Xとその近傍K点間の距離の平均
の逆数」と定義
• 1)データ点Xとその近傍K点間の距離の平均 𝐷𝑖𝑠𝑡 𝑎𝑣𝑔(𝑋) =
𝑋−𝑥 𝑖
𝐾
𝑖=1
𝐾
• 𝑥𝑖:データ点Xの𝑖番目の近傍点
• 2)逆数(密度) 𝐷𝑒𝑛𝑠𝑖𝑡𝑦(X) = 1 𝐷𝑖𝑠𝑡 𝑎𝑣𝑔(𝑋)
• D𝑒𝑛𝑠𝑖𝑡𝑦(X):データ点Xの密度
• あるデータ点Xに対する異常度を密度を用いて定義
• データ点Xの異常度=(近傍K点の密度の平均)/(Xの密集度)
X
0.6 0.5
0.8 0.7
数値は各データ点の密度
点Xの異常度(近傍K=3の場合)
((0.7+0.8+0.6) / 3) / 0.5) = 1.4
異常度 𝑋 =
1
𝑘
∙
Density (𝑥 𝑖)
Deinsity(𝑋)
𝑘
𝑖=1
𝑥𝑖: 点 𝑥 の 𝑖 番目の近傍点
Copyright©2016 NTT corp. All Rights Reserved.
- 8. LOFアルゴリズム(1/3)
• 密度による異常度の欠点
• データXと近傍点がほぼ同一の位置に存在する場合
• データXと近傍K点への平均距離 ≒ 0
• データXの密度(平均距離の逆数)≒ ∞
• 安定した異常度を求めることができない
• データXの異常度→0 (密度が∞であるため)
• 近傍の異常度→∞ (データXの異常度が0のため)
• JubatusではLOF(Local Outlier Factor)アルゴリズムを採用
• LOFでは、密度の代わりにLocal Reachability Density(LRD)を使用して算出され
るLOFを異常度とする
• LRDは密度が極端に高くなるような状況でもロバストにLOFを求めることができる
X
データ点Xと近傍k(k=3)が同一の位置に存在(平
均距離≒0)
Copyright©2016 NTT corp. All Rights Reserved.
- 9. LOFアルゴリズム(2/3)
• Local Reachability Density(LRD)の定義
• データ点Xとその近傍K点の間の距離reach-distの平
均の逆数
• 𝐿𝑅𝐷 𝑥 =
𝑘
𝑥,𝑥 𝑖 間の距離 𝑟𝑒𝑎𝑐ℎ−𝑑𝑖𝑠𝑡𝑘
𝑖=1
• 距離reach-distは以下の値のうちいずれか大きい値
を用いる
1. 点X, P間の距離
2. 点Pと(点Pの)K番目に近い点間の距離
• データXと近傍が密集(距離の平均が0)であっても
2)によって距離reach-distは0よりも大きくなる
• データXと近傍A,B,C(k=3)の距離reach-
dist(右図)
• (X, A)の距離reach-dist = 2)点A, F間の距離
• (X, B)の距離reach-dist = 2)点A, B間の距離
• (X, C)の距離reach-dist = 1)点X, Cの距離
C
E
F
G
B
A
D
H
I
J
K
X
点 F は、点 A から
k 番目に近い点
𝑥𝑖: 点 𝑥 の 𝑖 番目の近傍点
Copyright©2016 NTT corp. All Rights Reserved.
- 10. LOFアルゴリズム(3/3)
• LRD(再掲)とLOF(異常度)の定義
• 𝐿𝑅𝐷 𝑥 =
𝑘
𝑥,𝑥 𝑖 間の距離 𝑟𝑒𝑎𝑐ℎ−𝑑𝑖𝑠𝑡𝑘
𝑖=1
• 𝐿𝑂𝐹 𝑥 =
1
𝑘
∙
𝐿𝑅𝐷(𝑥 𝑖)
𝐿𝑅𝐷(𝑥)
𝑘
𝑖=1
• データXのLOF = (近傍点のLRD)/(データXのLRD)
• LRDは密度と同様(距離reach-distの平均の逆数)と見なすことができる。従って、
LOFも密度に基づいた異常度と同様に考えることができる
𝑥𝑖: 点 𝑥 の 𝑖 番目の近傍点
Copyright©2016 NTT corp. All Rights Reserved.
- 11. Jubaanomalyの機能
• API
• id_with_score add(datum row)
• データを追加してLOFを取得する
• id_with_score = {0:string id, 1:float score}
• CONFIG(代表的なもの)
• method 近傍点を発見するために利用する機能を指定
• lof : redommender機能を利用
• 厳密なコサイン類似度、Euclid距離を使用した近傍探索が可能
• light_lof : nearest neighbor機能を利用
• 特徴ベクトルをハッシュ化して近似することで高速、省メモリで近傍探索が可能
• nearest_neighbor_num 近傍数kを指定
• hashnum 特徴ベクトルをハッシュ化する際のビット数を指定する
• ハッシュ化する必要があるアルゴリズム(LSH、Euclid_LSH,Minhashでのみ指定)
• 値を大きくすると近似精度が向上する(メモリ使用量、探索時間が増加する)
Copyright©2016 NTT corp. All Rights Reserved.
- 13. Jubaanomalyを使ってみる
• 不正アクセス検知のデモをしよう!でも....
• ある程度アクセス頻度の高いログが手元にない
• テストデータデータセットを使ってネットワーク侵入を模擬してみよう
• 利用したテストデータセット
• KDD Cup 1999で利用されたネットワーク侵入検知データセット
• 1998年にMIT Lincoln Labsで作られたデータセットがベース
• 米空軍のLANを模した環境における攻撃性アクセスの発見が目的
• 内容
• TCPダンプデータ
• データ件数 約500万件
• Normal(正常なアクセス)とDOS,R2L,U2R,probingの4つのカテゴリに属する不正アクセスか
ら構成
• 属性41項目
• 文字列:7項目、数値:34項目
• CSV形式
0,tcp,http,SF,219,1337,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,2
,2,0.00,0.00,0.00,0.00,1.00,0.00,0.00,45,45,1.00,0.00,
0.02,0.00,0.00,0.00,0.00,0.00,normal.
データ例
Copyright©2016 NTT corp. All Rights Reserved.
- 14. Jubaanomalyを使ってみる
• デモ
• 不正アクセス検知
• 大部分の正常なアクセスはデータの傾向が似通っているはず→LOFが低い
• LOFが高い(孤立した)データを見つけることで不正アクセスを発見できる!
0,tcp,http,SF,21
9,1337,0,0,0,0,0
,1,0,0,0,0,0,0,0,
0,0,0,2,2,0.00,0
.00,0.00,0.00,1.
00,0.00,0.00,45,
45,1.00,0.00,0.0
2,0.00,0.00,0.00
,0.00,0.00,norm
al.
テストデータセット
ログを
queueにpush
ログ解析
プログラム
ログを取得
ログデータを追加
LOFの取得
リアルタイムに
LOFを表示
Copyright©2016 NTT corp. All Rights Reserved.
- 16. 参考:オンラインLOFアルゴリズム(1/2)
• ある点の異常度を求めるためには、その点の近傍 𝑘 点の LRD を算出する
必要がある。
• LRD を算出するためには、その点の近傍 𝑘 点の LRD が既知である必要があるため、
N 件のデータ点が登録されているとき、最大で N 点の LRD の算出が必要となる (つ
まり、N 点間の距離を計算するために、最大で N – 1 回の近傍探索が発生する)
• 各点の LRD は、データ点の追加が行われるたびに再計算する必要がある
が、この計算コストは下図に示すように非常に高い。
データ点 X が追加されたとき、LRD の再計算が必要な点群を厳密に抽出するに
は:
(1) データ点 X が追加されたことにより、データ点 X の近傍 𝑘 点 の LRD の
再計算が必要
(2) データ点 X の近傍 𝑘 点の LRD の再計算を行うことにより、それらのデー
タ点の近傍 𝑘 点の LRD の再計算も必要
(3) … (以下、再計算の必要となる点の集合が収束するまで繰り返し)
X
(k = 3 とする)
Copyright©2016 NTT corp. All Rights Reserved.
- 17. 参考:オンラインLOFアルゴリズム(2/2)
• Jubatus においては、データ点の追加時に LRD を再計算する点の範囲を、
追加された点の近傍 𝑅 点に限定することにより、データ点の追加時の計
算コストを削減することで、リアルタイムなデータ点の追加を可能にする
(近傍探索の実行回数を最大で 𝑅 + 1 回に抑える)
X
データ点 X が追加されたとき、LRD の再計算が必要な点群を、データ点 X の近傍 R 点
であると見なす
(R = 5 とする)
補足
𝑅 は、Jubatus におけるハイパーパラメタ reverse_nearest_neighbor_num に
対応する。
補足
既存のデータ点を書き変える場合は、書き変え前後のデータ点の近傍 R 点に対し
て LRD の再計算を行うため、近傍探索の実行回数は (R+1) * 2 回となる。
Copyright©2016 NTT corp. All Rights Reserved.