(57)【特許請求の範囲】
【請求項１】
複数のネットワークインタフェースと、前記複数のネットワークインタフェースのいずれかを経由して受信したパケットのうちから選択したパケットをコピーして、前記複数のネットワークインタフェースのいずれかを経由して送信する選択的パケットコピー処理部と、
前記複数のネットワークインタフェースと前記選択的パケットコピー処理部とを制御する装置制御部を有するパケット通信装置であって、前記選択的パケットコピー処理部内に、サンプリング対象ストリームの条件とサンプリング確率を指定する手段と、
当該パケット通信装置が受信するパケットに対してストリーム型通信プロトコルにおけるストリーム開始パケットを前記サンプリング対象ストリームの条件及び前記サンプリング確率に従って検出する手段と、
前記検出されたストリーム開始パケット内の情報に従ってパケットコピーを行う条件を生成する手段と、
前記パケットコピーを行う条件に適合するパケットをコピーして前記複数のネットワークインタフェースのいずれかから出力する手段とを有することを特徴とするパケット通信装置。
【請求項２】
請求項１に記載のパケット通信装置であって、
前記サンプリング対象ストリームの条件とサンプリング確率を指定するための手段として、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル種別のうち少なくともいずれか一つの値を格納したエントリからなるテーブルと、当該テーブルに対するエントリ追加・削除・検索手段とを有することを特徴とするパケット通信装置。
【請求項３】
請求項１に記載のパケット通信装置であって、
前記パケットコピーを行う条件を保持するための手段を有し、前記パケットコピーを行う条件を保持するための手段として、サーバIPアドレス、クライアントIPアドレス、サーバポート番号、クライアントポート番号、プロトコル種別、コピー先ネットワークインタフェース識別子のうち少なくともいずれか一つを格納したエントリからなるテーブルと、当該テーブルに対するエントリ追加・削除・検索手段を有することを特徴とするパケット通信装置。
【請求項４】
請求項１に記載のパケット通信装置であって、
当該パケット通信装置が受信するパケットに対してストリーム型通信プロトコルにおけるストリーム開始パケットを前記サンプリング対象ストリームの条件に従って検出する前記手段は、TCPプロトコルのパケット中にSYNフラグがあることを検出することを特徴とするパケット通信装置。
【請求項５】
請求項１に記載のパケット通信装置であって、
当該パケット通信装置が受信するパケットに対してストリーム型通信プロトコルにおけるストリーム開始パケットを前記サンプリング対象ストリームの条件に従って検出する手段は、SCTPプロトコルのパケット中にINITチャンクがあることを検出することを特徴とするパケット通信装置。
【請求項６】
請求項１に記載のパケット通信装置であって、
前記サンプリング確率で当該ストリーム開始パケット内の情報に従ってパケットコピーを行う条件を生成する手段として、ストリーム開始パケットに含まれる送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、プロトコル種別のうちいずれか一つを用いてパケットコピー条件を生成することを特徴とするパケット通信装置。
【請求項７】
請求項１に記載のパケット通信装置であって、
コピー中ストリームの条件を保持する手段を有し、
該コピー中ストリームの条件を保持するための手段によってコピー中ストリームを構成するパケットであると判定されるパケットを受信し、かつ該パケットのTCPプロトコルのパケット中にRSTフラグが立っていた場合に、パケットのコピーを行った後に当該パケットが適合した条件を削除することを特徴とするパケット通信装置。
【請求項８】
請求項１に記載のパケット通信装置であって、前記パケットコピーを行う条件を保持する手段を有し、該パケットコピーを行う条件を保持するための手段によってコピー中ストリームを構成するパケットであると判定されるパケットを受信し、かつ該パケットのSCTPプロトコルのパケット中にSHUTDOWN-COMPLETEチャンクが含まれていた場合に、パケットのコピーを行った後に当該パケットが適合した条件を削除することを特徴とするパケット通信装置。
【請求項９】
請求項１に記載のパケット通信装置にであって、前記パケットコピーを行う条件を保持する手段を有し、該パケットコピーを行う条件を保持するための手段によって、パケット通信装置がストリーム通信を行っているサーバからSYNパケットを受信したか否か、およびクライアントからSYNパケットを受信したか否かのフラグが格納可能であり、
サーバからSYNパケットを受信した際に、サーバからSYNパケットを受信したフラグを立て、クライアントからSYNパケットを受信した際に、クライアントからSYNパケットを受信したフラグを立て、サーバからFINパケットを受信した際に、サーバからSYNパケットを受信したフラグをクリアし、クライアントからFINパケットを受信した際に、クライアントからSYNパケットを受信したフラグをクリアし、サーバからSYNパケットを受信したフラグおよびクライアントからSYNパケットを受信したフラグが双方ともクリアされており、かつ前記パケットコピーを行う条件に適合するTCP ACKパケットを受信した際に該条件を削除することを特徴とするパケット通信装置。
【請求項１０】
請求項１に記載のパケット通信装置であって、前記パケットコピーを行う条件を保持する手段を有し、前記パケットコピーを行う条件を保持するための手段によって、前記パケットコピーを行う条件の作成時刻を格納可能であり、前記パケットコピーを行う条件の数があらかじめ定められた数を超えた場合に、もっとも条件の作成時刻が古い条件を削除することを特徴とするパケット通信装置。
【請求項１１】
請求項１記載のパケット通信装置であって、前記パケットコピーを行う条件を保持する手段を有し、該パケットコピーを行う条件を保持するための手段によって、条件に適合したパケットの最新受信時刻を格納可能であり、条件の数があらかじめ定められた数を超えた場合に、最新受信時刻がもっとも古い条件を削除することを特徴とするパケット通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット通信ネットワーク内で経路情報に従ってパケットの交換を行うパケット通信装置に関し、特に、ネットワーク内のトラフィック分析のための装置に関する。
【背景技術】
【０００２】
通信事業者は、ネットワーク資源の有効活用のために、自社のネットワーク内を流れるトラフィックを分析する必要がある。たとえば、自社ネットワークを流れるトラフィックの利用サービス分布を解析することにより、特定のサービスに対して確保すべきネットワーク資源をあらかじめ予想することが可能となり、設備投資を最適化できる。また、自社ネットワークを介して行われる分散サービス拒否(DDoS)攻撃を検出し、そのトラフィックを遮断することで、自社ネットワーク内を流れる無駄なトラフィックを削減するとともに、ネットワークを利用しているユーザの機器を守ることが可能となる。
【０００３】
トラフィックの分析を行う方法は、統計分析を行う方法と、各パケットを分析する方法の2つに大別できる。
統計分析では、ルータなどのパケット通信装置が持つ統計情報の収集機能を利用する。ここで収集される統計情報には、ルータのあるポートが受信したパケットの総数・総量が含まれる。統計情報の収集は、比較的単純なハードウェアを用いて実装可能であるため、多数のルータに実装されている。本機能に関しては、非特許文献1にて開示されている。統計分析では、パケットの数やトラフィック量などの統計的な分析が可能となるが、通過するパケットの内容の詳細な分析はできない。
【０００４】
そこで、ルータを通過するパケットの一部、あるいは全部を分析装置に転送し、分析装置にてパケットの内部を分析することが行われるようになった。例えば、多くのルータが実装しているポートミラーリングの機能を利用し、あるポートが受信したパケット全てを分析装置に転送することが可能である。また、一部のルータがもつsFlow(非特許文献2)、NetFlow(非特許文献3)の機能を利用し、パケットをサンプリングして分析装置に転送することもできる。
【０００５】
特許文献1では、分散サービス拒否攻撃の被疑トラフィックが検出された場合、条件に適合したトラフィックを分析装置に転送して解析する方法が開示されている。
上述した分析方式には、それぞれ問題がある。
【０００６】
ポートミラーリングを用いる方式、もしくは特許文献１では、条件にマッチした全てのパケットが分析装置に送信されることになる。すなわち、DDoS攻撃の被疑トラフィックを検出した場合などは、検査対象のパケットの量が非常に大きくなり分析装置での分析能力を超えてしまう恐れがある。また、分析装置とルータの間の回線が飽和してしまうことも考えられる。
【０００７】
また、sFlow、NetFlowを用いた方式では、パケットのサンプリングにより、分析装置および回線の処理能力に応じた転送が可能となる。しかし、パケット単位のランダムサンプリングでは、複数の連続したパケットで構成されるストリームを復元することができず、分析が困難となる。
【０００８】
多くのアプリケーションは、アプリケーション間の情報交換手段としてTCPまたはSCTPなどのストリーム指向のプロトコルを用いている。ストリーム指向のプロトコルでは、バイト列で表されるデータを複数のパケットに分割してクライアントとサーバ間で交換する。クライアント-サーバ間でストリーム指向のプロトコルでデータを送信する際には、クライアントとサーバとの間でセッション確立のためにパケットを交換する。例えばTCPであれば、クライアントからサーバに対してSYNパケットを送信すると、サーバはSYNパケットに対しSYN+ACKパケットを返答する。そしてクライアントがサーバからのSYN+ACKパケットに対してACKパケットを送信することで、セッションが確立される。また、セッションを切断するときも同様にFINとACKパケットの交換が行われる。本発明では、このセッション確立、データ交換、セッション切断までの一連のパケット群をストリームと定義する。TCPプロトコルの詳細に関しては、非特許文献４、SCTPプロトコルの詳細に関しては非特許文献５に記述されている。
【０００９】
上述の通り、ストリーム指向プロトコルでは、データは複数のパケットに分割されて送信される。このため、ストリームを構成するパケットのうちいくつかをサンプルしたとしても、ストリームを復元することは不可能でありアプリケーションの振る舞いに関して正確な分析を行うことができない。
【００１０】
【特許文献１】特開２００４−２４８１８５号公報
【００１１】
【非特許文献１】Waldbusser S. "Remote Network Monitoring Management Information Base"、 STD 59、 RFC 2819、 2000年5月
【非特許文献２】Phaal P.他 “InMon Corporation's sFlow: A Method for Monitoring Traffic in Switched and Routed Networks”、 RFC3176、 2001年9月
【非特許文献３】Claise B.編 “Cisco Systems NetFlow Services Export Version 9”、 RFC3954、 2004年8月
【非特許文献４】Postel J．B． “Transmission Control Protocol”、 RFC793、 1981年9月
【非特許文献５】Stewart R．他 “Stream Control Transmission Protocol”、 RFC2960、 2000年8月
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明が解決しようとする課題は、ネットワーク内に置かれたパケット分析装置に関して、分析対象のトラフィックが分析装置の処理能力を超えている場合に、分析対象トラフィックを削減しつつ、トラフィックの詳細な分析処理を可能にすることである。
【課題を解決するための手段】
【００１３】
本発明は、上記の課題を解決するための手段として、ストリームとしての情報を欠落させることなくサンプリングを行うために、ストリーム単位のサンプリングを行う機能を装備することを特徴とするパケット通信装置を用いるものである。
【００１４】
これを実現するために、本発明のパケット通信装置は、ネットワークインタフェースで受信したパケットがストリーム開始パケットであるかを認識する手段をもち、あらかじめ定められた条件および確率で当該パケットにより開始されるストリームをサンプル対象とし、当該パケットに含まれるストリームの両端末の情報に基づいて、パケットコピーを行うための条件を生成する。これにより、ストリーム単位でサンプルしたパケットを分析装置に転送可能とした。
【００１５】
本発明のパケット通信装置により、サンプル頻度を適切に調整することで、分析対象のトラフィックが分析装置の処理能力を超えている場合に分析対象トラフィックを削減しつつ、アプリケーションレベルの分析処理を可能にするという課題が解決された。
【発明の効果】
【００１６】
本発明によって、大量のトラフィックに対するストリーム単位の分析において、パケット分析装置の処理能力に応じて処理対象トラフィックを増減可能となる。そして、従来では困難であった大量のトラフィックに対するアプリケーションレイヤでのトラフィック分析が可能となる。本発明により、キャリア/ISP網などでのトラフィック分析において、攻撃分析や帯域制限対象アプリケーションの分析の精度を向上することが可能となり、網の運営の設備投資・運用コストの削減に貢献できる。
【００１７】
また、本発明によりパケット分析装置を流れる全分析対象トラフィックの量に関わらず、分析装置にコピーするトラフィックの量を制御可能となるため、分析装置の処理能力を超えたパケット流入による過負荷状態を回避しつつアプリケーションレベルの分析が可能となる。
【実施例１】
【００１８】
本実施例では、ストリーム単位のサンプリング機能をルータに組み込んだ装置の構成について述べる。
【００１９】
本発明を実施したパケット通信装置は、例えば図1に示すようなネットワーク内に置かれることを想定している。パケット通信装置103には、ネットワーク105と分析装置102が接続されており、パケット通信装置103は、ネットワーク105間で交換されるパケットの中継を行う。クライアント101およびサーバ104はネットワーク105とパケット通信装置103を介して接続されている。クライアント101とサーバ104は、TCPプロトコルを用いて互いに通信しあっているものとする。パケット通信装置103は、クライアント101とサーバ104間で交換されるパケットを中継し、条件に適合するストリームをサンプリングして分析装置102に送信する。分析装置102では、パケット通信装置103から受信したパケットからストリームを再構成し、その内容を分析することでアプリケーションレベルのトラフィック分析を行う。
【００２０】
図2にパケット通信装置103の内部構成を示す。パケット通信装置103は、ネットワークインタフェース204を介して外部のネットワーク105または分析装置102と接続する。ネットワークインタフェース204、メモリ210、CPUはバスによって接続されている。メモリ内には、装置制御処理201、選択的パケットコピー処理202、ルーティング処理203としてそれぞれのプログラムおよびデータが格納されている。また、メモリ210内にはパケットを格納するパケットバッファが存在する。選択的パケットコピー処理202は、ネットワークインタフェース204で受信したパケットを受け取り、ストリーム単位のコピー処理を行うプログラムおよびデータである。コピー処理が終了したパケットはルーティング処理203にて処理される。ルーティング処理203はパケットの宛先に基づいて出力すべきネットワークインタフェース204を決定し、適切な次送信先に送付する。
【００２１】
装置制御部201は、パケット通信装置全体に対する設定・情報取得を行う。また、装置制御部201は、バスおよび制御インタフェースを経由してパケット通信装置103外部の制御端末205と接続され、外部から装置の制御を行うためのインタフェース部となる。
【００２２】
図3にメモリ210内の選択的パケットコピー処理202に関連する部分の詳細図を示す。選択的パケットコピー処理部202は、処理プログラム301、サンプル対象ストリーム・テーブル303、ストリームサンプル用フィルタ・テーブルから304からなる。パケットバッファ211は、ネットワークインタフェース204、ルーティング処理203とのパケットの交換時にパケットを格納するために使用する。処理プログラム301は、サンプル対象ストリーム・テーブル303およびストリームサンプル用フィルタ・テーブルに従い、パケットバッファ302に格納されたパケットに対してコピー処理を行い、ルーティング処理部203へのパケットの送信処理を行うプログラムが格納されている。
【００２３】
図４にサンプル対象ストリーム・テーブル303の一例を示す。この例では、パケット通信装置103が受信したパケットに対して、送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、プロトコル種別にてサンプリング対象を限定するフィルタとなっている。例えば、受信ネットワークインタフェース番号、レイヤ2アドレスなども利用可能である。テーブル303のエントリで”*”と示されている部分は、「その項目は無視して比較せよ」との指示を表す。エントリ内のその他の項目として、当該サンプリング対象のサンプリングレート、および当該条件に適合したTCP SYNパケットの受信回数を示すカウンタが含まれる。ストリームのサンプリングを行うためには、サンプル対象ストリーム・テーブル303に対して装置制御部201を経由してエントリの追加を行う。エントリの追加時には、制御端末205から入力された対象ストリーム情報(送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、プロトコルなど)、コピー先I/F識別子およびサンプリングレートをもとにエントリを作成し、カウンタの値を”0”に初期化する。
【００２４】
図5にストリームサンプル用フィルタ・テーブル304の一例を示す。ストリームサンプル用フィルタ・テーブル304は、コピー対象となったストリームを識別するために使用する。テーブルの各エントリには、クライアント側IPアドレス、サーバ側IPアドレス、クライアント側ポート番号、サーバ側ポート番号、プロトコル種別が含まれ、これらのうち少なくとも一つをストリームの識別に使用する。また、コピー先のネットワークインタフェース204の識別子が含まれ、当該ストリームのコピーを出力する先のネットワークインタフェースを指定する。
【００２５】
コピーが終了したエントリをストリームサンプル用フィルタ・テーブル304から削除する処理に利用するために、各エントリにはサーバからのTCP SYN+ACKパケットを受信したか否か、クライアントからのTCP SYNパケットを受信したか否か、エントリの作成時刻、エントリの最新適合時刻が含まれる。
【００２６】
図６にパケット通信装置103がパケットを受信した時の選択的パケットコピー処理部202の処理フローチャートを示す。ネットワークインタフェース204で受信されたパケットは、メモリ210内のパケットバッファ211に格納される(処理601)。処理プログラム301は、格納されたパケットと適合するストリームサンプル用フィルタ・テーブル内のエントリを検索する(処理602)。ここで適合すると判断された場合、当該パケットは現在コピー中のストリームを構成するパケットの一つと判断され、処理606に進む。そして、パケットのフラグによって処理606〜615の処理が行われる。この一連の処理は、TCPストリームの終了を検出してコピー処理を中止するために行う。処理606にてサーバからのTCP SYNパケットであると判定された場合、適合したエントリ内のSrvSynフラグを”1”に変更する(処理607)。処理6にてクライアントからのTCP SYNパケットであると判定された場合、適合したエントリ内のCliSynフラグを”1”に変更する(処理609)。処理610にてサーバからのTCP FINパケットであると判定された場合、適合したエントリ内のSrvSynフラグを”0”に変更する(処理611)。処理612にてクライアントからのTCP FINパケットであると判定された場合、適合したエントリ内のCliSynフラグを”0”に変更する(処理613)。処理614では、適合したエントリの最新適合時刻を現在の時刻に更新する。そして、処理616にて当該エントリ内のフラグSrvSyn、 CliSynがともに0であり、受信パケットのACKフラグが”1”であった場合、もしくは受信パケットのRSTフラグが”1”であった場合、TCPストリームが終了したと判定され、ストリームサンプル用フィルタテーブルから当該エントリを削除する(処理617)。そして、適合したエントリに含まれるコピー先ネットワークインタフェースの識別子を取り出し、受信したパケットのコピーを当該ネットワークインタフェースに出力する(処理619)。最後に、ルーティング処理203にパケット処理を転送し(処理620)、処理を終了する。
【００２７】
次に、処理602にてストリームサンプル用フィルタ・テーブル304に適合するエントリが存在しなかった場合のフローについて述べる。処理603にて、受信したパケットがTCP SYNパケットであり、かつ適合するエントリがサンプル対象ストリーム・テーブル303内に存在するか否かを調べる。TCP SYNパケットでない、または適合するエントリが存在しなかった場合、当該パケットはサンプル対象でないとみなされ、ルーティング処理部203にパケットを転送して終了する。処理603にて、受信したパケットがTCP SYNであり、適合するエントリが存在した場合、当該パケットはサンプル対象となるパケットであるとみなされる。そこで処理604にて、適合したエントリに含まれるカウンタを1増加させる。次に、このパケットがコピーを行うストリームの先頭パケットであるかを調べるため、適合エントリ内のカウンタの値とサンプルレートを比較する(処理605)。カウンタの値が、サンプルレートの値の逆数以上であった場合、受信したパケットはコピー対象のストリームの先頭パケットであると判断し、ストリームサンプル用フィルタテーブル304に受信したパケットの情報を追加する(処理618)。具体的には、受信パケットの送信元IPアドレスをエントリ内のクライアント側IPアドレスの項に、受信パケットの送信先IPアドレスをエントリ内のサーバ側IPアドレスの項に、受信パケットの送信元ポート番号をエントリ内のクライアント側ポート番号の項に、受信パケットの送信先ポート番号をエントリ内のサーバ側ポート番号の項に、受信パケットのプロトコル種別(TCP)をエントリ内のプロトコル種別に書き込む。また、適合したエントリに含まれるコピー先ネットワークインタフェース情報を、ストリームサンプル用フィルタテーブル304に新たに作成するエントリのコピー先ネットワークインタフェースの項に書き込む。そして、クライアント側からのTCP SYNパケットを受信したことを示すCliSynフラグを”1”に、サーバ側からのTCP SYNパケットを受信したことを示すSrvSynフラグを”0”に初期化し、エントリの作成時刻、最新適合時刻としてパケットを受信した時刻を書き込む。そして、コピー先ネットワークインタフェースにパケットをコピーして(処理619)、ルーティング処理部203にパケット処理を転送して(処理620)終了する。
【００２８】
ここまでの処理で、パケット処理装置103を通過するパケットがサンプル対象ストリームであるかどうかを識別し、指定された確率で外部の分析装置に対してストリームのコピーを行うことができる。図7に本実施例のシーケンス例を示す。ここでは、3つのストリームがクライアント101-サーバ104間で確立され、そのうち2番目のストリームがコピーされている例を示している。最初のストリームの先頭パケットであるTCP SYNパケットをパケット通信装置103が受信する(701)と、選択的パケットコピー処理部にて前述した処理が行われ、サンプル対象ストリーム・テーブルの適合エントリのカウンタを1増加させ、パケットはルーティング処理部で選択されたネットワークインタフェースから出力されサーバに転送される。次に、2番目のストリームの先頭のTCP SYNパケットをパケット通信装置が受信し(702)、当該パケットがコピー対象ストリームの先頭であると認識される。この時点でパケットの分析装置に対するコピーが開始される。そしてクライアント101、サーバ104からのTCP FINパケットを受信し、ストリームサンプル用フィルタ・テーブルのSrvSyn、CliSynの値が0になった後、TCP ACKパケットをパケット通信装置が受信すると(703)、ストリームサンプル用フィルタ・テーブルから適合エントリを削除し、コピー処理が終了する。
【００２９】
次に、ストリームサンプル用フィルタテーブル304のエントリの削除方法について述べる。ストリームサンプル用フィルタテーブル304のエントリ数は有限であるため、コピー対象のストリーム数がエントリ数を超えた場合、何らかの基準でエントリを削除した上で新たなエントリを付け加える必要がある。これを実現するために、サンプル対象ストリーム・テーブルにエントリの作成時刻、および最新適合時刻が格納されている。
【００３０】
ストリームサンプル用フィルタ・テーブル304のエントリ数が規定の値を超えた場合、以下の2通りの方法で削除対象のエントリを決める。
【００３１】
第一に、最も古いエントリを削除する方法である。これは、ストリームサンプル用フィルタ・テーブルの全エントリ内でもっとも古い作成時刻をもつエントリを削除するものである。
【００３２】
第二に、最も使われていないエントリを削除する方法である。これば、ストリームサンプル用フィルタ・テーブルの全エントリ内で最も古い最新適合時刻をもつエントリを削除するものである。
【００３３】
これら2つの方法を利用することで、エントリ数が無限に増加することを防ぐことができる。
【００３４】
ここまでに述べた例では、ストリームのプロトコルとしてTCPが使用されることを前提としていた。次に、ストリームのプロトコルとしてSCTPが使用された場合の実施例について説明する。
【００３５】
図8にSCTPを利用した場合のフローを示す。TCPとの差異は、ストリームの開始の検出がINITチャンクの存在確認による点、および処理802のあとにSYNフラグ、FINフラグの検査を行う処理がない点の2つである。これは、SCTPがINITチャンクを含んだパケットによりストリームを開始し、SHUTDOWN-COMPLETEチャンクを含んだパケットによってストリームを終了するためである。
【００３６】
図9にSCTPを利用した場合のシーケンス例を示す。パケット通信装置103はクライアント101からのINITチャンクを含んだパケットによってストリームの開始を認識する(901)。次のストリーム2がコピー対象のストリームと判定されると、902にてパケットのコピーが開始される。ストリームの終了に関しては、SCTPではSHUTDOWN-COMPLETEの送信のみを確認すればよい(903)。
【００３７】
図8、9で述べた手順により、本実施例はSCTPにも適用可能である。
【実施例２】
【００３８】
実施例1では、パケット通信装置103に対してサンプル対象ストリームを外部の制御端末から入力することを想定している。これに対し、本実施例では、他の分析装置と連携して動作することにより、サンプル対象ストリーム・テーブルを自動的に構成する方法について示す。
【００３９】
一般に、ストリームを再構成して分析を行うことは、高い計算資源を必要とするため、統計分析/パケットサンプリングによる分析と比べ、処理のスループットは低い。よって、キャリア/ISP網内でのストリームを再構成した分析は困難であった。そこで、本実施例では、統計分析とストリーム分析の二つの方式を組み合わせて、高速な統計分析による全トラフィックに対する分析を行い、その中でストリーム分析が必要と思われるトラフィックのみを抽出し、ストリームサンプリングでストリーム分析を行う装置にコピーする方法について述べる。
【００４０】
ここで述べる実施例では、クライアント101とサーバ104の間で不正なトラフィックが流れていることを検出するために、sFlow/NetFlowに代表される統計情報/パケットサンプルによって全体分析を行い、被疑ストリームのみをストリーム分析装置にストリームサンプリングを用いてコピーする。図10に本実施例で想定するネットワーク図を示す。パケット通信装置103には、統計分析装置1001とストリーム分析装置1002が接続されている。
【００４１】
図11に本実施例のシーケンス例を示す。パケット通信装置103は統計分析装置1001に対して、パケット通信装置103が送受信したパケットの統計情報、およびパケットのサンプルをsFlow/NetFlowなどを用いて送信する(1101)。統計分析装置は、受信した統計情報とパケットサンプルから、不正な通信をしていると思われる機器のIPアドレスとポート番号を絞り込む。そして、その情報を元にサンプル対象ストリームの情報をパケット通信装置103に伝える(1102)。具体的には、送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、プロトコル種別のうち少なくとも一つの情報を統計情報/パケットサンプルから推測し、ストリーム分析装置1002が接続されたネットワークインタフェースの識別子とともにパケット通信装置103に送信する(1103)。これにより、被疑ストリームがサンプルされてストリーム分析装置1002にコピーされる。ストリーム分析装置は、受信した被疑ストリームを用いて分析を行い、不正な通信であるかどうかを判定する。ストリーム分析装置1002において不正な通信であると判定された場合、ストリーム分析装置1002はパケット通信装置103に対して不正通信の遮断命令を送信する(1104)。これにより、不正な通信がパケット通信装置103にて遮断される。
【００４２】
本方式によって、通過するパケット全体に対して分析を行いつつ、最小限のストリーム分析によって正確に不正トラフィックを発見・遮断することが可能となる。
【実施例３】
【００４３】
実施例1および2では、ストリームサンプリング機能をルータに組み込んで利用する例を示した。本実施例では、ストリームサンプリング機能をフィルタ型のパケット通信装置で実現することにより、既存のルータにストリームサンプリング機能を組み込む方法について述べる。
【００４４】
本実施例の想定するネットワーク図を図12に示す。ネットワークシステムは、ネットワーク105とルータ1201によって構成され、複数のルータ1202とパケット通信装置1202が接続されている。また、パケット通信装置1202には、分析装置102が接続されている。
【００４５】
ルータ1201は、分析対象となるトラフィックを、ルータが標準的に搭載しているポートミラーリングの機能を用いてパケット通信装置1202にコピーする。ポートミラーリングとは、ルータのネットワークインタフェースで受信あるいは送信されたパケットのコピーを、指定されたネットワークに出力するための機能である。パケット通信装置1202を、各ルータ1201でポートミラー先として指定されたネットワークインタフェースの先に接続することで、各ルータ1201から出力されたパケットをパケット通信装置1202で受信することが可能となる。パケット通信装置1202は、1つ以上のルータで共通に利用することを想定している。これは、多数の機器でパケット通信装置1202を共用することでストリームサンプリング機能を実現するためのコストを削減することを狙っている。
【００４６】
図13に、フィルタ型のストリームサンプリング機能を実現したパケット通信装置の構成図を示す。パケット通信装置1202は、複数のルータとそれぞれ接続されたネットワークインタフェース1304-1〜nと、分析装置と接続されたネットワークインタフェース1304-n+1を持つ。ネットワークインタフェース1304、メモリ1310、CPIはバスによって接続されている。メモリ内には、装置制御処理1301、選択的パケットコピー処理、としてそれぞれのプログラム及びデータが格納されている。また、メモリ1310内にはパケットを格納するパケットバッファが存在する。選択的パケットコピー処理1302は、ルータ1201からコピーされたデータからサンプリングすべきパケットを抽出し、分析装置102に接続されたネットワークインタフェース1304-n+1から送信するプログラムおよびデータが含まれる。装置制御1301は、装置外部に接続された制御端末205からの指示に従い、選択的パケットコピー処理1302、ネットワークインタフェース1304の設定・状態取得を行うプログラムおよびデータである。
【００４７】
選択的パケットコピー処理部1302の構造は、実施例1の選択的パケット処理部202と同一であるが、本実施例はフィルタとして動作するため、ルーティング動作は行わない。そのため、パケット通信装置1202にはルーティング処理プログラム及びデータが存在せず、選択的パケット処理からルーティング処理へのパケットの受け渡しは行われない。
【００４８】
図14に選択的パケットコピー処理部1202の動作を示す。実施例1との差異は、ルーティング処理部へのパケット送信処理がなく、コピー対象でないパケットは単に無視されるだけという点である。
【実施例４】
【００４９】
実施例1、２、３においては、ストリームサンプリングによってコピーされたパケットを、パケット通信装置の外部に置かれた分析装置によって処理する例を示した。本実施例では、分析機能を内蔵したパケット通信装置においてストリームサンプリング機能を組み込む方法について述べる。
【００５０】
図15に分析機能を内蔵したパケット通信装置1503の構成図を示す。実施例1との差異は、パケット通信装置1503の内部に分析処理1505として分析処理プログラムおよびデータを置く点である。
【００５１】
本実施例における選択的パケットコピー処理部1502の処理フローを図16に示す。実施例1と異なり、本実施例の選択的パケットコピー処理部1502は、処理1619でパケット通信装置1503内部の分析処理部1505にコピー対象パケットを転送する。
【００５２】
この実施例のように、分析装置をパケット通信装置に内蔵することにより、トラフィック分析システムを省スペースで実現することが可能となる。また、内部の高速なパケット転送メカニズムを利用可能となり、パケット通信装置と分析装置の間の回線がボトルネックになることも解消できる。よって、より高速な回線に対しての分析処理が小規模の装置で実現可能となる。
【図面の簡単な説明】
【００５３】
【図１】ストリームサンプリング機能を組み込んだパケット通信装置によるトラフィック分析システムのネットワーク図。
【図２】パケット通信装置103の内部構成図。
【図３】選択的パケットコピー処理部202のブロック図。
【図４】サンプル対象ストリーム・テーブル303の一例。
【図５】ストリームサンプル用フィルタ・テーブル304の一例。
【図６】パケット通信装置103がパケットを受信した時の選択的パケットコピー処理部202の処理フローチャート。
【図７】TCPを利用した場合のシーケンス例。
【図８】SCTPを利用した場合のフローチャート。
【図９】SCTPを利用した場合のシーケンス例。
【図１０】統計分析装置1001とストリーム分析装置1002を組み合わせたトラフィック分析システムのネットワーク図。
【図１１】シーケンス例。
【図１２】ストリームサンプリング機能をフィルタ型のパケット通信装置で実現した場合のネットワーク図。
【図１３】フィルタ型のストリームサンプリング機能を実現したパケット通信装置の構成図。
【図１４】フィルタ型のストリームサンプリング機能を実現したパケット通信装置の選択的パケットコピー処理部1202のフローチャート。
【図１５】分析機能を内蔵したパケット通信装置1503の構成図。
【図１６】分析機能を内蔵したパケット通信装置1503の選択的パケットコピー処理部1502のフローチャート。
【符号の説明】
【００５４】
１０１：  ストリーム指向の通信を行うクライアント
１０２：  ネットワーク内のストリームを分析する装置
１０３：  ストリームサンプリング機能をもつパケット通信装置
１０４：  ストリーム指向の通信を行うサーバ
２０４：  ネットワークインタフェース
７０１：  SYNパケットの検出
７０２：  既定数のSYNパケットの検出によるコピー開始
７０３：  ＦＩＮパケットに対するＡＣＫの検出によるコピー終了
９０１：  ＩＮＩＴチャンクの検出
９０２：  既定数のＩＮＩＴチャンクの検出によるコピー開始
９０３：  ＳＨＵＴＤＯＷＮ−ＣＯＭＰＬＥＴＥチャンク検出によるコピー終了
１００１：  トラフィックの統計的な分析を行う装置
１００２：  トラフィックをアプリケーションレベルで分析を行う装置
１１０１：  パケットの統計情報・サンプルの送信
１１０２：  被疑ストリームの情報の受信によるストリームサンプル開始
１１０３：  サンプルされたストリームの送信開始
１１０４：  ストリーム分析の結果に基づく不正通信遮断命令の送信
１２０１：  ポートミラーリング機能をもったルータ
１２０２：  ストリームサンプリング機能をフィルタとして実現したパケット通信装置。
【図１】
0004759389.tif 000002
【図２】
0004759389.tif 000003
【図３】
0004759389.tif 000004
【図４】
0004759389.tif 000005
【図５】
0004759389.tif 000006
【図６】
0004759389.tif 000007
【図７】
0004759389.tif 000008
【図８】
0004759389.tif 000009
【図９】
0004759389.tif 000010
【図１０】
0004759389.tif 000011
【図１１】
0004759389.tif 000012
【図１２】
0004759389.tif 000013
【図１３】
0004759389.tif 000014
【図１４】
0004759389.tif 000015
【図１５】
0004759389.tif 000016
【図１６】
0004759389.tif 000017