33
2012 年度 修士論文 隠れマルコフモデルによる トラフィックの分類 提出日:2013 2 1 指導:後藤滋樹教授 早稲田大学 大学院 基幹理工学研究科 情報理工学専攻 学籍番号:5111B027-2 片山 雄介

隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

2012年度 修士論文

隠れマルコフモデルによるトラフィックの分類

提出日:2013年 2月 1日

指導:後藤滋樹教授

早稲田大学 大学院 基幹理工学研究科 情報理工学専攻学籍番号:5111B027-2

片山 雄介

Page 2: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

目次

第 1章 序論 5

1.1 研究の背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2 研究の目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3 本論文の構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

第 2章 ネットワーク上の通信の種類 8

2.1 TCPを利用した通信 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.1.1 TCPの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.1.2 セッションの確立と切断 . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.3 HTTPを用いた通信 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.1.4 FTPを用いた通信 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2 悪意のある通信 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2.1 SYN Flood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2.2 ポートスキャン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

第 3章 機械学習とデータマイニング 12

3.1 隠れマルコフモデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.1.1 Baum-Welchアルゴリズム . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.1.2 Viterbiアルゴリズム . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.2 クラスタリング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

第 4章 関連研究 16

4.1 隠れマルコフモデルを利用した通信の解析 . . . . . . . . . . . . . . . . . . . . 16

4.2 クラスタリングを用いた通信の解析 . . . . . . . . . . . . . . . . . . . . . . . . 17

第 5章 提案手法 18

5.1 提案手法の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1

Page 3: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

目次

5.2 通信の判別手順 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5.2.1 隠れマルコフモデルを利用した各フローの識別 . . . . . . . . . . . . . 19

5.2.2 全フローの総合的調査 . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

第 6章 実証実験 22

6.1 実験 1: 隠れマルコフモデルによる各フローの解析 . . . . . . . . . . . . . . . . 22

6.1.1 実験の内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

6.1.2 実験の結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

6.2 実験 2: 確立されたフロー全体の総合的調査 . . . . . . . . . . . . . . . . . . . 25

6.2.1 実験の内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

6.2.2 実験の結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

第 7章 結論 28

7.1 まとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

7.2 今後の課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2

Page 4: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

図一覧

2.1 TCPセッションの確立 (左) と切断 (右) . . . . . . . . . . . . . . . . . . . . . 9

3.1 Left-to-Right HMM (左) と Ergodic HMM (右) . . . . . . . . . . . . . . . . . 13

3.2 Baum-Welchアルゴリズム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.3 Viterbiアルゴリズム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.4 クラスタ数を 3とした場合の例 . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.5 K = 2としたときのK-meansによるクラスタリングの例 . . . . . . . . . . . . 15

4.1 片山 [16]の研究におけるクラスタリングによる通信の分類結果 . . . . . . . . . 17

5.1 提案手法の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

5.2 本提案手法によるHTTP通信の判別 . . . . . . . . . . . . . . . . . . . . . . . 20

6.1 FTP通信時の制御用通信とデータ転送用通信の観測結果 . . . . . . . . . . . . 26

3

Page 5: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

表一覧

6.1 データの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

6.2 各テストデータのHMMとの照合結果 . . . . . . . . . . . . . . . . . . . . . . 23

6.3 各フローの識別確率 (単位 [%]) . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

6.4 各フローの識別精度 (単位 [%]) . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

6.5 データに含まれる FTP通信の詳細 . . . . . . . . . . . . . . . . . . . . . . . . 25

4

Page 6: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

第 1 章

序論

1.1 研究の背景インターネットの急速な普及に伴い,様々な種類のアプリケーションによる通信が存在してい

る。HTTP (Hypertext Transfer Protocol) 通信を用いたwebページの閲覧や, 動画の閲覧, 暗

号や認証の技術を利用し, リモートコンピュータと通信するための ssh, ファイル転送のために

利用されるFTP (File Transfer Protocol) などが例として挙げられる。その他にも SYN Flood

と呼ばれる攻撃やポートスキャンと呼ばれる偵察行為の通信も存在する。そのため,ネットワー

クは様々な種類の通信が混在している状況に置かれており, インターネットを利用する私たち

にとってネットワークセキュリティへの関心はとても大きなものとなっている。

そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

ネットワークを管理するためには, 相応の経験や知識が必要になることや, データ通信を行う

際の通信先のプログラムを特定するために使用されるポート番号を変更することも多いため,

アプリケーションの判別が困難となってきている。そのため, 規模が大きいネットワークの管

理は難しくなっているのが現状である。

5

Page 7: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

第 1 章 序論

1.2 研究の目的ネットワーク上には様々な種類の通信が混在しており, その中には正常な通信のみでなく, 脅

威のある通信も存在している。このため, ネットワークの管理者が各ホストの通信内容を分類

し把握することは, ネットワークの状態を把握したり異常な通信を発見する際に必須の条件と

なる。そこで, 各通信の特徴を分析することにより, ネットワークの管理者がネットワークの

状態を把握可能にすることを本研究の目的とする。

本論文ではフロー (ここでは, 送信元 IPアドレス, 送信元ポート番号, 宛先 IPアドレス, 宛

先ポート番号 の組) の情報を総合して解析して, 通信の識別を行う。そのためのアプローチと

して, データマイニングの分野でも使用される隠れマルコフモデルと呼ばれるアルゴリズムを

用いて, フロー一つ一つに着目し通信パターンの解析を行う。さらに, 個々のフローに着目す

るだけでなく, 確立されているフロー全体を対象とした解析も行う。この様に, フロー情報を

総合的に判別した手法でネットワークの解析を行う。これにより, またデータ部分の暗号化が

されている場合も考慮して, 使用するパラメーターはトランスポート層以下の基礎的な情報の

みとする。これにより, ポート番号のみでは判断できない特徴を発見する。

1.3 本論文の構成本論文は以下の章により構成される。

第 1章 序論

本研究の概要について述べる。

第 2章 ネットワーク上の通信の種類

TCPを利用した通信ついて,さらにSYN Flood攻撃とポートスキャンについて解説する。

第 3章 機械学習とデータマイニング

本研究で利用する, 教師あり学習アルゴリズムである隠れマルコフモデルについて説明す

る。また, 関連研究で紹介する研究で用いられるクラスタリングについての説明も行う。

第 4章 関連研究

本論文に関連する研究を紹介する。

第 5章 提案手法

本論文の提案手法について述べる。

6

Page 8: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

第 1 章 序論

第 6章 実証実験

提案手法の動作検証を目的とした実験と考察を行う。

第 7章 結論

本論文の結論と将来の課題を示す。

7

Page 9: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

第 2 章

ネットワーク上の通信の種類

本章では,ネットワーク上に存在する様々な種類の通信について解説する。通信の種類を大き

く分類すると, TCP (Transmisson Control Protocol) を利用した通信と, UDP (User Datagram

Protocol) を利用した通信がある。TCPとUDPについて簡単に解説し, その後にTCPである

HTTP (Hypertext Transfer Protocol)とFTP (File Transfer Protocol)についての解説を行う。

最後に, 悪意のある通信として SYN Floodとポートスキャンについての紹介する。

2.1 TCPを利用した通信

2.1.1 TCPの概要

TCPは, セッションという形で 1対 1の通信を行うために使用されるプロトコルであり, 輻

輳制御やエラー訂正の機能を持っている。つまり, データ転送などの信頼性が求められる通信

で使用される。例として, HTTPを利用したWebページの様なコンテンツの送受信, FTPを利

用したファイルの送受信, ネットワークに接続された機器を遠隔操作するための SSH (Secure

Shell) などが挙げられる。

8

Page 10: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

第 2 章 ネットワーク上の通信の種類

2.1.2 セッションの確立と切断

TCPコネクションの確立は, 図 2.1の左図に示すように, 以下の手順で行う。

1. クライアントからサーバにTCPコネクション確立要求 (SYN) パケットを送信

2. サーバからTCPコネクション確立要求+確認応答 (SYN+ACK) のパケットを返信

3. クライアントから確認応答 (ACK) パケットを送信

以上の手順をスリーウェイハンドシェーク (3-way handshake) と呼ぶ。

コネクションの切断時には, 図 2.1の右図に示すように, 以下の手順で行う。

1. クライアントからサーバにTCPコネクション切断要求 (FIN) パケットを送信

2. サーバから確認応答 (ACK) のパケットを返信

3. サーバからクライアントにTCPコネクション切断要求 (FIN) パケットを送信

4. クライアントから確認応答 (ACK) パケットを送信

図 2.1: TCPセッションの確立 (左) と切断 (右)

