(57)【特許請求の範囲】
【請求項１】
パケット・フィルタリングを高速化するためのシステムであって、
（ａ）パケットを転送するためのソース・ノード、
（ｂ）前記パケットを受信するための、宛先ノード、
（ｃ）少なくとも１つの規則に従ったパケット・フィルタリングを実行するための前記ソース・ノードと前記宛先ノードとの間に置かれるファイアウォール、
（ｄ）前記ファイアウォールと通信を行うプレ・フィルタリング・モジュールであって、前記ファイアウォールから少なくとも１つの通知を受信し、また、前記ファイアウォールよりも先に前記パケットを受信するために、もし前記パケットが前記少なくとも１つの通知に従って認可されるならば、当該プレ・フィルタリング・モジュールが前記パケットを処理し、もしくは当該プレ・フィルタリング・モジュールは、処理のために前記パケットを前記ファイアウォールに転送するプレ・フィルタリング・モジュールからなり、
前記少なくとも１つの通知は、前記ファイアウォールによって実行された前記パケット・フィルタリングに関し制限されている前記パケットの解析を実行するためのものであり、
前記少なくとも１つの通知が、認可された接続を識別するための前記パケットの少なくとも１つのパラメータを含むように、またもし前記接続が認可されるならば、前記プレ・フィルタリング・モジュールが前記パケットを処理するように、前記ソース・ノードと前記宛先ノードとの間のパケット転送が接続を形成し、前記ファイアウォールは、前記接続が認可されたかどうかを決定し、
前記ファイアウォールは、もし前記パケットが選択されたセッション制御フィールド値を有していれば、パケットを前記プレ・フィルタリング・モジュールからの前記認可された接続から受信することを特徴とするシステム。
【請求項２】
前記認可された接続を認識するための、前記少なくとも１つのパラメータが前記パケットのためのソース・アドレス及び宛先アドレスを含むことを特徴とする、請求項１記載のシステム。
【請求項３】
前記認可された接続を認識するための前記少なくとも１つのパラメータが、更に前記パケットのためにソース・ポート及び宛先ポートを含むことを特徴とする、請求項２記載のシステム。
【請求項４】
予め決めていた時間後、もし追加のパケットが前記認可された接続のために受信されていないならば、前記接続は前記ファイアウォールによって削除されることを特徴とする、請求項１記載のシステム。
【請求項５】
前記プレ・フィルタリング・モジュールがさらに、
（i）前記認可された接続を認識するための前記パケットの前記少なくとも１つのパラメータを格納するための接続データベースからなることを特徴とする、請求項１記載のシステム。
【請求項６】
前記プレ・フィルタリング・モジュールがさらに、
（ii）前記パケットの少なくとも１つの部分を解析して、前記パケットの前記少なくとも１つの部分と前記少なくとも１つのパラメータを比較するための分類エンジンからなることを特徴とする、請求項５記載のシステム。
【請求項７】
前記プレ・フィルタリング・モジュールが更に、
（iii）もし前記パケットが前記認可された接続から受信されるなら、少なくとも１つのアクションを前記パケット上で実行するための変更子からなり、
前記少なくとも１つのアクションは、前記ファイアウォールからの通知に従って定義され、
前記少なくとも１つのアクションは、計算情報の収集、前記パケットの修飾及び対なりすましからなるグループから選択されることを特徴とする、請求項６記載のシステム。
【請求項８】
前記プレ・フィルタリング・モジュールがハードウェア・デバイスとして実施されることを特徴とする請求項７記載のシステム。
【請求項９】
（ｅ）前記ソース・ノードと前記宛先ノード間に置かれる計算デバイスであって、この前記計算デバイスによって前記プレ・フィルタリング・モジュール及び前記ファイアウォールが作動する前記計算デバイス、から更になる、請求項７記載のシステム。
【請求項１０】
ネットワーク上のパケットのフィルタリングを高速化するためのシステムであって、
（ａ）少なくとも１つの規則に従って、パケット上でパケットのフィルタリングを実行するための、ネットワーク上に設置されたファイアウォール、
（ｂ）単純な比較を決定する少なくとも1つの通知を前記ファイアウォールから受信するため、及び前記ファイアウォールよりも前にネットワーク上で送られるパケットを受信するために、もしパケットが前記単純な比較に従って認可されるなら当該プレ・フィルタリング・モジュールが少なくともパケットをネットワーク上で送るように、ネットワーク上に設置され前記ファイアウォールと通信を行うプレ・フィルタリング・モジュールからなり、
パケットが認可されない場合に、もしパケットがネットワークから受信されるなら、前記プレ・フィルタリング・モジュールが処理のためにそのパケットを前記ファイアウォールへ転送し、あるいは、もしパケットが前記ファイアウォールから受信されるなら、そのパケットをドロップすることを特徴とするシステム。
【請求項１１】
ネットワーク上のパケットのフィルタリングを高速化するためのシステムであって、
（ａ）少なくとも１つの規則に従って、パケット上でパケットのフィルタリングを実行するための、ネットワーク上に設置されたファイアウォール、
（ｂ）単純な比較を決定する少なくとも1つの通知を前記ファイアウォールから受信するため、及び前記ファイアウォールよりも前にネットワーク上で送られるパケットを受信するために、もしパケットが前記単純な比較に従って認可されるなら当該プレ・フィルタリング・モジュールが少なくともパケットをネットワーク上で送るように、ネットワーク上に設置され前記ファイアウォールと通信を行うプレ・フィルタリング・モジュール、
（ｃ）パケットを送るためのソース・ノード、
（ｄ）パケットを受信するための宛先ノードからなり、
前記少なくとも1つの通知が認可された接続を識別するためのパケットの少なくとも１つのパラメータを含むように、またもし前記接続が認可されるなら、前記プレ・フィルタリング・モジュールが少なくともパケットをネットワーク上で送るように、前記ソース・ノードと前記宛先ノード間でのパケット送信が接続を形成し、前記ファイアウォールは前記接続が認可されるかどうかを決定し、
もし前記接続が認可された接続ではないなら、前記プレ・フィルタリング・モジュールがパケットをドロップすることを特徴とするシステム。
【請求項１２】
ファイアウォールと関連する、ネットワーク上での高速化されたパケットのフィルタ処理のための方法であって、
（ａ）ファイアウォールよりも前にパケットを受信するためのプレ・フィルタリング・モジュールを提供するステップ；
（ｂ）前記プレ・フィルタリング・モジュールに従って前記パケットを受信するステップ；
（ｃ）ファイアウォールからの少なくとも1つの通知に従って、前記パケットが認可されるかどうか決定するステップ；
（ｄ）もし前記パケットが認可されるなら、前記プレ・フィルタリング・モジュールによって前記パケットを処理するステップ；
（ｅ）あるいは、
（i）もし前記パケットがネットワークから受信されるなら、前記パケットをファイアウォールへ送信し、
（ii）もし前記パケットがファイアウォールから受信されるなら、前記パケットをドロップするステップからなることを特徴とする方法。
【請求項１３】
ステップ（ｄ）が優先番号を有する前記パケットをマーキングするステップを含むことを特徴とする請求項１２記載の方法。
【請求項１４】
もしパケットが複数のフラグメントとして受信されれば、ステップ（ｄ）は、フラグメントが二重のフラグメントであるかどうかを決定し、又もし前記フラグメントが二重のフラグメントであるならば、その方法は更に、
（ｆ）前記二重のフラグメントをドロップするステップ、を含むことを特徴とする請求項１２記載の方法。
【請求項１５】
前記パケットが宛先アドレスを有することを特徴とすると共にステップ（ｄ）が前記パケットを前記宛先アドレスへ転送するステップを含むことを特徴とする請求項１２記載の方法。
【請求項１６】
ステップ（ｄ）は前記プレ・フィルタリング・モジュールによって前記パケット上に於ける少なくとも１つのアクションを実行するステップを含み、前記少なくとも１つのアクションはファイアウォールからの通知に従って決定され、前記少なくとも１つのアクションは、計算情報の収集、前記パケットの修飾及び対なりすましからなるグループから選択されることを特徴とする請求項１５記載の方法。
【請求項１７】
ステップ（ｃ）が少なくとも１つのパラメータを検索するための前記パケットを解析するステップを含むように、前記パケットが少なくとも１つのパラメータを特徴付け、前記少なくとも１つの通知が前記少なくとも１つのパラメータに従って認可されたパケットとして前記パケットを識別することを特徴とする請求項１２記載の方法。
【請求項１８】
ファイアウォールが、前記プレ・フィルタリング・モジュールへ認可された接続として前記接続を識別するためのソース・アドレス及び宛先アドレスを前記少なくとも１つの通知として送信するように、ファイアウォールは、前記少なくとも１つの前に受信されたパケットの少なくとも前記ソース・アドレス及び前記宛先アドレスに従って少なくとも１つの前に受信されたパケットを分類し、前記ソース・アドレス及び前記宛先アドレスはお互いに接続を形成することを特徴とする請求項１７記載の方法。
【請求項１９】
ステップ（ｃ）は前記パケットが認可された接続及び認可されたインタフェースから受信されるかどうか決定するステップを含むように、又前記パケットが前記認可されたインタフェースを通り前記認可された接続から受信される場合にのみ前記パケットが認可されるように、ネットワークは複数のインタフェースと通信すると共に前記プレ・フィルタリング・モジュールは前記複数のインタフェースと夫々に接続されていることを特徴とする請求項１８記載の方法。
【請求項２０】
パケット・フィルタリングを高速化するためのシステムであって、
（ａ）パケットを転送するためのソース・ノード、
（ｂ）前記パケットを受信するための、宛先ノード、
（ｃ）少なくとも１つの規則に従ったパケット・フィルタリングを実行するための前記ソース・ノードと前記宛先ノードとの間に置かれるファイアウォール、
（ｄ）前記ファイアウォールから少なくとも１つの通知を受信し前記ファイアウォールよりも先に前記パケットを受信するために、もし前記パケットが少なくとも１つの通知に従って認可されるならば当該プレ・フィルタリング・モジュールが前記パケットを処理するように、もしくは当該プレ・フィルタリング・モジュールが前記パケットを前記ファイアウォールに対し処理するために転送するように、前記ファイアウォールと通信を行うプレ・フィルタリング・モジュール、からなり、
前記少なくとも１つの通知は、前記ファイアウォールによって実行される前記パケット・フィルタリングに関し制限されている前記パケットの解析を実行するためのものであり、
前記少なくとも1つの通知が認可された接続を識別するためのパケットの少なくとも１つのパラメータを含むように、またもし前記接続が認可されるなら、前記プレ・フィルタリング・モジュールが前記パケットを処理するように、前記ソース・ノードと前記宛先ノード間でのパケット送信が接続を形成し、前記ファイアウォールは前記接続が認可されるかどうかを決定し、そして、
もし接続状態の情報を示す特定のセッション制御フィールド値を備えたパケットが前記認可された接続のために受信されたなら、前記パケットは前記ファイアウォールに転送されることを特徴とするシステム。
【発明の詳細な説明】
【０００１】
（本発明の分野及び背景）
本発明は、パケット交換ネットワーク上での迅速なパケット・フィルタリングのためのシステム、デバイス及び方法であり、より具体的には、パケット・フィルタリングの効率がセッション・ベースのフィルタリングにより増すシステム、デバイス及び方法である。
【０００２】
接続性とセキュリティは、ほとんどの組織のコンピュータ環境における２つの矛盾する目的である。典型的な現代のコンピューティング・システムは、サービスの多数のトランスペアレントなアクセスを供給する、ネットワーク通信の周辺で構築される。
これらサービスの全体的な有効性は、おそらく現代のコンピュータ問題解決方法の唯一最も重要な特徴である。接続性の需要は組織の内外の両方から起こる。
【０００３】
無許可の使用からネットワーク・サービスを保護することは、どの組織にも最も重要である。セキュリティを強化することの必要性が増大すると共に、ネットワーク資源へのアクセスを制御する手段は管理上の優先事項になっている。コストを削減し、生産力を維持するために、アクセス制御は構成が簡単で、ユーザとアプリケーションに対しトランスペアレントでなければならない。さらに、構成コスト及びダウン期間の最小化は、また重要な要素である。
【０００４】
パケット・フィルタリングは、接続性を可能とし、更には通過されたトラヒックを制御することによりセキュリティを提供する方法であり、従って単一ネットワーク内及び接続しているネットワーク間の両方での不法な通信の試みを防ぐ。
【０００５】
ここで、全てが開示されるように、参考として参照される米国特許第5,835,726号（１９９６年６月１７日出願）及び第5,606,668号（１９９３年１２月１５日出願）は、コンピュータ・ネットワークにおける入出するデータ・パケットフローの制御によるネットワーク・セキュリティを提供する方法について記載する。
パケットのフローは、その後一連のフィルタ言語通知に変換されるユーザが作り出した規則ベースに従って実行されるパケット・フィルタリングによって制御される。
規則ベースにおける各規則は、パケットを受理するか拒絶するか、イベントを記録するか暗号化及び／又は認証化するソース、宛先、サービスを含んでいる。一連のフィルタ言語通知は、インストールされ、又その通知は、ファイアウォールの役割をするようコンピュータに置かれる検査エンジン上で実行される。
検査エンジンは、パケットがファイアウォールを通して入ることが認可されるかどうか決定するためにステートフル・インスペクションを実行する。
ファイアウォールは、保護されるべきネットワークへ入出する全てのトラヒックがファイアウォールを通過することを強いられることで、コンピュータ・ネットワークの中に位置する。従って、パケットは、規則ベースからなる規則に従ってネットワークの内外をフローするようにフィルタにかけられる。
【０００６】
これらの参照によれば、検査エンジンは、拒絶するべきか、受理するべきかをパケット・ベースによりパケットで決定する仮想パケット・フィルタリング・マシーンの役割をする。もしパケットが拒絶されたなら、それはドロップされる。もしパケットが受理されるなら、パケットは変更することもできる。変更は暗号化、解読、署名作成、署名立証又はアドレスコード変換を含むこともできる。変更は全て規則ベースの内容に従って実行される。
【０００７】
不運にも、示された方法の1つの欠点は、ファイアウォールを操作するコンピュータに大きな計算上の負担がかかることである。以前に示されたパケット・フィルタ処理のプロセスは、ファイアウォールを通したどのパケット・エントリーが決定されるかに従った一連の規則への様々な比較と共に、分割して解析することを各パケットに要求する。
しかしながら、一旦、ファイアウォールによって確立される２つのノード間のセッション又は接続が有効になったならば、その後、ほとんどの場合、さらに集中的な解析は必要ではない。
従って、保護されたシステムのセキュリティを維持している一方で、認可された接続からのパケットの連続的な解析のための要求を減少あるいは均一に削除することは、ファイアウォールによって課された計算の負担を著しく減らし、パケット・フィルタリングのプロセスを高速化するであろう。
【０００８】
もしパケットが認可された接続から受信されたならば、随意に変更プロセスのハードウェアの高速化を通じて、急速かつ効率的に変更されたパケットはさらに維持される一方で、完全なパケット解析のための要求は減少するか均一に削除され、受信されたパケットに従った急速なパケット・フィルタ処理のためのシステム、デバイス及び方法の必要性があり、持っていることは有用である。
【０００９】
（発明の要約）
本発明は、システム、デバイス及びパケット交換のネットワーク上でのパケット・フィルタ処理を高速化する方法であり、好ましくは、プレ・フィルタリング・モジュールを備えたファイアウォールの補足によるIPネットワークである。
プレ・フィルタリング・モジュールは、ファイアウォールによって以前に可能となった接続からパケットが受信されるかどうかに従ったパケットに関し制限された一連のアクションを実行する。
もしパケットがそのような可能になった接続から受信されるなら、プレ・フィルタリング・モジュールは、パケット上で随意に１又はそれ以上のアクションを実行して、それらの宛先へパケットを転送する。
そうでなければ、パケットは処理のためにファイアウォールへ転送される。好ましくは１度ファイアウォールが、プレ・フィルタリング・モジュールの接続に対する責任を移す、あるいは接続を「オフロードされる」ならば、接続の間にタイムアウトが生じるまで、もしくはセッションが終了したことを示す特定のセッション制御フィールド値で受信されるまで、ファイアウォールがさらなるパケットを受信しない、つまりパケットは接続が閉じられる。
【００１０】
例えば、IPネットワークを備えた本発明の好ましい実施については、そのようなセッション・コントロール・フィールド値はパケットのために用意されているFIN／RSTフラッグである。
【００１１】
可能な接続からのパケットのために必要になる解析の量を減少する、あるいは削除することの１つの利点は、ハードウェア高速化が随意にファイアウォールを補うことができることである。
そのようなハードウェアの高速化はソフトウェアに基づいたパケット処理より迅速、従って著しくファイアウォール・システムの効率を増加させることができるという長所がある。さらに、修正プロセスのハードウェア高速化は、修正プロセスがより少ない「知能」だがより速い処理を要求するので、パケットを迅速に効率良く修正する能力を維持することができ、一方パケット解析のプロセスのための反対の特性もまた真実である。それゆえに、随意に好ましく、プレ・フィルタリング・モジュールはハードウェアとして実施される。
【００１２】
本発明に従って、パケット・フィルタリングを高速化するためのシステムが提供され、システムは（a）パケットを転送するためのソース・ノード、（ｂ）パケットを受信するための宛先ノード、（ｃ）少なくとも１つのルールに従ってパケット・フィルタリングを行うための、ソース・ノードと宛先ノードの間に置かれたファイアウォール、（ｄ）もしパケットが少なくとも１つの通知に従い認可されており、プレ・フィルタリング・モジュールはパケットを処理し、あるいはまたプレ・フィルタリング・モジュールは処理のためにパケットをファイアウォールへ転送するので、ファイアウォールから少なくとも１つの通知を受信し、ファイアウォールの前にパケットを受信するためにファイアウォールと通信を取り合い、プレ・フィルタリングを行うモジュール、からなる。
【００１３】
本発明の他の実施例に従って、ネットワーク上でパケットの加速したフィルタリングのためのシステムが提供され、システムは（a）少なくとも１つのルールに従ったパケットでのパケット・フィルタリング、（ｂ）もしパケットが単純な比較に従って認可されたら、プレ・フィルタリング・モジュールは少なくともネットワークでパケットを転送するので、単純な比較を決定し、ファイアウォールの前にネットワークで転送されたパケットを受信するためのファイアウォールから少なくとも１つの通知を受信しネットワークに配されファイアウォールと通信を取り合うプレ・フィルタリング・モジュール、からなる。
【００１４】
本発明の更に別の実施例によると、パケット・フィルタ処理を高速化するためのシステムで用いられるための、パケットを送るためのネットワーク及びパケットをフィルタリングするためのネットワーク上のファイアウォール、ファイアウォールの前にパケットを受信するためのデバイスに特徴付けられるシステムが提供され、デバイスは（a）ファイアウォールからのパケットの少なくとも１つのパラメータを解析するための、少なくとも１つの通知を格納するためのメモリ、少なくとも１つの通知は、パケットを識別するための、少なくとも１つのパラメータを含む、（ｂ）パケットの少なくとも１つの部分を解析するため及び少なくとも１つの通知に従った、少なくとも１つのパラメータに対するパケットの少なくとも１つの部分を比較するための分類エンジン、からなる。
【００１５】
本発明の更に別の実施例によれば、ネットワーク上でファイアウォールと共にパケット・フィルタリングを高速化するための方法が提供され、方法は（a）ファイアウォールの前にパケットを受信するためのプレ・フィルタリング・モジュール、（ｂ）プレ・フィルタリング・モジュールによってパケットを受信する、（ｃ）パケットが認可されているかどうかを決定する、（ｄ）もしパケットが認可されているならば、プレ・フィルタリング・モジュールによってパケットを処理する、の段階からなる。
【００１６】
以下、「ネットワーク」は、データ通信を可能にする、２もしくはそれ以上のどのような計算デバイスの接続を含む。
【００１７】
以下、用語「計算デバイス」は、Windows（登録商標）、Linux（登録商標）、Macintosh（登録商標）コンピュータ、のようなオペレーティング・システムを持つパーソナル・コンピュータ（PC）、オペレーティング・システムとしてJAVA（登録商標）コンピュータ、サンマイクロシステムズ（登録商標）及びシリコングラフィックス（登録商標）のコンピュータのようなワークステーション及びサンマイクロシステムズ（登録商標）のAIX（登録商標）あるいはSOLARIS（登録商標）のようなユニックス・オペレーティング・システムのあるバージョンを持つ他のコンピュータ、他の既知及び利用可能なオペレーティング・システム、どのようなタイプのコンピュータ、オペレーティング・システムがVxWorks（登録商標）及びPSOS（登録商標）を含むがこれに限定されないパケット交換網に接続することができるどのようなデバイス、パケットを転送及び受信する能力があり、例えば、ブリッジ、スイッチ及びルータを含むがこれに限定されない、ネットワーク処理デバイスのような、少なくともデータ処理デバイスを持つ、パケット交換網に接続可能な、デバイスを含むが、これに限定されない。
以下、用語「Windows（登録商標）」はWindows （登録商標）NT、Windows（登録商標）98、Windows（登録商標）2000、Windows（登録商標）CE及びこれらマイクロソフト社（米国）によるオペレーティング・システムのアップグレード・バージョンを含むが、これに限定されない。
【００１８】
本発明の方法は、一連のデータ処理デバイスによって実行された段階と記載することができ、ソフトウェア、ハードウェア、ファームウェアあるいはそのコンビネーションとして随意に実行することができる。
本発明は、当業者が容易に選択できる、本質的に任意の適切なプログラミング言語でソフトウェア・アプリケーションを書くことができる。選ばれたプログラミング言語は、ソフトウェア・アプリケーションと計算デバイスと互換性を持つべきである。適切なプログラミング言語の例はC、C++及びJava（登録商標）を含むが、これに限定されない。
【００１９】
（発明の詳細な説明）
記載したもの及び他の目的、側面及び利点は、図を参照し、以下の実施の形態の詳細な説明により、より良く理解される。
本発明は、プレ・フィルタリング・モジュールを備えたファイアウォールの設置により、パケットのフィルタリングを高速化するためのシステム、デバイス及び方法に関する。プレ・フィルタリング・モジュールはパケットに関し、例えばパケットは、前回のファイアウォールによって認可された接続から受信されたかどうかに従って、パケットに関する単純な比較を実行する。パケットがこのように認可された接続から受信されている場合、プレ・フィルタリング・モジュールはパケットの宛先へパケットを転送し、随意で１あるいはそれ以上のアクションをパケット上に実行する。そうでなければ、パケットは処理のためにファイアウォールへ転送される。付け加えて、さらに好ましくは、これらのパケットが、ファイアウォールによる介入を必要とする特定のセッション制御フィールド値を持つ場合、パケットは処理のためにこのファイアウォールへ転送される。例えば、ＩＰネットワーク、特にＴＣＰ／ＩＰトラヒックを備えた本発明の好ましい実施にとって、パケットのための一連のSYN/FIN/RSTフラッグを含む。このようなセッション制御フィールド値は、接続状態についての情報を運ぶパケットを表示し、従ってこれらは、ファイアウォールが接続状態を決定するために、これらのパケットを受信し解析するのが重要である。随意で、フラグメント・パケットはまた、プレ・フィルタリング・モジュールが、ＩＰネットワーク、特にＩＰトラヒックを備えた本発明の好ましい実施の形態のための、仮想フラグメントテーション解消のような特定機能を実行できない場合、ファイアウォールへ転送される。
【００２０】
ひとたびファイアウォールは接続が認可されたと判断すると、あるいは単純な比較を実行するための少なくとも１つのパラメータを決定すると、ファイアウォールは好ましくは、プレ・フィルタリング・モジュールへ、新しく認可されたパケットの詳細と共にメッセージを送信する。好ましくは、ひとたびファイアウォールが接続の責任をプレ・フィルタリング・モジュールへ移動させると、あるいは接続を“オフ・ロードされた”にすると、ファイアウォールは、接続が終了されるために、接続の間にタイムアウトが生じるまで、あるいはパケットが、セッションが終了したことを表示する特定のセッション制御フィールド値（例えばＩＰネットワークを備えた好ましい実施のためにFIN/RSTフラッグがセットされること）と共に、これらの接続からさらなるパケットを受信しない。“タイムアウト”は、パケットが前もって定められた期間の間ファイアウォールによって受信されない場合に生じる。
【００２１】
プレ・フィルタリング・モジュールは好ましくは、ハードウェアの高速化の利益を享受するために、ハードウェアとして実行される。このようなハードウェアの高速化は、ソフトウェアに基づいたパケット処理よりもさらに迅速であるという利点を有する。それゆえ、プレ・フィルタリング・モジュールは、プレ・フィルタリング・モジュールがソフトウェアあるいはファームウェアとして実行されるにもかかわらず、好ましくはハードウェアに基づいたデバイスとして実施される。随意で、プレ・フィルタリング・モジュール及びファイアウォールは、設置及び操作の容易さのために、ネットワークのゲートウェイ・ノードに加えられる“ブラックボックス”、あるいはその代替となる複合デバイスである。
【００２２】
本発明によるシステム、デバイス及び方法の原義と作用は、図面と添付の説明を参照することでよりよく理解され、またこれらの図面が例示の目的のためのみに与えられており、限定するものでないことが理解される。以下の説明がＩＰネットワークに集中しており、特にＴＣＰ／ＩＰトラヒックに集中しているが、これらはただ例示の目的のためであり、ともかく限定するものであると意図されないことが理解される。
【００２３】
図面を参照すると、図１は本発明によるシステムの概略ブロック図である。システム１０は、データがパケットの形態で送られるように、パケット・スイッチング・ネットワークとなっている保護されたネットワーク１２を特徴とする。保護されたネットワーク１２は、随意でいかなるタイプの計算デバイスでもあり、ここでは“中間ノード”と称されるゲートウェイ１６によって外部のパケット・スイッチング・ネットワーク１４から切り離されている。外部ネットワーク１４は随意で、例えばインターネットでありうる。ゲートウェイ１６は、ここではＮＩＣ１７として示されるハードウェア・コネクタを通じて、外部ネットワーク１４、保護されたネットワーク１２の各々に接続される。
【００２４】
ゲートウェイ１６は、パケット解析及びパケットのフィルタリングを実行するためのファイアウォール１８を作動させる。外部ネットワーク１４からゲートウェイ１６を通過することが認可されたパケットは、保護されたネットワーク１２に接続される、保護された複数のノード２０のうち１つによって受信される。このようなネットワーク・トラヒックは外部ネットワーク１４へ送るために、保護されたネットワーク１２からゲートウェイ１６によってパケットが受信されるように、そしてその逆もまた同様であるように、典型的には双方向である。
【００２５】
ファイアウォール１８は好ましくは、米国特許第５，８３５，７２６号及び第５，６０６，６６８号に前述されているように実施される。ファイアウォール１８は、パケットのフィルタリング処理を実行するためのパケット・フィルター２２を特徴とする。パケット・フィルター２２は次に、パケットを解析するための解析モジュール２４及び規則ベース２６からなる。規則ベース２６は好ましくは、システム管理者あるいは他の制御ユーザの選択に従って定められる、１つあるいはそれ以上の規則を含む。解析モジュール２４は解析されるパケットの内容を抽出し、規則ベース２６の規則と比較する。比較の結果、パケットが規則ベース２６により認可される場合、パケット・フィルター２２はパケットが保護されたネットワーク２２に入ることを認可する。
【００２６】
また、パケットが規則ベース２６により認可されない場合、パケットは随意でドロップされる。パケットはまた随意で、規則ベース２６が特にパケットが通過するのを許可しない場合、認可されないように判断する。
【００２７】
また随意で、パケット・フィルター２２は、パケットが受理される場合、パケットを変更するための変更モジュール２８を特徴とする。
【００２８】
ファイアウォール１８のその他の随意的な特徴は、特定の接続に属する全てのパケット上の移動されたデータ量を決定するために、パケットの明確化を実行する能力、パケット内のアドレスを変更する能力、及びパケットを暗号化する能力を含む。パケットの暗号化はより詳しくは、米国特許第５，８３５，７２６号に詳述されている。簡潔には、パケットは随意で、パケットが外部ネットワーク１４を通過するために暗号化されるように、２つのファイアウォール１８間の転送のために暗号化される。暗号化はまた随意で、例えばファイアウォール１８と外部ネットワーク１４との間の通信のために用いられる。暗号化されたパケットは、ファイアウォール１８を受信することによって暗号解読され、保護されたネットワーク１２にパスされる。従って、暗号化及び送信のプロセスは自動化され、通信ソフトウェアに対し通過可能な方法で実行される。
【００２９】
ファイアウォール１８のこれらの特徴は、好ましくは米国特許第５，８３５，７２６号及び第５，６０６，６６８号に前述されたように実施される。しかしながら、ゲートウェイ１６に入ることを認可される前に、全てのパケットにファイアウォール１８を通過させることは、ファイアウォール１８上に多大な計算上の負荷を生じる。それゆえ、本発明により、ゲートウェイ１６は、ファイアウォール１８よりも前にパケットを受信し、好ましくは保護されたネットワーク１２に直接接続された、プレ・フィルタリング・モジュール３０を特徴とする。また、プレ・フィルタリング・モジュール３０は好ましくは、保護されたネットワーク１２に入ることを認可されたパケットに関して、ファイアウォール１８から通知を受信する。これらの通知は、前に受信され、関連したパケットが保護されたネットワーク１２に入ることを認可された場合、現在のパケットもまた、保護されたネットワーク１２に入ることを認可されるように、さらに好ましくは、１つあるいはそれ以上の、前に受信され、関連するパケットの解析からファイアウォール１８によって決定される。従って、プレ・フィルタリング・モジュール３０が、現在のパケットが入ることは認可されると決定する場合、プレ・フィルタリング・モジュール３０は好ましくはそのパケットを直接、保護されたネットワーク１２へパスする。
【００３０】
プレ・フィルタリング・モジュール３０の操作効率を増加させるために、好ましくは、プレ・フィルタリング・モジュール３０は各パケットの限定された解析しか実行することができない。明確には、さらに好ましくは、各パケットの１部分のみがプレ・フィルタリング・モジュール３０によって解析される。最も好ましくは、プレ・フィルタリング・モジュール３０は、各パケットを単純な比較に関してのみ解析する。「単純な比較」とは、１つ又はそれ以上の前もって定められたパラメータの形で引き出された情報が、前もって定められたそのようなパラメータのパターンと比較されることを意味する。
【００３１】
特に好ましい単純な比較の例において、パケットはプレ・フィルタリング・モジュール３０が、そのパケットが認可されたデータ転送から受信されたかどうか決定することができるまで、ただ解析されるのみである。このような認可された送信は、接続を開始するソース・ノード（例えば外部ネットワーク１４）から、接続を受理する宛先ノード（例えば保護されたノード２０）との間の接続と称される。ひとたび接続が確立されると、ソース・ノードと宛先の間の接続は随意で双方向になる。
【００３２】
パケット解析に関して、“接続”は、データ送信をパケットが属するところに表示する、少なくとも１つの、好ましくは複数のパラメータによって決定される。これらのパラメータの例は、これに限定されないが、ソース・アドレス及びパケットのポート、宛先アドレス及びパケットのポート、及びパケットのプロトコル及びパケットがそこから受信されるインタフェースを含む。接続はパケットを分類するために、及びパケットが保護されたネットワーク１２に入る、あるいはそこから出ることを認可されたかどうか決定するために用いられる。
【００３３】
ファイアウォール１８は、１つあるいはそれ以上の前に受信され調べられたパケットの解析から各接続を決定する。ファイアウォール１８は、このようなパケット（複数可）の内容を検査し、規則ベース２６を伴った解析モジュール２４の出力に基づいて、対応する接続からのパケットが保護されたネットワーク１２に入ること、及び／又はそこから出ることが認可されるかどうかを決定する。さらに、規則ベース２６中の格納された規則から、解析モジュール２４は、接続と関連付けられる１つあるいはそれ以上のアクションを決定することができる。このようなアクションの例はこれらに限定されないが、パケット中のデータ量を計算するための計算アクション、パケットの暗号化／暗号解読、及びアドレス・フィールドの再書き込みによるネットワーク・アドレス変換（ＮＡＴ）の実行等を含む。パケットを変更するための好ましい例は、ファイアウォール１８の通知に従って、プレ・フィルタリング・モジュール３０により、優先番号をパケットに割り当てることによって、パケットをマークすることである。この優先番号は、パケットの転送の順番を決定し、したがって「優先順位」を決定する。
【００３４】
ファイアウォール１８は、少なくともパケットが保護されたネットワーク１２に入ることが認可されたかどうかについて関連する通知をパスし、さらに好ましくはこのアクションは、この接続からプレ・フィルタリング・モジュール３０へ、その後に続くパケットに対しても取られるべきである。
【００３５】
随意に、及び好ましくは、プレ・フィルタリング・モジュール３０は対なりすまし方法を実行する。プレ・フィルタリング・モジュール３０は随意で複数のネットワークに接続されるので、パケットはこれらのいかなるネットワークからもやって来る。対なりすまし方法は、あるネットワークから来たと示されるＩＰパケットが、本当にそのネットワークから到着したかどうか決定する。プレ・フィルタリング・モジュール３０は、どのネットワークがどのインタフェースに接続されているか認識しているので、プレ・フィルタリング・モジュール３０は、特定のインタフェースから受信されたパケットが認可されるかどうか決定することができる。
【００３６】
プレ・フィルタリング・モジュール３０等のアクセラレータに於ける対なりすまし方法を実施する最も容易な方法は、ネットワーク・インタフェースをプレ・フィルタリング・モジュール３０にとって利用可能な接続情報の部分とみなす情報を包含することである。このように、もしパケットが認可されたソース・ノードから発生し、許可された宛先へ送られ、予想されたインタフェースをとおり辿り着いたとするならば、パケットは、プレ・フィルタリング・モジュール３０によって処理されることになる。代替的及び選択的に、例え唯一インタフェースが正確ではなくても、プレ・フィルタリング・モジュール３０は、有効性のためにファイアウォール１８によって更に検査される侵害をパケットが表示することを決定することができる。本発明の範疇で考え出され、プレ・フィルタリング・モジュール３０のために格納された通知部分としてインタフェースに関する情報を含有しない対なりすまし方法を実施する他の方法が存在する。
【００３７】
図２に示されたプレ・フィルタリング・モジュール３０の好ましい実施形態に於いて、プレ・フィルタリング・モジュール３０は、ハードウェア中若しくはソフトウェアとして純粋というよりもむしろ少なくともファームウェア中で具現化される。ハードウェアの有利性は、要求された働きを実行するためのソフトウェアよりもかなり高速なことである。図２の略ブロック図は、構造的というよりもむしろ理論を基礎としたプレ・フィルタリング・モジュール３０の構成要素の説明図である。例えば、構成要素間の物理的接続は特定はしないが、例えば全ての構成要素を位置付けるＰＣＩバス上でもよい。選択的には、構成要素は、例えば、内部及び／又は外部バスのどのようなタイプとも実質的に接続されることができる。
【００３８】
この実施にとって、プレ・フィルタリング・モジュール３０は「デバイス」として、好ましくはメモリ３６を特徴付けるものとして、詳述される。プレ・フィルタリング・モジュール３０は、ファイアウォール１８から関連性の通知を格納するための、メモリ３６に格納される接続データベース３２を特徴付ける。接続データベース３２は、接続を定義するために要求されたパケットの少なくとも１つのパラメータ若しくは複数のパラメータを格納し、しかも、該接続からのパケットでの実行される少なくとも１つのアクションを好ましく格納する。
【００３９】
プレ・フィルタリング・モジュール３０はまた、パケットからの情報を少なくとも部分的に解析するため及び接続データベース３２からの情報を復元するために、データ・プロセッサを包含する分類エンジン３８を好ましく特徴付ける。プレ・フィルタリング・モジュール３０はまた、前に記載されたとして接続データベース３２の中に好ましく格納され、該接続からのパケットのための関連される１つのアクション若しくは複数のアクションを実行するために、変更子３４を好ましく特徴付ける。
【００４０】
プレ・フィルタリング・モジュール３０はまた選択的に且つ好ましくは、少なくとも１つのパケットに関して確かな選択された情報をファイアウォール１８に通信する。選択された情報は、パケットを解析するために前に記述されたパラメータを、特に限定はされないが、少なくとも１つ包含している。プレ・フィルタリング・モジュール３０及びファイアウォール１８間の通信は、複数の実施形態の１つによると、選択的に及び好ましくは実行される。第１実施形態に於いて、プレ・フィルタリング・モジュール３０は、１つの状態若しくはイベント・ドリブン実施中に於いて、そのような情報の受信上でファイアウォール１８に活動的に知らせる。第２実施形態に於いて、代替的に、ファイアウォール１８は、ポーリング実施に於いて、プレ・フィルタリング・モジュール３０を疑う。例えば、ポーリングは、選択的に、時間の特定間隔が過ぎ去った後、若しくは、代替的に、そのような情報、例えば、システム管理者からの情報のためにユーザの疑いに従って実施される。
【００４１】
加えて、プレ・フィルタリング・モジュール３０はまた、物理的ネットワーク（図示せず）からのパケットを送信及び受信するためのハードウェアであるＭＡＣ（メディア・アクセス制御）４０として示めされた、ネットワーク・インタフェースの少なくとも１つ更に好ましくは複数を特徴付ける。更に好ましくは、プレ・フィルタリング・モジュール３０は、パケットをファイアウォール（図示せず）に送信すること及びファイアウォール（図示せず）からのパケットを受信することのためのファイアウォール・インタフェース４２を特徴とする。
【００４２】
操作の流れは次に示されることが好ましい。パケットは、「ＭＡＣ１番」と名付けられたＭＡＣ４０から選択的に受信され、そして分類エンジン３８へ送られる。メモリ３６中にあるデータベース３２から復元された情報及び通知の助けを借りて、それから分類エンジン３８はそれぞれのパケットに於ける情報の少なくとも一部分を解析し、更にパケットが許可されているかどうか決定する。もしパケットが許可されていれば、そうなるとファイアウォール（図示せず）からの少なくとも１つの通知に従って任意改修が変更子３４へ送られる。例えば、改修が必要なければ、そうなれば少なくとも１つの関連性のある通知がファイアウォールから送信される。
【００４３】
ファイアウォールは、選択的に、パケットが送信される例えばＭＡＣ４０等のインタフェースを決定する。しかしながら、ファイアウォールがパケットを特定のインタフェースへ送信させるためにプレ・フィルタリング・モジュール３０へ通知することができるのだが、もし経路指定が支持されていれば、そうなればそのような経路指定はパケットの経路を決めるために使用されるがファイアウォール（図示せず）からの通知は使用しないことを注意されたし。
【００４４】
代替的に、パケットは、選択的に及び好ましくファイアウォールへ転送される。更に代替的には、以下により詳しく述べられる幾つかの環境下に於いて、選択的に同じように解析され、ファイアウォール・インタフェース４２から受信されたパケットに関して特にドロップされる。ＩＰパケットではありえないパケットをドロップすることを避けるために、選択的に及び好ましくは、１つ若しくはそれ以上の「デフォルト」パケットとみなす情報をデータベース３２へ格納する、例えばもしそのような情報がデータベース３２へ格納されなければ、パケットは「不認可である」として定義される。そのようなデフォルト・パケット型の１つの例はＡＲＰ（アドレス解決プロトコル）パケットである。
【００４５】
図２に於けるプレ・フィルタリング・モジュール３０の実施に関して参照する、パケットは、選択的に、例えばＭＡＣ４０のような外部ソースからプレ・フィルタリング・モジュール３０へ到達するか、代替的にファイアウォール・インタフェース４２から受信される。もしパケットがファイアウォール・インタフェース４２から受信されれば、ファイアウォールそれ自体によってそれが生じる、若しくは代替的に、ホストのＩＰスタックによって転送若しくは発生させられる。それ故、選択的に更に好ましくはファイアウォール・インタフェース４２を通り受信されたそのようなパケットのために、プレ・フィルタリング・モジュール３０は、もしパケットが認可されていなければ、ファイアウォールへそれらを転送するよりもむしろ、そのようなパケットをドロップさせることができる。このようにして、プレ・フィルタリング・モジュール３０によってパケットをドロップする若しくは転送するかどうかの決定は、選択的に及び好ましくパケットが受信されるためにとおるインタフェースに従って少なくとも部分的に実行される。
【００４６】
勿論、プレ・フィルタリング・モジュール３０の別の実施は可能であり且つ本発明の範囲内で考慮される。
【００４７】
図３は、本発明を操作するための初歩的な方法のフローチャートである。ステップ１では、パケットが、プレ・フィルタリング・モジュールによって受信される。ステップ２では、パケットの少なくとも１つのパラメータが、プレ・フィルタリング・モジュールによって修復される。ステップ３では、少なくとも１つのパラメータが、好ましくはそのような既知の接続の表に於ける探索を実行することによって、既知の接続を試験するために使用される。
【００４８】
ステップ４ａでは、パケットのための入場が発見されれば、そうなるとこの接続の間に定義される１つのアクション若しくは複数のアクションが、プレ・フィルタリング・モジュールによって実行される。ステップ５ａでは、パケットがその宛先へ転送する。もしパケットがあるセッション制御フィールド値、例えばIPネットワーク上で転送されたパケットのための一連のSYN/FIN/RSTフラッグなど、を有すれば、そのようなパケットは操作によってファイアウォールへ好ましく転送される場合に於いて、ステップ４ａ及び５ａは実行されない。そのようなセッション制御フィールド値は接続状態についての情報を運ぶパケットを暗示しており、且つ、接続の状態を決定するために、それ故ファイアウォールが受信及び解析することは重要である。
【００４９】
選択的に、もしプレ・フィルタリング・モジュールがある機能、例えばIPネットワーク及び特にTCP/IPトラヒックでの本発明の好ましい実施形態のための事実上のフラグメンテーション解消など、を実行できない壊れたパケットもまたファイアウォールへ転送される。仮想フラグメンテーション解消は、IPパケットが膨大になりすぎて送ることができなくなった後実行され、そしてそれ故フラグメントと呼ばれる複数のより小さいパケットへ分割される。仮想フラグメンテーション解消は、受信されたフラグメントの全てを元の大きなパケットへ再組立てされることによるプロセスである。
【００５０】
フラグメントを試みることができる攻撃の様々な種類を防御するために、好ましくは本発明のプレ・フィルタリング・モジュール、しかし代替的にファイアウォールが、二重のパケット・フラグメントをドロップさせる。言い換えれば、もし前に受信されたフラグメントが再度受信されれば、フラグメントはドロップされる。
【００５１】
再度図３のフローチャートへ話を戻せば、代替的に、ステップ４ｂでは、もしパケットための入場が接続の表に於いて発見されれば、パケットは、操作に於いてファイアウォールへ転送される。ステップ５ｂでは、もしファイアウォールがパケットが属する接続が認可されれば、そしてファイアウォールが選択的に、メッセージをプレ・フィルタリング・モジュールへ新しい接続に関する必要な情報を伴い送信される。そのようなメッセージは好ましくは、新しい接続を識別する鍵、アドレス・コード変換に関する情報及び選択的にコード化に関する情報、パケットそれ自体の変更を含むプロセスである両方を含む。新しい接続を認識するための鍵は、ソースIPアドレスとポート、宛先IPアドレスとポート、プロトコル・フィールドと選択的にパケットが受信されると予想されるインタフェースなどの情報を、対なりすまし保護のために好ましくは含んでいる。アドレス・コード変換の情報は、コード変換されたソースIPアドレスとポート、宛先IPアドレスとポートを含んでいる。
【００５２】
本発明の好ましい実施形態に従って、一度ファイアウォールがこのメッセージをプレ・フィルタリング・モジュールへ送信すると、接続は、ファイアウォールがもはやこの接続の間にパケットは受信されない、つまり、プレ・フィルタリング・モジュールへ「オフロードされる」。好ましくは、ファイアウォールは、あるセッション制御フィールド値を有するパケットがこの接続の間に受信されるまで、つまりセッションが終了することを意図するのだが、さらなるパケットを受信することはあり得ない。例えば、IPネットワークに於いてそのような値は一連のFIN/RSTフラッグを有することを含んでいる。
【００５３】
更に好ましくは、タイムアウトが、パケットがあるタイム期間内に特定の接続の間は受信されない時、起こる。ファイアウォールはオフロードされた接続の間にパケットを見ることはないので、ファイアウォールは、接続の間にパケットが受信される最新の時間についてプレ・フィルタリング・モジュールを疑う。受信された応答に従って、ファイアウォールは、接続を保持するか削除するか決定する。もしファイアウォールが接続を削除すれば、接続は、プレ・フィルタリング・モジュールの表から好ましく削除される。
【００５４】
本発明の他の好ましい実施形態に従って、ファイアウォールは、通常間隔でプレ・フィルタリング・モジュールから更新されるアカウント情報を受信する。この情報は、選択的であり且つ好ましくは、ファイアウォールがプレ・フィルタリング・モジュールを調査させることによるよりむしろ、プレ・フィルタリング・モジュールによってファイアウォールへと押される。アカウント情報が更新された最新の時刻及びパケットがこの特定の接続の間にプレ・フィルタリング・モジュールによって受信された最新の時刻から特定の接続の間にプレ・フィルタリング・モジュールによって受信されたパケット及びバイト数をアカウント情報は好ましくは含んでいる。この情報は、そしてプレ・フィルタリング・モジュール内でリセットされる。選択的に且つ更に好ましくは、もしプレ・フィルタリング・モジュールが接続を削除すれば、そうなればプレ・フィルタリング・モジュールはこの接続についての最新のアカウント情報をファイアウォールへと押し出す。
【００５５】
上述した内容は、例として従事させたのみであること、及び多くの他の実施形態が本発明の意思と範囲の中で可能であることが深く考慮されるべきである。
【図面の簡単な説明】
【図１】  本発明に沿ったシステムの、略ブロック図である。
【図２】  本発明に沿った図１のプレ・フィルタリング・モジュールの典型的な実施の形態の略ブロック図である。
【図３】  本発明に沿った典型的な方法のフローチャートである。
【図１】
0003954385.tif 000002
【図２】
0003954385.tif 000003
【図３】
0003954385.tif 000004