説明

効率的なネットフローデータ解析のための方法及び装置

【課題】ネットワークへの攻撃を、フローベースで効率よく検出可能とする。
【解決手段】データネットワークに対するネットワーク攻撃を検出するためのフローベースの検出システム。フローレコードが、効率的なソートを容易にする新規のデータ構造内に収集される。その後、ソートされたデータ構造は、ネットワークが攻撃を受けているかどうか知るために、効率的なやり方で解析することができる。一意の対応するアドレス又は会話の数があまりにも大きい場合、攻撃が識別される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク通信及び使用解析に関し、詳細には、ネットフローデータを収集し処理するための方法及び装置に関する。より具体的には、本発明の例示的な実施形態は、フローレコードを使用してネットワーク攻撃を識別することに関する。
【背景技術】
【0002】
世界中でデータを移送するパケット式データネットワークが普及している。パケット式データネットワークは、典型的に、あるコンピュータと別のコンピュータの間で伝送するためにデータをパケットにフォーマットする。これらのパケットは、パケットデータ及びルーティングに関する情報を含むヘッダを含む。データネットワークは、ルータを使用して発信元コンピュータから宛先コンピュータにこれらのパケットを送り、このルータは、パケットヘッダ内のルーティング情報を使用して宛先コンピュータにパケットを送る。パケットのフローは、特定の送信元ネットワークアドレス及びポートから宛先ネットワークアドレス及びポートに送られた一群のパケットである。これらの特定の宛先及び送信元のネットワークアドレス及びポートは、たとえばそれぞれ異なるコンピュータに対応してもよい。これらのネットワークが拡張されるにつれて、それらを使用する利点が増している。しかし、これは、ネットワークを使用して企業を攻撃する機会を開いた。
【0003】
あるタイプの攻撃は、分散型サービス妨害である。分散型サービス妨害は、障害が生じた(compromised)多数のコンピュータが特定のコンピュータを攻撃し、膨大な数のネットワーク接続を開くことによってその特定のコンピュータを圧倒することを伴う。別のタイプの攻撃は、ポートスキャン攻撃である。ポートスキャン攻撃は、不正(rogue)コンピュータが様々なネットワークアドレスにわたって接続を開き、弱点を求めて接続を探索することを伴う。
【0004】
ネットフローは、IPトラフィックの収集及び監視のために使用されてもよい、よく知られているネットワークプロトコルである。いくつかのネットフロー解析エンジンは、IPアドレスに関連するデータ量だけに基づいて、送信元IPアドレス、宛先IPアドレスの上位数(通常最大1000)だけを保持する。このように情報をフィルタリングすることの欠点は、実際のフロー情報、特に、結果として生じる情報のコンテキスト、たとえば送信元IPアドレス及び宛先IPアドレスに関連する送信元ポート及び宛先ポートが失われるということである。したがって、こうしたエンジンは、すべての配布情報が失われるので、攻撃を識別することができない。
【0005】
他のネットフロー解析エンジンは、フローのサブセット(通常1時間の期間の約10,000フロー)だけを保存する。サブセットは、フローオクテットサイズに通常基づく。この技法は、上記に概説された技法とは対照的に、何らかの配布情報を依然として保存しながら、フローに必要な記憶容量を減少させる。しかし、サブセットはフローオクテットサイズ、特にフローオクテットサイズの最大値に通常基づき、サービス妨害攻撃及びポートスキャン攻撃は少量のオクテットを含み得るので、攻撃に関連するフローは、サブセット内に現れず、したがって攻撃はやはり、エンジンには見えない。
【0006】
本明細書で述べられた攻撃のパターンを識別できるようにするには、すべてのフロー、特に少量のオクテット及びパケットしか有さないフローを解析する必要がある。こうした解析は一般に、解析が非能率的であるために行われず、すなわち、こうした大量のデータを効果的に解析することは、これが記憶容量に関する問題をもたらすだけでなく、攻撃の識別のために非現実的な処理時間をも必要とするので、実行不可能と見なされる。
【発明の概要】
【0007】
本発明の目的は、ネットフローデータを効率的に処理し解析するための技法を提供することによってこれらの問題を克服することであり、この技法は特に、フロー情報一式を解析することに基づいて分散型サービス妨害攻撃及びポートスキャン攻撃を識別することを可能にする。
【0008】
本発明の態様については、添付の特許請求の範囲で述べられる。
【0009】
本発明の一態様によれば、フロー収集技術を使用して、現実的な時間尺度内でウィルス攻撃を識別するためにも使用できるデータネットワーク内の接続に関する情報を取得する。これは、オペレータがたとえば、攻撃に関与していると識別された関連するアドレスからの特定の送信を拒否するようにファイアウォール設定を再構成することによって、こうした攻撃に対する目標とされた措置を取れることを可能にし、それによって、ネットワークが安全に、またできるだけ大きい帯域幅で実行されることが保証される。
【0010】
一実施形態によれば、これは、
フローについての情報を格納し、
特定の送信元IPアドレス及びポートと、宛先IPアドレス及びポートとの間の関連性を、それらの間の伝送量と共に識別するために、フローのそれぞれに特有の情報をソートすること、
次いで、ソートされた情報に基づいて、これらの別個の送信元又は宛先のアドレス及び会話をカウントすること、及び
上位の別個のアドレス又は会話の数によって結果を並べ替えることによって達成される。
【0011】
いわゆる「会話」は、特定の送信元IPアドレス及びポートと、特定の宛先IPアドレス及びポートとの間の送信内容であり、これらのIPアドレス及びポートは、それらの間の各々の関連性を確立するために本発明によって格納されソートされる。会話数が大きい場合は、ポートスキャン攻撃を示し得る大量のトラフィックが実証される。
【0012】
好ましい一実施形態では、本発明は、フローレコードから関連情報を抽出し、あるタイプの攻撃が実施されていることを示し得る特定のアドレス間の反復した関連性及び通信パターンを求めて関連情報を解析する。次いで、本発明は、これらの別個の関連性及びパターンの量に基づいて情報をランク付けし、それによって、特定の攻撃が行われる可能性のリアルタイム表示をユーザに提供する。
【0013】
オブジェクトに関するデータを表すことができる多くの方法のうちの1つは、「タプル」としてのものである。これは、それぞれがオブジェクトの何らかの側面を表す、順序付けられた1組の値である。そしてタプルは、スプレッドシートの行やデータベーステーブルの行など、インデックス付きのブロックデータ構造として格納される。一実施形態では、本発明は、フローレコードの関連フィールドを備えるタプル内に、各フローレコードに特有の情報を格納する。これは、多数のこうした情報をソートしやすくすることを可能にする便利な技法である。さらなる実施形態では、タプルは、ランダムアクセスメモリ(RAM:Random Access Memory)などのメモリ内の整数配列に書き込まれる。このようにタプルブロックをメモリに書き込むことによって、この実施形態は、タプルブロックを併合し、特定のアドレス及び会話の合計を容易なやり方で決定することを可能にする。
【0014】
本発明を具現化する構成について、例を挙げるため、添付の図面を参照して次に述べられる。
【図面の簡単な説明】
【0015】
【図1】ネットワーク内のフロー情報を処理し提供するためのネットワークルーティングデバイスを示すブロック図である。
【図2】本発明の一実施形態によるネットフロー処理エンジンによって検出されるポートスキャン攻撃の一例を示すブロック図である。
【図3】本発明の一実施形態によるネットフロー処理エンジンによって検出される分散型サービス妨害攻撃の一例を示すブロック図である。
【図4】本発明の例示的な一実施形態による、機能コンポーネント、データ構造、及びネットワークフローレコードのストリームを処理するためにネットフロー処理エンジンによって実施される操作を概略的に示す図である。
【図5】本発明の例示的な実施形態の各フローレコードのフィールドを示すブロック図である。
【図6A】本発明の一実施形態による、ネットワーク接続の情報を格納するために使用されるコンピュータメモリ内の例示的なタプル及びタプルブロックデータ構造を示すブロック図である。
【図6B】本発明の一実施形態による、ネットワーク接続の情報を格納するために使用されるコンピュータメモリ内の例示的なタプル及びタプルブロックデータ構造を示すブロック図である。
【図6C】本発明の一実施形態による、ネットワーク接続の情報を格納するために使用されるコンピュータメモリ内の例示的なタプル及びタプルブロックデータ構造を示すブロック図である。
【発明を実施するための形態】
【0016】
図1は、受け取られたパケットを処理し、ネットワークからフローレコードを収集するためのネットワークルーティングデバイス1の一般的なブロック図を示している。パケット11は、ルーティングデバイス1のパケット処理エンジン12によって受け取られ処理され、受け取られたパケットのフローについての情報は、フローキャッシュ13に格納される。フローキャッシュ13は、固定の時間間隔で、たとえば毎分フラッシュされ、ネットフロー情報は、フローエクスポータ14として具現化されたネットフローエクスポートプロトコルによってエクスポートされ、フローデータエンジン15に送信される。
【0017】
図2は、攻撃者から複数のターゲットホストへのポートスキャン攻撃の一例を示している。攻撃側コンピュータは、典型的に、様々なコンピュータへの多数の接続を開く。これらの接続は、ルーティングデバイス1によって、フローレコードを使用してネットフロー処理エンジン3に報告される。この攻撃についてのフロー情報は一般に、1つの送信元アドレスと、多数の関連する宛先アドレス及びポートをもつ。換言すると、攻撃は、複数の他のホストをターゲットとする単一のアドレスを有する不正コンピュータから開始され、この複数の他のホストは、すべてが単一の送信元アドレスに関連している多くの異なる宛先アドレス及びポートを有する。
【0018】
図3は、複数のコンピュータから、ターゲットとされた単一のホストへと開始されるサービス妨害攻撃の一例を示している。この例では、多数のコンピュータが、典型的に、単一のコンピュータとの接続を開く。これらの接続は、フローレコードを使用して、ルーティングデバイス1によってネットフロー処理エンジン3に報告される。この攻撃についてのフロー情報は、ターゲットとされたホストに対応する1つの宛先アドレスと、複数のコンピュータに対応しており、単一の宛先アドレスに関連する多数の送信元アドレス及びポートをもつ。
【0019】
上記の形のネットワーク攻撃を識別するための効率的な後続の解析を容易にする、本発明によるフローレコードのストリームを処理し収集する操作について、図4を参照して次に述べられる。図4は、フローレコード処理エンジン3の機能コンポーネント及びデータ構造による操作を概略的に示すブロックフローチャートである。このプロセスは、ルーティングデバイス1から複数のフローレコード41を受け取ることから開始し、このフローレコード41は、ネットフロー処理エンジン3のフローレコード受信スレッド42によって処理される。この実施形態では、ネットフロー処理エンジン3は、1時間や数日など、いずれかの時間量であり得る事前定義された時間ウィンドウ内に複数のフローレコードを収集する。
【0020】
図5は、フローに関する関連情報を含む、例示的なフローレコードのコンテンツを示している。図5に示されたように、フィールドは、以下を含む。
送信元IPアドレス
宛先IPアドレス
送信元IPポート
宛先IPポート
IPプロトコル
フロー内のオクテット数
フロー内のパケット数
サービスタイプ
他のフィールド
【0021】
フローレコードは、各フローについて、ルータによって、規則的な時間間隔、たとえば毎分に発行されてもよく、したがって、長く持続した単一のフローは、多くのフローレコードを生成する。
【0022】
特定の問合せのためのフィルタが、各フローに適用されてもよい。こうしたフィルタの例は、ある時間範囲内のフローや、特定のインターフェースに一致するフローなどであってもよい。フィルタは、フローレコード内で使用可能なフィールドの任意の組合せのためのフィルタパラメータから構成されてもよい。フィルタパラメータは、関連するフィールドの値又は値範囲によって定義することができる。たとえば、IPアドレス値の範囲は、たとえばネットマスクとして定義することができ、ポート範囲は、開始値から終了値まで定義してもよい。
【0023】
この実施形態では、ネットフロー処理エンジン3は、上記に言及されたように、分散型サービス妨害攻撃及び/又はポートスキャンネットワーク攻撃を検出するように構成され、したがって、特定の送信元又は宛先IPアドレスへのアクティブなネットフローを効率的に識別するために、所定の時間ウィンドウ内でフローレコードを収集し解析する。この実施形態では、ネットフロー処理エンジン3は、ネットフローを解析するためにフローレコードから上記のフィールドのうちの5つ、すなわち送信元アドレス及びポート、宛先アドレス及びポート、IPプロトコルを抽出するように構成される。これらの5つのフィールドはひとまとめにして、5タプル会話データと呼ばれる。N個のフィールドを有するN個のタプルを、たとえば異なるタスク又は問合せについてフローレコードを解析するように形成するために、フィールドの他の任意の組合せを使用できることが当業者には理解されよう。
【0024】
5タプル会話データのそれぞれのフィールドからの値は、タプルブロックライタ43によって、受け取られた各フローレコードから抽出される。この例示的な実施形態では、抽出された値は、図6Aに示されたように、タプルデータ構造内にまず置かれる。タプルデータ構造内のフィールドの順序は、ネットフロー処理エンジン3の構成に依存する。たとえば、ネットフロー処理エンジン3が同じ宛先IPアドレスへのアクティブなネットフローを識別するように構成される分散型サービス妨害検出では、値は、まず宛先IPアドレス、次に送信元IPアドレス、その後に送信元ポート、宛先ポート及びIPプロトコルの順序61でタプルデータ構造に書き込まれる。もう一方では、ネットフロー処理エンジン3が同じ送信元IPアドレスへのアクティブなネットフローを識別するように構成されるポートスキャン検出では、値は、まず送信元IPアドレス、次に宛先IPアドレス、その後に送信元ポート、宛先ポート及びIPプロトコルの順序62でタプルデータ構造に書き込まれる。
【0025】
5タプルデータ構造は、たとえば処理効率のために4つの32ビット整数要素からなる固定サイズのものであってよい。したがって、図6Aに示されたように、関連する値がデータ構造の固定長より小さい場合、5つのフィールドの後にパディングを設けてもよい。
【0026】
この実施形態では、ネットフロー処理エンジン3は、所定の時間ウィンドウから5タプルのソートされたデータストリームを抽出し、収集し、処理し、出力するように構成される。次いで、このソートされたデータストリームは、効率的な処理のために後続の解析コンポーネントに渡される。この実施形態によるソートは、メモリとプロセッサの両方の効率のために2段階で実施される。第1段階として、タプルブロックライタ43は、固定数の5タプルのデータ構造を格納する所定のサイズを有するインデックス付きタプルブロックデータ構造63に、そのブロックデータ構造が一杯になるまで、生成された5タプルデータ構造を出力する。インデックス付きのタプルブロックは、たとえば、RAMメモリ内に整数配列として格納されてもよいことが当業者には理解されよう。タプルブロック63は、タプルブロック63内の個別の各タプル要素65の相対位置のインデックス64をも含む。図6Bに示された例では、インデックス64は、タプルブロック63内にオフセットとして各タプル要素65の整数インデックスを格納する整数配列である。
【0027】
ネットフロー処理エンジン3が、タプルブロック63が個別のタプル要素65の最大数で埋められていると決定すると、タプルブロック63は、タプルブロックソータ44に送られる。タプルブロックソータ44は、個別のタプル要素65を事前定義された順序でソートし、したがってソートされたデータ構造によって、(たとえば、関連するフローレコードから抽出された値からのフロー内のオクテットの数、及び/又はフロー内のパケットの数に基づいて)特定の送信元IPアドレス及びポートと宛先IPアドレス及びポートとの間の別個の関連性を、それらの間の伝送量と共に識別するより効率的な解析が促される。ソート順は、ネットフロー処理エンジンの構成に基づいて定義されてもよいことが当業者には理解されよう。たとえば、ネットフロー処理エンジン3が同じ宛先IPアドレスへのアクティブなネットフローを識別するように構成される分散型サービス妨害検出では、タプルは、宛先IPアドレスに基づいてソートされ、この宛先IPアドレスは、タプルデータ構造61内の第1の要素として格納され、したがって、タプルブロックソータ44による処理のために効率的に抽出することができる。もう一方で、ネットフロー処理エンジン3が同じ送信元IPアドレスへのアクティブなネットフローを識別するように構成されるポートスキャン検出では、タプルは、送信元IPアドレスに基づいてソートされ、この送信元IPアドレスは、この構成に従って、やはりタプルデータ構造62内の第1の要素として格納される。
【0028】
この実施形態によれば、タプルブロックソータ44は、タプルデータ自体を抽出し、並べ替え、再書き込みしなければならないのではなく、インデックス64の個別のインデックスを並べ替えることによって個別のタプル要素65の効率的なソートを実施することができる。換言すると、タプル要素65自体は、タプルブロックソートの間、タプルブロック64内で移動されず、インデックス位置だけが移動される。識別されたどんな重複タプル(たとえば、タプルが同じ送信元及び宛先のアドレス、ポート及びプロトコルを有する)をも、インデックス64から重複タプルのうちの1つの個別のインデックスを取り除くことによって、タプルブロック63から効率的に取り除くことができる。
【0029】
タプルブロック63がタプルブロックソータ44によってソートされた場合、ソートされたタプルブロックは、タプルブロックライタ45に送られ、このタプルブロックライタ45は、ソートされたタプルブロック44を出力タプルブロックファイル66に移動する。図6Cに示されたように、生成されたタプルブロックファイル66は、ヘッダ要素として、ソートされた個別のタプル要素の総数を含んでもよい。したがって、タプルブロックは空であり、所定の時間ウィンドウの間に、第1段階の第1の反復が完了する。タプルブロックライタ45は、攻撃を示す可能性が最も高い別個の送信元又は宛先アドレス及び会話を決定し優先付けするために追加の処理を実施してもよい。
【0030】
5タプルを抽出し、タプルブロックを満たし、満たされたタプルブロックをソートし、ソートされたタプルブロックを出力タプルブロックファイルに追加する上述のプロセスは、所定の時間ウィンドウの継続時間の間、繰り返される。
【0031】
ネットフロー処理エンジン3が、所定の時間ウィンドウが経過したと決定する場合、タプルブロックファイル66は、マージソートコンポーネント46に出力され、このマージソートコンポーネント46は、タプルブロックファイル66からタプルブロックを読み出し、ソートされたタプルのマージソートを実施する。マージコンポーネント46は、タプルブロックファイル内の各タプルブロックへのポインタを保持し、ブロックから最小のタプルを出し、そのポインタを進めることによってマージソートを効率的に実行できることが当業者には理解されよう。
【0032】
次いで、マージソートされたタプル全体が、マージソートコンポーネント46によって、所定時間ウィンドウからの抽出されたタプルのすべてのソートされたデータストリームとして出力され、ソートされたタプルのデータストリームは、アドレス/会話カウンタ47に渡され、このアドレス/会話カウンタ47は、受け取られたデータストリームを処理して、各一意の送信元IPアドレスと宛先IPアドレスの対について、別個の関連するアドレス及び会話の数を計算する。この実施形態では、カウンタの計算は、たとえば以下のアルゴリズムを使用して、ソートされたタプルの受け取られたデータストリームに対して効率的に実施することができる。
【0033】
PerTuple:
if tuple(0)!=atuple(0):
emit(),incr addr_count,incr_conv_count
Else if tuple(1)!=atuple(1):
incr_addr_count,incr_conv_count
Else if tuple!=atuple
incr_conv_count
atuple=tuple
【0034】
分散型サービス妨害攻撃に対応する宛先IPアドレスは、別個の関連するアドレス及び会話の最大数を有する宛先IPアドレスである。同様に、最大数を有する送信元IPアドレスは、ポートスキャン攻撃側のIPアドレスを示す。アドレス及び会話カウンタ47もまた、たとえば単一の送信元アドレスに関連している宛先アドレス及びポートの最大数、及び単一の宛先アドレスに関連している送信元アドレスの最大数に従って、計算された数をランク付けすることによって、ネットワークアドレス及びネットワークポートの間の関連性を識別するように構成することもできる。
【0035】
上記の特徴によって、本発明は、大量のフロー情報処理の技法を容易にし、それによって、特定のネットワークサービス攻撃のタイプ及び送信元を効率的に正確に識別することが可能になる。
【0036】
次いで、この情報は、チャート又はグラフ形式でユーザに表示されてもよく、ある時間間隔にわたる結果を示すことができる。この情報に基づいて、ユーザ又は自動化されたシステムは、進行中の攻撃を阻止するための措置を講じることができる。たとえば、攻撃源であると識別されたアドレスからの送信をブロックするために、ファイアウォール設定を変更してもよい。
【0037】
上記の記述では、ネットフロー処理エンジン3は、上述された方法を実施するように操作を制御するソフトウェアを格納し実行するように構成される。当業者には理解されるように、上記方法を実施するよう動作可能になるようにプログラマブルデバイスを構成するためのコンピュータプログラムは、キャリアに格納され、システムのフラッシュメモリなどのメモリにロードされてもよい。プログラムは、信号としてダウンロードしてもよいし、及び/又はシステム上に既に常駐するソフトウェアへのパッチ又は更新として適用してもよい。本発明の範囲は、プログラム、プログラムを運ぶキャリア、及びブロードキャスト信号を含む。
【0038】
(代替実施形態)
諸実施形態について単に例示するために上記に述べられており、この説明を読んだ後、様々な変形形態が当業者には考えられようが、その変形形態は、特許請求の範囲に定義された本発明の範囲内に含まれるものである。
【0039】
たとえば、上述された実施形態では、タプルブロックライタによって出力されたタプルブロックファイルは、分散型サービス妨害攻撃に対応する宛先IPアドレス、及び/又はポートスキャン攻撃側の送信元IPアドレスを効率的に識別するために、各一意の送信元IPアドレスと宛先IPアドレスの対について別個の関連するアドレス及び会話の数を計算する処理のためにマージされて、アドレス/会話カウンタに送られる。当業者には理解されるように、ソートされたタプルブロックデータ構造は、効率的な処理のためにソートされたストリームを受け取るように構成された他の形のネットフローデータ解析コンポーネントによって使用することができる。たとえば、ソートされたストリームは、データストリーム内のソートされたデータの特定の構成のために特定の基準を満たす上位N個のネットフローを効率的に識別するために、本出願人の同時係属出願、「Method and Apparatus for Streaming Netflow Data Analysis」に記載された上位N計算器によって処理することができる。
【0040】
上述された実施形態では、ネットフロー処理エンジンは、所定の時間ウィンドウ内にフローレコードを収集するように構成される。その代わりに、当業者が理解するように、フローレコードは、事前定義された固定サイズの出力タプルブロックファイルが一杯になるまで、上述された方法に従って収集されてもよい。
【0041】
上述された実施形態では、ネットワークアドレスは、IPアドレスである。本発明の諸実施形態は、他の任意の形のネットワークアドレシングに適用可能であることが当業者には理解されよう。
【0042】
本発明の実施形態は、ハードウェア、ソフトウェア又はその組合せを使用して実施されてもよく、1つ又は複数のコンピューティングシステム又は他の処理システムで実施されてもよい。
【符号の説明】
【0043】
1…ルーティングデバイス、3…ネットフロー処理エンジン、11…パケット、12…パケット処理エンジン、13…フローキャッシュ、14…フローエクスポータ、15…フローデータエンジン、41…フローレコード、42…フローレコード受信スレッド、43…タプルブロックライタ、44…タプルブロックソータ、45…タプルブロックライタ、46…マージソートコンポーネント/マージコンポーネント、47…アドレス/会話カウンタ、61…順序、62…順序、63…タプルブロックデータ構造/タプルブロック、64…インデックス、65…タプル要素、66…タプルブロックファイル。