TCPは, コネクションを張るために宛先の IPアドレスと送信元の IPアドレス, 宛先のポー

ト番号と送信元のポート番号を指定する。これらの情報の組で表されるコネクションのことを

フローと呼ぶ。

9

Page 11: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

第 2 章 ネットワーク上の通信の種類

2.1.3 HTTPを用いた通信

HTTPは,Webサーバと,クライアント側のWebブラウザの間でHTML (HyperText Markup

Language) や画像などのWebコンテンツの送受信に用いられるプロトコルである。通信はク

ライアント側で開始され, サーバーに HTTPリクエストを行う。そしてサーバーは受け取っ

たリクエストに該当するレスポンスを返す。HTTPでは, 文書の形式 (HTML, JSON, CSS,

XML) や, 文書に関連付けられている画像や音声ファイル, 動画ファイルを, Content-Typeと

呼ばれる表現形式などの情報を含めて通信を行う。HTTPのサーバーアプリケーションとし

ては, Apache HTTP Server が有名である。また, クライアント側の webブラウザとしては,

Google社のChrome [1]や, Mozilla社のFirefox [2], Apple社のSafari [3], Microsoft社の Internet

Explorer [4] などが挙げられる。

2.1.4 FTPを用いた通信

FTPは, コンピュータ間でファイル転送を行うためのプロトコルである。FTPでは, 制御用

の通信とデータ転送用の通信の 2つのコネクションを利用している。また, データ転送に使用

するポートや接続方法の違いで, アクティブ FTPとパッシブ FTPに分けられる。アクティブ

FTPでは, データ通信用コネクションにおいてサーバー側のポートは 20で, 要求はサーバー側

からクライアント側が指定したポートに対して行われる。それに対しパッシブFTPでは, クラ

イアント側の任意のポートから, サーバーが通知したポートに対して要求が発生する。

10

Page 12: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

第 2 章 ネットワーク上の通信の種類

2.2 悪意のある通信ここでは悪意のある通信として, SYN Floodと呼ばれる攻撃と, ポートスキャンと呼ばれる

偵察行為について紹介する。

2.2.1 SYN Flood

SYN Floodは, 大量の SYNパケットを送りつけることで, サーバーを機能停止に追い込む

DoS (Denial of Service) 攻撃の一種である。TCPのコネクションを確立する際に, クライアン

トから確認応答 (ACK) パケットを送信するという, 標準的なセッション確立時の最後のアク

ションを行わなかった場合を考える。この場合, サーバー側はクライアントからの応答を「待

つ」という状態が続いてしまい, その分だけメモリなどのリソースを消費してしまうことにな

る。この現象を利用し, SYNパケットを大量に送信し, サーバーからの SYN/ACKに対する

ACKを返さないことで, サーバーのリソースを消費させ機能停止に追い込む。この攻撃のこと

を SYN Floodという。本研究でも, SYN FloodのデータをHping [5]と呼ばれるツールを使用

して再現している。

2.2.2 ポートスキャン

TCP/IPではアプリケーション毎にポート番号が定められていて, クライアントは当該ポー

ト番号を通じてサーバのアプリケーションと接続を行う。このポートに対してパケットを送り,

順番にアクセスし, その応答の内容から, ポートが開いているか否かを調べる行為をポートス

キャン [6]と呼ぶ。これにより, サーバーがどのサービスを行っているかを知ることができる。

攻撃者は, これを悪用して脆弱性のあるポートが開かれているかどうかを調べ, もし見つかる

とそのポートを利用した不正アクセスを試みる。このように, ポートスキャンは不正アクセス

などの攻撃の前段階に行う偵察行為として使用される。そのため, SSHの様な安全性を求める

アプリケーションにおいては, デフォルトのポート番号から, 独自の別のポート番号に変更す

ることがよくある。ポートスキャンのツールとしては, Nmap [7]が有名である。

11

Page 13: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

第 3 章

機械学習とデータマイニング

本章では, 本研究で利用する隠れマルコフモデルと, 関連研究で紹介するクラスタリングの

アルゴリズムについて解説する。

3.1 隠れマルコフモデルパターン認識の手法として, 隠れマルコフモデル (Hidden Markov Model, HMM) と呼ばれ

る教師あり機械学習アルゴリズムがある。このアルゴリズムは, 出力値が状態に応じた確率分

