Processing

Please wait...

Settings

Settings

Goto Application

1. JP2020503753 - 高速分析のためにネットワーク・トラフィックを準備するシステム

Document

Description

Title of Invention 高速分析のためにネットワーク・トラフィックを準備するシステム US 62/440,836 20161230 IB2017057197 20171117 WO2018122640 20180705 20190724

Technical Field

0001  

Background Art

0002   0003   0004   0005   0006   0007  

Summary of Invention

0008   0009   0010   0011   0012   0013   0014   0015   0016   0017   0018  

Brief Description of Drawings

0019  

Description of Embodiments

0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058  

Claims

1   2   3   4   5   6   7   8   9   10   11   12   13   14    

Drawings

1   2   3   4   5   6   7-1   7-2   7-3    

Description

高速分析のためにネットワーク・トラフィックを準備するシステム

US 62/440,836 20161230 IB2017057197 20171117 WO2018122640 20180705 20190724

Technical Field

[0001]
本発明は、分析のためにネットワーク・トラフィックを準備するシステムおよび方法に関し、具体的には、分析のためにネットワーク・フローを準備するシステムおよび方法に関する。

Background Art

[0002]
ネットワーク・トラフィックは、様々な理由から分析される必要がある。
[0003]
「Flow−based Compromise Detection」(Rick Hofstede著、ISBN: 978−90−365−4066−7; 2016年、「論文」と称する)は、パケット・ベースの分析とは異なる、ネットワーク・トラフィックを分析する1つの形を説明する。この論文は、フローベースのネットワーク分析と、ネットワークに接続された計算デバイスの危険を検出するいくつかのアプリケーションとを説明する。フローベースのネットワーク分析は、フロー・エクスポート・レコードの形で、ネットワーク挙動に関する情報としてのフローの準備およびエクスポートを伴う。
[0004]
プロセスが動作可能になるために、パケットが、エクスポート・フローとしてのエクスポートに適する情報を抽出するために分析される。エクスポート・フローは、複数のパケットからのデータを特徴とする。エクスポートは、IPFIXまたはNetflowを含むがこれに限定されないエクスポート・フロー・プロトコルに従って実行される。両方のプロトコルが有用であるが、IPFIXは、パケットを転送するように設計されたデバイスまたはネットワーク・プローブからのフロー・エクスポートをサポートするように開発された。しかし、両方のプロトコルが、単一のデバイスが、エクスポート・フローを導出するためにパケットを取り込み、分析することを必要としない。
[0005]
IPFIXを例に挙げると、フロー情報は、情報要素すなわちIEの形でエクスポートされる。異なるIEがとることのできるフォーマットと、含まれる情報のタイプとは、IANAによって維持される標準規格に関する。下は、許容できるフロー・エクスポート要素(IEまたはフィールド)のいくつかの例の表である。表1は、フローの許容できるIANA要素の非限定的な例を示す。
[Table 1]


[0006]
フローは、オプションで、IPFIXまたはNetflowエクスポート・プロトコルに従って、「特定のフローに属する全パケットが共通のプロパティのセットを有するように、ある時間間隔の間にネットワーク内の観察ポイントを通るIPパケットのセット」と定義され得る。これらのエクスポート・プロトコルは、ソースおよび宛先のIPアドレスおよびポート番号などのパケット・ヘッダ・フィールド、パケット内容に基づいて解釈される情報、およびメタ情報としてこれらの共通のプロパティを定義する。フローが打ち切られた後に、そのフローがエクスポートされる。
[0007]
共通のプロパティは、オプションで、1プロパティあたり1列を有する、通常のデータベース内の行として記憶され得る。パケット分析は、オプションで、上の論文に関して説明したように実行され得る。

Summary of Invention