【特許請求の範囲】
【請求項1】
ネットフローデータを収集するための装置であって、
複数のフローレコードを受け取る手段(42)と、
前記受け取られたフローレコードからデータを抽出して、ブロックデータ構造にする手段(43)であって、前記ブロックデータ構造が複数の個別の要素を含み、各要素が、それぞれのフローレコードから抽出されたデータと、前記複数の個別の要素のインデックスとを格納する、手段と、
前記ブロックデータ構造内の前記個別の要素を、前記インデックスを並べ替えることによってソートする手段(44)とを備える装置。
【請求項2】
前記ブロックデータ構造が固定サイズを有し、前記装置が、いつ前記ブロックデータ構造が一杯になるか決定し、前記ブロックデータ構造を前記ソート手段に渡す手段をさらに備える、請求項1に記載の装置。
【請求項3】
前記ソート手段(44)が、前記抽出されたデータのビットパターンに基づいて前記個別の要素をソートするように構成される、請求項3に記載の装置。
【請求項4】
前記ソート手段が、前記ソートされたブロックデータ構造を出力ブロックファイルに追加するように構成される、請求項4に記載の装置。
【請求項5】
前記受取り手段(42)が、所定の時間ウィンドウ内に複数のフローレコードを受け取るように構成される、請求項1〜4のいずれか一項に記載の装置。
【請求項6】
前記抽出手段及びソート手段が、繰り返し前記ブロックデータ構造を満たし、前記満たされたブロックデータ構造をソートし、前記所定の時間ウィンドウ内に前記複数のフローレコードについて、前記ソートされたブロック構造を前記ブロックファイルに追加するように構成される、請求項5に記載の装置。
【請求項7】
前記ブロックファイル内の前記複数の要素のマージソートを実施し、前記ソートされた要素のデータストリームを出力する手段をさらに備える、請求項6に記載の装置。
【請求項8】
前記ソートされたブロックデータ構造をデータストリームとして処理して、ネットワーク使用のパターンを識別する手段(46、47)をさらに備える、請求項7に記載の装置。
【請求項9】
前記個別の要素がNタプルであり、ただし、Nがフローレコードから抽出されたデータエンティティの数であり、前記ブロックデータ構造がタプルブロックである、請求項1〜8のいずれか一項に記載の装置。
【請求項10】
前記インデックスが、それぞれが前記タブルブロック内の各々の個別のNタプルの位置を識別するインデックスの配列を備える、請求項9に記載の装置。
【請求項11】
前記処理手段(46、47)が、前記フローレコードのネットワークアドレス及びネットワークポート間の関連性を識別し、前記識別された関連性に基づいて、分散型サービス妨害攻撃及び/又はポートスキャン攻撃を示す1つ又は複数のフローレコードを識別するようにさらに構成される、請求項10に記載の装置。
【請求項12】
前記処理手段(46、47)が、単一の送信元ネットワークアドレスに関連している宛先ネットワークアドレス及びネットワークポートの最大数、及び単一の宛先ネットワークアドレスに関連している送信元ネットワークアドレス及びネットワークポートの最大数に従って、前記決定された結果をランク付けすることによって関連性を識別するように構成される、請求項11に記載の装置。
【請求項13】
前記ランク付けされた情報を出力する手段をさらに備える、請求項12に記載の装置。
【請求項14】
ネットフローデータを収集する方法であって、
複数のフローレコードを受け取るステップと、
前記受け取られたフローレコードからデータを抽出して、ブロックデータ構造にするステップであって、前記ブロックデータ構造が複数の個別の要素を含み、各要素が、それぞれのフローレコードから抽出されたデータと、前記複数の個別の要素のインデックスとを格納する、ステップと、
前記ブロックデータ構造内の前記個別の要素を、前記インデックスを並べ替えることによってソートするステップとを含む方法。
【請求項15】
請求項1〜13のいずれか一項に記載のシステムとして構成され、又は請求項14に記載の方法を実施するようにプログラマブル装置を構成するためのコンピュータ実施可能命令。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図6C】
image rotate


【公開番号】特開2012−253735(P2012−253735A)
【公開日】平成24年12月20日(2012.12.20)
【国際特許分類】
【外国語出願】
【出願番号】特願2011−186276(P2011−186276)
【出願日】平成23年8月29日(2011.8.29)
【出願人】(509233459)フルークコーポレイション (9)
【氏名又は名称原語表記】Fluke Corporation
【住所又は居所原語表記】6920 Seaway Boulevard, Everett, Washington 98203 U.S.A.
【Fターム(参考)】