布によって決まるマルコフモデル (未来の値が現在の値のみで決定され, 過去とは無関係とい

う性質を持つ確率モデル) である。観測できるものは, この出力値のみであり, 内部の状態遷移

についてを直接観測することが不可能であるため, 「隠れ」マルコフモデルと呼ばれている。

このアルゴリズムは, 主に音声認識の分野で利用されているものである。HMMには, 以下の図

3.1に示すように, 大きく分けて 2つの種類が存在する。Left-to-Right HMMは, 次の状態に遷

移すると前の状態には戻れないアルゴリズムであり, Ergodic HMM は遷移しても以前の状態

に戻ることができという性質をもっている。また, 隠れマルコフモデルに関する主要なアルゴ

リズムとして, Baum-WelchアルゴリズムとViterbiアルゴリズムというものがある。これらに

ついての解説も行う。

12

Page 14: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

第 3 章 機械学習とデータマイニング

図 3.1: Left-to-Right HMM (左) と Ergodic HMM (右)

3.1.1 Baum-Welchアルゴリズム

Baum-Welchアルゴリズムは, 隠れマルコフモデルにおける未知のパラメータを算出するた

めのアルゴリズムであり, 以下の図 3.2に示すように, 訓練データの出力値を元に内部の遷移確

率と各状態における出力確率を求めるためのアルゴリズムである。

図 3.2: Baum-Welchアルゴリズム

3.1.2 Viterbiアルゴリズム

Viterbiアルゴリズムとは, モデルパラメータが既知である際に, 与えられた出力値を出力し

た確率 (これを尤度と呼ぶ) が最も高い状態遷移列を求めるためのアルゴリズムである。

13

Page 15: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

第 3 章 機械学習とデータマイニング

図 3.3: Viterbiアルゴリズム

3.2 クラスタリングクラスタリングとはデータ解析で使用されるデータマイニング [8]の手法の一種で, 訓練デー

タを必要としない教師なし学習のアルゴリズムであり, 与えられたデータを類似度に基づいて

複数のクラスタ (グループ) に分類するものである。この解析手法はWeb検索や文字認識, 画

像処理などに応用されている。例として図 3.4では, 適当なデータを 3つに分類した際の結果

を示す。

クラスタリングの方法にも様々なアプローチの方法 [9]が存在し, 階層的クラスタリングと

呼ばれる種類と非階層的クラスタリングと呼ばれる手法に大きく分けられ, 現在でも新しい手

法が提案されている。ここでは, K-meansについての説明を以下に行う。

図 3.4: クラスタ数を 3とした場合の例

14

Page 16: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

第 3 章 機械学習とデータマイニング

kmeans

K-meansは分割後のクラスタ数 (K) の値が定まっている時に使用される。K-means法は以

下の手順で分類を行う。

1. データをランダムにK個のクラスタに割り当てる

2. 各クラスタの重心を求める

3. 各データから, 各クラスタの重心への距離を求める

4. 求めた距離のうち, 最も近い重心のクラスタへと割り当てを更新する

5. 2 に戻り, 割り当てに変化がなくなるまで繰り返す

図 3.5: K = 2としたときのK-meansによるクラスタリングの例

15

Page 17: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

第 4 章

関連研究

本章では, 本研究に関連のある, 通信の分類に関する研究について紹介する。

• 隠れマルコフモデルを利用した通信の解析

• クラスタリングを用いた通信の解析

4.1 隠れマルコフモデルを利用した通信の解析隠れマルコフモデルを利用した通信の分類・識別に関する既存研究として, パケットの受信

間隔時間とパケットのサイズをパラメータとし, 制御用の FTP通信とデータ転送用の FTP通

信, SMTP (Simple Mail Transfer Protocol) 通信, telnet通信, http通信, https通信を判別する

研究が行われている [10]。使用するパラメータがこの二つのみであるため, 暗号化されている

通信の分類も可能であると考えている。また, 同じようにパケットの受信間隔時間とパケット

のサイズを用いて HTTP, SMTP, P2P, そしてMSN Messengerなどのアプリケーションによ

る通信を分類する研究もある [11] [12]。

このように, 通信の特徴を時系列データとして隠れマルコフモデルを用いてとらえる研究が

行われている。

16

Page 18: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

第 4 章 関連研究

4.2 クラスタリングを用いた通信の解析トラフィックのパターンを基に,通信の種類を分類するという研究が行われている。そのため

