(57)【要約】【課題】応答のないネットワークトラフィックの解析を介して感染したネットワークデバイスを検出するための１つまたは複数のシステム、方法、ルーチン、および／または技法を提供する。【解決手段】コンピュータによって実施される方法が、入力として第１のパケット情報を受け取るルーチンを実行することを含み得る。この方法は、第１のパケット情報を解析して、第１のパケット情報が、ネットワーク通信の開始に関連する発信ネットワークパケットを識別するかどうかを判定するルーチンを実行することを含み得る。この方法は、第１のパケット情報が応答のない可能性があるパケットであると判定された場合、第１のパケット情報を１つまたは複数のデータストアの中に格納させ、さらに／または追跡させるルーチンを実行することを含み得る。この方法は、第２のパケット情報の解析に基づいて、第１のパケット情報が応答のないパケットではないと判定された場合、第１のパケット情報が除去されるようにする、さらに／または追跡されることを終了するルーチンを実行することを含み得る。【選択図】  なし【特許請求の範囲】
【請求項１】
ネットワークセキュリティおよび／またはデバイスセキュリティのための、コンピュータによって実施される方法であって、
１つまたは複数のコンピュータ上で、入力として、ネットワークトラフィックから複数のパケット情報を受け取るルーチンを実行すること、
前記１つまたは複数のコンピュータ上で、前記パケット情報を解析して、或る期間中に応答パケットを全く受信しない発信ネットワークパケットを識別するルーチンを実行すること、および、
前記１つまたは複数のコンピュータ上で、応答パケットを全く受信していない前記発信ネットワークパケットと関係するパケット情報が、１つまたは複数のデータストアの中に格納されるようにする、さらに／または追跡されるようにするルーチンを実行することを含む、コンピュータによって実施される方法。
【請求項２】
前記パケット情報を解析して、或る期間中に応答パケットを全く受信しない発信ネットワークパケットを識別する前記ステップは、前記パケット情報を解析して、デッドＳＹＮパケットである発信ネットワークパケットを識別することを含む、請求項１に記載のコンピュータによって実施される方法。
【請求項３】
前記１つまたは複数のコンピュータ上で、前記１つまたは複数のデータストアからのパケット情報を解析して、前記ネットワークトラフィックに異常が存在するかどうかを判定するルーチンを実行すること、および
前記ネットワークトラフィックに異常が存在するかどうかの前記判定に基づいて、１つまたは複数のイベントを生成することをさらに含み、前記１つまたは複数のイベントは、ネットワーク内に、またはデバイス上にマルウェアが存在する可能性があることを示す、請求項１に記載のコンピュータによって実施される方法。
【請求項４】
前記１つまたは複数のデータストアからのパケット情報を解析して、前記ネットワークトラフィックに異常が存在するかどうかを判定する前記ステップは、パケット情報を解析して、特定の送信元デバイスが、応答パケットを全く受信していない複数の発信ネットワークパケットを生成しているかどうかを判定することを含む、請求項３に記載のコンピュータによって実施される方法。
【請求項５】
前記１つまたは複数のコンピュータ上で、入力として、１つまたは複数のデータストアから、複数のパケット情報を含むグループのパケット情報を受け取り、前記パケット情報のそれぞれは、ネットワークパケットに関連するとともに、前記関連するパケットの送信元および宛先と、時間指示とを含むルーチンを実行することをさらに含み、
前記１つまたは複数のデータストアからのパケット情報を解析して、前記ネットワークトラフィックに異常が存在するかどうかを判定する前記ステップは、
前記グループのパケット情報を解析して、各宛先に関して、それぞれの固有の送信元に関する前記グループの中のパケット情報の数を判定すること、および
単一の宛先に関して、それぞれの固有の送信元を有するパケット情報の前記数がしきい値を超えるかどうかを判定することを含む、請求項３に記載のコンピュータによって実施される方法。
【請求項６】
前記１つまたは複数のデータストアからのパケット情報を解析して、前記ネットワークトラフィックに異常が存在するかどうかを判定する前記ステップは、パケット情報を解析して、特定の送信元デバイスが、繰り返し特定の宛先と通信しようと試みているかどうかを判定することを含む、請求項３に記載のコンピュータによって実施される方法。
【請求項７】
前記１つまたは複数のデータストアからのパケット情報を解析して、前記ネットワークトラフィックに異常が存在するかどうかを判定する前記ステップは、パケット情報を解析して、特定の送信元デバイスが、応答パケットを全く受信していない発信ネットワークパケットの繰り返されるクラスタを生成しているかどうかを判定することを含む、請求項３に記載のコンピュータによって実施される方法。
【請求項８】
前記１つまたは複数のデータストアからのパケット情報を解析して、前記ネットワークトラフィックに異常が存在するかどうかを判定する前記ステップは、パケット情報を解析して、特定の送信元デバイスが、繰り返されるクラスタで特定の宛先と通信しようと試みているかどうかを判定することを含む、請求項３に記載のコンピュータによって実施される方法。
【請求項９】
ネットワークセキュリティおよび／またはデバイスセキュリティのためのデータ処理システムであって、
１つまたは複数のネットワークと通信状態にある１つまたは複数の通信ユニットと、
コンピュータコードを格納する１つまたは複数のメモリユニットと、
前記１つまたは複数の通信ユニット、および前記１つまたは複数のメモリユニットに結合された１つまたは複数のプロセッサユニットとを備え、前記１つまたは複数のプロセッサユニットは、前記１つまたは複数のメモリユニットの中に格納された前記コンピュータコードを実行して、請求項１ないし８のいずれか一項に記載の方法を行わせるようにデータ処理システムを適応させるデータ処理システム。
【請求項１０】
データ処理システムの１つまたは複数のプロセッサユニットによって実行されると、前記データ処理システムに、請求項１ないし８のいずれか一項に記載の方法を行わせるコンピュータ可読命令を備えるコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ネットワークセキュリティに関し、より詳細には、応答のない発信ネットワークトラフィックの解析を介して感染したネットワークデバイスを検出するための１つまたは複数のシステム、方法、ルーチン、および／または技法に関する。
【背景技術】
【０００２】
コンピュータの使用の普及とともに、一部の見識のない個人および／またはエンティティが、様々な技法を用いて、無防備なユーザまたはエンティティのコンピュータにマルウェアを拡散させてきた。マルウェアとは、コンピュータウイルス、スパイプログラム、求められていない広告、広告実行ファイル、望ましくないコンテンツなどを含む、悪意のある、有害な、さらに／または望ましくない実行ファイルおよび／またはデータを一般に指す。マルウェア対策プログラムが、マルウェアを検出し、さらに／または除去するように設計されている。検出は、通常、ウイルス定義ファイルなどの定期的に更新されるマルウェア定義ファイルを使用して、ユーザのコンピュータ上のファイルおよびフォルダをスキャンすることによって達せられる。マルウェア定義ファイルは、マルウェアを示唆するパターンを示すことが可能である。ユーザのコンピュータ上のファイルをマルウェア定義ファイルと比較することによって、一部のマルウェアが検出され得る。マルウェアが所与のファイル内で検出された場合、そのファイルに注意するようフラグが付けられることが可能であり、さらに／またはそのファイルが修復される、もしくは削除されることが可能である。
【０００３】
慣例のアプローチ、および従来のアプローチのさらなる限界および欠点が、そのようなシステムを、本出願の後段において、さらに図面を参照して説明される本発明のいくつかの態様と比較することを通して、当業者には明白となろう。
【発明の概要】
【課題を解決するための手段】
【０００４】
本開示は、応答のない発信ネットワークトラフィックの解析を介して感染したネットワークデバイスを検出するための１つまたは複数のシステム、方法、ルーチン、および／または技法を説明する。本開示のシステム、方法、ルーチン、および／または技法は、攻撃者によって使用される様々な技法を検出するように設計される、さらに／または適応させられることが可能である。本開示の１つまたは複数の実施形態は、応答パケットを全く受信しない、または実質的な応答を有するパケットを全く受信しない発信ネットワークパケット（すなわち、応答のないパケット）を解析して、デバイス上、および／またはネットワーク上のマルウェアを検出することを説明することが可能である。
【０００５】
本開示の１つまたは複数の実施形態は、ネットワークセキュリティおよび／またはデバイスセキュリティのための、コンピュータによって実施される方法を説明する。この方法は、１つまたは複数のコンピュータ（例えば、１つまたは複数のファイアウォール）上で実行されることが可能であり、さらにこれらのコンピュータのうちの１つまたは複数のコンピュータ上で実行されるいくつかのルーチンを含み得る。この方法は、入力として第１のパケット情報を受け取るルーチンを含み得る。この方法は、第１のパケット情報を解析して、第１のパケット情報が、ネットワーク通信の開始に関連する発信ネットワークパケットを識別するかどうかを判定するルーチンを含み得る。この方法は、第１のパケット情報が、ネットワーク通信の開始に関連する発信ネットワークパケットを識別し、さらに第１のパケット情報が、応答のないパケットである可能性があると判定された場合、第１のパケット情報が１つまたは複数のデータストアの中に格納されるようにする、さらに／または第１のパケット情報が追跡されるようにするルーチンを含み得る。この方法は、入力として第２のパケット情報を受け取るルーチンを含み得る。この方法は、第２のパケット情報を解析して、第２のパケット情報が、発信ネットワークパケットに応答する着信ネットワークパケットを識別するかどうかを判定するルーチンを含み得る。この方法は、第２のパケット情報が、発信ネットワークパケットに応答する着信ネットワークパケットを識別し、さらに第２のパケット情報に基づいて、第１のパケット情報が応答のないパケットではないと判定された場合、第１のパケット情報が１つまたは複数のデータストアの中で除去されるようにする、さらに／または第１のパケット情報の追跡を終わらせるルーチンを含み得る。
【０００６】
一部の実施形態において、第１のパケット情報および第２のパケット情報はそれぞれ、パケットヘッダ情報であり得る。一部の実施形態において、第１のパケット情報および第２のパケット情報はそれぞれ、或る期間にわたって１つまたは複数のパケットに共通のパケットヘッダ情報を含む正規化されたパケットヘッダ情報であり得る。一部の実施形態において、第１のパケット情報を解析して、第１のパケット情報が、ネットワーク通信の開始に関連する発信ネットワークパケットを識別するかどうかを判定するステップは、第１のパケット情報を解析して、第１のパケット情報が、ＳＹＮパケットである発信ＴＣＰネットワークパケットを識別するかどうかを判定することを含み得る。
【０００７】
一部の実施形態において、この方法は、第１のパケット情報をフィルタ構成データと比較して、第１のパケット情報が選別されて除かれるべきかどうかを判定することによって、第１のパケット情報を解析するルーチンを含み得る。一部の実施形態において、この方法は、第１のパケット情報を解析して、第１のパケット情報が、１つまたは複数のデータストアの中に格納されていた、さらに／または追跡されていた以前の発信ネットワークパケットの再送であるネットワークパケットを識別するかどうかを判定するルーチンを含み得る。一部の実施形態において、この方法は、第２のパケット情報を解析して、第２のパケット情報が、誤りを示すパケットであるネットワークパケットを識別するかどうかを判定するルーチンを含み得る。一部の実施形態において、この方法は、指定された期間にわたって１つまたは複数のデータストアの中に存在していたパケット情報を、１つまたは複数のデータストアの中で除去されるようにする、さらに／または追跡を終わらせるルーチンを含み得る。一部の実施形態において、この方法は、入力として、１つまたは複数のデータストアから、或る期間内に有効な応答パケットを全く受信しなかった発信ネットワークパケットと関係するパケット情報を受け取るルーチンを含み得る。また、この方法は、このパケット情報を解析し、さらにネットワーク内に、またはデバイス上にマルウェアが存在する可能性があることを示す１つまたは複数のイベントを生成するルーチンを含むことも可能である。
【０００８】
本開示の１つまたは複数の実施形態は、ネットワークセキュリティおよび／またはデバイスセキュリティのための、コンピュータによって実施される方法を説明する。この方法は、１つまたは複数のコンピュータ（例えば、１つまたは複数のファイアウォール）上で実行されることが可能であり、さらにこれらのコンピュータのうちの１つまたは複数のコンピュータ上で実行されるいくつかのルーチンを含み得る。この方法は、入力として、ネットワークトラフィックから複数のパケット情報を受け取るルーチンを含み得る。この方法は、これらのパケット情報を解析して、或る期間中に応答パケットを全く受信しない発信ネットワークパケットを識別するルーチンを含み得る。この方法は、応答パケットを全く受信していない発信ネットワークパケットと関係するパケット情報が、１つまたは複数のデータストアの中に格納されるようにする、さらに／または追跡されるようにするルーチンを含み得る。一部の実施形態において、これらのパケット情報を解析して、或る期間中に応答パケットを全く受信しない発信ネットワークパケットを識別するステップは、これらのパケット情報を解析して、デッドＳＹＮパケットである発信ネットワークパケットを識別することを含み得る。
【０００９】
一部の実施形態において、この方法は、１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するルーチンを含み得る。また、この方法は、ネットワークトラフィックに異常が存在するかどうかの判定に基づいて、１つまたは複数のイベントを生成することも可能であり、この１つまたは複数のイベントは、ネットワーク内に、またはデバイス上にマルウェアが存在する可能性があることを示す。一部の実施形態において、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、アドバンストパーシスタントスレット（ＡＰＩ）を示す異常を検出することを含み得る。
【００１０】
一部の実施形態において、１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、特定の送信元デバイスが、応答パケットを全く受信していない複数の発信ネットワークパケットを生成しているかどうかを判定することを含み得る。一部の実施形態において、この方法は、入力として、１つまたは複数のデータストアから、複数のパケット情報を含むグループのパケット情報を受け取るルーチンを含み得る。これらのパケット情報のそれぞれは、ネットワークパケットに関連することが可能であり、さらに関連するパケットの送信元および宛先と、時間指示とを含み得る。一部の実施形態において、１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、そのグループのパケット情報を解析して、そのグループの中の、同じ送信元および同じ宛先を有するパケット情報の数を判定すること、および同じ送信元および同じ宛先を有するパケット情報の数がしきい値を超えるかどうかを判定することを含み得る。一部の実施形態において、そのグループに含められるパケット情報の数は、或る数のパケット情報が或る所定の期間にわたって受け取られるように、期間構成を各パケット情報の時間指示と比較することによって決定され得る。
【００１１】
一部の実施形態において、１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、複数の送信元デバイスが同じマルウェアに感染しているかどうかを判定することを含み得る。一部の実施形態において、この方法は、入力として、１つまたは複数のデータストアから、複数のパケット情報を含むグループのパケット情報を受け取るルーチンを含み得る。これらのパケット情報のそれぞれは、ネットワークパケットに関連することが可能であり、さらに関連するパケットの送信元および宛先と、時間指示とを含み得る。一部の実施形態において、１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、そのグループのパケット情報を解析して、各宛先に関して、固有の送信元ごとにそのグループの中のパケット情報の数を判定すること、および単一の宛先に関して、各固有の送信元を有するパケット情報の数がしきい値を超えるかどうかを判定することを含み得る。
【００１２】
一部の実施形態において、１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、送信元デバイスが複数の宛先と通信しようと試みているかどうかを判定することを含み得る。一部の実施形態において、この方法は、入力として、１つまたは複数のデータストアから複数のパケット情報を含むグループのパケット情報を受け取るルーチンを含み得る。これらのパケット情報のそれぞれは、ネットワークパケットに関連することが可能であり、さらに関連するパケットの送信元および宛先と、時間指示とを含み得る。一部の実施形態において、１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、そのグループのパケット情報を解析して、各送信元に関して、固有の宛先ごとにそのグループの中のパケット情報の数を判定すること、および単一の送信元に関して、各固有の宛先を有するパケット情報の数がしきい値を超えるかどうかを判定することを含み得る。
【００１３】
一部の実施形態において、１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、特定の送信元デバイスが、繰り返し特定の宛先と通信しようと試みているかどうかを判定することを含み得る。一部の実施形態において、この方法は、入力として、１つまたは複数のデータストアから、複数のパケット情報を含むグループのパケット情報を受け取るルーチンを含み得る。これらのパケット情報のそれぞれは、ネットワークパケットに関連することが可能であり、さらに関連するパケットの送信元および宛先と、時間指示とを含み得る。グループの中のパケット情報のそれぞれは、同じ送信元および同じ宛先を有することが可能である。一部の実施形態において、１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、そのグループのパケット情報を解析して、各宛先に関して、そのグループの中のパケット情報の数を判定すること、および単一の宛先に関して、パケット情報の数がしきい値を超えるかどうかを判定することを含み得る。
【００１４】
一部の実施形態において、１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、特定の送信元デバイスが、或る期間にわたって、それまでの期間にわたる平均とほぼ同じである平均回数、特定の宛先と通信しようと試みているかどうかを判定することを含み得る。一部の実施形態において、１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、単一の宛先に関して、送信元ごとに、単一の宛先を有するそのグループの中のパケット情報の平均数を判定すること、この平均数を、それまでのグループのパケット情報のそれまでの平均数と比較すること、およびこの平均数とそれまでの平均数がほぼ同じであるかどうかを判定することをさらに含み得る。グループに含められるパケット情報の数は、或る数のパケット情報が或る所定の期間にわたって受け取られるように、期間構成を各パケット情報の時間指示と比較することによって決定され得る。
【００１５】
一部の実施形態において、１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、特定の送信元デバイスが、応答パケットを全く受信していない発信ネットワークパケットの繰り返されるクラスタを生成しているかどうかを判定することを含み得る。一部の実施形態において、この方法は、入力として、１つまたは複数のデータストアから、複数のパケット情報を含むグループのパケット情報を受け取るルーチンを含み得る。これらのパケット情報のそれぞれは、ネットワークパケットに関連することが可能であり、さらに関連するパケットの送信元および宛先と、時間指示とを含み得る。１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、そのグループのパケット情報を解析すること、および、各送信元に関して、互いに比較的近い時間指示を有するパケット情報に関してパケットクラスタを形成すること、およびこれらのパケットクラスタ間の時間が繰り返されているかどうかを判定することを含み得る。
【００１６】
一部の実施形態において、１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、特定の送信元デバイスが、繰り返されるクラスタにおいて特定の宛先と通信しようと試みているかどうかを判定することを含み得る。一部の実施形態において、この方法は、入力として、１つまたは複数のデータストアから、複数のパケット情報を含むグループのパケット情報を受け取るルーチンを含み得る。これらのパケット情報のそれぞれは、ネットワークパケットに関連することが可能であり、さらに関連するパケットの送信元および宛先と、時間指示とを含み得る。一部の実施形態において、１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、そのグループのパケット情報を解析すること、および、各送信元／宛先ペアに関して、互いに比較的近い時間指示を有するパケット情報に関してパケットクラスタを形成すること、およびこれらのパケットクラスタ間の時間が繰り返されているかどうかを判定することを含み得る。
【００１７】
本開示の１つまたは複数の実施形態は、ネットワークセキュリティおよび／またはデバイスセキュリティのためのデータ処理システムを説明する。このシステムは、１つまたは複数のネットワークと通信状態にある１つまたは複数の通信ユニットと、コンピュータコードを格納する１つまたは複数のメモリユニットと、この１つまたは複数の通信ユニット、およびこの１つまたは複数のメモリユニットに結合された１つまたは複数のプロセッサユニットとを含み得る。この１つまたは複数のプロセッサユニットは、入力として、ネットワークトラフィックから複数のパケット情報を受け取り、これらのパケット情報を解析して、或る期間中に応答パケットを全く受信しない発信ネットワークパケットを識別し、さらに応答パケットを全く受信していない発信ネットワークパケットと関係するパケット情報を１つまたは複数のデータストアの中に格納させ、さらに／または追跡させることをするようにデータ処理システムを適応させる、１つまたは複数のメモリユニットの中に格納されたコンピュータコードを実行することが可能である。この１つまたは複数のプロセッサユニットは、１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定し、さらにネットワークトラフィックに異常が存在するかどうかの判定に基づいて、１つまたは複数のイベントを生成し、この１つまたは複数のイベントは、ネットワーク内に、またはデバイス上にマルウェアが存在する可能性があることを示すことをするようにデータ処理システムを適応させる、１つまたは複数のメモリユニットの中に格納されたコンピュータコードを実行することが可能である。一部の実施形態において、データ処理システムは、ファイアウォールであり得る。
【００１８】
本開示のこれら、およびその他の利点、態様、および新奇な特徴、ならびにそのような利点、態様、および特徴の例示される実施形態の詳細は、後段の説明、および図面から、より完全に理解されよう。以上の一般的な説明は、例示および説明に過ぎず、主張される本開示を限定するものではないことを理解されたい。
【００１９】
いくつかの特徴および利点が、以下の図面を例として使用して、いくつかの実施形態が説明され、後段の開示において説明される。
【図面の簡単な説明】
【００２０】
【図１】本開示の１つまたは複数の実施形態が役立ち得るネットワークセットアップの例示的な構成要素、接続、および対話を示すブロック図である。
【図２】本開示の１つまたは複数の実施形態による、ネットワークセットアップおよび応答のないパケットアラートモジュールの例示的な構成要素、接続、および対話を示すブロック図である。
【図３】本開示の１つまたは複数の実施形態による、応答のないパケットエクストラクタにおいて見られることが可能である例示的な構成要素、ルーチン、アルゴリズム、構成データなどを示すブロック図である。
【図４】本開示の１つまたは複数の実施形態による、リストクリーンアップモジュールにおいて見られることが可能である例示的な構成要素、ルーチン、アルゴリズム、構成データなどを示すブロック図である。
【図５】本開示の１つまたは複数の実施形態による、量検出モジュールにおいて見られることが可能である例示的な構成要素、ルーチン、アルゴリズム、構成データなどを示すブロック図である。
【図６】本開示の１つまたは複数の実施形態による、宛先検出モジュールにおいて見られることが可能である例示的な構成要素、ルーチン、アルゴリズム、構成データなどを示すブロック図である。
【図７Ａ】本開示の１つまたは複数の実施形態による、クラスタ検出モジュールにおいて見られることが可能である例示的な構成要素、ルーチン、アルゴリズム、構成データなどを示すブロック図である。
【図７Ｂ】本開示の１つまたは複数の実施形態に関連して説明される、時間の経過とともに送信元によって試みられる例示的な接続を示すグラフである。
【図８】本開示の１つまたは複数の実施形態による、本開示の方法、ルーチン、およびソリューションのうちの１つまたは複数を部分的に、または全体として実行することが可能である例示的なデータ処理システムを示す図である。
【発明を実施するための形態】
【００２１】
様々な技法が、マルウェア攻撃を検出すること、および／または防止することを目的としているが、これらのソリューションは、攻撃者またはハッカによって使用される様々な技法に対処することに効果的でないことが判明している。攻撃者によって使用される１つの例示的な技法によれば、ときとしてアドバンストパーシスタントスレット（以降、「ＡＰＴ」（複数可））と呼ばれるマルウェアは、何らかの侵入機構によって目標のマシンに感染し、さらに攻撃者のためにアクションを行うことができるソフトウェアプログラムをインストールする。インストールされた後、ＡＰＴは、通常、規則的に、繰り返し、コンピュータネットワークを介してホストに、または特定の複数のホストに対して「コールアウト」または「ビーコン」を開始することが可能である。これらのコールアウトまたはビーコンの目的は、ほとんどの着信トラフィックを阻止するが、ほとんどの発信トラフィックを許す傾向がある企業ファイアウォールまたはパーソナルファイアウォールを迂回することであり得る。ソフトウェアプログラムが、他のコンピューティングシステムを調査すること、感染したデバイスからデータを収集すること、および／または情報を密かに抜き出して攻撃者に渡すことなどの、攻撃者のためのアクションを遂行するよう被害者デバイスに攻撃者が命令する、または被害者デバイスを攻撃者が制御することを可能にし得る。このビーコン技法を効果的にするために、例えば、攻撃者によって制御されるサーバまたはＩＰアドレスが、マルウェアプログラムが、アウトバウンドのデータを送信することによって攻撃者と通信することができように、感染に先立ってマルウェアプログラムによって指定される、または保存されることが可能である。このサーバもしくはＩＰアドレス、または特定の複数のサーバもしくはＩＰアドレスは、将来、攻撃者によって更新され得る。マルウェアプログラムが意図されるとおりに機能するには、マルウェアプログラムは、一般に、制御が確立され得るように、さらに／またはマルウェアの更新が取得され得るように、攻撃者によって制御されるサーバまたはグループのサーバ（一般に、コマンド＆コントロールサーバ、またはＣ＆Ｃサーバと呼ばれる）に規則的な間隔で接触する必要がある。長い期間にわたって、攻撃者は、（複数の）Ｃ＆Ｃサーバをオフラインのままにして、こられのサーバがセキュリティ会社によって暴露されること、またはシャットダウンされることを防ぐ。したがって、大多数のビーコンの試みは、（複数の）Ｃ＆Ｃサーバがオンラインでないため、成功しない可能性があり、さらに要求には誤りが戻される、または全く何も戻されない。そのようなビーコンの試みは、一般に、応答のない（例えば、応答のない発信パケットおよび／または応答のないネットワークトラフィック）と言われることが可能である。
【００２２】
本開示は、応答のない発信ネットワークトラフィックの解析を介して感染したネットワークデバイスを検出するための１つまたは複数のシステム、方法、ルーチン、および／または技法を説明する。本開示のシステム、方法、ルーチン、および／または技法は、攻撃者によって使用される様々な技法を検出するように設計され、さらに／または適応させられることが可能であり、検出は、認識される脅威のシグネチャおよび／またはフィンガプリントも、悪意があることが広く知られているＩＰアドレスについての知識を要求することなしに行われ得る。本開示のシステム、方法、ルーチン、および／または技法は、攻撃者によって使用される様々な技法を検出するように設計され、さらに／または適応させられることが可能であり、検出は、マルウェア感染が存在するかどうかを判定するのに多くの人間対話も手動の検査も要求することなしに行われ得る。本開示のシステム、方法、ルーチン、および／または技法は、攻撃者によって使用される様々な手法を検出するように設計され、さらに／または適応させられることが可能であり、検出は、特定のカテゴリの感染に共通する挙動パターンを解析することによって行われ得る。本開示のシステム、方法、ルーチン、および／または技法は、攻撃者によって使用される様々な手法を検出するように設計され、さらに／または適応させられることが可能であり、検出は、マルウェア「ビーコン」段階（すなわち、マルウェアの感染から活性化までの間の時間）中に行われ得る。
【００２３】
本開示の１つまたは複数の実施形態は、応答パケットを全く受信しない、または実質的な応答を有するパケットを全く受信しない発信ネットワークパケット（すなわち、応答のないパケット）を解析して、デバイス上、および／またはネットワーク上のマルウェアを検出することを説明することが可能である。応答のないパケットという用語は、応答パケットを全く受信しない、または実質的な応答を全く有さないパケット、例えば、接続エラーを示すパケットだけを受信する発信ネットワークパケットを指すことが可能である。一例として、「デッドＳＹＮ」という用語が、対応する応答パケット（例えば、ＳＹＮ−ＡＣＫパケット）を全く受信しないＴＣＰ同期（ＳＹＮ）パケットを指すことが可能である。別の例として、リセットパケットまたはＲＳＴパケットが、接続エラーを示すとともに、有効な応答パケットを示さない可能性があるＴＣＰパケットを指すことが可能である。本開示の１つまたは複数の実施形態は、応答のないパケット追跡（例えば、デッドＳＹＮ追跡）を使用して、デバイス上、および／またはネットワーク上のマルウェア、例えば、アドバンストパーシスタントスレット（ＡＰＩ）を検出することを説明することが可能である。本開示の１つまたは複数の実施形態は、応答のないパケット（例えば、デッドＳＹＮパケット）の量、周期性、クラスタリング、および／または目標の宛先を解析することを説明することが可能である。本開示の１つまたは複数の実施形態は、マルウェアの存在を示す可能性がある１つまたは複数の条件に対してオペレータ、プログラム、サービス、または他のエンティティの注意を喚起することを説明することが可能である。本開示の１つまたは複数の実施形態は、フィルタおよび／または制御パラメータを使用して、偽陽性アラートの数を制限することを説明することが可能である。
【００２４】
本開示における説明は、様々な通信プロトコル、例えば、初期のアウトバウンドのパケットまたは初期のアウトバウンドのトラフィックを送信し、さらに何らかの実質的な応答が戻されることを予期する任意の通信プロトコルに当てはまり得ることを理解されたい。例示的な通信プロトコルは、ＴＣＰ、ＵＤＰ、他のルーティングプロトコル、または他の任意の通信プロトコルであり得る。本開示における様々な説明は、本開示を明確に説明するために、特定のプロトコルの例、例えば、ＴＣＰプロトコル（およびデッドＳＹＮ追跡）の例を説明する可能性があるものの、本明細書で与えられる説明は、他の様々な通信プロトコルおよび応答のないパケットに当てはまり得ることを理解されたい。
【００２５】
図１は、本開示の１つまたは複数の実施形態が役立ち得るネットワークセットアップ１００の例示的な構成要素、接続、および対話を示すブロック図の例示を示す。ネットワークセットアップ１００は、図１に示されるのと比べて、さらなる、またはより少ない構成要素、接続、および対話を含み得ることを理解されたい。図１は、構成要素、接続、および対話のはるかに大きいネットワークであり得るものの一部分に注目する。ネットワークセットアップ１００は、ネットワーク１０２と、ファイアウォール１０４と、いくつかの内部デバイス（例えば、内部デバイス１０６、１０８、１１０、１１１）と、いくつかの外部デバイス（例えば、外部デバイス１１２、１１４、１１６）とを含み得る。ネットワーク１０２は、データ処理システム、および、場合により、他のデバイスなどの様々なデバイスの間で通信リンクをもたらすのに使用される媒体であり得る。ネットワーク１０２は、ワイヤレス通信リンクまたは有線通信リンクなどの接続を含み得る。一部の例において、ネットワーク１０２は、伝送制御プロトコル−インターネットプロトコル（ＴＣＰ  ＩＴ）スイートのプロトコルを使用して互いに通信するネットワークおよびゲートウェイの世界的な集まりを表す。一部の例において、ネットワーク１０２は、イントラネット、ローカルエリアネットワーク（ＬＡＮ）、またはワイドエリアネットワーク（ＷＡＮ）を含み得る。
【００２６】
図１に示される例において、参照符号１２０は、「内部」であるネットワークセットアップ１００の一部分を表し、つまり、この部分は、ネットワーク１０２上の悪意のある活動を検出しようと試みるとともに、内部デバイス１０６、１０８、１１０、１１１にマルウェア、ウイルスなどが存在しないように保とうと試みるファイアウォールまたは他の何らかのデバイスもしくはプログラムの背後にある。一例として、ファイアウォール１０４は、企業ファイアウォールであることが可能であり、さらに内部部分１２０は、企業内部ネットワーク内に存在するデバイスのすべて、または一部分であることが可能である。内部デバイス１０６、１０８、１１０、１１１は、データ処理システム、サーバ、プリンタ、コンピュータ、ラップトップ、スマートフォン、ＰＤＡ、またはネットワークと通信することが可能な他の任意の種類のデバイスであり得る。外部デバイス１１２、１１４、１１６は、内部デバイス１０６、１０８、１１０、１１１のような内部デバイスを攻撃するように設計され、さらに／またはプログラミングされたデータ処理システム、サーバ、コンピュータなどであり得る。
【００２７】
本開示の１つまたは複数の実施形態は、内部デバイス１０６、１０８、１１０、１１１とネットワーク１０２の間に置かれたデバイス上で実行され得る。例えば、本開示の１つまたは複数の実施形態が、ファイアウォール１０４上で実行されることが可能である。ファイアウォール１０４は、応答のない発信ネットワークトラフィックの解析を介して感染したネットワークデバイスを検出するためのシステム、方法、ルーチン、および／または技法のうちの１つまたは複数を実行することが可能なコンピュータコードを実行するようにプログラミングされ得る１つまたは複数のデータ処理システムであり得る。一部の実施形態において、本開示のシステム、方法、ルーチン、および／または技法のうちの１つまたは複数は、例えば、ファイアウォール１０４などの１つまたは複数のデバイス内に配置された、ハードウェアとして設計され得る。一部の実施形態において、本開示のシステム、方法、ルーチン、および／または技法のうちの１つまたは複数は、ハードウェアとソフトウェアの組合せとして設計され得る。一部の実施形態において、本開示のシステム、方法、ルーチン、および／または技法は、複数のファイアウォールデバイスを使用して実施され得る。例えば、１つまたは複数のファイアウォールデバイスが、より大型のユニットとして協働することが可能である。
【００２８】
図２は、本開示の１つまたは複数の実施形態が役立ち得るネットワークセットアップ２００の例示的な構成要素、接続、および対話を示すブロック図の例示を示す。図２は、ネットワークトラフィック２０２、パケットヘッダキャプチャエンジン２０４、パケットヘッダリスト２０６、応答のないパケットアラートモジュール２０８、およびイベントリスト２１０の図を示す。ネットワークトラフィック２０２は、生のパケットのフロー、例えば、図１のネットワーク１０２のようなネットワーク上を流れている生のパケットを含み得る。パケットヘッダキャプチャエンジン２０４が、ネットワークトラフィック２０２からの生のパケットを監視し、さらに／または解析することが可能であり、さらにパケットのヘッダを抽出し、さらに／またはキャプチャすることが可能である。パケットヘッダは、送信元情報（例えば、送信元ＩＰアドレス（Ｓｒｃ）、送信元ポート番号（ＳｒｃＰｏｒｔ））、および宛先情報（例えば、宛先ＩＰアドレス（Ｄｓｔ）、宛先ポート番号（ＤｓｔＰｏｒｔ））などのルーティング情報を含むパケットについての情報を含み得る。本開示の一部の実施形態において、「宛先」とは、単一の宛先（例えば、単一のコンピュータ、単一のＩＰアドレスなど）にとどまらないものを指す可能性があることを理解されたい。例えば、宛先は、１つまたは複数のグループの特定の宛先、例えば、いくつかの範囲のネットワークアドレスまたはＩＰアドレスなどを全体的に指すことが可能である。このため、本明細書で説明される様々な実施形態は、或る宛先について述べる可能性があるものの、本明細書で説明される技法を１つまたは複数のグループの宛先に適用し得る様々な実施形態、または代替の実施形態が企図されることを理解されたい。
【００２９】
一部の実施形態において、パケットキャプチャエンジン２０４は、ヘッダを「正規化する」ことが可能であり、つまり、エンジン２０４は、或る期間にわたって、例えば、１分間にわたってエンジン２０４がネットワークトラフィック２０２の中で認識するすべての同一のヘッダをグループ化することが可能である。パケットヘッダキャプチャエンジン２０４は、その期間内の最初のパケットの時刻（開始時刻）、およびその期間内の最後のパケットの時刻（終了時刻）を格納することが可能である。パケットヘッダキャプチャエンジン２０４は、パケットヘッダを、例えばパケットヘッダリスト２０６の中に格納することが可能である。パケットヘッダリストは、いくつかの行の情報を含み得るデータベースまたは他の何らかのデータストアであり得る。ヘッダキャプチャエンジン２０４がヘッダを正規化する場合、エンジン２０４は、その期間にわたって同一のヘッダが観察された回数のカウントを含め、或る期間にわたる同じヘッダの各グループを、ヘッダリスト２０６の単一の行の中に格納することが可能である。また、ヘッダキャプチャエンジン２０４は、ヘッダの各グループの開始時刻および終了時刻を格納することも可能である。これに関して、パケットヘッダ情報は、情報を依然として保ちながら、ヘッダリストのより少ない行に圧縮され得る。
【００３０】
パケットヘッダリスト２０６は、入力として、応答のないパケットアラートモジュール２０８に供給され得る。図２に示される例は、ネットワークトラフィックが、解析のためにどのようにキャプチャされ、蓄積され、さらに／または格納されることが可能であるかの一例に過ぎないことを理解されたい。本開示の他の実施形態において、応答のないパケットアラートモジュール２０８は、入力として他の形態のパケット情報を受け入れることが可能である。例えば、応答のないパケットアラートモジュール２０８は、生のパケットキャプチャ全体、トラフィック情報および／もしくはパケットストリーム情報、ならびに／または他のフォーマットのパケット情報を解析するように適応させられ得る。別の例として、応答のないパケットアラートモジュール２０８は、正規化されたヘッダを解析する代わりに、各パケットヘッダを解析することが可能である。これらの例において、ヘッダリスト２０６が、開始時刻および終了時刻の代わりに、各ヘッダの正確な、またはおおよその着信時刻を格納することが可能である。本明細書で説明されるシステム、方法、ルーチン、および／または技法のより明確な説明を与えるために、本開示は、応答のないパケットアラートモジュール２０８のためのパケット情報の源として、例えば、ヘッダリスト２０６からの、正規化されたヘッダに注目する。しかし、本明細書で説明される様々なシステム、方法、ルーチン、および／または技法の説明は、パケット情報の他の源に適用されることも可能であることを理解されたい。
【００３１】
応答のないパケットアラートモジュール２０８は、いくつかの構成要素、ルーチン、アルゴリズム、コード、構成データなどを含み得る。応答のないパケットアラートモジュール２０８は、応答のないパケットエクストラクタ２１２と、フィルタ構成（ｃｏｎｆｉｇ）ファイル２１４と、追跡される接続リスト２１６と、リストクリーンアップモジュール２１８と、量検出モジュール２２０と、宛先検出モジュール２２２と、クラスタ検出モジュール２２４とを含み得る。応答のないパケットエクストラクタ２１２は、ヘッダリスト２０６からヘッダエントリを読み取り、さらに解析するようにプログラミングされ、さらに／または適応させられることが可能である。ネットワークトラフィックは、様々な通信プロトコルのうちの１つまたは複数を利用することが可能であり、さらに応答のないパケットエクストラクタ２１２は、使用されているプロトコルに関連するパケットヘッダエントリを読み取り、さらに解析することが可能である。一部の実施形態において、ネットワークトラフィックは、ＴＣＰプロトコルを利用することが可能であり、その場合、応答のないパケットエクストラクタ２１２は、ＴＣＰパケットヘッダエントリを読み取り、さらに解析することが可能である。応答のないパケットエクストラクタ２１２は、応答のないパケット、例えば、デッドＳＹＮパケットを検出し、抽出し、さらに／または応答のないパケットの格納を開始する、もしくは格納させることが可能である。応答のないパケットアラートモジュール２０８は、入力として、フィルタ構成データ２１４、例えば、１つまたは複数のフィルタ構成（ｃｏｎｆｉｇ）ファイルを使用する、または受け入れることが可能である。応答のないパケットアラートモジュール２０８は、追跡される接続リスト２１６にデータおよび／またはコマンドを通信することが可能であり、さらに追跡される接続リストが、応答のないパケットエクストラクタ２１２からの通信の結果、追跡される接続リストのデータストアにデータを追加することおよび／または追跡される接続リストのデータストアからデータを除去することが可能である。
【００３２】
追跡される接続リスト２１６は、データベースまたは他のデータストア、例えば、容易に検索可能なデータストアであり得る。追跡される接続リストの中の各エントリまたは各行は、固有の「タプル」を含み得る。タプルとは、複数のデータを含むパケットについての情報を指すことが可能である。一例として、タプルは、開始時刻および終了時刻（ヘッダキャプチャエンジン２０４によって特定される）と、送信元情報（例えば、送信元ＩＰアドレス（Ｓｒｃ）、送信元ポート（ＳｒｃＰｏｒｔ））および宛先情報（例えば、宛先ＩＰアドレス（Ｄｓｔ）、宛先ポート（ＤｓｔＰｏｒｔ））、プロトコルがフラグ（例えば、ＴＣＰフラグ）を使用する場合に１つまたは複数のフラグ、および開始時刻に始まり、終了時刻に終わる期間にわたってヘッダキャプチャエンジン２０４によって認識された同一のヘッダの量などのパケットヘッダからの情報とを含み得る。本開示の一部の実施形態において、「宛先」とは、単一の宛先（例えば、単一のコンピュータ、単一のＩＰアドレスなど）にとどまらないものを指す可能性があることを理解されたい。例えば、宛先は、１つまたは複数のグループの特定の宛先、例えば、いくつかの範囲のネットワークアドレスまたはＩＰアドレスなどを全体的に指すことが可能である。このため、本明細書で説明される様々な実施形態は、或る宛先について述べる可能性があるものの、本明細書で説明される技法を１つまたは複数のグループの宛先に適用し得る様々な実施形態、または代替の実施形態が企図されることを理解されたい。追跡される接続リストは、リストクリーンアップモジュール２１８と通信状態にあり得る。リストクリーンアップモジュールは、追跡される接続リストと通信して、例えば、或る期間にわたってリストの中に存在してきたエントリを除去して、追跡される接続リストの中のエントリを維持することが可能である。
【００３３】
いくつかの独立した検出プロセスが、追跡される接続リスト２１６と通信状態にあることが可能であり、さらに追跡される接続リスト２１６の中に格納された情報を利用することが可能である。検出プロセスの例が、量検出器２２０、宛先検出器２２２、およびクラスタ検出器２２４である。これらの例示的な３つのプロセスが、本明細書で詳細に説明されるが、本開示は、同様に機能する他の検出プロセスも企図する。各検出プロセスは、追跡される接続リスト２１６から入力エントリを受け入れる。各エントリは、前段で説明されるタプルであり得る。各検出プロセスは、１つまたは複数のイベント、例えば、解析のために別のエンティティに通信され得るイベントを出力し得る。これらのイベントは、関心対象であり得る異常がネットワークトラフィックにおいて検出されたことを示し得る。例えば、オペレータがイベントのログを手動で検査することが可能であり、さらに、例えば、違反するソフトウェアを除去する、またはデバイスが悪意のあるアクションを行うことを防止する措置をとることが可能である。別の例として、イベントが、ソフトウェアパッケージ、イベント相関ツール、イベントログ記録機構、または他の外部エンティティによって解析されることが可能であり、さらにこれらのエンティティが、関心を引く状況を検出し、さらに／またはイベントに脅威レベルを割り当てることが可能である。
【００３４】
図３は、本開示の１つまたは複数の実施形態による、応答のないパケットエクストラクタ３００において見られることが可能である例示的な構成要素、ルーチン、アルゴリズム、構成データなどを示すブロック図の例示を示す。応答のないパケットエクストラクタ３００は、図２の応答のないパケットエクストラクタ２１２と同様であり得る。応答のないパケットエクストラクタ３００は、図２のパケットヘッダリスト２０６および追跡される接続リスト２１６とそれぞれ同様であり得るパケットヘッダリスト３０２および追跡される接続リスト３０４と通信することが可能である。
【００３５】
応答のないパケットエクストラクタ３００は、ヘッダリスト３０２から正規化されたヘッダエントリを読み取り、さらに解析するようにプログラミングされ、さらに／または適応させられることが可能である。一部の実施形態において、応答のないパケットエクストラクタ３００は、正規化されたパケットヘッダエントリ（例えば、ＴＰＣパケットヘッダエントリ）を読み取り、さらに解析することが可能である。応答のないパケットエクストラクタ３００は、いくつかの構成要素、ルーチン、アルゴリズム、構成データなどを利用して、応答のないパケット、例えば、デッドＳＹＮパケットを検出し、抽出し、さらに／または応答のないパケットの格納を開始する、もしくは格納させることが可能である。ステップ３０６で、正規化されたヘッダまたはレコードが、ヘッダリスト３０２の中の現在のエントリまたは行から読み取られる、または取得されることが可能である。このレコードは、パケットを識別する固有のセットの情報を含み得る。一部の例において、この情報は、以下、すなわち、送信元情報（例えば、Ｓｒｃ、ＳｒｃＰｏｒｔ）、宛先情報（例えば、Ｄｓｔ、ＤｓｔＰｏｒｔ）、プロトコルがフラグ（例えば、ＴＣＰフラグ）を有する場合に１つまたは複数のフラグ、開始時刻、終了時刻、およびその期間内（すなわち、開始時刻から終了時刻までの間）に表されているそのような同一のパケットヘッダの量を含む。例えば、ヘッダが、或る期間にわたって集約される代わりに、個々にキャプチャされる他の例において、正規化されたヘッダ情報は、開始時刻および終了時刻の代わりに単一の時刻を含み得る。パケットを一意に識別するこれらの情報は、「正規化された」フィールドと呼ばれ得る。ヘッダリスト３０２の中の各パケットに関して、さらに追跡される接続リスト３０４の中の各接続に関して正規化されたフィールドが保存され得る。例えば、追跡される接続リストにおいて使用される接続という用語は、正規化されたパケットと同様の情報を指すことが可能である。しかし、接続という用語は、正規化されたパケットが、完全なネットワークトランザクションまたはハンドシェーク、例えば、ＴＣＰハンドシェークの一部であることを示唆する。
【００３６】
本明細書の技法を完全に説明するのに役立つことを意図し、本開示によって企図される通信プロトコルのタイプを限定することは全く意図しないネットワークトランザクションまたはハンドシェークの一例として、ＴＣＰハンドシェークについて述べる。一般に、ＴＣＰプロトコルは、ネットワーク、例えば、インターネットを介して接続をセットアップする３方向のハンドシェークを要求する。ＴＣＰの３方向のハンドシェーク技法は、２つのコンピュータの間でＴＣＰセッションをネゴシエートして開始するようにＴＣＰによって送信される３つのメッセージが存在するため、ＳＮＹ、ＳＹＮ−ＡＣＫ、ＡＣＫと呼ばれ得る。ＴＣＰハンドシェーク機構は、通信しようと試みている２つのコンピュータが、データ、例えば、ＳＳＨウェブブラウザ要求およびＨＴＴＰウェブブラウザ要求を送信するのに先立って、ネットワークＴＣＰソケット接続のパラメータをネゴシエートすることができるように設計される。ＴＣＰプロトコルに準拠して送信される第１のメッセージは、送信元（ｓｒｃ）から宛先（ｄｓｔ）に送信されるＳＹＮメッセージまたはＳＹＮパケットである。ＴＣＰプロトコルに準拠して送信される第２のメッセージは、宛先（ｄｓｔ）から送信元（ｓｒｃ）に送信されるＳＮＹ−ＡＣＫメッセージまたはＳＮＹ−ＡＣＫパケットである。ＴＣＰプロトコルに準拠して送信される第３のメッセージは、送信元（ｓｒｃ）から宛先（ｄｓｔ）に送信されるＡＣＫメッセージまたはＡＣＫパケットである。応答のないパケットエクストラクタ３００は、ほとんどすべてのＴＣＰトランザクションがＳＹＮメッセージまたはＳＹＮパケットから始まるとともに、適切な接続が形成されるには、ｓｒｃがｄｓｔから何らかの応答を受信しなければならないことを認識するようにプログラミングされ、さらに／または適応させられることが可能である。ＴＣＰプロトコルに準拠して、応答パケットは、ＳＮＹ−ＡＣＫ以外の何らかのメッセージタイプであってもよいことが可能であり得る。したがって、応答のないパケットエクストラクタ３００は、応答データのタイプについて柔軟であるようにプログラミングされ、さらに／または適応させられることが可能である。
【００３７】
ステップ３０８で、応答のないパケットエクストラクタ３００が、例えば、ヘッダのフラグまたはフラグフィールド（例えば、ＴＣＰフラグ）を解析することによって、ステップ３０６で読み取られた正規化されたヘッダを解析して、そのパケット（例えば、ＴＣＰパケット）が初期通信（例えば、ＳＹＮメッセージまたはＳＹＮパケット）であるかどうかを判定することが可能である。パケットが初期通信（例えば、ＳＹＮメッセージ）である場合、応答のないパケットエクストラクタ３００は、このパケットを、トランザクションまたは通信の始まりまたは開始として解釈することが可能である。パケットエクストラクタ３００は、このパケットがトランザクションまたはネットワーク通信の開始に関連し、さらにパケット情報が、さらに説明されるとおり、応答のないパケットである可能性があると判定された場合、このパケットのパケット情報を格納させる、さらに／または追跡させることが可能である。パケットが初期通信（例えば、ＳＹＮメッセージ）である場合、ステップ３１０で、応答のないパケットエクストラクタ３００が、このパケットが選別されて除かれるべきであるかどうか、つまり、このパケットの追跡が行われないかどうかを判定することが可能である。パケットは、様々な理由で、さらに様々な様態で選別されて除かれ得る。例えば、信頼される宛先を相手に接続を開始しようと試みているパケットが、選別されて除かれ得る。ステップ３１０で、応答のないパケットエクストラクタ３００が、例えば、構成ファイルまたは構成データベースからのフィルタ構成データ３１２を使用することが可能である。フィルタ構成データは、ユーザによって作成される、さらに／またはユーザによって供給されるものであることが可能であり、さらにフィルタ構成データは、特定のパケットが選別されて除かれるべきことを示すフィールドのリストなどを含むことが可能である。例えば、フィルタ構成データは、選別されて除かれるべき送信元、宛先、および／または送信元／宛先組合せのリストを含み得る。別の例として、フィルタ構成データは、選別されて除かれるべきパケットを示す時間、期間、または他の時間ベースのメトリックを含み得る。この時間ベースのフィルタリングは、例えば、ユーザまたは管理者が、例えば、メンテナンスまたは計画された停止のため、ネットワークまたはマシンが或る期間にわたってダウンすることを知っていた場合、有用であり得る。ステップ３１０で、応答のないパケットエクストラクタ３００が、ステップ３０６で読み取られた正規化されたヘッダをフィルタ構成データ３１２と比較することが可能であり、さらにこのファイルが、そのパケットが選別されて除かれるべきことを示す場合、応答のないパケットエクストラクタ３００は、その接続を追跡せず、ヘッダリスト３０２の中の次の行、または次の正規化されたヘッダに進む（ステップ３１４）。
【００３８】
ステップ３１０で、ヘッダ／パケット（例えば、ＴＣＰ  ＳＹＮヘッダ／パケット）が選別されて除かれない場合、ステップ３１６で、応答のないパケットエクストラクタ３００が、初期通信パケットが再送プロトコル（例えば、ＴＣＰ再送プロトコル）によってもたらされたと判定した場合、初期通信パケット（例えば、ＴＣＰ  ＳＹＮメッセージ）は、除去される（すなわち、追跡されない）。一例として、ＴＣＰプロトコルに準拠して、パケットに応答がない、またはデッドであると判定されるまでに、ＴＣＰ  ＳＹＮメッセージは、４回、試みられることが可能である。初期ＳＹＮメッセージ後の後続のＳＹＮメッセージの試みは、再送と呼ばれる。したがって、ステップ３１６で、初期通信パケット（例えば、ＳＹＮメッセージ）が、例えば、同じヘッダ情報（例えば、ｓｒｃ、ｄｓｔ、ｓｒｃ−ｐｏｒｔ、ｄｓｔ−ｐｏｒｔなど）を有する、或る期間内の後続の初期通信パケットである場合、このパケットは、再送であると判定され得る。一部の実施形態において、応答のないパケットエクストラクタ３００は、追跡される接続リスト３０４と通信して、類似する初期通信パケットが最近、検出されているかどうかを判定することが可能である。一部の実施形態において、応答のないパケットエクストラクタ３００は、パケット自体の中の情報、例えば、パケットのヘッダから、そのパケットが再送であると判定することが可能である。再送メッセージを除去すること（すなわち、追跡しないこと）は、同じＴＣＰ接続を重複して追跡することを防止することが可能である。
【００３９】
ステップ３１８で、初期通信パケットまたは初期通信メッセージ（例えば、ＴＣＰ  ＳＹＮパケットまたはＴＣＰ  ＳＹＮメッセージ）が選別されて除かれていない、または除去されていない場合、正規化されたヘッダは、追跡される接続リスト３０４が、例えば、１つの正規化されたヘッダ当り１つのエントリまたは１つの行を利用して、正規化されたヘッダ情報を、応答のない可能性があるパケットとして保存し、格納し、さらに／または追跡するように、追跡される接続リスト３０４に通信され得る。例えば、正規化されたヘッダが、開始時刻から終了時刻までの間に認識された類似するヘッダの数（すなわち、カウント）を示すフィールドを含む場合、応答のないパケットエクストラクタ３００は、このカウントが１以上である場合、その正規化されたヘッダ情報を保存する、または格納することが可能である。これに関して、応答のない可能性があるパケット、例えば、デッドＳＹＮパケットは、追跡される接続リストに追加され得る。追跡される接続リストに追加された接続が、例えば、その接続に関して応答または返信が認識されたと判定する他の何らかのルーチン、ステップなどによって、後に除去されない場合、その接続には、マルウェアであることを示し得る応答のないパケットとしてフラグが付けられ得る。追跡される接続リストから接続を除去することが可能なルーチン、ステップ、構成要素、規則、および／または以上に類するものについては、後段で説明される。ステップ３１８の後、応答のないパケットエクストラクタ３００は、ヘッダリスト３０２の中の次の行、または次の正規化されたヘッダに進む（ステップ３１４）。
【００４０】
ステップ３０８で、応答のないパケットエクストラクタ３００が、例えば、ヘッダのフラグまたはフラグフィールド（例えば、ＴＣＰフラグフィールド）を解析することによって、ステップ３０６で読み取られた正規化されたヘッダを解析して、そのパケット（例えば、ＴＣＰパケット）が初期通信パケット（例えば、ＳＹＮメッセージまたはＳＹＮパケット）であるかどうかを判定することが可能である。パケットが初期通信パケット（例えば、ＳＹＮメッセージ）ではない場合、応答のないパケットエクストラクタ３００は、そのパケットをさらに解析することが可能である。ステップ３２０およびステップ３２２で、応答のないパケットエクストラクタ３００が、ステップ３０６で読み取られたパケットヘッダが、追跡される接続リスト３０４の中で追跡されている通信に対する応答パケットまたは返信パケットであるかどうかを判定することが可能である。パケットが応答または返信である場合、それまでに解析された初期通信パケット（例えば、ＴＣＰ  ＳＹＮパケット）は、応答のないパケットではなく、マルウェアとしてフラグが付けられない可能性がある。ステップ３２０で、応答のないパケットエクストラクタ３００が、追跡される接続リスト３０４と通信して、当面のヘッダ（Ｓｒｃ−Ｄｓｔ）と比べて基本的に逆になっているヘッダ情報（Ｄｓｔ−Ｓｒｃ）を含むエントリまたは接続が、データベースの中に既に存在するかどうかを判定することが可能である。特定のＳｒｃと、特定のＤｓｔとを有するＴＣＰ  ＳＹＮパケットが、通信プロトコル（例えば、ＴＣＰプロトコル）に準拠して送信される場合、初期通信パケット（例えば、ＳＹＮパケット）に対する応答パケットは、初期通信パケットのＤｓｔと同じＳｒｃと、初期通信パケットのＳｒｃと同じＤｓｔとを有することが予期され得る。直近のパケットのヘッダ情報と格納されたパケットが、この逆の様態で合致する場合、直近のパケットは、追跡される接続リスト３０４の中にそれまでに格納されていた接続に関する応答パケットであり得る。直近のパケットのヘッダ情報と格納されたパケットが合致しない場合、このパケットは、無視され（すなわち、追跡されず）、さらに応答のないパケットエクストラクタ３００が、ヘッダリスト３０２の中の次の行、または次の正規化されたヘッダに進む（ステップ３１４）。
【００４１】
ステップ３２２で、応答のないパケットエクストラクタ３００が、応答パケットが、応答パケットが実質的な応答を含まないことを示すフラグ（例えば、ＴＣＰフラグ）または他のデータを含むかどうかを判定することが可能である。一例として、このフラグは、接続エラー（例えば、ＴＣＰプロトコルにおけるＲＳＴ（リセット）フラグ）を示すことが可能である。ＴＣＰプロトコルに準拠して、リセットパケットは、接続が拒否されたことを示すのに使用される。パケットが実質的な応答（例えば、接続エラーではない）を含む場合、応答のないパケットエクストラクタ３００は、例えば、追跡される接続リスト３０４と通信することによって、そのパケットまたはそのヘッダ（Ｓｒｃ−Ｄｓｔ）を、追跡されることから除外することが可能である（ステップ３２４）。応答のないパケットエクストラクタ３００は、応答パケットが宛先から受信されており、さらにその応答パケットが実質的であった（すなわち、リセットパケットでも、拒否された接続を示すパケットでもなかった）ために、パケットを、追跡されることから除外することが可能である。応答のないパケットエクストラクタ３００は、パケットが応答のないパケット（例えば、デッドＳＹＮ）ではないと応答のないパケットエクストラクタ３００が判定したために、パケットを、追跡されることから除外することが可能である。したがって、そのパケットには、潜在的なマルウェアとしてのフラグが付けられない。追跡される接続リスト３０４からパケットを除去した後、応答のないパケットエクストラクタ３００は、ヘッダリスト３０２の中の次の行、または次の正規化されたヘッダに進むことが可能である（ステップ３１４）。ステップ３２２で、応答のないパケットエクストラクタ３００が、パケットが実質的なパケットではない、例えば、リセットパケット、または接続エラーを示すパケットであると判定した場合、そのパケットは無視され（すなわち、対応するパケットは、追跡される接続リストから除去されない）、さらに応答のないパケットエクストラクタ３００が、ヘッダリスト３０２の中の次の行、または次の正規化されたヘッダに進むことが可能である（ステップ３１４）。これに関して、応答のないパケットエクストラクタ３００は、全く応答が返って来なかったかのように接続エラーパケットまたはリセットパケットを扱うことが可能である。
【００４２】
図４は、本開示の１つまたは複数の実施形態による、リストクリーンアップモジュール４００において見られることが可能である例示的な構成要素、ルーチン、アルゴリズム、構成データなどを示すブロック図の例示を示す。リストクリーンアップモジュール４００は、図２のリストクリーンアップモジュール２１８と同様であり得る。リストクリーンアップモジュール４００は、図２の追跡される接続リスト２１６と同様であり得る追跡される接続リスト４０４と通信することが可能である。
【００４３】
リストクリーンアップモジュール４００は、追跡される接続リスト４０４と通信状態にあって、例えば、追跡される接続リスト４０４が、或る期間にわたってリストの中に存在していて、もはや追跡を要求しないエントリを除去するように、追跡される接続リスト４０４と通信して、追跡される接続リスト４０４の中のエントリを維持することが可能である。このリストクリーンアップモジュール４００は、いくつかの構成要素、ルーチン、アルゴリズム、構成データなどを利用して、追跡される接続リスト４０４の中のエントリを維持することが可能である。ステップ４０６で、リストクリーンアップモジュール４００が、追跡される接続リスト４０４の中のエントリまたは行（例えば、現在のエントリ、または現在の行）を選択し、さらに読み取ることが可能である。ステップ４０８で、リストクリーンアップモジュール４００が、接続がリストの中に十分に長い間、入っており、もはや追跡されるべきではないかどうかを判定する。リストクリーンアップモジュール４００は、パケットヘッダの中の時間フィールド（例えば、終了時刻）を１つまたは複数の時間限度、例えば、最大格納時間限度と比較することが可能である。例えば、正規化されたヘッダが、開始時刻と、終了時刻とを含む場合、リストクリーンアップモジュール４００は、終了時刻が、追跡される接続が認識された最新の時刻を表し得るため、時間限度を終了時刻と比較することが可能である。これらの時間限度は、ユーザによって供給されるものであり得、さらに／または、例えば、構成ファイルまたは構成データベースからの、例えば、時間限度構成データ４１０の中でユーザによって指定されるものであり得る。この（これらの）時間限度は、様々な値、例えば、数日、数週間、数ヶ月、および／または以上に類する期間に設定され得る。ステップ４０８を参照すると、追跡される接続がこの（これらの）時間限度を超えていない場合、リストクリーンアップモジュール４００は、追跡される接続リスト４０４に関して全くアクションを開始しないことが可能であり、さらに、追跡される接続リスト４０４の中の次のエントリ、または次の行を選択し、さらに／または読み取って、ステップ４０６に戻ることが可能である。
【００４４】
リストクリーンアップモジュール４００は、様々な理由で追跡される接続リストからエントリを除去することが可能である。例えば、或る時間限度が、或る期間の後、フラグが付けられた接続が、扱われることになる場合には、その時刻までに扱われることになる、または処理されることになるという決定を表すことが可能である。別の例として、本開示の１つまたは複数の実施形態を実施するのに使用される（複数の）システムが、限られたリソース、例えば、限られたデータストレージを有することが可能である。接続を除去することに関する時間限度は、追跡される接続リストが多すぎるリソース、および／または多すぎる記憶空間を消費することを賢明に防止するようになっていることが可能である。
【００４５】
ステップ４１２で、追跡される接続がこの（これらの）時間限度より古い場合、リストクリーンアップモジュール４００が、追跡される接続リスト４０４と通信して、追跡される接続リスト４０４がその接続を除去し得るようにすることが可能である。次に、リストクリーンアップモジュール４００は、追跡される接続リスト４０４の中の次のエントリ、または次の行を選択して、さらに／または読み取って、ステップ４０６に戻ることが可能である。
【００４６】
図５は、本開示の１つまたは複数の実施形態による、量検出器５００において見られることが可能である例示的な構成要素、ルーチン、アルゴリズム、構成データなどを示すブロック図の例示を示す。量検出器５００は、図２の量検出器２２０と同様であり得る。量検出器５００は、図２の追跡される接続リスト２１６と同様であり得る追跡される接続リスト５０４と通信することが可能である。量検出器５００は、追跡される接続リスト５０４の中に格納された情報を利用することが可能である。
【００４７】
量検出器５００は、入力として、追跡される接続リスト５０４からのエントリを受け入れることが可能である。各エントリは、タプルを含み得る。一例として、タプルは、開始時刻および終了時刻と、開始時刻に始まり、終了時刻に終わる期間にわたってヘッダキャプチャエンジンによって認識された、送信元情報（例えば、送信元ＩＰアドレス（Ｓｒｃ）、送信元ポート（ＳｒｃＰｏｒｔ））および宛先情報（例えば、宛先ＩＰアドレス（Ｄｓｔ）、宛先ポート（ＤｓｔＰｏｒｔ））などの固有のパケットヘッダ情報とを含み得る。本開示の一部の実施形態において、「宛先」とは、単一の宛先（例えば、単一のコンピュータ、単一のＩＰアドレスなど）にとどまらないものを指す可能性があることを理解されたい。例えば、宛先は、１つまたは複数のグループの特定の宛先、例えば、いくつかの範囲のネットワークアドレスまたはＩＰアドレスなどを全体的に指すことが可能である。このため、本明細書で説明される様々な実施形態は、或る宛先について述べる可能性があるものの、本明細書で説明される技法を１つまたは複数のグループの宛先に適用し得る様々な実施形態、または代替の実施形態が企図されることを理解されたい。量検出５００は、１つまたは複数のイベント（ステップ５３０およびイベントリスト５０２を参照）、例えば、解析および／またはアクションのために別のエンティティに通信され得るイベントを出力することが可能である。これらのイベントは、関心対象であり得るネットワークトラフィックにおいて異常が検出されていることを示すことが可能である。マルウェアハッカは、検出を回避するように宛先サーバを常に変える可能性があり、したがって、量検出器５００は、例えば、マルウェアを示し得る様々なタイプの挙動を検出するように、追跡される接続リストの中のデータに関していくつかの異なるチェックおよび／または比較を利用することが可能である。
【００４８】
量検出器５００は、いくつかの構成要素、ルーチン、アルゴリズム、構成データなどを利用して、様々な応答のない追跡される接続を解析して、これらの接続が、マルウェアおよび／または感染したデバイスを示す可能性があるかどうかを判定することが可能である。ステップ５０６で、量検出器５００が、追跡される接続リスト５０４からいくつかのエントリまたは行を選択し、さらに／または読み取ることが可能である。例えば、量検出器５００は、或る期間内の固有の送信元および宛先（例えば、固有のＳｒｃ、Ｄｓｔ、ＳｒｃＰｏｒｔ、およびＤｓｔＰｏｒｔ）を有するすべてのエントリを読み取ることが可能である。この期間は、図２のヘッダキャプチャエンジン２０４によって使用される期間とは異なり得る。量検出器５００によって使用される期間は、追跡される接続リスト５０４の中のいくつかのエントリまたは行にわたることが可能である。
【００４９】
量検出器５００によって使用される期間は、例えば、構成ファイルまたは構成データベースからの、例えば、期間構成データ５０８によって、ユーザによって定義されるもの、さらに／またはユーザによって供給されるものであり得る。量検出器５００によって使用される期間は、最少の偽陽性イベント生成をもたらすように調整され得る。量検出器５００によって使用される期間は、追跡される接続に関する返信パケットまたは応答パケットが受信されるのに時間がかかるため、使用され得る。量検出器５００によって使用される期間は、応答のないパケットエクストラクタ３００が、追跡される接続リストから任意の「デッドでない」パケット（実質的な応答を受信したパケット）を除去する時間を許されるように使用され得る。量検出器５００によって使用される期間は、前述した再送プロトコルを扱うのに使用されることが可能であり、このことは、数分（例えば、ＴＣＰプロトコルの場合、３分）かかり得る。量検出器５００は、再送プロトコルに関するバッファが終わるのを許す期間、例えば、ＴＣＰプロトコルの場合、５分を利用することが可能である。量検出器５００は、例えば、傾向および／または再発生が検出され得るように、追跡される接続リスト５０４の中の応答のないパケットの数が妥当な数まで増えるのを許すだけ十分に長い期間を利用することが可能である。短すぎる期間は、異常のまばらな検出、または間断的な検出につながり得る。
【００５０】
本開示の一部の実施形態において、量検出器５００は、２つ以上の期間を利用することが可能である。一方の期間は、例えば、問題を迅速に検出するように、比較的短いことが可能であり、他方の期間は、例えば、異常および／または感染している可能性があるデバイスをより正確に（すなわち、より高い信頼度および／または精度で）検出するように、より長いことが可能である。一例として、短い方の期間は、６０分であることが可能であり、さらに長い方の期間は、２日であることが可能である。他の様々な期間が、ユーザおよび／または管理者に興味深い結果および／または目標の状況を最適化するように使用されてもよい。２つ以上の期間が、様々な理由で有用であり得る。例えば、様々なタイプのマルウェアが、異なるビーコン挙動（例えば、より短いビーコンサイクル、またはより長いビーコンサイクル）を示し得る。量検出器５００は、様々な期間を使用して、様々なビーコン挙動に従って送信されるパケットをキャプチャしようと試みることが可能である。
【００５１】
ステップ５１０で、固有の送信元および宛先（例えば、固有のＳｒｃフィールド、Ｄｓｔフィールド、ＳｒｃＰｏｒｔフィールド、ＤｓｔＰｏｒｔフィールド）を有するパケットまたはヘッダのセットが、或る時間枠（または複数の時間枠）内で選択されると、量検出器５００が、固有の送信元／宛先タプル（例えば、Ｓｒｃ、Ｄｓｔ、ＤｓｔＰｏｒｔのタプル）の数をカウントすることが可能である。このカウントが、所与の単一の送信元デバイスが同じ宛先デバイスおよび／または宛先サービスに対して複数の応答のないパケット（すなわち、返信のないＳＹＮの試み）を生成している状況を検出するのに使用され得る。ステップ５１６で、このカウントが、しきい値と比較されて、このカウントがしきい値を超えるかどうかが判定される。このしきい値は、例えば、構成ファイルまたは構成データベースからの、例えば、しきい値構成データ５２２によって、ユーザによって構成されるもの、さらに／またはユーザによって供給されるものであり得る。ステップ５１６で、このカウントがしきい値未満である場合、アクションは全く起こされず（ステップ５２８）、量検出器５００は、ステップ５０６に戻って、次のセットの固有のタプルを選択する。このカウントがしきい値を超えている場合、量検出器５００は、イベントを生成することが可能であり（ステップ５３０）、さらにこのイベントをイベントリスト５０２に通信することが可能である。次に、量検出器５００は、ステップ５０６に戻って、次のセットの固有のタプルを選択することが可能である。
【００５２】
量検出器５００および様々なしきい値構成データ（例えば、構成データ５２２、５２４、５２６）および様々なしきい値比較（例えば、ステップ５１６、５１８、５２０）に関して、複数の期間が使用される事例において、上述したように、さらなるしきい値が使用されることが可能であり、さらに／またはさらなるしきい値比較ステップが追加されることが可能であることを理解されたい。例えば、様々なしきい値比較ステップ（例えば、ステップ５１６、５１８、５２０）において、しきい値比較ステップは、各期間に関して異なる比較を実行することが可能であり、さらに各期間に関して異なるしきい値を基準とすることが可能である。これに関して、量検出器５００は、これらの様々なしきい値、しきい値比較、および期間に対応する１つまたは複数のイベントを生成することが可能である。
【００５３】
ステップ５１２で、固有の送信元／宛先（例えば、固有のＳｒｃフィールド、Ｄｓｔフィールド、ＳｒｃＰｏｒｔフィールド、ＤｓｔＰｏｒｔフィールド）を有するパケットまたはヘッダのセットが、或る時間枠（または複数の時間枠）内で選択されると、量検出器５００が、各固有の宛先デバイスまたは宛先サービス（例えば、固有のＤｓｔ／ＤｓｔＰｏｒｔタプル）ごとに異なる送信元デバイスの数をカウントすることが可能である。このカウントは、複数の送信元デバイスが同じマルウェアに感染しており、さらにこれらすべてが、同じＣ＆Ｃサーバと通信しようと試みている状況を検出するのに使用され得る。ステップ５１８で、このカウントがしきい値と比較されて、このカウントがしきい値を超えるかどうかが判定される。このしきい値は、例えば、構成ファイルまたは構成データベースからの、例えば、しきい値構成データ５２４によって、ユーザによって構成されるもの、さらに／またはユーザによって供給されるものであり得る。ステップ５１８で、このカウントがしきい値未満である場合、アクションは全く起こされず（ステップ５２８）、量検出器５００は、ステップ５０６に戻って、次のセットの固有のタプルを選択する。このカウントがしきい値を超えている場合、量検出器５００は、イベントを生成することが可能であり（ステップ５３０）、さらにこのイベントをイベントリスト５０２に通信することが可能である。次に、量検出器５００は、ステップ５０６に戻って、次のセットの固有のタプルを選択することが可能である。
【００５４】
ステップ５１４で、固有の送信元／宛先（例えば、固有のＳｒｃフィールド、Ｄｓｔフィールド、ＳｒｃＰｏｒｔフィールド、ＤｓｔＰｏｒｔフィールド）を有するパケットまたはヘッダのセットが、或る時間枠（または複数の時間枠）内で選択されると、量検出器５００が、各送信元デバイスが通信しようと試みて、失敗した異なるデバイスまたはサービス（例えば、固有のＤｓｔ／ＤｓｔＰｏｒｔタプル）の数をカウントすることが可能である。このカウントは、単一の送信元デバイスが複数の宛先デバイスと通信しようと試みており、常に失敗している状況を検出するのに使用され得る。この状況は、ＡＰＴマルウェアの一般的な挙動を示し得る。ステップ５２０で、このカウントがしきい値と比較されて、このカウントがしきい値を超えるかどうかが判定される。このしきい値は、例えば、構成ファイルまたは構成データベースからの、例えば、しきい値構成データ５２６によって、ユーザによって構成されるもの、さらに／またはユーザによって供給されるものであり得る。ステップ５２０で、このカウントがしきい値未満である場合、アクションは全く起こされず（ステップ５２８）、量検出器５００は、ステップ５０６に戻って、次のセットの固有のタプルを選択する。このカウントがしきい値を超えている場合、量検出器５００は、イベントを生成することが可能であり（ステップ５３０）、さらにこのイベントをイベントリスト５０２に通信することが可能である。次に、量検出器５００は、ステップ５０６に戻って、次のセットの固有のタプルを選択することが可能である。
【００５５】
図６は、本開示の１つまたは複数の実施形態による、宛先検出モジュール６００において見られることが可能である例示的な構成要素、ルーチン、アルゴリズム、構成データなどを示すブロック図の例示を示す。宛先検出器６００は、図２の宛先検出器２２２と同様であり得る。宛先検出器６００は、図２の追跡される接続リスト２１６と同様であり得る追跡される接続リスト６０４と通信することが可能である。宛先検出器６００は、追跡される接続リスト６０４の中に格納された情報を利用することが可能である。
【００５６】
宛先検出器６００は、入力として、追跡される接続リスト６０４からエントリを受け入れることが可能である。各エントリは、タプルを含み得る。一例として、タプルは、開始時刻および終了時刻と、開始時刻に始まり、終了時刻に終わる期間にわたってヘッダキャプチャエンジンによって認識された、送信元情報（例えば、送信元ＩＰアドレス（Ｓｒｃ）、送信元ポート（ＳｒｃＰｏｒｔ））および宛先情報（例えば、宛先ＩＰアドレス（Ｄｓｔ）、宛先ポート（ＤｓｔＰｏｒｔ））などの固有のパケットヘッダ情報とを含み得る。本開示の一部の実施形態において、「宛先」とは、単一の宛先（例えば、単一のコンピュータ、単一のＩＰアドレスなど）にとどまらないものを指す可能性があることを理解されたい。例えば、宛先は、１つまたは複数のグループの特定の宛先、例えば、いくつかの範囲のネットワークアドレスまたはＩＰアドレスなどを全体的に指すことが可能である。このため、本明細書で説明される様々な実施形態は、或る宛先について述べる可能性があるものの、本明細書で説明される技法を１つまたは複数のグループの宛先に適用し得る様々な実施形態、または代替の実施形態が企図されることを理解されたい。宛先検出器６００は、１つまたは複数のイベント（ステップ６２０、６３２、およびイベントリスト６０２を参照）、例えば、解析および／またはアクションのために別のエンティティに通信され得るイベントを出力することが可能である。これらのイベントは、関心対象であり得るネットワークトラフィックにおいて異常が検出されていることを示すことが可能である。
【００５７】
宛先検出器６００は、いくつかの構成要素、ルーチン、アルゴリズム、構成データなどを利用して、様々な応答のない追跡される接続を解析して、これらの接続が、マルウェアおよび／または感染したデバイスを示す可能性があるかどうかを判定することが可能である。ステップ６０６で、宛先検出器６００が、追跡される接続リスト６０４からいくつかのエントリまたは行を選択し、さらに／または読み取ることが可能である。例えば、宛先検出器６００は、或る期間内の固有の送信元／宛先（例えば、Ｓｒｃ、Ｄｓｔ、ＳｒｃＰｏｒｔ、およびＤｓｔＰｏｒｔ）を有するすべてのエントリを読み取ることが可能である。この期間は、図２のヘッダキャプチャエンジン２０４によって使用される期間とは異なり得る。宛先検出器６００によって使用される期間は、追跡される接続リスト６０４の中のいくつかのエントリまたは行にわたることが可能である。
【００５８】
宛先検出器６００によって使用される期間は、例えば、構成ファイルまたは構成データベースからの、例えば、期間構成データ６０８によって、ユーザによって定義されるもの、さらに／またはユーザによって供給されるものであり得る。宛先検出器６００によって使用される期間は、例えば、図５の量検出器５００によって使用される（複数の）期間と比べて、より長い期間にわたって宛先検出器６００がパケットにおける異常を検出することが可能であるように調整され得る。宛先検出器６００によって使用される期間は、最少の偽陽性イベント生成、例えば、通信傾向のより明確な見通しを可能にするだけ十分に長い期間をもたらすように調整され得る。一例として、マルウェアプログラム、例えば、ＡＰＴプログラムが、規則的な間隔で、ときとして、同じ数の試行を行って、同じ宛先サーバと通信しようと試みることが可能である。さらに、一部のハッカは、多くの宛先サーバを保持する可能性があり、さらに一部のマルウェアプログラムは、特定のサーバに対する接続の試みを、長い期間の合間をあけて行う可能性がある。宛先検出器６００によって使用される期間は、その期間が、より長い期間にわたる特定の宛先に対する傾向に、例えば、送信元が特定の宛先に接触しようと試みる平均回数（例えば、２週間にわたって１５回の試行）に気付くだけ十分に長いように調整され得る。
【００５９】
本開示の一部の実施形態において、宛先検出器６００は、２つ以上の期間を利用することが可能である。これらの複数の期間、例えば、１週間の期間、４週間の期間、および８週間の期間は、重なり合うことが可能である。宛先検出器６００は、複数の期間を利用して、様々なタイプのマルウェア、および／または様々なタイプのビーコン挙動を検出しようと試みることが可能である。複数の期間を利用する実施形態において、しきい値構成データ６１６は、例えば、構成データベースの中の異なる構成ファイル、または異なるデータの、各期間に関する構成データの別々のセットを含み得る。
【００６０】
ステップ６１０で、固有の送信元／宛先（例えば、固有のＳｒｃフィールド、Ｄｓｔフィールド、ＳｒｃＰｏｒｔフィールド、ＤｓｔＰｏｒｔフィールド）を有するパケットまたはヘッダのセットが、或る時間枠（または複数の時間枠）内で選択されると、宛先検出器６００が、このセットの中で各宛先（例えば、Ｄｓｔ、ＤｓｔＰｏｒｔのタプル）が出現する回数をカウントすることが可能である。このカウントは、複数の送信元が、共通の宛先、例えば、潜在的なＡＰＴ  Ｃ＆Ｃサーバを相手に接続を確立しようと試みる状況を検出するのに使用され得る。ステップ６１２で、このセットからのそれぞれの固有の宛先（例えば、Ｄｓｔ／ＤｓｔＰｏｒｔのタプル）が解析される。ステップ６１２のサブステップとして、ステップ６１４で、このセットからのそれぞれの固有の宛先（例えば、Ｄｓｔ／ＤｓｔＰｏｒｔのタプル）に関して、この宛先が出現した回数のカウントがしきい値と比較されて、このカウントがしきい値を超えるかどうかが判定される。このしきい値は、例えば、構成ファイルまたは構成データベースからの、例えば、しきい値構成データ６１６によって、ユーザによって定義されるもの、さらに／またはユーザによって供給されるものであり得る。ステップ６１４で、このカウントがしきい値未満である場合、アクションは全く起こされず（ステップ６１８）、宛先検出器６００は、ステップ６０６に戻って、次のセットの固有のタプルを選択する。このカウントがしきい値を超えている場合、宛先検出器６００は、イベントを生成することが可能であり（ステップ６２０）、さらにこのイベントをイベントリスト６０２に通信することが可能である。このイベントは、その特定の宛先（例えば、Ｄｓｔ／ＤｓｔＰｏｒｔの組合せ）が潜在的なマルウェア（例えば、ＡＰＴ）Ｃ＆ＣサーバもしくはＣ＆Ｃデバイスと関係することを示し得る。次に、宛先検出器６００は、ステップ６０６に戻って、次のセットの固有のタプルを選択する。
【００６１】
ステップ６２２で、ステップ６１４で識別された特定の宛先（例えば、Ｄｓｔ／ＤｓｔＰｏｒｔのタプル）が繰り返し出現するマルウェア（例えば、ＡＰＴ）Ｃ＆ＣサーバもしくはＣ＆Ｃデバイスであるかどうかを判定する１つまたは複数のルーチンが、開始することが可能である。ステップ６２２で、宛先検出器６００が、送信元デバイスごとに、その特定の宛先（例えば、Ｄｓｔ／ＤｓｔＰｏｒｔのタプル）が応答のないパケット（例えば、デッドＳＹＮパケット）の目標であった平均回数を計算することが可能である。この計算は、送信元が、その期間にわたってどれだけの頻度で宛先に接続しようと試みるかの推定をもたらし得る。ステップ６２４で、ステップ６２２の計算の結果が、先行する１つまたは複数の期間に関して行われた同じ計算の結果（すなわち、送信元ごとの平均宛先）と比較され得る。ステップ６２６で、現在の期間からの平均と過去の（複数の）期間からの平均が近い、例えば、互いに標準偏差１以内である場合、このことは、送信元が、規則的に、繰り返し、同じ宛先に、例えば、潜在的なＣ＆Ｃサーバに接続しようと試みていることを示し得る（例えば、直近の２週間、その前の２週間などにわたって１５回の試行）。このことは、規則的な間隔でビーコンを送ろうと試みるマルウェアの中の繰り返し出現するコードを示し得る。ステップ６３０で、宛先検出器６００が、追跡される接続リスト６０４と通信して、現在の宛先（例えば、Ｄｓｔ／ＤｓｔＰｏｒｔのタプル）を有する応答のないパケット（例えば、デッドＳＹＮパケット）を有するすべての送信元デバイスのリストを取得し、さらに／または生成することが可能である。次に、宛先検出器６００は、各送信元に関してイベントを生成することが可能であり、さらにこれらのイベントをイベントリスト６０２に通信することが可能である。各送信元に関するイベントは、例えば、高い確率で、その送信元が、その宛先と関係するＣ＆Ｃサーバと通信しようと試みているマルウェアに、例えば、ＡＰＴマルウェアに感染している見込みがあることを示し得る。
【００６２】
ステップ６２６で、現在の期間からの平均と過去の（複数の）期間からの平均が近くはない、例えば、互いに標準偏差１以内ではない場合、宛先検出器６００は、イベントを全く生成しないことが可能であり、ステップ６０６に戻って、次のセットの固有のタプルを選択することが可能である。
【００６３】
図７Ａは、本開示の１つまたは複数の実施形態による、クラスタ検出モジュール７００において見られることが可能である例示的な構成要素、ルーチン、アルゴリズム、構成データなどを示すブロック図の例示を示す。クラスタ検出器７００は、図２のクラスタ検出器２２４と同様であり得る。クラスタ検出器７００は、図２の追跡される接続リスト２１６と同様であり得る追跡される接続リスト７０４と通信することが可能である。クラスタ検出器７００は、追跡される接続リスト７０４の中に格納された情報を利用することが可能である。
【００６４】
クラスタ検出器７００は、入力として、追跡される接続リスト７０４からエントリを受け入れることが可能である。各エントリは、タプルを含み得る。一例として、タプルは、開始時刻および終了時刻と、開始時刻に始まり、終了時刻に終わる期間にわたってヘッダキャプチャエンジンによって認識された、送信元情報（例えば、送信元ＩＰアドレス（Ｓｒｃ）、送信元ポート（ＳｒｃＰｏｒｔ））および宛先情報（例えば、宛先ＩＰアドレス（Ｄｓｔ）、宛先ポート（ＤｓｔＰｏｒｔ））などの固有のパケットヘッダ情報とを含み得る。本開示の一部の実施形態において、「宛先」とは、単一の宛先（例えば、単一のコンピュータ、単一のＩＰアドレスなど）にとどまらないものを指す可能性があることを理解されたい。例えば、宛先は、１つまたは複数のグループの特定の宛先、例えば、いくつかの範囲のネットワークアドレスまたはＩＰアドレスなどを全体的に指すことが可能である。このため、本明細書で説明される様々な実施形態は、或る宛先について述べる可能性があるものの、本明細書で説明される技法を１つまたは複数のグループの宛先に適用し得る様々な実施形態、または代替の実施形態が企図されることを理解されたい。クラスタ検出器７００は、１つまたは複数のイベント（ステップ７２０、７３６、およびイベントリスト７０２を参照）、例えば、解析および／またはアクションのために別のエンティティに通信され得るイベントを出力することが可能である。これらのイベントは、関心対象であり得るネットワークトラフィックにおいて異常が検出されていることを示すことが可能である。
【００６５】
クラスタ検出器７００は、いくつかの構成要素、ルーチン、アルゴリズム、構成データなどを利用して、様々な応答のない追跡される接続を解析して、これらの接続が、マルウェアおよび／または感染したデバイスを示す可能性があるかどうかを判定することが可能である。例えば、クラスタ検出器７００は、送信元によって行われた応答のない接続の試みのクラスタ間の周期性を検出することが可能である。ステップ７０６で、クラスタ検出器７００が、追跡される接続リスト７０４からいくつかのエントリまたは行を選択し、さらに／または読み取ることが可能である。例えば、クラスタ検出器７００は、或る期間内のすべてのエントリを読み取ることが可能であり、さらにこれらのエントリを送信元別にグループ化することが可能である。この期間は、図２のヘッダキャプチャエンジン２０４によって使用される期間とは異なる期間であり得る。クラスタ検出器７００によって（ステップ７０６で）使用されるこの期間は、追跡される接続リスト７０４の中のいくつかのエントリまたは行にわたることが可能である。
【００６６】
クラスタ検出器７００によって（ステップ７０６で）使用される期間は、例えば、構成ファイルまたは構成データベースからの、例えば、期間構成データ７０８によって、ユーザによって定義されるもの、さらに／またはユーザによって供給されるものであり得る。クラスタ検出器７００によって（ステップ７０６で）使用される期間は、例えば、図５の量検出器５００によって使用される（複数の）期間と比べて、より長い期間にわたってクラスタ検出器７００がパケットにおける異常を検出することが可能であるように調整され得る。クラスタ検出器７００によって（ステップ７０６で）使用される期間は、例えば、図６の宛先検出器６００によって使用される（複数の）期間と比べて、より短いことが可能である。クラスタ検出器７００によって使用される期間は、特定の送信元に関する繰り返される挙動が検出されることが可能であるように調整され得る。例えば、感染したデバイス上で実行されるマルウェアが、或る短い期間内に（例えば、異なるいくつかの宛先サーバに対して）数回の接続を行おうと試みることが可能であり（すなわち、これらの接続は、時間的にクラスタ化していることが可能であり）、さらに、その後、そのマルウェアが、比較的長い期間、待ってから、別のクラスタの接続を試みることが可能である。つまり、マルウェア（例えば、ＡＰＴマルウェア）が、規則的な、繰り返される間隔でＣ＆Ｃサーバにビーコン（またはクラスタのビーコン）を送出することが可能である。
【００６７】
本開示の一部の実施形態において、クラスタ検出器７００は、例えば、偽陽性イベント生成を最小限に抑えるように、２つ以上の期間を利用することが可能である。これらの複数の期間、例えば、２週間の期間、４週間の期間、および６週間の期間は、重なり合うことが可能である。クラスタ検出器７００は、複数の期間を利用して、様々なタイプのマルウェア、および／または様々なタイプのビーコン挙動を検出しようと試みることが可能である。複数の期間を利用する実施形態において、しきい値構成データ７０８および／または７２４は、例えば、構成データベースの中の異なる構成ファイル、または異なるデータの、各期間に関する構成データの別々のセットを含み得る。
【００６８】
ステップ７１０で、それぞれの固有の送信元に関して、共通の送信元を有するセット（ステップ７０６）からのすべてのエントリ、またはすべてのパケットが解析される。ステップ７１０のサブステップとして、ステップ７１２で、各送信元に関して、これらのパケットのすべてが、時間クラスタにグループ化され得る。図７Ｂは、時間の経過とともに送信元によって試みられる例示的な接続を示すグラフ７５０の例示を示す。図７Ｂで見て取ることができるとおり、第１のクラスタ化７５２が、１０：００：００の印の少し後に生じており、さらに第２のクラスタ化７５４が、１０：５７：３６の印の辺りで生じている。図７Ａを再び参照すると、クラスタ検出器７００が、互いに比較的近い様々な接続の試みを、いくつかの離散的なデータポイントではなく、単一のクラスタとして認識するようにプログラミングされ、さらに／または設計されることが可能である。クラスタ検出器７００は、互いに比較的近い様々な接続の試みを組み合わせて、単一のデータポイント（例えば、図７Ｂにおける２つのデータポイント７５２、７５４）にするようにプログラミングされ、さらに／または設計されることが可能である。次に、クラスタ検出器７００は、正確な接続時間とは対照的に接続の試みのクラスタを比較するときにパターンがより顕著になる可能性があるため、例えば、クラスタデータポイントを使って、動作、ルーチンなどを行うことが可能である。
【００６９】
ステップ７１４で、クラスタ検出器７００が、接続の試みのクラスタ間の時間を測定することが可能である。ステップ７１６で、クラスタ検出器７００が、クラスタ間の時間が繰り返されるパターンで、または規則的な間隔で形成されるように見えるかどうかを判定することが可能である。例えば、ステップ７１６で、クラスタ検出器７００が、接続試行クラスタ間の時間が互いに近い、例えば、標準偏差１以内であるかどうかを検出することが可能である。ステップ７１６で、クラスタ間の時間がパターンを形成するように見えない場合、クラスタ検出器７００は、イベント生成に関して全くアクションを起こさず（ステップ７１８）、ステップ７１０に戻って、各送信元に関する反復を繰り返す。クラスタ間の時間がパターンを形成するように見える場合、クラスタ検出器７００は、適切なイベントを生成することが可能であり（ステップ７２０）、さらにこのイベントをイベントリスト７０２に通信することが可能である。このイベントは、その特定の送信元がマルウェアに、例えば、繰り返しＣ＆Ｃサーバにビーコンを送っている可能性があるＡＰＴマルウェアに感染している可能性があることを示し得る。次に、クラスタ検出器７００は、ステップ７１０に戻って、各送信元に関する反復を繰り返すことが可能である。
【００７０】
ステップ７２２で、クラスタ検出器７００が、ステップ７０６で始まった（複数の）ルーチンと同様の１つまたは複数のルーチンを開始することが可能である。例えば、ステップ７２２で始まる（複数の）ルーチンは、同様のクラスタ化ステップおよび検出ステップを使用することが可能である。ステップ７２２で始まる（複数の）ルーチンは、ステップ７０６で始まった（複数の）ルーチンとは異なる入力データセットを使用することが可能であり、したがって、（ステップ７３６で）生成される（複数の）イベントは、異なることが可能である。ステップ７２２で、クラスタ検出器７００が、追跡される接続リスト７０４からいくつかのエントリ、またはいくつかの行を選択し、さらに／または読み取ることが可能である。例えば、クラスタ検出器７００は、或る期間内のすべてのエントリを読み取ることが可能であり、さらに送信元／宛先タプル（例えば、Ｓｒｃ／Ｄｓｔ／ＤｓｔＰｏｒｔのタプル）別にエントリをグループ化することが可能である。クラスタ検出器７００によって（ステップ７２２で）使用されるこの期間は、追跡される接続リスト７０４の中のいくつかのエントリ、またはいくつかの行にわたることが可能である。クラスタ検出器７００によって（ステップ７２２で）使用されるこの期間は、例えば、構成ファイルまたは構成データベースからの、例えば、期間構成データ７２４によって、ユーザによって定義されるもの、さらに／またはユーザによって供給されるものであり得る。この期間は、期間構成データ７０８に関連する期間と同様であり得るが、この期間は、異なること、さらに／または独立に構成されることも可能である。ステップ７２６で、それぞれの固有の送信元／宛先（例えば、Ｓｒｃ／Ｄｓｔ／ＤｓｔＰｏｒｔのタプル）に関して、その共通の送信元／宛先を有するセットからのすべてのエントリまたはパケット（ステップ７２２）が解析される。次に、ステップ７２８、７３０、７３２、７３４、７３６が、ステップ７１２、７１４、７１６、７１８、７２０と同様に実行される。ステップ７３６で生成される（複数の）イベントは、特定の送信元がマルウェア（例えば、ＡＰＴマルウェア）に感染している可能性があることを示すことが可能であり、さらにその送信元がビーコンを送っているのが、厳密には、いずれのＣ＆ＣサーバもしくはＣ＆Ｃデバイスであるかを示すことも可能である。そのＣ＆Ｃサーバを知ることは、厳密には、いずれのマルウェアプログラムもしくはＡＰＴマルウェアプログラムがＳｒｃデバイス上に存在するかを特定するのに役立ち得る。
【００７１】
応答のない発信ネットワークトラフィックの解析を介して感染したネットワークデバイスを検出することの利点に関して、以下に、本開示の１つまたは複数の実施形態のさらなる利点を説明する。説明される利点は、限定または要件ではなく、さらに一部の実施形態は、説明される利点のうちの１つまたは複数を省くことが可能であることを理解されたい。
【００７２】
本開示の１つまたは複数の実施形態は、ネットワークセキュリティツールのより大きいスイートもしくはパッケージの中で動作可能であるように適応させられることが可能である。本開示で説明されるシステム、方法、ルーチン、および／または技法は、例えば、警告イベントなどを生成するための１つの源として、ネットワークセキュリティパッケージ内の１つまたは複数のツールを形成することが可能である。また、ネットワークセキュリティパッケージは、警告イベントを解析することが可能な１つまたは複数のイベント相関器などを含むことも可能である。
【００７３】
本開示で説明されるシステム、方法、ルーチン、および／または技法は、認識される脅威のシグネチャおよび／またはフィンガプリントも、悪意があることが広く知られているＩＰアドレスについての知識を要求することなしに、マルウェアの検出を可能にすることができる。説明されるシステム、方法、ルーチン、および／または技法は、パケットの挙動を解析することによって、マルウェアプログラムのコードを解析することなしにマルウェアを検出することが可能であるため、多種多様な悪意のあるコード、例えば、シグネチャファイルおよび／またはフィンガプリントファイルがまだ知られていない新たなマルウェアプログラムを検出することができる。したがって、本開示において説明されるシステム、方法、ルーチン、および／または技法は、大規模な規則ベースの、またはシグネチャベースの比較アプローチに依拠する様々な技法の利点を提供することが可能である。
【００７４】
本開示で説明されるシステム、方法、ルーチン、および／または技法は、セキュリティ技術者が、パケットストリーム全体を解析することができ、さらに圧倒的な量（例えば、一部のサンプル実装形態において１日当り１６０億パケットを超える）のデータの中でパターンを認識できるとした場合に、セキュリティ技術者が行う可能性が高い解析を自動化することが可能である。本明細書で説明されるシステム、方法、ルーチン、および／または技法は、セキュリティ技術者が、感染している可能性があるデバイスを迅速に識別するのを助けて、これにより、時間を最大限に利用することが可能である。さらに、脅威についてのあらかじめの知識（すなわち、シグネチャなど）が要求されないため、セキュリティ技術者は、特定のタイプの知識でシステムを「準備」しなくてもよい可能性があり、したがって、システムは、セットアップするのにそれほど労力と時間を要さないことが可能である。さらに、セキュリティ技術者が、それまでに検出するのに時間または情報を有していなかった可能性がある脅威を、セキュリティ技術者が検出することができる可能性がある。
【００７５】
本開示で説明されるシステム、方法、ルーチン、および／または技法は、例えば、脅威を検出するのにそれほど人的資源が要求されない可能性があるため、大幅な費用節約を可能にすることができる。本開示で説明されるシステム、方法、ルーチン、および／または技法は、個人およびエンティティが、センシティブな情報、例えば、知的財産および機密情報が失われるのを防ぐことを助けることが可能である。有害なマルウェアの早期の検出は、個人またはエンティティが、早期の改善ステップを行うことを可能にすることができ、このことにより、大規模なエンティティの場合、数百万ドルが節約され得る。
【００７６】
説明される様々な実施形態の流れ図および／またはブロック図に示される例示的な方法およびルーチンを含む、本開示で説明されるシステム、方法、ルーチン、および／または技法は、データ処理システムが、本明細書で説明される方法、ルーチン、技法、およびソリューションを行い、さらに／または実行するように適応させられるようにプログラミングされたデータ処理システムによって実行されるソフトウェアとして実施され得る。本明細書で参照されるブロック図または流れ図における各ブロックまたは各記号は、１つまたは複数のデータ処理システムによって、指定された機能または複数の機能を実施するための１つまたは複数の実行可能命令を備える、コンピュータが使用可能な、またはコンピュータ可読のプログラムコードのモジュール、セグメント、または一部分を表すことが可能である。本開示の一部の代替の実装形態において、ブロック図または流れ図のブロックまたは記号に示される機能または複数の機能は、それらの図に記載される順序を外れて生じてもよい。例えば、一部の事例において、連続して示される２つのブロックまたは記号が、実質的に同時に実行されてもよく、またはそれらのブロックが、関与する機能に依存して、ときとして、逆の順序で実行されてもよい。本開示の様々な実施形態は、コンピュータプログラム製品からアクセス可能であり、コンピュータによって、または命令を実行する任意のデバイスもしくはシステムによって、または以上に関連して使用されるようにプログラムコードを提供する、永続的ストレージ上、および／またはコンピュータが使用可能な、もしくはコンピュータ可読の媒体上に格納されたコンピュータコードの形態をとり得る。このコンピュータコードの一部またはすべてが、データ処理システムのメモリにロードされてから、データ処理システムがこのコードを実行することが可能である。
【００７７】
次に図８を参照すると、本開示の方法、ルーチン、および／または技法のうちの１つまたは複数を部分的に、または全体として実行することが可能である例示的なデータ処理システム８００の図が示されている。本開示の一部の実施形態において、複数のデータ処理システム、例えば、複数のデータ処理システム８００が、本明細書で説明される方法、ルーチン、技法、およびソリューションを実施するのに使用され得る。図８の例において、データ処理システム８００は、構成要素、例えば、プロセッサユニット８０４、メモリ８０６、永続的ストレージ８０８、通信ユニット８１０、入出力（Ｉ／Ｏ）ユニット８１２、およびディスプレイ８１４の間で通信をもたらす通信ファブリック８０２を含み得る。１つの特定の実施形態において、データ処理システム８００は、モニタ、キーボード、マウス、および、場合により、他の周辺デバイスに関連するパーソナルコンピュータ（ＰＣ）または他のコンピュータアーキテクチャであり得る。別の特定の実施形態において、データ処理システムは、例えば、図１に示されるファイアウォール１０４であり得る。
【００７８】
プロセッサユニット８０４は、メモリ８０６にロードされ得る命令（例えば、ソフトウェアプログラム）を実行する役割をすることが可能である。プロセッサユニット８０４は、特定の実装形態に依存して、１つまたは複数のプロセッサのセットであることが可能であり、またはマルチプロセッサコアであることが可能である。さらに、プロセッサユニット８０４は、メインプロセッサが単一のチップ上に二次プロセッサと一緒に存在する１つまたは複数の異種のプロセッサシステムを使用して実施されてもよい。別の説明的な例として、プロセッサユニット８０４は、同じタイプの複数のプロセッサを含む対称マルチプロセッサシステムであり得る。
【００７９】
これらの例におけるメモリ８０６は、例えば、ランダムアクセスメモリ、または他の任意の適切な揮発性もしくは不揮発性のストレージデバイスであり得る。
【００８０】
永続的ストレージ８０８は、特定の実装形態に依存して様々な形態をとり得る。例えば、永続的ストレージ８０８は、１つまたは複数の構成要素またはデバイスを含み得る。例えば、永続的ストレージ８０８は、ハードドライブ、フラッシュメモリ、書き換え可能な光ディスク、書き換え可能な磁気テープ、または以上の何らかの組合せであり得る。永続的ストレージ８０８によって使用される媒体は、リムーバブルであることも可能である。例えば、リムーバブルハードドライブが使用され得る。
【００８１】
オペレーティングシステムに関する命令は、永続的ストレージ８０８上に置かれることが可能である。１つの特定の実施形態において、オペレーティングシステムは、いくつかの知られているオペレーティングシステムの何らかのバージョンであり得る。アプリケーションおよび／またはプログラムに関する命令が、やはり、永続的ストレージ８０８上に置かれることが可能である。これらの命令は、プロセッサユニット８０４によって実行されるようにメモリ８０６にロードされ得る。例えば、本開示で説明される様々な実施形態のプロセスは、メモリ８０６などのメモリにロードされ得るコンピュータによって実施される命令を使用してプロセッサユニット８０４によって行われ得る。プロセッサユニット８０４内のプロセッサによって読み取られ、さらに実行され得るこれらの命令は、プログラムコード、コンピュータが使用可能なプログラムコード、またはコンピュータ可読のプログラムコードと呼ばれる。様々な実施形態におけるプログラムコードは、メモリ８０６、永続的ストレージ８０８、および／または、例えば、ＣＤもしくはＤＶＤの一部としての他のコンピュータ可読媒体などの様々な物理的コンピュータ可読媒体上、または実体のあるコンピュータ可読媒体上に実現され得る。
【００８２】
アプリケーションおよび／またはプログラムに関する命令が、データ処理システム８００に永久的には含められないコンピュータ可読媒体８１８上に置かれることが可能である。例えば、プログラムコード８１６が、コンピュータ可読媒体８１８上に或る機能形態で置かれることが可能であり、さらにプロセッサユニット８０４によって実行されるようにデータ処理システム８００にロードされる、または転送されることが可能である。プログラムコード８１６とコンピュータ可読媒体８１８が、コンピュータプログラム製品８２０を形成することが可能である。一例において、コンピュータ可読媒体８１８は、例えば、永続的ストレージ８０８の一部であるハードドライブなどのストレージデバイス上に移されるように、ドライブまたは他のデバイスに挿入される、または入れられる光ディスクまたは磁気ディスクなどの実体のある形態であることが可能である。このドライブまたは他のデバイスは、例えば、通信ファブリック８０２を介して、または入出力ユニット８１２を介して、データ処理システム８００の他の構成要素に接続されること、またはそのような構成要素と通信状態にあることが可能である。別の実体のある形態において、コンピュータ可読媒体８１８は、データ処理システム８００に接続されたハードドライブまたはフラッシュメモリなどの永続的ストレージであり得る。
【００８３】
本開示の目的のため、コンピュータが使用可能な媒体またはコンピュータ可読の媒体は、一般に、システム、例えば、命令を実行するシステムによって、またはそのようなシステムに関連して使用されるように（ソフトウェアプログラムなどの）データを含むこと、格納すること、通信すること、伝搬すること、またはトランスポートすることが可能な任意の実体のある装置であり得る。コンピュータが使用可能な媒体またはコンピュータ可読の媒体は、例えば、電子、磁気、光学、電磁、赤外線または半導体のシステムまたは伝搬媒体とすることができるが、これらに限定されない。コンピュータ可読媒体の限定的でない例には、半導体メモリもしくはソリッドステートメモリ、磁気テープ、リムーバブルコンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、磁気ハードディスク、および光ディスクが含まれる。光ディスクには、コンパクトディスク読み取り専用メモリ（ＣＤ  ＲＯＭ）、書き換え可能なコンパクトディスク（ＣＤ  Ｒ／Ｗ）、およびＤＶＤが含まれ得る。さらに、コンピュータが使用可能な、またはコンピュータ可読の媒体は、コンピュータ可読の、またはコンピュータが使用可能なプログラムコードがコンピュータ上で実行されると、このコンピュータ可読の、またはコンピュータが使用可能なプログラムコードの実行が、コンピュータに、指定されるルーチン、手順、ステップなどを実行させるように、コンピュータ可読の、またはコンピュータが使用可能なプログラムコードを含む、または格納することが可能である。この実体のある形態のコンピュータ可読媒体は、コンピュータが記録可能な記憶媒体とも呼ばれる。
【００８４】
ディスプレイ８１４が、例えば、ＣＲＴモニタ、ＬＣＤモニタ、もしくはＬＥＤモニタ、ＬＥＤ照明、または他のタイプのディスプレイを介して、ユーザに情報を表示する機構を提供することが可能である。
【００８５】
入出力（Ｉ／Ｏ）ユニット８１２が、データ処理システム８００に接続され得る他のデバイスを用いてデータを入力すること、および出力することを可能にする。例えば、入出力ユニット８１２は、キーボード、タッチスクリーン、マウス、および／または他のポインティングデバイスを介するユーザ入力のための接続をもたらすことが可能である。さらに、入出力ユニット８１２は、プリンタに出力を送ることが可能である。入出力デバイスが、直接に、または介在するＩ／Ｏコントローラ経由でシステムに結合され得る。様々な通信アダプタが、システムに結合されて、データ処理システムが、介在するプライベートネットワークまたは公共ネットワークを介して他のデータ処理システム、または遠隔プリンタ、またはストレージデバイスに結合され得るようにすることも可能である。モデムやネットワークアダプタなどの限定的でない例は、現在、利用可能なタイプの通信アダプタのいくつかに過ぎない。プログラムコード８１６が、入出力ユニット８１２に対する接続を介してコンピュータ可読媒体８１８からデータ処理システム８００に転送され得る。この接続は、説明的な例において物理的であっても、ワイヤレスであってもよい。コンピュータ可読媒体は、プログラムコードを含む通信リンクまたはワイヤレス伝送などの実体のない媒体の形態をとることも可能である。
【００８６】
データ処理システム８００に関して示される様々な構成要素は、様々な実施形態が実施され得る様態にアーキテクチャ上の限定をもたらすことは意図していない。様々な例示的な実施形態は、データ処理システム８００に関して例示される構成要素に加えて、またはそのような構成要素の代わりに複数の構成要素を含むデータ処理システムにおいて実施されてもよい。図８に示される他の構成要素は、図示される説明的な例とは異なることが可能である。例えば、バスシステムが、通信ファブリック８０２を実施するのに使用されることが可能であり、さらにシステムバスまたは入出力バスなどの１つまたは複数のバスから成ることが可能である。このバスシステムは、このバスシステムにつながれた様々な構成要素またはデバイスの間でデータの転送を可能にする任意の適切なタイプのアーキテクチャを使用して実施され得る。さらに、通信ユニットが、モデムまたはネットワークアダプタなどの、データを送受信するのに使用される１つまたは複数のデバイスを含み得る。さらに、メモリは、例えば、メモリ８０６、および／または通信ファブリック８０２内に存在することが可能なインターフェース−メモリコントローラハブにおいて見られるキャッシュなどのキャッシュであり得る。
【００８７】
通信ユニット８１０が、他のデータ処理システムまたはデータ処理デバイスとの通信を可能にし得る。これらの例において、通信ユニット８１０は、ネットワークインターフェースカード（ＮＩＣ）であり得る。通信ユニット８１０は、物理的通信リンクおよび／またはワイヤレス通信リンクのいずれか、または両方の使用を介して通信をもたらし得る。通信ユニット８１０は、データの入力を可能にし得る。通信ユニット８１０は、データ（例えば、パケット、ヘッダなど）のキャプチャ、または別のデバイスからのデータの転送を円滑にすることが可能である。
【００８８】
コンピュータ可読媒体は、プログラムコードを含む通信リンクまたはワイヤレス伝送などの実体のない媒体の形態をとることも可能である。
【００８９】
様々な有利な実施形態の説明は、例示および説明のために提示されており、網羅的であることも、開示される形態に実施形態を限定することも意図していない。多くの変形形態および変更形態が、当業者には明白となろう。様々な実施形態には、以下が含まれ得る。すなわち、
【００９０】
Ａ１．ネットワークセキュリティおよび／またはデバイスセキュリティのための、コンピュータによって実施される方法であって、１つまたは複数のコンピュータ上で、入力として、ネットワークトラフィックから複数のパケット情報を受け取るルーチンを実行すること、１つまたは複数のコンピュータ上で、複数のパケット情報を解析して、或る期間中に応答パケットを全く受信しない発信ネットワークパケットを識別するルーチンを実行すること、および、１つまたは複数のコンピュータ上で、応答パケットを全く受信していない発信ネットワークパケットと関係するパケット情報が、１つまたは複数のデータストアの中に格納されるようにする、さらに／または追跡されるようにするルーチンを実行することを備える、コンピュータによって実施される方法。
【００９１】
Ａ２．複数のパケット情報を解析して、或る期間中に応答パケットを全く受信しない発信ネットワークパケットを識別するステップは、複数のパケット情報を解析して、デッドＳＹＮパケットである発信ネットワークパケットを識別することを含むＡ１のコンピュータによって実施される方法。
【００９２】
Ａ３．１つまたは複数のコンピュータ上で、１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するルーチンを実行すること、およびネットワークトラフィックに異常が存在するかどうかの判定に基づいて、１つまたは複数のイベントを生成することをさらに備え、この１つまたは複数のイベントは、ネットワーク内に、またはデバイス上にマルウェアが存在する可能性があることを示す、Ａ１のコンピュータによって実施される方法。
【００９３】
Ａ４．ネットワークトラフィックに異常が存在するかどうかを判定するステップは、アドバンストパーシスタントスレット（ＡＰＴ）の存在を示す異常を検出することを含む、Ａ３のコンピュータによって実施される方法。
【００９４】
Ａ５．１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、特定の送信元デバイスが、応答パケットを全く受信していない複数の発信ネットワークパケットを生成しているかどうかを判定することを含む、Ａ３のコンピュータによって実施される方法。
【００９５】
Ａ６．１つまたは複数のコンピュータ上で、入力として、１つまたは複数のデータストアから、複数のパケット情報を含むグループのパケット情報を受け取り、複数のパケット情報のそれぞれは、ネットワークパケットに関連するとともに、関連するパケットの送信元および宛先と、時間指示とを含むルーチンを実行することをさらに備え、さらに１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、グループのパケット情報を解析して、同じ送信元および同じ宛先を有するグループの中のパケット情報の数を判定すること、および同じ送信元および同じ宛先を有するパケット情報の数がしきい値を超えるかどうかを判定することを含む、Ａ３のコンピュータによって実施される方法。
【００９６】
Ａ７．グループの中に含められるパケット情報の数は、或る数のパケット情報が或る所定の期間にわたって受信されるように、期間構成を各パケット情報の時間指示と比較することによって決定される、Ａ６のコンピュータによって実施される方法。
【００９７】
Ａ８．１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、複数の送信元デバイスが同じマルウェアに感染しているかどうかを判定することを含む、Ａ３のコンピュータによって実施される方法。
【００９８】
Ａ９．１つまたは複数のコンピュータ上で、入力として、１つまたは複数のデータストアから、複数のパケット情報を含むグループのパケット情報を受け取り、複数のパケット情報のそれぞれは、ネットワークパケットに関連するとともに、関連するパケットの送信元および宛先と、時間指示とを含むルーチンを実行することをさらに備え、さらに１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、グループのパケット情報を解析して、各宛先に関して、それぞれの固有の送信元に関するグループの中のパケット情報の数を判定すること、および単一の宛先に関して、それぞれの固有の送信元を有するパケット情報の数がしきい値を超えるかどうかを判定することを含む、Ａ３のコンピュータによって実施される方法。
【００９９】
Ａ１０．１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、送信元デバイスが複数の宛先と通信しようと試みているかどうかを判定することを含む、Ａ３のコンピュータによって実施される方法。
【０１００】
Ａ１１．１つまたは複数のコンピュータ上で、入力として、１つまたは複数のデータストアから、複数のパケット情報を含むグループのパケット情報を受け取り、複数のパケット情報のそれぞれは、ネットワークパケットに関連するとともに、関連するパケットの送信元および宛先と、時間指示とを含むルーチンを実行することをさらに備え、さらに１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、グループのパケット情報を解析して、各送信元に関して、それぞれの固有の宛先に関するグループの中のパケット情報の数を判定すること、および単一の送信元に関して、それぞれの固有の宛先を有するパケット情報の数がしきい値を超えるかどうかを判定することを含む、Ａ３のコンピュータによって実施される方法。
【０１０１】
Ａ１２．１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、特定の送信元デバイスが、繰り返し特定の宛先と通信しようと試みているかどうかを判定することを含む、Ａ３のコンピュータによって実施される方法。
【０１０２】
Ａ１３．１つまたは複数のコンピュータ上で、入力として、１つまたは複数のデータストアから、複数のパケット情報を含むグループのパケット情報を受け取り、複数のパケット情報のそれぞれは、ネットワークパケットに関連するとともに、関連するパケットの送信元および宛先と、時間指示とを含むルーチンを実行することをさらに備え、グループの中の複数のパケット情報のそれぞれは、同じ送信元および同じ宛先を有し、さらに１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、グループのパケット情報を解析して、各宛先に関して、グループの中のパケット情報の数を判定すること、および単一の宛先に関するパケット情報の数がしきい値を超えるかどうかを判定することを含む、Ａ３のコンピュータによって実施される方法。
【０１０３】
Ａ１４．１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、特定の送信元デバイスが、或る期間にわたって特定の宛先と通信しようと試みている平均回数が、先行する期間にわたる平均とほぼ同じであるかどうかを判定することを含む、Ａ３のコンピュータによって実施される方法。
【０１０４】
Ａ１５．１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、単一の宛先に関して、送信元ごとに単一の宛先を有するグループの中のパケット情報の平均数を判定すること、この平均数を、先行するグループのパケット情報のそれまでの平均数と比較すること、およびこの平均数とそれまでの平均数がほぼ同じであるかどうかを判定することをさらに含む、Ａ１３のコンピュータによって実施される方法。
【０１０５】
Ａ１６．グループの中に含められるパケット情報の数は、或る数のパケット情報が或る所定の期間にわたって受け取られるように、期間構成を各パケット情報の時間指示と比較することによって決定される、Ａ１３のコンピュータによって実施される方法。
【０１０６】
Ａ１７．１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、特定の送信元デバイスが、応答パケットを全く受信していない発信ネットワークパケットの繰り返されるクラスタを生成しているかどうかを判定することを含む、Ａ３のコンピュータによって実施される方法。
【０１０７】
Ａ１８．１つまたは複数のコンピュータ上で、入力として、１つまたは複数のデータストアから、複数のパケット情報を含むグループのパケット情報を受け取り、複数のパケット情報のそれぞれは、ネットワークパケットに関連するとともに、関連するパケットの送信元および宛先と、時間指示とを含むルーチンを実行することをさらに備え、１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、グループのパケット情報を解析し、さらに、各送信元に関して、互いに比較的近い時間指示を有するパケット情報に関してパケットクラスタを形成すること、およびパケットクラスタ間の時間が繰り返されているかどうかを判定することを含む、Ａ３のコンピュータによって実施される方法。
【０１０８】
Ａ１９．１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、パケット情報を解析して、特定の送信元デバイスが、繰り返されるクラスタで特定の宛先と通信しようと試みているかどうかを判定することを含む、Ａ３のコンピュータによって実施される方法。
【０１０９】
Ａ２０．１つまたは複数のコンピュータ上で、入力として、１つまたは複数のデータストアから、複数のパケット情報を含むグループのパケット情報を受け取り、複数のパケット情報のそれぞれは、ネットワークパケットに関連するとともに、関連するパケットの送信元および宛先と、時間指示とを含むルーチンを実行することをさらに備え、１つまたは複数のデータストアからのパケット情報を解析して、ネットワークトラフィックに異常が存在するかどうかを判定するステップは、グループのパケット情報を解析し、さらに、各送信元／宛先ペアに関して、互いに比較的近い時間指示を有するパケット情報に関してパケットクラスタを形成すること、およびパケットクラスタ間の時間が繰り返されているかどうかを判定することを含む、Ａ３のコンピュータによって実施される方法。
【０１１０】
Ｂ１．ネットワークセキュリティおよび／またはデバイスセキュリティのための、コンピュータによって実施される方法であって、１つまたは複数のコンピュータ上で、入力として第１のパケット情報を受け取るルーチンを実行すること、１つまたは複数のコンピュータ上で、第１のパケット情報を解析して、第１のパケット情報が、ネットワーク通信の開始に関連する発信ネットワークパケットを識別するかどうかを判定するルーチンを実行すること、および第１のパケット情報が、ネットワーク通信の開始に関連する発信ネットワークパケットを識別し、さらに第１のパケット情報が応答のない可能性があるパケットであると判定された場合、１つまたは複数のコンピュータ上で、第１のパケット情報が、１つまたは複数のデータストアの中に格納されるようにする、さらに／または追跡されるようにするルーチンを実行することを備える、コンピュータによって実施される方法。
【０１１１】
Ｂ２．１つまたは複数のコンピュータ上で、入力として第２のパケット情報を受け取るルーチンを実行すること、１つまたは複数のコンピュータ上で、第２のパケット情報を解析して、第２のパケット情報が、発信ネットワークパケットに応答する着信ネットワークパケットを識別するかどうかを判定するルーチンを実行すること、および、第２のパケット情報が、発信ネットワークパケットに応答する着信ネットワークパケットを識別し、さらに第１のパケット情報が、第２のパケット情報に基づいて、応答のないパケットではないと判定された場合、１つまたは複数のコンピュータ上で、１つまたは複数のデータストアの中で第１のパケット情報が除去されるようにする、さらに／または追跡されることを終了するルーチンを実行することをさらに備える、Ｂ１のコンピュータによって実施される方法。
【０１１２】
Ｂ３．第１のパケット情報と第２のパケット情報はそれぞれ、パケットヘッダ情報である、Ｂ２のコンピュータによって実施される方法。
【０１１３】
Ｂ４．第１のパケット情報と第２のパケット情報はそれぞれ、或る期間にわたる１つまたは複数のパケットに共通のパケットヘッダ情報を含む正規化されたパケットヘッダ情報である、Ｂ２のコンピュータによって実施される方法。
【０１１４】
Ｂ５．第１のパケット情報を解析して、第１のパケット情報が、ネットワーク通信の開始に関連する発信ネットワークパケットを識別するかどうかを判定するステップは、第１のパケット情報を解析して、第１のパケット情報が、ＳＹＮパケットである発信ＴＣＰネットワークパケットを識別するかどうかを判定することを含む、Ｂ２のコンピュータによって実施される方法。
【０１１５】
Ｂ６．１つまたは複数のコンピュータ上で、第１のパケット情報をフィルタ構成データと比較して、第１のパケット情報が選別されて除かれるべきかどうかを判定することによって、第１のパケット情報を解析するルーチンを実行することをさらに備える、Ｂ３のコンピュータによって実施される方法。
【０１１６】
Ｂ７．１つまたは複数のコンピュータ上で、第１のパケット情報を解析して、第１のパケット情報が、１つまたは複数のデータストアの中に格納されていた、さらに／または追跡されていたそれまでの発信ネットワークパケットの再送であるネットワークパケットを識別するかどうかを判定するルーチンを実行することをさらに備える、Ｂ３のコンピュータによって実施される方法。
【０１１７】
Ｂ８．１つまたは複数のコンピュータ上で、第２のパケット情報を解析して、第２のパケット情報が、誤りを示すパケットであるネットワークパケットを識別するかどうかを判定するルーチンを実行することをさらに備える、Ｂ３のコンピュータによって実施される方法。
【０１１８】
Ｂ９．１つまたは複数のコンピュータ上で、指定された期間にわたって１つまたは複数のデータストアの中に存在してきたパケット情報が、１つまたは複数のデータストアの中で削除されるようにする、さらに／または追跡されることを終了するルーチンを実行することをさらに備える、Ｂ３のコンピュータによって実施される方法。
【０１１９】
Ｂ１０．１つまたは複数のコンピュータ上で、入力として、１つまたは複数のデータストアから、或る期間内に有効な応答パケットを全く受信しなかった発信ネットワークパケットと関係するパケット情報を受け取るルーチンを実行すること、および１つまたは複数のコンピュータ上で、このパケット情報を解析し、さらにネットワーク内、またはデバイス上にマルウェアが存在する可能性があることを示す１つまたは複数のイベントを生成するルーチンを実行することをさらに備える、Ｂ３のコンピュータによって実施される方法。
【０１２０】
さらなる異なる有利な実施形態が、他の有利な実施形態と比べて、異なる利点を提供し得る。選択された実施形態または複数の実施形態は、実際的な応用の実施形態の原理を最もよく説明するとともに、当業者が、企図される特定の用途に適した様々な変形を伴って様々な実施形態に関する開示を理解することを可能にするために選ばれ、説明されている。
【符号の説明】
【０１２１】
１００、２００  ネットワークセットアップ
１０２  ネットワーク
１０４  ファイアウォール
１０６、１０８、１１０、１１１  内部デバイス
１１２、１１４、１１６  外部デバイス
１２０  ネットワーク内部
２０４  ヘッダキャプチャエンジン
２０６、３０２  ヘッダリスト
２０８  パケットアラートモジュール
２１０、５０２、６０２、７０２  イベントリスト
２１２、３００  応答のないパケットエクストラクタ
２１４、３１２  フィルタ構成
２１６、３０４、４０４、５０４、６０４、７０４  追跡される接続リスト
２１８、４００  リストクリーンアップモジュール
２２０  量検出器
２２２、６００  宛先検出器
２２４  クラスタ検出器
４１０  時間限度構成
５０８、６０８、７０８、７２４  期間構成
５２２、５２４、５２６、６１６  しきい値構成
８００  データ処理システム
８０２  通信ファブリック
８０４  プロセッサユニット
８０６  メモリ
８０８  永続的ストレージ
８１０  通信ユニット
８１２  入出力ユニット
８１４  ディスプレイ
８１６  プログラムコード
８１８  コンピュータ可読媒体
８２０  コンピュータプログラム製品
【図１】
2014057307.tif 000002
【図２】
2014057307.tif 000003
【図３】
2014057307.tif 000004
【図４】
2014057307.tif 000005
【図５】
2014057307.tif 000006
【図６】
2014057307.tif 000007
【図７Ａ】
2014057307.tif 000008
【図７Ｂ】
2014057307.tif 000009
【図８】
2014057307.tif 000010
【外国語明細書】
2014057307000001.pdf
2014057307000002.pdf
2014057307000003.pdf
2014057307000004.pdf