LoginSignup
4
3

More than 5 years have passed since last update.

IP network の traffic identification 系の論文メモ

Last updated at Posted at 2016-12-18

はじめに

IP network アプリケーションの基本となる、traffic識別について、調べています。気になった論文について、メモを書くことにします。

Skype関連

Skype関連だけで4本の論文を読んだので、まとめておく。

「Skype-Hunter: A real-time system for the detection and classification of Skype traffic」

Skypeのtrafficをリアルタイムに識別するアルゴリズムを提案。
リバースエンジニアリングして、detectするアルゴリズムを作ったように見える。

「Classifying Service Flows in the Encrypted Skype Traffic」

SPIDという手法を提案。(Statistical Protocol IDentification )
SkypeのVoIPのtrafficだけを優先したいというニーズ。
TLSで暗号化されたSkypeサービスの正確な分類方式は多分最初の論文だと思う。
3 phaseで分類
(1) まずは統計的手法でskypeのflowか判断する
(2) flowとpayloadからskypeのサービス(voipか chatか...) を判断
(3) flowの特徴に基づき、より詳しく分類する
DatasetはSkypeコールは様々なパターンで実際にSkypeを使って取得。他のプロトコルのデータも集めた。

「An Investigation on the Identification of VoIP traffic: Case Study on Gtalk and Skype」

暗号化されたフローのうち、SkypeとGtalkのflowを機械学習の方法で分類、区別する。
IPアドレスとポート番号の情報は使わずに、flowの統計量だけを使う。
データセットはコントロールされた環境で取得。

「Machine Learning Based Encrypted Traffic Classification: Identifying SSH and Skype」

トレーニング用データセットとは異なるネットワークのデータセットで評価した。
決定木が優秀な結果。
flowの統計量の特徴だけを使う。IPアドレスとポート番号の情報は使わない。
publicなデータセットを使っている。payload情報は削除されている。
Dalhousie trace (UCIS)には、PacketShaperで分析したラベルが付いている。教師データとして使った。

「A Survey of Methods for Encrypted Traffic Classification and Analysis」

暗号化されたトラフィックの分類のサーベイ。論文数26個。
多くの論文は、flowかパケットヘッダの特徴をもとに分類している
また方法論は、機械学習による論文が多い。
一番多いのが、教師あり学習、二番目が半教師あり学習、三番目がシンプルな統計的手法
暗号化方式では、SSHが対象のデータセットして多く使われている。
9つの論文はSSHとnon-SSHの認識の手法をテストしている
一つの論文はSSHで暗号化されたトラフィックからタイプ(アプリケーション)識別について書かれている。
三つの論文では、SSL/TLSの中にアプリケーションプロトコルの識別について。
SSL/TLSは世の中では最も多く使われており、SSHより複雑(と著者は書いている)。
一つの論文をのぞいて、リアルタイムの分類は難しいが、5つの論文では、固定数のパケットだけ見ることで、それに近いことをやっている。
正確性については、データセットに大きく依存するので、比較は難しい。ほとんどの論文で、プライベートなデータセットを使っている。
著者の主張は次の3点。
(1) 暗号化されたトラフィックの分類は、まだ不十分でリアルチャンレンジである。
(2) SSL/TLSをリファレンスにすべき。(SSHより複雑で現実でよく使われるプロトコルである)
(3) データセット(トレース)はラベルをつけて、他の研究者も使えるようにすべき。追試、論文の比較のため。

「A Machine Learning Approach for Efficient Traffic Classification」

具体的なアプリケーションのために研究した。
機械学習で分類するアプローチ。具体的にはC4.5 決定木。
分類の正確性だけではなく、遅延やスループット、使用するフットプリント、メモリ、計算量のバランスも重要。
オンライン分類のアプローチ。最初の5パケットで分類する。
特徴量は248。下記の論文による。実際に使ったのは12個ぐらい。correlation-baseの特徴量削減した。
「Discriminators for use in flow-based classification」