[0008]
本発明は、フローを、その後にタグ付けされる複数の要素に分解することによって、分析のためにネットワーク・フローを準備するシステムおよび方法に関する。タグ付き要素は、オプションで、IPFIX標準規格またはNetflow標準規格を含むがこれに限定されない任意のタイプのネットワーク・フロー標準規格に従う任意のタイプの要素の組合せを含むことができ、あるいは、オプションで、たとえばオプションで外部(非フロー)情報の追加を伴ってまたはネットワーク・フロー標準要素(1つまたは複数)に対してあるタイプの計算を実行することによって、そのような要素から導出され得る。
[0009]
たとえばネットワーク・フローの外部の情報に従ってまたはネットワーク・フロー標準要素(1つまたは複数)に対してあるタイプの計算を実行することによって、1つまたは複数のネットワーク・フロー標準要素から導出されるタグ付き要素は、本明細書では 単純タグ付き要素 判定される。タグ付き要素は、ネットワーク・フロー標準要素(1つまたは複数)から入手されるが、それ自体は、単一のネットワーク・フロー標準要素ではない。
[0010]
そのような単純タグ付き要素の非限定的な例は、エクスポートされるネットワーク・フローのIPアドレスおよびルックアップ・テーブルから導出される、ジオロケーション・タグ付き要素である。ルックアップ・テーブルは、IPアドレスをジオロケーションに照合し、ネットワーク・フロー標準要素とは考えられない。単純タグ付き要素の別の非限定的な例は、フロー開始時刻ネットワーク・フロー標準要素およびフロー終了時刻ネットワーク・フロー標準要素からオプションで計算され得る時間の経過または持続時間である。単純タグ付き要素の別の非限定的な例は、特定のIPアドレスからのトラフィックの頻度の計算である。そのようなタグ付き要素のさらなる別の非限定的な例は、特定のIPアドレスまたは特定のIPアドレスの特定のポートに送られ、これから受信されたデータの量からオプションで導出される、トラフィック比率である。そのようなタグ付き要素のさらなる別の非限定的な例は、ネットワーク・フローのソースIPアドレスと宛先ポートとの組合せからオプションで導出される、ポート/IPアドレス要素である。
[0011]
オプションで、タグ付き要素は、1つまたは複数の処理されたネットワーク・フロー標準要素から(すなわち、1つまたは複数の単純タグ付き要素から)判定され、本明細書では複合タグ付き要素と呼ばれる。複合要素は、オプションで、複数の単純タグ付き要素の組合せを含むことができる。それに加えてまたはその代わりに、複合要素は、オプションで、単純タグ付き要素に対してあるタイプの計算を実行することによって、またはネットワーク・フロー標準要素を単純タグ付き要素と組み合わせることによって(オプションで、あるタイプの計算またはネットワーク・フローの外部の情報をさらに含む)、単純タグ付き要素およびネットワーク・フローの外部の情報から導出され得る。
[0012]
そのような複合タグ付き要素の非限定的な例は、オプションで、上で説明した時間の経過または持続時間の単純タグ付き要素およびジオロケーションに関する別の単純タグ付き要素の組合せから導出され得る。そのような複合タグ付き要素の別の非限定的な例は、オプションで、特定のジオロケーションへのトラフィックの量(頻度単位、バイト単位、またはその組合せのいずれであれ)をカウントすることから導出され得る。
[0013]
タグ付き要素は、オプションで、本明細書で複合要素とも呼ばれる、より複雑なタグ付き要素を作るための基本構成要素としても使用され得る。たとえば、以前に説明したトラフィック比率は、オプションで、どの部分が特定のポートから来るのか、またはどの部分が宛先IPアドレス上の特定のポートに送られているのかを判定するために分析され得る。そのような分析は、オプションで、複数の複合タグ付き要素を組み合わせることによって、または複合タグ付き要素と単純タグ付き要素とを組み合わせることによって、行われ得る。したがって、タグ付き要素は、非常に柔軟な形で使用され得、オプションで、新しいそのようなタグ付き要素を作成するために組み合わされ得る。
[0014]
本発明の少なくともいくつかの実施形態によれば、ネットワーク・フローを分析する方法は、ネットワーク・フローを受信することと、ネットワーク・フローを分析することと、列によってタグ付けされた要素を書き込むこととを含む。オプションで、ネットワーク・フローは、行によって分析される。これは、プロセスの効率を高める。好ましくは、この方法は、複合タグ付き要素を判定する前に、まずより単純なタグ付き要素を判定するためにネットワーク・フローを分析することを含む。この方法は、好ましくは、特定のタグ付き要素を要求するタグ付けプロセスが、その特定のタグ付き要素が判定された後に実行されるようにするために調整される。オプションで、この調整は、タグ付き要素の各タイプ(単純、複合、または複雑のいずれか)を、ネットワーク・フローに関するそのようなタグ付き要素のレコードの列にマッピングすることによって実行される。単純タグ付き要素は、好ましくは、最初に書き込まれる列にマッピングされ、複合タグ付き要素は、好ましくは、少なくとも、複合タグ付き要素が依存する単純要素を含む列の後に書き込まれる列にのみマッピングされる。それ自体が少なくとも1つの複合タグ付き要素を要求する複合タグ付き要素は、好ましくは、少なくとも、要求される複合タグ付き要素(1つまたは複数)を含む列の後に書き込まれる列にマッピングされ、以下同様である。
[0015]
別な方法で定義されない限り、本明細書で使用されるすべての技術用語および科学用語は、本発明が属する技術における通常の技量を有する者によって一般に理解されるものと同一の意味を有する。本明細書で提供される材料、方法、および例は、例示的であるのみであって、限定的であることは意図されていない。
[0016]
本発明の方法およびシステムの実施態様は、ある種の選択されたタスクまたはステップを手動で、自動的に、またはその組合せで実行することまたは完了することを含む。さらに、本発明の方法およびシステムの好ましい実施形態の実際の計装および機器によれば、複数の選択されたステップが、ハードウェアによって、任意のファームウェアの任意のオペレーティング・システム上のソフトウェアによって、またはその組合せによって実施され得る。たとえば、ハードウェアとして、本発明の選択されたステップが、チップまたは回路として実施され得る。ソフトウェアとして、本発明の選択されたステップが、任意の適切なオペレーティング・システムを使用するコンピュータによって実行される複数のソフトウェア命令として実施され得る。どの場合でも、本発明の方法およびシステムの選択されたステップは、複数の命令を実行するコンピューティング・プラットフォームなど、データ・プロセッサによって実行されるものとして説明され得る。
[0017]
本発明は、「コンピュータ・ネットワーク」上の「コンピュータ」に関して説明されるが、オプションで、データ・プロセッサと1つまたは複数の命令を実行する能力とを特徴とするすべてのデバイスが、任意のタイプのパーソナル・コンピュータ(PC)、サーバ、セル電話機、IP電話機、スマート・フォン、PDA(携帯情報端末)、シン・クライアント、モバイル通信デバイス、スマート・ウォッチ、外部と通信できるヘッド・マウント・ディスプレイもしくは他のウェアラブル機、仮想プロセッサもしくはクラウド・ベースのプロセッサ、またはページャを含むがこれに限定されない、コンピュータまたは計算デバイスとして説明され得ることに留意されたい。お互いと通信している2つ以上のそのようなデバイスは、オプションで「コンピュータ・ネットワーク」を構成することができる。
[0018]
本発明は、例としてのみ、添付図面を参照して本明細書で説明される。図面を具体的に詳細に参照して、図示の詳細が、例であり、本発明の好ましい実施形態の議論を示すためのみのものであり、本発明の原理および概念的態様の最も有用でたやすく理解される説明と思われるものを提供するために提示されることが、強調される。これに関して、本発明の基本的な理解にとって必要なものより詳細に本発明の構造的詳細を示す試みは行われず、図面と共に解釈される説明は、本発明の複数の形態が実際にはどのように実施され得るのかを当業者に明白にする。

