(57)【特許請求の範囲】
【請求項１】
論理回路が、第１のネットワーク通信を分析して、サービス、前記サービスに関連するアドレス、および前記サービスにより使用され且つネットワークの第１の部分及び第２の部分の間の通信が許可されるように開いているポートを識別し、前記第１のネットワーク通信は、セキュリティの第１のレベルを有するネットワークの第１の部分内から発信され且つ前記第１のレベルとは異なるセキュリティの第２のレベルを有する前記ネットワークの第２の部分へ送信されることと、
前記論理回路が、ファイアウォールによる使用のための、通信を許可するために開くポートを示す例外リストへのエントリとして、前記サービスの識別子、前記アドレス、および前記ポートを格納することと、
前記論理回路が、前記エントリが前記例外リストに存在していた時間の量を閾値時間と比較することと、
前記論理回路が、前記エントリが前記例外リストに存在していた時間の量が前記閾値時間を超えた時に、前記閾値時間に基づいて、前記例外リストから前記エントリを除去することと、
第１のネットワーク通信が、前記アドレスおよび第１のポートに合致し、かつ前記サービスの前記識別子に合致しないとき、アクティブでない前記第１のネットワーク通信の閾値時間および有効でないｐｉｎｇフラグに基づき、前記第１のネットワーク通信を、前記第１のネットワーク通信により特定されたアドレスおよび第２のポートへ転送することと、
を含む方法。
【請求項２】
前記ネットワークの前記第１の部分の外側から受信された第２のネットワーク通信を、前記サービスの前記識別子、前記アドレス、および前記ポートと比較することをさらに含む、請求項１に記載の方法。
【請求項３】
前記第２のネットワーク通信が、前記サービスの前記識別子、前記アドレス、および前記ポートに合致するとき、前記第２のネットワーク通信を、前記第２のネットワーク通信により特定されたアドレスおよびポートへ転送することをさらに含む、請求項２に記載の方法。
【請求項４】
前記第２のネットワーク通信が、前記アドレスおよび前記ポートに合致し、かつ前記識別子に合致しないとき、前記第１のネットワーク通信の閾値時間またはｐｉｎｇフラグのうち少なくとも１つに基づき、前記第２のネットワーク通信を、前記第２のネットワーク通信により特定されたアドレスおよび前記ポートへ転送することをさらに含む、請求項２に記載の方法。
【請求項５】
前記第１のネットワーク通信に基づき、前記ｐｉｎｇフラグを設定することをさらに含む、請求項４に記載の方法。
【請求項６】
前記第２のネットワーク通信が、前記サービスに対応する前記アドレスおよび前記ポートに合致しないとき、前記第２のネットワーク通信を放棄することをさらに含む、請求項２に記載の方法。
【請求項７】
ネットワークの第１の部分内から発信され且つ前記ネットワークの第２の部分へ送信される第１のネットワーク通信を分析する通信フィルタと、
サービス、前記ネットワークの前記第１の部分内の前記サービスに関連するアドレス、及び前記サービスによって使用され且つネットワークの第１の部分及び第２の部分の間の通信が許可されるように開いているポートを識別する通信パーサと、
前記第１のネットワーク通信が前記サービスの識別子、前記アドレス、および前記ポートを含むとき、前記サービスの識別子、前記アドレス、および前記ポートを例外リストへのエントリとして格納し、前記エントリが前記例外リストに存在していた時間の量を閾値時間と比較し、前記エントリが前記例外リストに存在していた時間の量が前記閾値時間を超えた時に、前記例外リストから前記エントリを除去し、第１のネットワーク通信が、前記アドレスおよび第１のポートに合致し、かつ前記サービスの前記識別子に合致しないとき、アクティブでない前記第１のネットワーク通信の閾値時間および有効でないｐｉｎｇフラグに基づき、前記第１のネットワーク通信を、前記第１のネットワーク通信により特定されたアドレスおよび第２のポートへ転送するファイアウォール例外発生器と、
を備え、
前記通信フィルタ、前記通信パーサ、又は前記ファイアウォール例外発生器の少なくとも１つは、論理回路を用いて、実行される、
機器。
【請求項８】
前記通信フィルタが、前記ネットワークの前記第１の部分の外側から受信された第２のネットワーク通信を、前記例外リストの前記エントリと比較する、請求項７に記載の機器。
【請求項９】
前記通信フィルタが、前記第２のネットワーク通信が前記例外リストの前記エントリに合致するとき、前記第２のネットワーク通信を、前記第２のネットワーク通信により特定されたアドレスおよびポートへ転送する、請求項８に記載の機器。
【請求項１０】
前記通信フィルタが、前記第２のネットワーク通信が前記アドレスおよび前記ポートに合致し、かつ前記識別子に合致しないとき、前記第１のネットワーク通信の閾値時間またはｐｉｎｇフラグのうち少なくとも１つに基づき、前記第２のネットワーク通信を、前記第２のネットワーク通信により特定された前記アドレスおよび前記ポートへ転送する、請求項８に記載の機器。
【請求項１１】
前記通信パーサが、前記第１のネットワーク通信に基づき、前記ｐｉｎｇフラグの値を識別し、かつ前記ファイアウォール例外発生器が前記第１のネットワーク通信に基づき、前記ｐｉｎｇフラグの値を格納する、請求項１０に記載の機器。
【請求項１２】
前記第１のネットワーク通信及び前記第２のネットワーク通信のうち少なくとも１つが、分散コンポーネントオブジェクトモデル通信を含む、請求項８に記載の機器。
【請求項１３】
記憶装置を更に備え、
前記ファイアウォール例外発生器は、前記記憶装置に、前記識別子、前記アドレス、及び前記ポートを格納する、請求項７に記載の機器。
【請求項１４】
実行されるとき、プロセッサに少なくとも
第１のネットワーク通信を分析して、サービス、ネットワークの第１の部分内の前記サービスに関連するアドレス、および前記サービスにより使用され且つ通信が許可されるように開いているポートを識別し、前記第１のネットワーク通信は、前記ネットワークの前記第１の部分内から発信され且つ前記ネットワークの第２の部分へ送信されることと、
前記第１のネットワーク通信が前記サービスの識別子、前記アドレス、および前記ポートを含むとき、通信を許可するために開くポートを示す例外リストへのエントリとして、前記サービスの識別子、前記アドレス、および前記ポートを格納することと、
前記エントリが前記例外リストに存在していた時間の量を閾値時間と比較することと、
前記エントリが前記例外リストに存在していた時間の量が前記閾値時間を超えた時に、前記閾値時間に基づいて、前記例外リストから前記エントリを除去することと、
第１のネットワーク通信が、前記アドレスおよび第１のポートに合致し、かつ前記サービスの前記識別子に合致しないとき、アクティブでない前記第１のネットワーク通信の閾値時間および有効でないｐｉｎｇフラグに基づき、前記第１のネットワーク通信を、前記第１のネットワーク通信により特定されたアドレスおよび第２のポートへ転送することと、
を実行させる、コンピュータ可読な指示を備えるコンピュータ可読な記憶媒体。
【請求項１５】
前記指示が、前記プロセッサに、前記ネットワークの前記第１の部分の外側から受信された第２のネットワーク通信を、前記サービスの前記識別子、前記アドレス、および前記ポートと比較することをさらに実行させる、請求項１４に記載の記憶媒体。
【請求項１６】
前記指示が、前記プロセッサに、前記第２のネットワーク通信が、前記サービスの前記識別子、前記アドレス、および前記ポートに合致するとき、前記第２のネットワーク通信を、前記第２のネットワーク通信により特定されたアドレスおよびポートへ転送することをさらに実行させる、請求項１５に記載の記憶媒体。
【請求項１７】
前記指示が、前記プロセッサに、前記第２のネットワーク通信が、前記アドレスおよび前記ポートに合致し、かつ前記識別子に合致しないとき、前記第１のネットワーク通信の閾値時間またはｐｉｎｇフラグのうち少なくとも１つに基づき、前記第２のネットワーク通信を、前記第２のネットワーク通信により特定された前記アドレスおよび前記ポートへ転送することをさらに実行させる、請求項１５に記載の記憶媒体。
【請求項１８】
前記指示が、前記プロセッサに、前記第２のネットワーク通信が、前記サービスに対応する前記アドレスおよび前記ポートに合致しないとき、前記第２のネットワーク通信を放棄することをさらに実行させる、請求項１５に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概してプロセス制御システムに関し、より具体的にはプロセス制御システム用のファイアウォールを提供するための方法、装置、および製品に関する。
【背景技術】
【０００２】
化学プロセス、石油またはその他のプロセスで使用されるようなプロセス制御システムは、典型的には、アナログバス、デジタルバスまたはアナログバス／デジタルバスの組み合わせを介して少なくとも１つのホストまたはオペレータワークステーションおよび１つ以上のフィールド装置に通信可能に結合された、１つ以上のプロセスコントローラおよび入出力（Ｉ／Ｏ）装置を含む。そのフィールド装置は、たとえばバルブ、バルブポジショナ、スイッチ、送信器（たとえば温度、圧力、および流量センサー）などであり、バルブ開閉、プロセス制御パラメータ計測などのプロセス内部のプロセス制御機能を実行する。プロセスコントローラは、フィールド装置によって作成された、プロセス測定値を表す信号を受け取り、この情報を処理して制御ルーチンを実行するとともに、制御信号を生成する。その制御信号はバスまたはその他の通信回線を介してフィールド装置に送られることにより、プロセスの動作を制御する。このようにして、プロセスコントローラは、フィールド装置と通信可能に結合されたバスおよび／またはその他の通信リンクを介し、フィールド装置を使用して制御戦略を実行および調整してもよい。
【０００３】
フィールド装置およびコントローラからのプロセス情報は、オペレータワークステーション（たとえばプロセッサベースのシステム）によって実行される１つ以上のアプリケーション（すなわちソフトウェアルーチン、プログラムなど）に対して利用可能とされてもよく、これによりオペレータは、プロセスの現在状態の視認（たとえばグラフィカルユーザーインタフェースを介して）、プロセスの分析評価、プロセスの動作の修正（たとえば視覚的オブジェクト図を介して）など、プロセスに関して所望の機能を実行することができる。多くのプロセス制御システムは、１つ以上のアプリケーションステーションも含む。典型的には、これらのアプリケーションステーションは、ローカルエリアネットワーク（ＬＡＮ）を介してプロセス制御システム内部のコントローラ、オペレータワークステーション、およびその他のシステムと通信可能に結合された、パーソナルコンピュータ、ワークステーションなどを使用して実現される。各アプリケーションステーションは、プロセス変数の値、プロセス関連の品質パラメータの値、プロセス障害検出情報および／またはプロセスステータス情報を含むプロセス制御情報を表示するグラフィカルユーザーインタフェースを含んでもよい。
【発明の概要】
【課題を解決するための手段】
【０００４】
プロセス制御システム用のファイアウォールを提供する方法、装置、および製品を開示する。例示の方法には、ネットワークのセキュリティ保護部分の内部を発信元とし、そのセキュリティ保護部分の外部の宛先に送信されるネットワーク通信について、その第一のサービス、ネットワークのセキュリティ保護された部分の内部の第一のサービスと関連づけられたアドレス、および第一のサービスによって使用されるポートのサブセットを特定するためにネットワーク通信を分析することと、そのネットワーク通信に第一のサービスの識別子、アドレス、およびポートのサブセットが含まれる場合に、その識別子、アドレス、およびポートのサブセットを格納することとが含まれる。
【０００５】
いくつかの例示の方法には、ネットワークのセキュリティ保護部分の外部から受け取った第二のネットワーク通信を第一のサービスの識別子、アドレス、およびポートのサブセットと比較することがさらに含まれる。いくつかのかかる例示の方法には、第二のネットワーク通信が第一のサービスの識別子、アドレス、およびポートサブセット内の１つのポートと一致した時に、第二のネットワーク通信によって指定されたアドレスおよびポートに第二のネットワーク通信を転送することが含まれる。
【０００６】
いくつかの例示の方法には、第二のネットワーク通信がアドレス、およびポートサブセット内の１つのポートと一致し、かつ識別子と一致しない場合、第一のネットワーク通信に関する閾値時間またはｐｉｎｇフラグの少なくとも一方に基づいて、第二のネットワーク通信によって指定されたアドレスおよびポートに第二のネットワーク通信を転送することがさらに含まれる。いくつかのかかる例示の方法にはさらに、第一のネットワーク通信に基づいてｐｉｎｇフラグを設定することが含まれる。
【０００７】
いくつかの例示の方法には、第一のサービスに対応する格納されたアドレスおよび格納されたポートと第二のネットワーク通信が一致しない場合に、第二のネットワーク通信を破棄することがさらに含まれる。いくつかの例には、閾値時間に基づいて記憶装置から第一のサービスの識別子、アドレス、およびポートのサブセットを除去することが含まれる。
【０００８】
１つの例示装置は、ネットワークのセキュリティ保護部分の内部を発信元とし、ネットワークのセキュリティ保護部分の外部の宛先に送信されるネットワーク通信を分析するための通信フィルタと、第一のサービス、ネットワークのセキュリティ保護部分の内部の第一のサービスと関連づけられたアドレスを特定し、かつ第一のサービスによって使用されるポートのサブセットを特定するための通信パーサーと、ネットワーク通信が第一のサービスの識別子、アドレス、およびポートのサブセットを含む場合に、その識別子、アドレス、およびポートのサブセットを格納するためのファイアウォール例外発生器と、が含まれる。
【０００９】
いくつかの例において、通信フィルタは、ネットワークのセキュリティ保護部分の外部から受け取った第二のネットワーク通信を第一のサービスの識別子、アドレス、およびポートのサブセットと比較する。そのようないくつかの例において、通信フィルタは、第二のネットワーク通信が第一のサービスの識別子、アドレス、およびポートサブセット内の１つのポートと一致した時に、第二のネットワーク通信によって指定されたアドレスおよびポートに第二のネットワーク通信を転送する。
【００１０】
いくつかの例において、通信フィルタは、第二のネットワーク通信がアドレスおよびポートのサブセット内の１つのポートと一致し、かつ識別子に一致しない場合、第一のネットワーク通信に関する閾値時間またはｐｉｎｇフラグの少なくとも一方に基づいて、第二のネットワーク通信によって指定されたアドレスおよびポートに第二のネットワーク通信を転送する。いくつかの例示装置において、通信パーサーは、第一のネットワーク通信に基づいてｐｉｎｇフラグに関する値を特定し、ファイアウォール例外発生器は、第一のネットワーク通信に基づいてｐｉｎｇフラグの値を格納する。
【００１１】
いくつかの例では、第一または第二のネットワーク通信の少なくとも一方は分散コンポーネントオブジェクトモデル通信を備える。いくつかの例示装置はさらに、記憶装置を含み、ファイアウォール例外発生器は、その記憶装置に識別子、アドレス、およびポートのサブセットを格納する。
【００１２】
例示コンピュータ可読記憶媒体はコンピュータ可読命令を含み、それらの命令がプロセッサによって実行されるとき、プロセッサはネットワーク通信を分析させ、第一のサービス、ネットワークのセキュリティ保護部分の内部の第一のサービスと関連づけられたアドレス、および第一のサービスによって使用されるポートのサブセットを特定する。そのネットワーク通信は、ネットワークのセキュリティ保護部分の内部を発信元とし、ネットワークのセキュリティ保護部分の外部の宛先に送信されるものである。上記プロセッサはまた、ネットワーク通信に第一のサービスの識別子、アドレス、およびポートのサブセットが含まれる場合に、その識別子、アドレス、およびポートのサブセットを格納する。
【図面の簡単な説明】
【００１３】
【図１】例示ファイアウォールを含むプロセス制御環境を示す図である。
【図２】図１の例示ファイアウォールを構成するために使用されてもよい例示グラフィカルユーザーインタフェースを示す図である。
【図３】図１の例示ファイアウォールによりＤＣＯＭ通信を処理してもよい例示の方法またはプロセスを示す、概略図である。
【図４】図１の例示ファイアウォールによりＤＣＯＭ通信を処理してもよい例示の方法またはプロセスを示す、フローチャートである。
【図５】図１の例示ファイアウォールのより詳細なブロック図である。
【図６】図１および図５のファイアウォールを実施してサービスに関する例外を動的に作成する例示の方法を表すフローチャートである。
【図７】図１および図５のファイアウォールを実施してサービスに関する通信をネットワークのセキュリティ保護部分に渡すことを選択的に許可する例示の方法を表すフローチャートである。
【図８】図１および図５のファイアウォールを実施してサービスに関する動的例外を管理する例示の方法を表すフローチャートである。
【図９】図４および図６〜図８の命令を実行して図１および／または図５のファイアウォールを実施することができる例示処理プラットフォームのブロック図である。
【発明を実施するための形態】
【００１４】
他のコンポーネントの中でも、ハードウェア上で実行されるソフトウェアおよび／またはファームウェアを含む、例示の方法、装置、および製品を以下に説明するが、これらの例は説明のためにすぎず、限定とみなされるべきものではない。たとえば、任意の、またはすべてのハードウェア、ソフトウェア、およびファームウェアコンポーネントは、それらをハードウェアのみ、ソフトウェアのみ、またはハードウェアとソフトウェアの任意の組み合わせで具現化できる可能性があることが想定される。したがって、例示の方法、装置、および製品を以下に説明しているが、当業者によって容易に理解されるように、ここに示された例は、それらの方法、装置、および製品を実装する唯一の方法ではない。
【００１５】
ファイアウォールは、通信ネットワークにセキュリティを提供するために広く利用されており、一般に、別のネットワークおよび／または装置を発信元とする通信による通信ネットワークへの不正アクセスを防止する目的で使用される。典型的には、ファイアウォールは、保護対象の、または相対的にセキュリティレベルが高いネットワークを相対的にセキュリティレベルが低い別のネットワークに接続する地点に、物理的または論理的に配置される。いくつかのシステムまたはネットワークでは、複数のセキュリティレベルが関与しており、したがって、複数のファイアウォールおよび／またはその他のセキュリティ設備を含むことがある。典型的には、これらのより複雑なシステムまたはネットワークにおいて、複数のセキュリティレベルは、安全性を高めた異なるレイヤーまたはゾーンとみなされる。連続する各レイヤー、ゾーンまたはレベルに対してセキュリティレベルが高くなると、どのエンティティが次のより高いセキュリティレイヤー、ゾーンまたはレベルと通信してもよいかということに関連した制限が強まり、したがって、通信を許可されるエンティティの数が一般的に減少する。
【００１６】
企業の情報技術（ＩＴ）ネットワークで一般的に使用されている汎用ファイアウォールは非常に複雑な装置であり、その導入、構成および保守を適切に行うためにはＩＴに関する相当な経験が必要とされる。たとえば、そのような汎用ファイアウォールは、どの通信が無許可であり、したがってブロックすべきかを判断するためのセキュリティ機構として、通信ルールを使用する。より具体的には、ファイアウォールを横断しようとする（すなわちファイアウォールの一方の側のより低いセキュリティレベルからファイアウォールによって保護された高セキュリティ側に通過しようとする）各通信パケットについて、ファイアウォールの内部で確立されたルールに照らした問い合わせおよび評価が実行される。ファイアウォールを通過することが許可される通信パケットのルールを満たさないパケットはすべて拒否されてブロックされる。
【００１７】
これらの汎用ファイアウォールによって使用されるルールは、ファイアウォールのセキュア側にあるアプリケーション、コンピュータおよび／または装置にアクセスする各アプリケーション、コンピュータまたはその他の装置について、経験的に作成される。そのようなルール作成は、ファイアウォール構成プロセスの一部とみなされてもよいものであり、高度に熟練したＩＴ要員および／またはネットワーク構築／データ分析の相当な経験を有するその他の要員によって実行されてもよい。そのルール作成プロセスは、多くの場合、制限されていない動作モードにおける通信トラフィックを監視して、許可された通信の各々の特徴を判定したのち、ファイアウォールが使用するための適切なルールを作成することを含む。そのルールに基づき、これらの許可された通信だけがファイアウォールを通過できることになる。より一般的には、このルール作成プロセスは、ルールに組み込まれたものとして、許可された各通信タイプに関するフィンガープリントまたは署名の作成とともに、それらのフィンガープリントまたは署名を使用して無許可の通信の問い合わせおよびブロックを実行することを目指す。
【００１８】
上記のルール作成プロセスにより、ほとんどすべての種類のネットワーク、システムまたはアプリケーションに汎用ファイアウォールを適用できるかなりの柔軟性が提供されるが、ファイアウォールが誤って構成されない（たとえばルールが適切に作成される）ようにするためには相当な技術が必要とされる。ファイアウォールの不適切な構成は、場合によっては、ファイアウォールによって保護すべきネットワークへの不正アクセスおよび／または許可された通信のブロックを引き起こすことがある。さらに、特定目的ファイアウォールが使用されてもよい対象が絞られたアプリケーションでは、汎用ファイアウォールによって提供される柔軟性または汎用性は必要とされない。
【００１９】
プロセス制御システムの場合には、汎用ファイアウォールを使用して、たとえば、プロセス制御システムネットワークと、そのプロセス制御システムに関連した工場または企業内部のより汎用的なネットワークネットワーク間のセキュリティを提供することは、汎用ファイアウォールに関する上述の困難を生じさせる。しかし、プロセス制御環境においては、これらの問題がさらに悪化する。多くの場合、これらの汎用ファイアウォールがプロセス区域の外部（たとえば遠隔地）のＩＴその他の要員によって保守され、したがって、プロセス制御システムのタイムクリティカルなプロセスを維持する必要に応じて利用できるとはかぎらないためである。
【００２０】
したがって、本明細書に説明する例示の方法、装置、および製品は、プロセス制御システムまたは環境で使用するための特定目的ファイアウォールを提供するものである。より具体的には、本明細書に説明する例示ファイアウォールにより、汎用ファイアウォールに関して先に述べたようにファイアウォールを構成するためにルールを作成する必要性が排除される。それに代わるものとして、本ファイアウォールは、アプリケーションと装置間の通信接続を確立するために使用される情報を含むアプリケーションのリストを（たとえばメモリ内に）保持する。それらのアプリケーションおよび装置は、典型的にはプロセス制御システムまたは工場全体に分散されている。そのリストのアプリケーション内部に格納される情報は、他のデータの中でも、許可された各通信タイプに関する通信を特徴づける情報（たとえばルール）を含んでもよい。
【００２１】
いくつかの例において、その構成プロセスには、利用可能なアプリケーションのグラフィックおよび／またはテキストリスト（たとえばドロップダウンリスト）を提示するためのグラフィカルユーザーインタフェースが含まれ、提示される各アプリケーションは、ファイアウォールの反対側にあるアプリケーション、コンピュータおよび／または装置間の特定の通信接続に対応している。ファイアウォールを構成する場合、ユーザーは１つ以上のアプリケーションを単純に選択（たとえばマウスまたはその他のポインティングデバイスを使用）すればよく、これに応答して、ファイアウォールがその選択アプリケーションに関するルールのインスタンスを作成する。グラフィカルユーザーインタフェースは、アウトバウンドおよびインバウンド接続、侵入防止、スキャン保護などの各種の接続に関するさまざまな選択を提供してもよい。さらに、各選択アプリケーションについて、グラフィカルユーザーインタフェースは、選択アプリケーションに関する通信をロギングすること、および／または特定の時間（すなわち一時的に許可された接続）の後で選択アプリケーション（およびそのルール）を失効させることをユーザーが指定できるようにしてもよい。
【００２２】
アプリケーションのリストをファイアウォールに（たとえば製造時に）事前投入してもよく、あるいは、たとえばファイアウォールが接続されたセキュアな通信ネットワーク経由、構成ステーション経由、ハンドヘルド装置経由などで、あとからファイアウォールにダウンロードしてもよい。また、本明細書に説明する例示ファイアウォールにより、ユーザーはアプリケーションのリストに追加するためのアプリケーションを作成することができる。汎用ファイアウォールに関して上述のようにルールを作成したのち、そのルールをファイアウォールにロードすることによって、かかる追加アプリケーションを追加してもよい。これにより、ファイアウォールは、グラフィカルユーザーインタフェースの手段により、それらの追加アプリケーションを事前投入アプリケーションとともに提示することができる。
【００２３】
本明細書に説明する例示ファイアウォールは、分散コンポーネントオブジェクトモデル（ＤＣＯＭ）通信も処理する。そのためにファイアウォール内の未使用ポートを開いて露出する必要はない。汎用ファイアウォールでは、ＤＣＯＭ通信が従来の方法で処理され、動的な（恒久的ではない）ポート割り当てプロセスを容易にする目的でファイアウォール内の多数のポートが開いたままにされてもよい。これは従来のＤＣＯＭ接続の確立の一部である。言い換えれば、汎用ファイアウォールは、ＤＣＯＭ通信の処理のためのルールを含んでもよく、そのルールはその目的のためにファイアウォール内で開放されたままになっているポートを動的に割り当てる。しかし、その目的で多数のポートを開いたままにすると、ファイアウォールを抜けて不正アクセスを得るために使用される可能性があるポートを露出させることになる。
【００２４】
上述のようなファイアウォール内でＤＣＯＭ通信を処理するための既知の手法とは対照的に、本明細書に説明する例示ファイアウォールは、ファイアウォールを通じてＤＣＯＭ通信が確立される際にそれを自動的に検出し、所定のポートを動的に開いたのち、通信が終了した時点でそのポートを閉じる。このようにして、上述の既知の手法のように、その後の動的割り当てのためにファイアウォール内で複数のポートが開放されたたままにされることはない。結果的に、本明細書に説明する例示ファイアウォールは、セキュリティが大幅に向上したシステムを提供する。
【００２５】
次に図１に移ると、プロセス制御環境１００は、本明細書に説明する例示ファイアウォール１０２を含む。例示ファイアウォール１０２は、プロセス制御環境１００のプロセス区域またはレベル１０４と工場または企業レベル１０６との間の通信を仲介する。より具体的には、例示ファイアウォール１０２は、プロセスレベル１０４と関連づけられた相対的に高セキュリティのネットワーク１１２に向けて、相対的に低セキュリティのネットワーク１０８および１１０を介してファイアウォール１０２に送られる、無許可の通信をブロックする。より低セキュリティのネットワーク１０８および１１０は、もっとも低いセキュリティレベルの企業ネットワーク１１０、次にもっとも高いセキュリティレベルの工場ネットワーク１０８、および最高セキュリティレベルのプロセス制御ネットワーク１１２に対応する。
【００２６】
プロセスレベル１０４には、コントローラ、入出力装置、およびフィールド装置１１６に、それらの装置専用のローカルエリアネットワーク１１８を介して通信可能に結合された、１つ以上のワークステーションまたはアプリケーションステーション１１４が含まれてもよい。工場または企業レベル１０６には、各種のデータサービス（たとえばヒストリアンサービス、アンチウイルスサービス、ソフトウェアパッチサービスなど）を実行してもよい、制御アクセスワークステーション１２０および１２２ならびに１つ以上のサーバー１２４、１２６および１２８が含まれてもよい。工場または企業レベル１０６には、会計機能、企業統合機能などを実行してもよい、企業レベルワークステーション１３０および１３２も含まれてもよい。また、汎用ファイアウォール１３４は、企業レベルワークステーション１３０および１３２と、制御アクセスワークステーション１２０、１２２およびサーバー１２４、１２６、１２８と関連づけられたネットワークとの間の通信を仲介してもよい。
【００２７】
したがって、図１の例示プロセス制御環境１００は３つのセキュリティレベルを含む。すなわち、もっとも低いセキュリティレベルは企業レベルのワークステーション１３０および１３２に対応し、次にもっとも高いセキュリティレベルは制御アクセスワークステーション１２０、１２２およびサーバー１２４、１２６、１２８に対応し、最高レベルのセキュリティはプロセス区域１０４に対応する。本開示の教示に従い、例示ファイアウォール１０２は、上述の、および詳しくは図２〜図８に関連して説明する機能を提供する。さらに、例示ファイアウォール１０２は図１のプロセス制御環境１００に関連して説明されているが、任意の他の既存のプロセス制御環境または今後開発されるプロセス制御環境に対して、例示ファイアウォール１０２をより一般的に実施されてもよい。
【００２８】
図２は、図１の例示ファイアウォール１０２を構成するために使用されてもよい例示グラフィカルユーザーインタフェース２００を示す。より具体的には、例示グラフィカルユーザーインタフェース２００は、ファイアウォール１０２のメモリ（図示せず）に格納された命令、コードまたはソフトウェアをファイアウォール１０２の処理ユニットまたはプロセッサを介して実行することによって生成されてもよい。１つの例では、コンピュータ（たとえばラップトップ、ハンドヘルド装置など）を（たとえば有線接続、無線などを介して）ファイアウォール１０２に結合し、ユーザーが例示グラフィカルユーザーインタフェース２００を視認できるようにしてもよい。代替的または追加的に、ユーザーがワークステーション１２０、１２２、１３０、および／もしくは１３２ならびに／またはアプリケーションステーション１１４など、図１に示した１つ以上のコンピューティング装置を介し、ユーザーインタフェース２００を呼び出して視認できるようにしてもよい。
【００２９】
いずれの場合も、例示グラフィカルユーザーインタフェース２００により、ユーザーは、プルダウンリストまたはメニュー２０４を介して１つ以上のアプリケーション２０２を選択することができる。利用可能な各アプリケーション２０２は、許可された通信接続に対応するとともに、許可されたそれぞれの通信がファイアウォール１０２を横断できるようにするためにファイアウォール１０２が使用する基本的なルールまたはルールセットに対応している。アプリケーション２０２は、ファイアウォール１０２の製造時またはその他ファイアウォール１０２の構成以前の任意の時点で、ファイアウォール１０２に事前投入または格納されてもよい。さらに、既知の手法でルールを作成したのち、ユーザーは１つ以上のプルダウンリスト２０４内のアプリケーション２０２を追加することができる。
【００３０】
例示グラフィカルユーザーインタフェース２００は、ユーザーが選択して、任意の選択された接続またはアプリケーション２０２をロギングさせてもよいログチェックボックス２０６も含む。さらに、グラフィカルユーザーインタフェース２００は、選択されたアプリケーションを有効化するためのユーザー選択であってもよい有効化チェックボックス２０８、および１つ以上の選択されたアプリケーション（たとえばルール）２０２を所定の（たとえばユーザー指定の）時間後に無効化するために選択されてもよい「失効」チェックボックス２１０も含んでもよい。
【００３１】
図３は概略図３００を示し、図４は図１の例示ファイアウォール１０２により、ＤＣＯＭ通信が処理されてもよい例示の方法またはプロセスを示すフローチャートである。図３と図４の両方を参照すると、最初にネットワーク管理者３０２がファイアウォール１０２（図１）と通信可能に結合され、ファイアウォール１０２の特定のポートを介して、相対的に低セキュリティの外部ネットワーク３０６から、あるいはネットワークのセキュリティ保護部分の外部から、内部もしくは高セキュリティのネットワーク３０４またはネットワークのセキュリティ保護部分にアクセスできるようにファイアウォール１０２が構成される（ブロック４００）。
【００３２】
高セキュリティの内部ネットワーク３０４に接続されたサーバー３０８は、ファイアウォール１０２を通じて、外部の、より低セキュリティのネットワーク３０６に接続された外部コンピュータ３１０に通信３０９を送る（ブロック４０２）。この通信３０９には、外部コンピュータ３１０に関する情報が含まれる。これは、内部ネットワーク３０４、具体的にはサーバー３０８との通信にブロック４００で指定されたポートを使用するようコンピュータ３１０に指示するための情報である。さらに、ファイアウォール１０２は、この通信３０９を解析するとともに、解析済みの通信３０９から抽出された情報に基づき、指定ポート上の一時的接続を介して、ファイアウォール１０２が外部ネットワーク３０６と内部ネットワーク３０４の通信を一時的に可能にするようにさせる（ブロック４０４）。より具体的には、ブロック４０４における通信３０９の解析は、要求された通信がＤＣＯＭ通信であるという自動的な判定を含んでもよい。
【００３３】
次に外部コンピュータ３１０が指定のポートを介してサーバー３０８に接続し、サーバー３０８内部のＤＣＯＭサービスへの接続要求３１２を行う（ブロック４０６）。ファイアウォール１０２はその接続を許可し、したがって、外部コンピュータ３１０とサーバー３０８は、ファイアウォール１０２を通じてＤＣＯＭ通信３１４を交換することができる（ブロック４０６）。
【００３４】
図３および図４の例は、保護された、またはより高セキュリティのネットワークと相対的に低セキュリティのネットワークの間で、ファイアウォール１０２の複数のポートを開放または露出する必要なしに、ＤＣＯＭ通信を確立するために例示ファイアウォール１０２を使用してもよい１つの態様を表しているにすぎない。結果的に、例示ファイアウォール１０２は、上記のような既知の汎用ファイアウォールよりも大幅に高いレベルのネットワークセキュリティを提供する場合がある。ファイアウォール１０２を使用してネットワークをセキュリティ保護する、より詳細な例を以下に説明する。
【００３５】
図５は、図１の例示ファイアウォール１０２のより詳細なブロック図である。図５の例示ファイアウォール１０２を使用して、たとえば、ネットワーク（たとえばより高セキュリティのネットワーク１１２）のある部分をネットワークの別の部分（たとえばより低セキュリティのネットワーク１０８、１１０）に対して相対的にセキュリティ保護してもよい。
【００３６】
図５の例示ファイアウォール１０２は、通信フィルタ５０２、通信パーサー５０４、ファイアウォール例外発生器５０６、および記憶装置５０８を含む。
【００３７】
図５の例示通信フィルタ５０２は、ネットワークのセキュリティ保護部分（たとえばプリケーションステーション１１４、フィールド装置１１６など）から、そのネットワークのセキュリティ保護部分の外部の宛先に送信するための通信を受け取る。例示通信フィルタ５０２は、ネットワークのセキュリティ保護部分の外部の装置から、そのネットワークのセキュリティ保護部分の内部の宛先に送信するための通信も受け取る。いくつかの例において、ファイアウォール１０２を横断する通信には、ＤＣＯＭ通信が含まれ、かつ／あるいはサービスおよび／またはリモートプロシージャコールに関連した通信が含まれる。
【００３８】
ネットワークのセキュリティ保護部分のセキュリティを確保するため、例示通信フィルタ５０２は、そのセキュリティ保護部分とそのセキュリティ保護部分の外部のリソースとの間のネットワーク通信を分析して、その通信が所望されるかどうか判定する。いくつかの例において、ファイアウォール１０２は、セキュリティ保護されたネットワークを未使用の通信ポート上の攻撃に不必要にさらすことなく所望のサービスを動作できるようにする目的で、ネットワークのセキュリティ保護部分にセキュリティ保護部分の外部のリソースから送られてきた通信（たとえばＤＣＯＭ通信）を動的に許可する。
【００３９】
通信を動的に許可するために、例示通信フィルタ５０２は、ネットワークのセキュリティ保護部分の中を発信元とし、かつネットワークのセキュリティ保護部分の外部の宛先に送られるネットワーク通信（たとえば図３の通信３０９）を分析する。例示通信パーサー５０４は、その通信を解析して、その通信に関連したサービス（たとえばＤＣＯＭサービスのインタフェースユニバーサル識別子)を特定し、その通信に基づくセキュアネットワーク内部の装置のアドレス（たとえばネットワークのセキュリティ保護部分の外部から受け取る動的に許可された通信が送信されるＩＰアドレス）を特定するとともに、動的に許可された通信のために開放されるポートのサブセットを特定する。
【００４０】
例示の通信パーサ５０４は、解析されたネットワーク通信内のそのような情報の存在を、通信のペイロード内のマーカー（例えばマーカー文字列）を識別することにより、すみやかに認識されてもよい。マーカーが存在しなければ、通信パーサ５０４は通信の検索を中止してもよい。他方で、マーカーが存在すれば、例示のファイアウォール例外発生器５０６は、ネットワーク通信から、サービス識別子（例えば、ＵＩＤ）、アドレス、およびポートを抽出する。例示のファイアウォール例外発生器５０６は、サービス識別子、アドレス、およびポートを、例外として記憶装置５０８内に格納された例外リスト５１０内に格納する。いくつかの例では、ファイアウォール例外発生器５０６は、ｐｉｎｇフラグまたは変数が第１の値（例えば、可能、不可能）を持つかどうかを判断する。ｐｉｎｇフラグを、ネットワーク通信に基き、さらなるサービス（例えば動的に許可されたサービスに関連するサービス）の許可を可能にするため使用してもよい。
【００４１】
例外が許可されている間、例示のファイアウォール１０２は、ネットワークのセキュリティ保護された部分の外側からネットワークのセキュリティ保護部分に向けられた、１つまたは複数のネットワーク通信を受信する（例えば図３の通信３１２、３１４）。例示の通信フィルタ５０２は、ネットワーク通信を、（例えば記憶装置５０８内の）例外リスト５１０内のエントリのサービス識別子、アドレス、およびポートと比較し、合致を識別する。合致があれば、例示の通信フィルタ５０２は通信を転送する。
【００４２】
通信フィルタ５０２が、通信がアドレスおよびポートで例外と合致するが、サービス識別子と合致しないと判断する場合、例示の通信フィルタ５０２は、マスタ接続がなおアクティブであるかどうか（例えば通信３０９が時間切れまたは切断したかどうか）判断する。マスタ接続がアクティブであれば、例示の通信フィルタ５０２は装置へ通信を転送してもよい。他方で、マスタ接続が非アクティブであれば、例示の通信フィルタ５０２は、ｐｉｎｇフラグが有効かどうか判断してもよい。ｐｉｎｇフラグが無効であれば、例示の通信フィルタ５０２は、装置への通信を進めてもよい。しかし、マスタ接続が非アクティブでｐｉｎｇフラグが有効であれば、通信フィルタ５０２は通信をフィルタリングまたは放棄する。
【００４３】
図５の例示のファイアウォール１０２のコンポーネントおよび機能は前述した。例示のファイアウォール１０２は、さらに標準ファイアウォール機能のような他のファイアウォール機能を実行してもよい。これらの機能は、例を曖昧にするのを避けるため述べない。さらに、図１〜図５の例示のファイアウォール１０２を分離したファイアウォールとして記載する一方で、例示のファイアウォール１０２を、計算装置の保護のためネットワーク内の計算装置でソフトウェアファイアウォールとして実施してもよい。
【００４４】
図１のファイアウォール１０２の実施方法の例を図５で示したが、図５に示した要素、プロセスおよび／または装置の１つまたは複数は、組み合わされ、分割され、再配置され、省略され、除去され、かつ／またはあらゆる他の方法で実施されてもよい。さらに、図１および／または図５の例示の通信フィルタ５０２、例示の通信パーサ５０４、例示のファイアウォール例外発生器５０６、例示の記憶装置５０８および／または、より一般的に、例示のファイアウォール１０２は、ハードウェア、ソフトウェア、ファームウェアおよび／または、ハードウェア、ソフトウェアおよび／またはファームウェアのいかなる組み合わせで実施されてもよい。よって、例えば、例示の通信フィルタ５０２、例示の通信パーサ５０４、例示のファイアウォール例外発生器５０６、例示の記憶装置５０８および／または、より一般的に、例示のファイアウォール１０２のいずれも、１つまたは複数の回路、プログラム可能なプロセッサ、特定用途集積回路（ＡＳＩＣ）、プログラム可能な論理装置（ＰＬＤ）および／またはフィールドプログラム可能な論理装置（ＦＰＬＤ）、などにより実施することが可能である。この特許の任意の機器またはシステムの請求項が純粋にソフトウェアおよび／またはファームウェアの実装を包含すると読まれるとき、例示の通信フィルタ５０２、例示の通信パーサ５０４、例示のファイアウォール例外発生器５０６、および／または例示の記憶装置５０８のうち少なくとも１つを、ソフトウェアおよび／またはファームウェアを格納するメモリ、ＤＶＤ、ＣＤ、ブルーレイなどのような有形のコンピュータ可読な媒体を含むものとして本明細書に明示的に定義する。さらになお、図１および／または図５の例示のファイアウォール１０２は、図５に示されたものに加え、またはその代わりに、１つまたは複数の要素、プロセスおよび／または装置を含んでもよく、かつ／または示された要素、プロセスおよび装置の任意の２つ以上または全てを含んでもよい。
【００４５】
図１および／または図５のファイアウォール１０２を実施する方法の例を表すフローチャートを、図４および図６〜図８に示す。これらの例で、方法を、図９と関連して後述する、例示の処理プラットフォーム９００に示されたプロセッサ９１２のようなプロセッサが実行するプログラムを含む機械可読な指示を用いて、実施してもよい。プログラムを、ＣＤ−ＲＯＭ、フロッピー（登録商標）ディスク、ハードドライブ、デジタル多用途ディスク（ＤＶＤ）、ブルーレイディスク、またはプロセッサ９１２に関連するメモリのような有形のコンピュータ可読な媒体に格納されたソフトウェア内で実現してもよいが、プログラムの全体および／またはその部分を、プロセッサ９１２以外の装置が代わりに実行する、および／またはファームウェアまたは専用ハードウェア内で実現することが可能である。さらに、例示のプログラムは図４および図６〜図８に示されるフローチャートを参照して記載するが、例示のファイアウォール１０２を実施する多くの他の方法を代わりに使用してもよい。例えば、ブロックの実行命令を変更してもよく、かつ／または記載されたいくつかのブロックを変更、削除、または組み合わせてもよい。
【００４６】
前述のように、図４および図６〜図８の例示のプロセスを、ハードディスクドライブ、フラッシュメモリ、読み出し専用メモリ（ＲＯＭ）、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、キャッシュ、ランダムアクセスメモリ（ＲＡＭ）および／または任意の持続時間の間（例えば、延長された時間の間、永続的に、短い瞬間、一時的バッファリングの間、および／または情報のキャッシュの間）情報が格納される任意の他の記憶媒体のような有形のコンピュータ可読な媒体に格納されたコード化された指示（例えば、コンピュータ可読な指示）を使用して実施してもよい。本明細書で使用される場合、有形のコンピュータ可読な媒体の語は、あらゆるタイプのコンピュータ可読な記憶装置を含み、伝搬している信号を除いて明示的に定義される。加えてまたは代わりに、図４および図６〜図８の例示のプロセスは、ハードディスクドライブ、フラッシュメモリ、読み出し専用メモリ、コンパクトディスク、デジタル多用途ディスク、キャッシュ、ランダムアクセスメモリ、および／または任意の持続時間の間（例えば、延長された時間の間、永続的に、短い瞬間、一時的バッファリングの間、および／または情報のキャッシュの間）情報が格納される任意の他の記憶媒体のような非一時的コンピュータ可読な媒体に格納されたコード化された指示（例えば、コンピュータ可読な指示）を使用して実施されてもよい。本明細書で使用される場合、非一時的コンピュータ可読な媒体の語は、あらゆるタイプのコンピュータ可読な記憶媒体を含み、伝搬している信号を除いて明示的に定義される。本明細書で使用される場合、「少なくとも」の語句が請求項の前提部分内に移行の語として使用されるとき、それは「備える（ｃｏｍｐｒｉｓｉｎｇ）」の語がオープンエンドであるのと同様にオープンエンドである。よって、「少なくとも」をその前提事項内に移行の語として使用する請求項は、請求項に明示的に列挙されるものに加えて要素を含んでもよい。
【００４７】
図６は、サービスの例外を動的に生成する、図１および図５のファイアウォール１０２を実施する例示の方法６００のフローチャートの典型である。例示の方法６００を、ファイアウォール１０２がネットワーク（例えば図１のネットワーク１１２）のセキュリティ保護された部分内の装置からネットワークのセキュリティ保護された部分の外部の装置へ向けられたネットワーク通信を受信するとき、実行してもよい。
【００４８】
例示の方法６００は、ネットワークのセキュリティ保護された部分からネットワークのセキュリティ保護された部分の外側の位置または装置へ向けられたネットワーク通信を（例えば、図５の通信フィルタ５０２を介して）、分析することで開始する（ブロック６０２）。例示の通信パーサ５０４は、ネットワーク通信内にマーカーが存在するかどうか判断する（ブロック６０４）。マーカーが存在する場合（ブロック６０４）、例示のファイアウォール例外発生器５０６は、サービスのＵＩＤ、アドレス（例えば、図３のサーバ３０８のＩＰアドレス）、およびサーバ３０８のポートをネットワーク通信から識別する（ブロック６０６）。例示のファイアウォール例外発生器５０６は、ＵＩＤ、アドレス、およびポートを、（例えば、図５の記憶装置５０８内の例外リスト５１０に）格納する（ブロック６０８）。図６の例では、ファイアウォール例外発生器５０６はまた、ｐｉｎｇフラグ値も格納する（ブロック６１０）。例示の方法６００は、それから終了する。
【００４９】
図７は、サービスの通信が、ネットワークのセキュリティ保護された部分を通過するのを選択的に認める、図１および図５のファイアウォール１０２を実施する例示の方法７００のフローチャートの典型である。例えば、ネットワークのセキュリティ保護された部分への送信のため通信が受信されるとき（例えば、図３の通信３１２、３１４）、例示の方法７００を、例示のファイアウォール１０２が実行してもよい。
【００５０】
例示の方法７００は、ネットワークのセキュリティ保護された部分の外側から受信されたネットワーク通信を、（例えば、図５の通信フィルタ５０２を介して）分析することで開始する（ブロック７０２）。例示の通信フィルタ５０２は、ネットワーク通信の宛先アドレスおよびポートを判断する（ブロック７０４）。
【００５１】
例示の通信フィルタ５０２は、ネットワーク通信が例外リスト（例えば図５の例外リスト５１０）内のアドレスおよびアドレスに対応するポートに合致するかどうか判断する（ブロック７０６）。ネットワーク通信が例外リスト５１０内のいずれのアドレスおよび対応するポートに合致しなければ（ブロック７０６）、例示の通信フィルタ５０２はネットワーク通信を放棄する（ブロック７１６）。
【００５２】
他方で、通信フィルタ５０２がネットワーク通信がアドレスおよび対応するポートに合致すると判断する場合、例示の通信フィルタ５０２は、ネットワーク通信が、合致したアドレスおよびポートに対応する例外リスト５１０内のサービス識別子（例えば、ＵＩＤ）に合致するかどうか判断する（ブロック７０８）。ネットワーク通信がサービス識別子に合致すれば（ブロック７０８）、例示の通信フィルタ５０２は、ネットワークのセキュリティ保護された部分内のアドレスおよびポートへネットワーク通信を転送する（ブロック７１４）。
【００５３】
ネットワーク通信がアドレスおよび対応するポートに合致するがサービス識別子と合致しない場合（ブロック７０８）、例示の通信フィルタ５０２は、ネットワーク通信のマスタ接続がアクティブかどうか判断する（ブロック７１０）。マスタ通信は、例外リスト５１０内のマッチング例外が生じたネットワーク通信（例えば図３の通信３１２、３１４に対するネットワーク通信３０９）であってもよい。マスタ接続がアクティブであれば（ブロック７１０）、例示の通信フィルタ５０２は、ネットワーク通信を転送してもよい（ブロック７１４）。マスタ接続がアクティブでなければ（ブロック７１０）、例示の通信フィルタ５０２は、マスタ接続に対するｐｉｎｇフラグが有効かどうか判断する（ブロック７１２）。例えば、通信フィルタ５０２は、アドレスおよびポートに合致するエントリに対して例外リスト５１０をチェックし、ｐｉｎｇフラグの値または変数を判断してもよい。マスタ接続に対するｐｉｎｇフラグが有効であれば（ブロック７１２）、例示の通信フィルタ５０２はネットワーク通信をフィルタリングまたは放棄する。他方で、ｐｉｎｇフラグが無効であれば（ブロック７１２）、例示の通信フィルタ５０２はネットワークのセキュリティ保護された部分内のアドレスおよびポートへネットワーク通信を転送する（ブロック７１４）。
【００５４】
ネットワーク通信を転送した（ブロック７１４）またはネットワーク通信を放棄した（ブロック７１６）後、例示の方法７００は終了してもよい。
【００５５】
図８は、サービスの動的例外を管理する図１および図５のファイアウォール１０２を実施する例示の方法８００のフローチャートの典型である。図８の例示の方法８００は、周期的、非周期的、オンデマンドで、事象に対応して、および／または任意の他の時間に、動的例外を管理するため実行されてもよい。
【００５６】
図５の例示のファイアウォール例外発生器５０６は、（例えば、記憶装置５０８内の）例外リスト５１０内のエントリを選択する（ブロック８０２）。例示のファイアウォール例外発生器５０６は、選択されたエントリが例外リスト５１０内に時間の閾値の間存在したかどうか判断する（ブロック８０４）。閾値時間は、経験的に判断、ポリシーにより設定、および／またはネットワークのセキュリティ保護された部分の管理者が設定してもよい。選択されたエントリが例外リスト５１０内に閾値時間の間存在した場合（ブロック８０４）、例示のファイアウォール例外発生器５０６は例外リストからエントリを削除する（ブロック８０６）。例外エントリの削除は、ファイアウォール１０２内のオープンだが未使用のポートの数を減少させることにより、ネットワークのセキュリティ保護された部分のセキュリティを向上する場合がある。選択されたエントリが例外リスト５１０内に閾値時間未満の間存在した場合（ブロック８０４）、またはエントリ削除後の場合（ブロック８０６）、例示の方法８００は終了してもよい。いくつかの例では、ファイアウォール例外発生器５０６は、例外リスト５１０内のそれぞれのエントリに対し方法８００を繰り返す。
【００５７】
図９は、図１および／または図５のファイアウォール１０２を実施する、図４および図６〜図８の指示を実行可能な例示の処理プラットフォーム９００のブロック図である。処理プラットフォーム９００は、例えば、ファイアウォール装置、サーバ、パーソナルコンピュータ、または任意の他のタイプの計算装置またはインターネット装置とすることができる。
【００５８】
この例の処理プラットフォーム９００は、プロセッサ９１２を含む。例えば、プロセッサ９１２は、任意の所望のファミリまたは製造者からの１つまたは複数のマイクロプロセッサまたはコントローラによって実施することができる。
【００５９】
プロセッサ９１２はローカルメモリ９１３（例えば、キャッシュ）を含み、バス９１８を介して揮発性メモリ９１４および不揮発性メモリ９１６を含むメインメモリと通信している。揮発性メモリ９１４は、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、ＲＡＭＢＵＳダイナミックランダムアクセスメモリ（ＲＤＲＡＭ）および／または任意の他のタイプのランダムアクセスメモリ装置により実装されてもよい。不揮発性メモリ９１６は、フラッシュメモリおよび／または任意の他の所望のタイプのメモリ装置により実装されてもよい。メインメモリ９１４、９１６へのアクセスは、メモリコントローラにより制御される。
【００６０】
処理プラットフォーム９００はまた、インタフェース回路９２０も有する。インタフェース回路９２０は、イーサネット（登録商標）インタフェース、汎用シリアルバス（ＵＳＢ）、および／またはＰＣＩエクスプレスインタフェースのような、任意のタイプのインタフェース規格により実装されてもよい。
【００６１】
１つまたは複数の入力装置９２２が、インタフェース回路９２０に接続される。入力装置９２２は、ユーザがプロセッサ９１２内へデータおよびコマンドを入力するのを認める。入力装置は、例えば、キーボード、マウス、タッチスクリーン、トラックパッド、トラックボール、イソポイント（ｉｓｏｐｏｉｎｔ）および／または音声認識システムにより実装することができる。
【００６２】
１つまたは複数の出力装置９２４もまた、インタフェース回路９２０に接続される。出力装置９２４は、例えば、ディスプレイ装置（例えば、液晶ディスプレイ、陰極線管ディスプレイ（ＣＲＴ）、など）により実施することができる。インタフェース回路９２０は、よって、通常はグラフィックドライバカードを含む。
【００６３】
インタフェース回路９２０は、ネットワーク９２６（例えばイーサネット（登録商標）接続、デジタル加入者回線（ＤＳＬ）、電話線、同軸ケーブル、セルラー電話システム、など）を介した外部のコンピュータとのデータ交換を容易にする、モデムまたはネットワークインタフェースカードのような通信装置も有する。
【００６４】
処理プラットフォーム９００は、ソフトウェアおよびデータを格納する１つまたは複数の大容量記憶装置９２８も有する。そのような大容量記憶装置９２８の例は、フロッピー（登録商標）ディスクドライブ、ハードドライブディスク、コンパクトディスクドライブおよびデジタル多用途ディスク（ＤＶＤ）ドライブを含む。大容量記憶装置９２８は、図５の例示の記憶装置５０８を実装してもよい。
【００６５】
図４および図６〜図８の方法を実施するためのコード化された指示９３２を、大容量記憶装置９２８内、揮発性メモリ９１４内、不揮発性メモリ９１６内、および／またはＣＤまたはＤＶＤのような着脱可能な記憶媒体に格納してもよい。
【００６６】
特定の例示の方法、機器および製品を本明細書に記載したが、本特許の対象の範囲はこれらに限定されない。反対に、本特許は、本特許の請求項の範囲内に正当に含まれる全ての方法、機器および製造の物品を包含する。
【図１】
0006306779.tif 000002
【図２】
0006306779.tif 000003
【図３】
0006306779.tif 000004
【図４】
0006306779.tif 000005
【図５】
0006306779.tif 000006
【図６】
0006306779.tif 000007
【図７】
0006306779.tif 000008
【図８】
0006306779.tif 000009
【図９】
0006306779.tif 000010