に教師なし学習アルゴリズムであるクラスタリングのアルゴリズムが使用されることがある。

既存研究として, 発着 IPアドレス,発着ポート番号,プロトコルで定められる「フロー」に基

づいて各ホストを分類し, 各々がWebサーバーなのか, FTPサーバー, DNSサーバー, または

ワームに感染したホストなのかを把握する研究 [13]がある。他にも, TCP/UDPのフローに注

目し, 複数のクラスタリングアルゴリズムを用いて HTTP, P2P, SMTP, NTP, POP3, IMAP

などのクラスタに分類する研究 [14]や, QoS制御を目的とし, Telnetを代表とするインタラク

ティブな通信とFTP通信などの大量なデータのやり取りを行う通信, DNS, HTTPなどのトラ

ンザクションデータの通信, そしてストリーミングタイプの通信を分類する研究 [15]が行われ

ている。

また, これらを参考にし, 片山 [16]ではクラスタリングによる通信の分類と時間変化の解析

の研究を行った。この研究では, 先程紹介した kmeansアルゴリズムを元に独自のクラスタリン

グアルゴリズムを実装し, TCP及びUDPの宛先ポート数, 宛先 IPアドレス数, TCPの各フラ

グ の情報を特徴ベクトルとして, 通信の種類を特定し, さらにその時間的な変化の検出を行っ

た。その結果の一例を以下の図 4.1に示す。

図 4.1: 片山 [16]の研究におけるクラスタリングによる通信の分類結果

17

Page 19: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

第 5 章

提案手法

本章では, 本研究における提案手法を示す。

5.1 提案手法の概要本研究では, フロー情報に基いて, 通信の特徴を解析し通信の種類を特定するための手法を

提案する。まず, 以下の図 5.1に示すようにインターネットから内部へ流入する内向きのパケッ

トに注目し, フロー単位で時系列の特徴ベクトルを作成する。

図 5.1: 提案手法の概要

18

Page 20: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

第 5 章 提案手法

また本研究では, 宛先 IPアドレス, 宛先ポート番号, 送信元 IPアドレス, 送信元ポート番号

の組のことをフローと定義している。

5.2 通信の判別手順通信の判別の手順は, 大きく分けて 2つのステップで構成する。2つのステップとは, 隠れマ

ルコフモデルを利用した各フローの識別と, 全フローの総合的調査である。本節では, これら

の詳細な説明をすることで, 本研究の提案手法を示す。

5.2.1 隠れマルコフモデルを利用した各フローの識別

各フローの時系列データを, 3.1節で紹介したErgodic型の隠れマルコフモデルのアルゴリズ

ムを利用して解析する。手順を以下に示す。また, HTTP通信を判別する場合を例として, そ

の手順を図 5.2に示す。

(i) 訓練データを作成し, そのデータを用いて, HTTP, FTP, SSH, SYN Flood, ポートスキャ

ンなどの通信の種類ごとにHMMの系に学習をさせておく

(ii) 受信パケットを元に, フロー単位で時系列特徴ベクトル (テストデータ) を作成する

(iii) フロー単位で作成した特徴ベクトル (テストデータ) を, 学習済みの系に入力し, どのモ

デルに一番当てはまるかを調べる

次に, このフローの識別の手順において,「識別に使用するパラメータ」と,「隠れマルコフ

モデルによる判別方法の詳細」について示す。

■ 識別に使用するパラメータ

図 5.2の「パケット情報」の箇所に記述しているように, キャプチャしたパケットから, パ

ケットサイズと, 前のパケットとの受信時間の間隔を抽出する。本研究では, TCPのヘッダや

データ部分の中身などのパケットの詳細情報を使用せずに識別する。これらのデータをフロー

ごとに時系列データとしてまとめ, 以下の形式の特徴ベクトルを作成する。

また, 各フローの特徴ベクトルを作成する際には, すべてのパケットを含めるのではなく先

頭から 1~20のパケットのみで判断する。

19

Page 21: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

第 5 章 提案手法

図 5.2: 本提案手法によるHTTP通信の判別

V = [(受信間隔時間,パケットサイズ), (受信間隔時間,パケットサイズ), ...]

■ 隠れマルコフモデルによる判別方法の詳細

事前に, 訓練データを用いてHTTP, FTP, SSH, SYN Flood, ポートスキャンなどの各通信に

対応する学習済みのモデルを用意する。HMMの状態数は 2~4のいずれかとし, Baum-Welch

