JP2008136012A - トラヒック分析装置および分析方法 - Google Patents

トラヒック分析装置および分析方法 Download PDF

Info

Publication number
JP2008136012A
JP2008136012A JP2006321020A JP2006321020A JP2008136012A JP 2008136012 A JP2008136012 A JP 2008136012A JP 2006321020 A JP2006321020 A JP 2006321020A JP 2006321020 A JP2006321020 A JP 2006321020A JP 2008136012 A JP2008136012 A JP 2008136012A
Authority
JP
Japan
Prior art keywords
packet
item
value
traffic
different
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006321020A
Other languages
English (en)
Other versions
JP4734223B2 (ja
Inventor
Yoshinori Watanabe
渡辺義則
Yusuke Shomura
正村雄介
Kenichi Yoshida
吉田健一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alaxala Networks Corp
Original Assignee
Alaxala Networks Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alaxala Networks Corp filed Critical Alaxala Networks Corp
Priority to JP2006321020A priority Critical patent/JP4734223B2/ja
Priority to US11/832,238 priority patent/US8345575B2/en
Publication of JP2008136012A publication Critical patent/JP2008136012A/ja
Application granted granted Critical
Publication of JP4734223B2 publication Critical patent/JP4734223B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/555Error detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】 多量のトラヒックが流れる高速なネットワークにおいても攻撃トラヒックや過大トラヒックのような不正なトラヒックをパケットヘッダのみの情報で高速に推定可能なトラヒック分析装置を提供する。
【解決手段】 パケット送受信部105と、パケット送受信部105によって得られたパケット中の任意の一つ又は複数の項目の組み合わせ108の項目の値が同一であるパケットの数を積算するパケット数積算部120と、前記組み合わせに含まれない項目の異なる値の出現数を積算する異なり数積算部121と、積算したパケットの数が指定のしきい値を超えたときに、前記任意の一つ又は複数の組み合わせの項目の値と、前記異なる値の出現数と、前記しきい値の関係から前記しきい値を超えたパケットの特性を推定するパケット推定部122とを備えるトラヒック分析装置101。
【選択図】 図1

Description

技術分野は、ネットワーク上のトラヒックの特性を分析するトラヒック分析装置および分析方法に関し、特に大量のトラヒックの中から過大な帯域を占めるトラヒックを効率よく検出し、その特性を示すことができるトラヒック分析装置および分析方法に関する。
インターネットやLANの利用が普及するとともに、それらのネットワークの安定運用がますます重要となっている。特にインターネットにおいては不特定多数のユーザが様々なアプリケーションを利用する。そのため、インターネットサービスプロバイダが想定する以上の過負荷トラヒック、あるいは、攻撃やネットワークワームの流布などの不正行為によるトラヒックが発生する可能性が高く、これらをどのように検出するかが課題となっている。
この課題に対し、インターネットバックボーンのような大規模なネットワークにおいて、大量に流れるトラヒックから過負荷トラヒックや不正トラヒックを特定する技術として、たとえば大量のデータに対してそのデータの中に良く含まれる項目の組み合わせを抽出するバスケット解析の技術を応用して、大量のトラヒックデータから頻出するトラヒック、すなわち、過負荷トラヒックや不正トラヒックである可能性が高いトラヒックを抽出する技術が開示されている(たとえば特許文献1参照)。この技術は、トラヒックデータ中のネットワーク上での転送に必要なヘッダ情報部分だけを参照して分析を行うことができることも特徴である。
一方、トラヒックの分析方法において、あるトラヒックがどのような特性を持っているかを示すパラメータとして、あるホストが通信相手としている宛先ホスト数などの「異なり数」が注目されている。異なり数を利用すると、通信データ量などの単純な情報だけでは判別が難しい攻撃や、スキャンを目的とした不正トラヒックを比較的高精度に判別できるようになる。異なり数も、トラヒックデータ中のネットワーク上での転送に必要なヘッダ情報部分だけを参照して得られる情報である。一般に異なり数を数えるためには、それまでに現れた値(たとえば、異なり数として通信相手数を数えるのであれば通信相手のアドレス)をすべて保持しておくことが必要となり、多量のメモリを要する処理となる。これを解決するため、対象となる値を直接保持する変わりにその値のハッシュ値を求め、そのハッシュ値に対応するビットマップ上のビットに出現したことを記録することで使用メモリ量を削減しつつ異なり数を数える技術が開示されている(たとえば非特許文献1参照)。
特開2005−285048公報 「NetHost:ホスト毎トラヒックサマリ集約方法の提案」、2006年電子情報通信学会総合大会、BS−5−2
特許文献1の技術は、過負荷トラヒックや不正トラヒックの抽出にデータマイニング技術を応用することで、大量のトラヒックに対しても監視対象を制限することなく、かつ、パケットのヘッダ情報だけを利用して高速に処理可能としたものである。しかし、異なり数のようなトラヒックの特性の識別に必要な情報までは収集していないため、抽出された頻出トラヒックがどのようなアプリケーションに由来する過負荷トラヒックなのか、またはどのような種類の不正トラヒックなのかを詳しく判別できないという問題があった。
また、特許文献1の技術において、追加の分析情報を収集するために併用する手段として、たとえば非特許文献1の技術を利用することも考えられる。ところが、特許文献1の技術は監視対象トラヒックを限定せず、多数のトラヒックに関する情報を同時に保持しながらデータマイニングを行う手法であるため、非特許文献1の技術を併用しようとすると、分析途中にある多数のトラヒックのそれぞれについて異なり数計数用のメモリを用意しなければならなくなり、結局全体として非常に多くのメモリが必要となってしまうという問題があった。
本発明の目的は、インターネットバックボーンネットワークのような膨大なトラヒックが流れるネットワークにおいても不正なトラヒックを高速に抽出してその特性を推定可能なトラヒック分析装置および分析方法を提供することにある。
また、本発明の他の目的は、監視対象を制限することなく、不正トラヒックの抽出と特性の推定を少ないメモリリソースで実行可能なトラヒック分析装置および分析方法を提供することにある。
上記目的を達成するために本発明は、転送するパケットのヘッダ部分に含まれる項目の任意の組み合わせ毎にパケット数を積算する手段と、前記組み合わせに含まれない項目の異なる値の出現数を積算する手段と、該パケット数の積算手段による積算値が所定のしきい値を超えたかどうかを判定する手段を設け、前記パケット数が前記しきい値を超えた時に、前記項目の組み合わせと前記しきい値と前記異なる値の出現数の積算値の関係から前記転送するパケットの種別を判定する構成を採用する。
さらに、上記他の目的を達成するために本発明は、転送するパケットのヘッダ部分に含まれる項目の任意の組み合わせに含まれない項目の異なる値の出現数の積算において、既に出現した値を保持する手段として、前記任意の組み合わせに前記含まれない項目を加えた新たな組み合わせに関するパケット数の積算をする段階において、前記新たな組み合わせが新規に出現したときに前記異なる値の出現数をカウントする構成を採用する。
本発明によれば、処理時間のかかるパケットのパターンマッチングを行わずに、パケットのヘッダ情報に関する統計処理だけで不正なパケットを抽出し、その特性を推定できるため、トラヒックの多い高速なネットワークにも適用できるという効果がある。
また、パケットのヘッダ中のある項目に関する異なる値の出現数の積算のために、過去に出現した値を記憶しておくための特別な記憶領域を用意することなく、前記異なる値の出現数を積算可能となるため、トラヒックの多い高速なネットワークにおいても、少ないメモリリソースで異なり数を利用したトラヒックの特性分析を行えるという効果がある。
以下、本発明の好適な実施形態を、図面を用いて詳細に説明する。ただし、本発明はこの実施形態に限定されない。
図1は、第1の実施例におけるトラヒック分析装置101の構成図を示したものである。図1において、トラヒック分析装置101は、ネットワーク102及び入出力装置103と接続されており、ネットワーク102は、分析対象とするトラヒックが流れているネットワークであり、入出力装置103は、トラヒック分析装置101に指示を与えたり分析結果を表示させたりする。
トラヒック制御装置101は、パケット送受信部105、メモリ106、パケット数積算部120、異なり数積算部121、パケット推定部122、制御部123から構成される。
パケット送受信部105は、ネットワーク102から分析対象とするトラヒック情報を受信する。メモリ106には、受信した前記トラヒック情報を一時格納するためのトラヒック情報バッファ107、前記トラヒック情報に関する統計値を格納するためのパケットカウントテーブル108、前記トラヒック情報から抽出対象とするフローの種類を指定する情報を格納する抽出対象テーブル109、前記トラヒック情報に関する統計値のうち、異なり数の計数に必要な情報を一時格納するための計数補助テーブル110、抽出されたフローの種類から前記フローに関与するホストの動作を推定した結果を格納するホストテーブル111、前記ホストの動作がさらにP2Pファイル交換アプリケーションかどうかを推定するために必要な情報と推定結果を格納するためのP2P抽出テーブル112、ホストの種類を推定する際に必要となるしきい値情報を格納するための推定しきい値テーブル113が含まれる。
パケット数積算部120は、ネットワークを流れるパケットの中の項目(送信元IPアドレス、送信先IPアドレス、送信元ポート番号、宛先ポート番号など)の組み合わせによって構成される項目グループの各項目の値が同一であるパケットの数を積算する。異なり数積算部121は、上記項目グループに含まれない項目の異なる値の出現数を積算する。パケット推定部122は、積算された情報から、ネットワーク102を流れるパケットの特性を推定する。制御部123は、トラヒック分析装置が行う処理であって、上記のパケット数積算部120、異なり数積算部121及びパケット推定部122が行う処理以外の処理を行う。なお、パケット数積算部120、異なり数積算部121、パケット推定部122及び制御部123は、それぞれ異なるハードウェアによって実現しても良く、またこれらの処理を行う一つのハードウェア(例えば、一つのCPU)が処理を行う構成でも良い。また、それぞれの機能を実現するソフトウェア(プログラム)が存在し、CPUがそれらのソフトウェアを起動して処理する構成でも良い。
以上の構成において、トラヒック分析装置101は、ネットワーク102を流れるトラヒックに関するトラヒック情報を受信して分析し、前記トラヒックが過負荷トラヒックや不正トラヒックであるかどうかを推定して結果を入出力装置103に表示するように動作する。
以下、メモリ106に格納されるパケットカウントテーブル108から推定しきい値テーブル113の構成の一例を、それぞれ図2から図8を用いて説明し、トラヒック分析装置101の動作の一例について図9から図12のフローチャートを用いて詳細に説明する。
図2は、パケットカウントテーブル108の一例を示した図である。本実施例では、ネットワーク102より受信したトラヒック情報に含まれる個々のパケットについて、前記パケットの構成要素の特定の組み合わせ(アイテムセットと呼ぶ)に着目し、前記構成要素の組み合わせが同一の値を持つ前記パケット(これらのパケットの集合をフローと呼ぶ)の数を積算することで前記トラヒック情報から注目すべきフローを抽出し、前記フローに関与するホストの動作を推定するという分析方式を用いている。
パケットカウントテーブル108は、前記積算の結果を保持するためのテーブルであり、一つの前記積算の結果を一つのエントリに格納する構造となっている。一つのエントリは、前記エントリを一意に識別するエントリ番号108a、前記エントリで積算対象となっているフローのアイテムセットを示すアイテムセット値108b、前記フローに含まれる送信元IPアドレスの値または異なり数のいずれかを格納する送信元IPアドレス108c、前記フローに含まれる宛先IPアドレスの値または異なり数のいずれかを格納する宛先IPアドレス108d、前記フローに含まれる送信元ポート番号の値または異なり数のいずれかを格納する送信元ポート番号108e、前記フローに含まれる宛先ポート番号の値または異なり数のいずれかを格納する宛先ポート番号108f、前記フローを構成するパケットの積算数を格納するパケット数108g、前記フローを構成するパケットの長さを積算した値を格納する積算バイト数108h、前記エントリにより積算を開始した時刻を格納するカウント開始時刻108iから構成される。
ここで、パケットカウントテーブル108に格納される各エントリは、ネットワーク102を流れるパケットの情報を分析した結果であり、108b〜108iに示す項目の値を有する分析情報ということもできる。そして、パケットカウントテーブル108は、これらのエントリ(分析情報)を複数記憶した分析情報記憶部ということもできる。
図3は、アイテムセット値108bに格納する値を示すビットパターンである。アイテムセット値108bは、送信元IPアドレス108c、宛先IPアドレス108d、送信元ポート番号108e、宛先ポート番号108fの各構成要素に格納される値が、アイテムセットの構成要素としての値なのか、あるいは、前記アイテムセットの構成要素ではなく、異なる値が何種類出現したかを示す異なり数なのかを示す。
なお、本実施例の説明では、アイテムセットの構成要素として扱う項目は、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号の4種類としているが、処理対象とする構成要素をこれらに限定するものではなく、分析の目的に応じて、IPヘッダ、および、TCPヘッダまたはUDPヘッダに含まれる他の項目の値、または、TCPヘッダまたはUDPヘッダの後ろに続くデータの一部であってもよい。
さらには、L2TPやPPPなどのトンネリングプロトコルのパケットに格納されたIPパケット中のIPヘッダ、および、TCPヘッダまたはUDPヘッダに含まれる他の項目の値、または、TCPヘッダまたはUDPヘッダの後ろに続くデータの一部であってもよい。
図4は、抽出対象テーブル109の内容の一例を示した図である。抽出対象テーブル109は、ネットワーク102から受信したトラヒック情報から統計処理の対象とするフローの種類と取得する統計情報の内容を定義するテーブルである。前記フローの種類と取得する統計情報の内容が一つのエントリで定義され、一つの前記エントリは、前記エントリを一意に識別するためのエントリ番号109a、前記フローの種類を示すアイテムセット値109b、前記フローに関与するホストの動作の推定処理を開始するタイミングを指定するしきい値109c、前記エントリ処理時に異なり数の積算処理を行うアイテムセットを指定する異なり数更新対象アイテムセット109dから構成される。
図5は、計数補助テーブル110の内容の一例を示した図である。計数補助テーブル110は、パケットカウントテーブル108によって異なり数を計数する際に補助的に使用するワークテーブルであり、ネットワーク102から受信したトラヒック情報に含まれる1パケット分の分析処理において、統計処理の対象となる各アイテムセット毎に、前記アイテムセットを含むパケット数の積算に使用するパケットカウントテーブル108中のエントリのエントリ番号を一時記憶するものである。具体的には、前記アイテムセットのアイテムセット値を格納するフィールド110aと前記エントリ番号を格納するフィールド110bの組み合わせから成る複数のエントリで構成される。
図6は、ホストテーブル111の内容の一例を示した図である。ホストテーブル111は、ネットワーク102からのトラヒック情報から抽出した注目フローに関与するホストの動作についての情報を格納する複数のエントリから構成され、一つの前記エントリは、前記エントリを一意に識別するためのエントリ番号111a、前記ホストのIPアドレス111b、前記ホストがサーバとして動作しているのか、または、クライアントとして動作しているのかを示すホストタイプ111c、前記ホストがサービスの提供または利用に使用しているサービスポート番号111d、前記エントリへの記録を行った時点の前記注目フローのパケット数を示す検出しきい値111e、前記注目フローのうち前記ホストが受信しているパケットの送信元となっているホストの数を示す通信相手数(IN)111f、前記注目フローのうち前記ホストが送信しているパケットの送信先となっているホストの数を示す通信相手数(OUT)111g、前記注目フローのうち前記ホストが受信したパケット数の計数を開始してから検出しきい値111eの値に達するまでに要した時間を格納する計測時間(IN)111h、前記注目フローのうち前記ホストが送信したパケット数の計数を開始してから検出しきい値111eの値に達するまでに要した時間を格納する計測時間(OUT)111i、前記注目フローのうち前記ホストが受信したパケット数の計数を開始してから検出しきい値111eの値に達するまでの単位時間あたりの平均データ量を格納する平均帯域(IN)111j、前記注目フローのうち前記ホストが送信したパケット数の計数を開始してから検出しきい値111eの値に達するまでの単位時間あたりの平均データ量を格納する平均帯域(OUT)111k、前記注目フローがDDoS攻撃またはネットワークスキャンであると推定された結果を格納するDDoS攻撃/ネットワークスキャンフラグ111l、前記エントリの内容を最後に更新したときの時刻を格納する最終更新時刻111mから構成される。
図7は、P2P抽出テーブル112の内容の一例を示す図である。P2P抽出テーブル112は、ネットワーク102からのトラヒック情報から抽出した注目フローに関与するホストの動作がP2Pファイル交換であるかどうかを推定するために必要な情報と推定結果を格納する複数のエントリから構成される。一つの前記エントリは、前記エントリを一意に識別するためのエントリ番号112a、前記ホストのIPアドレス112b、P2Pファイル交換であるかどうかの推定に利用するP2P推定用フローの検出数を格納するP2P推定用フロー検出数112c、P2Pファイル交換かどうかの推定結果を格納するP2P推定結果112d、抽出された前記P2P推定用フローの統計値に含まれる数値からP2Pファイル交換であるかどうかの推定に利用するパラメータの計算結果を格納する異なり数分布パラメータA112eおよび異なり数分布パラメータB112fより構成される。なお、異なり数分布パラメータA112eおよび異なり数分布パラメータB112fの意味については後の動作説明の中で詳しく述べる。
図8は、推定しきい値テーブル113の内容の一例を示した図である。推定しきい値テーブル113は、ネットワーク102から受信したトラヒック情報に含まれるフローに関与するホストの動作の推定処理を行う際に、前記フローの種類を推定するための基準とする数値を格納するもので、前記フローの種類がDDoS攻撃であるかどうかの判断基準とするDDoS推定しきい値113a、前記フローの種類がネットワークスキャンであるかどうかの判断基準とするネットワークスキャン推定しきい値113b、前記フローの種類がP2Pファイル交換であるかどうかの判断基準とするP2P推定用異なり数分布パラメータAしきい値113cとP2P推定用異なり数分布パラメータBしきい値113dから構成される。
続いて、図9のフローチャートによりトラヒック分析装置101の動作について説明する。トラヒック分析装置101の制御部123は、分析処理の実行に先立ち、まず初期化処理を実行する(ステップ901)。初期化処理の具体的内容は、メモリ106に格納されているパケットカウントテーブル108、ホストテーブル111、P2P抽出テーブル112の各テーブルを構成するエントリが何も登録されていない初期状態に設定する処理である。
次に、制御部123は、入出力装置103から初期設定情報903を受け取り、抽出対象テーブル109と推定しきい値テーブル113に設定する(ステップ904)。
入出力装置103は、初期設定情報903を構成するために必要な情報を得るため、初期設定情報入力画面902を表示し、入力操作を待つ。
図14は初期設定情報入力画面902の一例を示す図である。図14の例に示す画面は、フロー検出しきい値902a、DDoS推定しきい値902b、ネットワークスキャン推定しきい値902c、P2P推定パラメータA902d、P2P推定パラメータB902eのフィールドから構成される。前記各フィールドに入力された値は、実行ボタン902fが押下されたタイミングで初期設定情報903としてトラヒック分析装置101に送信され、制御部123は、初期設定情報903に含まれる値を抽出対象テーブル109と推定しきい値テーブル113のそれぞれ対応する領域に書き込む。具体的には、フロー検出しきい値902aに入力された値を抽出対象テーブル109の全エントリのしきい値109bに、DDoS推定しきい値902bをしきい値テーブル113のDDoS推定しきい値113aに、ネットワークスキャン推定しきい値902cの値をしきい値テーブル113のネットワークスキャン推定しきい値113bに、P2P推定パラメータA902dの値をしきい値テーブル113のP2P推定用異なり数分布パラメータAしきい値113cに、P2P推定パラメータB902eの値をしきい値テーブル113のP2P推定用異なり数分布パラメータBしきい値113dにそれぞれ格納する。
ステップ904まで完了すると、トラヒック分析装置101は、ネットワーク102からのトラヒック情報受信待ち状態となる。この状態でネットワーク102からのトラヒック情報905をパケット送受信部105により受信すると、トラヒック情報905はトラヒック情報バッファ107に一旦格納される。トラヒック情報905は、たとえば、ネットワーク102の中を流れるパケットの複製であり、あるいは、適切な間隔でサンプリングした複数の前記パケットの一部分を一つのパケットに集約したsFlowパケットなどである。
トラヒック情報905がトラヒック情報バッファ107に格納されると、パケット数積算部120は、パケットカウントテーブル108の更新処理を開始する(ステップ906)。ステップ906では、トラヒック情報バッファ107に格納されたトラヒック情報に含まれる個々のパケットについてパケットカウントテーブル108を用いた統計処理を行うとともに注目すべきフローの抽出を行い、前記フローに関与するホストの動作の推定処理を行い、その結果によりホストテーブル111とP2P抽出テーブル112の更新処理を行う。その詳細は、図10のフローチャートにより後に詳細に説明する。
ステップ906の処理の結果、ホストテーブル111とP2P抽出テーブル112の内容が更新された場合(ステップ907)、前記二つのテーブルの内容を入出力装置103に出力するホスト情報出力処理を行う(ステップ908)。前記二つのテーブル内容を抽出情報909に構成して入出力装置103に送信し、ホスト情報表示画面910を表示する。
図15は、ホスト情報表示画面910の一例を示す図である。この例では、ホストテーブル111のエントリのうちホストタイプ111cが「サーバ」となっているものをサーバリスト910aに、ホストタイプ111cが「クライアント」となっているものをクライアントリスト910bに、P2P抽出テーブル112のエントリのP2P推定結果112dの値がP2Pファイル交換と推定されたことを示す1となっているものをP2Pファイル交換ホストリスト910cにそれぞれ表示する。具体的には、サーバリスト910a、クライアントリスト910bでは、ホストテーブル111のエントリに含まれるIPアドレス111b、サービスポート番号111d、平均帯域(OUT)111i、平均帯域(IN)111hの各値を前記画面上の「IPアドレス」、「ポート番号」、「送信帯域」、「受信帯域」の欄にそれぞれ表示し、DDoS攻撃/ネットワークスキャンフラグ111lの値が1となっているものについては、「DDoS」または「Scan」の欄にマークを表示する。P2Pファイル交換ホストリスト910cでは、P2P抽出テーブル112のエントリに含まれるIPアドレス112bの値を「IPアドレス」の欄に表示し、前記IPアドレス112bの値をIPアドレスに持ち、ホストタイプが「サーバ」であるエントリをホストテーブル111から検索し、検索されたエントリに含まれるサービスポート番号111dの値を「ポート番号」の欄に表示する。
以上が、トラヒック分析装置101の動作であり、ステップ906からステップ908までの処理は、ネットワーク102からトラヒック情報905が受信されるたびに繰り返し実行される。
次に、ステップ906のパケットカウントテーブル108更新処理の詳細を図10のフローチャートにより説明する。
ステップ906では、トラヒック情報905に含まれているパケットについて、抽出対象テーブル109で指定されたアイテムセット毎の統計処理を行い、結果をパケットカウントテーブル108に反映する。そのために、パケット数積算部120は、まず抽出対象テーブル109のエントリを順に走査するための変数iを用意し、1に初期化する(ステップ1001)。
次に、パケット数積算部120は、抽出対象テーブル109のi番目のエントリに含まれるアイテムセット値109bの値を取得し(ステップ1002)、トラヒック情報バッファ107に含まれるパケットにおける前記アイテムセット値に対応する積算対象アイテムセットの積算情報を格納するパケットカウントテーブル108内の使用エントリを選択する(ステップ1003)。具体的な選択方法には、たとえば前記積算対象アイテムセットの構成要素の各値を連結した値にMD5等のハッシュ関数を適用して得られた値をパケットカウントテーブル108の最大エントリ数で割った余りに1を加えたものを使用エントリ番号とする方法などがある。
さらに、パケットカウントテーブル108の全エントリ数を多数用意することなく頻出するフローの情報を残しやすくするために、複数の異なる計算方法により使用エントリの候補を複数選択し、それらが全て使用中であった場合に、前記使用エントリ候補の中でパケット数108gの値が最小のものを使用エントリ番号として選択する方法もある。
次に、パケット数積算部120は、前記積算対象アイテムセットと前記使用エントリに格納されているアイテムセットを比較して前記使用エントリ内容の確認を行う(ステップ1004)。もし、前記使用エントリが未使用状態であるか、または、前記積算対象アイテムセットと前記使用エントリに格納されているアイテムセットが異なるものであった場合、ステップ1005からステップ1007までの処理を行う。
ステップ1005は、前記使用エントリの初期化処理であり、前記使用エントリのアイテムセット値108bにステップ1002で取得したアイテムセット値を設定し、送信元IPアドレス108c、宛先IPアドレス108d、送信元ポート番号108e、宛先ポート番号108fのそれぞれについて、前記アイテムセット値でアイテムセット構成要素と指定されているものには前記積算対象アイテムセットの該当する構成要素の値を、異なり数計数対象となっているものには0を設定し、パケット数108gと積算バイト数108hに0を設定し、カウント開始時刻108iに現在時刻を設定する。
ステップ1006は、計数補助テーブル110の更新処理であり、計数補助テーブル110の中のアイテムセット値110aが前記アイテムセット値であるフィールドに対応するパケットカウントテーブルエントリ番号110bのフィールドに前記使用エントリのエントリ番号を格納する。
ステップ1007は、異なり数を計数するための処理であり、これについては図11のフローチャートにより後に詳細に説明する。
ステップ1004において、前記積算対象アイテムセットと前記使用エントリに格納されているアイテムセットが同一であった場合は、前記使用エントリはすでに前記積算対象アイテムセットの統計処理に使用されているということであり、ステップ1005からステップ1007は実行しない。
次に、パケット数積算部120は、前記使用エントリ内のカウンタ情報を更新する(ステップ1008)。具体的には、パケット数108gに1を加算し、前記パケットの長さを積算バイト数108hに加算する。
ステップ1008の処理の結果、パケット数108gの値が抽出対象テーブル109のi番目のエントリのしきい値109cの値に達した場合、パケット推定部122は、ステップ1010のホスト情報抽出処理を実行する(ステップ1009)。ホスト情報抽出処理は、しきい値越えが発生したアイテムセットにより識別されるフローに関与するホストの動作を推定する処理で、その結果がホストテーブル111とP2P抽出テーブル112に反映される。その詳細処理については図12のフローチャートにより後に詳細に説明する。
次に、パケット数積算部120は前記変数iの値に1を加算し(ステップ1011)、iの値が抽出対象テーブル109の全エントリ数を越えるまでステップ1002からステップ1011までの処理を繰り返し実行する(ステップ1012)。以上で、ステップ906の処理を終了する
次に、図10のステップ1007に示す異なり数計数処理の詳細を図11のフローチャートにより説明する。
まず、異なり数の計数の原理について簡単に説明する。例えば、宛先IPアドレスと宛先ポート番号の二つから構成されるアイテムセットを含む第1のフローに関して送信元IPアドレスの異なり数を計数する場合、宛先IPアドレスと宛先ポート番号が前記第1のフローと同一の値で、さらに三つ目の構成要素として送信元IPアドレスを持つアイテムセットに関するパケットカウントテーブル108の新たなエントリを作成したときに前記異なり数に1を加算する方法で計数することができる。第2のフローが新規に現れたものかどうかは、図10のフローチャートのステップ1004の処理の際に容易に判定できる。ステップ1007は、前記第2のフローが新規に現れたものである場合にだけ実行され、前記計数処理を実際に行う部分である。
ステップ1007において、異なり数積算部121は、まずステップ1007実行時点で処理対象となっている抽出対象テーブル109のエントリの異なり数更新対象アイテムセットリスト109dの要素を順に走査するための変数jを用意し、1に初期化する(ステップ1101)。
次に、異なり数積算部121は、ステップ1007実行時点で処理対象となっている抽出対象テーブル109のエントリの異なり数更新対象アイテムセットリスト109dのj番目の要素を取り出し、その値をxとする(ステップ1102)。そして、xが0でなければステップ1104以降の処理を継続し、0であればステップ1007の処理を終了する(ステップ1103)。
ステップ1104では、異なり数積算部121は、補助テーブル110の中からアイテムセット値110aの値がxと等しいエントリを検索し、前記エントリのパケットカウントテーブルエントリ番号110bの値を取り出し、その値をyとする。そして、yの値が0でなければステップ1106を実行し、0であった場合は、ステップ1106はスキップする(ステップ1105)。
ステップ1106では、異なり数積算部121は、パケットカウントテーブル108のエントリ番号108aがyであるエントリの該当するアイテムの異なり数に1を加える。前記該当するアイテムは、ステップ1007実行時点で処理対象となっている抽出対象テーブル109のエントリのアイテムセット値109bとxで値が異なっているビットに対応するアイテムであり、これは前記アイテムセット値109bとxの排他的論理和を取ることで容易に求まる。
次に、異なり数積算部121は、jの値に1を加算してステップ1102に戻り、処理を繰り返す(ステップ1107)。以上により異なり数の計数を行える。
次に、図10のステップ1010に示すホスト情報抽出処理の詳細を図12のフローチャートにより説明する。
パケット推定部122は、まずステップ1008のカウンタ更新処理でしきい値越えを起こしたパケットカウントテーブル108のエントリのアイテムセット値108bの値からしきい値越えフローの種別を判定する(ステップ1201)。本実施例では、フローの種別は、アイテムセット値が十六進数表記で05(アイテムセットの構成要素が宛先IPアドレスと宛先ポート番号)または0a(アイテムセットの構成要素が送信元IPアドレスと送信元ポート番号)の場合をサーバフロー、06(アイテムセットの構成要素が宛先IPアドレスと送信元ポート番号)または09(アイテムセットの構成要素が送信元IPアドレスと宛先ポート番号)の場合をクライアントフロー、08(アイテムセットの構成要素が送信元IPアドレス)の場合をP2P推定用フローと定義する。なお,判定可能なフローの種別は上記に限定するものではなく,別の構成要素の組み合わせに別のフローの種別を定義してもよい。
前記判定の結果が、サーバフローまたはクライアントフローであれば、ステップ1203からステップ1206によるホストテーブル111の更新処理を、P2P推定用フローであれば、ステップ1207からステップ1211によるP2Pファイル交換ホスト推定処理をそれぞれ実行し、それ以外であればそのままステップ1010を終了する(ステップ1202)。
ホストテーブル111の更新処理は、まずパケット推定部122が、前記しきい値越えフローに関与するホストの情報が既にホストテーブル111に登録されているかを検索し(ステップ1203)、登録されていなければホストテーブル111の未使用エントリに新規登録する(ステップ1204)。前記新規登録処理は、前記しきい値越えを起こしたパケットカウントテーブル108のエントリに含まれる情報から、前記未使用エントリのIPアドレス111b、ホストタイプ111c、サービスポート番号111d、検出しきい値111eの各フィールドに値を設定する処理である。
次に、ステップ1203で検索されたエントリまたはステップ1204で新規登録されたエントリ内の情報を、前記しきい値越えを起こしたパケットカウントテーブル108のエントリの情報により更新する(ステップ1205)。更新するフィールドは、通信相手数(IN)111f、通信相手数(OUT)111g、計測時間(IN)111h、計測時間(OUT)111i、平均帯域(IN)111j、平均帯域(OUT)111k、最終更新時刻111mである。
最後に、ステップ1205で更新したエントリので示されるホストの動作がDDoS攻撃またはネットワークスキャンであるかどうかの推定処理を行い、その結果を前記エントリのDDoS攻撃/ネットワークスキャンフラグに反映してホストテーブル111更新処理を終了する(ステップ1206)。
ここで、本実施例によるDDoS攻撃およびネットワークスキャンの推定方法について説明する。
まず、DDoS攻撃は、あるホストがサービスを提供しているポート番号に対し、多数の攻撃ホストから接続要求を行う行為であり、前記多数の攻撃ホストからのパケットはサーバフローとして検出され、かつ、前記攻撃ホストのIPアドレスはそれぞれ異なっていることから、前記サーバフローの送信元IPアドレスの異なり数は、前記サーバフローの検出しきい値に近い値になると考えられる。そこで、サーバフローを検出した際に前記サーバフローがDDoS攻撃かどうかを推定するための推定しきい値を前記異なり数の前記検出しきい値に対する比率で定義し、前記サーバフローにおける送信元IPアドレスの異なり数と検出しきい値の比率が、前記定義された推定しきい値を越えていた場合にDDoS攻撃と推定する。ステップ1206において、前記定義された推定しきい値は、推定しきい値テーブル113のDDoS推定しきい値113aに格納されたものを使用する。
同様に、ネットワークスキャンは、あるホストが同一のポート番号によってサービスを提供しているサーバを検索するために、多数の異なるIPアドレスに対して同一の宛先ポート番号を使用して接続要求を行う行為であり、前記ホストからのパケットはクライアントフローとして検出され、かつ、前記クライアントフローの宛先IPアドレスの異なり数は、前記クライアントフローの検出しきい値に近い値となると考えられる。そこで、クライアントフローを検出した際に前記クライアントフローがネットワークスキャンかどうかを推定するための推定しきい値を前記宛先IPアドレスの異なり数と前記検出しきい値に対する比率で定義し、前記クライアントフローにおける宛先IPアドレスの異なり数と検出しきい値の比率が、前記定義された推定しきい値を越えていた場合にネットワークスキャンと推定する。ステップ1206において、前記定義された推定しきい値は、推定しきい値テーブル113のネットワークスキャン推定しきい値113bに格納されたものを使用する。
続いて、ステップ1207から始まるP2Pファイル交換ホスト推定処理について説明する。
P2Pファイル交換ホスト推定処理では、まずパケット推定部122が、前記しきい値越えフローに関与するホストの情報が既にホストテーブル111にサーバとして登録されているかを検索する処理を行う(ステップ1207)。これは、P2Pファイル交換ホストであれば、必ずサーバフローも発生しているため、前記ホストがホストテーブル111にサーバとしても登録されていることがP2Pファイル交換ホスト推定するための必要条件になるという考え方に基づく。ステップ1207においてホストテーブル111にサーバとして登録されていることが確認できなかった場合は、そのままステップ1010の処理を終了する。
ステップ1207においてホストテーブル111にサーバとして登録されていることが確認できた場合は、次に前記しきい値越えフローに関与するホストの情報が既にP2P抽出テーブル112に登録されているかを検索し(ステップ1208)、登録されていなければP2P抽出テーブル112の未使用エントリに新規登録を行う(ステップ1209)。前記新規登録処理は、前記しきい値越えを起こしたパケットカウントテーブル108のエントリに含まれる情報から、前記未使用エントリのIPアドレス112bに値を設定し、P2P推定用フロー検出数112cとP2P推定結果112dに0を設定する処理である。
次に、ステップ1208で検索されたエントリまたはステップ1209で新規登録されたエントリ内の情報を、前記しきい値越えを起こしたパケットカウントテーブル108のエントリの情報により更新する(ステップ1210)。具体的には、P2P推定用フロー検出数112cに1を加算し、異なり数分布パラメータA112eと異なり数分布パラメータB112fの計算を行う。
ここで、異なり数分布パラメータA112eと異なり数分布パラメータB112fの意味を説明するにあたり、まず本実施例によるP2Pファイル交換ホスト推定方法ついて説明する。
図13は、P2Pファイル交換におけるフローの概略を示した図である。図中、1301はP2Pファイル交換を行っているホスト、1302はP2Pファイル交換を行っており、ホスト1301に対してサーバとして動作しているn台のホスト群、1303はP2Pファイル交換を行っており、ホスト1301に対してクライアントとして動作しているm台のホスト群である。本実施例で想定するP2Pファイル交換プロトコルは、サーバとして動作する場合のサービスポート番号がホスト毎にランダムに決定されるものとする。本構成において、しきい値越えにより検出されるホスト1301を送信元IPアドレスとするP2P推定用フローの宛先IPアドレス異なり数、送信元ポート番号異なり数、宛先ポート番号異なり数の三つの値の比率は、およそ(n+m):n:(n+m)となる。これは、たとえばn=mと仮定すれば、前記P2P推定用フローが複数検出されたとき、前記フローがいずれも2:1:2の前記比率を示せばホスト1301がP2Pファイル交換を行っていると推定する根拠の一つとなる。ただし、実際にはnとmは時間とともに変動する等の要因があるため、前記比率は前記フロー毎にばらつきを持ったものになると考えられる。そのような点も考慮し、本実施例では、同一の送信元IPアドレスを持つ複数のP2P推定用フロー受信した際に、宛先IPアドレスの異なり数と宛先ポート番号の異なり数の比率(第1の比率)と宛先IPアドレスの異なり数と送信元ポート番号の異なり数の比率(第2の比率)をそれぞれ求め、前記第1の比率が1の近傍に分布し、かつ、前記第2の比率が0.5の近傍に分布する場合で、かつ、前記送信元IPアドレスを持つホストがホストテーブル111にサーバとして登録されている場合にP2Pファイル交換のフローであると推定する方法を用いる。
上記の推定を行うための具体的な手法として、本実施例では最小二乗法を利用して比率とばらつき具合を算出する方法を用いる。前記第1の比率の確認のためには、宛先ポート番号の異なり数をx、宛先IPアドレスの異なり数をyとして前記複数のP2P推定用フローの検出結果を最小二乗法により一次関数y=ax+bで近似したときのa、bの値、および相関係数cの値を求め、前記各値が所定の範囲に含まれているかどうかを確認する。ここで求めた前記a、b、cの組み合わせが異なり数分布パラメータA112eである。同様に、前記第2の比率の確認のためには、送信元ポート番号の異なり数をx、宛先IPアドレスの異なり数をyとして前記複数のP2P推定用フローの検出結果を最小二乗法により一次関数y=ax+bで近似したときのa、bの値、および相関係数cの値を求め、前記各値が所定の範囲に含まれているかどうかを確認する。ここで求めた前記a、b、cの各値の組み合わせが異なり数分布パラメータB112fである。
最後に、ステップ1210で求めた異なり数分布パラメータA112eと異なり数分布パラメータB112fの値が、それぞれ推定しきい値テーブル113のP2P推定用異なり数分布パラメータAしきい値113cとP2P推定用異なり数分布パラメータBしきい値113dで指定された範囲に含まれているかを確認し、含まれていた場合にP2Pファイル交換ホストであると推定し、前記エントリのP2P推定結果112dの値を1にする(ステップ1211)。
以上が、本発明の第1の実施例によるトラヒック分析装置の動作である。
図16は、第2の実施例におけるトラヒック分析装置201の構成図を示したものである。図16におけるトラヒック分析装置201が、第1の実施例におけるトラヒック分析装置101(図1)と異なる箇所は、メモリ106に、P2P抽出テーブル212(図17)と、推定しきい値テーブル213(図18)とを備える点である(テーブルの名称は同一であるが、テーブルの内容が異なる)。また、ネットワーク102、入出力装置103、パケット送受信部105、メモリ106、トラヒック情報バッファ107、パケットカウントテーブル108、抽出対象テーブル109、計数補助テーブル110、ホストテーブル111、パケット数積算部120、異なり数積算部121、パケット推定部122、制御部123は、図1に示した第1の実施例の構成要素と同一である。
図17はP2P抽出テーブル212の内容の一例を示した図である。P2P抽出テーブル212は、ネットワーク102からのトラヒック情報から抽出した注目フローに関与するホストの動作がP2Pファイル交換であるかどうかを推定するために必要な情報と推定結果を格納する複数のエントリから構成される。一つの前記エントリは、前記エントリを一意に識別するためのエントリ番号212a、前記ホストのIPアドレス212b、P2Pファイル交換であるかどうかの推定に利用するP2P推定用フローの検出数を格納するP2P推定用フロー検出数212c、P2Pファイル交換かどうかの推定結果を格納するP2P推定結果212d、抽出された前記P2P推定用フローの統計値に含まれる数値からP2Pファイル交換であるかどうかの推定に利用するDIP異なり数平均値212eおよびDPT異なり数平均値212fより構成される。なお、DIP異なり数平均値212eおよびDPT異なり数平均値212fの意味については後の動作説明の中で詳しく述べる。
図18は、推定しきい値テーブル213の内容の一例を示した図である。推定しきい値テーブル213は、ネットワーク102から受信したトラヒック情報に含まれるフローに関与するホストの動作の推定処理を行う際に、前記フローの種類を判断するための基準とする数値を格納するもので、前記フローの種類がDDoS攻撃であるかどうかの判断基準とするDDoS推定しきい値213a、前記フローの種類がネットワークスキャンであるかどうかの判断基準とするネットワークスキャン推定しきい値213b、前記フローの種類がP2Pファイル交換であるかどうかの判断基準とするP2P推定用DIP異なり数しきい値213cとP2P推定用DPT異なり数しきい値213dから構成される。
続いて、本実施例によるトラヒック分析装置201の動作について説明する。本実施例によるトラヒック分析装置201は、ネットワーク102から受信するトラヒック情報のうち、統計処理の対象を通信開始要求を意味するTCPのSYNパケットに限定し、実施例1に示したものと異なる方法でP2Pファイル交換ホストの推定を行うものである。その動作について、図19のフローチャートにより説明する。
トラヒック分析装置201の制御部123は、分析処理の実行に先立ち、まず初期化処理を実行する(ステップ1901)。初期化処理の具体的内容は、メモリ113に格納されているパケットカウントテーブル108、ホストテーブル111、P2P抽出テーブル212の各テーブルを構成するエントリが何も登録されていない初期状態に設定する処理である。
次に、制御部123は、入出力装置103から初期設定情報1903を受け取り、抽出対象テーブル109と推定しきい値テーブル213に設定する(ステップ1904)。
入出力装置103は、初期設定情報1903を構成するために必要な情報を得るため、初期設定情報入力画面1902を表示し、入力操作を待つ。
図21は初期設定情報入力画面1902の一例を示す図である。図21の例に示す画面は、フロー検出しきい値1902a、DDoS推定しきい値1902b、ネットワークスキャン推定しきい値1902c、P2P推定用DIP異なり数しきい値1902d、P2P推定用DPT異なり数しきい値1902eのフィールドから構成される。前記各フィールドに入力された値は、実行ボタン1902fが押下されたタイミングで初期設定情報1903としてトラヒック分析装置201に送信され、制御部123は、初期設定情報1903に含まれる値を抽出対象テーブル109と推定しきい値テーブル213のそれぞれ対応する領域に書き込む。具体的には、フロー検出しきい値1902aに入力された値を抽出対象テーブル109の全エントリのしきい値109bに、DDoS推定しきい値1902bをしきい値テーブル213のDDoS推定しきい値213aに、ネットワークスキャン推定しきい値1902cの値をしきい値テーブル213のネットワークスキャン推定しきい値213bに、P2P推定用DIP異なり数しきい値1902dの値をしきい値テーブル213のP2P推定用DIP異なり数しきい値213cに、P2P推定用DPT異なり数しきい値1902eの値をしきい値テーブル213のP2P推定用DPT異なり数しきい値213dにそれぞれ格納する。
ステップ1904まで完了すると、トラヒック分析装置201は、ネットワーク102からのトラヒック情報待ち状態となる。この状態でネットワーク102からのトラヒック情報1905をパケット送受信部105により受信すると、トラヒック情報1905はトラヒック情報バッファ107に一旦格納される。トラヒック情報1905は、たとえば、ネットワーク102の中を流れるパケットの複製であり、あるいは、適切な間隔でサンプリングした複数の前記パケットの一部分を一つのパケットに集約したsFlowパケットなどである。
トラヒック情報1905がトラヒック情報バッファ107に格納されると、制御部123は、トラヒック情報1905に含まれるパケットがTCP SYNパケットであるかどうかを確認する(ステップ1906)。
パケット数積算部120は、前記パケットがTCP SYNパケットの場合にパケットカウントテーブル108の更新処理を開始する(ステップ1907)。ステップ1907では、トラヒック情報バッファ107に格納されたトラヒック情報に含まれる個々のパケットについて、前記パケットがTCP SYNパケットの場合に限りパケットカウントテーブル108を用いた統計処理を行うとともに注目すべきフローの抽出を行い、前記フローに関与するホストの動作の推定処理を行い、その結果によりホストテーブル111とP2P抽出テーブル212の更新処理を行う。その詳細は、後に説明する。
ステップ1907の処理の結果、ホストテーブル111とP2P抽出テーブル212の内容が更新された場合(ステップ1908)、制御部123は、前記二つのテーブルの内容を入出力装置103に出力するホスト情報出力処理を行う(ステップ1909)。前記二つのテーブル内容を抽出情報1910に構成して入出力装置103に送信し、ホスト情報表示画面1911を表示する。
図22は、ホスト情報表示画面1911の一例を示す図である。この例では、ホストテーブル111のエントリのうちホストタイプ111cが「サーバ」となっているものをサーバリスト1911aに、ホストタイプ111cが「クライアント」となっているものをクライアントリスト1911bに、P2P抽出テーブル212のエントリのP2P推定結果212dの値がP2Pファイル交換と推定されたことを示す1となっているものをP2Pファイル交換ホストリスト1911cにそれぞれ表示する。サーバリスト1911a、クライアントリスト1911bでは、ホストテーブル111のエントリに含まれるIPアドレス111b、サービスポート番号111d、通信相手数(IN)111fまたは通信相手数(OUT)111gの各値を前記画面上の「IPアドレス」、「ポート番号」、「クライアント数」または「サーバ数」の欄にそれぞれ表示し、DDoS攻撃/ネットワークスキャンフラグ111lの値が1となっているものについては、「DDoS」または「Scan」の欄にマークを表示する。P2Pファイル交換ホストリスト1911cでは、P2P抽出テーブル212のエントリに含まれるIPアドレス212bの値を「IPアドレス」の欄に表示し、前記IPアドレス212bの値をIPアドレスに持ち、ホストタイプが「サーバ」であるエントリをホストテーブル111から検索し、検索されたエントリに含まれるサービスポート番号111dの値を「ポート番号」の欄に表示する。
以上が、トラヒック分析装置201の動作であり、ステップ1906からステップ909までの処理は、ネットワーク102からトラヒック情報1905が受信されるたびに繰り返し実行される。
次に、ステップ1907のパケットカウントテーブル更新処理の詳細について説明する。ステップ1907の処理は、図9のフローチャートに示した実施例1によるトラヒック分析装置101のステップ906の処理と基本的に同じ流れであり、その詳細は、図10、図11、図12のフローチャートで示すものとなる。本実施例において実施例1の場合と処理が異なる部分は、図12のフローチャートのステップ1210とステップ1211であるため、その部分のみを以下に説明する。
本実施例におけるステップ1210の処理では、パケット推定部122は、ステップ1208で検索されたエントリまたはステップ1209で新規登録されたエントリ内の情報を、図10のフローチャートのステップ1008の処理でしきい値越えを起こしたパケットカウントテーブル108のエントリの情報により更新する。具体的には、P2P推定用フロー検出数212cに1を加算し、DIP異なり数平均値212eとDPT異なり数平均値212fの計算を行う。
ここで、DIP異なり数平均値212eとDPT異なり数平均値212fの意味を説明するにあたり、まず本実施例によるP2Pファイル交換ホスト推定方法について説明する。
図20は、P2Pファイル交換におけるフローの概略を示した図である。図中、2001はP2Pファイル交換を行っているホスト、2002はP2Pファイル交換を行っており、ホスト2001に対してサーバとして動作しているn台のホスト群、2003はP2Pファイル交換を行っており、ホスト2001に対してクライアントとして動作しているm台のホスト群である。本実施例で想定するP2Pファイル交換プロトコルは、サーバとして動作する場合のサービスポート番号がホスト毎にランダムに決定され、かつ、抽出対象テーブル109のしきい値109cで指定される検出しきい値がn、mより十分大きいとものとする。本構成において、しきい値越えにより検出されるホスト2001を送信元IPアドレスとするP2P推定用フローの宛先IPアドレス異なり数と宛先ポート番号異なり数は、いずれもほぼnとなる。これは、図19のフローチャートのステップ1906にて統計対象パケットをTCP SYNパケットに限定しており、図20の構成では、この場合ホスト2001から送信されるTCP SYNパケットは、ホスト群2002に向かうものだけになるためである。したがって、本実施例では、前記宛先IPアドレス異なり数と前記宛先ポート番号異なり数のいずれもが、P2Pファイル交換における接続サーバ数と見なすのに十分な大きさの値を示しており、かつ、前記送信元IPアドレスを持つホストがホストテーブル111にサーバとして登録されている場合にP2Pファイル交換のフローであると推定する方法を用いる。
上記の推定を行うための具体的な手法として、本実施例では、抽出されたP2P推定用フローに含まれる宛先IPアドレス異なり数の平均値と宛先ポート番号異なり数の平均値を求め、これらをあらかじめ指定した推定用しきい値と比較処理を行い,前記推定様式位置より大きければP2Pファイル交換と推定する手法を用いる。この時の前記宛先IPアドレス異なり数の平均値と前記宛先ポート番号異なり数の平均値が、それぞれDIP異なり数平均値212e、DPT異なり数平均値212fであり、前記推定しきい値が、P2P推定用DIP異なり数しきい値213cとP2P推定用DPT異なり数しきい値213dであり、前記比較処理とそれによる推定結果をP2P抽出テーブル212のP2P推定結果212dに反映する処理が本実施例におけるステップ1211の処理である。
以上が、本発明の第2の実施例によるトラヒック分析装置201の動作である。
実施例1におけるトラヒック分析装置の構成の一例を示す図。 実施例1におけるパケットカウントテーブルの内容の一例を示す図。 実施例1におけるアイテムセット値のビット構成の一例を示す図。 実施例1における抽出対象テーブルの内容の一例を示す図。 実施例1における補助テーブルの内容の一例を示す図。 実施例1における抽出ホストテーブルの内容の一例を示す図。 実施例1におけるP2P抽出テーブルの内容の一例を示す図。 実施例1における推定しきい値テーブルの一例を示す図。 実施例1におけるトラヒック分析装置の処理概要を示すフローチャート。 実施例1におけるパケットカウントテーブル更新処理フロー。 実施例1における異なり数計数処理フロー。 実施例1におけるホスト情報抽出処理フロー。 実施例1におけるP2Pファイル交換フローの概略を説明する図。 実施例1における初期設定情報入力画面の一例を示す図。 実施例1におけるホスト情報出力画面の一例を示す図。 実施例2におけるトラヒック分析装置の構成の一例を示す図。 実施例2におけるP2P抽出テーブルの内容の一例を示す図。 実施例2における推定しきい値テーブルの一例を示す図。 実施例2におけるトラヒック分析装置の処理概要を示すフローチャート。 実施例2におけるP2Pファイル交換フローの概略を説明する図。 実施例2における初期設定情報入力画面の一例を示す図。 実施例2におけるホスト情報出力画面の一例を示す図。
符号の説明
101、201 トラヒック分析装置
102 ネットワーク
103 入出力装置
105 パケット送受信部
106 メモリ
107 トラヒック情報バッファ
108 パケットカウントテーブル
109 抽出対象テーブル
110 計数補助テーブル
111 ホストテーブル
112、212 P2P抽出テーブル
113、213 推定しきい値テーブル
120 パケット数積算部
121 異なり数積算部
122 パケット推定部

Claims (11)

  1. ネットワークを流れるパケットのトラヒックを分析するトラヒック分析装置において、
    前記ネットワークを流れるパケットを送受信するパケット送受信部と、
    前記パケット送受信部が受信したパケット中の一つ又は複数の項目で構成される第1の項目グループに含まれる各項目の値が同一であるパケットの数を積算するパケット数積算部と、
    前記第1の項目グループに含まれる各項目の値が同一であるパケット中の項目であって、前記第1の項目グループに含まれない項目の値のうち、異なる値の種類を示す異なり数を積算する異なり数積算部と、
    前記パケット数積算部によって積算されたパケット数の積算値を記憶する積算値記憶領域と、パケットの項目の値を記憶していることを識別する情報または前記異なり数を記憶していることを識別する情報を記憶する第1の記憶領域と、前記第1の記憶領域に記憶された情報に対応する情報を記憶する第2の記憶領域であって、前記第1の記憶領域に、パケットの項目を記憶していることを識別する情報が記憶されている場合は、各項目領域に、前記各項目の値を記憶し、前記第1の記憶領域に、異なり数を記憶していることを識別する情報が記憶されている場合は、各項目領域に前記異なり数積算部によって積算された異なり数を記憶する第2の記憶領域とを少なくとも有する分析情報を複数記憶する分析情報記憶部と、
    前記パケット数積算部が積算したパケット数が所定のしきい値を超えた場合に、前記パケット数と、前記第1の項目グループに含まれる各項目の値と、前記異なり数積算部が積算した異なり数と、前記しきい値に基づいて、前記しきい値を超えたパケットの特性を推定するパケット推定部とを備えることを特徴とするトラヒック分析装置。
  2. 前記パケット推定部は、
    前記第1の項目グループとは異なる任意の一つ又は複数の項目の組み合わせで構成される第2の項目グループに含まれる各項目の値と、前記第2の項目グループおける前記異なり数積算部が積算した異なり数とに基づき、
    前記しきい値を超えた数のパケットの特性を推定することを特徴とする請求項1のトラヒック分析装置。
  3. 前記異なり数積算部は、
    前記パケット送受信部が受信したパケット中の任意の一つ又は複数の項目の組み合わせで構成される項目グループに含まれない項目の異なり数のカウント処理を、
    前記項目グループに含まれない項目を加えた項目グループについて、前記パケット送受信部が受信したパケット中の任意の一つ又は複数の項目の値が同一であるパケットが初めて出現した場合に、
    行うことを特徴とする請求項1のトラヒック分析装置。
  4. 前記パケット数積算部は、
    前記分析情報記憶部に含まれる分析情報を所定の数だけ使用し、
    新たな項目グループのために使用する前記分析情報記憶部に含まれる分析情報の候補が、既に他の項目グループにより使用中であった場合、前記他の項目グループにより使用されている分析情報を破棄して、前記新たな項目グループのための分析情報として使用することを特徴とする請求項1記載のトラヒック分析装置。
  5. 前記パケット数積算部は、
    前記新たな項目グループのために使用する前記分析情報記憶部の候補を複数選択し、前記候補が全て他の項目グループにより使用中であった場合に、前記候補の中の前記積算値記憶手段により記憶された値が最小のものを選択することを特徴とする請求項4記載のトラヒック分析装置。
  6. 前記第1の項目グループに含まれる項目が宛先アドレスと宛先ポート番号であって、該項目の値が同一のパケットに対して前記パケット数積算部による積算結果が所定のしきい値を超えたとき、
    前記パケット推定部は、
    前記第1の項目グループに含まれない項目である送信元アドレスの前記異なり数積算部による異なり数の前記しきい値に対する比率が所定の値以上の場合に、前記パケットがDDoS攻撃と推定することを特徴とする請求項1記載のトラヒック分析装置。
  7. 前記第1の項目グループに含まれる項目が送信元アドレスと宛先ポート番号であって、該項目の値が同一のパケットに対して前記パケット数積算部による積算結果が所定のしきい値を超えたとき、
    前記パケット推定部は、
    前記第1の項目グループに含まれない項目である宛先アドレスの前記異なり数積算部による異なり数の前記しきい値に対する比率が指定の値以上の場合に、前記パケットがネットワークスキャンと推定することを特徴とする請求項1記載のトラヒック分析装置。
  8. 前記第1の項目グループに含まれる項目が宛先アドレスと宛先ポート番号であって、該項目の値が同一のパケットに対して前記パケット数積算部による積算結果が所定のしきい値を超えたとき、
    前記パケット推定部は、
    前記積算結果が前記所定のしきい値を超えたパケットの宛先アドレスと同一である送信元アドレスで構成される前記第2の項目グループを検出するとともに、
    前記第2の項目グループに含まれない宛先アドレス、送信元ポート番号、宛先アドレスのそれぞれの前記異なり数積算部による積算値が所定の比率であった場合に、前記第2の項目グループに含まれる送信元アドレスを持つ装置は、P2Pファイル交換を行っていると推定することを特徴とする請求項1記載のトラヒック分析装置。
  9. 前記パケット送受信部は、サンプリングしたパケットを前記ネットワークから受信することを特徴とする請求項1記載のトラヒック分析装置。
  10. ネットワークを流れるパケットのトラヒックを分析するトラヒック分析装置におけるトラヒック分析方法であって、
    前記ネットワークを流れるパケットを受信し、
    該受信したパケット中の任意の一つ又は複数の項目の組み合わせで構成される第1の項目グループに含まれる各項目の値が同一であるパケット数を積算し、
    前記第1の項目グループに含まれる各項目の値が同一であるパケット中の項目であって、前記第1の項目グループに含まれない項目の値のうち、異なる値の種類を示す異なり数を積算し、
    前記パケット数の積算値が所定のしきい値を超えたときに、前記パケット数と、前記第1の項目グループに含まれる各項目の値と、前記異なり数の積算値と、前記しきい値に基づいて、前記しきい値を超えたパケットの特性を推定することを特徴とするトラヒック分析方法。
  11. 請求項10のトラヒック分析方法であって、
    前記第1の項目グループとは異なる任意の一つ又は複数の項目の組み合わせで構成される第2の項目グループに含まれる各項目の値と、
    前記第2の項目グループおいて、前記第2の項目グループに含まれない項目の異なり数の積算値とをさらに含めて、
    前記しきい値を超えた数のパケットの特性を推定することを特徴とするトラヒック分析方法。
JP2006321020A 2006-11-29 2006-11-29 トラヒック分析装置および分析方法 Expired - Fee Related JP4734223B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006321020A JP4734223B2 (ja) 2006-11-29 2006-11-29 トラヒック分析装置および分析方法
US11/832,238 US8345575B2 (en) 2006-11-29 2007-08-01 Traffic analysis apparatus and analysis method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006321020A JP4734223B2 (ja) 2006-11-29 2006-11-29 トラヒック分析装置および分析方法

Publications (2)

Publication Number Publication Date
JP2008136012A true JP2008136012A (ja) 2008-06-12
JP4734223B2 JP4734223B2 (ja) 2011-07-27

Family

ID=39463575

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006321020A Expired - Fee Related JP4734223B2 (ja) 2006-11-29 2006-11-29 トラヒック分析装置および分析方法

Country Status (2)

Country Link
US (1) US8345575B2 (ja)
JP (1) JP4734223B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008258996A (ja) * 2007-04-06 2008-10-23 Alaxala Networks Corp 統計情報収集装置
US8427968B2 (en) 2008-08-06 2013-04-23 Alaxala Networks Corporation Communication data statistical apparatus, communication data statistical method, and computer program product
JP2018110391A (ja) * 2017-01-02 2018-07-12 株式会社パイオリンクPiolink, Inc. ネットワークスキャン探知方法及び装置
JPWO2021171526A1 (ja) * 2020-02-27 2021-09-02

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5003556B2 (ja) * 2008-03-28 2012-08-15 富士通株式会社 通信検知装置、通信検知方法、及び通信検知プログラム
US9112771B2 (en) * 2009-02-06 2015-08-18 The Chinese University Of Hong Kong System and method for catching top hosts
US9264321B2 (en) 2009-12-23 2016-02-16 Juniper Networks, Inc. Methods and apparatus for tracking data flow based on flow state values
CN102480493B (zh) * 2010-11-23 2014-08-06 国基电子(上海)有限公司 网络装置及其识别点对点连接的方法
US8789176B1 (en) * 2011-03-07 2014-07-22 Amazon Technologies, Inc. Detecting scans using a bloom counter
US20120290711A1 (en) * 2011-05-12 2012-11-15 Fluke Corporation Method and apparatus to estimate application and network performance metrics and distribute those metrics across the appropriate applications, sites, servers, etc
US9813310B1 (en) * 2011-10-31 2017-11-07 Reality Analytics, Inc. System and method for discriminating nature of communication traffic transmitted through network based on envelope characteristics
CN102457415B (zh) * 2011-12-27 2015-08-19 华为数字技术(成都)有限公司 Ips检测处理方法、网络安全设备和系统
KR20130093800A (ko) * 2012-01-04 2013-08-23 삼성전자주식회사 통신 시스템에서 패킷을 이용하여 어플리케이션을 식별하기 위한 장치 및 방법
EP3015991B1 (en) * 2013-06-28 2018-02-28 NEC Corporation Push-type information transmission device, push-type information transmission method, and program
US9203711B2 (en) 2013-09-24 2015-12-01 International Business Machines Corporation Port mirroring for sampling measurement of network flows
US9401853B2 (en) 2013-09-24 2016-07-26 International Business Machines Corporation Determining sampling rate from randomly sampled events
US9368027B2 (en) 2013-11-01 2016-06-14 Here Global B.V. Traffic data simulator
US9495868B2 (en) * 2013-11-01 2016-11-15 Here Global B.V. Traffic data simulator
US10474470B2 (en) * 2014-06-24 2019-11-12 The Boeing Company Techniques deployment system
EP3104563B1 (en) * 2015-06-10 2019-10-16 Nokia Solutions and Networks GmbH & Co. KG Sdn security
US9818296B2 (en) * 2015-10-16 2017-11-14 Uber Technologies, Inc. System for providing a city planning tool
US10594725B2 (en) * 2017-07-27 2020-03-17 Cypress Semiconductor Corporation Generating and analyzing network profile data
KR102026128B1 (ko) * 2017-11-29 2019-09-27 주식회사 더볼터 데이터 집합을 카운팅하는 방법 및 시스템
US10764315B1 (en) * 2019-05-08 2020-09-01 Capital One Services, Llc Virtual private cloud flow log event fingerprinting and aggregation

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004312064A (ja) * 2003-02-21 2004-11-04 Intelligent Cosmos Research Institute ネットワーク異常検出装置、ネットワーク異常検出方法およびネットワーク異常検出プログラム
JP2005159551A (ja) * 2003-11-21 2005-06-16 Nippon Telegr & Teleph Corp <Ntt> ネットワーク攻撃対策方法およびそのネットワーク装置、ならびにそのプログラム
WO2005074215A1 (ja) * 2004-02-02 2005-08-11 Cyber Solutions Inc. 不正情報検知システム及び不正攻撃元探索システム
JP2005252808A (ja) * 2004-03-05 2005-09-15 Fujitsu Ltd 不正アクセス阻止方法、装置及びシステム並びにプログラム
JP2006314077A (ja) * 2005-04-06 2006-11-16 Alaxala Networks Corp ネットワーク制御装置と制御システム並びに制御方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW453072B (en) * 1999-08-18 2001-09-01 Alma Baba Technical Res Lab Co System for montoring network for cracker attacic
CA2313908A1 (en) * 2000-07-14 2002-01-14 David B. Skillicorn Intrusion detection in networks using singular value decomposition
AU2001276000A1 (en) * 2000-08-31 2002-03-13 Netrake Corporation Method for enforcing service level agreements
US7331060B1 (en) * 2001-09-10 2008-02-12 Xangati, Inc. Dynamic DoS flooding protection
NZ516346A (en) * 2001-12-21 2004-09-24 Esphion Ltd A device for evaluating traffic on a computer network to detect traffic abnormalities such as a denial of service attack
US7743415B2 (en) * 2002-01-31 2010-06-22 Riverbed Technology, Inc. Denial of service attacks characterization
US7426634B2 (en) * 2003-04-22 2008-09-16 Intruguard Devices, Inc. Method and apparatus for rate based denial of service attack detection and prevention
US7411957B2 (en) * 2004-03-26 2008-08-12 Cisco Technology, Inc. Hardware filtering support for denial-of-service attacks
JP2005285048A (ja) 2004-03-31 2005-10-13 Kenichi Yoshida データ解析方式
US7966658B2 (en) * 2004-04-08 2011-06-21 The Regents Of The University Of California Detecting public network attacks using signatures and fast content analysis
US7460487B2 (en) * 2004-06-04 2008-12-02 Lucent Technologies Inc. Accelerated per-flow traffic estimation
JP4538370B2 (ja) 2005-05-13 2010-09-08 アラクサラネットワークス株式会社 異常通信探知装置
US8631483B2 (en) * 2005-06-14 2014-01-14 Texas Instruments Incorporated Packet processors and packet filter processes, circuits, devices, and systems
US7979368B2 (en) * 2005-07-01 2011-07-12 Crossbeam Systems, Inc. Systems and methods for processing data flows
KR100716620B1 (ko) * 2005-08-17 2007-05-09 고려대학교 산학협력단 평행 좌표계를 이용한 네트워크 감시 장치 및 방법
US7971256B2 (en) * 2005-10-20 2011-06-28 Cisco Technology, Inc. Mechanism to correlate the presence of worms in a network
US7590113B1 (en) * 2005-12-29 2009-09-15 At&T Corp. Method and apparatus for generating a reconnaissance index
US20070245417A1 (en) * 2006-04-17 2007-10-18 Hojae Lee Malicious Attack Detection System and An Associated Method of Use

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004312064A (ja) * 2003-02-21 2004-11-04 Intelligent Cosmos Research Institute ネットワーク異常検出装置、ネットワーク異常検出方法およびネットワーク異常検出プログラム
JP2005159551A (ja) * 2003-11-21 2005-06-16 Nippon Telegr & Teleph Corp <Ntt> ネットワーク攻撃対策方法およびそのネットワーク装置、ならびにそのプログラム
WO2005074215A1 (ja) * 2004-02-02 2005-08-11 Cyber Solutions Inc. 不正情報検知システム及び不正攻撃元探索システム
JP2005252808A (ja) * 2004-03-05 2005-09-15 Fujitsu Ltd 不正アクセス阻止方法、装置及びシステム並びにプログラム
JP2006314077A (ja) * 2005-04-06 2006-11-16 Alaxala Networks Corp ネットワーク制御装置と制御システム並びに制御方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008258996A (ja) * 2007-04-06 2008-10-23 Alaxala Networks Corp 統計情報収集装置
US8427968B2 (en) 2008-08-06 2013-04-23 Alaxala Networks Corporation Communication data statistical apparatus, communication data statistical method, and computer program product
JP2018110391A (ja) * 2017-01-02 2018-07-12 株式会社パイオリンクPiolink, Inc. ネットワークスキャン探知方法及び装置
JPWO2021171526A1 (ja) * 2020-02-27 2021-09-02
WO2021171526A1 (ja) * 2020-02-27 2021-09-02 日本電信電話株式会社 付与装置、付与方法及び付与プログラム
JP7396454B2 (ja) 2020-02-27 2023-12-12 日本電信電話株式会社 付与装置、付与方法及び付与プログラム
US11863416B2 (en) 2020-02-27 2024-01-02 Nippon Telegraph And Telephone Corporation Imparting device, imparting method, and imparting program

Also Published As

Publication number Publication date
US20080123545A1 (en) 2008-05-29
JP4734223B2 (ja) 2011-07-27
US8345575B2 (en) 2013-01-01

Similar Documents

Publication Publication Date Title
JP4734223B2 (ja) トラヒック分析装置および分析方法
USRE49126E1 (en) Real-time adaptive processing of network data packets for analysis
JP4547342B2 (ja) ネットワーク制御装置と制御システム並びに制御方法
US8005012B1 (en) Traffic analysis of data flows
US7787442B2 (en) Communication statistic information collection apparatus
Binkley et al. An algorithm for anomaly-based botnet detection.
US10104043B2 (en) Method and system for analyzing a data flow
JP4667437B2 (ja) 異常トラフィック検知装置、異常トラフィック検知方法および異常トラフィック検知プログラム
US7711800B2 (en) Network connectivity determination
US7644157B2 (en) Statistical information collecting system and apparatus thereof
EP1742416B1 (en) Method, computer readable medium and system for analyzing and management of application traffic on networks
CN1953392B (zh) 异常通信量的检测方法和数据包中继装置
KR100997182B1 (ko) 플로우 정보 제한장치 및 방법
KR101295708B1 (ko) 트래픽 수집장치, 트래픽 분석장치, 시스템 및 그 분석방법
JP2007184799A (ja) パケット通信装置
US20110013636A1 (en) Tracking fragmented data flows
JP2006352831A (ja) ネットワーク制御装置およびその制御方法
JP2007241805A (ja) システム分析装置およびシステム分析方法
JP2023505720A (ja) ネットワークトラフィック識別デバイス
CN114338120B (zh) 一种扫段攻击检测方法、装置、介质和电子设备
CN111953810A (zh) 识别代理互联网协议地址的方法、装置及存储介质
JP3754044B2 (ja) パケットフォワーディング回路
Shomura et al. A traffic monitoring method for high speed networks
JP4489714B2 (ja) パケット集約方法、装置、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110114

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110425

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees