(57)【要約】ネットワークセキュリティブリーチ（２３）を検知し且つ防止するシステム及び方法を記載する。本システム及び方法は、セキュリティブリーチを検知するのみならず怪しいパケット及び接続を直接的にドロップすることにより防止するためのゲートウエイに基づいたパケットフォアワーディングネットワークセキュリティソリューションを提供する。本システム及び方法は、ステートフルシグネチャ検知、トラフィックシグネチャ検知、プロトコルアノマリー検知（３５）を包含する、ネットワークセキュリティブリーチ（３０）を検知し且つ防止するための複数個の技術を使用する。
2005517349.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークトラフィックにおけるセキュリティブリーチを検知し且つ防止する方法において、
ネットワークトラフィックにおける複数個のＴＣＰパケットをＴＣＰストリームへリアセンブルし、
セキュリティブリーチを表わす情報を検知するために前記ＴＣＰストリームをインスペクトし、
前記ＴＣＰストリームがセキュリティブリーチを表わす情報を包含している場合には前記ＴＣＰストリームから１個のＴＣＰパケットをドロップし、
前記ＴＣＰストリームがセキュリティブリーチを表わす情報を包含していない場合には前記ＴＣＰストリームから１個のＴＣＰパケットをネットワーク宛先へ転送する、
ことを有する方法。
【請求項２】
請求項１において、セキュリティブリーチを表わす情報を検知するために前記ＴＣＰストリームをインスペクトする場合に、プロトコル違反について前記ＴＣＰストリームをインスペクトすることを包含している方法。
【請求項３】
請求項１において、セキュリティブリーチを表わす情報を検知するために前記ＴＣＰストリームをインスペクトする場合に、アタックシグネチャについて前記ＴＣＰストリームをサーチすることを包含している方法。
【請求項４】
請求項３において、アタックシグネチャについて前記ＴＣＰストリームをサーチする場合に、ステートフルシグネチャ検知を使用することを包含している方法。
【請求項５】
請求項１において、セキュリティブリーチを表わす情報を検知するために前記ＴＣＰストリームをインスペクトする場合に、複数個のネットワーク侵入検知方法を使用することを包含している方法。
【請求項６】
請求項５において、前記複数個のネットワーク侵入検知方法が少なくともプロトコルアノマリー検知を包含している方法。
【請求項７】
請求項５において、前記複数個のネットワーク侵入検知方法が少なくともシグネチャ検知を包含している方法。
【請求項８】
請求項１において、更に、前記複数個のＴＣＰパケットをパケットフロー及びセッションへグループ化することを包含している方法。
【請求項９】
請求項１において、更に、前記パケットフローをパケットフロー記述子内に格納することを包含している方法。
【請求項１０】
請求項９において、更に、トラフィックシグネチャについて前記パケットフロー記述子をサーチすることを包含している方法。
【請求項１１】
請求項９において、前記ＴＣＰストリームをインスペクトする場合に、前記ＴＣＰストリームと関連する前記パケットフロー記述子及びセッションに基づいて前記ＴＣＰストリーム内のネットワークアタック識別子をサーチすることを包含している方法。
【請求項１２】
請求項１１において、前記ネットワークアタック識別子がプロトコル違反を包含している方法。
【請求項１３】
請求項１１において、前記ネットワークアタック識別子がアタックシグネチャを包含している方法。
【請求項１４】
請求項１１において、前記ネットワークアタック識別子が複数個のネットワークアタック識別子を包含している方法。
【請求項１５】
請求項１４において、前記複数個のネットワークアタック識別子が少なくともプロトコル違反を包含している方法。
【請求項１６】
請求項１４において、前記複数個のネットワークアタック識別子が少なくともアタックシグネチャを包含している方法。
【請求項１７】
請求項１３において、前記アタックシグネチャ及び前記トラフィックシグネチャがシグネチャデータベース内に格納されている方法。
【請求項１８】
請求項８において、前記複数個のＴＣＰパケットをパケットフローとセッションとにグループ化する場合に、前記パケットフロー及びセッションをハッシュテーブル内に格納することを包含している方法。
【請求項１９】
請求項１８において、前記パケットフロー及びセッションをハッシュテーブル内に格納する場合に、発信元ＩＰアドレス、宛先ＩＰアドレス、発信元ポート、宛先ポート、プロトコルタイプからなる５タプルからハッシュ値を計算することを包含している方法。
【請求項２０】
請求項２において、プロトコル違反について前記ＴＣＰストリームをインスペクトする場合に、
プロトコルデータベースにおいてネットワークによりサポートされる複数個のプロトコル仕様を格納し、
前記パケットフロー及びセッション内の前記複数個のＴＣＰパケットが前記プロトコルデータベース内の前記複数個のプロトコル仕様のうちの１つ又はそれ以上に準拠しているか否かを決定するために前記プロトコルデータベースに照会する、
ことを包含している方法。
【請求項２１】
請求項３において、アタックシグネチャについて前記ＴＣＰストリームをサーチする場合に、前記ＴＣＰストリーム内にマッチングするシグネチャが存在するか否かを決定するために前記シグネチャデータベースを照会することを包含している方法。
【請求項２２】
請求項２１において、前記ＴＣＰストリーム内にマッチングするシグネチャが存在するか否かを決定する場合に、パターンマッチング用のＤＦＡを使用することを包含している方法。
【請求項２３】
請求項１において、更に、複数個のパケットフラグメントから前記複数個のＴＣＰパケットを再構築することを包含している方法。
【請求項２４】
ネットワークトラフィックにおけるセキュリティブリーチを検知し且つ防止するシステムにおいて、
ネットワークトラフィックにおける複数個のＴＣＰパケットをＴＣＰストリームへリアセンブルするためのＴＣＰリアセンブリソフトウエアモジュール、
セキュリティブリーチを表わす情報を検知するために前記ＴＣＰストリームをインスペクトするためのソフトウエアモジュール、
前記ＴＣＰストリームがセキュリティブリーチを表わす情報を包含している場合に前記ＴＣＰストリームから１個のＴＣＰパケットをドロップするためのソフトウエアモジュール、
前記ＴＣＰストリームがセキュリティブリーチを表わす情報を包含していない場合に前記ＴＣＰストリームから１個のＴＣＰパケットをネットワーク宛先へ転送するためのソフトウエアモジュール、
を有しているシステム。
【請求項２５】
請求項２４において、更に、複数個のパケットフラグメントを前記複数個のＴＣＰパケットへ再構築するためのＩＰデフラグメンテーションソフトウエアモジュールを有しているシステム。
【請求項２６】
請求項２４において、更に、前記複数個のＴＣＰパケットをパケットフローとセッションとにグループ化するためのフローマネージャソフトウエアモジュールを有しているシステム。
【請求項２７】
請求項２６において、前記フローマネージャソフトウエアモジュールが前記パケットフロー及びセッションをハッシュテーブル内に格納するためのルーチンを有しているシステム。
【請求項２８】
請求項２７において、前記パケットフロー及びセッションをハッシュテーブル内に格納するためのルーチンが、前記パケットフローをパケットフロー記述子内に格納するためのルーチンを有しているシステム。
【請求項２９】
請求項２７において、前記パケットフロー及びセッションをハッシュテーブル内に格納するルーチンが、発信元ＩＰアドレスと、宛先ＩＰアドレスと、発信元ポートと、宛先ポートと、プロトコルタイプとからなる５タプルからハッシュ値を計算するためのルーチンを有しているシステム。
【請求項３０】
請求項２４において、セキュリティブリーチを表わす情報を検知するために前記ＴＣＰストリームをインスペクトするためのソフトウエアモジュールが、プロトコルアノマリー検知ソフトウエアモジュールを有しているシステム。
【請求項３１】
請求項２４において、セキュリティブリーチを表わす情報を検知するために前記ＴＣＰストリームをインスペクトするためのソフトウエアモジュールが、ステートフルシグネチャ検知ソフトウエアモジュールを有しているシステム。
【請求項３２】
請求項２８において、更に、トラフィックシグネチャについて前記パケットフロー記述子をサーチするためのトラフィックシグネチャ検知ソフトウエアモジュールを有しているシステム。
【請求項３３】
請求項２４において、セキュリティブリーチを表わす情報について前記ＴＣＰストリームをインスペクトするためのソフトウエアモジュールが複数個のソフトウエアモジュールを有しているシステム。
【請求項３４】
請求項３３において、前記複数個のソフトウエアモジュールが少なくともプロトコルアノマリー検知ソフトウエアモジュールを有しているシステム。
【請求項３５】
請求項３３において、前記複数個のソフトウエアモジュールが少なくともステートフルシグネチャ検知ソフトウエアモジュールを有しているシステム。
【請求項３６】
請求項３４において、前記プロトコルアノマリー検知ソフトウエアモジュールが、
ネットワークによりサポートされる複数個のプロトコル仕様をプロトコルデータベース内に格納するためのルーチン、
前記パケットフロー及びセッション内の前記複数個のＴＣＰパケットが前記プロトコルデータベース内の前記複数個のプロトコル仕様のうちの１つ又はそれ以上に準拠するものであるか否かを決定するために前記プロトコルデータベースを照会するためのルーチン、
を有しているシステム。
【請求項３７】
請求項３６において、前記プロトコル仕様が、ＴＣＰプロトコル、ＨＴＴＰプロトコル、ＳＭＴＰプロトコル、ＦＴＰプロトコル、ＮＥＴＢＩＯＳプロトコル、ＩＭＡＴプロトコル、ＰＯＰ３プロトコル、ＴＥＬＮＥＴプロトコル、ＩＲＣプロトコル、ＲＳＨプロトコル、ＲＥＸＥＣプロトコル、ＲＣＭＤプロトコルのうちの１つ又はそれ以上の仕様を有しているシステム。
【請求項３８】
請求項３５において、前記ステートフルシグネチャ検知ソフトウエアモジュールが、前記ＴＣＰストリーム内にマッチングするアタックシグネチャが存在するか否かを決定するためにシグネチャデータベースを照会するルーチンを有しているシステム。
【請求項３９】
請求項３８において、前記ルーチンがパターンマッチング用のＤＦＡを使用することを包含しているシステム。
【請求項４０】
請求項２４において、更に、
前記ＴＣＰストリームにおいて見つかったセキュリティブリーチに関するアラーム記録情報及び複数個のセキュリティログを収集するためのルーチン、
インスペクトすべきネットワークトラフィックを識別するネットワークセキュリティポリシー及び検知し且つ防止すべき複数個のネットワークアタックを格納するためのルーチン、
前記ネットワークセキュリティポリシーをネットワーク内の１つ又はそれ以上のゲートウエイポイントへ配布するためのルーチン、
前記プロトコルデータベース及び前記シグネチャデータベースをアップデートするためのルーチン、
を有しているシステム。
【請求項４１】
請求項２４において、更に、
ネットワークセキュリティアドミニストレーターに対してネットワークセキュリティ情報を表示するためのルーチン、
ネットワークセキュリティポリシーを特定するためのルーチン、
を有しているグラフィカルユーザインターフェースを有しているシステム。
【請求項４２】
ネットワークトラフィックにおけるセキュリティブリーチを検知し且つ防止するシステムにおいて、
ネットワークゲートウエイに配置されたネットワーク侵入検知及び防止センサーであって、
複数個のＴＣＰパケットをＴＣＰストリームへリアセンブルするためのルーチン、
セキュリティブリーチを表わす情報を検知するために前記ＴＣＰストリームをインスペクトするためのソフトウエアモジュール、
前記ＴＣＰストリームがセキュリティブリーチを表わす情報を包含している場合には前記ＴＣＰストリームから１個のＴＣＰパケットをドロップするためのソフトウエアモジュール、
前記ＴＣＰストリームがセキュリティブリーチを表わす情報を包含していない場合には前記ＴＣＰストリームから１個のＴＣＰパケットをネットワーク宛先転送するためのソフトウエアモジュール、
を有しているネットワーク侵入検知及び防止センサー、
前記ネットワーク侵入検知及び防止センサーを制御するための中央管理サーバー、
前記ネットワーク侵入検知及び防止センサーを形態特定するためのグラフィカルユーザインターフェース、
を有しているシステム。
【請求項４３】
請求項４２において、前記ネットワーク侵入検知及び防止センサーがファイアウォール内に配置されているシステム。
【請求項４４】
請求項４２において、前記ネットワーク侵入検知及び防止センサーがファイアウォール外部に配置されているシステム。
【請求項４５】
請求項４２において、前記ネットワーク侵入検知及び防止センサーが、更に、複数個のパケットフラグメントを前記複数個のＴＣＰパケットへ再構築するためのＩＰデフラグメンテーションソフトウエアモジュールを有しているシステム。
【請求項４６】
請求項４２において、前記ネットワーク侵入検知及び防止センサーが、更に、前記ＴＣＰストリームがネットワークを介してネットワークセキュリティブリーチを表わす情報を包含していない場合に前記ＴＣＰストリームから１個のＴＣＰパケットのルーチングを行うためのＩＰルーターソフトウエアモジュールを有しているシステム。
【請求項４７】
請求項４２において、前記ネットワーク侵入検知及び防止センサーが、更に、前記複数個のパケットをパケットフローとセッションとにグループ化するためのフローマネージャソフトウエアモジュールを有しているシステム。
【請求項４８】
請求項４７において、前記フローマネージャソフトウエアモジュールが、前記パケットフローをパケットフロー記述子内に格納するためのルーチンを有しているシステム。
【請求項４９】
請求項４２において、セキュリティブリーチを表わす情報をインスペクトするためのソフトウエアモジュールがプロトコルアノマリー検知ソフトウエアモジュールを有しているシステム。
【請求項５０】
請求項４２において、セキュリティブリーチを表わす情報をインスペクトするためのソフトウエアモジュールがステートフルシグネチャ検知ソフトウエアモジュールを有しているシステム。
【請求項５１】
請求項４８において、更に、トラフィックシグネチャについて前記パケットフロー記述子をサーチするためのトラフィックシグネチャ検知ソフトウエアモジュールを有しているシステム。
【請求項５２】
請求項４２において、セキュリティブリーチを表わす情報をインスペクトするためのソフトウエアモジュールが複数個のソフトウエアモジュールを有しているシステム。
【請求項５３】
請求項５２において、前記複数個のソフトウエアモジュールが少なくともプロトコルアノマリー検知ソフトウエアモジュールを有しているシステム。
【請求項５４】
請求項５２において、前記複数個のソフトウエアモジュールが少なくともステートフルシグネチャ検知ソフトウエアモジュールを有しているシステム。
【請求項５５】
請求項４２において、前記中央管理サーバーが、
前記ＴＣＰストリームにおいて見つかったセキュリティブリーチに関するアラーム記録情報及び複数個のセキュリティログを吸収するためのルーチン、
インスペクトすべきネットワークトラフィックを識別するネットワークセキュリティポリシー及び検知し且つ防止すべき複数個のネットワークアタックを格納するためのルーチン、
前記ネットワークセキュリティポリシーを前記ネットワーク侵入検知及び防止センサーへ配布するためのルーチン、
を有しているシステム。
【請求項５６】
請求項４２において、前記グラフィカルユーザインターフェースが、
ネットワークセキュリティ情報をネットワークセキュリティアドミニストレーターに対して表示するためのルーチン、
前記ネットワーク侵入検知及び防止センサーに関するステータス情報を表示するためのルーチン、
ネットワークセキュリティポリシーを特定するためのルーチン、
を有しているシステム。
【請求項５７】
ネットワークゲートウエイにおいてネットワークセキュリティブリーチを検知し且つ防止するためのネットワーク侵入検知及び防止センサーにおいて、
複数個のパケットをパケットフローとセッションとにグループ化するためのフローマネージャソフトウエアモジュール、
前記複数個のパケットからの複数個のＴＣＰパケットをＴＣＰストリームへリアセンブルするためのＴＣＰリアセンブリソフトウエアモジュール、
セキュリティブリーチを表わす情報を検知するために前記パケット及びセッションに従って前記ＴＣＰストリームをインスペクトするためのソフトウエアモジュール、
前記ＴＣＰストリームがセキュリティブリーチを表わす情報を包含している場合に前記複数個のパケットから１個のパケットをドロップするためのソフトウエアモジュール、
前記ＴＣＰストリームがセキュリティブリーチを表わす情報を包含していない場合に前記複数個のパケットから１個のパケットをネットワーク宛先へ転送するためのソフトウエアモジュール、
を有しているネットワーク侵入検知及び防止センサー。
【請求項５８】
請求項５７において、更に、複数個のパケットフラグメントを前記複数個のＴＣＰパケットへ再構築するためのＩＰデフラグメンテーションソフトウエアモジュールを有しているネットワーク侵入検知及び防止センサー。
【請求項５９】
請求項５７において、更に、前記ＴＣＰストリームがネットワークを介してネットワークセキュリティブリーチを表わす情報を包含していない場合には前記ＴＣＰストリームから１個のＴＣＰパケットのルーチングを行うためのＩＰルーターソフトウエアモジュールを有しているネットワーク侵入検知及び防止センサー。
【請求項６０】
請求項５７において、前記ネットワーク侵入検知及び防止センサーが、インスペクトすべきネットワークトラフィック及び検知し且つ防止すべき複数個のネットワークアタックを特定するネットワークセキュリティポリシーにより制御されるネットワーク侵入検知及び防止センサー。
【請求項６１】
請求項６０において、前記ネットワークセキュリティポリシーがグラフィカルユーザインターフェースを使用してネットワークセキュリティアドミニストレーターにより定義されるネットワーク侵入検知及び防止センサー。
【請求項６２】
請求項５７において、前記グラフィカルユーザインターフェースが、
ネットワークセキュリティアドミニストレーターに対してネットワークセキュリティ情報を表示するためのルーチン、
前記ネットワーク侵入検知及び防止センサーに関するステータス情報を表示するためのルーチン、
前記ネットワークセキュリティポリシーを特定するためのルーチン、
を有しているネットワーク侵入検知及び防止センサー。
【請求項６３】
請求項６０において、前記セキュリティポリシーが格納されており且つ中央管理サーバーにより前記ネットワーク侵入検知及び防止センサーへ配布されるネットワーク侵入検知及び防止センサー。
【請求項６４】
請求項６３において、前記中央管理サーバーが前記ＴＣＰストリームにおいて見つかったセキュリティブリーチに関するアラーム記録情報及び複数個のセキュリティログを収集するためのルーチンを有しているネットワーク侵入検知及び防止センサー。
【請求項６５】
請求項５７において、セキュリティブリーチを表わす情報を検知するためにパケットフロー及びセッションに基づいて前記ＴＣＰストリームをインスペクトするためのソフトウエアモジュールがプロトコルアノマリー検知ソフトウエアモジュールを有しているネットワーク侵入検知及び防止センサー。
【請求項６６】
請求項５７において、セキュリティブリーチを表わす情報を検知するためにパケットフローとセッションとに基づいて前記ＴＣＰストリームをインスペクトするためのソフトウエアモジュールがステートフルシグネチャ検知ソフトウエアモジュールを有しているネットワーク侵入検知及び防止センサー。
【請求項６７】
請求項５８において、セキュリティブリーチを表わす情報を検知するためにパケットフローとセッションとに基づいて前記複数個のパケットをインスペクトするためのソフトウエアモジュールが複数個のソフトウエアモジュールを有しているネットワーク侵入検知及び防止センサー。
【請求項６８】
請求項６７において、前記複数個のソフトウエアモジュールが少なくともプロトコルアノマリー検知ソフトウエアモジュールを有しているネットワーク侵入検知および防止センサー。
【請求項６９】
請求項６７において、前記複数個のソフトウエアモジュールが少なくともステートフルシグネチャ検知ソフトウエアモジュールを有しているネットワーク侵入検知及び防止センサー。
【請求項７０】
ＦＴＰ接続期間中にセキュリティブリーチを防止する方法において、
パケットフラグメントを再構築し且つ前記パケットフラグメントをＦＴＰパケットフローへ編成し、
複数個のＴＣＰフラグメントをＴＣＰストリームへリアセンブルし、
前記ＦＴＰパケットフローがＦＴＰポートコマンドの一部であるか否かを決定し且つユーザのＩＰアドレスと前記ＴＣＰストリームにおいて見つかったいずれかのポートコマンドのＩＰアドレスとを比較することを包含して前記ＴＣＰストリームをプロトコルアノマリーについてインスペクトし、
前記ＦＴＰパケットフローがＦＴＰポートコマンドの一部であり且つ前記ユーザのＩＰアドレスがポートコマンドと関連するＩＰアドレスと一致する場合には、前記ＦＴＰパケットフローをドロップし且つ前記ＦＴＰ接続を閉じる、
ことを包含している方法。
【請求項７１】
ＦＴＰ接続期間中にセキュリティブリーチを防止するシステムにおいて、
ＩＰアドレスユーザを包含するＦＴＰパケットがＦＴＰサーバーへ到達する前にいずれかのパケットフラグメントを再構築し、
前記パケットフラグメントをＦＴＰパケットフローへ編成し、
複数個のＴＣＰフラグメントをＴＣＰストリームへリアセンブルする、
ためのネットワーク侵入及び検知センサー、
前記ＦＴＰパケットフローがＦＴＰポートコマンドの一部であるか否かを決定することにより前記ＴＣＰストリームをプロトコルアノマリーについてインスペクトするためのソフトウエアモジュール、
を有しており、
前記ＦＴＰパケットフローがＦＴＰポートコマンドの一部であることを前記ソフトウエアモジュールが決定する場合には、ユーザのＩＰアドレスを前記ＴＣＰストリームにおいて見つかったいずれかのポートコマンドのＩＰアドレスと比較すべく前記センサーを形態特定し、
前記ユーザのＩＰアドレスが前記ポートコマンドと関連するＩＰアドレスと一致しないことを前記センサーが決定する場合には、前記ＦＴＰパケットフローをドロップし且つ前記ＦＴＰ接続を閉じるために前記センサーを形態特定させる、
ことを包含しているシステム。
【請求項７２】
ＳＭＴＰ接続期間中にセキュリティブリーチを防止する方法において、
ユーザにより送られたパケットフラグメントを再構築し、
前記パケットフラグメントをＳＭＴＰパケットフローへ編成し、
複数個のＴＣＰパケットフラグメントをＴＣＰストリームへリアセンブルし、
前記ＴＣＰストリーム内にＳＭＴＰコマンドが存在するか否かを決定し且つ前記ＳＭＴＰコマンドにおいてアタックシグネチャをサーチすることを包含してアタックシグネチャについて前記ＴＣＰストリームをインスペクトし、
前記ＴＣＰストリーム内にＳＭＴＰコマンドが存在し且つ前記ＳＭＴＰコマンド内にアタックシグネチャが見つかった場合には、前記ＳＭＴＰパケットフローをドロップし且つ前記ＳＭＴＰ接続を閉じる、
ことを包含している方法。
【請求項７３】
請求項７２において、前記アタックシグネチャがｗｉｚコマンドである方法。
【請求項７４】
ＳＭＴＰ接続期間中にセキュリティブリーチを防止するシステムにおいて、
ユーザにより送られたパケットフラグメントを再構築し、前記パケットフラグメントをＳＭＴＰパケットフローへ編成し、複数個のＴＣＰパケットフラグメントをＴＣＰストリームへリアセンブルさせるネットワーク侵入及び検知センサー、
最初に前記ＴＣＰストリーム内にＳＭＴＰコマンドが存在するか否かを決定することによりアタックシグネチャについて前記ＴＣＰストリームをインスペクトするためのソフトウエアモジュール、
を有しており、
前記ＴＣＰストリーム内にＳＭＴＰコマンドが存在していることを前記ソフトウエアモジュールが決定する場合には、前記ＳＭＴＰコマンド内のアタックシグネチャをサーチするために前記センサーを形態特定し、
前記ＳＭＴＰコマンドにおいて前記センサーがアタックシグネチャを検知する場合には、前記ＳＭＴＰパケットフローをドロップし且つ前記ＳＭＴＰ接続を閉じるために前記センサーが更に形態特定される、
ことを包含しているシステム。
【請求項７５】
請求項７４において、前記アタックシグネチャがｗｉｚコマンドであるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大略、ネットワーク上のセキュリティブリーチを検知し且つ防止するためのネットワークセキュリティシステム及び方法に関するものである。更に詳細には、本発明は、ネットワーク上のセキュリティブリーチを検知するばかりでなく、疑いのあるパケット及び接続を直接的にドロップさせることによりそれらを防止するためのゲートウエイに基づいたパケット転送ネットワークセキュリティシステム及び方法を提供するものである。これらのシステム及び方法は、侵入を検知し且つ防止するための複数個の技術を使用するものであり、ステートフルシグネチャ検知、トラフィックシグネチャ検知、プロトコルアノマリー検知を包含している。
【背景技術】
【０００２】
インターネットの急増は、情報が拡布され且つ共有される態様を革新させた。任意の与えられた時間において、大量の情報が、インターネットを使用して世界中で数百万人の個人により、又通信、商業的取引、エンターテイメントを包含する広範な活動に関与するために電子的に交換されている。
【０００３】
インターネットは、発信元と宛先ネットワークホストとの間で情報を通信するための専用の端部同士の接続を必要とすることがないということにより伝統的な地形的な障壁を取除いている。その代わりに、インターネットトラフィックは「パケット」と呼ばれる情報単位に分割され、該パケットは、任意の与えられた時刻において発信元と宛先との間の最も効率的な経路に基づいてネットワークを介して動的に経路付けされる。これらのパケットの各々は「ヘッダー」を包含しており、それは、その情報の出所である発信元及びそれが送られる宛先及びネットワークを介してパケットのルーチング即ち経路付けを行うために必要なその他の情報を表わす。発信元及び宛先は、各ネットワークホストと関連する３２ビット数である「ＩＰアドレス」により識別される。
【０００４】
パケットヘッダーは全てのインターネット送信において使用される１組の共有の「プロトコル」に準拠している。これらのプロトコルは、しばしば、異なる製造業者からのものであり且つ異なるオぺレーティングシステムが稼動しているコンピュータの間でどのようにして情報が交換されるかを決定する１組の約束である。インターネットプロトコルは、どのようにしてネットワークがデータを移動させ、エラーを取り扱い、且つ情報を送信し、受信し、且つ理解することを可能とするかを特定している。最も基本的なプロトコルは「インターネットプロトコル」又はＩＰと呼ばれるものであり、ネットワークを横断してパケットのフォーマット化及びデリバリを司る。ＵＤＰ、ＴＣＰ、ＲＴＰ等のトランスポートプロトコルは、パケット内のデータが正しく受信されることを確保するためにＩＰ上で使用され、ＴＣＰプロトコルは、更に、パケットが信頼性を持って受信されることを保証する。ＩＰ及びトランスポートプロトコルと共に使用される特別目的プロトコルにより付加的な特徴及び能力が提供される。
【０００５】
インターネットプロトコル構造はユーザに対して比類のない利益をもたらすものであるが、それは、又、ホストが一部であるプライベートネットワークを包含する任意のインターネットホストに関してのセキュリティブリーチに対して巨大で廉価で且つ潜在的に匿名態様を与えることにより違法な活動を容易なものとしている。潜在的なネットワークセキュリティの脆弱性の数に拘わらず、現在のネットワークセキュリティ技術は、益々洗練化され且つ多数のネットワークセキュリティブリーチを検知し且つ防止するのに不適切であり且つ効果的なものではない。既存のネットワークセキュリティ技術の例は、オペレーティングシステムコントロール、パスワード保護ツール、及びアンチウイルスソフトウエアから、例えばバーチャルプライベートネットワーク、ファイアウオール、侵入検知システム等のより洗練化した技術にわたっている。
【０００６】
バーチャルプライベートネットワーク（ＶＰＮ）は、インターネット等の任意の共有されるネットワーク上で確立されるプライベートネットワークである。ＶＰＮは例えば遠隔オフィスにおけるルーター、ラップトップ、サーバーアプリケーション等の任意の２つのＶＰＮ終端点の間における認証及び暗号化が関与するセキュリティ手順の使用を介してプライバシーを維持せんとするものである。更に、ＶＰＮは、しばしば、認証、パケットインテグリティー及び機密性を包含するＩＰレイヤー用の１組のインターネットセキュリティサービス及び暗号化鍵管理からなる開発標準インターネットプロトコルセキュリティ（ＩＰＳｅｃ）等の安全なトンネリングプロトコルを利用する。ＶＰＮは、典型的に、ネットワークセキュリティを改善するためにファイアウォールソフトウエア内に統合される。
【０００７】
ファイアウォールは、プライベートネットワークとインターネット等の共用ネットワークとの間で流れる情報をフィルタすることを試みるプライベートネットワークゲートウエイに位置されている１組のソフトウエアプログラムである。ファイアウォールは、プライベートネットワークリソースを外部者から保護し且つプライベートネットワークユーザの外部リソースへのアクセスを制御せんとする。今日使用されている４つの主要なタイプのファイアウォールが存在しており、即ちパケットフィルタ、回路レベルゲートウエイ、アプリケーションゲートウエイ、ステートフルインスペクションである。４つの全てのファイアウォールタイプのうちのいずれか２つ又はそれ以上の組合わせであるハイブリッドファイアウォールも存在している。
【０００８】
パケットフィルタリングファイアウォールは、プライベートネットワーク上で出入りするＩＰパケットにおけるヘッダー情報をネットワーク管理者により設定されたルール又はフィルタからなるテーブルと比較して、パケットがテーブル内の条件を満足するか否かを検証する。パケットがこれらのルールに準拠するものでない場合には、ファイアウォールはそのパケットを拒否し、そのパケットはその宛先へ転送されることはない。パケットフィルタリングファイアウォールにより検査されたヘッダー情報は、典型的に、発信元及び宛先アドレス、プロトコルタイプ、それを介してパケットがエンターするネットワークインターフェース、トラフィックの方向、ルーチング、接続状態等を包含している。例えば、パケットフィルタリングファイアウォールは、２３２．１８１．２０．１０から２３２．１８１．２０．２５５の範囲のＩＰアドレスから来るＵＤＰパケットはプライベートネットワーク内へ入らないように特定する場合がある。
【０００９】
パケットフィルタリングファイアウォールを具備するプライベートネットワークのセキュリティは、ファイアウォール内においてネットワークアドレス変換（ＮＡＴ）を使用することにより増加させることが可能である。ＮＡＴは電話システムにおける構内交換器のように機能する。外部へのＩＰパケットの全ての発信元アドレスが、ファイアウォールへ割当てられているＩＰアドレスへ書き直され、そのパケットがファイアウォールにより保護されているプライベートネットワークの内部のホストからではなくそのファイアウォールから発信されたかのような印象を与える。戻って来る応答パケットは変換され且つ適宜のホストへ転送される。ＮＡＴの場合、内部のホストはファイアウォール外部のホストへ接続することが許容されるが、外部のホストはファイアウォールのＩＰアドレスのことを知っているに過ぎないので、直接的に内部のホストへ接続することは不可能である。
【００１０】
パケットフィルタリングファイアウォールは比較的廉価であり且つネットワーク性能と干渉するものではないが、単独では、典型的に適切なセキュリティを提供することが可能なものではない。パケットフィルタリングルール即ち規則は、複雑な環境においては管理不可能なものとなり、ユーザ認証メカニズムを与えるものではなく、ＩＰスプーフィング等のアタックに対して影響を受け易い。例えば、ハッカーが信頼されているＩＰアドレスを考え付くことが可能である場合には、そのハッカーは有害なパケットに対してＩＰヘッダーを偽造することが可能である。有効なパケットと偽造されたものとの間の区別をすることが不可能であるので、パケットフィルタリングファイアウォールはその有害なパケットを拒否することはない。
【００１１】
パケットフィルタリングファイアウォールの例は、ＵＮＩＸに基づいたオペレーティングシステム用の無料で配布されたソフトウエアパッケージＩＰＦｉｌｔｅｒ、ＧＮＵ一般公衆実施許諾書の下でリナックスオペレーティングシステム用に提供された無償で配布されたＳＩＮＵＳ  ＴＣＰ／ＩＰパケットフィルタ、及びカリフォルニアフリーモントのシーゲートテクノロジーズインコーポレイテッドによって販売されているプロトコルを基礎としたパーソナルファイアウォールＰＲＯ（商標）を包含している。
【００１２】
回路レベルファイアウォールとして呼称される別のタイプのファイアウォールは、接続を開く前にＴＣＰ／ＩＰセッションの妥当性検査をするためにネットワークのセッションレイヤーにおいて動作する。回路レベルファイアウォールは、パケットハンドシェイクが行われた後にのみＴＣＰパケットが通過することを許容する。パケットハンドシェイクは、宛先へ同期（ＳＹＮ）パケットを送信する発信元でスタートし且つ発信元へＳＹＮパケット及びアクノレッジメント（ＡＣＫ）パケットを送信する宛先で終了する。回路レベルファイアウォールは有効な接続のテーブルを維持し、それはセッション状態及びＳＹＮ及びＡＣＫパケットのシーケンス番号情報を包含し、且つネットワークパケット情報がテーブル内のエントリと一致する場合にパケットが通過することを許容する。ハンドシェークの後に送信される全てのパケットは、そのセッションが終了するまで許容される。回路レベルファイアウォールはセッション当たり２つの接続を維持し、即ち発信元とファイアウォールとの間の１つとファイアウォールと宛先との間との別の１つである。その結果、全ての外部へのパケットはＮＡＴを具備するパケットフィルタリングファイアウォールと同様にファイアウォールから発生したもののように見え、即ち、発信元と宛先との間の直接なコンタクトは防止される。
【００１３】
回路レベルファイアウォールは、初期的な接続が確立されると良好な性能を有しており且つ高度の柔軟性を提供する。然しながら、任意の与えられた接続において送信しているパケットのアプリケーションレベルの内容を検査することは不可能である。接続が確立されると、有害なアプリケーション又はパケットがその接続を横断することが可能である。
【００１４】
殆どの回路レベルファイアウォールは、一般的に入手可能な「ＳＯＣＫＳ」ネットワークプロトコルを使用して実現され、該プロトコルは、直接的なＩＴ到達可能性を必要とすることなしに、ＳＯＣＫＳサーバーの片側上のホストがＳＯＣＫＳの反対側上のホストへアクセスすることを可能とする。アプリケーションクライエントがＳＯＣＫＳサーバーを介してアプリケーションサーバーとのセッションをスタートさせると、該クライエントは、最初に、ＳＯＣＫＳサーバーへそれがサポートする認証方法のリストを送信する。次いで、ＳＯＣＫＳファイアウォールはこれらの方法をネットワーク管理者により定義されたセキュリティポリシーと比較し、認証方法を選択し、どの認証方法を使用するかを告げるメッセージをクライエントへ送信し、且つ、最終的に、そのクライエントを認証する。クライエントが認証された後に、ＳＯＣＫＳサーバーはクライエントとサーバーとの間にバーチャル回路を確立してその回路が開いた状態に維持されるまでバーチャル回路を介して全てのパケットを送信する。ＳＯＣＫＳを使用する回路レベルファイアウォールの１例は、カナダのトロントのハミングバードリミテッドにより提供されるハミングバードＳＯＣＫＳを包含している。
【００１５】
回路レベルファイアウォールの本来的なセキュリティ危険性に対処するために、ネットワークのアプリケーションレイヤーにおいて動作するアプリケーションレベルファイアウォールが開発されている。このようなファイアウォールは、ＦＴＰプロキシー、ＨＴＴＰプロキシー、Ｅメール用のＳＭＴＰプロキシー等のプライベートネットワークと各許容されるアプリケーションに対する共有ネットワークとの間の介在物としてアプリケーションプロキシーサーバーを稼動させる。
【００１６】
アプリケーションプロキシーは、通常、パケットフィルタリング又は回路レベルファイアウォールよりもより安全なものと考えられている。回路レベルファイアウォールと同様に、アプリケーションプロキシーは直接的な接続を許容するものではなく、且つ全てのパケットを妥当性について強制的に検査させる。然しながら、アプリケーションプロキシーは、典型的に、パケットフィルタリング又は回路レベルファイアウォールよりもより遅い。何故ならば、全てのパケットがアプリケーションレイヤーにおいて妥当性評価されることが必要であり、即ち、アプリケーションプロキシーを介して通過する全てのパケットは、その最終的な宛先に到達する前に、カプセル化解除／再カプセル化を経ねばならないからである。更に、プロキシーサーバーはパケットフォアファーディング能力を有するものでない場合がある。全ての新たなサービスは新たなプロキシーサーバーを必要とし、且つプロキシーは、オペレーティングシステム、ＴＣＰ／ＩＰスタック、ランタイムライブラリー等の正しく動作するために多数のその他のシステムコンポーネントに高度に依存するものであるので、プロキシーはアプリケーションレベルセキュリティ欠陥及びバグに影響を受け易い。
【００１７】
アプリケーションプロキシーは、典型的に、内蔵パケットフィルタリング又はステートフルインスペクション能力で実現される。その例としては、カリフォルニアのクパチーノのシマンテックコーポレイションにより販売されているＶｅｌｏｃｉＲａｐｔｏｒファイアウォール、カリフォルニアのサンタクララのネットワークアソシエイツインコーポレイテッドにより販売されているＧａｕｎｔｌｅｔファイアウォール、カリフォルニアのサンノゼのセキュアコンピューティングコーポレイションにより販売されているＳｉｄｅｗｉｎｄｅｒ（商標）ファイアウォール等がある。
【００１８】
パケットフィルタリングファイアウォール、回路レベルファイアウォール、アプリケーションプロキシーの性能は、ステートフルインスペクションを使用して改善することが可能である。ステートフルインスペクションファイアウォールは、基本的に、パケットヘッダーのみならず、ネットワークを横断するネットワークトラフィックを解析するために例えばＴＣＰパケットヘッダー等のネットワークの全てのコミュニケーションレイヤーにおけるパケットに関する情報も検査するパケットフィルタリングファイアウォールである。
【００１９】
このようなファイアウォールは任意の与えられたネットワーク接続の状態をモニタし且つ状態ケーブルにおける接続に関しての情報をコンパイルする。ファイアウォールから来る各パケット要求は状態テーブル内に記録され、従って内部への応答パケットは状態テーブル内の対応する要求パケットに対して検証される。パケットを拒否するか否かの決定は、パケットフィルタリングルールテーブルのみならずファイアウォールを通過した前のパケットにより確立されたコンテキストにも基づいている。要求パケットに対する純粋な応答であるパケットは通過され且つその他の全ては拒否される。応答パケットが特定された時間期間内に到達しない場合には、その接続はタイムアウトされる。
【００２０】
ステートフルインスペクションを具備するパケットフィルタリングファイアウォールは、アプリケーション内のあるタイプのコマンドを許容し、一方その他のものを拒否するためにパケットを検査するための能力を有している。例えば、ステートフルインスペクションファイアウォールはＦＴＰ「ｇｅｔ」コマンドを許可し、一方「ｐｕｔ」コマンドを不許可とすることが可能である。更に、ステートフルインスペクションファイアウォールは、露出されるネットワークポートの数を最小とするためにダイナミックフィルタリング技術を組込んでいる。ダイナミックフィルタリングの場合には、ネットワークコードは、パケットヘッダー情報に基づくパケットフローに対して必要とされる限りにおいてのみ開いた状態に維持され、それによりアイドル状態にある開いたポートに対するアタックを減少させる。
【００２１】
ステートフルインスペクションファイアウォールの例は、米国特許第５，６０６，６６８号に記載されているファイアウォール及びカリフォルニア、レッドウッドシティのチェックポイントソフトウエアテクノロジーズ、インコーポレイテッドにより販売されているＦｉｒｅＷａｌｌ−１と呼ばれるファイアウォール製品がある。ＦｉｒｅＷａｌｌ−１は、ネットワーク管理者が単一の中央で管理されたセキュリティポリシーを定義し且つ実現することを可能とする。そのセキュリティポリシーは、グラフィカルユーザインターフェースクライエントにより中央管理サーバーにおいて定義され且つネットワークを介して複数の施行点へダウンロードされる。そのセキュリティポリシーはセキュリティルール及びゲートウエイ、ルーター、ホスト等のネットワークオブジェクトで定義される。パケットヘッダーデータは７つのネットワークレイヤーの全てにおいて検査され且つ状態情報が全ての通信段階におけるパケットに維持されて、ＩＰアドレス、ポート番号、パケットがそのセキュリティポリシーにより許容されるか否かを決定するのに必要なその他の情報を検証する。
【００２２】
状態情報は、発信元ＩＰアドレス、発信元ポート、宛先ＩＰアドレス、宛先ポート、ＩＰプロトコルタイプ、及びＫｂｕｆ、Ｔｙｐｅ、Ｆｌａｇｓ、Ｔｉｍｅｏｕｔを包含するその他のパラメータによってテーブル内において表現されるそれらの対応するネットワーク接続に従ってパケットを編成する状態テーブル又は接続に格納される。パケットがファイアウォールにより受信されると、そのパケットは、それが属する既存の接続が存在するか否かを判別するために接続テーブルに対してチェックされる。接続が存在する場合には、そのパケットはそのネットワーク宛先へ転送される。その特定のパケットに対して状態テーブル内に一致する接続が存在しない場合には、ファイアウォールはそれをセキュリティポリシーと比較して、そのパケットを通過させることを許容する一致が存在するか否かを判別する。存在する場合には、その接続は接続テーブルへ付加され且つその会話に属する全ての爾後のパケットは該ポリシーに対してチェックされることなしにすぐさま転送される。その結果、接続を初期的に良性のパケットで確立し、次いで、ファイアウォールにより許可される悪性のパケットを送信するために使用することが可能である。ステートフルインスペクションファイアウォール製品の別の例はカリフォルニア、サンノゼのシスコシステムズインコーポレイテッドにより販売されているＰＩＸファイアウォールである。
【００２３】
現在入手可能なファイアウォールの唯一の役割は、組織のネットワークアクセスポリシーを施行することである。このようなアクセスポリシーは、どのホスト及びプロトコルが良好なトラフィック、即ちネットワークにおいて許可することが可能なトラフィックを表わし且つどれがそうでないかを特定する。換言すると、ファイアウォールは、単にアクセスポリシーにおいて具体化された予め決定され且つ静的なコンフィギュレーション即ち形態に基づいて良好なトラフィックと不良なトラフィックとを区別するものである。ファイアウォールはネットワークアタックを検知し且つ停止することは不可能である。例えば、ファイアウォールがＨＴＴＰ接続を許可すると、その接続を介して運ばれるウエブサーバーに対してのアタックを検知することは不可能である。更に、ファイアウォールは、例えば、外部へ秘密情報を漏洩する場合のあるネットワーク内部におけるトロージャンプログラムの存在等のファイアウォール内側からなされるか又はなされるものと思われるアタックを検知するか又は防止することは不可能である。
【００２４】
ファイアウォール製品により開いたままとされたネットワークセキュリティにおけるギャップを埋めるべく、「侵入検知システム」が開発され且つファイアウォールと共に使用されている。侵入検知システム（ＩＤＳ）は侵入、即ちネットワーク外部からアタック、及び不正、即ちネットワーク内部から発生するアタックの兆候に対する情報を解析するために多様なシステム及びネットワークリソースから情報を収集する。侵入検知システムは、ファイアウォールの内側又は外側に配置させることが可能であり、殆どのネットワーク管理者はファイアウォールにより検知されなかった不正及び侵入に対するエキストラな保護レイヤーとしてファイアウォールの内側にＩＤＳを配置させることを選択する。
【００２５】
３つのタイプの侵入検知システムが存在しており、即ちデスクトップに基づいたＩＤＳ、ホストに基づいたＩＤＳ、ネットワークに基づいたＩＤＳである。デスクトップに基づいたＩＤＳは、個々のシステムに関する活動を検査し、ファイル又はレジストリーエントリに関する潜在的なアタックを探し出すことによりファイルレベルの保護を提供する。デスクトップに基づいたＩＤＳは、インターネットへ直接的に接続し且つ広範なネットワークの一部でない個別的なユーザに対して有用な場合がある。ポピュラーなデスクトップに基づくＩＤＳはジョージア、アトランタのインターネットセキュリティシステムズインコーポレイテッドにより販売されているＢｌａｃｋＩｃｅ  Ｄｅｆｅｎｄｅｒである。
【００２６】
ホストに基づいたＩＤＳはウエブ又はアプリケーションサーバー等のネットワークホスト上で動作し、ホストシステムのアプリケーション及びオペレーティングシステムログにおけるエントリをトラッキングし且つ解析してアタック及び不許可の活動を検知する。ホストに基づいたＩＤＳは配備するのに容易であり且つ廉価であり且つ何等付加的なハードウエアを必要とするものではない。それらはホストにとってローカルなイベントをモニタするので、それらは必ずしもネットワークによって見ることのない不許可のアクティビティ及びアタックを検知することが可能である。然しながら、それらはかなりのリソースを消費するので、それらはホストの性能に悪影響を与える場合がある。更に、ネットワーク上で高いレベルの特権を獲得する成功した侵入はホストに基づくＩＤＳをディスエーブルさせ且つその動作の痕跡を完全に除去する場合がある。ホストに基づいたＩＤＳの例は、カリフォルニア、クパチーノのシマンテックコーポレイションにより販売されているＩｎｔｒｕｄｅｒ  Ａｌｅｒｔ  ＩＤＳ及びオレゴン、ポートランドのトリップワイヤインコーポレイテッドにより販売されているＴｒｉｐｗｉｒｅ  ＩＤＳを包含している。
【００２７】
ネットワークに基づくＩＤＳ（ＮＩＤＳ）は、ネットワークセグメントを介して流れる全てのパケットを検査することにより複数個のネットワークホストを同時的に保護すべく構成されている。ＮＩＤＳは、しばしば、ネットワーク内の種々の点に配置された１組の単一目的センサー又はホストから構成される。これらのユニットはネットワークトラフィックをモニタし、そのトラフィックのローカルな解析を実施し且つ中央管理ユニットへアタックを報告する。典型的にＩＰアドレス、ポート、プロトコルタイプに関連するパケットヘッダー情報のみを検査するファイアウォールと異なり、ＮＩＤＳは、パケットデータ又はペイロードのみならずネットワークパケットヘッダー内に存在することのある全ての異なるフラッグ及びオプションを検査すべく構成することが可能であり、それによりファイアウォールにより見過ごされるように構成されている悪性のパケットを検知する。
【００２８】
最も一般的なネットワーク侵入検知システムはプロトコル解析システムとしても知られるシグネチャに基づくシステム及びプロトコルアノマリーである。シグネチャに基づくシステムはネットワークトラフィックにおける既知のアタックパターン又はシグネチャを創作する。シグネチャはネットワークパケットの一部と一致するキャラクターストリングとしての単純なもの又は状態マシンとして複雑なものとすることが可能である。一般的に、シグネチャは特定のコマンドの実行等の処理、又はルートシェルの採取等の結果に関連させることが可能である。シグネチャに基づくＮＩＤＳがパケットにおいて一致するシグネチャを見つけると、それは、ユーザが定義した動作を行い、警告を送信するか、又は付加的な情報のロギングを実施することにより応答することが可能である。市場における殆どのシグネチャに基づくＮＩＤＳはパケットシグネチャ検知を使用し、そのことは、アタックパターンの一致を見つけるためにトラフィックフローにおける全てのパケットの生のバイトを検査することを意味している。そうであるから、これらのシステムは幾つかの欠点を有している。第一に、全体的なトラフィックフローをサーチすることが必要であるので、ネットワーク性能は著しく減少される場合がある。第二に、より多くのデータがサーチされるので、シグネチャが無関係のデータと一致し誤った警告を発生するより高い蓋然性がある。第三に、パケットシグネチャＮＩＤＳは、シグネチャが書かれているパケットにおけるアタックを見つけ出すに過ぎないので、新しく且つしばしば非常に複雑なアタックを検知することは不可能である。最後に、パケットシグネチャＮＩＤＳは、ネットワークトラフィックが非常に高い場合にパケットの検査に失敗する場合がある。
【００２９】
シグネチャに基づくＮＩＤＳの例は、米国特許第６，２７９，１１３号に記載されているシステム、カリフォルニア、サンノゼのシスコシステムズインコーポレイテッドにより販売されているＳｅｃｕｒｅＩＤＳシステム、ジョージア、アトランタのインターネットセキュリティシステムズインコーポレイテッドにより販売されているＲｅａｌＳｅｃｕｒｅシステム、及びカリフォルニア、クパチーノのシマンテックコーポレイションにより販売されているＮｅｔＰｒｏｗｌｅｒシステムを包含している。
【００３０】
ある前に定義した侵入に対するネットワークトラフィックを検査するシグネチャに基づくＮＩＤＳと対比して、「プロトコルアノマリー」検知ＮＩＤＳは、通常受付けられるインターネットの通信規則における異常に対するネットワークトラフィックを検査する。これらのルール即ち規則は、オープンプロトコル、公表されたスタンダード、及びネットワーク装置間の通信のためのベンダーが定義した仕様により定義される。違反が識別されると、ネットワークセキュリティ決定を行うためにそれを使用することが可能である。
【００３１】
プロトコルアノマリー検知ＮＩＤＳは、例えば、シグネチャに基づくＮＩＤＳからの検知を回避すべく多少修正された既知のアタックのみならずシグネチャマッチングにより検知することが不可能なアタックを包含する未知のアタックを検知するための能力等のシグネチャに基づくＮＩＤＳを上回る幾つかの利点を提供する。例えば、プロトコルアノマリー検知ＮＩＤＳは、アタッカーがＦＴＰサーバーに対してユーザのアドレスと異なるＩＰアドレスへの接続を開くことを告げる場合に発生する「ＦＴＰバウンス」アタック、及び共通バッファオーバーフロープログラミングエラーを利用する「オーバーフロー」アタックを検知することが可能である。
【００３２】
然しながら、プロトコルの使用に準拠しており、従って、プロトコルアノマリー検知システムによって検知することが不可能なアタックが存在している。このようなアタックはシグネチャ又はその他の検知方法を必要とする。
【００３３】
プロトコルアノマリー検知ＮＩＤＳの例は、ジョージア、アトランタのインターネットセキュリティシステムズにより販売されているＢｌａｃｋＩＣＥ  Ｇｕａｒｄ、カリフォルニア、レッドウッドシティのリソーステクノロジーズインコーポレイテッドにより販売されているＭａｎＨｕｎｔを包含している。プロトコル違反の結果としての異常なネットワーク挙動を検知するための代替案がジョージア、アトランタのランコープインコポレイテッドにより販売されているＳｔｅａｌｔｈＷａｔｃｈにより提案されている。ＳｔｅａｌｔｈＷａｔｃｈは、例えば単一のウエブサーバーへアクセスするためにウエブブラウザーを使用するか、又はメールサーバーへアクセスするためにＥメールプログラムを使用する、単一サービスと関連する２つのホストの間のパケットのフローを特性付けるために「フローに基づく」アーキテクチャを提案している。
【００３４】
上述したＮＩＤＳはネットワークのセキュリティを改善する場合があるが、それらは幾つかの欠点を有している。第一に、ネットワークトラフィックのコンテキスト内のシグネチャを評価することのないシグネチャに基づくＮＩＤＳによりしばしば誤ったアラームが発生される。例えば、シグネチャに基づくＮＩＤＳは「Ｉ  ｌｏｖｅ  ｙｏｕ」のストリングに対して全てのＥメールメッセージをスキャンし、その名前を持った悪名高いインターネットワームを検知する場合があり、そのことはある個人的なＥメールで誤ったアラームを形成する。第二に、上述したＮＩＤＳの殆どは単一の検知方法を使用し、そのことは包括的に侵入を検知するのに不充分である。そうであるから、アタックが発生している一方ＮＩＤＳがアタックを検知しない場合にフォールスネガティブが発生される。例えば、プロトコルアノマリーＮＩＤＳは、ハッカーがＮＩＤＳをだましてターゲットホストとは異なってネットワークトラフィックを見させる場合にフォールスネガティブを発生する場合があり、従ってそのトラフィックはＮＩＤＳを通過することが可能であるが、プロトコルアノマリーＮＩＤＳによって検知することが不可能な洗練されたパケット及びプロトコル改ざん方法を使用することにより究極的にターゲットホストに感染することが可能である。
【００３５】
更に、幾つかのＮＩＤＳは、利用することが可能な潜在的なセキュリティ及びシステム欠陥を識別するためにアタッカーにより使用される「ポートスキャン」及び「ネットワークスイープ」を検知することが不可能である。ポートスキャン及びネットワークスイープは、通常、ネットワーク上でどのサービスが許可されているかを決定するため及びアタックするためにどのネットワークポートが良い入口であるかを識別するためにアタッカーが見極めようとする場合に発生する。アタッカーは単一のネットワーク上の各々且つ全てのポートを試すか（ポートスキャン）又は全体的なネットワーク上のあるポート（ネットワークスイープ）を試す場合がある。即ち、ポートスキャン及びネットワークスイープはアタックではないが、差し迫ったアタックの表示である。シグネチャに基づくＮＩＤＳもアノマリー検知ＮＩＤＳもポートスキャン及びネットワークスイープを識別することは不可能である。何故ならば、スキャンはパケットを送信するために使用される特定のネットワークプロトコルに準拠しており、スキャンパターンは特定のネットワークセッション内において表われることはないからである。
【００３６】
上述したＮＩＤＳの殆どの更なる欠点は、それらが個別的に管理されることが必要であり且つ全てのセンサー情報がセンサー自身の上に存在しているということである。即ち、ネットワークセキュリティ管理者は、シグネチャを活性化させるか又は検知するため、システム管理バックアップを実施するため等のために各個々のセンサーへアクセスすることが必要である。センサーの数が増加すると、これらのセンサーの管理は益々困難となり、特に、発生されるログがしばしば不完全なものであることを考慮すると特にそうである。いずれかのセンサーが故障した場合には、交換用センサーは元のセンサーと一致すべく再構成され且つ調整されねばならない。
【００３７】
更に、ＮＩＤＳは直接的にアタックを防止することは不可能である。ＮＩＤＳは受動的侵入検知メカニズムとして動作するが、アタックが発生することを防止することは不可能である。ネットワーク上でアタックが発生している場合には、これらのシステムは、アタックが既に行われた後にネットワークセキュリティ管理者に対して行動を起こすべく通知することが可能であるが、アタック自身を防止することは不可能である。ＮＩＤＳはトラフィックの経路内に直接的に位置しているのではなく、アタックされているネットワーク接続を中止させるか又は侵入パケットをより安全であるか又はよりセキュアなシステムへ差し向けるために積極的に反応することは不可能である。
【００３８】
この問題に対処する１つの試みは米国特許第６，１１９，２３６号において記載されており、それはアタックが拡散することを防止するためにアタックが検知された場合に、ＮＩＤＳをしてファイアウォールにアクションを起こすべく指示させることを提案している。即ち、ＮＩＤＳは直接的にアタックを防止するものではなく、単に、アタックが更に悪化することがないようにアタックを中断させる。そうする場合に、ＮＩＤＳは有効なネットワークトラフィックを不本意に中断させる場合がある。例えば、悪意のハッカーがネットワークをアタックするために主要なインターネットサービスプロバイダーＩＰアドレスを使用しており且つＮＩＤＳシステムがこのＩＰアドレスから来るパケットをブロックすべくファイアウォールに通知する場合には、悪意であるか否かに拘わらずそのインターネットサービスプロバイダーの全てのユーザはネットワークアクセスが拒否されることとなる。
【００３９】
現在のＮＩＤＳの欠点のうちの幾つかに対処するための別の提案は、ＴＣＰアタックを防止するためにＴＣＰリセットパケットを利用することである。ＮＩＤＳ装置がＴＣＰアタックを検知すると、それはＴＣＰリセットパケットを発信元及び宛先ネットワークホストの両方へ送信してＴＣＰ接続をリセットし且つアタックが発生することを防止する。即ち、このＮＩＤＳも直接的にアタックを防止するのではなく、単に、そのアタックが更に悪いものとなることがないようにそのアタックを中断するものである。然しながら、このアプローチの場合には幾つかの問題が存在している。第一に、侵入の試みがなされており且つリセットパケットを送信すべきであることを決定するのにＮＩＤＳがある期間の時間がかかる。この期間中に、侵入パケット及び最もあり得ることであるがそれに続くパケットの幾つかがターゲットネットワークへ転送され且つあて先ホストに到達している場合がある。その結果、検知後に送信されるＴＣＰリセットパケットは後の祭となる場合がある。第二に、ＴＣＰリセットパケットはＴＣＰプロトコルの場合にのみ使用可能であり、従って、ＵＤＰ又はその他の無接続プロトコルを使用して行われるアタックを防止するために使用することは不可能である。最後に、ＴＣＰリセットパケットは小さな受信器ウインドウ内において有効なシーケンス番号を担持せねばならないので、洗練したアタッカーは、その侵入パケットを送信してサーバーの受信器ウインドウを迅速に変化させることが可能であり、従ってＮＩＤＳはどのシーケンス番号をＴＣＰリセットパケット内に入れるかを決定する上で困難性に遭遇し且つそのアタックを防止することに失敗する場合がある。
【００４０】
どのファイアウォールもＮＩＤＳ製品も、単独で又は共同して、ネットワーク上に許可されたパケットを検査し且つこれらのパケットを直接的にドロップ即ち捨てるか又は接続を閉じることにより不許可のパケット又はアクティビティに対して反応することが可能なものではない。更に、シグネチャ検知、プロトコルアノマリー検知、及びより高い侵入検知精度を達成し、従ってフォールスポジティブ及びフォールスネガティブの割合を減少させるためにトラフィックシグネチャ検知等のその他の洗練された方法を統合するハイブリッドＮＩＤＳは存在していない。又、全てのＮＩＤＳセンサーを制御するために集中させ、ポリシーに基づく管理ソリューションを提供するＮＩＤＳは存在していない。その結果、今日使用可能な技術及び製品を使用してネットワークを安全にさせるための試みは不可能でないにしても実際的なものではない。
【００４１】
【特許文献１】米国特許第５，６０６，６６８号
【特許文献２】米国特許第６，２７９，１１３号
【特許文献３】米国特許第６，１１９，２３６号
【発明の開示】
【発明が解決しようとする課題】
【００４２】
前述したことに鑑み、本発明の目的とするところは、低い誤り警告率でネットワークセキュリティブリーチを正確且つ包括的に検知し且つ防止することが可能なネットワークセキュリティシステム及び方法を提供することである。
【００４３】
ネットワーク上へ許可されたパケットを検査することが可能であり且つ不許可のパケットを直接的にドロップするか又は接続を閉じることにより不許可のパケット又はアクティビティに対して反応することが可能なネットワークシステム及び方法を提供することも本発明の目的である。
【００４４】
ステートフルシグネチャ検知、トラフィックシグネチャ検知、プロトコルアノマリー検知及びネットワークセキュリティブリーチを検知し且つ防止するためのその他の方法を統合するネットワークセキュリティシステム及び方法を提供することも本発明の目的である。
【００４５】
本発明の別の目的とするところは、ネットワーク上に配置された全てのネットワーク侵入検知センサーをネットワークセキュリティ管理者が集中的に管理することを可能とするネットワークセキュリティシステム及び方法を提供することである。
【課題を解決するための手段】
【００４６】
本発明のこれら及びその他の目的は、ステートフルシグネチャ検知、トラフィックシグネチャ検知、プロトコルアノマリー検知に基づいて低い誤り警告率でネットワークセキュリティブリーチを検知し且つ防止するためのマルチメッソドネットワークセキュリティシステム及び方法を提供することにより達成される。本マルチメッソドネットワークセキュリティシステムは、以後「ＭＭＩＤＰシステム」として呼称するが、ネットワークホスト又は外部のネットワークに到達する前に内部への又は外部への疑いのあるパケットをドロップさせるためにネットワークトラフィックの経路内に直接的に配置したソフトウエア及びハードウエアソリューションから構成されている。ＭＭＩＤＰシステムは、それ自身、又はファイアウォールと関連して使用することが可能である。
【００４７】
本発明のシステム及び方法は、４個の主要なコンポーネント、即ち（１）ネットワーク侵入検知及び防止センサー、（２）ネットワーク侵入検知及び防止中央管理サーバー、（３）ネットワーク侵入検知及び防止中央データベース、（４）ネットワーク侵入検知及び防止グラフィカルユーザインターフェースを具備するＭＭＩＤＰの好適例内に効果的に組込まれている。
【００４８】
本ネットワーク侵入検知及び防止センサーは、ネットワークトラフィックの経路内の複数個のゲートウエイ点に配置させることが可能なハードウエア装置から構成されている。与えられたセンサーは、ネットワークホスト又は外部ネットワークへ到達する前に内部への又は外部への疑いのあるパケットをドロップするためにゲートウエイモードで動作することが可能である。一方、センサーはアタックを検知し且つネットワークアタックが行われている場合にネットワークセキュリティ管理者へアラーム即ち警告を送信すべく受動的モードで動作することが可能である。
【００４９】
該センサーは６個のソフトウエアモジュール、即ち（１）ＩＰデフラグメンテーションモジュール、（２）フローマネージャソフトウエアモジュール、（３）ＴＣＰリアセンブリーソフトウエアモジュール、（４）プロトコルアノマリー検知モジュール、（５）ステートフルシグネチャ検知モジュール、（６）トラフィックシグネチャ検知モジュールを使用してアタックを検知し且つ防止する。
【００５０】
ＩＰデフラグメンテーションソフトウエアモジュールは、センサーへ到達する前に断片化されたパケットを再構築し、即ち、このモジュールはパケットフラグメントをパケットへ結合させる。パケットが構築された後に、フローマネージャソフトウエアモジュールが該パケットを「パケットフロー」へ編成し且つそれらを単一の通信セッションと関連させる。即ち、パケットは、それらがネットワーククライエントから中央管理サーバーへ流れるか又はその逆であるかに従って、且つそれらがＴＥＬＮＥＴセッション、ＦＴＰセッション、ＨＴＴＰセッション等の一部であるか否かに従って編成される。更に、フローマネージャソフトウエアモジュールは、同一のセッション内の制御及び補助的フローを関連付けることが可能である。例えば、ＦＴＰ制御フロー及びそれらと関連するＦＴＰデータフローは、全て、同一のＦＴＰセッション内に結合される。全てのセッションにおけるＴＣＰパケットは、ＴＣＰリアセンブリソフトウエアモジュールにより編成され、それは、不必要に再送信されたパケットオーバーラップ及び二重のパケットを除去しながら順番外で到達したＴＣＰパケットを順番付けする。
【００５１】
ＩＰデフラグメンテーション、フローマネージャ、ＴＣＰリアセンブリーソフトウエアモジュールは、その他の現在使用可能なネットワーク侵入検知システムよりもより速く且つより正確にネットワーク侵入検知及び防止センサーがセキュリティアタックをサーチすることを可能とする。侵入パケットは、プロトコルアノマリー検知、ステートフルシグネチャ検知、トラフィックシグネチャ検知ソフトウエアモジュールによって、検知され且つプライベート又は外部のネットワークへ拡散することが防止される。侵入パケットは、ネットワークセキュリティブリーチと関連するネットワークアタック識別子を包含するものである。このようなネットワークアタック識別子は、プロトコル違反、アタックシグネチャ、トラフィックシグネチャ、又はこれらのうちの１つ又はそれ以上の結合とすることが可能である。プロトコルアノマリー検知モジュールは、フローマネージャソフトウエアモジュールにより構成されたパケットフローを検査してパケット内のネットワークプロトコル仕様における違反を決定する。ステートフルシグネチャ検知モジュールは、既知のアタックシグネチャを、ＴＣＰパケットの場合には、ＴＣＰデータストリームに対してマッチングさせ、且つその他のネットワークプロトコルで送信されたパケットのヘッダー及びデータに対してマッチングさせる。トラフィックシグネチャモジュールはトラフィックシグネチャをネットワークトラフィックに対してマッチングさせてポートスキャン及びネットワークスイープ等のアタックを検知する。悪性のものであると判定された内部へのパケットはネットワークホスト等のいずれかに到達する前にセンサーによりドロップされ、外部へのパケットは外部のネットワークへ到達する前に該センサーによりドロップされる。該センサーは、又、そのパケットのうちの１つ又はそれ以上が悪性のものであると考えられる場合には与えられたセッションにおける全てのパケットをドロップすることが可能である。
【００５２】
本センサーは、又、ＩＰルーターソフトウエアモジュール及びＩＰフォアワーダー（ｆｏｒｗａｒｄｅｒ）ソフトウエアモジュールを具備しており、内部への及び外部へのパケットをネットワーク内の適宜の点へ経路付けし（ＩＰルーターソフトウエアモジュール）且つそのルーチング情報を使用してパケットをそれらの宛先へ転送する（ＩＰフォアワーダーソフトウエアモジュール）。ＩＰフォアワーダーソフトウエアモジュールは、どのパケットが本センサーを介して許可されるかについての完全な制御を有しており、且つその他のソフトウエアモジュールのいずれかが悪性であると考えるパケットを通過させることはない。
【００５３】
ネットワーク侵入検知及び防止中央管理サーバーは、ネットワークセキュリティ管理者により特定された単一のネットワークセキュリティポリシーを使用してネットワーク上に配置された複数個のセンサーの全てを制御する。セキュリティポリシーは、どのトラフィックをインスペクトするかを定義し且つどのアタックを本センサーが捜索すべきかを定義する。本サーバーは、セキュリティポリシーを妥当性検査し、セキュリティポリシーを全てのセンサーへロードし、ポリシー変化の履歴を維持し、且つ格納、表示、通知に対してセンサーからのログ及びアラームを収集する。本サーバーは、又、古い及びアップデートされたポリシーのバージョン、アタックシグネチャ、ログ及びアラーム、及びその他の報告用情報を包含するネットワークセキュリティポリシーを格納するための中央データベースを維持する。
【００５４】
ネットワークセキュリティ管理者は、ネットワーク検知及び防止グラフィカルユーザインターフェースによりログ及びアラームを観察することが可能である。ユーザインターフェースは、ネットワークへ接続されている任意のクライエントからアクセスすることが可能であり且つ全ての管理サーバー及びセンサー施設へのアクセスを与える。該ユーザインターフェースは、ネットワークセキュリティ管理者が該センサー及び該サーバーから来る情報を観察してネットワーク内において何が起こっているかを判別することを可能とする。該センサー及びサーバーにより与えられる情報はレポートに編成され、それは、例えばアタックにおいて使用されたトップのＩＰアドレス、トップのアタック、発生されたアラーム及びインシデントの数、アラームが実際のものか又は誤ったものであるか等のそうでなければ収集することが困難なネットワーク統計へのアクセスを与える。更に、ネットワークセキュリティ管理者は該ユーザインターフェースを使用して、ネットワークセキュリティポリシーを定義し且つ中央管理サーバーに命令を与えてセキュリティポリシーをセンサーの幾つか又は全てへ配布させる。ユーザインターフェース、サーバー、センサーの間の全ての通信は暗号化及び認証メカニズムにより保護されている。
【００５５】
一般的に、１つの側面においては、本発明は、ＦＴＰ接続期間中にセキュリティブリーチを防止する技術を実現し且つ使用する方法及び装置を提供する。ネットワーク侵入及び検知センサーは、パケットフラグメントを再構築し、パケットフラグメントをＦＴＰパケットフローへ編成し、且つ複数個のＴＣＰフラグメントをＴＣＰストリームへリアセンブルさせる。ソフトウエアモジュールは、ＦＴＰパケットフローがＦＴＰポートコマンドの一部であるか否かを決定することによりＴＣＰストリームをプロトコルアノマリーについてインスペクト即ち検査を行う。ＦＴＰパケットフローがＦＴＰポートコマンドの一部であることを該ソフトウエアモジュールが決定する場合には、該センサーはユーザのＩＰアドレスをＴＣＰストリームにおいて見つかったいずれかのポートコマンドのＩＰアドレスと比較する。ユーザのＩＰアドレスがポートコマンドと関連するＩＰアドレスと一致しないことを該センサーが決定する場合には、該センサーはそのＦＴＰパケットフローをドロップし且つＦＴＰ接続を閉じる。
【００５６】
一般的に、別の側面においては、本発明は、ＳＭＴＰ接続期間中にセキュリティブリーチを防止する技術を実現し且つ使用する方法及び装置を提供している。ネットワーク侵入及び検知センサーはユーザにより送信されたパケットフラグメントを再構築し、該パケットフラグメントをＳＭＴＰパケットフローへ編成し、且つ複数個のＴＣＰパケットフラグメントをＴＣＰストリームへリアセンブルさせる。ソフトウエアモジュールは、ＴＣＰストリーム内にＳＭＴＰコマンドが存在するか否かを決定し、存在する場合には、該センサーはＳＭＴＰコマンド内のアタックシグネチャをサーチする。該センサーがＳＭＴＰコマンド内にアタックシグネチャを検知すると、該センサーはそのＳＭＴＰパケットフローをドロップし且つＳＭＴＰ接続を閉じる。
【００５７】
特定の実現例は以下の特徴のうちの１つ又はそれ以上を包含することが可能である。
【００５８】
アタックシグネチャはｗｉｚコマンドとすることが可能である。
【００５９】
好適には、本発明のシステム及び方法は、ネットワークセキュリティブリーチを正確に且つすぐさま検知し且つ防止する。これらのシステム及び方法は、低い誤り警告率で、現在のネットワークセキュリティ製品によって検知されることのない多数のアタックを検知することが可能である。更に、本発明のシステム及び方法は、組織のネットワークセキュリティの便利で有用であり且つ費用効果的な集中管理を可能とする。
【発明を実施するための最良の形態】
【００６０】
図１を参照すると、ファイアウォール及びネットワーク侵入検知システムにより保護されている従来のネットワーク環境の概略図が示されている。サーバー１６ａ及び１６ｃ及びコンピュータ１６ｂ及び１６ｄからなるインターネット１９とプライベートネットワーク１７との間の接続はファイアウォール１８により保護されている。ファイアウォール１８はインターネットからプライベートネットワーク１７へ流れる全てのパケットをインスペクトし且つプライベートネットワーク１７におけるユーザの外部リソースへのアクセスを制御する。ネットワークアクセスポリシーにより予め定められた静的なヒューリスティックスに準拠することのないパケットはファイアウォール１８により拒否され且つプライベートネットワーク１７内部へ許可されることはない。
【００６１】
ネットワーク侵入検知システム（ＮＩＤＳ）２０はファイアウォール１８の後に配置されており、ファイアウォール１８によりネットワーク１７内へ許可されたパケットをインスペクトする。ＮＩＤＳ２０は受動的装置であり、プライベートネットワーク１７がアタックされていることを警告するためにプライベートネットワーク１７のネットワークセキュリティ管理者へアラームを送信することが可能であるか、又は、ある場合には、アタックが検知された場合にファイアウォール１８がアクションをとるべく指示することが可能である。
【００６２】
次に、図２を参照すると、ＭＭＩＤＰシステムの開示した例において使用されているソフトウエア及びハードウエアコンポーネントの概略図が示されている。ＭＭＩＤＰシステム２３はネットワーク上のセキュリティブリーチを検知し且つ防止するためにプライベートネットワーク上にインストールされている。ＭＭＩＤＰシステム２３はＭＭＩＤＰセンサー２５ａ−ｄ、ＭＭＩＤＰ中央管理サーバー３０、ＭＭＩＤＰデータベース３５、ＭＭＩＤＰグラフィカルユーザインターフェース（ＧＵＩ）４０ａ−ｄから構成されている。
【００６３】
ＭＭＩＤＰセンサー２５ａ−ｄはプライベートネットワーク上の複数個のゲートウエイ点、即ち例えばインターネット等のその他のネットワークへの入口として作用するネットワークにおける任意の点に配置されているハードウエア装置である。ＭＭＩＤＰセンサー２５ａ−ｄは、全て、ＭＭＩＤＰサーバー３０から集中的に管理される。ネットワーク管理者はＭＭＩＤＰ  ＧＵＩ４０ａ−ｄを使用してネットワークセキュリティポリシーを定義し且つＭＭＩＤＰ中央管理サーバー３０を指示してセキュリティポリシーをＭＭＩＤＰセンサー２５ａ−ｄの幾つか又は全てへ配布させる。該ネットワークセキュリティポリシーは、どのトラフィックをインスペクトするか及びどのアタックをＭＭＩＤＰセンサー２５ａ−ｄが探すべきであるかを定義する。
【００６４】
好適実施例においては、ＭＭＩＤＰセンサー２５ａ−ｄはゲートウエイモードで動作して、それがプライベートネットワークの内側か又は外側の意図されている受取人に到達する前に疑いのあるパケットをドロップすることにより、又はそのアタックを発生するネットワーク接続を中断するか又は閉じることによりアタックを防止する。ゲートウエイモードで動作しているＭＭＩＤＰセンサー２５ａ−ｄは、ネットワークアタックを検知するばかりでなく、それが発生することを防止する。一方、ＭＭＩＤＰセンサー２５ａ−ｄは、アタックを検査し且つネットワークアタックが行われている場合にネットワークセキュリティ管理者に対してＭＭＩＤＰ  ＧＵＩ４０ａ−ｄに表示されるアラームを送信するために受動的モードで動作することが可能である。次いで、ネットワークセキュリティ管理者は、ネットワークアタックを制御するために適宜のアクションを決定することが可能である。
【００６５】
ＭＭＩＤＰセンサー２５ａ−ｄは、ネットワークセキュリティブリーチを検知し且つ防止するためにネットワークパケットに関して動作する以下の８個のソフトウエアモジュールが具備されており、即ち（１）ＩＰデフラグメンテーションソフトウエアモジュール、（２）フローマネージャソフトウエアモジュール、（３）ＴＣＰリアセンブリーソフトウエアモジュール、（４）プロトコルアノマリー検知ソフトウエアモジュール、（５）ステートフルシグネチャ検知ソフトウエアモジュール、（６）トラフィックシグネチャ検知ソフトウエアモジュール、（７）ＩＰルーターソフトウエアモジュール、（８）ＩＰフォアワーダーソフトウエアモジュールである。
【００６６】
ＭＭＩＤＰセンサー２５ａ−ｄは、全て、ＭＭＩＤＰサーバー３０から集中管理される。ＭＭＩＤＰサーバー３０はＭＭＩＤＰ  ＧＵＩ４０ａ−ｄを使用してネットワークセキュリティ管理者により定義されたネットワークセキュリティポリシーを妥当性評価し、該ＧＵＩは該ポリシーをサーバー３０へ送信し、該セキュリティポリシーをＭＭＩＤＰセンサー２５ａ−ｄのうちの幾つか又は全てへロードし、ポリシー変化の履歴を維持し、且つ以下に詳細に説明するように、格納、表示、通知のためにＭＭＩＤＰセンサー２５ａ−ｄからのログ及びアラームを収集する。更に、ＭＭＩＤＰサーバー３０は、ポリシーの古いバージョン及びアップデートしたバージョン、アタックシグネチャ、ログ及びアラーム、及びその他の報告情報を包含するネットワークセキュリティポリシーを格納するためにＭＭＩＤＰデータベース３５を維持する。
【００６７】
ネットワークセキュリティ管理者は、どのようにしてＭＭＩＤＰセンサー２５ａ−ｄが内部への及び外部へのネットワークパケットを取り扱うかを解析するためにＭＭＩＤＰ  ＧＵＩ４０ａ−ｄを使用する。ＭＭＩＤＰ  ＧＵＩ４０ａ−ｄはネットワークへ接続されている任意のクライエントからアクセスすることが可能であり且つＭＭＩＤＰセンサー２５ａ−ｄ及びＭＭＩＤＰサーバー３０の全ての機能性に対してのアクセスを与える。ＭＭＩＤＰ  ＧＵＩ４０ａ−ｄは、ＭＭＩＤＰセンサー２５ａ−ｄ及びＭＭＩＤＰサーバー３０から来る情報をネットワークセキュリティ管理者が観察しネットワーク内において何が起こっているかを決定し且つ必要である場合にはその後のアクションを取ることを可能とする。ＭＭＩＤＰセンサー２５ａ−ｄ及びＭＭＩＤＰサーバー３０により提供される情報はレポートに編成され、該レポートは、例えばアタックにおいて使用されたトップのＩＰアドレス、トップのアタック、発生されたアラーム及びインシデントの数、及びアラームが実際のものであるか誤ったものであるかについてそうでなければ収集することが困難なネットワーク統計へのアクセスを与える。更に、ネットワークセキュリティ管理者は、ＭＭＩＤＰデータベース３５内に格納されているシグネチャの組からどのシグネチャアタックを検知し且つ防止し且つ新たなシグネチャを作成するために使用するかを特定することが可能である。ＭＭＩＤＰセンサー２５ａ−ｄ、ＭＭＩＤＰサーバー３０、ＭＭＩＤＰデータベース３５、ＭＭＩＤＰ  ＧＵＩ４０ａ−ｄの間の全ての通信は暗号化及び認証メカニズムにより保護される。
【００６８】
次に、図３を参照すると、本発明のシステム及び方法が動作する好適なＭＭＩＤＰシステム及びネットワーク環境の概略図が示されている。ＭＭＩＤＰセンサー４５ａ−ｃが、遠隔オフィスローカルエリアネットワーク５０、デミリタライズドゾーン（ＤＭＺ）５５、有線ネットワーク６５及び無線ネットワーク７０により形成されているローカルエリアネットワーク６０から構成されるプライベートネットワークのゲートウエイ点に配置されている。
【００６９】
有線ネットワーク６５は、ＭＭＩＤＰ  ＧＵＩ１１０ａ、パソコンユーザ６７ｂ、ノートブックユーザ６７ｃを接続しているローカルエリアネットワーク６０内側のローカルエリアネットワークである。無線ネットワーク７０はベースステーション７２によってＰＤＡユーザ７３ａと無線電話ユーザ７３ｂとを接続するローカルエリアネットワーク６０内側の無線ローカルエリアネットワークである。ＤＭＺ５５はネットワークガイドのユーザからのみならずネットワーク内の内部ユーザからの全てのメール及びウエブアクセス要求を取り扱うためにメールサーバー７５及びウエブサーバー８０からなるプライベートネットワーク内の中立ゾーンである。ＤＭＺ５５は、メールサーバー７５及びウエブサーバー８０以外に、プライベートネットワーク内のその他のサーバーへのアクセスを外部ユーザが有することを防止するための更なるセキュリティのレイヤーとして使用される。当業者により理解されるように、遠隔オフィスローカルエリアネットワーク５０、ローカルエリアネットワーク６０、ＤＭＺ５５は例えばパソコン、ノートブックコンピュータ、パーソナルデジタルアシスタント、無線電話システム、ビデオゲームシステム等のインターネット又は有線又は無線ネットワークを介して一般的なプロトコルで動作するその他のネットワークへ接続することが可能な任意の電子装置を有することが可能である。
【００７０】
ＭＭＩＤＰセンサー４５ａ−ｃはファイアウォール８５ａ−ｂ内側のプライベートネットワークの複数個のゲートウエイ点に位置されており、ファイアウォール８５ａ−ｂにより安全なものと思われたプライベートネットワークへの内部へのパケットの全て及びファイアウォール８５ａ−ｂによってチェックされていない全ての外部へのパケットをインスペクトする。ＭＭＩＤＰセンサー４５ａ−ｃをファイアウォール８５ａ−ｂの内側に配置させることは、ＭＭＩＤＰセンサー４５ａ−ｃが解析することを必要とするトラフィックを減少させる。何故ならば、ファイアウォール８５ａ−ｂによって受付けられたパケットフロー及び接続のみをチェックすることが必要であるに過ぎないからである。更に、ＭＭＩＤＰセンサー４５ａ−ｃをファイアウォール８５ａ−ｂ内側に配置させることは、ネットワークセキュリティ管理者がファイアウォール８５ａ−ｂの性能を評価することを可能とさせる。ファイアウォール８５ａ−ｂはパケットフィルタリングファイアウォール、回路レベルファイアウォール、アプリケーションレベルファイアウォール、又はステートフルインスペクションファイアウォールとすることが可能である。好適には、ファイアウォール８５ａ−ｂはインターネット９０への入口点として作用するステートフルインスペクションファイアウォールであり、ファイアウォール８５ｂは内部へのネットワークパケットをＤＭＺ５５か又はローカルエリアネットワーク６０のいずれかへルーチング即ち経路付けさせるためにルーター９５へ接続されている。
【００７１】
ローカルエリアネットワーク６０におけるＭＭＩＤＰサーバー１００はＭＭＩＤＰセンサー４５ａ−ｃを集中管理することが可能である。ＭＭＩＤＰサーバー１００は、又、ネットワークセキュリティポリシー、アタックシグネチャ、ログ及びアラーム、及びその他のレポート用情報を格納するためにＭＭＩＤＰデータベース１０５を維持する。
【００７２】
ネットワークセキュリティ管理者はＭＭＩＤＰ  ＧＵＩ１１０ａ−ｃを使用してネットワークセキュリティポリシーを定義し且つＭＭＩＤＰ中央管理サーバー１００に命令を与えてセキュリティポリシーをＭＭＩＤＰセンサー４５ａ−ｃの幾つか又は全てへ配布させる。該ネットワークセキュリティポリシーは、どのトラフィックをインスペクトするか及びどのアタックをＭＭＩＤＰセンサー４５ａ−ｃが捜索すべきであるかを定義する。ＭＭＩＤＰ  ＧＵＩ１１０ａ−ｃはネットワークセキュリティ管理者がＭＭＩＤＰセンサー４５ａ−ｃから来る情報を観察することを可能とし、且つ遠隔オフィスローカルエリアネットワーク５０、ＤＭＺ５５、ローカルエリアネットワーク６０によって形成されるネットワークにおいて何が起こっているかをＭＭＩＤＰサーバー１００が決定することを可能とする。ＭＭＩＤＰセンサー４５ａ−ｃ及びＭＭＩＤＰサーバー１００により提供される情報は、レポートに編成され、それは、例えば、アタックにおいて使用されたトップのＩＰアドレス、トップのアタック、発生されたアラーム及びインシデントの数、及びアラームが実際のものか誤りのものであるかについて全ての検知されたアタック及び侵入のリスト及びそうでなければ収集することが困難であるようなネットワーク統計へのアクセスを与える。更に、ネットワークセキュリティ管理者は、アタックを検知し且つ防止するため、及び新たなシグネチャを作成するために、ネットワークセキュリティ管理者は、ＭＭＩＤＰデータベース１０５内に格納されているシグネチャの組からどのシグネチャを使用するかを特定することが可能である。当業者により理解されるように、ＭＭＩＤＰ  ＧＵＩ１１０ａ−ｃはインターネット９０を介してＭＭＩＤＰサーバー１００へのアクセスを有する任意のネットワーク上に配置させることが可能なネットワーク用クライエントである。
【００７３】
次に、図４を参照すると、本発明のシステム及び方法が動作する別のＭＭＩＤＰシステム及びネットワーク環境の概略図が示されている。この代替例においては、ＭＭＩＤＰセンサー４５ａ−ｂはファイアウォール８５ａ−ｃの外部に配置されており、従ってＭＭＩＤＰセンサー４５ａ−ｂはインターネット９０への入口点である。更に、ＭＭＩＤＰセンサー４５ｂはネットワーク接続４７ａ及びネットワーク接続４７ｂ等の１個を超えるネットワークインターフェースをサポートすることが可能である。この代替例は、ネットワークセキュリティ管理者が主に外部からのアタックに懸念がある場合に使用することが可能である。ＭＭＩＤＰセンサー４５ａ−ｂをファイアウォール８５ａ−ｃの外部に配置することは、ネットワークセキュリティ管理者が、典型的に、該ファイアウォールによってブロックされ且つ内部システムによって検知されることのない全てのトラフィックを監視することを可能とする。
【００７４】
次に、図５を参照すると、本発明のシステム及び方法が動作する更に別のＭＭＩＤＰシステム及びネットワーク環境の概略図が示されている。この代替例においては、ＭＭＩＤＰセンサー４５ａ−ｂは遠隔オフィスローカルエリアネットワーク５０、ＤＭＺ５５、ローカルエリアネットワーク６０によって形成されるプライベートネットワークのセキュリティに対して完全な責任を有している。プライベートネットワークを保護するために使用されているファイアウォールは存在していない。ＭＭＩＤＰセンサー４５ａ−ｂはプライベートネットワークにおける全ての内部への及び外部へのパケットを解析する。この代替例は、ＭＭＩＤＰセンサー４５ａ−ｂがネットワークへの及びそれからの大量のトラフィックを取り扱うことが可能であることがネットワークセキュリティ管理者が自信がある場合、又はネットワーク上のその他のシステムと完全に適合性があり且つそれと統合されねばならない付加的なファイアウォールシステムを購入するのに必要な時間及び費用をネットワークセキュリティ管理者が投資することが不可能である場合に使用することが可能である。
【００７５】
次に、図６を参照すると、ネットワーク侵入検知及び防止センサーにおいて使用される例示的なソフトウエアモジュールの概略図が示されている。ＭＭＩＤＰセンサー２５ａ−ｄは８個のソフトウエアモジュール、即ち（１）ＩＰデフラグメンテーションソフトウエアモジュール１１５、（２）フローマネージャソフトウエアモジュール１２０、（３）ＴＣＰリアセンブリーソフトウエアモジュール１２５、（４）プロトコルアノマリー検知ソフトウエアモジュール１３０、（５）ステートフルシグネチャ検知ソフトウエアモジュール１３５、（６）トラフィックシグネチャ検知ソフトウエアモジュール１４０、（７）ＩＰルーターソフトウエアモジュール１４５、（８）ＩＰフォアワーダーソフトウエアモジュール１５０を使用してネットワークセキュリティアタックを検知し且つ防止する。
【００７６】
ＩＰデフラグメンテーションソフトウエアモジュール１１５は、ＭＭＩＤＰセンサー２５ａ−ｄへ到達する前に断片化されたパケットを再構築する。パケットは、それらがネットワークにおいて許容される最大パケット寸法より大きい場合にネットワークゲートウエイにおいて断片化される。それらのパケットはインターネットエンジニアリングタスクフォースのＲＦＣ８１５スタンダードにおいて特定されているアルゴリズムに従ってリアセンブルされる。該アルゴリズムは、リアセンブルされるパケットの長さに等しい長さのバッファを維持することにより、フラグメントオーバーラップ及び重複の任意の可能なパターンで任意の順番で到達する任意の数のパケットフラグメントをリアセンブルすることが可能である。パケットの長さはパケットヘッダーにおいて特定される。ＩＰデフラグメンテーションソフトウエアモジュール１１５は、又は、パケットフラグメントに関してセキュリティ検証チェックを実施し、そのパラメータ（例えば、パケット長又はパケットオフセット）が悪性なものであり且つ潜在的に危険なものであるとして知られているフラグメントを投げ捨て且つ報告する。
【００７７】
パケットがＩＰデフラグメンテーションソフトウエアモジュール１１５により再構築された後に、フローマネージャソフトウエアモジュール１２０が該パケットをフローとも呼称される「パケットフロー」へ編成し、且つそれらを単一の通信セッションと関連付ける。パケットフローは発信元から宛先へ流れるパケットのシーケンスである。即ち、パケットはそれらがプライベートネットワークにおいて発生し且つ外部のネットワークへ流れるか又はその逆であるかに従って、且つそれらがＴＥＬＮＥＴセッション、ＦＴＰセッション、ＨＨＴＰセッション等の一部であるか否かに従って編成される。制御及びデータフローは同一のセッション内にグループ化される。フローマネージャソフトウエアモジュール１２０はプライベートネットワークへ来るか又はそれからの全てのパケットフローをフローテーブルへ編成し、それはソフトウエアモジュール１３０，１３５，１４０により容易にアクセスするためのハッシュテーブルとして実現される。
【００７８】
次に、図７を参照すると、フローマネージャソフトウエアモジュールにより構成される例示的なフローテーブルが示されている。フローテーブル１５５はＭＭＩＤＰセンサー２５ａ−ｄ内へやって来るパケットをパケットフロー及びセッションへ編成するハッシュテーブルとして実現されている。ハッシュテーブルは、例えばフローテーブル１５５に対して８個のハッシュバケットを示したように「ｎ」個のセル又はバケットを有することが可能である。該テーブル内の各バケットは、ハッシュ値によりアドレスされるパケットフロー記述子のリンクされたリストへのポインターから構成されている。該ハッシュ値は＜発信元ＩＰアドレス、発信元ポート、宛先ＩＰアドレス、宛先ポート、プロトコル＞から構成される５タプル（ｔｕｐｌｅ）の値を１乃至「ｎ」の範囲内の一意的整数へハッシュさせる完全なハッシュ関数によって計算される。例えば、フローテーブル１５５はハッシュテーブルバケット１５３ａ−ｈを包含しており、各バケットは１乃至８の範囲の整数ハッシュ値によってアドレスされる。更に、各バケットフロー記述子はそのフローに対して一意的であり且つそのフローの５タプル＜発信元ＩＰアドレス、発信元ポート、宛先ＩＰアドレス、宛先ポート、プロトコル＞からなる５タプル鍵によってアドレスされる。
【００７９】
各鍵によりアドレスされるパケットフロー記述子は上の５タプル及び記述したパケットフローに属するパケットのリストを包含する各特定のパケットフローについての情報から構成されている。例えば、ハッシュテーブルバケット１５３ａはパケットフロー記述子１５６ａ及び１５６ｂを指し示し、一方ハッシュテーブルバケット１５３ｃはパケットフロー記述子１５７を指し示す。更に、該リストにおける各パケットフローは、例えばＴＥＬＮＥＴセッション１６１、ＦＴＰセッション１６２、ＨＴＴＰセッション１６３等の１つのセクションと関連している。この関連付けはダブルポインター（図７における両方向矢印により示されている）によって行われ、従って各パケットフロー記述子は１つのセッションを指し示し且つ該セッションは各パケットフロー記述子を指し示す。該ダブルポインターはプロトコルアノマリー検知ソフトウエアモジュール１３０、ステートフルシグネチャ検知ソフトウエアモジュール１３５、トラフィックシグネチャ検知ソフトウエアモジュール１４０が内部へのパケットのフロー及びそれらの関連するセッションに関しての情報を迅速且つ正確に検索することを可能とする。例えば、パケットフロー記述子１５６ａは発信元Ａから宛先ＢへのＴＥＬＮＥＴフローに関しての情報及びそのパケットフローに属するパケットのリストを包含している。同一のハッシュ鍵によりアドレスされる（及び同一のハッシュバケットに属する）パケットフロー記述子は異なるセッションを指し示すことが可能であり且つ同一のセッションに属するパケットフロー記述子は異なるハッシュ鍵によりアドレスすることが可能である。例えば、パケットフロー記述子１５６ａ−ｂは、両方共、ハッシュバケット１５３ａ内にあるが、パケットフロー記述子１５６ａはＴＥＬＮＥＴセッション１６１と関連しており、一方パケットフロー記述子１５６ｂはＦＴＰセッション１６２と関連しており、それは、又、パケットフロー記述子１５７，１５８，１５９ｂと関連しており、それらは全て異なるハッシュバケットに属している。
【００８０】
次に、図８を参照すると、ネットワーク侵入検知及び防止センサーに新たなパケットが到着する場合にフローマネージャソフトウエアモジュールにより取られる例示的なステップを示したフローチャートが示されている。パケットの新たなフローがＭＭＩＤＰセンサー２５ａ−ｄに到着すると、フローマネージャソフトウエアモジュール１２０は、ステップ１７０において、発信元、宛先、発信元ポート、宛先ポート、そのパケットに対して使用されるプロトコルを識別して、ステップ１７５においてその５タプル識別子を独特の整数鍵へマップする完全なハッシュ関数を計算する。ステップ１８０において、フローマネージャソフトウエアモジュール１２０は、その鍵がハッシュテーブル内の既に存在するパケットフロー記述子をアドレスするものであるか否かを決定する。その鍵が既存のパケットフロー記述子に対応するものでない場合には、新たなパケットフロー記述子がステップ１８５においてテーブル内に挿入される。
【００８１】
ステップ１９０において、本システムは内部へのパケットに対するパケットフロー記述子に対するポインターを抽出する。最後に、ステップ２００において、フローマネージャソフトウエアモジュール１２０はそのポインターをパケットフロー記述子へパスし且つステップ１９０において抽出される如くその対応するセッションを検知モジュール１３０，１３５，１４０へパスする。このことはプロトコルアノマリー検知ソフトウエアモジュール１３０、ステートフルシグネチャ検知モジュール１３５、トラフィックシグネチャ検知ソフトウエアモジュール１４０が内部へのパケットフロー記述子及びそのポインターからのそれの関連するセッションに関しての情報を迅速に且つ正確に検索することを可能とする。
【００８２】
再度図６を参照すると、フローテーブル内の全てのパケットフローにおけるＴＣＰパケットはＴＣＰリアセンブリソフトウエアモジュール１２５によりリアセンブルされる。ＴＣＰリアセンブリソフトウエアモジュール１２５はパケットからなるストリームの一部であるＴＣＰパケットをそれらの正しい順番に配列させ、一方重複するパケット及びパケットオーバーラップを除去する。各ＴＣＰパケットはそのヘッダー内にシーケンス番号を有しており、それはソフトウエアモジュール１２５が、ＴＣＰパケットが順番外で到着する場合、又はネットワークにより許容されるよりもより長い時間だけネットワークにおいて遅延された場合に不必要に再送された場合にそれらの正しい順番でＴＣＰパケットを再度配列させることを可能とする。
【００８３】
ＩＰデフラグメンテーションソフトウエアモジュール１１５、フローマネージャソフトウエアモジュール１２０、ＴＣＰリアセンブリソフトウエアモジュール１２５はＭＭＩＤＰセンサー２５ａ−ｄがその他の現在入手可能な侵入検知システムよりもより速く且つより正確にセキュリティアタックを検知し且つ防止することを可能とする。プロトコルアノマリー検知ソフトウエアモジュール１３０、ステートフルシグネチャ検知ソフトウエアモジュール１３５、トラフィックシグネチャ検知ソフトウエアモジュール１４０によって侵入パケットが検知され且つプライベートネットワーク又は外部ネットワークが拡散することが防止される。
【００８４】
次に、図９を参照すると、ゲートウエイモードで稼動中のネットワーク侵入検知及び防止センサーにパケットが到着した場合にプロトコルアノマリー検知ソフトウエアモジュールにより取られる例示的なステップを示したフローチャートが示されている。プロトコルアノマリー検知ソフトウエアモジュール１３０はフローテーブル１５５においてフローマネージャソフトウエアモジュール１２５により配列されたパケットフローを検査して非ＴＣＰパケット及びＴＣＰデータストリームにおけるネットワークプロトコル仕様における違反を判別する。ステップ２１５において、プロトコルアノマリー検知ソフトウエアモジュール１３０は、フローマネージャソフトウエアモジュール１２０によりパスされたパケットフロー記述子及びセッションへのポインターからＭＭＩＤＰセンサー２５ａ−ｄへ到着するパケットに対応するパケットフロー記述子及びセッションへアクセスする。
【００８５】
ステップ２２０において、プロトコルアノマリー検知ソフトウエアモジュール１３０はパケットフロー及びセッションを検査して、違反についてどのプロトコルをチェックすることが必要であるかを決定する。ステップ２２５において、プロトコルアノマリー検知ソフトウエアモジュール１３０は、ＭＭＩＤＰシステム２３によりサポートされるプロトコルのリスト及び各プロトコルに対して許可可能なアクションを包含するプロトコルデータベースを照会することにより高速プロトコル検証を実施する。プロトコルアノマリー検知ソフトウエアモジュール１３０は該プロトコルデータベースを照会して、内部へのパケットがそれらを送信するために使用されるプロトコルと適合性があるか否か及び非ＴＣＰパケット又はＴＣＰデータストリームにおいて具体化されているアクション又はコマンドがそのプロトコルに対して認定されているか又は許可されているかを決定する。ステップ２２０及び２２５は、プロトコルアノマリー検知１３０がその他の典型的なアノマリー検知システムよりもより迅速に且つ正確にプロトコル違反をチェックすることを可能とする。プロトコルデータベースにおけるプロトコル仕様がパケット内のプロトコル仕様と一致しない場合には（ステップ２３０）、該パケットはステップ２３５においてドロップ即ち捨てられる。
【００８６】
次に、図１０を参照すると、プライベートネットワークによりサポートされるプロトコルの例示的なテーブルが示されている。プロトコルテーブル２４５はＭＭＩＤＰシステム２３及び存在する場合に、それらの対応するＲＦＣスタンダード仕様の幾つかによりサポートされるプロトコルをリストしている。当業者により理解されるように、例えばＩＣＭＰ等のプロトコルテーブル２４５内にリストされていない付加的なプロトコルのプライベートネットワークによりサポートされる場合がある。
【００８７】
図６に戻ると、ステートフルシグネチャ検知ソフトウエアモジュール１３５はパケットを送信するために使用されるネットワークプロトコルに従って既知のアタックシグネチャをパケットヘッダー及びデータとマッチングさせる。ソフトウエアモジュール１３５は、シグネチャアップデートが行われる度に、ＭＭＩＤＰサーバー３０により稼動されるＭＭＩＤＰデータベース３５から既知のアタックシグネチャをダウンロードする。シグネチャアップデートは、ネットワークセキュリティ管理者により又はＭＭＩＤＰシステム２３のベンダーにより新たなシグネチャアタックパターンが学習される場合に行われる。好適には、インターネット又はその他のパブリックドメインフォラムにおいて特性付けられる一週間以内に新たなシグネチャがアップデートされる。
【００８８】
シグネチャはデータストリーム又はデータパケットの関連する部分に対してのみ比較される。このことは２つのメカニズムを使用して行われる。最初のものは、シグネチャが関連するパケットフローからのトラフィックに対してのみ比較されることを確保する。例えば、ＳＭＴＰシグネチャはＦＴＰデータに対して比較されることはない。２番目のメカニズムは、パケット及びデータストリーム通信の状態を理解するためにトラフィックを解析する。この解析は、例えば、ＳＭＴＰコマンドとＳＭＴＰデータライン又はＦＴＰユーザ名とＦＴＰファイル名との間をＭＭＩＤＰが区別することを可能とさせる。即ち、ステートフルシグネチャ検知ソフトウエアモジュール１３５は、データプロトコルに関連性のあるシグネチャをデータの関連する部分に対して比較する。例えば、あるＳＭＴＰコマンドを探すシグネチャがＳＭＴＰトラフィックに対してのみ比較されるばかりでなく、その比較はＳＭＴＰトラフィックにおいてＳＭＴＰコマンドであると解析されるものへ制限される。即ち、例えばフローテーブル１５５におけるセッション１６１−１６３のようなパケットフローのセッションエントリの属性を検査することにより、シグネチャ検知ソフトウエアモジュール１３５は、どのシグネチャがパケットフローに対してマッチングされることが必要であるかを決定することが可能である。このことはシグネチャ検知ソフトウエアモジュール１３５の性能を著しく改善する。何故ならば、パケットにとって意味のあるシグネチャのみを解析することが必要であるに過ぎないからである。
【００８９】
次に、図１１を参照すると、パケットがゲートウエイモードで稼動中のネットワーク侵入検知及び防止センサーに到着する場合にステートフルシグネチャ検知ソフトウエアモジュールにより取られる例示的なステップを示したフローチャートを示している。ステップ２１０において、ステートフルシグネチャ検知ソフトウエアモジュール１３５はフローマネージャソフトウエアモジュール１２０によりパスされたパケットフロー記述子及びセッションに対するポインターからＭＭＩＤＰセンサー２５ａ−ｄに到着するパケットに対応するパケットフロー記述子及びセッションへアクセスする。
【００９０】
ステップ２６０において、ソフトウエアモジュール１３５はＭＭＩＤＰデータベース３５を照会して内部へのデータストリーム又はパケットに関連性があるシグネチャを見つけ出す。関連性のあるシグネチャは、フローテーブルから検索されたパケットフロー及びセッションの文脈においてアタックであるとのみ考えられるものである。関連性のあるシグネチャは、データベース３５内に格納される場合に通常の表現へ変換される。通常の表現は、ストリングの一部を記述するパターンである。例えば、通常の表現［０１２３４５６７８９］はＵＮＩＸに基づくオペレーティングシステムにおける任意の単一デジットとマッチ即ち一致する。シグネチャを通常の表現へ変換することは、ソフトウエアモジュール１３５が効率的にシグネチャをパケットに対してマッチングすることを可能とする。
【００９１】
ステップ２６５において、ソフトウエアモジュール１３５は、内部へのパケットがＴＣＰフローに属するか否かをチェックする。そうでない場合には、ステップ２７５において、シグネチャは、例えば、決定性有限オートマトン（ＤＦＡ）を使用して内部へのパケットと比較される。ＤＦＡシグネチャマッチングは、内部へのパケット内に通常の表現が存在するか否かを迅速に決定するために各通常の表現に対する状態マシンを構築する。内部へのパケットがＴＣＰフローのものである場合には、シグネチャは全体的なＴＣＰデータストリームに対して比較される（ステップ２７０）。
【００９２】
いずれかのマッチングするシグネチャが見つかると（ステップ２８０）、対応するパケット及びそれらが属するフローがステップ２９０においてソフトウエアモジュール１３５によりドロップされる。そうでない場合には、マッチングするシグネチャのない内部へのパケットはトラフィックシグネチャ検知ソフトウエアモジュール１４０へデリバーされる。当業者により理解されるように、ＤＦＡマッチング以外のその他のパターンマッチングアルゴリズムをアタックシグネチャをマッチングするために使用することが可能である。
【００９３】
図６へ戻ると、トラフィックシグネチャソフトウエアモジュール１４０はトラフィックシグネチャをネットワークトラフィックに対してマッチングさせて、例えば、ポートスキャン及びネットワークスイープを検知する。トラフィックシグネチャはＭＭＩＤＰサーバー３０により維持されるＭＭＩＤＰデータベース３５からソフトウエアモジュール１４０へダウンロードされる。
【００９４】
次に、図１２を参照すると、ゲートウエイモードで稼動中のネットワーク侵入検知及び防止センサーにパケットが到着する場合にトラフィックシグネチャ検知ソフトウエアモジュールにより取られる例示的なステップを示したフローチャートが示されている。トラフィックシグネチャ検知ソフトウエアモジュール１４０により取られるステップはアタックシグネチャを検知するためにステートフルシグネチャ検知ソフトウエアモジュール１３５により取られるものと類似している。ステップ３１０において、トラフィックシグネチャ検知ソフトウエアモジュール１４０が、フローマネージャソフトウエアモジュール１２０によりパスされるパケットフロー記述子及びセッションへのポインターからＭＭＩＤＰセンサー２５ａ−ｄに到着するパケットに対応するパケットフロー記述子及びセッションへアクセスする。
【００９５】
ステップ３１５において、トラフィックシグネチャ検知ソフトウエアモジュール１４０はＭＭＩＤＰデータベース３５を照会して内部へのパケットのフローに関連するトラフィックシグネチャを見つけ出す。その関連するシグネチャは、内部へのパケットが属するフローのプロトコルを検査することにより見つけられる。例えば、内部へのパケットがＩＣＭＰパケットフローの一部である場合には、ソフトウエアモジュール１４０はＩＣＭＰに基づくトラフィックシグネチャを考慮するに過ぎない。
【００９６】
ステップ３２０において、トラフィックシグネチャが内部へのデータストリーム又はパケットに対してマッチングされる。いずれかのマッチングシグネチャが見つかった場合には、ソフトウエアモジュール１４０がステップ３２５においてトラフィックシグネチャにより特定されるようにシグネチャ特定カウントをアップデートする。例えば、シグネチャカウントは、与えられた時間期間中に同一のＩＰアドレスから幾つの異なるホストがコンタクトされたかをカウントする。シグネチャカウントが所定のスレッシュホールドを超える場合には（ステップ３３０）、ソフトウエアモジュール１４０はステップ３３５においてＭＭＩＤＰ  ＧＵＩ４０ａ−ｄにおいて表示されるべきアラームを発生する。
【００９７】
図６に戻ると、ＭＭＩＤＰセンサー２５ａ−ｄは、又、内部への及び外部へのパケットをネットワーク内の適宜の点に対して経路付けするため（ＩＰルーターソフトウエアモジュール１４５）及びパケットをそれらの宛先へ転送するためにルーチング情報を使用するため（ＩＰフォアワーダーソフトウエアモジュール１５０）ＩＰルーターソフトウエアモジュール１４５及びＩＰフォアワーダーソフトウエアモジュール１５０が設けられている。ＩＰフォアワーダーソフトウエアモジュール１５０はどのパケットがＭＭＩＤＰセンサー２５ａ−ｄを介して許可され且つその他のソフトウエアモジュールのいずれかが悪性のものであると考えたパケットを通過させることについて完全な制御を有している。
【００９８】
次に、図１３を参照すると、内部への又は外部へのパケットの有効性を決定する場合にネットワーク侵入検知及び防止センサーにより取られる例示的なステップを示したフローチャートが示されている。ステップ３５０において、ＭＭＩＤＰセンサー２５ａ−ｄに到着するパケットフラグメントはＩＰデフラグメンテーションソフトウエアモジュール１１５によりパケットに再構築される。ステップ３５５において、ＭＭＩＤＰセンサー２５ａ−ｄにおけるフローマネージャソフトウエアモジュール１２０は内部へのパケットを上述した如くフローテーブルにおけるパケットフロー及びセッションへ編成する。ステップ３６０において、ＭＭＩＤＰセンサー２５ａ−ｄは、内部へのパケットの中でＴＣＰパケットが存在するか否かをチェックする。存在する場合には、ＴＣＰパケットはステップ３６５において並び替えられる。ステップ３７０において、プロトコルアノマリー検知ソフトウエアモジュール１３０が、パケット内に何等かのプロトコル違反が存在するか否かを判別するためにチェックを行う。プロトコル違反を示すパケットはステップ３８０においてドロップされる。
【００９９】
テーブル２４５（図１０）にリストされているプロトコルのネットワークプロトコル仕様に準拠するパケットは、ＭＭＩＤＰデータベース３５からＭＭＩＤＰセンサー２５ａ−ｄへダウンロードされたアタックシグネチャに対してマッチングされるべくステップ３７５においてステートフルシグネチャ検知ソフトウエアモジュール１３５へ進行する。上述したように関連性のあるシグネチャのみがチェックされ、それにより以前に知られているシグネチャに基づくシステムと比較してシグネチャマッチングプロセスを著しく高速化させる。与えられた非ＴＣＰパケット又はＴＣＰデータストリームにおいてシグネチャマッチング情報が存在する場合には、そのパケット又はストリームはステップ３８０においてドロップされる。
【０１００】
マッチングシグネチャを包含することのないパケットは、解析中のパケットと関連するパケットフローとマッチするトラフィックシグネチャが存在するか否かを決定するために、ステップ３８５において、トラフィックシグネチャ検知ソフトウエアモジュール１４０へ通過される。マッチングするトラフィックシグネチャが存在し且つこれらのトラフィックシグネチャのうちのいずれかの内部カウンタが所定のスレッシュホールドを超えると（ステップ３９０，４００）、ＭＭＩＤＰセンサー２５ａ−ｄがＭＭＩＤＰ  ＧＵＩ４０ａ−ｄにおいて表示されるべきアラームをステップ４０５において発生し、そのネットワークにおけるネットワークスイープ又はポートスキャンを表示する。
【０１０１】
最後に、プロトコル違反及びマッチングするアタック及びトラフィックシグネチャを有することのないパケットの全てが、ステップ４１０においてＩＰルーターソフトウエアモジュール１４５及びＩＰフォアワーダーソフトウエアモジュール１５０によって経路付けされ且つそれらの適宜のネットワーク宛先へ転送される。当業者により理解されるように、図１３に関連して上述した全てのステップはＭＭＩＤＰセンサー２５ａ−ｄにおける各新たなパケットの到着時に実施される。当業者により理解されるように、ステップ３７０，３７５，３８５は異なる順番で実施することが可能である。
【０１０２】
次に図１４を参照すると、ネットワーク侵入検知及び防止グラフィカルユーザインターフェースにより実施される例示的な機能の概略図が示されている。ＭＭＩＤＰ  ＧＵＩ４０ａ−ｄはネットワークへ接続されている任意のクライエントからアクセスすることが可能であり且つＭＭＩＤＰサーバー３０及びＭＭＩＤＰセンサー２５ａ−ｄの全ての機能性へのアクセスを提供する。コンフィギュレーションインターフェース４２０は、ネットワークセキュリティ管理者がＭＭＩＤＰセンサー２５ａ−ｄをインストールし且つそれらのメインテナンスに関連するその他のコンフィギュレーション機能を実施することを許容する。セキュリティポリシーエディター４２５は、ネットワークセキュリティ管理者が、どのトラフィックをインスペクトし且つどのアタックをＭＭＩＤＰセンサー２５ａ−ｄが探すべきであるかをネットワークセキュリティポリシーが定義することを特定することを可能とする。ログ及びアラームビュア４３０は、ネットワーク内において何が起こっているかを決定するためにＭＭＩＤＰセンサー２５ａ−ｄ及びＭＭＩＤＰサーバー３０から来る情報を観察することを可能とする。ログはＭＭＩＤＰセンサー２５ａ−ｄを介して来るパケットアクティビティを記述し且つネットワークに関してアタックが試みられた場合にＭＭＩＤＰセンサー２５ａ−ｄによりアラームが発生される。アラームは新規、現実、誤り、又は閉じに分類され、即ち、アタックを試みるパケットがドロップされることに起因して最早アクティブでないアラームである。ネットワークセキュリティ管理者は、それらの日付、発信元ＩＰアドレス、宛先ＩＰアドレス等のその他の特定した基準に従って且つそれらがＭＭＩＤＰセンサー２５ａ−ｄによって発生される順番に従ってログを観察することが可能である。ログは実時間で及び異なるレベルの詳細で観察することが可能である。全てのログはバックアップされ且つＭＭＩＤＰデータベース３５内に格納される。
【０１０３】
ＭＭＩＤＰセンサー２５ａ−ｄ及びＭＭＩＤＰサーバー３０により提供される情報はレポートで編成され、それは、例えばアタックにおいて使用されたトップのＩＰアドレス、トップのアタック、発生されたアラーム及びインシデントの数、及びアラームが実際のものか又は誤りのものであるかについてそうでなければ収集することが困難であるようなネットワーク統計へのアクセスを与える。該レポートは、レポートビュア４３５内に表示される。更に、ネットワークセキュリティ管理者は、ＭＭＩＤＰデータベース３５内に格納されているシグネチャの組からどのシグネチャが新たなシグネチャを作成するのみならずアタックを検知し且つ防止するために使用するかを特定することが可能である。
【０１０４】
最後に、ステータスビュア４４０は、ネットワークセキュリティ管理者が、ＭＭＩＤＰセンサー２５ａ−ｄ、ＭＭＩＤＰサーバー３０、及びその他のネットワークリソースのステータスをモニタすることを可能とする。当業者により理解されるように、ＭＭＩＤＰ  ＧＵＩ４０ａ−ｄは、図１４に関連して上述したもの以外の付加的な機能を実施することが可能である。
【０１０５】
次に図１５を参照すると、ネットワーク侵入検知及び防止中央管理サーバーにより実施される例示的の概略図が示されている。ＭＭＩＤＰサーバー３０は格納、表示及び通知のためにＭＭＩＤＰセンサー２５ａ−ｄ（４４５）からのログ及びアラーム、及びＭＭＩＤＰセンサー２５ａ−ｄ（４５０）のステータスに関する情報を収集する。更に、ＭＭＩＤＰサーバー３０は、ネットワークセキュリティポリシー（４５５）、アタックシグネチャ、ログ及びアラーム、及びその他のレポート用情報を格納するためにＭＭＩＤＰデータベース３５を維持する。ＭＭＩＤＰセンサー２５ａ−ｄがアタック及びトラフィックシグネチャを内部への及び外部へのパケットに対してマッチする場合に、ＭＭＩＤＰサーバー３０はＭＭＩＤＰデータベース３５内に格納されているネットワークセキュリティポリシー又はポリシーアップデートをセンサー（４６０）へ配布する。ＭＭＩＤＰサーバー３０は、又はＭＭＩＤＰ  ＧＵＩ４０ａ−ｄ（４６５）を使用してネットワークセキュリティ管理者により新たなシグネチャが特定される度にＭＭＩＤＰデータベース３５をアップデートする責務を有する。当業者により理解されるように、ＭＭＩＤＰサーバー３０は、図１５に関連して上述したもの以外の付加的な機能を実施することが可能である。
【０１０６】
次に図１６を参照すると、ＦＴＰバウンスアタックがネットワーク上で急迫している場合にネットワーク侵入検知及び防止センサー、サーバー、グラフィカルユーザインターフェースにより取られる例示的なステップを例示したフローチャートが示されている。ステップ４７５において、ユーザはネットワーク内のＦＴＰサーバーへ接続してファイルをダウンロードするか又はアップロードする。このことが起こると、ＦＴＰユーザのソフトウエアは、ステップ４８０において、ＦＴＰサーバーにそのファイルを送信するか又はそこから取られるべきＩＰアドレス及びポート番号を与える。このことは、ＦＴＰ「ポート」コマンドを介して行われる。実際には、ＩＰアドレスはユーザのものであるが、ポートコマンドはＩＰアドレスをユーザのアドレスへ制限するものではない。そのために、アタッカーは、ＦＴＰサーバーに対してユーザのアドレスと異なるＩＰアドレスへの接続を開くように告げ且つＦＴＰサーバーからそれへファイルを転送させることが可能である。このアタックを検知するために、ＭＭＩＤＰセンサーは、ポートコマンドへの要求をユーザのＩＰアドレスと比較し且つそのＩＰアドレスがマッチ即ち一致しない場合には、ユーザへアラームを送信するか又はＦＴＰ接続を閉じることが必要である。
【０１０７】
ステップ４８５において、ユーザはＩＰアドレスをユーザのＩＰアドレスとは異なるＦＴＰサーバーへ送信する。ユーザのＩＰアドレスを包含するパケットがＦＴＰサーバーへ到達する前に、ＭＭＩＤＰセンサーはステップ４９０において任意のパケットフラグメントを再構築し且つそのパケットをステップ４９５において内部へのＦＴＰパケットフローへ編成する。ステップ５００において、ＭＭＩＤＰセンサーはＴＣＰパケットフラグメントをクライエント対サーバー及びサーバー対クライエントデータストリームへリアセンブルさせる。ステップ５０５において、ＭＭＩＤＰセンサーにおけるプロトコルアノマリー検知ソフトウエアモジュール１３０は、そのパケットがＦＴＰポートコマンドの一部であるか否かをチェックする。そうである場合には、ＭＭＩＤＰセンサーは、ユーザのＩＰアドレスをポートコマンドにより特定されたものと比較する。ステップ５１０において、ＭＭＩＤＰは、ポートコマンドが存在していなかったか否か、又はＩＰアドレスがマッチするか否かをチェックする。いずれかが真である場合には、ＭＭＩＤＰセンサーはステップ５２０へスキップする。ポートコマンドが存在しており且つＩＰアドレスがマッチしなかった場合には、ＭＭＩＤＰセンサーは対応するＦＴＰパケットをドロップし、ＭＭＩＤＰサーバー３０へアラームを送信し、且つステップ５１５においてＦＴＰ接続を閉じる。最後に、ステップ５２０において、ＭＭＩＤＰサーバー３０は、ＭＭＩＤＰセンサーからのログ及びパケット情報を収集し且つそれを表示のためにＭＭＩＤＰ  ＧＵＩ４０ａ−ｄへ送信する。
【０１０８】
次に、図１７を参照すると、ネットワーク上でＳＭＴＰ「ｗｉｚ」アタックが急迫している場合にネットワーク侵入検知及び防止センサー、サーバー、グラフィカルユーザインターフェースにより取られる例示的なステップを例示したフローチャートが示されている。「ｗｉｚ」アタックは、アタッカーがネットワークホスト上のルートアクセスを不法に獲得するためにある影響を受け易いＳＭＴＰサーバーを有するＳＭＴＰセッションにおいて「ｗｉｚ」コマンドを使用する場合に発生する。成功すると、アタッカーはネットワークホストについて完全な制御を取り、更なるアタックを開始するためのプラットフォームとしてそれを使用し、Ｅメール及びその他のデータを窃取し、且つ究極的に、ネットワークリソースへのアクセスを獲得することが可能である。「ｗｉｚ」ストリングは、しばしば、Ｅメール本体、受信者リスト等において表われる場合があるので、「コマンドモード」においてクライエント対サーバーＳＭＴＰフローの文脈内においてシグネチャマッチングが行われない場合に誤ったアラームを発生する高い蓋然性が存在している。
【０１０９】
ステップ５３５において、ユーザはネットワーク内のＳＭＴＰサーバーへ接続してＳＭＴＰセッションを確立する。ステップ５４０において、ＳＭＴＰサーバーはＳＹＮ及びＡＣＹパケットを交換することにより３ウエイハンドシェークを介してユーザとのＴＣＰ接続を確立する。ＴＣＰ接続が確立されると、ユーザは、メール送信セッションがコマンドモードにある場合に、ステップ５４５において、「ｗｉｚ」コマンドをＳＭＴＰメールサーバーへ送信する。ステップ５５０において、ＭＭＩＤＰセンサーはユーザにより送信されたパケットフラグメントを再構築する。再構築されたパケットはステップ５５５においてＳＭＴＰパケットフローへ編成される。ステップ５６０において、ＭＭＩＤＰセンサーはＴＣＰパケットフラグメントをクライエント対サーバー及びサーバー対クライエントデータストリームへリアセンブルする。
【０１１０】
クライエント対サーバーデータストリームにおいてＳＭＴＰコマンドが存在している場合には（ステップ５６５）、ＭＭＩＤＰセンサーはステップ５７０においてＳＭＴＰコマンドにおける「ｗｉｚ」シグネチャをサーチする。シグネチャのマッチ即ち一致が見つかると、ＭＭＩＤＰセンサーはＳＭＴＰパケットをドロップし、ＭＭＩＤＰサーバー３０へアラームを送信し、且つステップ５７５においてＳＭＴＰ接続を閉じる。最後に、ステップ５８０において、ＭＭＩＤＰサーバー３０は、ＭＭＩＤＰセンサーからログ及びパケット情報を収集し且つそれを表示のためにＭＭＩＤＰ  ＧＵＩ４０ａ−ｄへ送信する。
【０１１１】
本発明の特定の実施例について詳細に上述したが、この説明は単に例示目的のために過ぎないことが理解される。本発明の特定の特徴は幾つかの図面において示されておりその他においては示されていないが、それは単に便宜的なものであって、いずれかの特徴を本発明に基づいてその他の特徴と結合させることが可能である。上述したプロセスのステップは並び替えるか又は結合することが可能であり、且つその他のステップを包含させることが可能である。更なる変形例はこの開示に鑑み当業者にとって自明であり、且つこのような変形例は本発明の技術的範囲内に該当することが意図されている。
【図面の簡単な説明】
【０１１２】
【図１】ファイアウォール及びネットワーク侵入検知システムにより保護されている従来のネットワーク環境の概略図。
【図２】ＭＭＩＤＰシステムの開示した例において使用されるソフトウエア及びハードウエアコンポーネントの概略図。
【図３】本発明のシステム及び方法が動作する好適なＭＭＩＤＰシステム及びネットワーク環境の概略図。
【図４】本発明のシステム及び方法が動作する別のＭＭＩＤＰシステム及びネットワーク環境の概略図。
【図５】本発明のシステム及び方法が動作する更に別のＭＭＩＤＰシステム及びネットワーク環境の概略図。
【図６】ネットワーク侵入検知及び防止センサーにおいて使用される例示的なソフトウエアモジュールの概略図。
【図７】フローマネージャソフトウエアモジュールにより構成される例示的なフローテーブル。
【図８】新たなパケットがネットワーク侵入検知及び防止センサーに到着する場合にフローマネージャソフトウエアモジュールにより取られる例示的なステップを示したフローチャート。
【図９】ゲートウエイモードで稼動しているネットワーク侵入検知及び防止センサーにパケットが到着する場合にプロトコルアノマリー検知ソフトウエアモジュールにより取られる例示的なステップを示したフローチャート。
【図１０】プライベートネットワークによりサポートされるプロトコルの例示的なテーブル。
【図１１】ゲートウエイモードで稼動しているネットワーク侵入検知及び防止センサーにパケットが到着する場合にステートフルシグネチャ検知ソフトウエアモジュールにより取られる例示的なステップを示したフローチャート。
【図１２】ゲートウエイモードで稼動しているネットワーク侵入検知及び防止センサーにパケットが到着する場合にトラフィックシグネチャ検知ソフトウエアモジュールにより取られる例示的なステップを示したフローチャート。
【図１３】内部への又は外部へのパケットの有効性を決定する場合にネットワーク侵入検知及び防止センサーにより取られる例示的なステップを示したフローチャート。
【図１４】ネットワーク侵入検知及び防止グラフィカルユーザインターフェースにより実施される例示的な機能の概略図。
【図１５】ネットワーク侵入検知及び防止中央管理サーバーにより実施される例示的な機能な概略図。
【図１６】ネットワーク上でＦＴＰバウンスアタックが急迫している場合のネットワーク侵入検知及び防止センサー、サーバー、グラフィカルユーザインターフェースにより取られる例示的なステップを例示したフローチャート。
【図１７】ＳＭＴＰ「ｗｉｚ」アタックがネットワーク上で急迫している場合にネットワーク侵入検知及び防止センサー、サーバー、グラフィカルユーザインターフェースにより取られる例示的なステップを例示したフローチャート。
【図１】
2005517349.tif 000003
【図２】
2005517349.tif 000004
【図３】
2005517349.tif 000005
【図４】
2005517349.tif 000006
【図５】
2005517349.tif 000007
【図６】
2005517349.tif 000008
【図７】
2005517349.tif 000009
【図８】
2005517349.tif 000010
【図９】
2005517349.tif 000011
【図１０】
2005517349.tif 000012
【図１１】
2005517349.tif 000013
【図１２】
2005517349.tif 000014
【図１３】
2005517349.tif 000015
【図１４】
2005517349.tif 000016
【図１５】
2005517349.tif 000017
【図１６】
2005517349.tif 000018
【図１７】
2005517349.tif 000019
【国際調査報告】
2005517349.tif 000020
2005517349.tif 000021
2005517349.tif 000022