(57)【要約】  本発明は、ネットワーク型コンテンツ検査（ＮＢＣＩ）に関する。より詳細には、本発明は、企業およびサービスプロバイダ用として典型的な、複雑なネットワークにおける改良型ＮＢＣＩのためのシステムおよび方法を提供する。これらのネットワークは、多様な通信プロトコルを経由して様々なサイズのアプリケーションコンテンツを送信し、受信する同時実行の多数ユーザーにより共有されている。本発明は、異なるネットワークプロトコルを経由して実行できる他の通信セッションの処理結果を学習して、個々の通信セッションのＮＢＣＩの効率を改善する。更に、本発明は、ネットワークの全体セキュリティを弱体化させない方法で、かつ突発的な大規模ペイロードを蒙るとシステムリソースが消耗するリスクを最小化することにより、ＮＢＣＩシステムの安定性を改善する方法を提供する。また、本発明は、大規模コンテンツ検査の僅かなタスクにより、システムリソースが「ライブロック」されるのを防ぐことにより、知覚されるネットワークの安定性を改善する。更に、本発明は、一つのＮＢＣＩノードにより得られる最適化知識を他のノードと共有可能とすることにより、ＮＢＣＩのコスト効率を改善する。
2009522672.tif 000002
【特許請求の範囲】
【請求項１】
コンピューターネットワークに入ってくる同時に受信される複数のデータペイロードのネットワーク型コンテンツ検査を強化するための方法であって、
前記各データペイロードを、前記データペイロードが以前に検査されたことがあるか、または検査中であるかを決定するために、コンテンツ認識の対象とし、そして、
ａ）認識されたペイロードをコンテンツ検査なしで配布できるようにし、および、
ｂ）認識されなかったペイロードにコンテンツ検査を受けさせて、検査済みペイロードを生成し、次いで、前記検査済みペイロードをコンテンツ認識モジュールに格納する各ステップ、を含む方法。
【請求項２】
コンテンツ検査が検査履歴を生成する、
請求項１の方法。
【請求項３】
前記検査履歴は、前記検査状態または検査結果の何れかまたは組合せを含む、
請求項２の方法。
【請求項４】
前記コンテンツ認識モジュールは、前記データペイロードのメッセージダイジェストを計算するための一方向ハッシュ関数を含み、前記メッセージダイジェストを、以前の検査データペイロードからの以前の格納メッセージダイジェストと比較する、
請求項１〜３の何れかの方法。
【請求項５】
以前の検査データペイロードからのメッセージダイジェストは、ルックアップテーブルに格納される、
請求項４の方法。
【請求項６】
前記コンテンツ認識モジュールは、前記データペイロードの前記メッセージダイジェストが以前の格納メッセージダイジェストと同一である場合、以前の検査結果を返す、
請求項４の方法。
【請求項７】
前記コンテンツ認識モジュールは、前記データペイロードの前記メッセージダイジェストが以前の格納メッセージダイジェストと一致しない場合、否定的な結果を返す、
請求項４の方法。
【請求項８】
認識されなかったペイロードにコンテンツ検査を受けさせるステップを更に含む、
請求項７の方法。
【請求項９】
前記認識されなかったペイロードの前記メッセージダイジェストを、検査中のステータスインジケータとともに前記ルックアップテーブルに格納するステップを更に含む、
請求項８の方法。
【請求項１０】
検査中として現在マーキングされたメッセージダイジェストを有するデータペイロードのコンテンツ検査が完了するのを待つステップを更に含む、
請求項９の方法。
【請求項１１】
前記認識されなかったペイロードに、前記ペイロードのメッセージダイジェストを計算し、前記メッセージダイジェストを前記ルックアップテーブルに格納するための一方向ハッシュ関数を施すステップを更に含む、
請求項８の方法。
【請求項１２】
前記認識されなかったペイロードにコンテンツ検査を受けさせた後、前記ルックアップテーブル内の対応する項目のステータスインジケータが検査済みインジケータに変更される、
請求項８の方法。
【請求項１３】
コンテンツ検査の後、データペイロードに、そのコンテンツに基づいて前記データペイロードを分類する追加情報によりタグをつけるステップを更に含む、
請求項１〜１２の何れかの方法。
【請求項１４】
前記認識されなかった結果の前記メッセージダイジェストが、前記データペイロードに関する後続のアクションをとらせる命令によりタグ付けされる、
請求項１１の方法。
【請求項１５】
メッセージダイジェストが作成時間情報によりタグ付けされる、
請求項４の方法。
【請求項１６】
作成時間情報が所定の値を超える場合、メッセージダイジェストが破棄される、
請求項１５の方法。
【請求項１７】
メッセージダイジェストがサイズ情報によりタグ付けされる、
請求項４の方法。
【請求項１８】
前記データペイロードは、アプリケーションレベルネットワークプロトコルのデータである、
請求項１〜１７の何れかの方法。
【請求項１９】
前記データペイロードを分解してからコンテンツ認識を行う、
請求項１〜１８の何れかの方法。
【請求項２０】
前記コンピューターネットワークが、複数のデータペイロードを受信している場合、前記各データペイロードにコンテンツ検査の優先権を割り当てるステップを更に含む、
請求項１〜１９の何れかの方法。
【請求項２１】
各データペイロードに優先権を割り当てるステップは、前記個々のデータペイロードの到着時間および前記各データペイロードのサイズに基づいて決定される、
請求項２０の方法。
【請求項２２】
前記各データペイロードに割り当てられる前記優先権に基づいて、コンピューターシステムのリソースをコンテンツ検査のために配置するステップを更に含む、
請求項２１の方法。
【請求項２３】
データペイロードはスケジュールマネージャにより個々に登録され、前記スケジュールマネージャは、前記各データペイロードが前記スケジュールマネージャにより登録されている時間の長さに基づいて、前記各データペイロードに優先権を割り当てる、
請求項２０の方法。
【請求項２４】
前記コンピューターネットワークが複数のデータペイロードを受信している場合、現在検査中であると識別されたデータペイロードと同一であると判定されたデータペイロードのコンテンツ検査を一時的に防ぐステップを更に含む、
請求項９の方法。
【請求項２５】
前記追加情報が検査履歴情報を含む、
請求項１３の方法。
【請求項２６】
前記検査に費やされる時間が所定の閾値を超えた場合、コンテンツ検査処理を中断して、検査処理が放棄されるのを防ぐ、請求項１７の方法。
【請求項２７】
同時に受信される複数のデータペイロードのネットワーク型コンテンツ検査を強化するためのシステムであって、
前記各データペイロードがコンテンツについて以前に検査されたことがあるか、または現在検査中かどうかを認識し、ａ）認識されたデータペイロードはコンテンツ検査をせずに配布可能とし、および、ｂ）認識されなかったデータペイロードにはコンテンツ検査を受けさせてコンテンツ検査結果を生成し、次いで、前記コンテンツ認識モジュール内に前記コンテンツ検査結果を格納する、コンテンツ認識モジュール、を備えるシステム。
【請求項２８】
前記コンテンツ検査モジュールはコプロセッサである、
請求項２７のシステム。
【請求項２９】
前記コンテンツ検査モジュールは、コンテンツアドレス可能メモリを利用する、
請求項２７または２８の何れかのシステム。
【請求項３０】
前記コンテンツ認識モジュールは、前記データペイロードのメッセージダイジェストを計算するための一方向ハッシュアルゴリズムを含み、前記メッセージダイジェストは、以前検査されたデータペイロードからの以前格納されたメッセージダイジェストと比較される、
請求項２７〜２９の何れかのシステム。
【請求項３１】
以前検査されたデータペイロードからのメッセージダイジェストがルックアップテーブル内に格納される、
請求項３０のシステム。
【請求項３２】
前記システムは、共通のルックアップテーブルに接続されて動作する少なくとも二つのコンテンツ検査モジュールを備える、
請求項２７〜３１の何れかのシステム。
【請求項３３】
少なくとも二つのコンテンツモジュールからのコンテンツ検査の結果が前記共通のルックアップテーブルに追加される、
請求項３２のシステム。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
発明の分野
本発明は、ネットワーク型コンテンツ検査（ＮＢＣＩ）に関する。より詳細には、本発明は、企業およびサービスプロバイダ用として典型的な、複雑なネットワークにおける改良型ＮＢＣＩのためのシステムおよび方法を提供する。これらのネットワークは、多様な通信プロトコルを経由して様々なサイズのアプリケーションコンテンツを送信し、受信する同時実行の多数ユーザーにより共有されている。本発明は、異なるネットワークプロトコルを経由して実行できる他の通信セッションの処理結果を学習して、ネットワークの全体セキュリティを弱体化させることなく、個々の通信セッションのＮＢＣＩ効率を改善する。更に、本発明は、突発的な大規模ペイロードを蒙るとシステムリソースが消耗するリスクを最小化することにより、ＮＢＣＩシステムの安定性を改善する方法を提供する。また、本発明は、大規模コンテンツ検査の僅かなタスクにより、システムリソースが「ライブロック」されるのを防ぐことにより、知覚されるネットワーク安定性を改善する。更に、本発明は、一つのＮＢＣＩノードから得られる最適化知識を他のノードと共有可能とすることにより、ＮＢＣＩのコスト効率を改善する。
【０００２】
発明の背景
ネットワーク型コンテンツ検査（ＮＢＣＩ）は、データネットワークを経由して送信されたデータパケットを蓄積し、蓄積したパケットをアプリケーションレベルプロトコルのペイロード内に再構成し、再構成したペイロードを検査し、そして検査結果に従って所定のアクションを呼び出す技術である。ネットワーク型コンテンツ検査は次第に、サイバー監視、コンテンツアクセス管理、ネットワークトラフィックモニタ、アンチウイルス、アンチスパム、コンテンツ注釈、コンテンツキャッシング、およびその他アプリケーション等の、幾つかの重要アプリケーション内のネットワークデータのモニタを可能にする方法になりつつある。
【０００３】
従来のＮＢＣＩ法の一問題は、コンテンツ再構成、検査、および操作に時間を要するためにネットワーク性能が低下することである。一般に、ネットワーク性能は、多数ユーザーがアクセスする大規模な量の圧縮コンテンツがある場合に著しく低下することになる。大きな規模に達したアーカイブコンテンツの交換は今日のデータネットワークでは普通のことなので、このようなコンテンツ、例えば、評判のソフトウエア、デジタル画像、ビデオ、着信音、およびネットワーク上の比較的短い時間フレーム中に多数のユーザーがアクセスする他の圧縮コンテンツがある場合の検査は、時には極めて非効率になることがある。
【０００４】
また、１００％正確なポリモーフィックウイルススキャンのような、特定の検査タスクがＮＰ完全な問題（非決定性多項式時間で解ける問題のなかで最も困難な問題）となることも周知である。これらのタスクでは、コンテンツサイズ増大に伴って、このような検査タスクを完了させるのに要求される計算リソースが指数的に増加し、言い換えればＮＢＣＩの待ち時間が長くなり、ひいては、ネットワークスループットが低下することになる。
【０００５】
性能だけが問題ではない。ＮＢＣＩシステムが有するシステムリソースの数は有限なので、大規模アーカイブペイロードを搬送する通信セッションにシステムが曝されている場合、システムリソースが消耗する。その結果、システムは、新規通信セッションに応答するのを停止するか、またはそれを開くのに失敗するかのどちらかであり、ＮＢＣＩの機能そのものが新規通信セッションに適用されないことを意味する。従って、従来のＮＢＣＩシステムは、今日の企業およびサービスプロバイダのネットワークに対して概して安定ではない。
【０００６】
代表的な企業またはサービスプロバイダは、ＮＢＣＩシステムを多数のネットワーク接続点に展開できる。従来のアプローチは、各ＮＢＣＩシステムで同一コンテンツの異なるインスタンスの検査を複製することが多い。従って全体ネットワークレベルでは、計算リソースは複製タスクで浪費される。
【０００７】
他の状況では、同一コンテンツの多数のインスタンスが同時に到達した場合、従来のＮＢＣＩシステムは、インスタンスそれぞれを検査するシステムリソースを消費する。このような重複は、更に多くのリソースを要求することになり、ＮＢＣＩシステムのコストを上昇させる。
【０００８】
従来技術の再評価により、ＮＢＣＩシステムの性能を強化する幾つかの技術が従来技術に存在していることが示される。
【０００９】
例えば、米国公開特許第２００６／０２２１６５８号（Ｇｏｕｌｄ）は、集積回路として実装したプログラマブル有限状態マシンを使用して、コンテンツ検査のためのデータペイロードに対するパターンマッチング適用のメモリ使用効率を改良している。しかし、今日のネットワークペイロードは、アーカイブされたコンテンツを含むのが典型的なので、また、パターンマッチングは幾つかのＮＢＣＩアプリケーションでは必要なステップであるので、ＣＰＵサイクルおよびメモリの著しい量が、依然としてコンテンツの逆アーカイブおよび再アーカイブに費やされなければならない。更に、このコストは、全てのＮＢＣＩシステムのコンテンツの全てのインスタンスの検査に降りかかっている。
【００１０】
米国特許第６，１５４，８４４号（Ｔｏｕｂｏｕｌ）は、ダウンロード可能セキュリティプロファイル（ＤＳＰ）をコンテンツペイロードに貼り付ける方法について記載している。このシステムでは、ペイロードがＤＳＰと関係付けられる場合、ＮＢＣＩはペイロードを検査しない。このアプローチは、ＮＢＣＩシステムでの、コンテンツ伝送の経路に沿った同一コンテンツの検査に必要な計算を効率的に減少させるが、ＤＳＰをペイロードに貼り付ける方法は、下流のシステムがこのＤＳＰを理解しなければならないので、下流互換性の問題が生ずる。更に、ショートメッセージサービス（ＳＭＳ）で典型的な小さなペイロードでは、この方法で得られるペイロードサイズが著しく増加する。更に、大規模なアーカイブされたペイロードでは、この方法は、ペイロードの幾つかのコンポーネントが既に検査されているかもしれないという点で有利ではない。加えて、この方法は、ネットワークデータトラフィックの同時性が高いことにより発生するシステムリソース消耗の問題、または大規模コンテンツの検査により発生するシステムリソースの「ライブロック」問題を解決しない。
【００１１】
１００Ｍビットから１Ｇビットへ、更に１０Ｇビットかそれ以上へのネットワーク帯域幅の急速な成長により、ＮＢＣＩ性能の重要性は、大規模で複雑なネットワークの効率的管理において次第に最優先課題となりつつある。その結果、ネットワーク速度を犠牲にすることなくＮＢＣＩのコストを低減させながら、効率性、安定性を改良するための、データペイロードを効果的かつ効率的に処理するＮＢＣＩ法に対する必要性が依然として存在している。
【００１２】
発明の概要
本発明によれば、サービスプロバイダおよび企業用として典型的な大容量データネットワーク内のデータペイロードのネットワークに基づくコンテンツ検査法の強化が以下により提供される：
多様な通信プロトコルを経由して搬送されるデータペイロードを、ペイロードまたはそのコンポーネントが以前に検査されたことがあるか、または検査中であるかを決定するために、コンテンツ認識モジュールの対象とするステップ；および、
ａ）そのコンテンツが以前に検査されたことがある場合は、このペイロードを検査しない方針に従って、このペイロードを以前の検査結果と関係付ける；
ｂ）そのコンテンツの以前のインスタンスが検査中の場合は、ＮＢＣＩシステムのリソースを保護するために、検査中のインスタンスの検査が完了するまでインスタンスの検査を待機させる； 
検査が完了したら、ペイロードおよび検査結果を配布する。
【００１３】
別の実施の形態では、本方法は、認識されなかったペイロードにコンテンツ検査を受けさせて検査結果を生成し、次いで、その検査結果をコンテンツ認識モジュールに格納する。
【００１４】
別の実施の形態では、所与のコンテンツ検査タスクに対して、ＮＢＣＩシステムのリソース配置の優先度を経過時間により調整して、他の通信セッションがシステムリソースを共有できるようにする。
【００１５】
更に別の実施の形態では、本方法は、ネットワーク内の幾つかのＮＢＣＩシステムが互いにコンテンツ検査結果を学習できるようにする。
【００１６】
更に別の実施の形態では、本方法は、上記の多様な機能の任意の組合せ動作を含む機能をさらに提供する。
【００１７】
一実施の形態では、コンテンツ認識モジュールは、データペイロードのメッセージダイジェストを計算するための一方向ハッシュ関数を含み、そのメッセージダイジェストを、以前の検査データペイロードからの以前の格納メッセージダイジェストと比較する。以前の検査データペイロードからのメッセージダイジェストは、ルックアップテーブルに格納されており、コンテンツ認識モジュールは、データペイロードのメッセージダイジェストが以前の格納メッセージダイジェストと同一である場合、以前の検査結果を返す。同様に、コンテンツ認識モジュールは、データペイロードのメッセージダイジェストが以前の格納メッセージダイジェストと一致しない場合、否定的な結果を返す。次いで、ペイロードは、コンテンツ検査を受け、さらに、認識されなかった結果のメッセージダイジェストを一方向ハッシュ関数の対象として計算し、次いで、そのメッセージダイジェストをコンテンツ検査モジュール内に格納する。
【００１８】
更に別の実施の形態では、どのコンテンツが検査されたことがあるか、またはどのコンテンツが検査中かの知識が記録としてコンテンツ検査履歴ルックアップ（ＣＩＨＬ）テーブルに格納される。ＣＩＨＬテーブル内の、以後ＣＩＨ記録と称する各記録は、一意のコンテンツ署名によりインデックス化される。この署名は、ＳＨＡ−１、ＭＤ−５等で創出されるようなメッセージダイジェストの形式をとる。それぞれの記入は、コンテンツが現在検査中かどうかを示すフィールドも含む。
【００１９】
ＣＩＨＬテーブルは、データペイロードに対して後続アクションをとるための命令となる検査結果のフィールドも含む。ＣＩＨ記録に付随情報をフィールドとして追加することができる。一実施の形態では、この付随情報は、セキュリティ強化のためにシステムの一部とすることができる検査時間としてもよく、それにより、創出時間の情報が所定値を超えた場合、データペイロードがもはや検査済としてマークされることがないようにできる。他の情報としてサイズ情報を含めてもよい。
【００２０】
更に別の実施の形態では、本システムおよび方法は、多様な通信セッションを経由して、および異なる通信プロトコルを経由してネットワークに入ってくる同一コンテンツデータペイロードのコピーを数多く作成して、効果的かつ効率的に検査できる。
【００２１】
更に別の実施の形態では、本システムおよび方法は、メッセージダイジェストを、タイムスタンプ、ペイロードサイズ等の補足情報と関係付けて、ＮＢＣＩシステムに対するメッセージダイジェスト衝突攻撃のリスクを最小化する。
【００２２】
本発明の別の態様では、ペイロードは、アプリケーションレベルネットワークプロトコルのデータであり、そのペイロードを分解してからコンテンツ検査を行うことができる。
【００２３】
別の実施の形態では、本発明は、幾つかの同時に受信されるデータペイロードのネットワーク型コンテンツ検査を強化するための、コンピュータまたはコンピューターネットワーク上に実装されるシステムを提供し、以下を備える：
それぞれのデータペイロードがコンテンツについて以前に検査されたことがあるか、または現在検査中かを認識し、ａ）認識されたデータペイロードはコンテンツ検査をせずに配布可能とし；および、ｂ）認識されなかったデータペイロードにはコンテンツ検査を受けさせてコンテンツ検査結果を生成するためのコンテンツ認識モジュールであって、次いで、前記コンテンツ認識モジュール内にコンテンツ検査結果を格納する。
【００２４】
本発明の別の態様では、多数のデータペイロードの検査は、システムリソース配置優先度を検査タスクに割り当て、変更するコンテンツ検査スケジューラがスケジュール化する。
【００２５】
多様な実施の形態では、コンテンツ検査モジュールはコプロセッサであり、および／またはコンテンツ検査モジュールはＣＡＭ（コンテンツアドレス可能メモリ）を利用する。
【００２６】
更に、本システムは、共通のルックアップテーブルに接続されて動作する少なくとも二つのコンテンツ検査モジュールを含んでもよく、少なくとも二つのコンテンツ検査モジュール上のコンテンツ検査結果は、共通のルックアップテーブルに追加され、および／またはコンテンツ認識ルックアップテーブル同志は互いに同期される。
【００２７】
発明の詳細な説明
図を参照して、同時に受信したネットワークデータパケットペイロードにコンテンツ検査を実行するのに必要な計算を最適化するためのシステムおよび方法を説明する。本説明の文脈において、「同時に」は、システムリソースが、複数のデータペイロードを事実上同時にまたは短時間の間に受信したと見なすような、コンピューターネットワークが短期間で受信した複数のデータペイロードを意味する。
【００２８】
図１を参照して、コンテンツ認識モジュール（ＣＲＭ）１２がペイロード１４を受信する。ＣＲＭ１２は、データペイロードを検査してこのペイロード１４のコンテンツが以前に検査されたことがあるか、または現在検査中かどうかを判定する。ＣＲＭ１２が、ペイロード１４のコンテンツは以前に検査を受けていると認識した場合、ＣＲＭは、このペイロードにコンテンツ検査を受けさせずに、認識されたペイロード１４aを配布する（下記に説明する検査結果と併せて）。ペイロードが認識されなかったペイロードである（すなわち、ペイロードが以前に検査されていない）とＣＲＭ１２が判定した場合、認識されなかったペイロード１４ｂはコンテンツ検査モジュール（ＣＩＭ）１６に送られる。コンテンツ検査モジュール１６は、検査結果を計算し、検査したペイロード１４を検査結果とともに配布する。ＣＲＭがペイロード１４は検査中であると認識した場合、ＣＲＭは、同一コンテンツを含む他のペイロードの処理を遅らせる。
【００２９】
方針モジュール１５は、認識したペイロード１４ａを下流へ配布する等の一セットの動作を適用するか、またはビジネス固有の方針に基づいてペイロードを修正する。検査したペイロード１４ｃおよび検査結果１４ｄは、後続の類似ペイロードの受信がコンテンツ検査モジュール１６を通過しないようにするために、ＣＲＭ１２に戻される。一般に、検査結果は、コンテンツが検査され、および／または分類されたことを示すとともに、所定の方針に従ってペイロードに実行すべき他の機能をイネーブルにする一つ以上のマーキングである。
【００３０】
図２、図３、図４および図５を参照して、ＣＲＭ１２の機能を説明する。最初にペイロード１４が一方向ハッシュ関数を通過し、ペイロードのメッセージダイジェスト２０が計算される。次いで、メッセージダイジェストは、コンテンツ検査履歴ルックアップ（ＣＩＨＬ）テーブル２４内の以前格納のメッセージダイジェストと、メッセージダイジェスト２０を比較するコンテンツ検査スケジューラ（ＣＩＳ）２２を通過する。ＣＩＨＬテーブル２４内のそれぞれの記録４２（図３）は、メッセージダイジェストにより一意に識別される。ダイジェストが以前格納のダイジェストと一致しないことを意味するヌル一致の記録が見つかった場合、ペイロードコンテンツ１４ｂは、コンテンツ検査モジュール１６による検査を受けるためにコンテンツ検査モジュール１６に渡される。次いで、コンテンツは、ＣＩＨ記録４２ｃをＣＩＨＬテーブル２４内に追加することにより、「検査中」２５（図４）としてマーキングされる。この記録は、検査状態４３を「検査中」の値に設定させる。コンテンツ検査モジュール１６は、ペイロードをコンテンツに対してスキャンし、所定の基準に基づいてコンテンツを分類する。
【００３１】
検査後、新しく検査されるコンテンツ１４ｃが一方向ハッシュ関数を通過し、新しく検査されるコンテンツ１４ｃのメッセージダイジェスト２０ａが計算される。ＣＩＨ記録４２ｂがＣＩＨＬテーブル２４内に挿入される。この入力は、メッセージダイジェスト２０ａ、検査状態「検査済み」、検査結果１４ｄ、およびオプションとして詳細を後述する他の補足情報を有する。
【００３２】
比較した結果、検査状態フィールド４３を、同一コンテンツを搬送する以前のペイロードが現在検査中であることを意味する「検査中」（ステップ２９）であるとして、適合しているＣＩＨ記録４２を返した場合、後の方のペイロードコンテンツの処理はある期間２６待機してから動作を継続する。システムが、以前のペイロードコンテンツの検査状態（図４、ステップ２７）が「検査済み」に変更されたと判定すると、後の方のペイロードコンテンツはコンテンツ認識される。
【００３３】
比較(ステップ２８)した結果、検査状態フィールド４３を、以前に検査したコンテンツのメッセージダイジェストとダイジェストとが一致することを意味する「検査済み」であるとして、適合しているＣＩＨ記録４２を返した場合、ペイロードは認識されたペイロード１４ａとしてコンテンツ検査モジュール１６をバイパスする。
【００３４】
一方向ハッシュ関数は、当該分野の技術者には周知の、ＳＨＡ−１、ＭＤ２、ＭＤ４、ＭＤ５、その変形または他のハッシュ化アルゴリズムのような既知のセキュリティハッシュアルゴリズム（ＳＨＡ）としてもよい。
【００３５】
図６を参照して、コンテンツ検査の効率を更に高めた代替の実施の形態を説明する。この実施の形態では、ペイロードコンテンツを部分的に認識できる方法が、以前に検査されたことがないペイロードコンテンツの一部だけでコンテンツ検査が済むように実行される。
【００３６】
この実施の形態では、ペイロードは、論理部分３０に分解され、各部分毎に、検査されたことがあるかどうかを決定するために評価される。非検査部分（ステップ３１）があるとアルゴリズムが決定した場合、その非検査部分についてメッセージダイジェスト（ステップ３２）が計算される。次いで、上記のように、そのメッセージダイジェストがそれぞれ、ＣＩＨＬテーブル内で検索される。
【００３７】
分解は、電子メール内の添付、またはジップファイル内のファイルコンテンツ等により、ペイロードを論理部分に細分化することにより達成できる。
【００３８】
スケジューリングマネージャ
好ましい実施の形態では、多数の検査タスクのコンテンツ検査をスケジュール化するのは、多数の異なるデータペイロードが急速にかつ同時に到着する事態、同一コンテンツの多くのインスタンス、またはサービス拒否アタックの事態におけるシステムリソースの消耗を防ぐために行われる。スケジュール化により、コンテンツ検査を完了させるためにシステムリソースが効率的に利用されるのが保証され、コンテンツ検査アルゴリズムを何らかの多数のインスタンスの内の唯一つのインスタンスに適用するのにシステムリソースを充てるのが保証される。これは、時間消費したり、またはシステムリソースを要求したりするコンテンツ処理タスクの優先度をずっと低くすることにより達成される。スケジュール化は、コンテンツ検査状態（すなわち、未検査、検査中または検査済み）を、要求される検査タスクの数、検査タスクの受信の時間、および検査タスクのサイズに関連する情報と併せて利用することにより達成される。
【００３９】
図７、図８および図８Ａは、「時間量子分割」（ＴＱＤ）コンテンツ検査処理スケジュール化戦略を用いるコンテンツ検査モジュール（ＣＩＭ）１６ａの一実施の形態を説明する。この処理により、システムは、時間経過とともにコンテンツ検査処理のための優先度を下げて、ネットワークにアクセスする多数ユーザーに対するサービス速度を強化できる。例えば、ネットワークにアクセスしている１００人のユーザーがいて、そのうち９９人はネットワークに小さなペイロード（例えば、１〜２ｋｂのファイル）を通そうとし、１人はネットワークに大きなファイル（例えば、１００Ｍｂのファイル）を通そうとしている状況では、スケジュールマネージャは、それぞれの検査タスクのサイズ、および各コンテンツ検査タスクを完了するのに要する時間の両方に基づいて、単一の大きな検査タスクにより消費されるシステムリソースを最小化し、または防ぎ、ひいては小さなペイロードを通す多数ユーザーそれぞれが、単一の大きな検査の完了を待たなければならないのを防ぐために、優先権を割り当て、システムリソースを配置する。すなわち、システムは、長ったらしいコンテンツ検査タスクによるシステムリソースの「ライブロック」を防ぐことができる。
【００４０】
図８、図８Ａに示すように、コンテンツ検査処理８０は、検査を必要とする各コンテンツパケットが到着したときに、ＴＱＤ
ＣＩＰマネージャにより各コンテンツ検査タスクを登録し（図８、ステップ８２）、従って「ｎ」個の検査タスクを定義することにより開始される。登録が済むと、ＴＱＤ ＣＩＰマネージャ９０（図８Ａ）は、検査タスク数、および各検査タスクの相対的サイズにより決定される検査完了時間のバランスを取ることにより、それぞれのコンテンツ検査が多数ユーザーへのサービス品質を維持する方法で完了されるように、コンテンツ検査タスク毎に優先権を周期的に調整する。ＴＱＤ
ＣＩＰマネージャ９０が割り当てた優先権に基づいて検査アルゴリズムが完了すると（ステップ８４）、ＣＩＨＬテーブルが検査結果により更新され（ステップ８６）、コンテンツ検査処理８０は、ＴＱＤ
ＣＩＰマネージャから特定コンテンツ検査タスクの登録を外す（ステップ８８）。
【００４１】
コンテンツ検査タスクは、ＴＱＤ ＣＩＰマネージャ９０により登録され、登録を外されるので、ＴＱＤ
ＣＩＰマネージャ９０は、登録されたコンテンツ検査タスクそれぞれを通じて連続的にループし、それぞれのコンテンツ検査タスクのステータスまたは優先度を評価し更新する。
【００４２】
図８Ａを参照して、最初にＴＱＤ ＣＩＰマネージャ９０は、何か登録された検査タスクがあるかどうか判定する（ステップ９２）。登録された検査タスクがなければ、ＴＱＤ
ＣＩＰマネージャ９０は、何らかの検査タスクがあるかどうか再判定するまで所定の時間待機する（ステップ９４）。登録された検査タスクがある場合（ステップ９３）、ＴＱＤ
ＣＩＰマネージャ９０は、各検査タスクの有効期限（ＴＴＬ）の値をある値だけ減らす（ステップ９８）。コンテンツ検査処理（ＣＩＰ）は、ＴＴＬが任意の閾値未満に低下した場合（ステップ１００）、停止される（ステップ１０２）。停止した検査タスクのＣＩＨ記録は、ＣＩＨＬテーブルから削除される（ステップ１０４）。ペイロードの伝送は、後の時間に送信者および／または受信者により再開される。
【００４３】
ＴＴＬがゼロ未満でない場合、ＴＱＤ ＣＩＰマネージャ９０は、ｉ番目の検査タスク（ステップ１０６）に対する優先度を所定の値だけ減らす。
【００４４】
優先度が調整されるか、またはｉ番目のＣＩＰが停止されると、ＴＱＤ ＣＩＰマネージャ９０は、何か残っている登録された検査があるかどうかを判定し、ある時間の間待機して（ステップ９４）、登録された検査タスクをチェックするか、または他の登録された検査タスクのステータスの評価、調整を継続する。
【００４５】
可能性のあるスケジュール化局面の実施例として、５つのコンテンツ検査タスクがＴＱＤ ＣＩＰマネージャ９０により登録されている。これらの登録された検査タスクは、何らかの特別な順序で受信された３つの小さなファイル（例えば、それぞれ３ｋｂ）、一つの中位のサイズのファイル（例えば、１０Ｍｂ）および一つの大規模ファイル（例えば、１００Ｍｂ）を含む。これらの検査タスクを処理する際に、マネージャは、所望するレベルのサービスの効率を維持するためにコンテンツ検査をバランスさせようとする。例えば、最初は受信時間とは無関係に、より小さいファイルの検査に優先権が確実に割り当てられるように、スケジュールマネージャーパラメータを設定できる。代替として、サイズと無関係に到着時間に基づいて、優先権を確実に、厳しく割り当てるようスケジュールマネージャーパラメータを設定してもよい。図８Ａに示すように、本システムは、全ての検査タスクに同一の初期優先権を割り当てることができる。次いで、スケジュールマネージャは時間経過によりタスク毎の優先度を減らす。更に、到着時間とサイズの間でバランスするようスケジュールマネージャーパラメータを設定してもよい。すなわち、状況に応じて、システムリソースの特定の配置に基づいて、大規模ファイルを小さなファイルと同時に処理できる。代替として、処理が余りに遅いとスケジュールマネージャが決定して、大規模ファイルに対して検査処理を中断するまでの時間だけ、大規模ファイルを処理してもよい。言うまでもなく、スケジュールマネージャが登録したタスク数は、登録タスク数の変化に基づいて優先度を上下させて調整できるように、動的に変更できる。
【００４６】
当該分野の技術者には言うまでもなく、コンテンツサイズ、および検査タスク完了時間に基づいてコンテンツ検査を効率的に管理するための優先権決定およびシステムリソース配置は、各種のアルゴリズムにより達成でき、上記方法論はそのようなアルゴリズムの実施例の内の幾つかを示すにすぎない。
【００４７】
検査結果分類
多様な実施の形態では、認識されたペイロード１４ａまたは検査済みペイロード１４ｃのようなデータペイロードのコンテンツは、下記追加情報と関係付けることができるので、システムが検査結果に基づいてペイロードに対する特定アクションをとれるようになる（図３）。
ａ）コンテンツ分類
検査結果はコンテンツに基づいて分類できる。例えば、検査結果を、コンテンツがスパム、スパイウエアまたはウイルスであることを示すマーカーとすることができる。
ｂ）コンテンツ命令
検査結果に、コンテンツを変更する一セットの命令を含むことができる。この場合、方針モジュール１５は、これらの命令を用いてペイロードに関するステップを追加できる。例えば、コンテンツがウイルスであるとマーキングされている場合、その命令は、ペイロードがウイルスを含むので開くべきでない、と受信者に警告できる。他の実施例では、その命令はペイロードの配布を拒むが、その配布が拒否されたことを示す情報を送信することができる。
ｃ）補足データ
検査結果は補足データと関係付けることができる。補足データは、本発明の方法に、セキュリティ強化を含む機能追加を提供する。
【００４８】
例えば、補足データには、セキュリティ強化のために用いられるメッセージダイジェスト作成時間４４を含めることができる。すなわち、十分な時間があると、攻撃者は、一般的に用いられる一方向ハッシュアルゴリズムによる衝突を達成できることが知られているので、補足データとして時間情報を追加することにより、メッセージダイジェストが所定の値より古い場合、そのメッセージダイジェストを破棄できる。
【００４９】
別の実施の形態では、補足データには、追加または代替として、ペイロードのサイズ４５も含めることができ、このサイズ情報を用いて、ハッシュコード衝突の可能性を低下させるために粒度をより細かくできる。本実施例では、ルックアップテーブル内でＣＩＨＬテーブル検索機能を実行する場合、メッセージダイジェストとサイズの両方がペイロードのものと一致していなければならない。
【００５０】
展開
本システムは、既存のコンテンツ検査システムに適応できる外部モジュール、またはコンテンツ検査システム内の組込み型モジュール、として展開することができる。
【００５１】
一実施の形態では、本システムは、図９に示すように、既存のコンテンツ検査コプロセッサと相互作用するコンテンツ認識モジュールで実装される。
【００５２】
別の実施の形態では、本システムは、ソフトウエアモジュール、コプロセッサまたはコンピューターシステムであるコンテンツ検査モジュール内に組み込まれるソフトウエアコンポーネントである。
【００５３】
更に別の実施の形態では、コンテンツ検査に費やされる計算を活用するために、図１０に示すように、検査結果を伴うメッセージダイジェストをコンテンツの認識／検査システムの幾つかの事例の間で共有できる。この共有は、メッセージダイジェストを検査結果と併せて、コンテンツの認識／検査システムのこれら事例に共有される中央サーバに格納することにより、または検査結果を伴うダイジェストをグループの各事例に複製することにより達成できる。例えば、図１０は、それぞれが共通の内部ネットワークを経由して、セキュリティ保護されてリンクされている外部インターネット接続を有する４つのネットワーク化サーバを示す。サーバ３は、企業ゲートウエイの可能性がある最大トラフィックのサーバを表すとして示す。サーバ１、２および４は、トラフィックは少ないがサーバ３に接続されて動作し、接続はセキュリティ保護されている。ＮＢＣＩデータベースはサーバ３に接続される。本システムの効率を更に高めるために、各サーバは、それぞれのペイロード検査結果をサーバ３、ひいてはデータベース５に報告するので、本システム上のそれぞれサーバは、他のサーバの経験を「学習」することができ、従って、より規模の大きなネットワーク全体にまたがってコンテンツ検査を複製するのを防ぐことができる。このネットワーク化した実施の形態は、特に、トラフィック量がかなり多い大規模の企業またはサービスプロバイダにとって、このような検査結果を共有する能力によりシステムの全体効率およびコスト効率を著しく強化できるという利点がある。
【００５４】
上記説明は本発明の分かりやすい解説を提供することを意図している。言うまでもなく、本発明を展開した実施例の改変は、本発明の精神から逸脱することなく実現することができる。
【図面の簡単な説明】
【００５５】
図面を参照して本発明を説明する：
【図１】図１は、本発明の一実施の形態によるコンピューターシステム、コプロセッサ、またはソフトウエアモジュール内のコンテンツ認識モジュールとコンテンツ検査モジュールとの相互作用を示すブロック略図である。
【図２】図２は、コンテンツ認識モジュールの実装のブロック略図である。
【図３】図３は、コンテンツ検査履歴（ＣＩＨ）記録の構造である。
【図４】図４は、本発明の一実施の形態によるペイロード処理方法のフロー図である。
【図５】図５は、コンテンツ検査状態遷移の状態マシンを示す。
【図６】図６は、コンテンツ検査が以前に検査されなかった部分に対してのみ実施されるペイロード分解およびペイロード部分認識を含むペイロード処理方法のフロー図である。
【図７】図７は、コンテンツ検査モジュールの実装のブロック略図である。
【図８】図８は、本発明の一実施の形態による「時間量子分割」方式を用いてペイロードにコンテンツ検査アルゴリズムを適用する方法のフロー図である。
【図８Ａ】図８Ａは、本発明の一実施の形態による「時間量子分割」方式を用いてペイロードにコンテンツ検査アルゴリズムを適用する方法のフロー図である。
【図９】図９は、本発明の一実施の形態によるコンテンツコプロセッサを用いる本発明のシステムの実装のブロック略図である。
【図１０】図１０は、ネットワーク上の多数のサーバが、他のサーバが実行するコンテンツ検査から学習する方法を示すネットワークのブロック略図である。
【図１】
2009522672.tif 000003
【図２】
2009522672.tif 000004
【図３】
2009522672.tif 000005
【図４】
2009522672.tif 000006
【図５】
2009522672.tif 000007
【図６】
2009522672.tif 000008
【図７】
2009522672.tif 000009
【図８】
2009522672.tif 000010
【図８Ａ】
2009522672.tif 000011
【図９】
2009522672.tif 000012
【図１０】
2009522672.tif 000013
【国際調査報告】
2009522672.tif 000014
2009522672.tif 000015
2009522672.tif 000016
2009522672.tif 000017