この後の課題としては次のことを挙げている。
(1) 特徴量の選択や、機械学習のメソッドは、アプリケーションに強く依存する。
(2) 始まりがあるTCPのフローのみ対象としているが、UDP, ICMPや、途中から始まるTCPのフローも、似たような方法で行けるだろう
(3) 暗号化されたトラフィックや未知のアプリケーションのもう少し多くのデータがあれば、いけるかも。

「BLINC: Multilevel traffic classification in the dark」

被参照数が多い。1324 (2017/1/7時点)

三つのレベル( (i) the social, (ii) the functional and (iii) the application)でパターンを分析する。
このアプローチの方法には、二つの特徴がある。
一つは、payloadやport番号、その他の情報を使わないこと。
二つ目は、正確性と網羅性のバランスをチューニングできること
全 trafficeの80%-90%で、95%以上の正確性で分類できた
BLINCとは Blind Classifcationの略。

Limitationとしては次の制限がある。
(1) パケットのヘッダーだけでは、よく似たアプリケーションの識別ができない場合がある。
(2) Layer3のヘッダが暗号化されていると分類できない。これは他の手法でも同様だろう。
(3) NAT経由のtrafficには、もう少し改善が必要
(4) 観察(パケットをキャプチャーする)場所は、今回はネットワークの端(エッジ)のみ。

 「Internet Traffic Classification Using Bayesian Analysis Techniques」

被参照数が多い。1273 (2017/1/7時点)
ナイーブベイズを使った分類。
単純に適用すると、正確性は65%ぐらいだったが、二つのrefinementを行うと、95%程度に改善した。
カテゴリはあらかじめ10個に決めている。
分類のinputに利用する、discriminatorは6個
TCP flowのduration、Port、Packet間隔(の平均や分散)、Payloadサイズ、エントロピーに基づく帯域効率、Packet間隔のフーリエ変換
二つのrefinementとは、カーネル密度評価と、FCBFプレフィルター。
FCBFプレフィルターはトレーニングセットごとに、次元数削減のため、最適なdiscriminator数を識別する。

「A survey of techniques for internet traffic classification using machine learning」

被参照数813 (2017/1/7時点)
2004年から2007年の機械学習によるIP traffic 分類のwork 18個をサーベイしている。
4つに分類できる。
(1) 教師なし学習によるクラスタリング
(2) 教師あり学習
(3) ハイブリッド
(4) 手法の比較
多くの論文でデータセットして「NLANR」が使われている。

「A Survey on Recent Traffic Classification Techniques Using Machine Learning Methods」

2009年から2013年の機械学習によるIP traffic 分類のworkをサーベイしている。

「The Applications of Deep Learning on Traffic Identification」

Deep Learningの技術を使ってtraffic識別を行った。
Data Setは独自に集めたようだ。約30万レコード(重複を除いて)

重要な特徴はヘッダー部分に集中している。
学習の結果は、50-60 epochsで誤差はとても少なくなった。1/1000 ぐらい。DeepなStacked Auto Encoderが良い結果だった。

識別の結果は、上位25のポピュラーなプロトコルは、96%-100%の結果だった。また unknownなプロトコルの識別もある程度可能だった。

Neural Networkの構成は書かれていない。
今後は、暗号化された通信、P2Pプロトコルの識別を計画している。

「A Near Real-time IP Traffic Classification Using Machine Learning」

5つのMachine Learningの手法 (MLP, RBF, C4.5, Bayes Net, Naive Bayes) でTraffic Classificationを行った。
MLP=Multilayer Perceptron
RBF=Radial Basis Function Neural Network
C4.5=popular decision tree (決定木)
Bayes Net=Bayesian Network

Data SetはwiresharkでリアルタイムにInternet packetを2秒だけキャプチャーした。これはリアルタイムなClassificationを目的にしているため。(少ないほどリアルタイム性は良い)

識別の結果は、Accuracyは最も良いBayes Netで92%、最も低いMLPが46%、他は80%強。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3