(57)【特許請求の範囲】
【請求項１】
任意の識別子を用いて通信するオープンなネットワーク環境上で、記憶装置を備えたパケット処理装置のネットワークインタフェースから入力されるパケットのヘッダ情報に含まれる一部の情報を参照して近似属性を持つパケットを集約するパケット集約方法であって、
記憶装置にパケット間隔を記録するステップと、
前記パケット間隔から算出される統計値を元にパケットを集約するフローを決定するステップと、
を有するパケット集約方法。
【請求項２】
任意の識別子を用いて通信するオープンなネットワーク環境上で、記憶装置を備えたパケット処理装置のネットワークインタフェースから入力されるパケットのヘッダ情報に含まれる一部の情報を参照して近似属性を持つパケットを集約するパケット集約装置であって、
前記記憶装置にパケット間隔を記録するパケット間隔記録部と、
前記パケット間隔から算出される統計値を元にパケットを集約するフロー判定部と、
を有することを特徴とするパケット集約装置。
【請求項３】
前記フロー判定部は、ネットワーク層のプロトコル、ソースアドレス、宛先アドレス、トランスポート層のソースポート、宛先ポートの条件が完全に一致しなくても、パケットのサイズが一定でパケット間隔がその所定の統計値から一定区間内であれば、その該当するフローに集約する、請求項２記載のパケット集約装置。
【請求項４】
前記パケット間隔記録部は、ネットワーク層のプロトコル、ソースアドレス、宛先アドレス、トランスポート層のソースポート、宛先ポートなどの条件により分類されたフロー毎に、パケット間隔およびその所定の統計値と、標準偏差値を算出し、保持する、請求項２記載のパケット集約装置。
【請求項５】
集約されたパケットの情報を、ネットワークで接続された外部端末に、属性の異なるパケットが集約されたことを示す情報を含めて送信するパケット送信部を有する、請求項２から４のいずれかに記載のパケット集約装置。
【請求項６】
任意の識別子を用いて通信するオープンなネットワーク環境上で、記憶装置を備えたパケット処理装置のネットワークインタフェースから入力されるパケットのヘッダ情報に含まれる一部の情報を参照して近似属性を持つパケットを集約するパケット集約プログラムであって、
記憶装置にパケット間隔を記録する処理と、
前記パケット間隔から算出される統計値を元にパケットを集約するフローを決定する処理と、
をコンピュータに実行させるためのパケット集約プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットなどの任意の識別子を用いて通信するオープンなネットワーク環境上での、大量のパケットを送りつけるネットワークの計測のための方法、装置、およびプログラムに関する。
【背景技術】
【０００２】
１つ以上のパケットで構成され、送り元と宛先が変わらないパケット群をフローと呼ぶ。パケット通過時にパケットに含まれるネットワーク層のヘッダとトランスポート層のヘッダの一部の値を参照し、参照したヘッダの値が同値であるものを同一のフローとみなすのが従来のフロー技術である（非特許文献１参照）。到着したパケットのネットワーク層プロトコルヘッダとトランスポート層プロトコルヘッダに含まれる情報のうち、プロトコル、ソースアドレス、宛先アドレス、ソースポート、宛先ポート、パケットの優先度が全て一致する場合、同一フローとなる。
【０００３】
フロー情報を特定のフォーマットに従って計測用パケットにパケット化し、この計測用パケットをネットワーク計測用の端末に送信することで、そのノードの通信内容の把握が可能となる。
【０００４】
しかし、非特許文献２によるとＤＤｏＳ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄｅｎｉａｌ  Ｏｆ  Ｓｅｒｖｉｃｅ  ａｔｔａｃｋ）と呼ばれるソースアドレスを分散させて大量のデータを送り続ける攻撃トラフィック、ポートスキャンと呼ばれる対象のホストの全ポートに接続を試みてサービス状態ならびに脆弱性を検出するための攻撃トラフィック等が発生したときに、フロー数が急激に増大する。そのため計測用端末に送信されるパケットも増大し、計測用端末が接続されている計測用ネットワークにおいても輻輳が発生する。
【非特許文献１】［平成１８年１月５日閲覧  インターネット］http://www.ietf.org/rfc/rfc3954.txt
【非特許文献２】Cristian Estan, Ken Keys, David Moore, George Varghese: "Building a better netflow", ACM SIGCOMM Computer Communication Review, 34, Issue 4, pp. 245 - 256 (2004).
【非特許文献３】K. -C. Lan, A. Hussain and D. Dutta: "The effect of malicious traffic on the network", In Proceedings of Passive and Active Measurement Workshop, La Jolla, California (2003)
【発明の開示】
【発明が解決しようとする課題】
【０００５】
攻撃時における計測用ネットワークの輻輳発生を回避する必要がある。フローの生成量または総データ量を減らす方法には、パケットのサンプリング間隔を長くする方法、属性の種類毎に同一属性を持つフローを集約する方法がある。
【０００６】
上述した２つの方法はともにすべてのパケットを対象としてデータ量を減らすために情報量が減りネットワーク状態の解析能力が通常時よりも低くなる。
【０００７】
したがって、本発明の目的は、攻撃時のみ攻撃と思われるパケット群を集約してサンプリングレートなど情報の精度に関わるパラメータを変更せずにフローの生成を抑制するパケット集約方法、装置、プログラムを提供することである。
【課題を解決するための手段】
【０００８】
本発明では上記の課題を解決するために、任意の識別子を用いて通信するオープンなネットワーク環境上で、記憶装置を備えたパケット処理装置のネットワークインタフェースから入力されるパケットのヘッダ情報に含まれる一部の情報と、パケット内に含まれない情報であるパケット間隔を用いて近似属性を持つパケットを集約する。
【０００９】
１つ以上のパケットで構成され、送り元と宛先が変わらないパケット群をフローと呼ぶ。到着したパケットのネットワーク層プロトコルヘッダとトランスポート層プロトコルヘッダに含まれる情報のうち、プロトコル、ソースアドレス、宛先アドレス、ソースポート、宛先ポート、パケットの優先度が全て一致する場合、同一フローとなる。本発明では区別のためにこの全て一致したフローを完全同一フローと記載する。
【００１０】
本発明では、パケットのソースアドレス、宛先アドレス、ソースポート、宛先ポートのうちどれかが１項目異なった場合でも、パケットのサイズが同一で、パケットの間隔が既存のフローの平均値、中央値、最頻値等の集合を代表する統計値から一定の割合で算出した増減値内に収まっていれば、同一のフローとみなす。フローの平均値、中央値、最頻値等の集合を代表する統計値を、本発明ではフローの代表統計値と記載する。
【００１１】
本発明のパケット集約装置は、記憶装置にパケットのパケット間隔を記録するパケット間隔記録部と、パケット間隔から算出される統計値を元にパケットを集約するフロー判定部と、その情報を外部装置に送信する送信部を有する。
【００１２】
計測用パケットを送信するノードに入力されたパケットをもとにフロー間のパケットの到着間隔を調べる。非特許文献３によると、ＤＤｏＳのトラフィックはＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）の分散が小さく、時間差が少ない。また、ワームの感染により起こるＤＤｏＳはパケット長と、送出パケット間隔が固定されている場合が多いことが知られている。
【００１３】
したがって、これまで攻撃時にパケット毎に別フローと数えられていたフロー群が、パケットのネットワーク層プロトコルヘッダとトランスポート層プロトコルヘッダの情報の１項目が異なっていてもパケット間隔が近似値を持つもの同士を同一フローとみなして数える方法によって集約されるためフロー数が減少する。
【００１４】
フロー判定部は到着したパケットと記録済みの既存フローを検索し、完全に同一ならば、既存のフローとして数える。既存フローとソースアドレス、宛先アドレス、ソースポート、宛先ポートのどれか１項目のみ異なった場合は、既存フローのパケット間隔の代表統計値と標準偏差を元に同一フローとみなせる区間を決定し、新しいパケットの到着間隔がこの区間内にある場合、同一フローとして数える。それ以外は新規フローとして数える。
【００１５】
パケット間隔記録部はフロー毎にパケット間隔の値と、それらから求められた代表統計値と標準偏差の値、最終到達パケットの時間を保持する。代表統計値、標準偏差値が攻撃時の値に牽引されて常に攻撃時の傾向になるのを避けるために、一定数の最新のパケットを利用する。
【００１６】
フロー判定部によって該当フローと判定された新規パケットは到着時間の絶対時間をパケット間隔記録部が持つ最終到達パケットの時間と比較し、新規パケットのパケット間隔を算出する。また、新しく算出されたパケット間隔を既存の値と合わせて、代表統計値と標準偏差を求める。
【００１７】
送信部はフローの基本情報として時間情報、ソースアドレス、宛先アドレス、ソースポート、宛先ポート、経路情報、入出力インタフェース名、パケット数、バイト数等の情報を含んだ上で、攻撃トラフィックのパケット間でどのヘッダフィールドが異なるかを示す情報と、パケット間で異なったフィールドの参考値を送信する。最後に加えた２つの情報により、到着間隔によるパケット集約時に集約された情報を受信側で復元できる。
【発明の効果】
【００１８】
本発明によれば、パケット間隔にばらつきのある通常のトラフィックは、ＩＰヘッダとトランスポートレイヤーのヘッダの情報によってフローの仕分けが行われる。一方、攻撃パケットはパケット間隔にばらつきが少ない。本発明により、攻撃時にパケット毎に意図的に分散されたソースアドレス等のヘッダ情報のどれかにパケット毎に差異があっても、同一フローとして集約される。これによって攻撃等の異常トラフィックのみを対象に集約が行えるため、サンプリングレート等の情報の精度に関わるパラメータを変更することなく、計測用端末へ計測用パケットを転送している計測用ネットワークにおける輻輳の発生を抑制することができる。
【発明を実施するための最良の形態】
【００１９】
次に、本発明の実施の形態について図面を参照して説明する。
【００２０】
図１は本発明の一実施形態によるネットワークシステムの構成を示す図である。
【００２１】
インターネット１０は互いに相互接続性を持つノード１１〜１４を有している。計測用端末２０は、ノード１１からノード１１を通過したパケットのフロー情報のパケットを受信する。ノード１１に接続された端末３０はサーバ、ノード１２〜１４に接続された端末４１〜４３はクライアントであり、サーバクライアント間で通信が行われている。
【００２２】
ここで、端末４１〜４３のどれかまたは全てがウイルスやワームに感染する、または第三者によって制御が乗っ取られるなどの理由から端末３０に対するネットワーク攻撃が発生する。複数の端末が攻撃を始めた場合はソースアドレスが分散する。また、単一の端末からの攻撃の場合でもソースアドレスが詐称される可能性があるため、ソースアドレスが分散する可能性がある。これらの攻撃の発生によってインターネット１０全体における通信量が増えるが、特にノード１１と端末３０に対する通信量が増えて、ノード１１が持つ回線が輻輳し端末３０は正常な通信が不可能な状態に陥る。
【００２３】
さらに、ノード１１は計測用端末２０に対してフロー情報をパケット化して送信しているため、ノード１１上で観測されるフロー数が増大した結果大量のパケットを送信する。そのためノード１１と計測用端末２０との間の計測用ネットワークをも輻輳させ、攻撃の２次被害が発生する。場合によっては、計測用端末２０を資源不足状態に陥らせる可能性もある。
【００２４】
以降、ノード１１において本発明を用いた計測用ネットワークの輻輳の対策を説明する。
【００２５】
図２は計測用端末２０のブロック図である。フロー判定部２１１は、ネットワークインタフェース２３２からパケットを受け取ると、記憶装置２３１内に図３に示す形式で記録されているフロー情報群２２１から完全同一フローまたは、ソースアドレス３３１、ソースポート３３２、宛先アドレス、宛先ポート３３３のどれかひとつのみが異なるが、到着パケットのパケット間隔がそのフローの平均および標準偏差と任意の有意水準から求められる信頼区間内という条件を満たす近似フローを検索する。
【００２６】
パケット間隔記録部２１２はフロー判定部２１１によって判定された該当フローの情報を更新する。フロー判定部２１１によって既存のフロー情報には該当フローが存在しないと判定された場合は新規フローを作成し、新規フロー作成時にはパケットの情報を記録する。
【００２７】
記憶装置２３１に記録されていたフローはパケット送信部２１３によって特定のフォーマットに従ったパケットに変換され、図１における計測用端末２０などの外部機器に送信される。
【００２８】
図３にパケット間隔記録部２１２によって記憶装置２３１に記録されるフロー情報の一例を示す。フロー情報３１１、３１２、３１３は宛先アドレスを識別子として分類されている。さらにその中に個別のフローレコード３２１、３２２、３２３が複数含まれる。フローレコードはソースアドレス３３１、ソースポート３３２、宛先ポート３３３が異なれば異なるフローレコードに分類される。
【００２９】
フローレコードはプロトコル３３０、ソースアドレス３３１、ソースポート３３２、宛先ポート３３３、パケット数３３４、オクテット数３３５、フロー開始時間（最初のパケットが到着した）時間３３６、フロー終了時間（最終のパケットが到着した）時間３３７、それまでに到着したパケットのパケット間隔を複数保持する配列３３８、近似検索の相違点を示すフラグ３３９、平均パケット間隔３４１、パケット間隔の標準偏差値３４２の情報を最低限持つ。近似検索の相違点を示すフラグ３３９は近似検索によって同一フロー内に分類されたパケット間で異なるフィールドが存在する場合に、どのフィールドが異なっているかを示しており、ソースアドレス、ソースポート、宛先アドレス、宛先ポートのどれかを示す。
【００３０】
パケットが新しく到着すると、フロー判定部２１１は、パケットのヘッダ情報とフローレコードの情報を比較する。ここで完全同一フローがある場合、引き続いて処理するパケット間隔記録部２１２においてパケット数３３４、オクテット数３３５、フロー終了時間３３７、を更新し、パケット間隔配列３３８、平均パケット間隔３４１、パケット間隔の標準偏差値３４２を再計算し、記録する。
【００３１】
フロー判定部２１１における処理の流れの一例を図４に示す。フロー判定部２１１においてソースアドレス、ソースポート、宛先アドレス、宛先ポートのどれか一項目が異なる場合は近似検索を始めるが、既に近似検索の相違点を示すフラグ３３９によってそのフローにおいて過去にどの項目が異なったかが示されている場合はその項目が異なっているかのみチェックする（ステップ４０１〜４１０）。たとえば新しいパケットと既存のフローを比較した場合に宛先ポートが異なり、既にフラグ３３９が、ソースアドレスが異なることを示している場合は新しいパケットとの相違点と既存の相違点が異なるので、そのフローレコードのチェックを中止し、次のチェックレコードの比較を始める（ステップ４１１〜４１３）。フラグが０の場合と、フラグ３３９と既存フローと新しいパケットとの相違点が同じならば、近似検索を継続する。
【００３２】
フロー判定部２１１でここまでの条件が満たされた場合は、パケットサイズを比較して、同値ならば、新規パケットのパケット間隔と、フローの平均パケット間隔とを比較する（ステップ４１４、４１５）。ユーザによって指定される信頼水準［Ｘ］をもとに平均と標準偏差を用いて、同一フローとみなす区間を定める。新規パケットの到着間隔がその区間内であれば、そのパケットは比較したフローと同一フローと判定され、フロー判定部２１１は該当フローの情報をパケット間隔記録部２１２に渡す（ステップ４１６）。
【００３３】
パケット間隔記録部２１２では新規パケットのパケット間隔をパケット間隔配列３３８に新たに追加する。パケット間隔配列３３８はユーザによって指定される個数［Ｎ］だけ、保持する。その後新しい平均値と、次のフロー判定に用いる標準偏差の値を算出する。
【００３４】
パケット送信部２１３は、通信が持続して一定時間が経過するかまたは、ステートフルなプロトコルを利用している場合は通信の終了を示すパケットを持って、フローの終了とみなし、終了したフロー数が一定数たまったらパケット化して、外部機器に送信する。この際に、近似検索によって集約されたフローレコードに関しては情報を付加する。
【００３５】
従来技術のＮｅｔｆｌｏｗに本発明を応用して拡張した例を図５に示す。図５はＮｅｔｆｌｏｗ  Ｖｅｒｓｉｏｎ  ５と呼ばれる形式のパケットフォーマットである。図５内下部のレコードがフロー情報を伝達するためのフォーマットであり、ｐａｄ１（８ｂｉｔ）とｐａｄ２（１６ｂｉｔ）が使用していないフィールドである。ｐａｄ１内４ｂｉｔを利用して、集約したパケット間で異なるフィールド、即ちソースアドレス、ソースポート、宛先アドレス、宛先ポートのどれかを示す。図６にその表現方法の例を示す。ＳＡ６１１、ＤＡ６１２、ＳＰ６１３、ＤＰ６１４はそれぞれソースアドレス、ソースポート、宛先アドレス、宛先ポートのフィールドが集約されたことを示す。ｐａｄ２には、参考となる値を挿入する。例えば、分散されていた宛先ポート番号が集約された場合には、ｄｓｔｐｏｒｔフィールドにポート番号の最小値、ｐａｄ２フィールドにポート番号の最大値を挿入する。
【００３６】
なお、本発明のパケット集約方法は、その機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行するものであってもよい。コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ等の記録媒体、コンピュータシステムに内蔵されるハードディスク装置等の記憶装置を指す。さらに、コンピュータ読み取り可能な記録媒体は、インターネットを介してプログラムを送信する場合のように、短時間、動的にプログラムを保持するもの（伝送媒体もしくは伝送波）、その場合のサーバとなるコンピュータ内の揮発性メモリのように、一定時間プログラムを保持しているものを含む。
【図面の簡単な説明】
【００３７】
【図１】本発明の一実施形態によるネットワークシステムの構成図である。
【図２】計測用端末の構成図である。
【図３】パケット間隔記録部によって記憶装置に記録されるフロー情報の一例を示す図である。
【図４】フロー判定部における処理の流れを示すフローチャートである。
【図５】従来技術のＮｅｔｆｌｏｗに本発明を応用して拡張した例を示す図である。
【図６】フィールドの表現方法の例を示す図である。
【符号の説明】
【００３８】
１０    インターネット
１１〜１４    ノード
２０    計測用端末
３０    端末（サーバー）
４１，４２，４３    端末（クライアント）
２１１    フロー判定部
２１２    パケット間隔記録部
２１３    パケット送信部
２２１    フロー情報群
２３１    記憶装置
２３２    ネットワークインタフェース
【図１】
0004489714.tif 000002
【図２】
0004489714.tif 000003
【図３】
0004489714.tif 000004
【図４】
0004489714.tif 000005
【図５】
0004489714.tif 000006
【図６】
0004489714.tif 000007