Brief Description of Drawings

[0019]
[fig. 1] 本発明の少なくともいくつかの実施形態による、フローを収集し、分析する、例示的で非限定的な例のシステムを示す図である。
[fig. 2] 本発明の少なくともいくつかの実施形態による、フローを収集し、準備する、例示的で非限定的な例のシステムを示す図である。
[fig. 3] 本発明の少なくともいくつかの実施形態による、フロー・エクスポート、収集、および分析のための、例示的で非限定的な例のプロセスを示す図である。
[fig. 4] 本発明の少なくともいくつかの実施形態による、フロー分析のための例示的で非限定的な例の詳細なプロセスを示す図である。
[fig. 5] 本発明の少なくともいくつかの実施形態による、フロー・データ準備のための例示的で非限定的な例の詳細なプロセスを示す図である。
[fig. 6] 本発明の少なくともいくつかの実施形態による、フロー・データ処理のための例示的で非限定的な例の詳細なプロセスを示す図である。
[fig. 7] 本発明の少なくともいくつかの実施形態による、フロー要素タグ付けのための例示的で非限定的な例の詳細なプロセスを示す図である。

Description of Embodiments

[0020]
本発明の少なくともいくつかの実施形態によれば、タグ付けを介して分析のためにネットワーク・フローを準備するシステムおよび方法が提供される。タグ付けが成功するための、フローに関する先験的な知識の要件はなく、タグ付けが、フローの意味または含意に関する判断を要求することもない。その代わりに、タグ付けは、ネットワーク・フローを有用な情報にすばやく分解するための、頑健、再現可能、かつ効率的なプロセスを提供する。
[0021]
ここで図面に移ると、図1は、本発明の少なくともいくつかの実施形態による、フローを収集し、分析する、例示的で非限定的な例のシステムを示す。図1に示されているように、それを介してフロー・データが収集される1つまたは複数のネットワークを特徴とするシステム100が提供される。前に説明したように、フロー・データは、1つまたは複数のネットワークを介するパケットのフローに関するデータに関する。図示されているように、フロー・エクスポータ4と称する器具にオプションで接続され得るリモート・ネットワーク1が提供される。フロー・エクスポータ4は、オプションで、専用の器具またはデバイスとすることができる。代替案では、フロー・エクスポータ4は、フロー・エクスポート以外の機能を有するサーバまたは他の計算デバイスとすることができる。
[0022]
前に説明したように、フロー・エクスポートは、オプションで、好ましくは、パケット・データの収集と、後にエクスポートされるエクスポート・フローへのパケット・データのその後の編成とを特徴とする。フロー・エクスポートは、オプションで、IPFIXおよび/またはNetFlowを含むがこれに限定されない1つまたは複数の異なるプロトコルに従って行われる。IPFIXプロトコルは、現在はRFC 7011と称し、NetFlowプロトコルは、RFC 3954と称する。フロー・データは、フロー・エクスポータ2がこれらのフロー・エクスポート・プロトコルのうちの1つを使用して準備する、メタデータ・サマリである。フロー・データは、好ましくは、パケット・データの一部が必要になるように編成され、たとえば、オプションで、フロー・データは、パケット・ヘッダからまたは他のパケット挙動を定量化可能なパケット特性もしくは分析から導出されるのみとすることができる。
[0023]
フロー・エクスポータ4ならびにフロー・エクスポータ2は、オプションで、そのようなデータを準備し、これをフロー・コレクタおよび分析アプリケーション7に送り、フロー・コレクタおよび分析アプリケーション7は、オプションで、好ましくは計算デバイス102によって操作される。ここで、計算デバイス102の相対位置に依存して、異なる接続が、オプションで、計算デバイス102、リモート・ネットワーク1、およびオプションでたとえばローカル・ネットワーク3の間で行われ得る。これらの接続は、オプションで、インターネット5を含むがこれに限定されない任意のネットワークを介して行われ得る。
[0024]
システム100に関して本明細書で示される例では、フロー・エクスポータ4は、インターネット5を介してルータ6に通信する。フロー・エクスポータ2は、ローカル・ネットワーク3からフローを受信し、その中に含まれるデータを処理する。フロー・エクスポータ2およびフロー・エクスポータ4は、ルータ6を介し、計算デバイス102を介して最終的に通信するが、オプションで、任意のタイプのネットワーク器具が、インターネット5を介する任意のタイプの通信をオプションで含む、これらの異なるネットワークからのこれらの異なるフローを接続するのに使用され得る。
[0025]
フロー・コレクタおよび分析アプリケーション7は、図示のように、フローを収集し、なんらかのタイプの分析をオプションで実行することができる。これは、図Cでより詳細に説明される。
[0026]
図2は、フローの分析および準備に関する追加の詳細を提供する例示的なシステム200を含む、本発明の少なくともいくつかの実施形態による、フローを収集し、準備する、例示的で非限定的な例のシステムを示す。この図では、いくつかの計算デバイスが、説明の簡単さのために除去されているが、オプションで、フロー・エクスポータ8、フロー・コレクタ10、および分析アプリケーション11が、それぞれ、オプションで、ネットワーク・デバイスもしくはネットワーク器具として、および/または任意のタイプのソフトウェアを動作させるサーバとして実施され得るが、そのようなデバイスが、オプションで、説明の簡単さのためにこのケースでは図示されていない場合があることに留意されたい。
[0027]
したがって、やはり、フロー・エクスポータ8は、やはりオプションでNetFlow、IPFIX、または任意の他の適切なフロー・エクスポート・プロトコルとすることのできるフロー・エクスポータ・プロトコルに従って、フローを準備し、これらをエクスポートする。その後、フローは、オプションでたとえばインターネットとすることのできるネットワーク9を介してフロー・コレクタ10にエクスポートされる。
[0028]
フロー・コレクタ10は、オプションで、図示されていない複数のフロー・エクスポータ8からフローを収集し、その後、収集されたフローを分析アプリケーション11に送ることができる。
[0029]
フロー・コレクタ10は、オプションで、1つまたは複数のフロー・エクスポータ8と同一のホスト・システム上に存在してもしなくてもよい。したがって、たとえばこのケースでは、フロー・コレクタ10は、オプションで、フロー・エクスポータ8とは異なるホスト・システムおよび/または異なるネットワーク上にあるものとすることができる。フロー・コレクタ10は、オプションで、分析アプリケーション11と同一のホスト・システム上でまたは同一の計算デバイスによって操作され得、あるいは、オプションで、分析アプリケーション11とは異なるホスト・システム上にあり、かつ/または異なる計算デバイスによって操作され得る。やはり、さらなる詳細は、フロー収集分析プロセスに関して、図C内で示される。
[0030]
図3は、本発明の少なくともいくつかの実施形態による、フロー・エクスポート、収集、および分析のためのオプションのプロセスを示す、図Cに関する。図示されているように、好ましくは、複数のフロー・エクスポータ12が、ネットワーク13を介してフロー・コレクタ14にフローをエクスポートする。やはり、前の図に関して説明したように、オプションで、ここで示される構成要素のそれぞれは、独立型のネットワーク器具またはネットワーク・デバイスとして実施され得、あるいは、オプションで、サーバまたはサーバのグループの一部として、オプションでファームウェアまたはソフトウェアとして、実施され得る。そのような計算デバイスが図示されているが、それらは、図の固有の部分と仮定され、実際には、当業者によって簡単に追加され、理解されるはずである。
[0031]
したがって、図3に戻ると、フローは、フロー・コレクタまたはフロー収集点14によって収集され、オプションで、好ましくは、フロー・データ・ストレージ15に配置される。フロー・データ・ストレージ15は、オプションで、一時的なタイプまたは永久的なタイプのデータ・ストレージとすることができる。その後、フロー・データ分析構成要素16が、オプションで、好ましくは、なんらかのタイプの分析を実行するために、フロー・データ・ストレージ15からフローを取り出す。分析の結果は、オプションで、結果処理構成要素17によって処理され得る。
[0032]
フロー・データ・ストレージ15は、オプションで、ハード・ディスク、SANストレージ、RAMディスク、任意のタイプのメモリ構造、キュー、その他を含むがこれに限定されない、任意のタイプのストレージ・デバイスに従って実施され得る。フロー・データ分析16の結果は、結果処理構成要素17に送られるが、オプションで、異常な挙動、ネットワーク・ルーティング更新、ネットワーク・モデルの作成また更新、低い予測(low prediction)、その他に関して送られる警報を含むことができるが、これに限定されない。しかし、フロー・データ分析16は、オプションで、分析の意味に関して不可知論的とすることができ、たとえば、フロー・データ分析16は、オプションで、特定のフローが、コンピュータ・システムのある部分への許可されないアクセス、マルウェアの存在(または不在)、および類似物を示すかどうかを判定しないものとされ得るようになっている。オプションで、フロー・データ分析16は、すべての結果を結果処理構成要素17に送るのではなく、最も有益な結果および/またはネットワーク、ネットワーク・モデル、もしくはシステムの状態のあるタイプの変化を表す結果、ならびに/あるいは、結果処理構成要素17がより詳細に調べる必要がある結果を示すことのできる、所定のルールに従ってオプションでセットされるあるタイプの警報を表すことのできる結果を選択する。
[0033]
結果処理構成要素17は、オプションで、マルウェア検出アプリケーション、許可されないアクセス検出アプリケーション、もしくは異常検出アプリケーション、またはコンピュータ・システムの動作が何らかの形で危険に晒された場合の任意のタイプの危険検出のうちの1つまたは複数を含むことができるが、これに限定されない。
[0034]
図3内で項目「D」と称するDとしても示される図4は、フロー・データ分析16に関するさらなる詳細を提供する。図4は、例示的な詳細データ分析プロセスに関する。やはり図示されているように、データを収集するフロー・データ収集またはコレクタ18が提供される。オプションで、このケースでは、これは、オプションで前処理を伴うまたは前処理を伴わない、複数の構成要素からのフロー・データの収集を表す機能構成要素とすることができる。
[0035]
ステージ19で、分析プロセスが開始され、これは、たとえば、データのなんらかのタイプの前処理または収集をオプションで含むことができる。ステージ20では、新しいフロー・データが入手可能であるかどうかが判定される。新しいフロー・データが入手可能ではない場合には、このプロセスは、好ましくはステージ26に直接に進み、ステージ26では、分析プロセスが終了され、すべての異常な結果または他の重要な結果が、前に説明した結果処理ステージ27に送られる。オプションで、好ましくは、重要、異常、変化を表すと呼ばれる結果またはオプションで1つもしくは複数のルールに従ってトリガされ得る結果だけを含む。
[0036]
しかし、新しいフロー・データがステージ20で入手可能である時には、このプロセスは、ステージ21に継続し、フロー・データを前処理する。この前処理ステージは、図Eに関してより詳細に説明する。前処理ステージは、好ましくは、フロー・データ列の形のより多くのメタデータをフロー・データに追加する。前処理およびタグ付けは、本発明、少なくともいくつかの実施形態にとって重要である。というのは、これが、要求される計算リソースの量を減らし、かつ/あるいは実施がより簡単である可能性があり、少なくともより柔軟であり、異なる器具および/もしくは計算デバイスもしくはシステム内の構成要素が処理方法および/もしくは任意のタイプの分析の異なる態様を引き受けることを可能にする形でこれらの計算リソースを分配する形で、調べられるデータが事前に分析されまたは前処理され得る方法に関するからである。
[0037]
前処理が行われた後に、ステージ22で、フロー・データが分析される。フロー・データを分析した後に、フロー・データは、ステージ23で後処理される。公表可能な結果がステージ24で見つかる場合に、その結果は、ステージ25で公表される。どちらの場合でも、公表可能な結果があろうとなかろうと、公表の後に公表可能な結果がある場合には、分析のプロセスは、前に説明したようにステージ26で終了されている。
[0038]
図5は、フロー・データの前処理をより詳細に説明する図Eに関する。したがって、図5では、ステージ28に示されているように、受信されたデータのタイプを判定し、データが処理を受け入れることを確認するために、データの分析が実行される。ステージ29では、前処理プロセスが実際に始まる。ステージ30では、前処理モジュールの順序が判定される。これは、オプションで、データの1つまたは複数の特性に少なくとも部分的に従い、かつ/または以前に実施された可能性がある1つまたは複数のルールに少なくとも部分的に従って、判定され得る。これらのルールは、オプションで、データの1つまたは複数の特性によってトリガされることも可能である。
[0039]
処理に関して、フロー・データの分析において特定の前処理タスクをそれぞれが有する1つまたは複数のモジュールがあると仮定される。モジュールが、特定のタグの存在に依存する可能性があるので、行うことのできるタグ付けの量を最大にするために、モジュール実行の順序をスケジューリングすることが重要である。そのようなスケジューリングは、無限ループでの循環依存性をも防ぐ。したがって、たとえば、あるモジュールが、別のモジュールの結果に依存する場合に、明らかに、他のモジュールの結果に依存するモジュールは、結果を提供するモジュールの後に実施される必要がある。
[0040]
スケジューリングが十分に高度である場合、かつ/または十分な情報が提供される場合に、並列実行がスケジューリングされ得る。スケジューリングは、好ましくはステージ30で行われる。
[0041]
ステージ31では、好ましくは専用の前処理モジュール(特定の単純タグ付き要素または複合タグ付き要素の専用)である前処理用の各モジュールが、判定された順序で選択される。前に注記したように、判定された順序は、好ましくは、どの情報が各モジュールによって要求されるのかに関する。たとえば、あるモジュールが、標準ネットワーク・フロー要素だけを要求する場合には、このモジュールは、オプションで最初に動作することができる。既にタグ付けされている要素を要求するモジュールは、好ましくは、後で、要求されるタグ付き要素が準備された後に動作するはずである。
[0042]
次に、ステージ32で、フロー・データが、選択されたモジュールを使用して前処理される。この処理は、図Fにより詳細に示されている。ステージ33では、各モジュールが、前処理がフロー・データを前処理するために実際に実施されたかどうかが判定される。そうではない場合には、フローはステージ31に戻る。そうであり、すべてのモジュールが実際に実施済みである場合には、ステージ34で、前処理プロセスが終了し、ステージ35で、分析プロセスが、好ましくは継続する。
[0043]
ここで図6に移ると、各モジュールによる前処理のステージにより詳細に関する方法が、図Fとして示されている。したがって、図示されているように、前処理アクティビティ・ステージ36では、タグ付けプロセスでのモジュールの実行が、ステージ37で始まる。まず、このモジュールに必要なすべての列が使用可能であるかどうかが、ステージ38で判定される。各モジュールは、オプションで、メタデータまたはタグを追加しまたは更新するために、少なくとも1つの列を必要とする。列がない場合、または前提条件として、タグは、タイムスタンプ、シーケンス番号、またはフロー・データのこの特定のセットの文脈を必要としない何かからなるものとすることができる。
[0044]
使用可能なタグ付け可能な列がない場合には、このモジュールの実行は、ステージ45で終了し、ステージ46では、前処理が別のモジュールを用いて継続するか、実行が別のフェーズで継続するかのいずれかになる。要求された列が使用可能である場合には、反復ループが、これらの列内の行ごとに始まる。したがって、より詳細に継続すると、ステージ38で、タグ付け可能な列が使用可能であると判定され、やはり、使用可能なタグ付け可能な列がない場合には、それは、タグ付けプロセスがステージ45で終了することを示す。しかし、これは、オプションで、この特定のモジュールのプロセスに限る場合があり、実際に、そのプロセス内でまたは実際に特定のモジュールが結果を待っている場合にはおそらくは異なるプロセス内で、後でそのモジュールを実行するために、そのモジュールをその順序に関して再スケジューリングすることが必要である場合がある。
[0045]
オプションで、好ましくは、特定のモジュールが順序はずれで実行されることが示される場合に、モジュールを複数回再スケジューリングする必要を回避するために、そのモジュールがオプションで前処理の後の反復で順序の異なる部分で実行され得るようにするために、システムは十分に柔軟である。もちろん、これは、すべての場合に可能ではない可能性があり、その場合には、モジュール再スケジューリングは、オプションで、すべてのモジュールが実際に実行されることを確信するように実行され得る。
[0046]
タグ付け可能な列が使用可能であると判定された後に、ステージ39で、行データが使用可能であるかどうかが判定される。行データが使用可能である場合には、ステージ40で、各行内の列が、好ましくは読み取られる。本発明の少なくともいくつかの実施形態によれば、前処理方法は、行ではなく列によって動作し、その結果、各行を別々の実体として読み取るのではなく、各列内の各セルが、次の列が考慮される前に完全に読み取られるようになる。後者の場合に、各セルおよび各行は、異なる列に対応し、複数の列からのセルが、次の行が検討される前に行ごとに読み取られる。しかし、このケースでは、セルが、1つの列に由来するので、複数の行からのセルが、次の列が検討される前に検討される。
[0047]
次に、ステージ41で、タグ・データが判定される。タグ・データの判定プロセスは、好ましくは、図Gに関してより詳細に説明される。ステージ42では、新しい結果列が作成される必要がある場合に、新しい結果列は、作成され、ステージ43で初期化される。
[0048]
タグ・データが、ステージ44で書き込まれ、その後、プロセスは、列が完全に終了するまで、ステージ39に戻って継続する。その後、各列が終了され、タグ付けプロセスは、オプションで、ステージ45に示されているようにタグ付けプロセスが終了するまで、異なるモジュールを用いて、またはオプションで異なる列を用いて継続することができる。ステージ46では、前処理プロセスが、好ましくは、次のモジュールを用いる継続を有する。
[0049]
タグの値の判定は、オプションで、1つまたは複数の列のルックアップ・テーブルを介して、計算もしくは論理的帰納/推論および/または異なるデータベースを使用するより複雑なアルゴリズムを介して、実行され得る。好ましくは、タグ付けプロセスは、行または行の組合せの値の任意の文脈での意味に関する結論を全く生成しない。タグ付けプロセスは、好ましくは、各適格な行を無差別に処理し、全体を処理することなくタグを追加する。
[0050]
前に説明したようにタグが新しい列に書き込まれる必要がある場合に42、その列は、ステージ43で作成されまたは初期化される必要がある。
[0051]
図7は、タグ付きデータを形成するために処理される時のネットワーク・フロー・データの非限定的な例に関する、本発明の少なくともいくつかの実施形態による、フロー要素タグ付けのための例示的で非限定的な例の詳細なプロセスを示す。データは、非限定的で例示的な例として与えられる。データは、フロー・コレクタによって受信され、フロー・メタデータの特定のタイプの列として中間ストレージ内に記憶される(47)。この例では、フロー・データ属性のいくつかの一般的だが非限定的な例がある。
[0052]
タグ付けを開始する第1のモジュール(48)は、「宛先IPアドレス」の列を調べ、特定のテーブル内でルックアップを行うことによって、そのIPアドレスの登録された物理位置を判定する。このデータは、単純タグ付き要素の一例として、「宛先ジオロケーション」と呼ばれる新しい列に書き込まれる。
[0053]
タグ付けを開始する第2のモジュール(49)は、やはり列「宛先IPアドレス」を使用するが、IPアドレスがどれほど頻繁に訪問されたのかを記録する内部データベースをも使用する。単純タグ付き要素の別の例として、第2のモジュールは、内部データベース内の値を増分し、その値をデータベース内に記憶し、そのデータを「頻度」と呼ばれる新しい列に書き込む。
[0054]
第3のモジュール(50)は、単純タグ付き要素の別の例として、列「送信バイト数」および「受信バイト数」を使用し、その後、式(送信/受信)×1000000を使用して、トラフィック比率を計算し、その値を新しい列「トラフィック比率」に置く。
[0055]
第4のモジュール(51)は、列「ソースIPアドレス」および「宛先ポート」と内部データベースとを使用して、その組合せがそのソースIPアドレスの以前のアクティビティからの異常な外れ値であることの尺度を判定する。この尺度は、複合タグ付き要素の例として、新しい列「異常」に書き込まれる。
[0056]
第5のモジュール(52)は、「宛先ポート」および「トラフィック比率」を使用して、列「異常」に既に存在する値に加算しまたは減算する。その結果は、複合タグ付き要素の例として、既存の列「異常」内で、あるいは、オプションで新しい列内で、更新される。
[0057]
明瞭さのために別々の実施形態の文脈で説明される本発明のある種の特徴が、単一の実施形態内で組み合わせて提供されることも可能であることを了解されたい。逆に、簡潔さのために単一の実施形態の文脈で説明される本発明の様々な特徴が、別々にまたは任意の適切な副組合せで提供されることも可能である。
[0058]
本発明が、その特定の実施形態に関連して説明されたが、多数の代替案、修正形態、および変形形態が当業者に明白であることは明らかである。したがって、添付の特許請求の範囲の趣旨およい広い範囲に含まれるすべてのそのような代替案、修正形態、および変形形態を包含することが意図されている。本明細書で言及されるすべての刊行物、特許、および特許出願は、各個々の刊行物、特許、または特許出願が参照によって本明細書に組み込まれることを具体的かつ個別に示された場合と同一の範囲まで、ここでその全体が参照によって本明細書に組み込まれる。さらに、本出願での参照の列挙または識別を、そのような参照が本発明に対する従来技術として使用可能であることの容認と解釈してはならない。