アルゴリズムを使用して学習し, HMMのパラメータを推定する。そして, その中から実験に基

いて最も良いモデルを使用するものとする。

このようにして用意した学習済みのモデルに対し, テストデータを入力し, Viterbiアルゴリ

ズムにより, 各モデルにおける最尤状態遷移列を算出し, その状態遷移列となる確率を求める。

この値を元に, どのモデルに近いデータかを判別する。

20

Page 22: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

第 5 章 提案手法

5.2.2 全フローの総合的調査

次に, 各フローを一つ一つ調査するのではなく, 確立されているフロー全体を総合的に調査

することで, 各フローを一つ一つ調査していた場合には確認できない特徴を発見する。

例としてFTP通信を行う場合は, 制御用の通信とデータ転送用の通信が同時に発生する。ま

た, SYN FloodのようなDDoS攻撃 (Distributed Denial of Service attack) においては, ある

ポートに対して大量の IPアドレスからパケットが送られてくるため, フローが大量発生する可

能性がある。ポートスキャンについても, 多くのポートにアクセスを試みるため, その分のフ

ローが確立される。このように, 各フローを一つ一つ調査するだけはなく全フローの総合的な

調査も行う。

21

Page 23: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

第 6 章

実証実験

本提案手法を利用して, 実際にフロー情報から通信を特定することが可能であることを実証

する。そこで, 隠れマルコフモデルによる各フローの解析に関する実験と, 確立されているフ

ローを総合的に調査する実験の二つを実施する。

6.1 実験1: 隠れマルコフモデルによる各フローの解析

6.1.1 実験の内容

実際に, 隠れマルコフモデルを利用してフロー単位で通信の種類を特定できることを実証す

る。使用するパケットは, 最大で先頭から 20個とする。また, モデルには, 以下の表 6.1に示す

データを訓練データとして用い, 対応する通信のモデルを作成した。また, 隠れマルコフモデ

ルについては, GHMM (General Hidden Markov Model library) [17] という pythonのライブ

ラリを使用した。

6.1.2 実験の結果

テストデータを, 学習済みのモデルに入力した結果を, 例として表 6.2に示す。この表の数字

は, GHMMを使用した際の結果であり, 数字が大きいほどそのモデルに対する適合度が高いと

いう結果となる。「*」の記号をつけた数字に関しては, 実際に最も適合度が高く, さらに対応

する正解のモデルの数字が最も高かったものである。これらの結果を見ると, 他のモデルに対

する出力値と比べても高く, 識別できていることがわかる。また, SYN Flood や ポートスキャ

22

Page 24: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

第 6 章 実証実験

表 6.1: データの概要

通信の種類 備考

HTTP (文書) 複数のWebサイトにアクセスした際のデータ

HTTP (動画) HTTPで動画を取得した際の通信

FTP (制御) FTPの制御用通信

FTP (データ) FTPのデータ転送用通信

SSH SSH通信

ンの通信も各モデルに入力したが, この場合はどのモデルに対しても適合度がとても高く, 各

モデルの出力値にあまり変わりがなかった。そのため, この結果からは判断できなかった。

SYN Flood や ポートスキャンに関しては, すべてのHMMとの照合率が高く, どの種類のも

のかを判定することが不可能であった。

表 6.2: 各テストデータのHMMとの照合結果

テストデータの種類HTTP(文書)

HTTP(動画)

FTP(制御)

FTP(データ) SSH

HTTP (文書) *−20.45 −45.77 −4250.81 −95.33 −151.02

HTTP (動画) −43.67 *−12.56 −6362.65 −97.38 −313.36

FTP (制御) −39.43 −68.32 *−4.43 −502.67 −19.64

FTP (データ) −25.69 −50.62 −4914.47 *−15.41 −173.20

SSH −39.12 −67.47 −11.93 −770.66 *0.76

SYN Flood −4.56 −3.24 −2.75 −1.64 −4.57

ポートスキャン −4.56 −3.24 −2.75 −1.64 −4.57

また, この照合実験を, 多数のテストデータで試み分類した結果を, 識別確率として表 6.3に

まとめる。ここで, どのHMMに対しても当てはまらない場合は識別不可としている。

23

Page 25: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

第 6 章 実証実験

表 6.3: 各フローの識別確率 (単位 [%])

テストデータの種類HTTP(文書)

