Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
02/03/2011
年度卒業論文2010年度卒業論文
Clustering Analysis of Internet Traffic
「クラスタリングによる通信の分類と時間変化の解析」Clustering Analysis of Internet Traffic
2011/02/03 (木)
早稲田大学基幹理工学部情報理工学科
2011/02/03 (木)
後藤研究室 B4
1W070138‐1 片山雄介
卒業論文 ‐ 02/03/2011
02/03/2011
Agenda
1. 研究背景
2 研究内容2. 研究内容
3. 提案手法
4. 実証実験
4 1 実験内容4.1 実験内容
4.2 実験結果 ‐ (通信の分類)
4.3 実験結果 ‐ (時間的な変化の検出)
5. 結論結論
1卒業論文 ‐ 02/03/2011
02/03/2011
研究背景
ネットワ ク上には様々な種類の通信が存在
1. 研究背景
• ネットワーク上には様々な種類の通信が存在
• Web通信や, メール通信, 更に悪意のある通信も存在
• ホストの通信内容を把握するには, 相応の知識や経験が必要
る
NTP通信
メ 送信
FTPによる
upload/downloag
Webページ閲覧メール送信
SynFlood (攻撃)
ポートスキャンDNS要求
2卒業論文 ‐ 02/03/2011
DNS (Domain Name System), FTP (File Transport Protocol), NTP (Network Time Protocol)
02/03/2011
研究内容2. 研究内容
ネットワークの状態を把握可能にすることを目的とする
これにより 異常な通信の発見にも有益なものとなる
通信内容を基に 似た内容の通信同士を「分類」する
これにより, 異常な通信の発見にも有益なものとなる
通信内容を基に, 似た内容の通信同士を「分類」する
ネットワークの状態の「変化を検出」する
「クラスタリング」の分析手法を使用する
※ クラスタリング : データを似たものをグループ (クラスタ) として分類する手法
教師なし学習アルゴリズムであるため, 訓練データを必要としない!
3卒業論文 ‐ 02/03/2011
02/03/2011
提案手法3. 提案手法 ‐ (通信の分類)
1 ある期間に受信したパケットを解析する1. ある期間に受信したパケットを解析する
2. 送信元ごとに特徴ベクトルを作成する
( 使用するパラメ タに関しては後述 )( 使用するパラメータに関しては後述 )
3. 得られた特徴ベクトルでクラスタリングを行い, 分類を行う
4.異なる期間でも同様に分類を行い, 結果を比較して変化を検出する
(TCP, UDP, …..):::
特徴ベクトル Clustering
卒業論文 ‐ 02/03/2011 4
02/03/2011
◆ 既存のクラスタリングアルゴリズム ( k 法 )◆ 既存のクラスタリングアルゴリズム ( kmeans法 )
kmean法 : 重心からの距離を基準に近いデータ同士で分類する手法
いくつのクラスタに分割するかを 事前に設定する必要があるいくつのクラスタに分割するかを, 事前に設定する必要がある。
いくつのクラスタ (グル プ) に 点を ダ 重 近 点 デ タをいくつのクラスタ (グループ) に
分けるか決定 (2とする)2つの点をランダムに
重心として選択
重心に近い点にデータを
割り当てる
収束するまで繰り返す
重心を更新 クラスタリング終了
5卒業論文 ‐ 02/03/2011
最適な初期の重心位置を使用して, kmeansを行う方法 =>kmeans++
02/03/2011
使 す タ グ ゴ ズ
方針 : 分割数 ( K ) の値を変えてkmeans++で
◆ 使用するクラスタリングアルゴリズム
方針 : 分割数 ( K ) の値を変えてkmeans++で
クラスタリングを行っていき, 最適な状態で終了する
クラスタリング結果の評価値には, BIC (ベイジアン情報量基準) を使用
K=4K=2 K=3 K=4 K=5
この結果を採用
クラスタリング結果の評価値には, BIC ( イジアン情報量基準) を使用
improved improved Notimproved
通信分類上のメリ ト アルゴリズムのメリ ト
クラスタ数が変化する場合のアルゴリズムとし
て, Xmeansがあるが,そちらより安定した結果が
ネットワークの通信状態は刻一刻と変化するた
め, クラスタ数 (通信の種類) が常に同じとは限
通信分類上のメリット アルゴリズムのメリット
6
, ,
出るというメリットがある。
, ( )
らない。その点に対応可能である。
卒業論文 ‐ 02/03/2011
02/03/2011
実証実験
4 1 実験内容
4. 実証実験
4.1 実験内容
実際の通信データを使用し, 通信の分類とネットワークの状態の時間的変化の検出が可能であることを示す。
◆使用するデータ◆使用するデ タ
外部から学内へ流入するパケットをサンプリングしてキャプチャした8分間のデータを8等分したデータを使用
( 期間 : 2010年12月6日15時2分4秒 ~ 2010年12月6日15時10分3秒 )
時間順に D1 D2 D8 とする時間順に, D1, D2, …… , D8 とする。
さらに, D4にSYN Flood攻撃通信, D6にポートスキャン通信を混ぜる
TCP (SYN) ポートスキャンとTCP‐Nullポートスキャン
卒業論文 ‐ 02/03/2011 7
( )
02/03/2011
TCP UDP HTTP
◆ 使用するパラメータ
TCP, UDP, HTTP すべてのパケットに対して TCP パケットとUDP パケッ トが占める割合
また, HTTP パケットが占める割合
SYN, FIN, PUSH, ACKすべての TCP パケットに対して, 各々のフラグが立っているパケットが
占める割合
TCP portnum, UDP portnum, dstnump , p ,アクセスを試みた宛先 TCP ポートの総数 (TCP portnum) と
宛先 UDP ポートの総数 (UDP portnum), そして宛先 ホストの総数 (dstnum)
これら10個のパラメータを使用し, 10次元の特徴ベクトルを作成
卒業論文 ‐ 02/03/2011 8
れら 個の ラ タを使用し, 次元の特徴 クトルを作成
02/03/2011
実験結 信 類4.2 実験結果 – (通信の分類)
C1 C3 ~ C6 C8 ~ C10 : Web通信C1, C3 C6, C8 C10 : Web通信
C2 : DNS通信
C12: NTP通信C12: NTP通信
C7 : メール通信やFTP通信
C11 : その他アプリケーションによる通信C11 : その他アプリケ ションによる通信
このように, 通信を分類できた
Web通信をさらに詳しく解析するには,さらに詳しいパラメータが必要
卒業論文 ‐ 02/03/2011 9
さらに詳しいパラメ タが必要
02/03/2011
実験結 時 的な変 検 デ タ4.3 実験結果 – (時間的な変化の検出) データ : D4
SYN Flood通信のクラスタが出現
D4の分類結果
13卒業論文 ‐ 02/03/2011
D4の分類結果
02/03/2011
実験結 時 的な変 検 デ タ4.3 実験結果 – (時間的な変化の検出) データ : D6
TCP (SYN) スキャンのクラスタ
ポートスキャンのクラスタが出現(TCP‐Nullスキャン)
D6の分類結果
15卒業論文 ‐ 02/03/2011
D6の分類結果
02/03/2011
■ SYN Flood とポートスキャンに関するクラスタの時間変化
C13が SYN FloodとTCP (SYN) スキャン C14が TCP Nullスキャンのクラスタ
SYN Flood
C13が, SYN FloodとTCP (SYN) スキャン, C14が, TCP‐Nullスキャンのクラスタ
TCP (SYN) スキャン
キTCP‐Null スキャン
このように 時間変化をとらえることが可能であった
卒業論文 ‐ 02/03/2011 18
このように, 時間変化をとらえることが可能であった
02/03/2011
結論5. 結論
クラスタリングを用いた本提案手法により
• 通信を, 類似性の強いもの同士で分類できた
クラスタリングを用いた本提案手法により
通信を, 類似性の強いもの同士で分類できた
• 時間的な変化を検出することができた
今後の課題
外れ値や データの偏りの影響を小さくする外れ値や, デ タの偏りの影響を小さくする
クラスタリング自体の精度を向上させる
今回は, ネットワーク全体の変化を検出したが,
今後は各ホストの通信の変化にも注目する
卒業論文 ‐ 02/03/2011 19
02/03/2011
参考文献■参考文献
[1] http://itpro nikkeibp co jp/members/NBY/Security/20040415/2/[1] http://itpro.nikkeibp.co.jp/members/NBY/Security/20040415/2/
[2] Nmap ‐ Free Security Scanner For Network Exploration & Security Audits,http://nmap.org/http://nmap.org/
[3] Hping ‐ Active Network Security Tool, http://www.hping.org/
[4] 新納 浩幸 “ R で学ぶクラスタ解析 ” オーム社 2007[4] 新納 浩幸 , R で学ぶクラスタ解析 , オ ム社, 2007.
[5] D.Arthur and S.Vassilvitskii, “ k‐means++: The Advantages of Careful Seeding ”,in SODA ’07: Proceedings of the eighteenth annual ACM‐SIAM symposium on g g y pDiscrete algorithms. Society for Industrial and Applied Mathematics, pp. 1027‐1035, 2007.
“[6] D.Pelleg, A.Moore. “ X‐means: Extending K‐means with Efficient Estimation of the Number of Clusters ”, 2000.
21卒業論文 ‐ 02/03/2011
02/03/2011
[7] 森達哉, 川原亮一,上山憲昭, ”通信パターンに基づくホスト分類方法”,IEICE, B‐7‐4, pp.131, 2005.IEICE, B 7 4, pp.131, 2005.
[8] J. Erman. M. Arlitt, M. Anirban,“Traffic Classification Using Clustering Algorithms”, Proceedings of the 2006 SIGCOMM Workshop on Mining
Network Data, New York: ACM Press, pp. 11‐15, 2006.
[9] M R h S S O S t h k dN D ffi ld Cl f S i M i f[9] M.Roughan,S.Sen,O.Spatscheck,andN.Duffield. Class‐of‐Service Mapping for QoS: A Sta‐ tistical Signature‐based Approach to IP Traffic Classification.In IMC ’04, Taormina, Italy, October 25‐27, 2004.
[10] http://www.cisco.com/warp/public/cc/pd/sqsw/sqidsz/index.shtml
[11] Snort, http://www.snort.org/
[12] 豊田秀樹編著“ データマイニング入門 ”, 東京図書, 2008.
[13] 山西健司著“ データマイニングによる異常検知 ”, 共立出版, 2007.
22卒業論文 ‐ 02/03/2011
[13] 山西健司著 デ タマイ ングによる異常検知 , 共立出版, 2007.
02/03/2011
[14] 宮本 貴朗, 小島 篤博, 泉 正夫, 福永 邦雄, “SVM を用いたネットワークトラヒックからの異常検出”, IEICE, vol.J87‐B, no.4 pp.593‐598, 2004.ヒックからの異常検出 , IEICE, vol.J87 B, no.4 pp.593 598, 2004.
[15] Guofei Gu, Roberto Perdisci, Junjie Zhang, Wenke Lee“BotMiner: Clustering Analysis of Network Traffic for Protocol‐ and Structure‐Independent Botnet Detection ”USENIX Security ’08 Refereed Paper, pp. 139‐154.
[16] 及川達也, 和泉勇治, 太田耕平, 加藤 寧, 根元義章,“ 統計的クラスタリング手法によるネッ トワ ク異常状態の検出 ” IEICE l 102 349手法によるネッ トワーク異常状態の検出 IEICE, vol. 102, no. 349,
pp. 83‐88, 2002.
[17] Wireshark http://wwwwireshark org/[17] Wireshark, http://www.wireshark.org/
[18] SKYPE, http://www.skype.com/
23卒業論文 ‐ 02/03/2011
02/03/2011
類精度■ 分類精度
SYN Flood 通信のデータを最も多く含むクラスタ (C13) をSYN Flood クラスタSYN Flood 通信のデ タを最も多く含むクラスタ (C13) をSYN Flood クラスタ
スキャン行為のデータを最も多く含むクラスタ (C14) をスキャン行為のクラスタ
として考えた場合
True Positive : 対象のクラスタに正しく分類されたホスト
False Positive 対象のクラスタに誤って分類されたホスト
デ タ True Positive False Positive True Positive Rate
False Positive : 対象のクラスタに誤って分類されたホスト
データ True Positive False Positive True Positive Rate
SYN Flood 攻撃 16 3 84.1 %
TCP (SYN) ポートスキャン 6 2 75.0 %( )
TCP‐Null ポートスキャン 4 1 80.0 %
今回使用したデータの分類結果は比較的良い精度を出すことができた
卒業論文 ‐ 02/03/2011 24
今回使用したデ タの分類結果は比較的良い精度を出すことができた。
02/03/2011
◆ Xmeans clustering Algorithm
Kmeansを最適なKの値で行う方法Kmeansを最適なKの値で行う方法(クラスタを2つに分割していき, 最適な状態で終了していく)
まずkmeansで
クラスタリング
まだ分割できそう
25
まだ分割できそう
だったら分割最適な状態
卒業論文 ‐ 02/03/2011
02/03/2011
◆ Xmeansの問題点
Xmeansは, 結果が安定しない
(Xmeansは 1つのクラスタを2つに再帰的に分割していくというアルゴリズムだが(Xmeansは, 1つのクラスタを2つに再帰的に分割していくというアルゴリズムだが,
はじめの分割状態に偏りがあると, 最終結果も偏りが生じてしまう。)
この場合, 3つに分割
されるのが最適とする
Xmeansで初期クラスタ数を2にした場合,
このような分割結果となってしまう
26卒業論文 ‐ 02/03/2011
ゴ ズ
02/03/2011
ゴ ズ
◆ 提案するアルゴリズムの問題点
提案したアルゴリズムによって, 結果は安定した。(分割も結合もできた)
しかし, これでも局所解に陥る可能性が想定できる(可能性は低いはず) (以下)
‐BIC 局所解
ここが最適とする
K (クラスタ数)
ここをクラスタ初期値にした場合, ‐BICの大きい方向
へとKを変化させるので, 最適解へとたどり着ける
ここを初期値とした場合, 局所解に陥る
27卒業論文 ‐ 02/03/2011
◆ 過去に出てきた (既出の) クラスタとの対応付け
02/03/2011
◆ 過去に出てきた (既出の) クラスタとの対応付け
通信 クラスタ クラスタ
既出のクラスタ情報
通信タイプID
クラスタ番号
重心 データ数クラスタ
半径
照合 照合
新出の通信タイプを含む
すべて既出の通信タイプ
更新 更新
新たなクラスタのクラスタの「類似度」に基づき
通信a1
通信a2
通信d1
通信d2
タイプを含む通信タイプ新たなクラスタの
情報を追加①
③ ⑤
①
対応付けを行う
通信a2
通信a3
通信a4
通信d4
通信d5
③
②
④ ③
⑥
これにより, 過去に出てきたタイプの通信との対応付けが可能になる
28卒業論文 ‐ 02/03/2011
02/03/2011
◆ クラスタの類似度についての詳細◆ クラスタの類似度についての詳細
h
C1 C2
r1 r2
h 半径の和と重心間の距離の比に注目 (r1+r2)/h
X1個のデータ X2個のデータ
① クラスタの大きさや密度も考慮する必要がある。 A = (w1r1 + w2r2) / h とする
② wには密度 (2次元として計算) を採用 (w1+w2=1の制約を設けてスケーリング)
α = x1/πr12 β = x2/πr22 w1 =α / (α+β) w2 = β / (α+β)
③ A = (αr1+βr2) / h(α+β) = r1r2(x1r2+x2r1) / h(x1r22+x2r12)
④ A(x,r,h) = r1r2(x1r2+x2r1) / h(x1r22+x2r12) , A(x,r,h) > 1 で同じクラスタとみなす④ A(x,r,h) r1r2(x1r2 x2r1) / h(x1r2 x2r1 ) , A(x,r,h) 1 で同じクラスタとみなす
C2C1
場合 値を閾値とする
29
この場合, r1 = r2 = h, A(x,r,h) = 1 ∴ この値を閾値とする
卒業論文 ‐ 02/03/2011
02/03/2011
◆ TCPのセッションの確立/切断(パラメータにsyn,finを使用した理由)
Host A Host B Host A Host BHost A Host B Host A Host B
時間 時間
セッションの確立 セッションの切断
30TCPのセッションは, 通常SYNとFINは1対1の割合で発生することになる。
卒業論文 ‐ 02/03/2011
02/03/2011
◆ TCP (SYN) スキャン (上) とTCP‐Nullスキャン (下)
①
TCP (SYN) パケット
②
送信元 送信先
TCP (SYN ACK) パケ ト(ポ トが開いている場合)
TCP (RST+ACK) パケット (ポートが閉じている場合)
②
TCP (SYN+ACK) パケット(ポートが開いている場合)
①
TCP (Null) パケット
②
送信元 送信先
応答なし (ポートが開いている場合)
TCP (RST+ACK) パケット (ポートが閉じている場合)
②
卒業論文 ‐ 02/03/2011 31
応答なし (ポートが開いている場合)
時 変 検 方
02/03/2011
◆ 時間変化の検出方法
時間時間 t
① この時間空間に対して統計を作成&クラスタリング → 「通信の分類① この時間空間に対して統計を作成&クラスタリング → 「通信の分類」
② 次の時系列に対してもクラスタリングを行う → 「通信の分類」
③ 分類結果を比較し, 「変化を検出」する (クラスタ数やデータ数の変化に注目)。
④ ②③を反復して行い, 時間を追って分析していく
32卒業論文 ‐ 02/03/2011