(57)【要約】  フローを、その後にタグ付けされる複数の要素に分解することによって、分析のためにネットワーク・フローを準備するシステムおよび方法。タグ付き要素は、オプションで、ＩＰＦＩＸ標準規格またはＮｅｔｆｌｏｗ標準規格を含むがこれに限定されない任意のタイプのネットワーク・フロー標準規格に従う任意のタイプの要素を含むことができ、あるいは、オプションで、そのような要素から導出され得る。【選択図】図１
2020503753.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク・フローを準備するネットワーク・フロー・エクスポータと、前記ネットワーク・フローを複数のネットワーク・フロー標準要素に分解するネットワーク・フロー・アナライザと、タグ付き要素を形成するために前記複数のネットワーク・フロー標準要素にタグを付けるフロー・タガーとを含み、前記タグ付き要素は、前記複数のネットワーク・フロー標準要素から導出される、コンピュータ・ネットワーク・フローを分析するシステム。
【請求項２】
前記タグ付き要素は、前記ネットワーク・フローの外部の情報ソースに従って、計算に従って、またはその組合せに従って、前記ネットワーク・フロー標準要素のうちの少なくとも１つから導出される単純タグ付き要素を含む、請求項１に記載のシステム。
【請求項３】
前記タグ付き要素は、複数の単純タグ付き要素の組合せから導出される複合タグ付き要素を含む、請求項２に記載のシステム。
【請求項４】
前記複合タグ付き要素は、前記単純タグ付き要素に対してなんらかのタイプの計算を実行することによって、またはネットワーク・フロー標準要素を単純タグ付き要素と組み合わせることによって、単純タグ付き要素および前記ネットワーク・フローの外部の情報から導出される、請求項３に記載のシステム。
【請求項５】
前記複合タグ付き要素は、単純タグ付き要素または複合タグ付き要素（またはその両方）、ネットワーク・フローの外部の情報、複数の複合タグ付き要素、またはその組合せに対する計算をさらに含む、請求項４に記載のシステム。
【請求項６】
前記タグ付き要素は、少なくとも１つの単純タグ付き要素および少なくとも１つの複合タグ付き要素を含み、前記フロー・タガーは、前記少なくとも１つの複合タグ付き要素が前記少なくとも１つの単純タグ付き要素の後に判定されるように、前記複数のネットワーク・フロー標準要素に反復してタグを付ける、請求項５に記載のシステム。
【請求項７】
前記単純タグ付き要素は、特定のＩＰアドレスまたは特定のＩＰアドレスの特定のポートに送られ、これから受信されたデータの量から導出されるトラフィック比率と、前記ネットワーク・フローの前記ソースＩＰアドレスおよび前記宛先ポートから導出されるポート／ＩＰアドレス要素とからなる群から選択される、請求項２に記載のシステム。
【請求項８】
前記ネットワーク・フロー標準要素は、ＩＰＦＩＸ標準規格またはＮｅｔｆｌｏｗ標準規格の一方または両方に従って判定される、請求項１に記載のシステム。
【請求項９】
前記ネットワーク・フローの外部の前記情報ソースは、タグ付き要素の値を外部情報値と照合するルックアップ・テーブルを含む、請求項１に記載のシステム。
【請求項１０】
前記ルックアップ・テーブルは、ジオロケーション情報を含み、前記タグ付き要素は、ＩＰアドレスを含む、請求項９に記載のシステム。
【請求項１１】
ネットワーク・フローを分析する方法であって、前記ネットワーク・フローは、プロパティの共通のセットを有する複数のパケットを含み、前記方法は、計算デバイスによって実行され、前記方法は、
ａ．ネットワーク・フローを受信することであって、前記ネットワーク・フローは、列に編成される複数のパケット・プロパティを含み、各プロパティは１つの列内にある、受信することと、
ｂ．前記ネットワーク・フローを複数の要素に分解するために前記ネットワーク・フローを分析することと、
ｃ．前記複数の要素の間のタグ付け依存性に従って判定される反復順序で前記複数の要素にタグを付けることと、
ｄ．列によって前記タグ付けされた要素を書き込むことと
を含む、方法。
【請求項１２】
前記ネットワーク・フローの前記分析は、複合タグ付き要素を判定する前に、まずより単純なタグ付き要素を判定することを含む、請求項１１に記載の方法。
【請求項１３】
前記ネットワーク・フローの前記分析は、タグ付き要素の各タイプを前記ネットワーク・フローのタグ付き要素のレコードの列にマッピングすることと、タグ付け依存性に従って前記列の順序を判定することとをさらに含む、請求項１２に記載の方法。
【請求項１４】
前記複数のパケット・プロパティは、パケット・ヘッダ・フィールド要素、前記複数のパケットの測定されたプロパティ、パケット内容に基づいて解釈された情報、およびメタ情報からなる群から選択される、請求項１１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分析のためにネットワーク・トラフィックを準備するシステムおよび方法に関し、具体的には、分析のためにネットワーク・フローを準備するシステムおよび方法に関する。
【背景技術】
【０００２】
ネットワーク・トラフィックは、様々な理由から分析される必要がある。
【０００３】
「Ｆｌｏｗ−ｂａｓｅｄ  Ｃｏｍｐｒｏｍｉｓｅ  Ｄｅｔｅｃｔｉｏｎ」（Ｒｉｃｋ  Ｈｏｆｓｔｅｄｅ著、ＩＳＢＮ：  ９７８−９０−３６５−４０６６−７；  ２０１６年、「論文」と称する）は、パケット・ベースの分析とは異なる、ネットワーク・トラフィックを分析する１つの形を説明する。この論文は、フローベースのネットワーク分析と、ネットワークに接続された計算デバイスの危険を検出するいくつかのアプリケーションとを説明する。フローベースのネットワーク分析は、フロー・エクスポート・レコードの形で、ネットワーク挙動に関する情報としてのフローの準備およびエクスポートを伴う。
【０００４】
プロセスが動作可能になるために、パケットが、エクスポート・フローとしてのエクスポートに適する情報を抽出するために分析される。エクスポート・フローは、複数のパケットからのデータを特徴とする。エクスポートは、ＩＰＦＩＸまたはＮｅｔｆｌｏｗを含むがこれに限定されないエクスポート・フロー・プロトコルに従って実行される。両方のプロトコルが有用であるが、ＩＰＦＩＸは、パケットを転送するように設計されたデバイスまたはネットワーク・プローブからのフロー・エクスポートをサポートするように開発された。しかし、両方のプロトコルが、単一のデバイスが、エクスポート・フローを導出するためにパケットを取り込み、分析することを必要としない。
【０００５】
ＩＰＦＩＸを例に挙げると、フロー情報は、情報要素すなわちＩＥの形でエクスポートされる。異なるＩＥがとることのできるフォーマットと、含まれる情報のタイプとは、ＩＡＮＡによって維持される標準規格に関する。下は、許容できるフロー・エクスポート要素（ＩＥまたはフィールド）のいくつかの例の表である。表１は、フローの許容できるＩＡＮＡ要素の非限定的な例を示す。
【表１】
2020503753.tif 000003
【０００６】
フローは、オプションで、ＩＰＦＩＸまたはＮｅｔｆｌｏｗエクスポート・プロトコルに従って、「特定のフローに属する全パケットが共通のプロパティのセットを有するように、ある時間間隔の間にネットワーク内の観察ポイントを通るＩＰパケットのセット」と定義され得る。これらのエクスポート・プロトコルは、ソースおよび宛先のＩＰアドレスおよびポート番号などのパケット・ヘッダ・フィールド、パケット内容に基づいて解釈される情報、およびメタ情報としてこれらの共通のプロパティを定義する。フローが打ち切られた後に、そのフローがエクスポートされる。
【０００７】
共通のプロパティは、オプションで、１プロパティあたり１列を有する、通常のデータベース内の行として記憶され得る。パケット分析は、オプションで、上の論文に関して説明したように実行され得る。
【発明の概要】
【０００８】
本発明は、フローを、その後にタグ付けされる複数の要素に分解することによって、分析のためにネットワーク・フローを準備するシステムおよび方法に関する。タグ付き要素は、オプションで、ＩＰＦＩＸ標準規格またはＮｅｔｆｌｏｗ標準規格を含むがこれに限定されない任意のタイプのネットワーク・フロー標準規格に従う任意のタイプの要素の組合せを含むことができ、あるいは、オプションで、たとえばオプションで外部（非フロー）情報の追加を伴ってまたはネットワーク・フロー標準要素（１つまたは複数）に対してあるタイプの計算を実行することによって、そのような要素から導出され得る。
【０００９】
たとえばネットワーク・フローの外部の情報に従ってまたはネットワーク・フロー標準要素（１つまたは複数）に対してあるタイプの計算を実行することによって、１つまたは複数のネットワーク・フロー標準要素から導出されるタグ付き要素は、本明細書では  単純タグ付き要素  判定される。タグ付き要素は、ネットワーク・フロー標準要素（１つまたは複数）から入手されるが、それ自体は、単一のネットワーク・フロー標準要素ではない。
【００１０】
そのような単純タグ付き要素の非限定的な例は、エクスポートされるネットワーク・フローのＩＰアドレスおよびルックアップ・テーブルから導出される、ジオロケーション・タグ付き要素である。ルックアップ・テーブルは、ＩＰアドレスをジオロケーションに照合し、ネットワーク・フロー標準要素とは考えられない。単純タグ付き要素の別の非限定的な例は、フロー開始時刻ネットワーク・フロー標準要素およびフロー終了時刻ネットワーク・フロー標準要素からオプションで計算され得る時間の経過または持続時間である。単純タグ付き要素の別の非限定的な例は、特定のＩＰアドレスからのトラフィックの頻度の計算である。そのようなタグ付き要素のさらなる別の非限定的な例は、特定のＩＰアドレスまたは特定のＩＰアドレスの特定のポートに送られ、これから受信されたデータの量からオプションで導出される、トラフィック比率である。そのようなタグ付き要素のさらなる別の非限定的な例は、ネットワーク・フローのソースＩＰアドレスと宛先ポートとの組合せからオプションで導出される、ポート／ＩＰアドレス要素である。
【００１１】
オプションで、タグ付き要素は、１つまたは複数の処理されたネットワーク・フロー標準要素から（すなわち、１つまたは複数の単純タグ付き要素から）判定され、本明細書では複合タグ付き要素と呼ばれる。複合要素は、オプションで、複数の単純タグ付き要素の組合せを含むことができる。それに加えてまたはその代わりに、複合要素は、オプションで、単純タグ付き要素に対してあるタイプの計算を実行することによって、またはネットワーク・フロー標準要素を単純タグ付き要素と組み合わせることによって（オプションで、あるタイプの計算またはネットワーク・フローの外部の情報をさらに含む）、単純タグ付き要素およびネットワーク・フローの外部の情報から導出され得る。
【００１２】
そのような複合タグ付き要素の非限定的な例は、オプションで、上で説明した時間の経過または持続時間の単純タグ付き要素およびジオロケーションに関する別の単純タグ付き要素の組合せから導出され得る。そのような複合タグ付き要素の別の非限定的な例は、オプションで、特定のジオロケーションへのトラフィックの量（頻度単位、バイト単位、またはその組合せのいずれであれ）をカウントすることから導出され得る。
【００１３】
タグ付き要素は、オプションで、本明細書で複合要素とも呼ばれる、より複雑なタグ付き要素を作るための基本構成要素としても使用され得る。たとえば、以前に説明したトラフィック比率は、オプションで、どの部分が特定のポートから来るのか、またはどの部分が宛先ＩＰアドレス上の特定のポートに送られているのかを判定するために分析され得る。そのような分析は、オプションで、複数の複合タグ付き要素を組み合わせることによって、または複合タグ付き要素と単純タグ付き要素とを組み合わせることによって、行われ得る。したがって、タグ付き要素は、非常に柔軟な形で使用され得、オプションで、新しいそのようなタグ付き要素を作成するために組み合わされ得る。
【００１４】
本発明の少なくともいくつかの実施形態によれば、ネットワーク・フローを分析する方法は、ネットワーク・フローを受信することと、ネットワーク・フローを分析することと、列によってタグ付けされた要素を書き込むこととを含む。オプションで、ネットワーク・フローは、行によって分析される。これは、プロセスの効率を高める。好ましくは、この方法は、複合タグ付き要素を判定する前に、まずより単純なタグ付き要素を判定するためにネットワーク・フローを分析することを含む。この方法は、好ましくは、特定のタグ付き要素を要求するタグ付けプロセスが、その特定のタグ付き要素が判定された後に実行されるようにするために調整される。オプションで、この調整は、タグ付き要素の各タイプ（単純、複合、または複雑のいずれか）を、ネットワーク・フローに関するそのようなタグ付き要素のレコードの列にマッピングすることによって実行される。単純タグ付き要素は、好ましくは、最初に書き込まれる列にマッピングされ、複合タグ付き要素は、好ましくは、少なくとも、複合タグ付き要素が依存する単純要素を含む列の後に書き込まれる列にのみマッピングされる。それ自体が少なくとも１つの複合タグ付き要素を要求する複合タグ付き要素は、好ましくは、少なくとも、要求される複合タグ付き要素（１つまたは複数）を含む列の後に書き込まれる列にマッピングされ、以下同様である。
【００１５】
別な方法で定義されない限り、本明細書で使用されるすべての技術用語および科学用語は、本発明が属する技術における通常の技量を有する者によって一般に理解されるものと同一の意味を有する。本明細書で提供される材料、方法、および例は、例示的であるのみであって、限定的であることは意図されていない。
【００１６】
本発明の方法およびシステムの実施態様は、ある種の選択されたタスクまたはステップを手動で、自動的に、またはその組合せで実行することまたは完了することを含む。さらに、本発明の方法およびシステムの好ましい実施形態の実際の計装および機器によれば、複数の選択されたステップが、ハードウェアによって、任意のファームウェアの任意のオペレーティング・システム上のソフトウェアによって、またはその組合せによって実施され得る。たとえば、ハードウェアとして、本発明の選択されたステップが、チップまたは回路として実施され得る。ソフトウェアとして、本発明の選択されたステップが、任意の適切なオペレーティング・システムを使用するコンピュータによって実行される複数のソフトウェア命令として実施され得る。どの場合でも、本発明の方法およびシステムの選択されたステップは、複数の命令を実行するコンピューティング・プラットフォームなど、データ・プロセッサによって実行されるものとして説明され得る。
【００１７】
本発明は、「コンピュータ・ネットワーク」上の「コンピュータ」に関して説明されるが、オプションで、データ・プロセッサと１つまたは複数の命令を実行する能力とを特徴とするすべてのデバイスが、任意のタイプのパーソナル・コンピュータ（ＰＣ）、サーバ、セル電話機、ＩＰ電話機、スマート・フォン、ＰＤＡ（携帯情報端末）、シン・クライアント、モバイル通信デバイス、スマート・ウォッチ、外部と通信できるヘッド・マウント・ディスプレイもしくは他のウェアラブル機、仮想プロセッサもしくはクラウド・ベースのプロセッサ、またはページャを含むがこれに限定されない、コンピュータまたは計算デバイスとして説明され得ることに留意されたい。お互いと通信している２つ以上のそのようなデバイスは、オプションで「コンピュータ・ネットワーク」を構成することができる。
【００１８】
本発明は、例としてのみ、添付図面を参照して本明細書で説明される。図面を具体的に詳細に参照して、図示の詳細が、例であり、本発明の好ましい実施形態の議論を示すためのみのものであり、本発明の原理および概念的態様の最も有用でたやすく理解される説明と思われるものを提供するために提示されることが、強調される。これに関して、本発明の基本的な理解にとって必要なものより詳細に本発明の構造的詳細を示す試みは行われず、図面と共に解釈される説明は、本発明の複数の形態が実際にはどのように実施され得るのかを当業者に明白にする。
【図面の簡単な説明】
【００１９】
【図１】本発明の少なくともいくつかの実施形態による、フローを収集し、分析する、例示的で非限定的な例のシステムを示す図である。
【図２】本発明の少なくともいくつかの実施形態による、フローを収集し、準備する、例示的で非限定的な例のシステムを示す図である。
【図３】本発明の少なくともいくつかの実施形態による、フロー・エクスポート、収集、および分析のための、例示的で非限定的な例のプロセスを示す図である。
【図４】本発明の少なくともいくつかの実施形態による、フロー分析のための例示的で非限定的な例の詳細なプロセスを示す図である。
【図５】本発明の少なくともいくつかの実施形態による、フロー・データ準備のための例示的で非限定的な例の詳細なプロセスを示す図である。
【図６】本発明の少なくともいくつかの実施形態による、フロー・データ処理のための例示的で非限定的な例の詳細なプロセスを示す図である。
【図７】本発明の少なくともいくつかの実施形態による、フロー要素タグ付けのための例示的で非限定的な例の詳細なプロセスを示す図である。
【発明を実施するための形態】
【００２０】
本発明の少なくともいくつかの実施形態によれば、タグ付けを介して分析のためにネットワーク・フローを準備するシステムおよび方法が提供される。タグ付けが成功するための、フローに関する先験的な知識の要件はなく、タグ付けが、フローの意味または含意に関する判断を要求することもない。その代わりに、タグ付けは、ネットワーク・フローを有用な情報にすばやく分解するための、頑健、再現可能、かつ効率的なプロセスを提供する。
【００２１】
ここで図面に移ると、図１は、本発明の少なくともいくつかの実施形態による、フローを収集し、分析する、例示的で非限定的な例のシステムを示す。図１に示されているように、それを介してフロー・データが収集される１つまたは複数のネットワークを特徴とするシステム１００が提供される。前に説明したように、フロー・データは、１つまたは複数のネットワークを介するパケットのフローに関するデータに関する。図示されているように、フロー・エクスポータ４と称する器具にオプションで接続され得るリモート・ネットワーク１が提供される。フロー・エクスポータ４は、オプションで、専用の器具またはデバイスとすることができる。代替案では、フロー・エクスポータ４は、フロー・エクスポート以外の機能を有するサーバまたは他の計算デバイスとすることができる。
【００２２】
前に説明したように、フロー・エクスポートは、オプションで、好ましくは、パケット・データの収集と、後にエクスポートされるエクスポート・フローへのパケット・データのその後の編成とを特徴とする。フロー・エクスポートは、オプションで、ＩＰＦＩＸおよび／またはＮｅｔＦｌｏｗを含むがこれに限定されない１つまたは複数の異なるプロトコルに従って行われる。ＩＰＦＩＸプロトコルは、現在はＲＦＣ  ７０１１と称し、ＮｅｔＦｌｏｗプロトコルは、ＲＦＣ  ３９５４と称する。フロー・データは、フロー・エクスポータ２がこれらのフロー・エクスポート・プロトコルのうちの１つを使用して準備する、メタデータ・サマリである。フロー・データは、好ましくは、パケット・データの一部が必要になるように編成され、たとえば、オプションで、フロー・データは、パケット・ヘッダからまたは他のパケット挙動を定量化可能なパケット特性もしくは分析から導出されるのみとすることができる。
【００２３】
フロー・エクスポータ４ならびにフロー・エクスポータ２は、オプションで、そのようなデータを準備し、これをフロー・コレクタおよび分析アプリケーション７に送り、フロー・コレクタおよび分析アプリケーション７は、オプションで、好ましくは計算デバイス１０２によって操作される。ここで、計算デバイス１０２の相対位置に依存して、異なる接続が、オプションで、計算デバイス１０２、リモート・ネットワーク１、およびオプションでたとえばローカル・ネットワーク３の間で行われ得る。これらの接続は、オプションで、インターネット５を含むがこれに限定されない任意のネットワークを介して行われ得る。
【００２４】
システム１００に関して本明細書で示される例では、フロー・エクスポータ４は、インターネット５を介してルータ６に通信する。フロー・エクスポータ２は、ローカル・ネットワーク３からフローを受信し、その中に含まれるデータを処理する。フロー・エクスポータ２およびフロー・エクスポータ４は、ルータ６を介し、計算デバイス１０２を介して最終的に通信するが、オプションで、任意のタイプのネットワーク器具が、インターネット５を介する任意のタイプの通信をオプションで含む、これらの異なるネットワークからのこれらの異なるフローを接続するのに使用され得る。
【００２５】
フロー・コレクタおよび分析アプリケーション７は、図示のように、フローを収集し、なんらかのタイプの分析をオプションで実行することができる。これは、図Ｃでより詳細に説明される。
【００２６】
図２は、フローの分析および準備に関する追加の詳細を提供する例示的なシステム２００を含む、本発明の少なくともいくつかの実施形態による、フローを収集し、準備する、例示的で非限定的な例のシステムを示す。この図では、いくつかの計算デバイスが、説明の簡単さのために除去されているが、オプションで、フロー・エクスポータ８、フロー・コレクタ１０、および分析アプリケーション１１が、それぞれ、オプションで、ネットワーク・デバイスもしくはネットワーク器具として、および／または任意のタイプのソフトウェアを動作させるサーバとして実施され得るが、そのようなデバイスが、オプションで、説明の簡単さのためにこのケースでは図示されていない場合があることに留意されたい。
【００２７】
したがって、やはり、フロー・エクスポータ８は、やはりオプションでＮｅｔＦｌｏｗ、ＩＰＦＩＸ、または任意の他の適切なフロー・エクスポート・プロトコルとすることのできるフロー・エクスポータ・プロトコルに従って、フローを準備し、これらをエクスポートする。その後、フローは、オプションでたとえばインターネットとすることのできるネットワーク９を介してフロー・コレクタ１０にエクスポートされる。
【００２８】
フロー・コレクタ１０は、オプションで、図示されていない複数のフロー・エクスポータ８からフローを収集し、その後、収集されたフローを分析アプリケーション１１に送ることができる。
【００２９】
フロー・コレクタ１０は、オプションで、１つまたは複数のフロー・エクスポータ８と同一のホスト・システム上に存在してもしなくてもよい。したがって、たとえばこのケースでは、フロー・コレクタ１０は、オプションで、フロー・エクスポータ８とは異なるホスト・システムおよび／または異なるネットワーク上にあるものとすることができる。フロー・コレクタ１０は、オプションで、分析アプリケーション１１と同一のホスト・システム上でまたは同一の計算デバイスによって操作され得、あるいは、オプションで、分析アプリケーション１１とは異なるホスト・システム上にあり、かつ／または異なる計算デバイスによって操作され得る。やはり、さらなる詳細は、フロー収集分析プロセスに関して、図Ｃ内で示される。
【００３０】
図３は、本発明の少なくともいくつかの実施形態による、フロー・エクスポート、収集、および分析のためのオプションのプロセスを示す、図Ｃに関する。図示されているように、好ましくは、複数のフロー・エクスポータ１２が、ネットワーク１３を介してフロー・コレクタ１４にフローをエクスポートする。やはり、前の図に関して説明したように、オプションで、ここで示される構成要素のそれぞれは、独立型のネットワーク器具またはネットワーク・デバイスとして実施され得、あるいは、オプションで、サーバまたはサーバのグループの一部として、オプションでファームウェアまたはソフトウェアとして、実施され得る。そのような計算デバイスが図示されているが、それらは、図の固有の部分と仮定され、実際には、当業者によって簡単に追加され、理解されるはずである。
【００３１】
したがって、図３に戻ると、フローは、フロー・コレクタまたはフロー収集点１４によって収集され、オプションで、好ましくは、フロー・データ・ストレージ１５に配置される。フロー・データ・ストレージ１５は、オプションで、一時的なタイプまたは永久的なタイプのデータ・ストレージとすることができる。その後、フロー・データ分析構成要素１６が、オプションで、好ましくは、なんらかのタイプの分析を実行するために、フロー・データ・ストレージ１５からフローを取り出す。分析の結果は、オプションで、結果処理構成要素１７によって処理され得る。
【００３２】
フロー・データ・ストレージ１５は、オプションで、ハード・ディスク、ＳＡＮストレージ、ＲＡＭディスク、任意のタイプのメモリ構造、キュー、その他を含むがこれに限定されない、任意のタイプのストレージ・デバイスに従って実施され得る。フロー・データ分析１６の結果は、結果処理構成要素１７に送られるが、オプションで、異常な挙動、ネットワーク・ルーティング更新、ネットワーク・モデルの作成また更新、低い予測（ｌｏｗ  ｐｒｅｄｉｃｔｉｏｎ）、その他に関して送られる警報を含むことができるが、これに限定されない。しかし、フロー・データ分析１６は、オプションで、分析の意味に関して不可知論的とすることができ、たとえば、フロー・データ分析１６は、オプションで、特定のフローが、コンピュータ・システムのある部分への許可されないアクセス、マルウェアの存在（または不在）、および類似物を示すかどうかを判定しないものとされ得るようになっている。オプションで、フロー・データ分析１６は、すべての結果を結果処理構成要素１７に送るのではなく、最も有益な結果および／またはネットワーク、ネットワーク・モデル、もしくはシステムの状態のあるタイプの変化を表す結果、ならびに／あるいは、結果処理構成要素１７がより詳細に調べる必要がある結果を示すことのできる、所定のルールに従ってオプションでセットされるあるタイプの警報を表すことのできる結果を選択する。
【００３３】
結果処理構成要素１７は、オプションで、マルウェア検出アプリケーション、許可されないアクセス検出アプリケーション、もしくは異常検出アプリケーション、またはコンピュータ・システムの動作が何らかの形で危険に晒された場合の任意のタイプの危険検出のうちの１つまたは複数を含むことができるが、これに限定されない。
【００３４】
図３内で項目「Ｄ」と称するＤとしても示される図４は、フロー・データ分析１６に関するさらなる詳細を提供する。図４は、例示的な詳細データ分析プロセスに関する。やはり図示されているように、データを収集するフロー・データ収集またはコレクタ１８が提供される。オプションで、このケースでは、これは、オプションで前処理を伴うまたは前処理を伴わない、複数の構成要素からのフロー・データの収集を表す機能構成要素とすることができる。
【００３５】
ステージ１９で、分析プロセスが開始され、これは、たとえば、データのなんらかのタイプの前処理または収集をオプションで含むことができる。ステージ２０では、新しいフロー・データが入手可能であるかどうかが判定される。新しいフロー・データが入手可能ではない場合には、このプロセスは、好ましくはステージ２６に直接に進み、ステージ２６では、分析プロセスが終了され、すべての異常な結果または他の重要な結果が、前に説明した結果処理ステージ２７に送られる。オプションで、好ましくは、重要、異常、変化を表すと呼ばれる結果またはオプションで１つもしくは複数のルールに従ってトリガされ得る結果だけを含む。
【００３６】
しかし、新しいフロー・データがステージ２０で入手可能である時には、このプロセスは、ステージ２１に継続し、フロー・データを前処理する。この前処理ステージは、図Ｅに関してより詳細に説明する。前処理ステージは、好ましくは、フロー・データ列の形のより多くのメタデータをフロー・データに追加する。前処理およびタグ付けは、本発明、少なくともいくつかの実施形態にとって重要である。というのは、これが、要求される計算リソースの量を減らし、かつ／あるいは実施がより簡単である可能性があり、少なくともより柔軟であり、異なる器具および／もしくは計算デバイスもしくはシステム内の構成要素が処理方法および／もしくは任意のタイプの分析の異なる態様を引き受けることを可能にする形でこれらの計算リソースを分配する形で、調べられるデータが事前に分析されまたは前処理され得る方法に関するからである。
【００３７】
前処理が行われた後に、ステージ２２で、フロー・データが分析される。フロー・データを分析した後に、フロー・データは、ステージ２３で後処理される。公表可能な結果がステージ２４で見つかる場合に、その結果は、ステージ２５で公表される。どちらの場合でも、公表可能な結果があろうとなかろうと、公表の後に公表可能な結果がある場合には、分析のプロセスは、前に説明したようにステージ２６で終了されている。
【００３８】
図５は、フロー・データの前処理をより詳細に説明する図Ｅに関する。したがって、図５では、ステージ２８に示されているように、受信されたデータのタイプを判定し、データが処理を受け入れることを確認するために、データの分析が実行される。ステージ２９では、前処理プロセスが実際に始まる。ステージ３０では、前処理モジュールの順序が判定される。これは、オプションで、データの１つまたは複数の特性に少なくとも部分的に従い、かつ／または以前に実施された可能性がある１つまたは複数のルールに少なくとも部分的に従って、判定され得る。これらのルールは、オプションで、データの１つまたは複数の特性によってトリガされることも可能である。
【００３９】
処理に関して、フロー・データの分析において特定の前処理タスクをそれぞれが有する１つまたは複数のモジュールがあると仮定される。モジュールが、特定のタグの存在に依存する可能性があるので、行うことのできるタグ付けの量を最大にするために、モジュール実行の順序をスケジューリングすることが重要である。そのようなスケジューリングは、無限ループでの循環依存性をも防ぐ。したがって、たとえば、あるモジュールが、別のモジュールの結果に依存する場合に、明らかに、他のモジュールの結果に依存するモジュールは、結果を提供するモジュールの後に実施される必要がある。
【００４０】
スケジューリングが十分に高度である場合、かつ／または十分な情報が提供される場合に、並列実行がスケジューリングされ得る。スケジューリングは、好ましくはステージ３０で行われる。
【００４１】
ステージ３１では、好ましくは専用の前処理モジュール（特定の単純タグ付き要素または複合タグ付き要素の専用）である前処理用の各モジュールが、判定された順序で選択される。前に注記したように、判定された順序は、好ましくは、どの情報が各モジュールによって要求されるのかに関する。たとえば、あるモジュールが、標準ネットワーク・フロー要素だけを要求する場合には、このモジュールは、オプションで最初に動作することができる。既にタグ付けされている要素を要求するモジュールは、好ましくは、後で、要求されるタグ付き要素が準備された後に動作するはずである。
【００４２】
次に、ステージ３２で、フロー・データが、選択されたモジュールを使用して前処理される。この処理は、図Ｆにより詳細に示されている。ステージ３３では、各モジュールが、前処理がフロー・データを前処理するために実際に実施されたかどうかが判定される。そうではない場合には、フローはステージ３１に戻る。そうであり、すべてのモジュールが実際に実施済みである場合には、ステージ３４で、前処理プロセスが終了し、ステージ３５で、分析プロセスが、好ましくは継続する。
【００４３】
ここで図６に移ると、各モジュールによる前処理のステージにより詳細に関する方法が、図Ｆとして示されている。したがって、図示されているように、前処理アクティビティ・ステージ３６では、タグ付けプロセスでのモジュールの実行が、ステージ３７で始まる。まず、このモジュールに必要なすべての列が使用可能であるかどうかが、ステージ３８で判定される。各モジュールは、オプションで、メタデータまたはタグを追加しまたは更新するために、少なくとも１つの列を必要とする。列がない場合、または前提条件として、タグは、タイムスタンプ、シーケンス番号、またはフロー・データのこの特定のセットの文脈を必要としない何かからなるものとすることができる。
【００４４】
使用可能なタグ付け可能な列がない場合には、このモジュールの実行は、ステージ４５で終了し、ステージ４６では、前処理が別のモジュールを用いて継続するか、実行が別のフェーズで継続するかのいずれかになる。要求された列が使用可能である場合には、反復ループが、これらの列内の行ごとに始まる。したがって、より詳細に継続すると、ステージ３８で、タグ付け可能な列が使用可能であると判定され、やはり、使用可能なタグ付け可能な列がない場合には、それは、タグ付けプロセスがステージ４５で終了することを示す。しかし、これは、オプションで、この特定のモジュールのプロセスに限る場合があり、実際に、そのプロセス内でまたは実際に特定のモジュールが結果を待っている場合にはおそらくは異なるプロセス内で、後でそのモジュールを実行するために、そのモジュールをその順序に関して再スケジューリングすることが必要である場合がある。
【００４５】
オプションで、好ましくは、特定のモジュールが順序はずれで実行されることが示される場合に、モジュールを複数回再スケジューリングする必要を回避するために、そのモジュールがオプションで前処理の後の反復で順序の異なる部分で実行され得るようにするために、システムは十分に柔軟である。もちろん、これは、すべての場合に可能ではない可能性があり、その場合には、モジュール再スケジューリングは、オプションで、すべてのモジュールが実際に実行されることを確信するように実行され得る。
【００４６】
タグ付け可能な列が使用可能であると判定された後に、ステージ３９で、行データが使用可能であるかどうかが判定される。行データが使用可能である場合には、ステージ４０で、各行内の列が、好ましくは読み取られる。本発明の少なくともいくつかの実施形態によれば、前処理方法は、行ではなく列によって動作し、その結果、各行を別々の実体として読み取るのではなく、各列内の各セルが、次の列が考慮される前に完全に読み取られるようになる。後者の場合に、各セルおよび各行は、異なる列に対応し、複数の列からのセルが、次の行が検討される前に行ごとに読み取られる。しかし、このケースでは、セルが、１つの列に由来するので、複数の行からのセルが、次の列が検討される前に検討される。
【００４７】
次に、ステージ４１で、タグ・データが判定される。タグ・データの判定プロセスは、好ましくは、図Ｇに関してより詳細に説明される。ステージ４２では、新しい結果列が作成される必要がある場合に、新しい結果列は、作成され、ステージ４３で初期化される。
【００４８】
タグ・データが、ステージ４４で書き込まれ、その後、プロセスは、列が完全に終了するまで、ステージ３９に戻って継続する。その後、各列が終了され、タグ付けプロセスは、オプションで、ステージ４５に示されているようにタグ付けプロセスが終了するまで、異なるモジュールを用いて、またはオプションで異なる列を用いて継続することができる。ステージ４６では、前処理プロセスが、好ましくは、次のモジュールを用いる継続を有する。
【００４９】
タグの値の判定は、オプションで、１つまたは複数の列のルックアップ・テーブルを介して、計算もしくは論理的帰納／推論および／または異なるデータベースを使用するより複雑なアルゴリズムを介して、実行され得る。好ましくは、タグ付けプロセスは、行または行の組合せの値の任意の文脈での意味に関する結論を全く生成しない。タグ付けプロセスは、好ましくは、各適格な行を無差別に処理し、全体を処理することなくタグを追加する。
【００５０】
前に説明したようにタグが新しい列に書き込まれる必要がある場合に４２、その列は、ステージ４３で作成されまたは初期化される必要がある。
【００５１】
図７は、タグ付きデータを形成するために処理される時のネットワーク・フロー・データの非限定的な例に関する、本発明の少なくともいくつかの実施形態による、フロー要素タグ付けのための例示的で非限定的な例の詳細なプロセスを示す。データは、非限定的で例示的な例として与えられる。データは、フロー・コレクタによって受信され、フロー・メタデータの特定のタイプの列として中間ストレージ内に記憶される（４７）。この例では、フロー・データ属性のいくつかの一般的だが非限定的な例がある。
【００５２】
タグ付けを開始する第１のモジュール（４８）は、「宛先ＩＰアドレス」の列を調べ、特定のテーブル内でルックアップを行うことによって、そのＩＰアドレスの登録された物理位置を判定する。このデータは、単純タグ付き要素の一例として、「宛先ジオロケーション」と呼ばれる新しい列に書き込まれる。
【００５３】
タグ付けを開始する第２のモジュール（４９）は、やはり列「宛先ＩＰアドレス」を使用するが、ＩＰアドレスがどれほど頻繁に訪問されたのかを記録する内部データベースをも使用する。単純タグ付き要素の別の例として、第２のモジュールは、内部データベース内の値を増分し、その値をデータベース内に記憶し、そのデータを「頻度」と呼ばれる新しい列に書き込む。
【００５４】
第３のモジュール（５０）は、単純タグ付き要素の別の例として、列「送信バイト数」および「受信バイト数」を使用し、その後、式（送信／受信）×１００００００を使用して、トラフィック比率を計算し、その値を新しい列「トラフィック比率」に置く。
【００５５】
第４のモジュール（５１）は、列「ソースＩＰアドレス」および「宛先ポート」と内部データベースとを使用して、その組合せがそのソースＩＰアドレスの以前のアクティビティからの異常な外れ値であることの尺度を判定する。この尺度は、複合タグ付き要素の例として、新しい列「異常」に書き込まれる。
【００５６】
第５のモジュール（５２）は、「宛先ポート」および「トラフィック比率」を使用して、列「異常」に既に存在する値に加算しまたは減算する。その結果は、複合タグ付き要素の例として、既存の列「異常」内で、あるいは、オプションで新しい列内で、更新される。
【００５７】
明瞭さのために別々の実施形態の文脈で説明される本発明のある種の特徴が、単一の実施形態内で組み合わせて提供されることも可能であることを了解されたい。逆に、簡潔さのために単一の実施形態の文脈で説明される本発明の様々な特徴が、別々にまたは任意の適切な副組合せで提供されることも可能である。
【００５８】
本発明が、その特定の実施形態に関連して説明されたが、多数の代替案、修正形態、および変形形態が当業者に明白であることは明らかである。したがって、添付の特許請求の範囲の趣旨およい広い範囲に含まれるすべてのそのような代替案、修正形態、および変形形態を包含することが意図されている。本明細書で言及されるすべての刊行物、特許、および特許出願は、各個々の刊行物、特許、または特許出願が参照によって本明細書に組み込まれることを具体的かつ個別に示された場合と同一の範囲まで、ここでその全体が参照によって本明細書に組み込まれる。さらに、本出願での参照の列挙または識別を、そのような参照が本発明に対する従来技術として使用可能であることの容認と解釈してはならない。
【図１】
2020503753.tif 000004
【図２】
2020503753.tif 000005
【図３】
2020503753.tif 000006
【図４】
2020503753.tif 000007
【図５】
2020503753.tif 000008
【図６】
2020503753.tif 000009
【図７−１】
2020503753.tif 000010
【図７−２】
2020503753.tif 000011
【図７−３】
2020503753.tif 000012
【国際調査報告】
2020503753.tif 000013
2020503753.tif 000014
2020503753.tif 000015
2020503753.tif 000016
2020503753.tif 000017