HTTP(動画)

FTP(制御)

FTP(データ) SSH 識別不可

HTTP (文書) 71.29 5.79 0 12.70 0 10.22

HTTP (動画) 26.76 67.02 0 0.83 0 5.39

FTP (制御) 2.39 0 81.08 0 13.38 3.15

FTP (データ) 27.43 4.61 0 60.47 2.27 5.22

SSH 2.11 0 24.26 0.53 60.86 12.24

SYN Flood 0 0 0 0 0 100.00

ポートスキャン 0 0 0 0 0 100.00

次に, 表 6.3のデータより算出した精度を表 6.4に示した。以上の結果より, 実際に隠れマル

コフモデルを用いてフロー単位で通信を識別できたことがわかる。また, HTTPで同じポート

番号を使用する通信でも, 文書と動画を別の通信として認識できたことがわかる。

表 6.4: 各フローの識別精度 (単位 [%])

フロー 識別 誤識別 識別不能

HTTP (文書) 71.29 18.47 10.24

HTTP (動画) 67.04 27.57 5.39

FTP (制御) 81.08 15.72 3.20

FTP (データ) 60.47 34.31 5.22

SSH 60.89 26.88 12.23

SYN Flood 0 0 100.00

ポートスキャン 0 0 100.00

24

Page 26: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

第 6 章 実証実験

6.2 実験2: 確立されたフロー全体の総合的調査

6.2.1 実験の内容

実験 1の結果を踏まえ, 次にフロー全体を総合的に調査することで, 実際に確立されている

フローとフローの間に相関があることを確認する。本実験では, FTP (制御) の通信を検出し

た場合, 同時に FTP (データ)の通信を検知されること, SYN Floodに関しては, 似た少ないパ

ケット数のフローが大量に発生していること, ポートスキャンの場合は, 同じ IPアドレスから

複数の似たフローが発生していることなどを確かめる。

6.2.2 実験の結果

動画を埋め込んでいるWEBページを取得した際の通信, FTPを使用して複数のファイルを

ダウンロードした場合の通信, SYN Floodの通信, ポートスキャンの通信に関して調査した結

果を以下に示す。

FTP通信の総合調査

まず, 表図 6.5に示した FTP通信を含むトラフィックの場合の, 制御用 FTP通信とデータ転

送用 FTP通信の観測結果を示した。

表 6.5: データに含まれる FTP通信の詳細

通信内容 ファイル数 (ディレクトリを含む)

ファイルを一つダウンロード 1

複数ファイルをダウンロード 30

ディレクトリ単位でダウンロード 40

ディレクトリ単位でダウンロード 80

25

Page 27: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

第 6 章 実証実験

図 6.1: FTP通信時の制御用通信とデータ転送用通信の観測結果

この結果より, FTPの通信の際は制御用の通信とデータ転送用の通信が同時に観測されるこ

とがわかる。

SYN Flood攻撃を含む通信の総合調査

また, SYN Flood攻撃を行った場合には, 以下に挙げた項目が観測された。

• パケット数がとても少ないフローが大量発生

• 大量の送信元からのアクセスが大量発生 (DDoS攻撃)

• HMMによる判定で, 「識別不可」の結果のフローが大量発生

ポートスキャン含む通信の総合調査

次に, ポートスキャンを行った場合には, 以下に挙げた項目が観測された。

• パケット数がとても少ないフローが多く発生

• 特定の送信元からのアクセスが発生し, 別フローとして認識されている (宛先ポートが異

なるフローが多い)

26

Page 28: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

第 6 章 実証実験

• HMMによる判定で, 「識別不可」の結果のフローが大量発生

SYN Flood や ポートスキャンに関しては, フローを個々で調査した場合には認識できなかっ

たが, フロー全体を総合的に調査することで, その特徴を検出することができた。

27

Page 29: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

第 7 章

結論

本研究のまとめと今後の課題について述べる。

7.1 まとめネットワーク上には様々なアプリケーションによる通信が存在しており, ネットワークの管

理者が自分が管理しているネットワークの状態を把握することが困難であると述べた。そこで,

本研究では機械学習アルゴリズムの一つである隠れマルコフモデルを用いて, 通信の種類を特

定する手法を提案した。提案手法は, 送信元と宛先の IPアドレス, 送信元と送信先のポート番

号の組であるフローを単位として, 時系列データの特徴ベクトルを作成し, それを隠れマルコ

