(57)【要約】  システムはプロセッサを含む。プロセッサは、データブロックを含むネットワークトラフィックを受信するように構成される。プロセッサは、ファイルに対応するハッシュ値を含むファイルに対する一意識別子（ＵＩＤ）を生成する。プロセッサは、以前に格納されたＵＩＤでファイルが正当であるとして示されるかまたは不正であるとして示されるかを判断する。プロセッサは、ファイルのファイルタイプに対応するファイルタイプ特有の検出ナゲットを呼び出して、ファイルが正当であるか不正であるかを検出するために完全なファイル検査を実行し、ファイルが以前に格納されたＵＩＤにおいて示されていないと判断される場合、検査の結果をファイルのＵＩＤとともに格納する。プロセッサは、以前に格納されたＵＩＤにおいてファイルのインジケータが「正当」または「不正」である場合、ファイルタイプ特有の検出ナゲットを呼び出さない。プロセッサは、ファイルのインジケータが「不正」である場合、不正なファイルについての警告を発する。
2013528852.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータブロックに対する一意識別子を格納するとともに、格納された一意識別子に関連する前記複数のデータブロックの各々が正当であるか不正であるかのインジケータを格納するように構成された記憶装置と、
プロセッサ装置と、を備えるシステムにおいて、
前記プロセッサ装置は、
データブロックを含むネットワークトラフィックを受信し、
前記データブロックがネットワークトラフィックにより受信される際、該データブロックに対する一意識別子であって、該データブロックのコンテンツに対応するハッシュ値を含む一意識別子を生成し、
前記データブロックを含むパケットのネットワークトラフィックに対するパケットスキャン動作中、記憶装置における一意識別子によりデータブロックが正当であるとして示されるかまたは不正であるとして示されるかを判断し、
前記データブロックのファイルタイプに対応するファイルタイプ特有の検出ナゲットを呼び出して、前記データブロックが悪意のあるものかどうかを検出するために前記データブロックの完全なファイル検査を実行し、前記データブロックが記憶装置における一意識別子により示されていないと判断される場合、前記データブロックが正当であるか不正であるかを示す完全なファイル検査の結果を該データブロックの一意識別子とともに記憶装置に格納し、
記憶装置における一意識別子により前記データブロックが正当であるとして示されると判断される場合、ファイルタイプ特有の検出ナゲットを呼び出さず、
記憶装置における一意識別子により前記データブロックが不正であるとして示されると判断される場合、ファイルタイプ特有の検出ナゲットを呼び出さずに、受信されたデータブロックが不正であることを示す警告を発するように構成されている、
システム。
【請求項２】
ファイルタイプ特有の検出ナゲットは、前記データブロックの評価が望まれるとの通知をディスパッチャプログラムに送信し、ファイルタイプ特有の検出ナゲットによる検査を認可するトークンをディスパッチャプログラムから受信し、前記データブロックと検査を認可するトークンとをファイルタイプ特有の検出ナゲットに示して前記データブロックの完全なファイル検査を始めることによって呼び出され、
異なるファイルタイプのファイルコンテンツの完全なファイル検査を各々提供するための複数のファイルタイプ特有の検出ナゲットが存在する、請求項１に記載のシステム。
【請求項３】
複数のファイルタイプ特有の検出ナゲットを格納するナゲット記憶領域をさらに備え、ファイルタイプ特有の検出ナゲットの各々は、
ファイルタイプ特有の検出ナゲットに特有の検査を認可するトークンが受信され、該受信したトークンが有効であるとして示される場合、それぞれの異なるファイルタイプに従って前記データブロックのファイル検査を提供し、
受信したトークンが有効であるとして示されない場合、前記データブロックのファイル検査を提供せず、
ファイル検査は要求されているがトークンは受信されていない場合、前記データブロックのファイル検査を提供しないように構成されている、請求項１に記載のシステム。
【請求項４】
ファイルタイプ特有の検出ナゲットは、
前記データブロックのサブコンポーネントが、ファイルタイプ特有の検出ナゲットによって取り扱われるのとは異なるファイルタイプまたは難読化スキームを伴って見出される場合、該サブコンポーネントに対する一意識別子を作成し、
異なるファイルタイプのサブコンポーネントに対応する異なるファイルタイプ特有の
検出ナゲットを呼び出して、前記サブコンポーネントが不正であるかまたは悪意のあるものであるかを検出するべく、該サブコンポーネントのコンテンツを検査するか、または記憶装置における前記サブコンポーネントの一意識別子を探し、
見出されたサブコンポーネントの検査結果が不正であるかまたは悪意のあるものとして返される場合、記憶装置における前記データブロックの一意識別子とともに前記データブロックが正当であるとのインジケータを格納することに代えて、前記サブコンポーネントが不正であることと前記データブロックが不正であることとを示すサブコンポーネント検査の結果を記憶装置における前記サブコンポーネントおよび前記データブロックの両方の一意識別子とともに格納する、請求項１に記載のシステム。
【請求項５】
プロセッサ装置は、ファイルタイプ特有の検出ナゲットに新しい検出能力が追加される際、記憶装置に格納されたデータブロックに対する一意識別子に、正当インジケータを用いて「汚染」として印を付け、
プロセッサ装置は、データブロックの正当な状態が検証されるように、データブロックが「汚染」として示される場合、「正当」であるとして示すことに代えて、コンピュータ記憶装置において示されていないものとしてデータブロックを取り扱い、示されていた「汚染」は新しい検出能力が追加された後で置き換えられる、請求項１に記載のシステム。
【請求項６】
ファイルタイプ特有の検出ナゲットは、特定の既定の攻撃トリガ条件を標的とする完全なファイル解析を実行するように構成されている、請求項１に記載のシステム。
【請求項７】
プロセッサは、完全なファイルおよびサブコンポーネント処理に基づき遡及警告を提供するようさらに構成されている、請求項１に記載のシステム。
【請求項８】
記憶装置に格納された一意識別子は、前記複数のデータブロックの各々がネットワークトラフィックにより受信される際、異なる複数のデータブロックにおける完全なファイルコンテンツからの暗号化ハッシュ計算によって得られる、請求項１に記載のシステム。
【請求項９】
不正なデータブロックを含むメールゲートウェイを通じて受信されたネットワークトラフィックを取り扱うためにメールゲートウェイに取り付けられたアンチウイルスシステムに警告を発する、請求項１に記載のシステム。
【請求項１０】
記憶装置に格納された一意識別子は、該一意識別子がすべてのシステムユーザにユニークである場合、「グローバル」としてさらに示され、該一意識別子が個人にユニークであるがすべてのシステムユーザにはユニークでない場合、「グローバル」として印を付けられない、請求項１に記載のシステム。
【請求項１１】
プロセッサ装置は、１つまたは複数のファイルタイプ特有の検出ナゲットからファイルタイプを含む１つまたは複数のファイルタイプによる対象の宣言を受信し、
前記データブロックが記憶装置における一意識別子により示されていないと判断される場合、該データブロックのファイルタイプを対象とすると宣言した１つまたは複数のファイルタイプ特有の検出ナゲットのすべてを呼び出して、前記データブロックのファイルタイプを対象とすると宣言した１つまたは複数のファイルタイプ特有の検出ナゲットの各々がデータブロックを検査し、自身のファイル検査の結果を返すことができるようにさらに構成されている、請求項１に記載のシステム。
【請求項１２】
複数のデータブロックに対する一意識別子を格納するとともに、格納された一意識別子に関連する前記複数のデータブロックの各々が正当であるか不正であるかのインジケータを格納するように構成された記憶装置と、
プロセッサ装置と、を備えるシステムにおいて、
前記プロセッサ装置は、
データブロックを含むデータをキャプチャし、
該データブロックに対する一意識別子であって、該データブロックに対応するハッシュ値を含む一意識別子を生成し、
１つまたは複数のファイルタイプ特有の検出コンポーネントから前記データブロックのファイルタイプを含む１つまたは複数のファイルタイプによる対象の宣言を受信し、
記憶装置における一意識別子によりデータブロックが正当であるとして示されるかまたは不正であるとして示されるかを判断し、
前記データブロックが記憶装置における一意識別子により示されていないと判断される場合、該データブロックのファイルタイプを対象とすると宣言した１つまたは複数のファイルタイプ特有の検出コンポーネントのすべてを呼び出して、前記データブロックのファイルタイプを対象とすると宣言した１つまたは複数のファイルタイプ特有の検出コンポーネントの各々が前記データブロックが悪意のあるものかどうかを検出するためにデータブロックを検査を実行し、自身のファイル検査の結果を各々返し、前記ファイルが正当であるか不正であるかを示す完全なファイル検査の結果を該データブロックの一意識別子とともに記憶装置に格納し、
記憶装置における一意識別子により前記データブロックが正当であるとして示されると判断される場合、前記１つまたは複数のファイルタイプ特有の検出コンポーネントのいずれも呼び出さず、
記憶装置における一意識別子により前記データブロックが不正であるとして示されると判断される場合、前記１つまたは複数のファイルタイプ特有の検出コンポーネントのいずれも呼び出さずに、受信されたデータブロックが不正であることを示す警告を発するように構成されている、
システム。
【請求項１３】
プロセッサ装置により、
データブロックを含むネットワークトラフィックを受信し、
前記データブロックがネットワークトラフィックにより受信される際、該データブロックに対する一意識別子であって、該データブロックのコンテンツに対応するハッシュ値を含む一意識別子を生成し、
前記データブロックを含むパケットのネットワークトラフィックに対するパケットスキャン動作中、記憶装置における一意識別子によりデータブロックが正当であるとして示されるかまたは不正であるとして示されるかを判断し、
前記データブロックのファイルタイプに対応するファイルタイプ特有の検出ナゲットを呼び出して、前記ファイルが悪意のあるものかどうかを検出するために前記データブロックの完全なファイル検査を実行し、前記データブロックが記憶装置における一意識別子により示されていないと判断される場合、前記ファイルが正当であるか不正であるかを示す完全なファイル検査の結果を該データブロックの一意識別子とともに記憶装置に格納し、
記憶装置における一意識別子により前記データブロックが正当であるとして示されると判断される場合、ファイルタイプ特有の検出ナゲットを呼び出さず、
記憶装置における一意識別子により前記データブロックが不正であるとして示されると判断される場合、ファイルタイプ特有の検出ナゲットを呼び出さずに、受信されたデータブロックが不正であることを示す警告を発する、
方法。
【請求項１４】
ファイルタイプ特有の検出ナゲットは、前記データブロックの評価が望まれるとの通知をディスパッチャプログラムに送信し、ファイルタイプ特有の検出ナゲットによる検査を認可するトークンをディスパッチャプログラムから受信し、前記データブロックと検査を認可するトークンとをファイルタイプ特有の検出ナゲットに示して前記データブロックの完全なファイル検査を始めることによって呼び出され、
異なるファイルタイプのファイルコンテンツの完全なファイル検査を各々提供するための複数のファイルタイプ特有の検出ナゲットが存在する、請求項１３に記載の方法。
【請求項１５】
複数のファイルタイプ特有の検出ナゲットをナゲット記憶領域に格納する工程をさらに備え、
ファイルタイプ特有の検出ナゲットの各々は、
ファイルタイプ特有の検出ナゲットに特有の検査を認可するトークンが受信され、該受信したトークンが有効であるとして示される場合、それぞれの異なるファイルタイプに従って前記データブロックのファイル検査を提供し、
受信したトークンが有効であるとして示されない場合、前記データブロックのファイル検査を提供せず、
ファイル検査は要求されているがトークンは受信されていない場合、前記データブロックのファイル検査を提供しないように構成されている、請求項１３に記載の方法。
【請求項１６】
ファイルタイプ特有の検出ナゲットは、
前記データブロックのサブコンポーネントが、ファイルタイプ特有の検出ナゲットによって取り扱われるのとは異なるファイルタイプまたは難読化スキームを伴って見出される場合、該サブコンポーネントに対する一意識別子を作成し、
異なるファイルタイプのサブコンポーネントに対応する異なるファイルタイプ特有の検出ナゲットを呼び出して、前記サブコンポーネントが不正であるかまたは悪意のあるものであるかを検出するべく、該サブコンポーネントのコンテンツを検査するか、または記憶装置における前記サブコンポーネントの一意識別子を探し、
見出されたサブコンポーネントの検査結果が不正であるかまたは悪意のあるものとして返される場合、記憶装置における前記データブロックの一意識別子とともに前記データブロックが正当であるとのインジケータを格納することに代えて、前記サブコンポーネントが不正であることと前記データブロックが不正であることとを示すサブコンポーネント検査の結果を記憶装置における前記サブコンポーネントおよび前記データブロックの両方の一意識別子とともに格納する、請求項１３に記載の方法。
【請求項１７】
プロセッサ装置により、ファイルタイプ特有の検出ナゲットに新しい検出能力が追加される際、記憶装置に格納されたデータブロックに対する一意識別子に、正当インジケータを用いて「汚染」として印を付ける工程と、
データブロックの正当な状態が検証されるように、データブロックが「汚染」として示される場合、「正当」であるとして示すことに代えて、コンピュータ記憶装置において示されていないものとしてデータブロックを取り扱い、示されていた「汚染」は新しい検出能力が追加された後で置き換えられる工程と、
をさらに備える請求項１３に記載の方法。
【請求項１８】
ファイルタイプ特有の検出ナゲットにより、特定の既定の攻撃トリガ条件を標的とする完全なファイル解析を実行する工程をさらに備える、請求項１３に記載の方法。
【請求項１９】
完全なファイルおよびサブコンポーネント処理に基づき遡及警告を提供する工程をさらに備える、請求項１３に記載の方法。
【請求項２０】
前記複数のデータブロックの各々がネットワークトラフィックにより受信される際、異なる複数のデータブロックにおける完全なファイルコンテンツからの暗号化ハッシュ計算によって記憶装置に格納された一意識別子を得る工程をさらに備える、請求項１３に記載の方法。
【請求項２１】
不正なデータブロックを含むメールゲートウェイを通じて受信されたネットワークトラ
フィックを取り扱うためにメールゲートウェイに取り付けられたアンチウイルスシステムに警告を発する工程をさらに備える、請求項１３に記載の方法。
【請求項２２】
記憶装置に格納された一意識別子がすべてのシステムユーザにユニークである場合、該該一意識別子を「グローバル」としてさらに示し、該一意識別子が個人にユニークであるがすべてのシステムユーザにはユニークでない場合、記憶装置に格納された一意識別子に「グローバル」として印を付けない工程をさらに備える、請求項１３に記載の方法。
【請求項２３】
プロセッサ装置により、１つまたは複数のファイルタイプ特有の検出ナゲットからファイルタイプを含む１つまたは複数のファイルタイプによる対象の宣言を受信する工程と、
前記データブロックが記憶装置における一意識別子により示されていないと判断される場合、前記データブロックのファイルタイプを対象とすると宣言した１つまたは複数のファイルタイプ特有の検出ナゲットの各々がデータブロックを検査し、自身のファイル検査の結果を返すことができるように、前記データブロックのファイルタイプを対象とすると宣言した１つまたは複数のファイルタイプ特有の検出ナゲットのすべてを呼び出す工程と、をさらに備える請求項１３に記載の方法。
【請求項２４】
請求項１３に記載の方法を実行するための実行可能命令を含むコンピュータ可読媒体。
【請求項２５】
記憶装置により、複数のデータブロックに対する一意識別子を格納するとともに、格納された一意識別子に関連する前記複数のデータブロックの各々が正当であるか不正であるかのインジケータを格納し、
プロセッサ装置により、データブロックを含むデータをキャプチャし、
該データブロックに対する一意識別子であって、該データブロックに対応するハッシュ値を含む一意識別子を生成し、
１つまたは複数のファイルタイプ特有の検出コンポーネントから前記データブロックのファイルタイプを含む１つまたは複数のファイルタイプによる対象の宣言を受信し、
記憶装置における一意識別子によりデータブロックが正当であるとして示されるかまたは不正であるとして示されるかを判断し、
前記データブロックが記憶装置における一意識別子により示されていないと判断される場合、該データブロックのファイルタイプを対象とすると宣言した１つまたは複数のファイルタイプ特有の検出コンポーネントのすべてを呼び出して、前記データブロックのファイルタイプを対象とすると宣言した１つまたは複数のファイルタイプ特有の検出コンポーネントの各々が前記データブロックが悪意のあるものかどうかを検出するためにデータブロックを検査を実行し、自身のファイル検査の結果を各々返し、前記ファイルが正当であるか不正であるかを示す完全なファイル検査の結果を該データブロックの一意識別子とともに記憶装置に格納し、
記憶装置における一意識別子により前記データブロックが正当であるとして示されると判断される場合、前記１つまたは複数のファイルタイプ特有の検出コンポーネントのいずれも呼び出さず、
記憶装置における一意識別子により前記データブロックが不正であるとして示されると判断される場合、前記１つまたは複数のファイルタイプ特有の検出コンポーネントのいずれも呼び出さずに、受信されたデータブロックが不正であることを示す警告を発する、方法。
【請求項２６】
請求項２５に記載の方法を実行するための実行可能命令を含むコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術分野は、概して、通信ネットワーク管理に関し、より具体的には、通信ネットワーク上でファイルの特性を特定することに関する。
【背景技術】
【０００２】
伝統的に、ＩＤＳ空間は、パケットが入る際に連続して攻撃の検出を試行してきた。ネットワークコミュニケーション行動（フラグメンテーション、ＴＣＰストリーミングなど）のモデル化を実現するためにさまざまな技術が導入された。しかし、パケットストリームに対応するため、処理速度に対して引き続き焦点が置かれてきた。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
この手法は、クライアント側の攻撃の完全な検出が望まれる場合は、その維持が不可能とは言わないまでも難しい。ファイル形式（オフセットテーブル、埋め込みファイルおよびバックワードポインタ参照）の処理における困難のため、および、攻撃者が利用可能な幅広い回避能力（ファイル形式仕様の緩い（ｌｏｏｓｅ）解釈、暗号化、符号化、圧縮およびスクリプト難読化）のため、検出の維持は難易度が高い。それに加えて、数千ものクライアントの行動をモデル化する必要があり、ワイヤスピードで動作するための要件が非現実的になる。
【０００４】
その上、データのキャプチャおよびデータ分析システムのベンダ特有の実装形態は、通常、データを交換するためのメカニズムを実現せず、それぞれの検出システムは離散的であり、入来データを示すことは制限され、そのデータが以前に評価されたかどうか全く理解できない。この手法では、検出技術において行われる完全投資（ｆｕｌｌ  ｉｎｖｅｓｔｍｅｎｔ）の利用に失敗し、不要な量のオーバーヘッドをシステムに招く。
【課題を解決するための手段】
【０００５】
したがって、１つまたは複数の実施形態では、方法、システム、および／またはコンピュータ可読メモリ媒体を提供する。ここで、記憶装置は、複数のデータブロックに対する一意識別子を格納するとともに、格納された一意識別子に関連する前記複数のデータブロックの各々が正当であるか不正であるかのインジケータを格納するように構成される。また、プロセッサ装置は、データブロックを含むネットワークトラフィックを受信し、前記データブロックがネットワークトラフィックにより受信される際、該データブロックに対する一意識別子であって、該データブロックのコンテンツに対応するハッシュ値を含む一意識別子を生成し、前記データブロックを含むパケットのネットワークトラフィックに対するパケットスキャン動作中、記憶装置における一意識別子によりデータブロックが正当であるとして示されるかまたは不正であるとして示されるかを判断し、前記データブロックのファイルタイプに対応するファイルタイプ特有の検出ナゲットを呼び出して、前記ファイルが悪意のあるものかどうかを検出するために前記データブロックの完全なファイル検査を実行し、前記データブロックが記憶装置における一意識別子により示されていないと判断される場合、前記ファイルが正当であるか不正であるかを示す完全なファイル検査の結果を該データブロックの一意識別子とともに記憶装置に格納し、記憶装置における一意識別子により前記データブロックが正当であるとして示されると判断される場合、ファイルタイプ特有の検出ナゲットを呼び出さず、記憶装置における一意識別子により前記データブロックが不正であるとして示されると判断される場合、ファイルタイプ特有の検出ナゲットを呼び出さずに、受信されたデータブロックが不正であることを示す警告を発す
るように構成されている。
【０００６】
一変形形態では、ファイルタイプ特有の検出ナゲットは、前記データブロックの評価が望まれるとの通知をディスパッチャプログラムに送信し、ファイルタイプ特有の検出ナゲットによる検査を認可するトークンをディスパッチャプログラムから受信し、前記データブロックと検査を認可するトークンとをファイルタイプ特有の検出ナゲットに示して前記データブロックの完全なファイル検査を始めることによって呼び出され、異なるファイルタイプのファイルコンテンツの完全なファイル検査を各々提供するための複数のファイルタイプ特有の検出ナゲットが存在する。
【０００７】
さらに別の一実施形態では、複数のファイルタイプ特有の検出ナゲットを格納するナゲット記憶領域をさらに備え、ファイルタイプ特有の検出ナゲットの各々は、ファイルタイプ特有の検出ナゲットに特有の検査を認可するトークンが受信され、該受信したトークンが有効であるとして示される場合、それぞれの異なるファイルタイプに従って前記データブロックのファイル検査を提供し、受信したトークンが有効であるとして示されない場合、前記データブロックのファイル検査を提供せず、ファイル検査は要求されているがトークンは受信されていない場合、前記データブロックのファイル検査を提供しないように構成されている。
【０００８】
さらなる一変形形態では、ファイルタイプ特有の検出ナゲットは、前記データブロックのサブコンポーネントが、ファイルタイプ特有の検出ナゲットによって取り扱われるのとは異なるファイルタイプまたは難読化スキームを伴って見出される場合、該サブコンポーネントに対する一意識別子を作成し、異なるファイルタイプのサブコンポーネントに対応する異なるファイルタイプ特有の検出ナゲットを呼び出して、前記サブコンポーネントが不正であるかまたは悪意のあるものであるかを検出するべく、該サブコンポーネントのコンテンツを検査するか、または記憶装置における前記サブコンポーネントの一意識別子を探し、見出されたサブコンポーネントの検査結果が不正であるかまたは悪意のあるものとして返される場合、記憶装置における前記データブロックの一意識別子とともに前記データブロックが正当であるとのインジケータを格納することに代えて、前記サブコンポーネントが不正であることと前記データブロックが不正であることとを示すサブコンポーネント検査の結果を記憶装置における前記サブコンポーネントおよび前記データブロックの両方の一意識別子とともに格納する。
【０００９】
さらに別の変形形態では、プロセッサ装置は、ファイルタイプ特有の検出ナゲットに新しい検出能力が追加される際、記憶装置に格納されたデータブロックに対する一意識別子に、正当インジケータを用いて「汚染」として印を付け、プロセッサ装置は、データブロックの正当な状態が検証されるように、データブロックが「汚染」として示される場合、「正当」であるとして示すことに代えて、コンピュータ記憶装置において示されていないものとしてデータブロックを取り扱い、示されていた「汚染」は新しい検出能力が追加された後で置き換えられる。
【００１０】
さらにまた別の変形形態では、ファイルタイプ特有の検出ナゲットは、特定の既定の攻撃トリガ条件を標的とする完全なファイル解析を実行するように構成されている。
さらに別の変形形態では、プロセッサは、完全なファイルおよびサブコンポーネント処理に基づき遡及警告を提供するようさらに構成されている。
【００１１】
さらに別の変形形態では、記憶装置に格納された一意識別子は、前記複数のデータブロックの各々がネットワークトラフィックにより受信される際、異なる複数のデータブロックにおける完全なファイルコンテンツからの暗号化ハッシュ計算によって得られる。
【００１２】
さらなる一変形形態では、不正なデータブロックを含むメールゲートウェイを通じて受信されたネットワークトラフィックを取り扱うためにメールゲートウェイに取り付けられたアンチウイルスシステムに警告を発する。
【００１３】
さらに別の変形形態では、記憶装置に格納された一意識別子は、該一意識別子がすべてのシステムユーザにユニークである場合、「グローバル」としてさらに示され、該一意識別子が個人にユニークであるがすべてのシステムユーザにはユニークでない場合、「グローバル」として印を付けられない。
【００１４】
さらに別の変形形態では、プロセッサ装置は、１つまたは複数のファイルタイプ特有の検出ナゲットからファイルタイプを含む１つまたは複数のファイルタイプによる対象の宣言を受信し、前記データブロックが記憶装置における一意識別子により示されていないと判断される場合、該データブロックのファイルタイプを対象とすると宣言した１つまたは複数のファイルタイプ特有の検出ナゲットのすべてを呼び出して、前記データブロックのファイルタイプを対象とすると宣言した１つまたは複数のファイルタイプ特有の検出ナゲットの各々がデータブロックを検査し、自身のファイル検査の結果を返すことができるようにさらに構成されている。
【００１５】
さらに他の複数の実施形態では、方法、システム、および／またはコンピュータ可読メモリ媒体を提供する。ここで、記憶装置は、複数のデータブロックに対する一意識別子を格納するとともに、格納された一意識別子に関連する前記複数のデータブロックの各々が正当であるか不正であるかのインジケータを格納するように構成される。また、プロセッサ装置は、データブロックを含むデータをキャプチャし、該データブロックに対する一意識別子であって、該データブロックに対応するハッシュ値を含む一意識別子を生成し、１つまたは複数のファイルタイプ特有の検出ナゲットから前記データブロックのファイルタイプを含む１つまたは複数のファイルタイプによる対象の宣言を受信し、記憶装置における一意識別子によりデータブロックが正当であるとして示されるかまたは不正であるとして示されるかを判断し、前記データブロックが記憶装置における一意識別子により示されていないと判断される場合、該データブロックのファイルタイプを対象とすると宣言した１つまたは複数のファイルタイプ特有の検出ナゲットのすべてを呼び出して、前記データブロックのファイルタイプを対象とすると宣言した１つまたは複数のファイルタイプ特有の検出ナゲットの各々が前記データブロックが悪意のあるものかどうかを検出するためにデータブロックを検査を実行し、自身のファイル検査の結果を各々返し、前記ファイルが正当であるか不正であるかを示す完全なファイル検査の結果を該データブロックの一意識別子とともに記憶装置に格納し、記憶装置における一意識別子により前記データブロックが正当であるとして示されると判断される場合、前記１つまたは複数のファイルタイプ特有の検出ナゲットのいずれも呼び出さず、記憶装置における一意識別子により前記データブロックが不正であるとして示されると判断される場合、前記１つまたは複数のファイルタイプ特有の検出ナゲットのいずれも呼び出さずに、受信されたデータブロックが不正であることを示す警告を発するように構成されている。
【００１６】
さらに他の実施形態では、上記を実行するために１つまたは複数の方法を提供する。
他の実施形態では、１つまたは複数の方法を実行するよう構成された装置を提供する。
さらに別の実施形態では、１つまたは複数の方法を実行するための実行可能命令を含む、非一時的なものと定義されるコンピュータ可読媒体を提供する。
【００１７】
さらに、前述の要約書の目的は、一般に、米国特許商標局および公衆が、特に、特許または法的用語または言い回しに精通していない当技術分野の科学者、技術者および専門家が、素早く一瞥するだけで、本出願の技術的開示の性質および本質を判断できるようにすることである。要約書は、特許請求の範囲によって決定される本出願の本発明を定義する
ことを意図するものでも、いかなる方法においても本発明の範囲を限定することを意図するものでもない。
【００１８】
同一の参照番号は同一のまたは機能的に同様な要素を指す添付の図面は、以下の詳細な説明と併せて、本明細書に組み込まれ、本明細書の一部をなし、さまざまな例示的な実施形態をさらに解説し、本発明によるさまざまな原理および利点を説明するよう機能する。
【図面の簡単な説明】
【００１９】
【図１】準リアルタイム（ＮＲＴ）ネットワーク攻撃検出に関連する高水準アーキテクチャを示す図。
【図２】ＮＲＴフェーズ１のＰＯＣに対するアーキテクチャを示す機能フロー図である。
【図３】ＮＲＴフェーズ２のＰＯＣに対するアーキテクチャを示す機能フロー図。
【図４】最適化されたＮＲＴフェーズ３に対するアーキテクチャを示す機能フロー図。
【図５】検出ルーティングテーブルを示すブロック図。図６。例示的なＵＵＩＤ（ユニバーサル一意識別子）テーブル。
【図６】例示的なコンピュータシステムの一部を示すブロック図。
【図７】第１の実施形態によるファイル分析に関連する簡略化された代表的な環境を示す図。
【図８】第１の実施形態によるファイル分析のための例示的なコンピュータ化されたシステムの一部を示すブロック図。
【図９】第２の実施形態によるファイル分析に関連する簡略化された代表的な環境を示す図。
【図１０】第２の実施形態によるファイル分析のための例示的なコンピュータ化されたシステムの一部を示すブロック図。
【図１１】準リアルタイムネットワーク攻撃検出のためのプロセスを示すフロー図。
【図１２】ネットワーク攻撃検出のためのプロセスを示すフロー図。
【発明を実施するための形態】
【００２０】
概要では、本開示は、送信元と送信先との間の通信をサポートするパケット交換ネットワークと呼ばれる場合が多い通信ネットワーク上で送信される場合があるファイルの分析に関する。そのような通信ネットワーク上のパケットは、ファイルに関する情報を運ぶことができる。より具体的には、さまざまな発明概念および原理は、ネットワークトラフィックで検出されるか、または、別の方法で提供されるファイルを評価するために、その中のシステム、装置および方法において具体化され、脅威のリアルタイム検出を提供する。また、さまざまな発明概念および原理は、ネットワーク上の遠隔地において特定のタイプのデータのキャプチャを管理して、任意の検出システムへそのデータをルーティングするために、その中のシステム、装置および方法において具体化される。
【００２１】
本開示は、本発明の１つまたは複数の実施形態を実行する最良の態様を、実現できるように、さらに説明するために提供される。本開示は、何らかの方法で本発明を限定するよりもむしろ、本発明の原理およびその利点への理解と認識を高めるためにさらに提供される。本発明は、単に添付の特許請求の範囲（本出願の係属中に作成された任意の補正書および発行されたこれらの特許請求の範囲のすべての均等物を含む）によって定義される。
【００２２】
第１および第２および同様のもののような関係用語が記載される場合は、本明細書では、単に実体、アイテムまたは行動を互いに区別するために使用され、そのような実体、アイテムまたは行動間における任意の実際のそのような関係または順番を必ずしも要求することも含意することもない。いくつかの実施形態は、複数のプロセスまたは工程を含み得
、特定の順番に明示的におよび必然的に限定されない限り、任意の順番で実行することができる、すなわち、そのように限定されていないプロセスまたは工程は、任意の順番で実行され得る。
【００２３】
本発明の機能性の大部分および本発明の原則の多くは、実施されると、ソフトウェアもしくは集積回路（ＩＣ）、例えばデジタル信号プロセッサおよびソフトウェア、ひいては特定用途向けＩＣを用いて、または、ソフトウェアもしくは集積回路、例えばデジタル信号プロセッサおよびソフトウェア、ひいては特定用途向けＩＣ内で最適にサポートされる。恐らくは、例えば、利用可能な時間、現行技術および経済面での考慮事項によって動機付けられる重要な取り組みおよび多くの設計選択であろうにもかかわらず、本明細書に開示される概念および原理に導かれると、当業者は、最小限の実験でそのようなソフトウェア命令またはＩＣを容易に生成できることが予想される。したがって、本発明による原理および概念を不明瞭にするいかなるリスクも簡潔にして最小化するためにも、そのようなソフトウェアおよびＩＣに関するさらなる論考が記載されていれば、例示的な実施形態で使用される原理および概念に関する本質的要素に限定される。
【００２４】
さらに、例示的な実施形態によれば、既存のネットワーク侵入システムを使用して、標準ＩＤＳ／ＩＰＳの機能性の継続を可能にする一方で、ネットワークトラフィックからファイルを再構築することができる。システムは、一連の既知の正当なデータ／既知の不正なデータに対してファイルおよび関連メタデータを評価し、その情報によりファイルからの脅威のレベルを判断できない場合は、そのファイルをディスパッチシステムに渡すことができ、次いで、ディスパッチシステムはマルチノードの外部の検出システムへの分配を管理する。次いで、ディスパッチシステムは、検出システムからのフィードバックを管理し、要望通りに警告およびロギングを提供し、既存のＩＤＳ／ＡＶ／トラフィックフィルタリングシステムにフィードバックを提供してリアルタイム検出を更新する。
【００２５】
さらに、他の例示的な実施形態によれば、システムは、データキャプチャとデータ分析を結び付ける伝統的なモデルを切り離すメカニズムを提供することができる。その際、システムは、検出能力を能力アレイに組織化することができ、それにより、アレイ内の各実体が１つまたは複数のデータタイプを対象とすると宣言することが可能になる。次いで、データ収集ポイントは、特定のタイプのものとしてキャプチャされたデータにタグ付けする。最終的に、主要なルーティングシステムは、提供されたデータタグに基づいて、対象とする検出コンポーネントにそのデータをルーティングする。
【００２６】
ネットワークベースのＩＤＳシステムとの共通点を作成することができるが、完全なファイル処理を行う公知のシステムは存在しない。それらのシステムは、通常、ベンダが提供するシグネチャに取り組む。このシステムは、拡張可能な検出のためのフレームワークを導入し、伝統的なＡＶ手法とは異なり、既知の攻撃のシグネチャだけではなく、攻撃トリガ条件を標的とする。
【００２７】
ベクトル型コンテンツプロトコル（ＶＣＰ：Ｖｅｃｔｏｒ  Ｃｏｎｔｅｎｔ  Ｐｒｏｔｏｃｏｌ）は、ネットワーク上でコンテンツを管理するための別の技術として言及される。ヒューリスティックベースのＡＶ（アンチウイルス）との共通点が存在する。
【００２８】
準リアルタイム攻撃検出システムおよび方法（図２〜図４）のための詳細なアーキテクチャの３つの異なる実施形態について論考する前に、図１に示される高水準アーキテクチャの例について説明する。
【００２９】
準リアルタイム（ＮＲＴ）ネットワーク攻撃検出に関連する高水準アーキテクチャを示す図である図１を参照する。ディスパッチャは、起動時に実行することができる中央サー
ビスである。初期化の際、ディスパッチャは、情報漏えい防止（ＤＬＰ）データファイルを処理し、ファイル名および一意識別子（ＵＩＤ）をデータベースに挿入する。また、ディスパッチャは、構成別に、リアルタイムシステムにシグネチャを配置し（以下を参照）、潜在的な情報漏えいイベントの検出およびブロッキングにおける支援を行う。
【００３０】
Ｓｎｏｒｔ  ＩＤＳ（Ｓｏｕｒｃｅｆｉｒｅから入手可能）について、ＩＤＳの一例として以下で論考する。しかし、別のＩＤＳ／ＩＰＳをベースとして使用することができる。
【００３１】
関与しているＳｎｏｒｔ  ＩＤＳセンサは、評価および警告のために要望通りにメタデータをキャプチャするプリプロセッサ１４５を起動する。送信元データ（ＵＲＬ／ｓｅｎｄｍａｉｌヘッダ／ＦＴＰ  ＩＰ）、ファイルサイズおよびファイル名。この情報およびユーザ構成に基づいて、プリプロセッサは、ファイルが「対象とする」かどうか判断する。該当する場合は、システムは、ネットワークストリームからファイルを取り出し始める（１４９）。
【００３２】
ファイルを取り出すと、送信元データをローカルキャッシュと比較し、送信元が既知の悪意のあるサイトかどうか評価する（１４７）。ローカルキャッシュ上にエントリがなければ、集中データベースへのクエリを行い、同じチェックを行う（１３７）。送信元が既知の悪意のあるサイトのリスト内にあれば、Ｓｎｏｒｔ  ＩＤＳは、今後のトラフィック（構成される場合）を警告してブロックするよう命令を受け（１０３）、ディスパッチャシステムに警告を通知する。ＳｎｏｒｔがＩＰＳ構成でない場合または送信元情報がいかなる既知の悪意のあるリストにもなかった場合は、すべてのファイルをキャプチャし（１４９）、検出を継続する。
【００３３】
一旦すべてのファイルを取り出せば、ファイル用のＵＩＤを作成する。ローカルキャッシュに対するクエリは、既知の不正なＵＩＤおよび既知の正当なＵＩＤに対して行われる（１５１）。ローカルキャッシュ上にエントリがなければ、すべての判断された既知の正当なおよび既知の不正なチェックサムを保持する集中データベースへの同じクエリを行う（１３９）。ファイルが既知の正当であると判断されれば検出を停止し、ファイルが既知の不正なＵＩＤと一致すればＳｎｏｒｔとディスパッチャの両方に警告が出される。
【００３４】
ファイルがいずれの既知のＵＩＤとも一致しない場合は、検出を継続する。ファイルの評価が望ましいという通知はディスパッチャに送信される（１５３）。要求は、ファイルタイプ、ファイル名およびＵＩＤを含む。ディスパッチャは、そのファイルタイプやファイル送信を認可するトークンを取り扱うことができる徹底検査ナゲット（ＤＩＮ：Ｄｅｅｐ  Ｉｎｓｐｅｃｔｉｏｎ  Ｎｕｇｇｅｔ）の位置を返す（１４１）。また、ディスパッチャは、トークンが有効であることもＤＩＮに通知する。
【００３５】
次いで、プリプロセッサは、ＤＩＮと連絡を取り、ファイル送信の認可としてトークンを提供する。次いで、ファイルをＤＩＮ１１９に提供し（１４３）、完全なファイル検査を開始する。
【００３６】
最初にファイルを受信するＤＩＮ１１９は、特にそのファイルタイプを取り扱うために作成される。ＤＩＮは、ファイル仕様によって決定される（１２３）そのアトミックなコンポーネントへとファイルを解析（パース）する（１２１）。次いで、ＤＩＮは、そのファイルタイプ特有の攻撃または攻撃インジケータの検出を進める（１３１）。ファイルが、この初期の処理に基づいて、悪意のあるものとして見出された場合、ＤＩＮは、ファイルが悪意のあるものとして判断された理由に関する通知、事件対応チームを支援するメタデータおよびファイルのすべてのコピーをディスパッチャに送信する（１３３）。ファイ
ルが悪意のないものとして見出された場合、通知をディスパッチャに送信し（１３３）、既知の正当なＵＩＤのリストを更新する。
【００３７】
解析過程において、ＤＩＮが追加のファイルタイプまたは別々の解析を必要とする難読化スキームを見出した場合、ＤＩＮは、追加処理を必要とするファイルの一部（サブコンポーネント）のＵＩＤを作成する。次いで、ＤＩＮは、既知の不正な／既知の正当なサブコンポーネントＵＩＤのローカルキャッシュへのクエリを行う（１２５）。ローカルキャッシュにエントリがなければ、集中データベースへの同じクエリを行う。サブコンポーネントが不正であるとして判断されれば、ＤＩＮは、警告通知をディスパッチャに提供する（１２９）。ＵＩＤが正当であるとして判断されれば、ＤＩＮは、そのサブコンポーネントを無視し、処理を継続する。
【００３８】
ＵＩＤが未知のものであれば、ＤＩＮは、追加処理のための要求をディスパッチャに送信する。ディスパッチャは、そのファイルタイプまたは難読化スキームおよび新しいＤＩＮへのサブコンポーネントデータの送信を認可するトークンを専門に取り扱うＤＩＮの位置を返す。また、ディスパッチャは、トークンが有効であることも新しいＤＩＮに通知する。
【００３９】
次いで、ＤＩＮは、新しいＤＩＮにサブコンポーネントを渡す。ＤＩＮは、ちょうどファイルである場合に処理されるように、サブコンポーネントを処理する。評価を必要とする別のサブコンポーネントが見出される場合は、必要に応じて、ＤＩＮは、追加処理を要求することができる。サブコンポーネントが正当であるとして判断されれば、ＤＩＮは、ＵＩＤが正当であることをディスパッチャに通知する。サブコンポーネントが不正であれば、ＤＩＮは、ディスパッチャに通知し、すべてのサブコンポーネントを提供する。次いで、ＤＩＮは、そのローカルキャッシュを更新する。発信元のＤＩＮもまた、そのキャッシュを更新するよう通知を受ける。
【００４０】
エクスプロイトの検出ＤＩＮに加えて、さまざまなドキュメントタイプから解析されたテキストデータへのクエリに対して情報漏えい防止（ＤＬＰ）ナゲットが利用可能である。このプロセッサは、可能なＤＬＰイベントを検出するため、パターン認識を有するデータブロックおよびデータブロックのＵＩＤを調べる。
【００４１】
ファイル解析が完了するまでこのプロセスを継続する。
ディスパッチャ１０７は、ファイルおよびサブコンポーネントの解析要求１０９に対する未処理の要求について常に認識し得る。処理中、ファイルが不正であるという通知を受ければ、ディスパッチャは、送信元のＳｎｏｒｔセンサに警告を戻し（１１５）、ファイルおよび必要に応じてサブコンポーネントＵＩＤに既知の不正なものとして印を付けることができる（１１１）。ディスパッチャは、ファイルの解析に関与するさまざまなＤＩＮから追加の情報を受信するため、送信元のセンサ１０１に追加の警告を継続して提供することができる（１１７）。すべてのトークンを取り扱った後で、いかなる悪意のあるインジケータも存在しなければ、ファイルのＵＩＤは、既知の不正なものとして印を付けられる（１０５）。
【００４２】
悪意のあるものとして印を付けられたファイル上では（１１３）、一旦すべてのトークンを取り扱えば、Ｓｎｏｒｔにおける標準ロギングの外部のディスパッチャは、改善された一連の報告を行うことができる（１１５）。この追加のロギングは、悪意のあるものとして判断されたファイルまたはサブコンポーネントのエリアの完全に減圧された正規表現を提供する。さらに、科学捜査における評価のため、ファイルおよび必要に応じてサブコンポーネントをすべてディスクに書き込むことができる。
【００４３】
既知の正当なファイルに対するＵＩＤは関連メタデータとともに格納されるため、および、他の送信元からＵＩＤへの後続のアクセスはそれぞれ格納されるため、システムは、ファイルが正当であると印を付けられた後も警告することができる。システムの任意の部分において検出更新が存在する場合は常に、すべての既知の正当なエントリを「汚染」として印を付けることができる。そのファイルが再び見出されれば、新しい検出能力が追加された後はファイルの状態が未証明であるため、ディスパッチャは、ＵＩＤチェックに対して否定的に応答する。次いで、ファイルは、システムによって処理される。
【００４４】
再びチェックされているファイルが正当であると見出された場合、ＵＩＤエントリ上の汚染フラグは取り除かれ、今後のＤＢクエリは既知の正当なものとして応答される。しかし、ファイルが不正であると見出された場合、システムは、通常通り警告を出し、ログを取る。さらに、システムは、ファイルを受信したとしてＤＢに記載される互いのシステムに警告を出す。このように、検出が進展するにつれて、システムを使用して、潜在的な攻撃および望ましい改善について対応チームに遡及的に通知することができる。
【００４５】
また、システムはサブコンポーネントも管理するため、他のファイルにも警告を発することができる。例えば、システムが特定のイメージファイルを悪意のあるものと判断し、他の種のドキュメントにおいてそのファイルを検出すれば、すべての関連ドキュメントは悪意のあるものとして印を付けられ（１２７）、悪意のあるファイルを含むドキュメントのいずれかにアクセスしたすべてのホストに対して警告を発する（１２９）。
【００４６】
更新用のシステムは拡張可能であり、したがって、ＮＲＴ（準リアルタイム）検出においてピギーバックを望む他のシステムはＡＰＩを利用することができる。例えば、Ｓｎｏｒｔセンサは、ＮＲＴクライアント専用として構成することができ、唯一ローカルキャッシュおよび既知の不正な送信元情報に対する集中ＤＢへのクエリを管理することができる。このように、管理者は、取り出すファイルのオーバーヘッドを招かないように選択することができるが、依然としてＵＲＬ、メールヘッダおよび同様のものに関する警告を出すことができる。また、ＳｎｏｒｔとＣｌａｍＡＶ（例示的なＩＤＳまたはＩＰＳとして）の両方とも、ディスパッチャによるカスタム作成のルールを受け入れることができ、それらのルールをイベントのリアルタイム検出に対して使用することができ、その結果、後続のファイルのエクスプロイトの送達前にブロッキングが起こり得る。この機能性は、ＮＲＴシステムへの警告の重大性に基づいて送達されるよう設定することができる（例えば、通知／不審な／エクスプロイトのインジケータ／既知の攻撃）。
【００４７】
また、メタデータの統合構造およびファイルデータへの簡単なポインタ／サイズを提供するという点において、ナゲットシステムも拡張可能である。検出システムは、単に構造およびデータの受信を管理し、サブコンポーネント処理への参加を希望するかどうか判断するだけでよい。検出エンジンが検査できるコンポーネントのタイプを示すナゲットとして登録するためのＡＰＩを提供することができる。多重の非重複検出は、ディスパッチャが２つ以上のＤＩＮタイプにファイルを送信する必要があることを知ることができるようにユニークな検出タイプのフラグが設定される特定のファイルタイプ（例えば、複数のＡＶシステム）に対して利用可能である。
【００４８】
Ｓｎｏｒｔ  ＩＤＳシステムは概念実証に具体的に使用されたが、ＡＰＩを使用して、ディスパッチャへのクエリを行い、ＤＩＮファームにファイルを送達することができるいかなるシステムもこのシステムに参加できる。これは、ネットワークベースのシステムに制限されない。システムが使用できる形式でデータを見つけることができるいかなるシステムも、ＡＰＩ呼び出しを通じてシステムに参加できる。
【００４９】
一例として、科学捜査システムは、初期の評価のため、不審なファイルをシステムに提
出する場合がある。ネットワーク科学捜査システムは、ファイルをキャプチャし、評価のため、Ｓｎｏｒｔとは無関係なシステムにファイルを提供する場合がある。必要とされるのは、提出、送信および警告の取り扱いのためのＡＰＩの使用であり得る。
【００５０】
以下に列挙されるセクションは、概念実証（ＰＯＣ）に対してＳｎｏｒｔ  ＩＤＳシステムを使用する３つの異なる例示的な実施形態の詳細を提供する。以下のセクションでは、図２、図３および図４を参照し、それぞれ、ＮＲＴフェーズ１のＰＯＣ、ＮＲＴフェーズ２のＰＯＣおよびＮＲＴフェーズ３に対して実装することが提案されるアーキテクチャを示す機能フロー図である。図２は、第１の実施形態を示し、図３には、図２には存在しないディスパッチャ、関連フローおよび機能性が追加され、図４は、図３の変形例であり、最適化のためのいくつかの追加のフローおよび機能性を伴う。
【００５１】
１．目次
２．概要
２．１  要約
２．２  適用範囲
２．３  仮定と主張
２．３．１  仮定
２．３．２  主張
２．４  一般要件
２．４．１  ＮＲＴ  Ｓｎｏｒｔプリプロセッサ
２．４．２  ＮＲＴ  ＤＬＩＢプロセス
２．４．３  ＮＲＴディスパッチャ
２．４．４  徹底検査ナゲット
３．使用事例
３．１  単一のサーバインストール
３．２  複数のサーバインストール
４．オペレーションの概念
４．１  構成
４．２  Ｓｎｏｒｔ統合警告
４．３  ＮＲＴ特有の警告
５．機能設計
５．１  ＰＯＣ設計
５．２  代替の実施形態
６．実施問題
６．１  テンプレート言語
６．２  Ｓｎｏｒｔ統合
６．３  ルール言語
７．テスト事例
７．１  ＰＯＣフェーズ１
７．２  ＰＯＣフェーズ２
８．自動化されたテスト
２．概要
準リアルタイム検出（ＮＲＴ）は、Ｓｎｏｒｔ検出エンジンを使用してファイル形式攻撃に対して検出を提供するという困難への脆弱性研究チームのさまざまなメンバーによる広範囲の研究の結果である。「高度で執拗な脅威」（ＡＰＴ）として説明されるアクタと、Ｍｅｔａｓｐｌｏｉｔ、ＣＡＮＶＡＳおよびＣｏｒｅ  Ｉｍｐａｃｔなどの公的に利用可能なエクスプロイトフレームワークの両方によって現在実証される精巧レベルは、ＶＲＴに、検出を提供するための選択の余地をほとんど残さない。
【００５２】
この困難を悪化させるのは、ワイヤスピードで低待機時間分析を行うという顧客の願望である。ＡＳＣＩＩ１６進デコード、ＪＡＶＡ（登録商標）Ｓｃｒｉｐｔ難読化、ＰＤＦオブジェクトデフレーションおよび攻撃者が利用可能な無数の他の技法の取り扱いに必要な処理のため、システムは、単にシステムが悪意のあるデータに対しドキュメントを分析できるほどにドキュメントを正規化するのに利用可能な時間がないだけである。
【００５３】
ＮＲＴは、選択されたファイルタイプを通信ケーブルから取り出し、ローカルボックス上またはリモートボックス上の追加の検出エンジンに渡すことによって、この問題を取り扱う。これらの検出エンジンは、検出エンジンの有用性および検出エンジンによって取り扱われるファイルのタイプを取り扱うディスパッチャプロセスによって管理される。次いで、これらのエンジンは、伝統的なＳｎｏｒｔプロセスを通じて警告するためＳｎｏｒｔに警告情報を戻し、大量のデータブロックおよび情報をエンドユーザに提供することを可能にするＮＲＴシステムに特有の警告システムも提供する。
【００５４】
２．１  要約
これは、ＮＲＴシステムのための予想されるシステムアーキテクチャ、使用事例および設計目標について概説する。
【００５５】
２．２  適用範囲
ＮＲＴは、最初に、以下のファイルタイプおよびコンポーネントのために実施される。
ＢＩＦＦ  Ｏｆｆｉｃｅドキュメント（可能なＰＯＣフェーズ３）
Ｘ−ｃｌａｓｓ  Ｏｆｆｉｃｅドキュメント（可能なＰＯＣフェーズ３）
ＰＤＦドキュメント（ＰＯＣフェーズ１）
ＳＷＦドキュメント（可能なＰＯＣフェーズ３）
ＰＥ実行可能ファイル（可能なＰＯＣフェーズ２）
ＨＴＭＬドキュメント（可能なＰＯＣフェーズ３）
ＪＡＶＡ（登録商標）Ｓｃｒｉｐｔ（可能なＰＯＣフェーズ３）
ＶＢＳｃｒｉｐｔ（可能なＰＯＣフェーズ３）
初期の実施は以下を取り扱う。
【００５６】
ＮＲＴ  Ｓｎｏｒｔプリプロセッサ
関与センサ（Ｐａｒｔｉｃｉｐａｎｔ  Ｓｅｎｓｏｒｓ）（能動的にファイルを供給するもの）
クライアントセンサ（ＭＤ５データベースへのクエリを行うもの）（可能なＰＯＣフェーズ３）
徹底検査ナゲット
ＮＲＴディスパッチャ（ＰＯＣフェーズ２）
２．３  仮定と主張
２．３．１  仮定
ＮＲＴシステムは、顧客が、ファイルベースの検出問題に挑戦するためのはるかにロバストな検出システムと引き換えに、警告の遅延およびアクティブブロッキングの欠如（ＩＰＳ）を容認すると仮定する。
【００５７】
２．３．２  主張
主張（ｎ）：実証的陳述または表明。支持も理由もない場合が多い。適用せず。
２．４  一般要件
２．４．１  ＮＲＴ  Ｓｎｏｒｔプリプロセッサ
例えば、利用可能なＳｎｏｒｔシステムである、例えば、侵入検知／防止（ＩＤＳ／ＩＰＳ）プロセッサ２０１を示す図２を参照する。この例では、ＩＤＳ／ＩＰＳ２０１は、デコーダ２０３、ＦＲＡＧ３  ２０５およびＳｔｒｅａｍ５  ２０７に対する機能性を含
み、これらすべては公知であり、通信ケーブル上のトラフィックを評価するために容易に利用可能であり、そして、準リアルタイムプリプロセッサ２０９を含む。Ｓｎｏｒｔプリプロセッサ２０９は、通信ケーブルから選択されたファイルタイプを取り出して取り扱うタスクが課される。最初は、プリプロセッサ２０９は、Ｅメールとｈｔｔｐトラフィックのみからファイルを取り出す。一旦通信ケーブルからファイルを取り出すことに成功すれば、プリプロセッサは以下を実行する。
【００５８】
適切なメタデータ（ＵＲＬ／ＳＭＴＰ）を伴うクエリをＤＬＩＢプロセス２１１に渡し、ローカルキャッシュ２１３、２１７をチェックする。
それに失格となった場合は、ＭＤ５を計算して、メモリ内のファイルへのポインタとともにＤＬＩＢプロセス２１１へ渡す。
【００５９】
ストリームがＳｎｏｒｔから不要なリソースを取り出さないように、Ｓｎｏｒｔへ処理しないとストリームに印を付ける。
プリプロセッサ２０９は、分析結果に関する情報をディスパッチャ（例えば、図３、３３３）から受信し、Ｓｎｏｒｔに警告し、必要に応じて、ＭＤ５テーブル２１５へのエントリを作成する。
【００６０】
ＮＲＴ  Ｓｎｏｒｔプリプロセッサの設計目標は、Ｓｎｏｒｔへの侵入を最小限に抑えることである。追加検出が強制されれば直ちに、データをＳｎｏｒｔプロセスの外に出し、スレッドを開けたままリターンデータのみを取り扱う。
【００６１】
２．４．２  ＮＲＴ  ＤＬＩＢプロセス
ＤＬＩＢプロセス（図２、図３および図４で示される）２１１、３１７、４１７は、プリプロセッサ２０９、３０９、４０９とＮＲＴシステムの残りの部分との仲介者である。ＤＬＩＢプロセス２１１、３１７、４１７は、ＵＲＬ２１７、３１５、４１５およびＭＤ５合計データ２１５、３１３、４１３のローカルキャッシュ２１３、３１１、４１１を維持し、トークンを管理して、さまざまなＤＩＮ２２１、３１９、４１９へファイルを分配する。具体的には、ＤＬＩＢプロセスは以下を実行する。
【００６２】
ｈｔｔｐファイルの要求があれば、既知の不正なＵＲＬ２１７、３１５、４１５をチェックし、エントリがある場合はリターントラフィックをブロックする。Ｓｎｏｒｔに警告し、その警告についてディスパッチャに通知する。
【００６３】
以前分析されたファイルを表す一連のＭＤ５  ２１５、３１３、４１３に対してファイルＭＤ５合計をチェックする。ＭＤ５が一致すれば、データをプリプロセッサに返し、警告としてＳｎｏｒｔに渡し、その警告についてディスパッチャに通知する。
【００６４】
（図３および図５を参照する）。ディスパッチャ３３１、４３３上のＭＤ５およびＵＲＬデータベース３４１、３４３、４４３、４４５（集合的に、ディスパッチャデータベース３３９、４４１）へのクエリを行う。ディスパッチャがデータベース３３９、４４１にエントリを有する場合は、ＤＬＩＢプロセス３１７、４１７がプリプロセッサ３０９、４０９に必要に応じて警告するかまたは検出を終了するように通知することを可能にする十分な情報を返す。ディスパッチャは、いかなる警告も、データベースに入力する（ＮＲＴロギング３３５、４３７）。
【００６５】
ＭＤ５チェックで失格となった場合は、ＤＬＩＢプロセスは、特定のＤＩＮにファイルを渡すという命令を含むトークンを受信する。
一旦ファイルがＤＩＮに渡されれば、ＤＬＩＢプロセスは、ディスパッチャを介して渡される結果を待つ。一旦ＤＬＩＢプロセスがこの情報を受信すれば、ＤＬＩＢプロセスは
、ローカルキャッシュエントリ２１３、３１１、４１１を更新し、ＮＲＴプリプロセッサに警告情報を戻す。
【００６６】
センサは、ＮＲＴシステムを２つの異なる方法で使用するよう構成することができる。ＮＲＴシステムへ能動的にファイルを提供するセンサは、「関与センサ」として知られている。クライアントセンサは、既知の不正なＵＲＬおよびＭＤ５合計のローカルキャッシュを維持し、キャッシュエラーの場合に中央データベースへのクエリを行うようディスパッチャと連絡を取る。しかし、クライアントセンサは、分析のためにＮＲＴシステムにファイルを渡すことはしない。
【００６７】
２．４．３  ＮＲＴディスパッチャ
ＮＲＴディスパッチャ３３１、４３３（図３、図４で示される）は、ＮＲＴシステムを管理するプロセスである。ＮＲＴディスパッチャは、センサと徹底検査ナゲット（ＤＩＮ）（ここでは、１つのＤＩＮ２２１、３１９、４１９によって表される）との間でファイルを渡し、ＭＤ５およびＵＲＬデータベース３４１、３４３、４４３、４４５を維持し、ＮＲＴ特有の警告３３５、４３７を提供し、ＤＩＮ間で正規化データのコンポーネント断片を渡すことに対する責任を有する。具体的には、ＮＲＴディスパッチャ３３１、４３３は以下を実行する。
【００６８】
クライアントセンサからのクエリに応答する（３３３、４３５）。
失敗したクエリに対し、センサがＤＩＮ３１９、４１９にファイルを転送することができるように、センサへ認可トークンを渡す。
【００６９】
以前分析されたファイルおよびファイルサブコンポーネントのＭＤ５合計ならびにその分析結果のデータベース３４１、４４３を維持する。
既知の不正なおよび既知の正当なＭＤ５に対するインポート機能を利用可能にする。
【００７０】
ナゲットファーム（Ｎｕｇｇｅｔ  Ｆａｒｍ）でＤＩＮのリストを維持する。このリストは、利用可能な検出スレッドのＤＩＮ別のリスト、ＤＩＮのファイル特殊化およびＤＩＮの以前の性能の測定基準を含む。
【００７１】
ディスパッチャは、ＤＩＮが見出されたファイル測定基準に基づいて異なるファイル特殊化に再度割り当てられるよう要求する。
ディスパッチャは、ＮＲＴプリプロセッサが、警告し、必要ならば既知の不正なＵＲＬリストを更新し、ローカルのＭＤ５リストを更新することができるように、情報を関与センサに戻す。
【００７２】
ディスパッチャは、ＮＲＴシステムのカスタム警告機能性３３５、４３７を取り扱う。
２．４．４  徹底検査ナゲット
徹底検査ナゲット（図２、図３、図４に示される）２２１、３１９、４１９は、実際の検出を取り扱う個別のプロセスである。それぞれのＤＩＮプロセスは、特定の異なるファイルタイプまたはコンポーネントタイプ専用である。各ＤＩＮは、ファイルタイプについて記載するテンプレート言語ファイルおよびそのファイルタイプ用の検出セットのコピーを有する。次いで、ＤＩＮプロセスは、ディスパッチャに登録して受信ファイルを待つ。ファイルを受信すると（３２１、４２１）、ＤＩＮは以下を実行する。
【００７３】
供給されたテンプレートを使用してファイルを解析する（２２３、３２１、４２３）。
必要に応じて、ファイルのサブセクションを正規化する（２２３、３２１、４２３）。
ナゲットファームが取り扱う埋め込みファイルまたはコンポーネントが解析中に発見されれば、さらなる処理のため、そのファイルまたはコンポーネントをディスパッチャに戻
す。
【００７４】
正規化データに対してファイル特有の検出ルールセット４２５を適用する（２２３、３２３、４２７）。
正規化データに対して包括的探索およびＸＯＲオペレーションを適用する（２２５、３２５、４２９）。
【００７５】
例えば、ディスパッチャ３３７、４３９に調査結果を返す（２２７、２２９、２３１、３２７、３２９、４３１）。
３．使用事例
２つの使用事例、すなわち、Ｓｎｏｒｔ／ＮＲＴシステムの単一のサーバインストール、ならびに、専用の参加者およびクライアントセンサおよびナゲットファームに集結された一連のサーバからなる大規模なインストールについて論考される。
【００７６】
３．１  単一のサーバインストール
単一のサーバインストールは、オープンソースユーザに対して最も可能性が高い一般的なインストールである。このインストールは、関与サーバとして機能する単一のＳｎｏｒｔプロセス、ならびに、ディスパッチャとナゲットファームの個別のＤＩＮに対する別々のプロセスからなる。ファイルは、共有メモリ空間をマッピングし、その空間へのポインタをセンサプロセスからディスパッチャへおよびディスパッチャから適切なＤＩＮへ渡すことによって渡される。
【００７７】
このインストールは、予算が制約される小規模な組織、地方の支社またはそれらのセキュリティオペレーショングループに適している。
３．２  複数のサーバインストール
複数のサーバインストールは、大きなパイプに対してサポートされるファイルタイプの徹底検査を希望するか、または、集中ナゲットファームでいくつかの小さなパイプを取り扱うことを望む組織によって使用され得る。この場合、ディスパッチャおよび徹底検査ナゲットプロセスは、１つまたは複数の別々のサーバ上にある。さらに、ディスパッチャの機能性に対するサポートデータベースもまた、別々のサーバ上に存在し得る。
【００７８】
これらの場合では、オペレーションは、プロセス間通信とは対照的に、ネットワーク上のサーバ間で情報を転送する必要性によってのみ複雑となる。顧客は、これに対する適切な設定が、ＮＲＴシステムのセキュリティのわずかな増加を提供するためのプライベートのルーティングされていないネットワークであるという忠告を受ける。警告は適宜、個別のＳｎｏｒｔセンサに渡され、ディスパッチャは、ＮＲＴシステムの追加報告を取り扱う。
【００７９】
４．オペレーションの概念
構成、ＮＲＴ特有の警告およびＳｎｏｒｔ統合警告は、ユーザがシステムと統合する主要な手段であり得る。
【００８０】
４．１  構成
構成が発生し得る場所は３つある。
（１）ＮＲＴプリプロセッサ
以下を定義する。
【００８１】
プリプロセッサの役割［クライアント、参加者］
ディスパッチャのＩＰ
取り出すファイルタイプ
ローカルＵＲＬリストの最大サイズ
ローカルＭＤ５リストの最大サイズ
（２）ディスパッチャ
以下を定義する。
【００８２】
データベース位置
ナゲットファームＩＰアドレス
ＵＲＬリストキャッシュの最大サイズ
ＭＤ５リストキャッシュの最大サイズ
（３）徹底検査ナゲット
ディスパッチャＩＰアドレスを定義する。
【００８３】
また、以下も定義できる。
スレッドの最大数
サポートされるファイルタイプ
４．２  Ｓｎｏｒｔ統合警告
Ｓｎｏｒｔ統合警告は、現行のＳｎｏｒｔ警告方法と完全に互換性を有するよう設計される。ディスパッチャは、リターンプロセスの一部として、どのデータを警告内に含めるべきか決定し、場合により、正規化データをパケットデータの形で戻すことを含む。追加情報については、未解決の問題６．２を参照されたい。
【００８４】
４．３  ＮＲＴ特有の警告
ＮＲＴシステムは、悪意のあるファイルに関する完全な報告を可能にする警告システムを実装することができる。これは、警告をトリガしたファイルの正規化されたセクション（その全体）を含み得る。例えば、圧縮されたＪＡＶＡ（登録商標）Ｓｃｒｉｐｔセクションが警告をトリガすれば、拡張され難読化が解除されたスクリプトを警告ブロックに渡すことができる。
【００８５】
５．機能設計
機能設計セクションで見られる可能性があるものの要約を以下に示す。
５．１  ＰＯＣ設計
システムアーキテクチャについてセクション２で説明されている。追加情報については、３つのＰＯＣフェーズそれぞれでシステムを図解するＮＲＴ−ＰＯＣ−ＰＨＡＳＥＳドキュメント（図２〜図４）を参照されたい。
【００８６】
５．２  代替の実施形態
代替の実施形態は以下の１つまたは複数を実施することができる。
検疫プロセス
ＭＤ５データをセンサに押し出す。
【００８７】
受信したファイルの統計分析を反映させるため、ナゲットファームにおいてＤＩＮを再度割り当てる。
６．実施問題
実施問題は以下を含む。
【００８８】
６．１  テンプレート言語
テンプレート言語は、Ｃよりもむしろ、スクリプト言語によってより容易に対処することができる。
【００８９】
６．２  Ｓｎｏｒｔ統合
理想的なシステムは、できる限り多くの情報を戻すが、Ｓｎｏｒｔにおけるプリプロセッサの警告に対する実用上の制限がある場合がある。
【００９０】
６．３  ルール言語
Ｓｎｏｒｔルール言語の一部は、Ｓｎｏｒｔルール言語に精通している者によって理解されるように、ＮＲＴシステムに変更／移植することができる。しかし、ファイル形式特有の動詞を有する新しい言語を作成してＮＲＴシステムをサポートすることができる。
【００９１】
７．テスト事例
以下のテスト事例は、予想される結果の一般的な概要を提供する。
７．１  ＰＯＣフェーズ１
説明：
ローカル分析および警告を伴うＰＤＦ  ＨＴＴＰキャプチャ（ＰＯＣフェーズ１については図２を参照）
手順−以下の順番で行う。
【００９２】
（１）Ｓｎｏｒｔ２０１において、ライブＨＴＴＰデータストリームにおいて悪意のあるＰＤＦをキャプチャする。
ローカルのＤＬＩＢ２１１にそのＰＤＦを渡す。
【００９３】
ＤＬＩＢは、キャッシュチェック２１９で失格となれば、ローカルのＤＩＮ２２１にＰＤＦを渡す。
警告を取り扱う（２２９、２３１）。
【００９４】
（２）Ｓｎｏｒｔ２０１において、再度、ライブＨＴＴＰデータストリームにおいて同じＵＲＬを介して同じ悪意のあるＰＤＦをキャプチャする。
ローカルのＤＬＩＢ２１１にそのＵＲＬを渡す。
【００９５】
ＤＬＩＢは、ＵＲＬキャッシュエントリ２１７に基づいて警告を返す。
（３）Ｓｎｏｒｔ２０１において、再度、ライブＨＴＴＰデータストリームにおいて異なるＵＲＬを介して同じ悪意のあるＰＤＦをキャプチャする。
【００９６】
ローカルのＤＬＩＢ２１１にそのＰＤＦを渡す。
ＤＬＩＢは、ＭＤ５キャッシュエントリ２１５により警告する。
予想される結果
ファイルは３回警告するはずである。初期の分析から１回、ＵＲＬキャッシュに対して１回およびＭＤ５キャッシュを介して１回。
【００９７】
７．２  ＰＯＣフェーズ２
説明
リモート分析および警告を伴うＰＤＦ  ＨＴＴＰキャプチャ（ＰＯＣフェーズ２については図３を参照）
手順−以下の順番で行う。
【００９８】
（１）そのＰＤＦをローカルのＤＬＩＢ３１７に渡す（例えば、Ｓｎｏｒｔ３０１ではＮＲＴ３０９から）。
ＤＬＩＢ３１７は、キャッシュチェック３１１で失格となれば、ディスパッチャ３３１へのクエリを行う。
【００９９】
ディスパッチャ３３１は、ＤＢチェック３３９で失格となれば、トークンをＤＬＩＢに
返す。
ＤＬＩＢ３１７は、適切なＤＩＮ３１９にファイルを渡す。
【０１００】
ＤＩＮ３１７は、ディスパッチャ３３１に警告し、ディスパッチャ３３１は、警告をＤＬＩＢ３１７に渡し、ＮＲＴの詳細なロギング３３５を取り扱う。
ＤＬＩＢ３１７は、Ｓｎｏｒｔ３０１に警告を提供する。
【０１０１】
（２）ＤＬＩＢプロセス３１７をリセットする（キャッシュ３１１をクリアする）。
Ｓｎｏｒｔ３０１において、ライブＨＴＴＰデータストリームを介して同じＵＲＬから同じ悪意のあるＰＤＦをキャプチャする。
【０１０２】
ローカルのＤＬＩＢ３１７にそのＰＤＦを渡す。
ＤＬＩＢ３１７は、キャッシュチェック３１１で失格となれば、ディスパッチャ３３１へのクエリを行う。
【０１０３】
ディスパッチャ３３１は、ＵＲＬ  ＤＢ３４３内でのエントリの存在のため警告に応答する（３３３）。
ＤＬＩＢ３１７は、キャッシュ３１１、３１５を更新し、Ｓｎｏｒｔ３０１に警告を提供する。
【０１０４】
（３）Ｓｎｏｒｔ３０１において、ライブＨＴＴＰデータストリームを介して同じＵＲＬから同じ悪意のあるＰＤＦをキャプチャする。
ローカルのＤＬＩＢ３１７にそのＰＤＦを渡す。
【０１０５】
ＤＬＩＢ３１７は、ローカルのＵＲＬキャッシュ３１５内でのエントリの存在のため警告する。
（４）ＤＬＩＢプロセス３１７をリセットする（キャッシュ３１１をクリアする）。
【０１０６】
Ｓｎｏｒｔ３０１において、ライブＨＴＴＰデータストリームを介して異なるＵＲＬから同じ悪意のあるＰＤＦをキャプチャする。
ローカルのＤＬＩＢ３１７にそのＰＤＦを渡す。
【０１０７】
ＤＬＩＢ３１７は、キャッシュチェック３１１で失格となれば、ディスパッチャ３３１へのクエリを行う。
ディスパッチャ３３１は、ＭＤ５  ＤＢ３４１内でのエントリの存在のため警告に応答する（３３３）。
【０１０８】
ＤＬＩＢ３１７は、キャッシュ３１１、３１３を更新し、Ｓｎｏｒｔ３０１に警告を提供する。
（５）Ｓｎｏｒｔ３０１において、ライブＨＴＴＰデータストリームを介して第３のＵＲＬから同じ悪意のあるＰＤＦをキャプチャする。
【０１０９】
ローカルのＤＬＩＢ３１７にそのＰＤＦを渡す。
ＤＬＩＢ３１７は、ローカルのＭＤ５キャッシュ３１３内でのエントリの存在のため警告する。
予想される結果
警告は５回起こるはずである。初期の警告、グローバルのＵＲＬ  ＤＢ３４３上の警告、ローカルのＵＲＬキャッシュ３１５上の警告、グローバルのＭＤ５  ＤＢ３４１上の警告および最終的にローカルのＭＤ５キャッシュ３１３上の警告。
【０１１０】
上記で説明されるシステム、方法およびコンピュータ可読媒体は、以下の１つまたは複数を実現する。
・ファイルへのサブコンポーネントのＵＩＤ合計トラッキング
・特定の攻撃トリガ条件を標的とする完全なファイル解析
・クライアント側のＡＶシステムを管理するためのオーバーヘッドなしでの検出を可能にする、ネットワークトラフィックから取り出された完全なファイルに基づくファイルベースの検出
・ファイルを検査するための拡張可能な分配された方法
・埋め込みファイルおよびファイル解析によって決定された難しい検出問題に基づく再分配された検出（単一ファイルの複数のシステム評価）
・ベンダによって提供されるものとは対照的に、検出能力に基づいて正当であるまたは不正であるとして判断されたＵＩＤの集中データベース
・既存のおよびカスタム開発された検出システムをＮＲＴ警告構造にプラグインすることができる拡張可能な検出ナゲットシステム
・検出能力を利用して新しいおよび既存のリアルタイム検出システムを更新するための拡張可能な警告システム
・完全なファイルＵＩＤとサブコンポーネントＵＩＤの両方に基づく遡及警告
ここで、前述の代替の実施形態を提供する検出ルーティングにより検出を統合するためのシステムおよび方法に関連して、図５および図６について一緒に論考する。
【０１１１】
任意のデータのタグ付けと任意のシステムからの対象の宣言の両方ならびに対象とするシステムへのそのデータのルーティングを確実にするためのメカニズムを可能にするシステムの公知の均等物は現在存在しない。
【０１１２】
標準のネットワーク環境では、データはキャプチャ位置で分析される（例えば、アンチウイルスはメールゲートウェイに取り付けられる）。これにより、検出はそのシステムのみに制限され、他の検出システムがデータを評価する機会は差し控えられる。これにより、複数のシステムが既にチェックされたデータを評価するため、両方で作業が繰り返されることになる。また、これにより、個別のシステムに到達しないデータは評価されないため、システムの全体的な能力が低減される。
【０１１３】
以下で説明される実施形態は、データキャプチャとデータ分析機能を切り離すことができ、ネットワークのいずれの場所で得られたデータも、すべての検出システムに転送することを可能にする。この手法により、複数の全く異なる検出システムを単一セットの検出に一まとめにすることができる。これにより、検出の有効性および検出システムへの投資に対するＲＯＩを支援することができる。
【０１１４】
この実施形態では、ディスパッチャは、上記で論考される通りのものであり、また、対象とする検出システムのテーブルを維持することも、以前評価されたデータのリストを維持することも行う。ディスパッチャは、ユニバーサル一意識別子（ＵＵＩＤ）によってデータを追跡することができ、およそ３×１０３８種のユニークなデータタイプを表明することが可能になる。これにより、システムは、無制限の数のデータタイプを表明し、維持することができる。
【０１１５】
ここで図５を参照すると、例示的なＵＵＩＤテーブルが論考され、説明される。システムによって知られるＵＵＩＤは、テーブル、例えば、公知のＵＵＩＤテーブル５０１で維持することができる。
【０１１６】
「グローバル」（「グローバル」という列５０５）として印を付けられるＵＩＤ（ＵＩＤという列５０３）は、全体のシステムの一部として提供されていること、および、シス
テムのすべての実装にわたってユニークであることを示す。「グローバル」と印を付けられないＵＩＤは、個人企業にユニークであり、システムユーザ全体が利用できるものではない。ＵＩＤのこのシステムは、企業特有の検出の必要性に重要な伸展性を提供する。
【０１１７】
起動時、それぞれの検出コンポーネントは、ディスパッチャに登録することができる。この登録プロセスの一部として、検出コンポーネント（ＤＩＮ３１９、４１９など）は、ＵＵＩＤによって、対象とするデータの種類を表明することができる。次いで、ディスパッチャは、例えば、図６で示されるように、検出ルーティングテーブルを設定する。
【０１１８】
ここで図６を参照すると、検出ルーティングテーブルを示すブロック図が論考され、説明される。検出ルーティングテーブルは、任意の所定のデータタイプ６０１に対して、それぞれのタイプの検出コンポーネントの１つ（図６では、「検出エンジンタイプ」６０３、６０７、６１１）を、同データタイプに連結し、そのデータブロックを評価する機会が得られることを確実にする。検出エンジンタイプ６０３、６０７、６１１はそれぞれ異なり得る。さらに、テーブルは、所定のタイプの検出コンポーネント６０３、６０７、６１１に対して利用可能なリソース（例えば、異なるシステム６０５、６０９、６１３に対して利用可能なスレッド）の数を把握して維持し、ディスパッチャが追加のコンポーネントにオンラインさせるかまたは既存のコンポーネントを新しいタイプに変換させるよう指示することを可能にする。図６では、検出ルーティングテーブルには１つのデータタイプ６０１のみが示されるが、それは、その中の複数の異なるデータタイプ６０１の一例であり、その各々はそれ自体の検出エンジンタイプツリーを伴う。
【０１１９】
データコレクタは、適切にデータをキャプチャしてそれにタグ付けをするのに十分な知能を有することができる。一旦データコレクタがデータをキャプチャすれば、データコレクタは、そのデータブロックを一意に識別する一連のデータを送信し、それが以前に評価されているかどうかチェックすることができる。データが以前に評価されていれば、検出システムに影響を与えずに、データは破棄される。データが以前に評価されていなければ、ディスパッチャは、検出ルーティングテーブルとデータタイプを比較し、そのデータのコピーの１つがそのデータを対象とすると宣言した各種の検出コンポーネントに到達することを確実にする。
【０１２０】
例えば、アンチウイルスシステムは、ＰＤＦファイルを対象とすると宣言するシステムへのフロントエンドを有する場合がある（図５の「説明」という列５０７のように）（「００５ｄ５４６４−７ａ４４−４９０７−ａｆ５７−４ｄｂ０８ａ６１ｅ１３ｃ」としてグローバルに識別される）。また、カスタム組立のＰＤＦ分析器をシステムに結合させることもできる。
【０１２１】
最終的に、さらなる実施形態として、サンドボックスシステムをシステムに結合することができる。サンドボックスは公知の技法である。例えば、システムがオンラインする際かまたはその後で、システムは、ＰＤＦファイルを対象とすることをディスパッチャに登録し、検出に利用可能なリソースおよび送信すべきＩＰ／ポート組合せデータに関する説明をディスパッチャに提供することができる。次いで、ディスパッチャは、３つのタイプの検出コンポーネントのそれぞれに対するエントリを伴うＰＤＦファイルに対するディフェンスルーティングテーブル（本明細書では「データルーティングテーブル」と呼ばれる場合がある）を構築する。
【０１２２】
データコレクタがＰＤＦファイルをキャプチャすると、データコレクタは、そのファイルに対して１つまたは複数のアルゴリズムを実行し、そのＵＩＤを一意に識別することができる。次いで、データコレクタは、その情報をＰＤＦファイルＵＩＤとともにディスパッチャに送信し、そのデータタイプを表明することができる。ディスパッチャが以前にデ
ータを見出していれば、システムはデータを破棄する。以前にデータを見出していなければ、ディスパッチャは、提供されたデータタイプＵＩＤをルーティングテーブルに対して評価し、そのデータが１つまたは複数のタイプの検出エンジンの一インスタンス（ＡＶ、カスタム分析器およびサンドボックス）に到達することを確実にする。
【０１２３】
上記で説明されるシステム、方法およびコンピュータ可読媒体は、以下の１つまたは複数の組合せを実現する。
データキャプチャとデータ評価システムを切り離す検出システム、方法、装置および／または非一時的なコンピュータ可読媒体。
【０１２４】
単一のデータ入力の分析に利用可能な検出能力のアレイを実現する検出システム、方法、装置および／または非一時的なコンピュータ可読媒体。
検出コンポーネントが取り扱えるデータのタイプに関するそれらの検出コンポーネントからのデータに基づいて、検出能力のアレイから検出コンポーネントのサブセットへそのデータをルーティングすることによって、公知のデータタイプ識別子でタグ付けされた任意のデータを取り扱うことができる、前述に記載されるようなシステム、方法、装置および／または非一時的なコンピュータ可読媒体と接続されるルーティングメカニズム。
【０１２５】
それぞれのコンポーネントタイプの単一のシステムのみが任意の所定のデータ断片を評価することを確実にし、任意のデータのユニークな断片はたった１度だけ評価されるシステムを提供することによって、不要な順次処理を低減することができる、前述のシステム、方法、装置および／または非一時的なコンピュータ可読媒体。
【０１２６】
ここで図７を参照すると、第１の実施形態によるファイル分析に関連する簡略化された代表的な環境を示す図が論考され、説明される。
図では、送信元７０１（コンピュータシステムなど）は送信信号を送信先７０９に送信する。送信は、ファイル例えばＦＴＰファイルの転送またはＥメールへの添付または同様のものを含み得る。この例では、送信信号は、ネットワーク７０３、ルータ７０５およびファイアウォール７０７を介して送信先７０９に送信される。送信先７０９への通信および送信先７０９からの通信は、センサを備えたものなど、侵入検知／防止システム（ＩＤＳ／ＩＰＳ）７１３によって、周知の技法に従ってモニタすることができる。この図では、ＩＤＳ／ＩＰＳはファイアウォール７０７の後方に設けられるが、ＩＤＳ／ＩＰＳは、送信先７０９の前のいずれの場所にも設けることができる。あるいは、侵入検知／防止システム７１３は、送信先７０９と一直線上に設けるか、または、送信先７０９に組み込むことができる。あるいは、ファイルでの送信は、逆の経路をたどる、すなわち、この図において「送信先」７０９とラベル付けされたコンピュータシステムから送信することができる。
【０１２７】
示される攻撃検出システム７１１は、ＮＲＴでのＩＤＳ／ＩＰＳ７１３、ＤＬＩＢ７１５、ディスパッチャ７１９および複数の徹底検査ナゲットを備えたナゲットファーム７１７を含み、すべてが例えば、図１〜図４に関連して上記で詳細に論考される通りである。好都合には、ＤＬＩＢ、ディスパッチャおよびナゲットファーム７１３、７１５、７１７、７１９は、ＩＤＳ／ＩＰＳと同じプロセッサ上にまたはＩＤＳ／ＩＰＳとは分配されたプロセッサとして、すなわち、送信先が受信する前にデータを処理するために提供することができる。
【０１２８】
ここで図８を参照すると、第１の実施形態による例示的なコンピュータシステムの一部を示すブロック図（図２〜図４を含む）が論考され、説明される。本明細書で「システム」と呼ばれる場合があるコンピュータシステム８０１は、１つまたは複数のコントローラ８０５を含み得、コントローラ８０５は、センサ８０３から信号を受信することができ、
センサ８０３は、公知の技法に従ってネットワーク８３５から通信を検知し、そこでは、通信は対象（図示せず）に送信される。コントローラ８０５は、プロセッサ８０７、メモリ８１３、任意選択のディスプレイ８０９および／またはキーボード８１１などの任意選択のユーザ入力装置を含み得る。
【０１２９】
プロセッサ８０７（「プロセッサ装置」と呼ばれる場合もある）は、１つもしくは複数のマイクロプロセッサおよび／または１つもしくは複数のデジタル信号プロセッサを含み得る。メモリ８１３は、プロセッサ８０７と結合され得、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）および／または電気的消去可能な読み取り専用メモリ（ＥＥＰＲＯＭ）を含み得る。メモリ８１３は、特に、プロセッサ８０７によって実行されるプログラムに対するオペレーティングシステム、データおよび変数８１５を格納するための複数のメモリ位置と、プロセッサにさまざまな機能に関連して動作させる、例えば、コンピュータファイルを伴うネットワークトラフィックを受信する（８１７）、コンピュータファイルが正当なＵＩＤとして示されるかまたは不正なＵＩＤとして示されるか判断する（８１９）、ＵＩＤが記憶領域内に存在しない場合にファイルタイプ特有の検出ナゲットを呼び出す（８２１）、ＵＩＤとともにファイルが正当であるか不正であるかについての検出ナゲットからの結果を格納する（８２３）、ファイルのＵＩＤが正当であると示される場合に検出ナゲットをスキップする（８２５）、ファイルのＵＩＤが不正であると示される場合に検出ナゲットをスキップして警告を発する（８２７）、悪意のあるまたは不正なファイルを検出するための複数の異なるファイルタイプ特有の検出ナゲット８２９、８３１および／または他の処理などのコンピュータプログラムと、ＵＩＤおよび正当／不正インジケータ８３５ならびにＵＲＬリスト８３７に対するローカルキャッシュやＵＩＤおよび正当／不正インジケータ８３９ならびにＵＲＬリスト８４１に対するディスパッチャキャッシュと、プロセッサ８０７によって使用される他のさまざまな情報に対するデータベース８３３とを含み得る。コンピュータプログラムは、例えば、ＲＯＭまたはＰＲＯＭに格納することができ、コンピュータシステム８０１のオペレーションの制御においてプロセッサ８０７に指示することができる。プログラムについては以下で概観するが、他で論考される詳細については、必ずしもここで繰り返されるわけではない。
【０１３０】
プロセッサ８０７は、場合により、コンピュータファイルを含むネットワークトラフィックを受信する（８１７）ためにプログラムされ得る。示される例では、ネットワークトラフィック（パケットなど）は、コンピュータシステム８０１に接続されたセンサ８０３で検出され、公知の技法に従ってコンピュータシステム８０１に供給される。受信されたネットワークトラフィックは、任意のさまざまな公知の技法に従って、それとともにファイルおよびファイルとして検出されたものを運ぶ。
【０１３１】
プロセッサ８０７は、例えば、最初にＵＩＤおよび正当／不正インジケータ８３５のローカルキャッシュを参照することによって、コンピュータファイルが正当なＵＩＤとして示されるかまたは不正なＵＩＤとして示されるか判断する（８１９）ためにプログラムされ得る。ディスパッチャキャッシュは、恐らくは、ネットワーク全体を通して、ローカルおよびリモートコンピュータに対するディスパッチャによって維持されるＵＩＤおよび正当／不正インジケータを含む。ローカルキャッシュがＵＩＤを含まない場合は（ファイルは以前にローカルで検査されておらず、したがって、ファイルが正当であるか不正であるか不明であることを意味する）、この判断のため、ＵＩＤおよび正当／不正インジケータ８３９のディスパッチャキャッシュを参照することができる。ＵＩＤ８３９のディスパッチャキャッシュがＵＩＤを含まない場合は、ファイルは以前にローカルでもリモートでも検査されておらず、不明であることを意味する。また、先に論考された通り、プロセッサ８０７は、ローカルキャッシュのＵＲＬリスト８３７にアクセスしてファイルが発生したＵＲＬが悪意のあるものとしてローカルで知られているかどうか判断し、次いで、ディス
パッチャキャッシュのＵＲＬリスト８４１にアクセスしてファイルが発生したＵＲＬが悪意のあるものとしてディスパッチャに知られているかどうか判断するようにプログラムされ得る。
【０１３２】
プロセッサ８０７は、ＵＩＤが記憶領域内に存在せず（または他で説明されるように「汚染」として示される）、したがって、以前に検査されていない場合（またはそれ以降に更新された検出ナゲットによって「汚染」が検査された場合）にファイルタイプ特有の検出ナゲットを呼び出す（８２１）ためにプログラムされ得る。そのファイルのファイルタイプは、公知の技法に従って決定することができる。そのファイルのファイルタイプに対応するファイルタイプ特有の検出ナゲットＡ、Ｂ（８２７、８２９）は、汚染されたまたは以前に検査されていないファイルをさらに処理するために呼び出すことができる。検出ナゲットについては、他でより詳細に論考される。
【０１３３】
プロセッサ８０７は、ローカルキャッシュおよびディスパッチャキャッシュのＵＩＤおよび正当／不正インジケータ８３５、８３９において、ＵＩＤとともにファイルが正当であるか不正であるかについての検出ナゲットからの結果を格納する（８２３）ためにプログラムされ得る。したがって、それ以降にファイルを受信した場合は、ファイルを検査する必要はないが、正当／不正インジケータによって正当なファイルまたは悪意のあるファイルとして取り扱われ得る。ちなみに、ＵＲＬ自体が悪意のあるものであるという情報を受信すると、ローカルキャッシュおよびディスパッチャキャッシュのＵＲＬリスト８３７、８４１は更新され、ＵＲＬは悪意のあるものとしてリストされる。したがって、ＵＲＬリスト８３７、８４１内のＵＲＬからファイルが受信されれば、悪意のあるファイルとして取り扱われ得る。
【０１３４】
プロセッサ８０７は、ファイルのＵＩＤが正当であると示される場合に検出ナゲットをスキップする（８２５）ためにプログラムされ得る。既に正当であるとして知られているファイルを検査する必要はなく、次へ回しても安全なはずである。
【０１３５】
プロセッサ８０７は、ファイルのＵＩＤが不正であると示される場合に検出ナゲットをスキップして警告を発する（８２７）ためにプログラムされ得る。既に不正であるとして知られているファイルを検査する必要はなく、その送信先に到達しないようにファイルをドロップして、ファイル、ファイルの詳細およびコンテンツのロギングおよび報告のため警告を発することが望ましい場合がある。
【０１３６】
プロセッサ８０７は、先に論考された通り、悪意のあるまたは不正なファイルを検出するための複数の異なるファイルタイプ特有の検出ナゲット８２９、８３１のためにプログラムされ得る。検出ナゲットの各々（ここでは、２つの検出ナゲット８２９、８３１で表される）は、ファイルの１つのタイプを検査するようプログラムされ得る。これにより、受信されたファイルを処理するための命令の格納にいずれかの時点で必要とされるメモリ量を低減することができ、高速処理をもたらすことができる。
【０１３７】
ＵＩＤおよび正当／不正インジケータ８３５ならびにＵＲＬリスト８３７に対するローカルキャッシュは、ローカルで受信されたネットワークトラフィックの迅速な処理のため、プロセッサ８０７によって容易にアクセスすることができる。それぞれの異なるコンピュータシステム８０１は、それ自体のローカルキャッシュ８３５、８３７を維持することができる。
【０１３８】
ＵＩＤおよび正当／不正インジケータ８３９ならびにＵＲＬリスト８４１に対するディスパッチャキャッシュは、必要に応じて、ローカル（図示の通り）でもリモート（図示せず）でもあり得、その結果、多数の異なるコンピュータシステムからの結果の、共有され
中央でアクセス可能な記憶領域が提供される。
【０１３９】
任意選択の侵入検知／防止ユニット（この図では、示さず）は、プロセッサ８０７に含まれ得、公知の技法に従ってプログラムされ得る。場合により、ネットワークトラフィックを受信する（８１５）およびＵＩＤを生成する（８１９）機能は、例えば、ネットワークトラフィックのプリプロセッサとしてＩＤＳ／ＩＰＳにプログラムされ得る。
【０１４０】
ここで図９を参照すると、第２の実施形態によるファイル分析に関連する簡略化された代表的な環境を示す図が論考され、説明される。
図では、ファイル送信元９０１（コンピュータシステム、サーバ、データベース、電子記憶装置または同様のものなど）は、公知の技法に従って、データコレクタ９０３にファイルを提供する。データコレクタ９０３は、例えば、侵入に対するファイルのモニタリング、送信のモニタリング、ファイルのスキャニングまたは同様のものを含む理由でファイルにアクセスすることができる。
【０１４１】
ファイルを評価させるため、データコレクタ９０３は、上記で論考された通り、検出ルーティングを用いた統合検出システム９０５へファイルを提供する。示される攻撃検出システム９０５は、ＤＬＩＢ９１１、ディスパッチャ９１３、データルーティングテーブル９１５、複数の検出コンポーネント９０７、９０９および任意選択のサンドボックス９１７を含み、すべてが例えば、図５および図６に関連して上記で詳細に論考される通りである。好都合には、ＤＬＩＢ、ディスパッチャ、検出コンポーネント、データルーティングテーブルおよび任意選択のサンドボックス９０７、９０９、９１１、９１３、９１５、９１７は、同じプロセッサ上に（ここに示されるように）またはプロセッサの中で分配して設けることができる。これらの詳細については既に詳細に論考されており、ここでは繰り返さない。
【０１４２】
ここで図１０を参照すると、第２の実施形態による例示的なコンピュータシステムの一部を示すブロック図（図５および図６を含む）が論考され、説明される。本明細書で「システム」と呼ばれる場合があるコンピュータシステム１００１は、１つまたは複数のコントローラ１００５を含み得、コントローラ１００５は、公知の技法に従ってネットワーク１０３５から通信を検知することができる。コントローラ１００５は、プロセッサ１００７、メモリ１０１３、任意選択のディスプレイ１００９および／またはキーボード１０１１などの任意選択のユーザ入力装置を含み得る。プロセッサ１００７は、１つもしくは複数のマイクロプロセッサおよび／または１つもしくは複数のデジタル信号プロセッサを含み得る。メモリ１０１３は、プロセッサ１００７と結合され得、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）および／または電気的消去可能な読み取り専用メモリ（ＥＥＰＲＯＭ）を含み得る。メモリ１０１３は、特に、プロセッサ１００７によって実行されるプログラムに対するオペレーティングシステム、データおよび変数１０１５を格納するための複数のメモリ位置と、プロセッサにさまざまな機能に関連して動作させる、例えば、コンピュータファイルを含むデータをキャプチャするためのデータコレクタ（１０１７）、コンピュータファイルに対するＵＩＤを生成する（１０１９）、コンピュータファイルが正当なＵＩＤとして示されるかまたは不正なＵＩＤとして示されるか判断する（１０２１）、ＵＩＤが記憶領域内に存在しない場合にファイルタイプ特有の検出コンポーネントを呼び出す（１０２３）、ＵＩＤとともにファイルが正当であるか不正であるかについての検出ナゲットからの結果を格納する（１０２５）、ファイルのＵＩＤが正当であると示される場合に検出をスキップする（１０２７）、ファイルのＵＩＤが不正であると示される場合に検出をスキップして警告を発する（１０２９）、１つまたは複数の検出コンポーネントから１つまたは複数のファイルタイプへの対象の宣言を受信する（１０３１）、悪意のあるまたは不正なファイルを検出するための複数の異なるファイルタイプ特有の検出コンポーネント１０４３、１０４
１および／または他の処理などのコンピュータプログラムと、ＵＩＤおよび正当／不正インジケータ１０３５ならびにＵＲＬリスト１０３７に対するローカルキャッシュやＵＩＤおよび正当／不正インジケータ１０３９ならびにＵＲＬリスト１０４１に対するディスパッチャキャッシュと、データルーティングテーブル１０４７と、プロセッサ１００７によって使用される他のさまざまな情報に対するデータベース１０４９とを含み得る。コンピュータプログラムは、例えば、ＲＯＭまたはＰＲＯＭに格納することができ、コンピュータシステム１００１のオペレーションの制御においてプロセッサ１００７に指示することができる。プログラムについては以下で概観するが、詳細の大部分は他で論考され、ここでは繰り返さない。
【０１４３】
プロセッサ１００７は、コンピュータファイルを含むデータをキャプチャするデータコレクタ１０１７とともにプログラムされ得る。
プロセッサ１００７は、公知の技法に従って、他で説明されるように、コンピュータファイルに対するＵＩＤを生成する（１０１９）ようプログラムされ得る。
【０１４４】
プロセッサ１００７は、ＵＩＤおよび正当／不正インジケータならびにＵＲＬリスト１０３５、１０３７、１０３９、１０４１のローカルキャッシュおよびディスパッチャキャッシュを参照して、他で論考されるように、コンピュータファイルが正当なＵＩＤとして示されるかまたは不正なＵＩＤとして示されるかおよび／または悪意のあるＵＲＬとして示されるか判断する（１０２１）ためにプログラムされ得る。
【０１４５】
プロセッサ１００７は、ＵＩＤが記憶領域内に存在しないまたは「汚染」として印を付けられる場合、データルーティングテーブル１０４７によるファイルタイプに対して、１つまたは複数のファイルタイプ特有の検出コンポーネントを呼び出す（１０２３）ためにプログラムされ得る。
【０１４６】
プロセッサ１００７は、ローカルキャッシュおよびディスパッチャキャッシュのＵＩＤおよび正当／不正インジケータ１０３５、１０３９において、ＵＩＤとともにファイルが正当であるか不正であるかについての検出コンポーネントからの結果を格納する（１０２５）ためにプログラムされ得る。
【０１４７】
プロセッサ１００７は、ファイルのＵＩＤが既に正当であると示される場合に検出コンポーネントをスキップする（１０２７）ためにプログラムされ得る。
プロセッサ１００７は、ファイルのＵＩＤが不正であると示される場合に検出コンポーネントをスキップして警告を発する（１０２９）ためにプログラムされ得る。
【０１４８】
プロセッサ１００７は、検出コンポーネントから既定のファイルタイプへの対象の宣言を受信する（１０３１）ためにプログラムされ得、その結果、そのファイルタイプのファイルが受信された場合、そのファイルタイプを対象とすると宣言した１つまたは複数の検出コンポーネントのみに方向付けられる。
【０１４９】
プロセッサ１００７は、先に論考された通り、悪意のあるまたは不正なファイルを検出するための複数の異なるファイルタイプ特有の検出コンポーネント１０４３、１０４５のためにプログラムされ得る。
【０１５０】
機能のさまざまな論理的分類が本明細書に記載されていることを理解されたい。異なる実現法では、これらの論理的分類の１つまたは複数は省略され得る。同様に、さまざまな実現法において、機能は異なる方法で分類されても、組み合わされても、拡張されてもよい。その上、任意選択として特定されたものを含む機能は、さまざまな実現法から省略することができる。同様に、本説明は、データベースまたはデータや情報の収集物について
説明しても示唆してもよい。１つまたは複数の実施形態により、データベースまたはデータや情報の収集物の分配、組合せもしくは拡張、または、ローカル（図示の通り）および／もしくはリモート（図示せず）での実現が可能となる。
【０１５１】
ここで図１１を参照すると、準リアルタイムネットワーク攻撃検出のためのプロセスを示すフロー図が論考され、説明される。この手順は、例えば、図８に関連して説明されるコンピュータシステムまたは適切に配置された他の装置のプロセッサに有利に実装することができる。
【０１５２】
概要では、プロセス１１０１は、コンピュータファイルを含むネットワークトラフィックを受信し（１１０３）、コンピュータファイルに対する一意識別子を生成し（１１０５）、記憶領域に反映されるものと同じＵＩＤを有する以前に検査されたファイルと比較したＵＩＤに基づいて、ファイルが正当であるとして示されるかまたは不正であるとして示されるか判断し（１１０７）、ファイルが「正当」であるとも「不正」であるとも印を付けられていない場合（ＵＩＤ記憶領域に存在しない場合など）（１１０９）は、ファイルタイプ特有の検出ナゲットを呼び出し、ファイルが悪意のあるものかどうか検出し、その結果をＵＩＤ記憶領域に格納し（１１１１）、ファイルが「不正」であると示される場合（１１１３）は、警告し、ロギングし、不正なファイルをドロップする措置を講じ（１１１５）、そうでない場合（ファイルが「正当」であると示される場合）は、正当なファイルの通常の処理を継続する措置を講じることができる。次いで、プロセス１１０１は、上記工程に戻り、引き続き、ネットワークトラフィック内の次のコンピュータファイルを受信する（１１０３）ことができる。
【０１５３】
上記で論考されるように、ファイルタイプ特有の検出ナゲットがファイルのサブコンポーネントに対する異なるファイルタイプ（埋め込みファイルなど）を検出すれば、プロセスは、そのファイルがまるでネットワークトラフィックで受信されたコンピュータファイルであるかのように、ファイルのサブコンポーネントを再帰的に処理することができる。
【０１５４】
ここで図１２を参照すると、統合されたファイル検出のためのプロセス１２０１を示す図が論考され、説明される。この手順は、例えば、図１０に関連して説明されるコンピュータシステムまたは適切に配置された他の装置のプロセッサに有利に実装することができる。図１２の大部分は、検出ナゲットの代わりに、対象とすると宣言されたファイルタイプ特有の検出コンポーネントを取り扱うことを除いて、図１１の繰り返しである。上記を繰り返さなくとも、原理は理解されよう。しかし、ここでは概要を提供する。
【０１５５】
概要では、プロセス１２０１は、コンピュータファイルを含むデータをキャプチャし（１２０３）、コンピュータファイルに対する一意識別子を生成し（１２０５）、記憶領域に反映されるものと同じＵＩＤを有する以前に検査されたファイルと比較したＵＩＤに基づいて、ファイルが正当であるとして示されるかまたは不正であるとして示されるか判断し（１２０７）、ファイルが「正当」であるとも「不正」であるとも印を付けられていない場合（ＵＩＤ記憶領域に存在しない場合など）（１２０９）にのみ、プロセス１２０１は、そのファイルのファイルタイプへの以前に対象とすると宣言された１つまたは複数のファイルタイプ特有の検出コンポーネントを呼び出し、ファイルが悪意のあるものかどうか検出し、その結果をＵＩＤ記憶領域に格納し（１２１１）、ファイルが「不正」であると示される場合（１２１３）は、プロセス１２０１は、警告し、任意選択でロギングし、ファイルが不正であることを示す結果を返し（１１１５）、そうでない場合（ファイルが「正当」であると示される場合）は、正当なファイルの通常の処理を継続する措置を講じることができる。次いで、プロセス１２０１は、上記工程に戻り、引き続き、データ内の次のコンピュータファイルをキャプチャする（１２０３）ことができる。
【０１５６】
上記で論考されるように、ファイルタイプ特有の検出コンポーネントがファイルのサブコンポーネントに対する異なるファイルタイプ（埋め込みファイルなど）を検出すれば、プロセス１２０１は、そのファイルがまるでデータでキャプチャされた別のコンピュータファイルであるかのように、ファイルのサブコンポーネントを再帰的に処理することができる。
【０１５７】
その上、実施形態は、前述の有形のコンピュータ可読媒体を用いて構成されたコンピュータシステムおよび／もしくは方法、ならびに／または、前述のコンピュータ可読媒体を用いて構成された少なくとも１つのコンピュータシステムおよび／もしくは方法を備えた通信ネットワークを含み得る。
【０１５８】
ＭＤ５機能は、ユニバーサル一意識別子の生成に使用される公知のハッシュ関数の一例としてとして上記で論考されてきた。しかし、ファイルに対するユニバーサル一意識別子を生成するため、ＭＤ５の代わりに使用できる他のハッシュ関数および／または暗号学的ハッシュ関数が多数存在し、その例としては、ＨＭＡＣ、ＭＤ２、ＭＤ４、ＳＨＡ−０、ＳＨＡ−１、ＳＨＡ−２関数のいずれかおよび同様のものならびに先行関数の変形体およびその進化体が挙げられる。ファイルに対するユニバーサル一意識別子を生成するためのハッシュ関数は、当業者に知られているＵＲＬおよび／またはファイル名、名前空間または同様のものが含まれる場合があるファイルのコンテンツを組み込むことができる。
【０１５９】
「ユニバーサル一意識別子」という名称は、本明細書では、ある一定のサイズを有し、２つの異なるアイテムが同じ識別子を共有することが実際に不可能になるような生成プロセスを使用する識別子を示すために使用される。
【０１６０】
対象の通信ネットワークは、例えば、パケットは送信先で生成され、パケットは送信され、パケットはネットワークインフラ装置を通じてルーティングされ、パケットで指定される送信先へ送信される、データを送信するパケット交換ネットワークによって、パケット処理プロトコルに従ってパケットで情報を送信するものを含むことに留意されたい。そのようなネットワークは、例として、インターネット、イントラネット、ローカルエリアネットワーク（ＬＡＮ）、無線ＬＡＮ（ＷＬＡＮ）、広域ネットワーク（ＷＡＮ）および他のものを含む。パケットを利用する通信ネットワークをサポートするプロトコルは、ＴＣＰトランスポート層をサポートする任意のリンク層を有するさまざまなネットワークプロトコルの１つもしくは複数、または、例えばＩＰＶ４もしくはＩＰＶ６などのトランスポート層上に乗る任意のアプリケーション、他の無線アプリケーションプロトコルまたは有線アプリケーションプロトコルおよび／または他のプロトコル構造ならびにその変形体および進化体を含む。そのようなネットワークは、無線通信能力の提供、ならびに／または、ケーブルおよび／もしくはコネクタもしくは同様のものなどの有線接続の利用を可能にする。
【０１６１】
「ファイル」という名称は、本明細書では、任意の情報のブロックまたは情報を格納するためのリソースとして定義され、コンピュータプログラムによって読み取り可能であり、非一時的な電子メモリに格納される。ファイルは、現行のプログラムが終了した後もプログラムに対して引き続き使用することができる。通常、ファイルは、ファイル名と、その記憶領域内でファイルをユニークに位置付ける経路とを有する。複数のファイルは、通常、ファイルディレクトリ内で組織化される。ファイルの形式は、ファイルヘッダ、ファイルデータ（ファイルのコンテンツである）、メタデータおよび／または属性を含めるように、ＵＮＩＸ（登録商標）もしくはＷＩＮＤＯＷＳ（登録商標）などのファイルシステムまたは他のファイルシステムによってさらに事前に定義することができる。ファイルの「属性」は、ファイルに実行できるオペレーション（例えば、読み取り、書き込み、隠し、アーカイブおよび同様のもの）および／またはファイル名、ファイルサイズ、タイムス
タンプおよび同様のものを指定することができる。「ファイルデータ」という名称は、本明細書では、ファイルのコンテンツ（ファイルヘッダ、ファイルメタデータおよびファイル属性とは異なる）を意味するものとして定義される。
【０１６２】
「データブロック」という名称は、事前に定義された始まりと終わり（または長さ）を有する事前に定義された形式を有するデータのブロックを指すが、必ずしも単一の連続したデータストリングであるわけではない。データブロックは、ファイル処理システムによって定義され得るような単一のファイルの１つまたは複数の要素であり得る。例えば、ｐｄｆドキュメント（ファイル）は、複数のデータブロックを含み得、その一部は、圧縮されるか、または、イメージなどの他のファイルおよび同様のものを含み得る。
【０１６３】
その上、「侵入検知／防止システム」（およびＩＤＳ／ＩＰＳ）という名称は、本明細書では、侵入に対してネットワークトラフィックを受動的または能動的に分析する装置またはソフトウェアを示すために使用される。そのような装置またはソフトウェアの例は、「侵入検知システム」（ＩＤＳ）、「侵入防止システム」（ＩＰＳ）、「ネットワーク侵入検知システム」（ＮＩＤＳ）、「ネットワーク侵入保護システム」（ＮＩＰＳ）および同様のものならびにその変形体または進化体と呼ばれる場合がある。侵入検知／防止システムは、ホストベースであり得るか、または、対象システムと侵入者との間のいずれの場所（通常、最終ルータまたはファイアウォールの後）でも、例えば、センサを使用して、対象システムへのトラフィックをモニタすることができる。
【０１６４】
「ネットワーク上の動き（ｉｎ  ｍｏｔｉｏｎ  ｏｎ  ａ  ｎｅｔｗｏｒｋ）」または「ネットワーク上の動き（ｉｎ  ｍｏｔｉｏｎ  ｏｎ  ｔｈｅ  ｎｅｔｗｏｒｋ）」という名称は、本明細書では、パケットの送信元ホストから送信されているが、そのパケットがパケットの送信先ホストで受信される前に観測され、読み取られ、モニタされるパケット、パケット内のデータまたはパケット内のファイルを指すものとして定義される。
【０１６５】
「パケット」という名称は、本明細書では、ＩＰＶ４またはＩＰＶ６などのパケット処理プロトコルに従ってフォーマットされ、パケット交換ネットワークによって運ばれるデータのユニットとして定義され、ヘッダおよびデータを含み、ＩＰパケットまたはデータグラムと呼ばれる場合がある。
【０１６６】
「受動的に検出された」パケットは、本明細書では、パケットを読み取るホストによって取り出されることも開始されることもなかった１つまたは複数のパケットとして定義される。パケットを「受動的に検出する」とは、パケットを読み取るプロセッサから前回の送信によって取り出されることも開始されることもなかったパケットを受信することである。「能動的に識別された」パケットは、本明細書では、パケットを読み取るホストによって、例えば、報告内に示されるようなホストへｐｉｎｇによって送信したパケットを読み取るホストによって、取り出されたかまたは開始された１つまたは複数のパケットとして定義される。
【０１６７】
「リアルタイム（ｒｅａｌ−ｔｉｍｅ）」または「リアルタイム（ｒｅａｌ  ｔｉｍｅ）」という用語は、本明細書では、分析された（入力）および／または生成された（出力）データ（大きいセグメントに一緒に分類されるかまたは個別に処理されるかにかかわらず）は、処理の遅れとは無関係に、同じデータセットの入力および／または出力に要するだけ、時間的に連続して処理（または生成）することができることを意味するものとして定義される。
【０１６８】
「センサ」という名称は、本明細書では、その主要な機能は取り付けられたネットワーク上のネットワークトラフィックを検出して報告することであるプロセッサを含む装置を
示すものとして明示的に定義され、セキュリティ器具、セキュリティ装置またはセンサ器具と呼ばれる場合もあり、スタンドアロン型か、または、ファイアウォール、アンチウイルスキャニング装置、コンテンツフィルタリング装置、侵入検知器具、侵入防止器具、侵入テスト器具、脆弱性評価器具および同様のものの１つまたは複数に組み込むことができる。センサは、インラインで（それを通してトラフィックが流れるように、ネットワーク内の器具としてインストールされる）、タップとして（クライアントとサーバとの間のネットワークトラフィックは、本質的には他のネットワーク実体には見えないセンサへのタップによってコピーされる）またはスパンした状態で（トラフィックはルータまたはスイッチのサーバ側またはクライアント側のいずれかでスパンされ、任意のポートから着信方向と発信方向の両方のトラフィックをコピーする）動作することができる。センサは、センサが見るパケットに関する情報を収集することができ、個別のパケットに対する収集したパケット情報、パケットの要約、報告を送信するようおよび／または検出されたイベントとして送信するよう構成することができる。そのようなセンサの例は、Ｓｏｕｒｃｅｆｉｒｅ（商標）センサ、ＭｃＡｆｅｅ（商標）センサおよび同様のものを含む。
【０１６９】
本開示は、本発明の真の、意図した、公正な範囲および精神を限定することよりもむしろ、本発明に従ってさまざまな実施形態を作成および使用する方法について説明することを意図する。本発明は、特許に対する本出願の係属中に補正される場合があるため、添付の特許請求の範囲およびすべてのその均等物によってのみ定義される。前述の説明は、包括的であることも、開示される形態と全く同一の形態に本発明を限定することも意図しない。上記の教示を考慮すると、変更または変形が可能である。実施形態は、本発明の原理の最良の解説およびその実用化を提供するため、および、企図する特定の使用に適したさまざまな実施形態でおよびさまざまな変更形態を用いて、当業者が本発明を利用できるようにするために選択され、説明された。そのような変更形態および変形形態のすべては、公正に、法的に、公平に与えられた幅広さに従って解釈すると、特許に対する本出願の係属中に補正される場合があるため、添付の特許請求の範囲およびすべてのその均等物によって決定されるように本発明の範囲内にある。
【図１】
2013528852.tif 000003
【図２】
2013528852.tif 000004
【図３】
2013528852.tif 000005
【図４】
2013528852.tif 000006
【図５】
2013528852.tif 000007
【図６】
2013528852.tif 000008
【図７】
2013528852.tif 000009
【図８】
2013528852.tif 000010
【図９】
2013528852.tif 000011
【図１０】
2013528852.tif 000012
【図１１】
2013528852.tif 000013
【図１２】
2013528852.tif 000014
【国際調査報告】
2013528852.tif 000015
2013528852.tif 000016
2013528852.tif 000017