Claims

[1]
ネットワーク・フローを準備するネットワーク・フロー・エクスポータと、前記ネットワーク・フローを複数のネットワーク・フロー標準要素に分解するネットワーク・フロー・アナライザと、タグ付き要素を形成するために前記複数のネットワーク・フロー標準要素にタグを付けるフロー・タガーとを含み、前記タグ付き要素は、前記複数のネットワーク・フロー標準要素から導出される、コンピュータ・ネットワーク・フローを分析するシステム。
[2]
前記タグ付き要素は、前記ネットワーク・フローの外部の情報ソースに従って、計算に従って、またはその組合せに従って、前記ネットワーク・フロー標準要素のうちの少なくとも1つから導出される単純タグ付き要素を含む、請求項1に記載のシステム。
[3]
前記タグ付き要素は、複数の単純タグ付き要素の組合せから導出される複合タグ付き要素を含む、請求項2に記載のシステム。
[4]
前記複合タグ付き要素は、前記単純タグ付き要素に対してなんらかのタイプの計算を実行することによって、またはネットワーク・フロー標準要素を単純タグ付き要素と組み合わせることによって、単純タグ付き要素および前記ネットワーク・フローの外部の情報から導出される、請求項3に記載のシステム。
[5]
前記複合タグ付き要素は、単純タグ付き要素または複合タグ付き要素(またはその両方)、ネットワーク・フローの外部の情報、複数の複合タグ付き要素、またはその組合せに対する計算をさらに含む、請求項4に記載のシステム。
[6]
前記タグ付き要素は、少なくとも1つの単純タグ付き要素および少なくとも1つの複合タグ付き要素を含み、前記フロー・タガーは、前記少なくとも1つの複合タグ付き要素が前記少なくとも1つの単純タグ付き要素の後に判定されるように、前記複数のネットワーク・フロー標準要素に反復してタグを付ける、請求項5に記載のシステム。
[7]
前記単純タグ付き要素は、特定のIPアドレスまたは特定のIPアドレスの特定のポートに送られ、これから受信されたデータの量から導出されるトラフィック比率と、前記ネットワーク・フローの前記ソースIPアドレスおよび前記宛先ポートから導出されるポート/IPアドレス要素とからなる群から選択される、請求項2に記載のシステム。
[8]
前記ネットワーク・フロー標準要素は、IPFIX標準規格またはNetflow標準規格の一方または両方に従って判定される、請求項1に記載のシステム。
[9]
前記ネットワーク・フローの外部の前記情報ソースは、タグ付き要素の値を外部情報値と照合するルックアップ・テーブルを含む、請求項1に記載のシステム。
[10]
前記ルックアップ・テーブルは、ジオロケーション情報を含み、前記タグ付き要素は、IPアドレスを含む、請求項9に記載のシステム。
[11]
ネットワーク・フローを分析する方法であって、前記ネットワーク・フローは、プロパティの共通のセットを有する複数のパケットを含み、前記方法は、計算デバイスによって実行され、前記方法は、
a.ネットワーク・フローを受信することであって、前記ネットワーク・フローは、列に編成される複数のパケット・プロパティを含み、各プロパティは1つの列内にある、受信することと、
b.前記ネットワーク・フローを複数の要素に分解するために前記ネットワーク・フローを分析することと、
c.前記複数の要素の間のタグ付け依存性に従って判定される反復順序で前記複数の要素にタグを付けることと、
d.列によって前記タグ付けされた要素を書き込むことと
を含む、方法。
[12]
前記ネットワーク・フローの前記分析は、複合タグ付き要素を判定する前に、まずより単純なタグ付き要素を判定することを含む、請求項11に記載の方法。
[13]
前記ネットワーク・フローの前記分析は、タグ付き要素の各タイプを前記ネットワーク・フローのタグ付き要素のレコードの列にマッピングすることと、タグ付け依存性に従って前記列の順序を判定することとをさらに含む、請求項12に記載の方法。
[14]
前記複数のパケット・プロパティは、パケット・ヘッダ・フィールド要素、前記複数のパケットの測定されたプロパティ、パケット内容に基づいて解釈された情報、およびメタ情報からなる群から選択される、請求項11に記載の方法。

Drawings

[ Fig. 1]

[ Fig. 2]

[ Fig. 3]

[ Fig. 4]

[ Fig. 5]

[ Fig. 6]

[ Fig. 7-1]

[ Fig. 7-2]

[ Fig. 7-3]