フモデルを用いて解析させる。さらに, フローを個々で調べるだけでなく, 確立されているフ

ローを総合的に調査するという手法である。この手法により同じポートを使用した通信でも,

文書と動画で別のものと判断でき, 通信の種類を特定することが可能であることを実証実験に

より示した。インターネットの普及に伴い, 様々な特徴を持つ通信が出現していき, ネットワー

クの状態を把握するのが更に困難になっていく。そこで本研究の提案手法を適用することで通

信の種類を特定することで, ネットワークの状態を把握が可能になる。

28

Page 30: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

第 7 章 結論

7.2 今後の課題残された課題を以下に示す。

• ネットワーク環境への最適化

本研究ではパケットの受信間隔時間とパケットサイズの情報を利用したが, これらのパラ

メータはネットワーク環境によって変わる可能性がある。そのため, 作成した HMMが

他のネットワークでは使用できない可能性があるため, 各ネットワークに合わせたHMM

を作成する必要がある。

• 使用するパラメータの問題

本研究ではパケットの受信間隔時間とパケットサイズの情報を利用したが, より良いパラ

メーターがあるか否かを追求していく必要がある。

• 未知の通信への対応

隠れマルコフモデルは機械学習のアルゴリズムのため, 事前に学習をさせて置かなけれ

ば, 未知の通信として扱われ分類を行うことができない。そのため, 実際に実環境で動か

す場合には多くのモデルを作成しなくてはならないという問題がある。

29

Page 31: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

謝辞

本修士論文の作成に当たり, 日頃より御指導を頂いた早稲田大学大学院基幹理工学研究科の

後藤滋樹教授に深く感謝致します。また, 研究を共にした同研究室の仲間たちに深く感謝致し

ます。

30

Page 32: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

参考文献

[1] Chrome ブラウザ

[2] 次世代ブラウザ Firefox

高速・安全・カスタマイズ自在な無料ブラウザ

http://www.mozilla.jp/firefox/

[3] アップル - Safari

ウェブブラウジングをもっとスマートに、パワフルに

http://www.apple.com/jp/safari/

[4] Internet Explorer - Microsoft Windows http://windows.microsoft.com/ja-JP/internet-

explorer/download-ie

[5] Hping - Active Network Security Tool, http://www.hping.org/

[6] http://itpro.nikkeibp.co.jp/members/NBY/Security/20040415/2/

[7] Nmap - Free Security Scanner For Network Exploration & Security Audits,

http://nmap.org/

[8] 豊田秀樹編著, “データマイニング入門”, 東京図書.

[9] 新納浩幸, “Rで学ぶクラスタ解析”, オーム社, 2007.

[10] Charles Wright, Fabian Monrose, Gerald M. Masson, “HMM Profiles for Network Traffic

Classification”, Proceedings of the 2004 ACM workshop on Visualization and data mining

for computer security, pp.9–15, 2004.

[11] Alberto Dainotti, Walter de Donato, Antonio Pescape, Pierluigi Salvo Rossi, “Classifica-

tion of Network Traffic via Packet-Level Hidden Markov Models”, GLOBECOM, pp.2138–

2142, 2008.

31

Page 33: 隠れマルコフモデルによる トラフィックの分類 · 6.1 実験1: 隠れマルコフモデルによる ... そこで, ネットワークの管理者がネットワークを管理するということが重要である。しかし,

参考文献

[12] Alberto Dainotti, Antonio Pescape, Pierluigi Salvo Rossi, Francesco Palmieri, Giorgio

Ventre, “Internet traffic modeling by means of Hidden Markov Models”, Computer Net-

works 52 (14), pp.2645–2662, 2008.

[13] 森達哉, 川原亮一, 上山憲昭, “通信パターンに基づくホスト分類方法”, IEICE, 電子情報

通信学会ソサイエティ大会講演論文集, vol.2005, no.2, p.131, 2005.

[14] 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.

[15] M.Roughan, S.Sen, O.Spatscheck, N.Duffield, “Class-of-Service Mapping for QoS: A Sta-

tistical Signature-based Approach to IP Traffic Classification”, ACM IMC, 2004.

[16] 片山雄介, “クラスタリングによる通信の分類と時間変化の解析”, 早稲田大学基幹理工学

部情報理工学科 卒業研究, 2010.

[17] General Hidden Markov Model library (GHMM) http://ghmm.org/

32