(57)【特許請求の範囲】
【請求項１】
通信リンクによって通信可能に接続された複数のネットワークノードを有する通信ネットワークで使用する、異常検出システムであって、
複数のメッセージモジュールのそれぞれが、前記ネットワークノードのうちのひとつにあるプロセッサ上で実行して、前記ネットワークノードでメッセージトラフィックを検出して、前記ネットワークノードで前記メッセージトラフィックについてのメタデータを発生する前記複数のメッセージモジュールと、
前記通信ネットワークに接続された処理装置内に格納されて、前記処理装置で実行される解析エンジンであって、
メタデータ記憶部と、
前記処理装置のプロセッサ上で実行して、前記複数のメッセージモジュールからの前記ネットワークノードのそれぞれについてのメタデータを受信し、かつ、該受信したメタデータを前記メタデータ記憶部に格納する制御部と、
前記メタデータを処理するために利用されるように定義された論理ルールの集合を格納するルールデータベースであって、
前記格納された論理ルールの集合は、前記通信ネットワークの構成に基づいて定義された１つ以上のルールを含み、
前記通信ネットワークの構成は、前記複数のネットワークノードの１つ以上が前記メッセージトラフィックを生成するように動作する手法を定義し、
前記構成に基づいて定義された前記１つ以上のルールは、前記メタデータを処理するよりも先に定義されることを特徴とする前記ルールデータベースと、
前記処理装置のプロセッサ上で実行して、前記ルールデータベースに格納された前記論理ルールの集合を用いて前記メタデータ記憶部に格納された前記メタデータを処理して、前記通信ネットワーク内のトラフィックパターンの異常を検出するルールエンジンと、
前記処理装置のプロセッサ上で実行して、検出された異常の通知をユーザに対して送信する通知モジュールとを含む前記解析エンジンと
を含む異常検出システム。
【請求項２】
前記解析エンジンは、前記通信ネットワークの動作中の前記通信ネットワークについて、ベースライン時間の間で収集されたメタデータに関するベースライン情報を格納するメタデータベースラインデータベースをさらに含むものであり、前記ルールエンジンは、前記処理装置のプロセッサ上で実行して、前記ルールデータベースに格納された前記論理ルールの集合と前記メタデータベースラインデータベース内に格納された前記ベースライン情報とを用いて前記メタデータ記憶部内に格納された前記メタデータを処理して前記通信ネットワーク内のトラフィックパターンの異常を検出するものである、請求項１に記載の異常検出システム。
【請求項３】
前記通信ネットワークに接続されたさらなる処理装置に格納された構成変更検出モジュールをさらに含むものであって、前記構成変更検出モジュールは、前記さらなる処理装置のプロセッサ上で実行して前記通信ネットワークの構成に対する構成変更を検出して、前記解析エンジンに検出された構成変更の通知を送信する、請求項１又は請求項２に記載の異常検出システム。
【請求項４】
前記解析エンジンの前記制御部は、前記検出された構成変更に基づいて前記ルールデータベース内の論理ルールを変更する、請求項３に記載の異常検出システム。
【請求項５】
前記解析エンジンの前記制御部は、前記検出された構成変更に応じてメタデータデータベース内の前記通信ネットワークについて新しいベースラインメタデータの集合を収集して、新しい構成で実行する通信ネットワークについて、前記新しいベースラインメタデータの集合から新しいベースライン情報の集合を発生する、請求項４に記載の異常検出システム。
【請求項６】
前記制御部は、前記ルールデータベース内の論理ルールの変更の前に、ユーザから新しい論理ルールを受信する、請求項４又は請求項５に記載の異常検出システム。
【請求項７】
前記構成変更検出モジュールは、構成変更の詳細を前記解析エンジンへ伝達する、請求項３〜請求項６の何れか１項に記載の異常検出システム。
【請求項８】
メタデータベースラインデータベースは、１つまたは複数の前記論理ルールによって用いられて、前記メタデータ記憶部内に格納された前記メタデータを用いて異常を検出する、制限または範囲を反映する１つまたは複数のメタデータパラメータを格納する、請求項２〜請求項７の何れか１項に記載の異常検出システム。
【請求項９】
前記通知モジュールはプロセッサ上で実行して、前記通信ネットワークの１つまたは複数のネットワークノード内で通信パラメータを設定する、請求項１〜請求項８の何れか１項に記載の異常検出システム。
【請求項１０】
前記メッセージモジュールのうちのひとつが、１つまたは複数のフィールド機器に接続されてプロセスまたは産業用プラントを制御するプロセスコントローラ装置内に配置される、請求項１〜請求項９の何れか１項に記載の異常検出システム。
【請求項１１】
プラント環境で使用する、異常検出システムであって、
プロセッサおよびコンピュータ読み取り可能なメモリをそれぞれ有する複数のネットワークノードであって、通信リンクによって相互に接続される前記複数のネットワークノードを含む通信ネットワークと、
メッセージモジュールのそれぞれが、前記ネットワークノードのうちの異なるひとつにある前記プロセッサで実行して、前記ネットワークノードでメッセージトラフィックを検出して、前記ネットワークノードで前記メッセージトラフィックについてメタデータを発生する、複数のメッセージモジュールと、
前記複数のメッセージモジュールのそれぞれに通信可能に接続されて、前記通信ネットワークに接続された処理装置で実行する解析エンジンであって、
メタデータ記憶部と、
前記処理装置のプロセッサで実行して、前記複数のメッセージモジュールからの前記ネットワークノードのそれぞれについての前記メタデータを受信し、該受信したメタデータを前記メタデータ記憶部に格納する制御部と、
前記メタデータを処理するために利用されるように定義された論理ルールの集合を格納するルールデータベースであって、
前記格納された論理ルールの集合は、前記通信ネットワークの構成に基づいて定義された１つ以上のルールを含み、
前記通信ネットワークの構成は、前記複数のネットワークノードの１つ以上が前記メッセージトラフィックを生成するように動作する手法を定義し、
前記構成に基づいて定義された前記１つ以上のルールは、前記メタデータを処理するよりも先に定義されることを特徴とする前記ルールデータベースと、
前記処理装置のプロセッサで実行して、前記ルールデータベースに格納された前記論理ルールの集合を用いて前記メタデータ記憶部に格納された前記メタデータを処理して、前記通信ネットワーク内のトラフィックパターンの異常を検出するルールエンジンと、
前記処理装置のプロセッサで実行して、検出された異常の通知を送信する通知モジュールとを含む前記解析エンジンと
を含む異常検出システム。
【請求項１２】
前記解析エンジンは、さらに、前記通信ネットワークの動作中の前記通信ネットワークについて、ベースライン時間の間で収集されたメタデータに関するベースライン情報を格納するメタデータベースラインデータベースを含むものであり、前記ルールエンジンは、前記処理装置のプロセッサ上で実行して、前記ルールデータベースに格納された前記論理ルールの集合と前記メタデータベースラインデータベース内に格納された前記ベースライン情報とを用いて前記メタデータ記憶部内に格納された前記メタデータを処理して前記通信ネットワーク内のトラフィックパターンの異常を検出するものである、請求項１１に記載の異常検出システム。
【請求項１３】
前記通信ネットワークに接続されたさらなる処理装置に格納された構成変更検出モジュールをさらに含むものであって、前記構成変更検出モジュールは、前記さらなる処理装置のプロセッサで実行して、前記通信ネットワークの構成に対する構成変更を検出して、かつ、前記解析エンジンに検出された構成変更の通知を送信する、請求項１１又は請求項１２に記載の異常検出システム。
【請求項１４】
前記構成変更検出モジュールは、構成変更の詳細を前記解析エンジンへ伝達する、請求項１３に記載の異常検出システム。
【請求項１５】
前記解析エンジンの前記制御部は、検出された構成変更に応じてメタデータデータベース内の前記通信ネットワークについて、ベースラインメタデータの集合を収集して、新しい構成の前記通信ネットワークについて、前記ベースラインメタデータの集合からベースライン情報の集合を発生するものであり、前記ルールエンジンは、前記論理ルールの実行に前記ベースライン情報の集合を用いて異常を検出するものである、請求項１３又は請求項１４に記載の異常検出システム。
【請求項１６】
通信リンクによって相互に接続された複数のネットワークノードを有するプラントの通信ネットワークで異常検出を行う方法であって、
２つまたはそれ以上の前記複数のネットワークノードのそれぞれにあるプロセッサを用いて、前記２つまたはそれ以上の前記複数のネットワークノードのメッセージトラフィックを解析して、前記２つまたはそれ以上の前記複数のネットワークノードのそれぞれにおいて前記メッセージトラフィックについてのメタデータを作成することと、
前記２つまたはそれ以上の前記複数のネットワークノードのそれぞれからの作成されたメタデータを前記通信ネットワークに接続されたコンピュータ処理装置内に配置された解析エンジンへ電子的に送信することと、
前記コンピュータ処理装置にあるコンピュータ読み取り可能なメモリ上で、前記２つまたはそれ以上の前記複数のネットワークノードのそれぞれからの前記メタデータを格納することと、
ベースラインメタデータパラメータの集合を、前記コンピュータ処理装置にあるコンピュータ読み取り可能なメモリに格納することと、
前記コンピュータ処理装置のプロセッサを用いて、前記解析エンジンにおいて、
前記メタデータを解析するために利用されるように定義された論理ルールの集合および格納されたベースラインメタデータパラメータを用いて格納されたメタデータを解析して、前記通信ネットワークの前記ネットワークノードのうちの１つまたは複数にあるトラフィックパターン内に異常があるかどうかを判定することであって、
前記論理ルールの集合は、前記通信ネットワークの構成に基づいて定義された１つ以上のルールを含み、
前記通信ネットワークの構成は、前記複数のネットワークノードの１つ以上が前記メッセージトラフィックを生成するように動作する手法を定義し、
前記構成に基づいて定義された前記１つ以上のルールは、前記メタデータを処理するよりも先に定義されることを特徴とする前記判定することと、
前記通信ネットワークの前記ネットワークノードのうちの１つまたは複数にある前記トラフィックパターン内に異常が検出された場合に、前記トラフィックパターン内の前記異常を修正する動きを行うことと
を含む、異常検出を行う方法。
【請求項１７】
前記通信ネットワークの構成に対する構成変更を検出すること、および検出された構成変更の通知を前記解析エンジンへ送信することをさらに含む、請求項１６に記載の方法。
【請求項１８】
検出された構成変更に基づいて、格納されたメタデータの解析に用いられる前記論理ルールのうちのひとつを変更することをさらに含む、請求項１７に記載の方法。
【請求項１９】
前記検出された構成変更の詳細を前記解析エンジンに伝達すること、および構成変更の詳細に基づいて前記格納されたメタデータの解析に用いられる前記論理ルールのうちのひとつを変更することをさらに含む、請求項１７又は請求項１８に記載の方法。
【請求項２０】
構成変更の検出に応じて、前記構成変更の後の前記通信ネットワークの動作に基づいて新しいメタデータの集合を収集すること、および前記通信ネットワークの１つまたは複数の前記ネットワークノードからのメタデータを解析することにおいて、前記解析エンジンによる使用のために、前記新しいメタデータの集合からの新しいベースラインメタデータパラメータの集合を発生することをさらに含む、請求項１７〜請求項１９の何れか１項に記載の方法。
【請求項２１】
作成されたメタデータを送信することは、前記作成されたメタデータを前記２つまたはそれ以上の前記複数のネットワークノードから、前記通信リンクを通じて前記解析エンジンへ送信することを含む、請求項１６〜請求項２０の何れか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は、概して、プロセスまたは産業用プラントの通信システムに関するものであり、より詳細には、プラント通信ネットワーク内のメッセージトラフィックの異常検出に基づく、例えばプロセスおよび産業用制御システムにおいて用いられるような通信ネットワークの制御および保守への侵入を検出することに関する。
【背景技術】
【０００２】
発電、化学、石油または他の製造プロセスで用いられるものであるような分散または拡張性のあるプロセス制御システムなどの、プロセスまたは産業用制御および保守システムは、ふつう、お互いに、プロセス制御ネットワークを介して少なくとも１つのホストまたはオペレータワークステーションに、そしてアナログ、デジタルまたはアナログ／デジタル複合バスを介して１つまたは複数のフィールド機器に、通信可能に接続された１つまたは複数のコントローラを含む。例えばバルブ、バルブポジショナ、スイッチ、伝送器（例えば、温度、圧力および流量センサ）でありうるフィールド機器は、例えばバルブの開閉、装置のオンならびにオフの切り替え、およびプロセスパラメータの測定などのプロセスまたはプラント内で機能する。コントローラは、フィールド機器によりなされたプロセスまたはプラントの測定を示す信号および／またはフィールド機器に関する他の情報を受信し、この情報を用いて１つまたは複数の制御ルーチンを実行し、その後プラントネットワークのバスまたは通信チャネルを通じてフィールド機器に送信される制御信号を発生してプロセスまたはプラントの動作を制御する。フィールド機器およびコントローラからの情報は、ふつう、オペレータワークステーションによって実行される１つまたは複数のアプリケーションにおいて、通信ネットワークを介して利用可能になされ、オペレータまたは保守担当者に、例えばプラントの現状を調査すること、プラントの動作を変更すること、装置を較正すること、欠陥のある装置を検出することなどのプロセスまたはプラントに関するあらゆる所望の機能を行うことを可能にする。
【０００３】
プロセスプラント環境内に通常配置されるプロセスコントローラは、構成図に従って構成されて、動作中、フィールド機器により作成されたもしくはフィールド機器に関連するプロセス測定値またはプロセス変数を示す信号および／またはフィールド機器に関する他の情報を、周期的にまたは規則正しく受信して、この情報を用いてコントローラのアプリケーションを実行する。コントローラのアプリケーションは例えば、プロセス制御の決定をする、受信した情報に基づいて制御信号を生成する、および、例えばフィールド機器であるHART（登録商標）やFOUNDATION（登録商標） Fieldbusなどのフィールド機器における制御モジュールまたはブロックと連携するものである異なる制御モジュールを実行する。さらに、プロセスコントローラにおける制御モジュールは、再び構成図に従って、制御信号を通信線または他の信号パスを通じてフィールド機器に送信し、それによりプロセスの動作を制御する。
【０００４】
フィールド機器およびプロセスコントローラからの情報はまた、ふつう、プラント内またはプラント外の１つまたは複数のハードウェア装置、例えば、オペレータワークステーション、保守ワークステーション、サーバ、パーソナルコンピュータ、携帯用デバイス、データヒストリアンまたは事象ヒストリアン（historian）、リポートジェネレータ、集中型データベースなどにおいて、１つまたは複数の保護されたプロセス制御または保守ネットワークを介して、利用可能であるようになされる。プロセス制御または保守通信ネットワークを通じて伝達される情報は、オペレータまたは保守担当者に対して、プロセスに関して所望の機能を行うことおよび／またはプラントの動作もしくはプラント内の装置を調査することを可能にさせる。例えば、制御情報は、オペレータに対して、プロセス制御ルーチンの設定を変更すること、プロセスコントローラまたはスマートフィールド機器内の制御モジュールの動作を変更すること、プロセスの現状またはプロセスプラント内の特定の装置の現状を観察すること、フィールド機器やプロセスコントローラにより発生された警報およびまたはアラートを調査すること、人員の訓練目的またはプロセス制御ソフトウェアの試験のためにプロセス動作をシミュレートすること、プロセスプラント内の問題やハードウェアの故障を診断することなどを許可する。
【０００５】
フィールド機器およびコントローラは、一般に、例えばイーサネット（登録商標）で構成されたＬＡＮとして実行されうる１つまたは複数の保護されたプロセス制御または保守の通信ネットワークを通じて他のハードウェア装置と通信する。このプロセス制御または保守通信ネットワークは、プロセスパラメータ、ネットワーク情報および他のプロセス制御データを様々なネットワーク装置を介して、プロセス制御システム内の様々な実体へ送信する。代表的なネットワーク装置は、ネットワークインタフェースカード、ネットワークスイッチ、ルータ、サーバ、ファイアウォール、コントローラ、オペレータワークステーションおよびデータベースを含む。ネットワーク装置は、普通、そのルーティング、フレーム率、タイムアウト、および他のネットワークパラメータを制御することによってネットワークを介したデータの流れが促進されるが、プロセスデータ自体は変更されない。プロセス制御ネットワークは大きさや複雑さが増しているため、ネットワーク装置の数や種類は対応して増加している。システムおよびネットワークの増加の結果として、これら複雑なシステム内の保護および管理が徐々に難しくなっている。しかしながら、まずはこれらネットワークを他の外部ネットワークから隔離し、１つまたは複数のファイアウォールによって外部攻撃から保護することが一般的である。
【０００６】
通常、典型的な産業用制御システムでは、ネットワークへの侵入を制限するために、制御システム内に、戦略的に、プラント制御システムのワークステーション／サーバが、プラントと連携して様々な機能を行う外部プラントネットワークと制御およびデータ取得機能を行う組み込み制御装置（例えば、コントローラ、ＰＬＣ、ＲＴＵ）との間に配置されている。制御ワークステーション／サーバにおける主要なセキュリティ対策としては、マルウェアが、制御および保守システムへの侵入し、組み込み装置へ悪影響を及ぼすのを防ぐこと、ならびにマルウェアがプラントプロセス制御データベース内に格納された構成および履歴のデータを変更するのを防ぐことである。さらにまた、これらワークステーション／サーバは、制御システムへの不正なアクセスを防いで、プラント構成の不正な変更、プラントデータへの不正なアクセスなどを防ぐ。ファイアウォール、「アンチウィルス」ソフトウェアおよび「ホワイトリスト（ｗｈｉｔｅ  ｌｉｓｔｉｎｇ）」などの多くのセキュリティ機能は、これらセキュリティ対策に取り組むことに用いられるが、これらのセキュリティ機能は概して十分でない。例えば、アンチウィルスソフトウェアは、「ゼロデイ」ウィルスを防ぐことができず、ホワイトリストは不正なアプリケーションが実行するのを防ぐだけである。また、いくつかのこれらの機能は、プロセス制御システムにおいて邪魔となり操作上実用的でないことから、これらのセキュリティ機能は、プラントオペレータの業務を妨げる可能性を有する。
【０００７】
一般的な意味では、例えばゼロデイ攻撃の核心にあるマルウェアは、ふつう、外部ネットワークとの認証された通信接続を介して、プロセス制御ネットワーク内の記憶装置、ネットワークポートまたはダイレクトなデータリンクにアクセスする特権または認証を有するアプリケーションまたはサービスの動作によって保護された制御システムネットワークに導入される。あるいは、マルウェアはまた、感染した携帯用デバイスおよび／または媒体を制御システム装置に接続するローカルな人員を介して保護された制御システムネットワークに導入されうる。それによってマルウェアは他の装置に広められること（例えば通信を介して）、および／またはマルウェアに感染する可能性があるアプリケーションまたはサービスのセキュリティ特権を利用してプロセス制御ネットワーク内の装置内で実行されることが可能である。さらに、マルウェアはそれ自体がローカルに生き残り、ネットワーク装置の再起動後に、マルウェアが再び実行されることを可能にしうる。いくつかの場合では、マルウェアは、アプリケーションまたはサービスの実行下でアカウントの特権を利用して、例えば、感染したアプリケーションまたはサービスといったホストの特権を拡大しうるものであり、そうする際に、マルウェアは、より高い特権を要求するプロセス制御装置またはネットワーク装置内で動きまたは動作を行うことが可能となりうるものであって、そのようにして制御システム動作に対してより有害となるのが通常である。これらの攻撃がプラント制御システムの実行中の動作を中断させる場合、これらの攻撃はプロセスプラント内において、深刻で、かつ、潜在的に破壊的または致命的である影響となることが可能である。
【０００８】
プロセスまたは産業用制御および保守ネットワークにおける攻撃を防御または制限するように動作するハードウェアおよびソフトウェア構成の決定および構築については、相当量の研究活動がなされている。しかしながら、十分に防御された産業用制御システム（ＩＣＳ：industrial control system）ネットワークや監視制御システム（ＳＣＡＤＡ：supervisory control and data acquisition）ネットワークでさえも、例えば、セキュリティ防御の設定ミス、悪意を伴う合法なアクセスをするユーザおよび一般には知られていないが外部の攻撃者に代わって動く悪質なソフトウェアなどのセキュリティ上の脅威をいまだ受けやすい。さらに、ひとたびネットワークが感染すると、単に、プロセス制御もしくは産業用制御装置内またはプラント通信ノード内において、ウィルスまたはマルウェアの存在を自動的に検出することに限られた能力となってしまう。概して、ひとたびプラント環境内で攻撃が成功すると、通常、プラント通信ノードまたは装置が感染していることを検出することが、オペレータ、保守担当者などに求められる。通信ネットワークの各ノードにおいてウィルススキャンソフトをバックグラウンドで実行することは可能であるが、こうしたソフトウェアはたくさんのメモリおよび処理リソースを使い、定期的な更新を必要（重要なネットワーク保守リソースおよび時間を要求）とするが、それでもゼロデイウィルスを検出する能力はない。
【０００９】
多くの場合では、プラント装置またはネットワークノードにおけるウィルスまたは不正なソフトウェアは、装置またはネットワークのパフォーマンスの低下を引き起こしうるものであり、正常のプラント動作に対してネットワーク内のそのノードまたは他のノードにおいてエラーまたは警報の発生を引き起こすに足る妨害をしうるものであり、または、他の深刻で注目すべき問題を引き起こしうるものである。これらのいくつかの場合では、オペレータまたは他のプラント人員にとってウィルスの存在を検出することは比較的容易であるかもしれないが、ウィルスの場所を検出することはいまだ難しいであろう。さらに、他の多くの場合では、ウィルスまたは攻撃は、有意な期間を未検出で動作しうるが、それはわずかにネットワーク動作を低下させるものの、プラント動作におけるこの低下または他の影響は無視できるものでありうるという理由からであり、そのため検出することは大変難しいものでありうる。結果として、多くの場合では、ウィルスは有意な期間が未検出で経過しうることとなり、こうした期間の間に、これらウィルスは、プラント効率を減少させる、プラントデータの窃取を許容する、さらに深刻な侵入を可能とする、ネットワーク装置を深刻な攻撃や害にさらすなどの動作をしうる。
【発明の概要】
【００１０】
例えば、産業用もしくはプロセスプラント制御または保守システムなどの制御システムは、ネットワークを介して送信される通信の異常検出を用いて感染のおそれがあるネットワークノードを検出する通信ネットワークの脅威検出システムを実行する。概して、異常検出システムは、通信ネットワークによってトラフィックパターン内の期待されない変更や異常を検出し、感染したノードまたは感染のおそれがあるノードを検出する。そうした異常検出を、標準である開放型通信ネットワークにおいて実行することは、それらネットワーク上のノードは常に変化する構成であることから難しいが、プロセスプラントまたは産業用制御ネットワークでは、比較的動きのない構成のネットワークノードであることと同様にプラントまたはネットワーク内で使用されるプロセスまたは産業用制御または保守システム構成の先天的な性質から、異常検出をより効果的に用いることが可能である。
【００１１】
本明細書に記載する異常検出システムは、概して、通信システムのネットワークノードを通じてデータ収集処理の作業負荷を分散し、それにより各ノードにおける異常検出作業負荷を軽減する。さらに、本明細書に記載する異常検出システムは、ネットワーク構成の知識に基づいて、かつ、独立した監視ネットワークを必要とする代わりに解析のためにネットワークを通じてネットワークトラフィックについてのメタデータを報告することによって、異常解析作業負荷を軽減する。本明細書に記載する異常検出システムはまた、認証されたネットワークの構成変更または自動化された再構成のアクティビティ（例えば、高可用性機構による）の通知および説明を受信することによって、異常検出解析の誤検出率（false positive rate）を軽減する。さらにまた、本明細書に記載する異常検出システムは、複数の種類の異常解析（例えば、セキュリティや保守）を行うために同じデータを用いてよく、事前定義のルールおよび機械学習の任意の組み合わせを通して産業用制御システム内の任意のネットワークノードで実行される階層的な解析／報告を可能にさせうる。
【図面の簡単な説明】
【００１２】
【図１】図１は、その内部に搭載された異常検出システムを有するプロセス制御ネットワークの例示的な通信のフロー図である。
【図２】図２は、図１のような１つまたは複数のネットワーク異常検出システムを実行することが可能な複数の相互接続された通信ネットワークを有するプロセスまたは産業用プラントの例示的なブロック図である。
【図３】図３は、オペレータならびに保守ワークステーション、サーバ、およびコントローラノードを含む様々なノードを有する分散プロセス制御システムおよびプロセスオートメーションネットワークの形態の、図２のプラントネットワークのひとつの例示的な図であり、図１の異常検出システムが感染のおそれがある、または感染したノードの検出を行う。
【図４】図４は、本明細書に記載する異常検出システムの例である様々なコンポーネント間の通信フロー、および様々なコンポーネントにおいて行われる処理を説明するフロー図を描いている。
【発明を実施するための形態】
【００１３】
概して、本明細書に記載するネットワークセキュリティシステムは、産業用システムまたはプロセス制御ネットワーク構成の先験的特徴が、測定されたトラフィックパターンに対して期待されるまたは既知のパターンと比較するようにさせるため、産業用システムまたはプロセス制御ネットワークのノードにおいて、または産業用システムまたはプロセス制御ネットワークのノードを通じて、ネットワークトラフィックパターン中の異常（例えば、トラフィックまたはメッセージの内容、頻度、時間、長さなど）を検出することにより脅威の検出を実行し、効果的に行う。すなわち、プロセス制御、産業用システムまたはプラントオートメーションのネットワークにおけるネットワーク通信の構成は、通信ネットワークの実行または動作に先立って一般に広くよく知られているため、ネットワークトラフィックパターンは、これらのネットワークの使用または動作を通じて大きく変わる傾向がない。代わりに、ネットワーク通信のトラフィックパターンは通信ネットワークの動作中ほぼ変更のない傾向（統計的な意味で）にあるため、ネットワークパターンの変更というのは、特に統計的な意味では、ネットワークへの侵入を示唆しうるものであって、当初の構成または所望の構成の一部ではない。
【００１４】
異常検出システムに基づくネットワークの代表的な問題は、メッセージまたはトラフィックを分析してトラフィックパターンにおける変更を検出するエンジンである解析エンジンが、各ネットワークノードにおいて受信した、および送信されたメッセージにアクセスしなければならないことである。この要求は、独立した解析エンジンが、各ネットワークノードにおいて実行されなければならないこと、または、各ノードにおけるメッセージトラフィックが解析のためにネットワークを通じて集中型異常検出エンジンに対して送信されなければならないことを意味している。前者の場合では、各ノードにおける解析エンジンは単一のノードでのメッセージトラフィックの分析または解析が制限されているものであって、ネットワーク全体を通じてメッセージトラフィックを解析可能な解析エンジンよりも解析エンジンの効果を低下させる。さらに、この場合において、解析エンジンはノードから非常に多くの処理能力を奪うことが可能であり、他のタスクを実行している場合にはノードが制限されるか、または遅くなりうる。後者の場合では、各ノードがすべてのメッセージを集中型解析エンジンへ送信しなければならず、ネットワーク上の各ノードで受信された各メッセージが重複して集中型解析エンジンのノードへ送信される（ネットワークバスまたは通信チャネルを通じて）ことを要求するために、ネットワークはトラフィックで難航することになりうる
【００１５】
効果的な異常検出のため、すべてのネットワークトラフィックが、解析エンジンで明らかでなければならないため（このことは分割型ネットワークにおいては深刻な問題である）、集中型の収集では数百あるネットワークの端点まで十分に及ばない。さらに、プロセスプラントネットワークにおけるほぼリアルタイムの端点は、セキュリティタスクのための計算リソースを制限する傾向があり、高性能にトラフィック異常検出システムを実行、または行うためのこれら端点装置の能力を制限する。さらに、ネットワークリンクは、変動する容量および性能特性を具備しうるので、途中での制御システム構成の変更は大量数の誤検出を発生させることになりうる。
【００１６】
図１は、例であるネットワークの異常検出システム１０を示しており、これらの問題を軽減または取り除くように動作する。概して、異常検出システム１０は、分散システムであり、その内部にメッセージトラフィックに関する情報をより集中型の解析エンジンに送信するように動作するネットワークノードのそれぞれに配置されたデータ収集モジュールを含む。データ収集モジュールは、ネットワークノードで着信および発信するメッセージトラフィックを収集して解析するように動作するが、データ収集モジュールは、メッセージそれら自体は解析エンジンに送信せず、代わりにこのメッセージトラフィックを説明するものであるメタデータを作成して解析エンジンに該メタデータを送信する。集中型解析エンジンは各ネットワークノードにおいて収集されたトラフィックメタデータを受信し、このメタデータを解析するように動作して、ネットワークへの侵入を示唆しうるメッセージトラフィックの異常を検出する。
【００１７】
より詳細には、図１に示すように、異常検出システム１０は、通信リンク２４を介して共につながる複数の分散ネットワークノード２２Ａ〜２２Ｎを有するネットワーク２０（プロセスプラントネットワーク、プロセス制御および／または保守のネットワーク、産業用制御システムネットワーク、オートメーションネットワークまたは任意の他の種類のネットワークでありうる）内で動作する。通信リンク２４は、有線または無線の通信リンク（またはそれらの組み合わせ）であって、任意の所望の種類の通信プロトコルを用いて通信を行ってよいものであり、通常、パケットベースの通信となる。異常検出システム１０は、ネットワーク２０の異なるノードに配置された様々なモジュールまたはコンポーネントを含み、メッセージ収集モジュール３０および３２と、図１にノード２２Ｋとして示す少なくとも１つのノードに配置される異常検出解析エンジン３４とを含む。特に図１に示すように、各ネットワークノード２２は、１つまたは複数のメッセージ解析収集モジュール３０および３２を具備してよく、それに配置される着信メッセージ収集モジュール３０と発信メッセージ収集モジュール３２とを含む。概して、各ネットワークノード２２におけるメッセージ収集モジュール３０および３２は、着信（incoming）または発信（outgoing）の各メッセージをそれぞれ受信して（調べて）解析し、それらのメッセージのうちのいくつかまたはすべてに関するメタデータを収集または発生する。メタデータは、メッセージの時刻印、メッセージの長さ、メッセージ内の１つまたは複数のデータフィールドの長さ、受信者または発行者（例えば、送信者および／または受信者）、パリティ情報、メッセージの種類（例えばフォーマット）などを含みうるが、限定されるものではない。もちろん、モジュール３０および３２は、ネットワークノードで受信した、またはネットワークノードから送信された各メッセージについての他のメタデータを発生または収集しうるものであり、収集モジュール３０および３２は、ネットワークノードにおいて、一時的に、または他のメモリ３１にメタデータを格納しうる。
【００１８】
周期的に、非周期的に、またはリアルタイムで、任意のネットワークノード２２のメッセージ収集モジュール３０および３２は、ネットワークリンク２４を通じてそのノードについての収集されたメタデータを、ノードの通信フロントエンド３３を介して異常検出解析エンジン３４に伝達しうる。図１に示すように、概して異常検出解析エンジン３４は、異常検出制御部４０、エキスパートまたは論理エンジン４２、ルールデータベースまたはメモリ４４、メッセージトラフィックパターン格納データベース４６、アラート発生部４８とも称される警報または通知エンジン、およびメタデータ格納部５０を含む。特に、検出制御部４０は、例えばネットワークリンク２４を介してネットワークノード２２の様々なメッセージ収集モジュール３０および３２より与えられるメタデータを受信する。検出制御部４０はメタデータ格納部５０内に、このメタデータ（メタデータが関連するネットワークノードの表示とともに）を格納する。ネットワークノード２２から検出エンジン３４への収集メタデータの伝達は、ネットワークリンク２４（例えば、ネットワーク２０のプライマリネットワークバスまたは通信チャネル）を利用して生じさせることが好ましいが、異常検出エンジン３４は、例えば検出エンジン３４に対して収集メタデータに関する伝達をもたらすことに特化した独立した通信リンクを介してネットワークノード２２に接続されてよい。
【００１９】
従って、メッセージそれら自体を解析エンジンに送信して解析される従来技術によるシステムとは異なり、異常検出システム１０はネットワークリンク２４を利用してノード２２から検出エンジン３４へ、全メッセージの代わりに、メッセージメタデータを伝達する。メッセージそれら自体に比べて、通常、メタデータは比較的小さいサイズであるため、概して異常検出システム１０が必要とするのは、きわめて低いネットワーク帯域幅またはネットワークリンクの帯域幅の最小限の使用となる。結果として、ネットワークリンク２４を通じて送信されるノード２２間のメッセージトラフィックは、図１の線６０で示されるように通信リンク２４の全帯域幅に入る権利を有するが、通信またはネットワークリンク２４を通じて行われるメタデータの伝達は、図１の線６２で示されるようにリンク２４の低帯域幅の使用のみを要する。
【００２０】
いずれの事象においても、検出エンジン３４の制御部４０は、周期的、継続的、異なる予め設定された時間、ユーザのリクエストまたは指令に応じて、検出した事象に応じてなどで、エキスパートまたは論理エンジン４２を動かし、収集メタデータを解析する。こうした解析サイクルの間、論理エンジン４２は、ルールデータベース４４に格納された論理ルールの集合を実行することによって、ノード２２から収集メタデータ（メタデータ記憶部５０に記憶されている）を解析し、各ネットワークノード２２で着信する、または発信されるメッセージトラフィック内の異常を検出しうる。特に、解析または論理エンジン４２は、格納されたメタデータとトラフィックパターン格納データベース４６に格納された１つまたは複数のトラフィックパターンパラメータとに基づいてルールデータベース４４に格納された１つまたは複数（またはすべて）の論理ルールを実行しうる。
【００２１】
通常では、トラフィックパターンデータベース４６に格納されたトラフィックパターンパラメータは、ネットワーク２０のノード２２へのメッセージトラフィックおよびネットワーク２０のノード２２からのメッセージトラフィックの期待される、または正常の振る舞いを反映する。より詳細には、トラフィックパターンデータベース４６に格納されたトラフィックパターンデータは、特定の時間の間に、例えばネットワーク２０が稼動しているが立ち上がった直後であるときや、ネットワークが稼動していないことが比較的確実であるときに、ネットワーク２０のノード２２からのメッセージまたはトラフィックメタデータを収集および解析することにより発生されうるものである。この時間の間、統計的な意味では、発生または収集されたメタデータは、ネットワークの「正常」または「期待される」動作を反映している。様々なトラフィックパターンパラメータまたは統計値が、この時間の間に収集されたメッセージメタデータから収集または発生されることが可能であり、このデータはネットワークの期待される、または正常の動作を反映する基準または参照のデータの集合としてトラフィックパターンデータベース４６に格納されうる。収集または生成されて、かつ、データベース４６に格納されたトラフィックパターンパラメータは、例えば、任意の特定のノードまたは任意に分けたノード群におけるトラフィックの統計的な測定値を含む。すなわち、格納されたトラフィックパターンパラメータは、例えば時間枠、ノードまたはノード群、着信または発信、送信者受信、長さなどのあらゆる種類のデータでグループ化または実行された任意の統計的な測定データ（例えば、中間値、標準偏差、平均、中央値など）を示してよく、例えばネットワークの構成上の階層を反映する階層である任意の所望の階層に格納されうる。トラフィックパターンパラメータはまた、ノードもしくはノード群への、またはノードもしくはノード群からの任意の種類または群の伝達について、超えた場合には異常または潜在的な異常の検出を反映する、またはきっかけとなるであろう、範囲または制限を含みうる。これらの範囲または制限は、例えば固定の数値の形をとる明白な制限値であってよく、または、例えば平均値の３倍、第１もしくは第２の標準偏差の範囲以下、中央値もしくは中間値の予め定めた量より上か下か、などの他の統計的測定値に基づいた、または関連した相対的な制限であってよい。
【００２２】
理解されるように、ルールデータベース４４内のルールは、現状の、または収集されたメタデータが解析されてネットワーク内の異常を検出することとなるような手法を規定するように作成されて利用される。より詳細には、ルールデータベース４４のルールは、例えば、収集メタデータまたは収集メタデータについての統計値をデータベース４６内に格納されたトラフィックパターンデータと比較することによって、および／またはトラフィックパターンデータベース４６内に格納されるトラフィックパターンの制限または範囲を利用することによって、収集メタデータが分析されることとなるような手法を特定する。通常では、ルールエンジン４２はルールデータベース４４に格納されたルールを実行して、収集メタデータ（例えば、収集メタデータについての統計値）とベースラインデータとしてトラフィックパターンデータベース４６に格納されるトラフィックパターンパラメータとを比較する
【００２３】
同様に、図１に示すように、検出エンジン３４は、ルールエンジンまたは論理エンジン４２によって行われた解析の結果に基づいて、１つまたは複数のアラート、警報またはメッセージを発生しうるアラート発生部４８を含む。アラート発生部４８によって作成されたアラート、警報またはメッセージは、例えばオペレータ、セキュリティ担当者、ＩＴ担当者などの任意の所望の人員に、ネットワークリンク２４（図１に示す）を介して、またはその目的のために提供、または使用されるその他の通信リンクを介していずれか一方で送信されうる。例として、アラート、警報またはメッセージは、指定された人員のメールアカウント、プラントについて他のデータを説明するものでもあるオペレータインタフェースまたはセキュリティインタフェースへ送信されてもよく、プライベートまたはパブリックネットワークを介して、指定された人員またはグループの人々に対して、モバイル機器などの任意の所望の装置に届けられる電話の呼び出しまたはテキストメッセージとして送られてもよい。同様に、これらのアラート、警報またはメッセージは、ネットワーク２０への潜在的な侵入についての対応および調査に責任がある任意の指定された人員の、例えば電話、時計、ウェアラブルデバイス、ラップトップコンピュータ、タブレットコンピュータなどの携帯用デバイスにおいて警報または通知が発せられてもよい。いくつかの場合では、警報またはアラート発生部４８は、感染した、または感染のおそれがあるノードへのアクセスを制限するように動作してよく、ノードを一時的に停止してよく、またきわめて危機的な状況においては、通信ネットワーク２０それ自体を一時的に停止するか、または隔離し、侵入によってプラントに対してもしくはプラント内のサブシステムに対してなされる損害を制限するようによい。もちろん、アラート発生部４８は、ネットワーク２０内の他の装置と通信して、自動的にそうした動作を生じさせうるソフトウェアまたは論理を含んでよい。いくつかの場合では、アラート発生部２０は、プラントネットワーク２０におけるそのような自動的な動きをとる前にユーザからの認証を求めてもよいが、他の場合では、侵入または潜在的な侵入のユーザへの通知より前または同時に、プラントネットワーク２０における該動きを動作してよい。さらに、自動的な動きをとる際には、アラート発生部４８は、例えば、そのノードからの特定の種類のメッセージを制限または停止し、そのノードにおける特定のアプリケーションの動作（異常なメッセージトラフィックを発生しているおそれがあるもの）を停止または制限し、装置の特定のポートを介しての通信を停止または制限するなど、そのノードからの（そのノード内への、および／またはそのノードから出る）通信を制限するように、感染した、または感染のおそれがあるノードとの通信を行ってよい。代わりに、または代替として、アラート発生部４８は、例えば他のネットワークに接続されたゲートウェイノードなどの他のノードと通信して、ネットワーク２０と他のネットワークとの間におけるメッセージを制限または停止してもよい。この動きは、ネットワーク２０を外部のソースから隔離して、少なくとも一時的に、異常なメッセージトラフィックが、ネットワーク２０に出入りすることを防ぎながら、重要な動作（例えば制御動作）がネットワーク２０上で発生することを許可しうるものであって、データの窃取を制限しうるものであり、他の感染ネットワークからネットワーク２０内へのウィルスを止めうるものであり、感染したノードを介したネットワーク２０へのさらなる侵入を止めうるなどする。例えば、アラート発生部４８は、施設内でセキュリティ担当者によって異常が査定されることとなるまでは、外部のビジネスシステムおよび影響を受けた産業用制御システムネットワークの間のすべての通信を切断しうる。もちろん、アラート発生部４８は、これらの機能を動作するために、例えばセキュリティシステムなどの他のシステムにつなげられうる（通信可能に接続される）。
【００２４】
ルールデータベース４４は、１人または複数のセキュリティ担当者、構成担当者、ユーザ、オペレータなどによって作成または発生された任意の所望のルールの集合を格納しうるものであって、通信ネットワークノード２２から受信したメッセージトラフィックまたはメッセージメタデータにおいて行われる解析を規定して、メッセージトラフィックまたはトラフィックパターン内に異常があるかどうか、その後アラートまたは警報を発生すべきかどうかを判定する。ルールエンジン４２はまた、システムが最初にセットアップまたは構成された期間で、かつ、それによりネットワーク２０内に侵入またはマルウェアが存在しないことがわかっている、またはその可能性があるときに、これらルールを実行して、現状のメッセージまたはトラフィックメタデータとネットワーク２０の様々なノード２２で収集モジュール３０および３２によって収集された標準データまたはベースラインデータの集合とを比較する。この格納されたメッセージまたはトラフィックパターンのメタデータは、本明細書においてベースラインと称される、ネットワークまたはネットワークノードの「正常」動作を規定するメタデータの集合である。そのため、ルールエンジン４２で用いられるルールは、ノードまたはノード群から収集されたメタデータとノードまたはノード群についての標準またはベースラインメタデータとを比較して、それらの間に、例えば制限または差異の変数などの、トラフィックパターンデータベース４６に格納された他のトラフィックパターンパラメータによって規定される重要な差異があるかどうかを判定するように動作しうる。ルールデータベース４４の論理ルールによって決定される重要なまたは統計上の関連する差異は、ネットワーク２０内への、またはそれらのノード２２においての侵入を示唆しうる。そうした差異が検出されれば、その後制御部４０はアラート発生部４８にアラートまたは警報を発生させうる。アラートまたは警報の種類、そうした警報の受信者、およびアラートまたは警報の他のパラメータ（例えば、優先度など）は、現在のメッセージトラフィックとベースラインメッセージトラフィックとの間の検出された差異の種類や、差異の程度などに基づいて構成されてよい。
【００２５】
任意の所望の種類のメタデータは、ノード２２においてメッセージまたはトラフィックについて作成または取得されうること、およびルールデータベース４４のルールは、このメタデータまたはこのメタデータについての統計値を用いて任意の所望の手法により解析エンジン３４でメタデータを解析するために作成されうることが理解されるであろう。例えば、メタデータは、（１）メッセージであって、メッセージ数およびメッセージ数統計値など、例えば最小数、最大数、平均等；（２）接続情報および統計値であって、例えばソース（例えば例えば構成されたノードと構成されていないノードの比較、ソースポートなど）、アドレス（ソースおよび送信先アドレスおよびポートなど）、領域（ユニキャスト、マルチキャスト、ブロードキャストなど）、ペイロードの種類（例えばＴＣＰ、ＵＤＰ、その他など）、およびタイミング（時刻、相対時間、試行速度など）等；（３）通信情報であって、例えばメッセージのタイミング（速度、時刻、シーケンスエラーなど）、セキュリティエラー（完全性、認証または解読の失敗など）、メッセージ内容（サイズ、フォーマットエラーなど）等；（４）スプリアス情報であって、例えば速度制限情報（制限の状態、方法、速度など）および接続試行（シーケンスなし、異常状態でない、掃引でない、などの）、についての全般の情報または統計を含みうる。もちろん、同様にまたは代わりに、その他の種類のメッセージメタデータが取得されて用いられてもよく、本明細書がもたらす列挙が包括的でないことは理解されるであろう。
【００２６】
さらに、メッセージメタデータは、例えば送信または受信ノードの役割など（例えば、これらノードがワークステーション、サーバ、ゲートウェイ、コントローラ、Ｉ／Ｏサーバ、リモートターミナルユニット（ＲＴＵ）などであるか。）の、ネットワークまたはノード内の他の因子またはパラメータに基づいて収集および格納されうる。従って、メッセージおよびトラフィックメタデータは、例えば装置もしくはノード基準で、装置もしくはノードの役割基準で、メッセージ基準でなど、様々な異なる階層レベルのネットワークにおいて、または様々な異なる階層レベルのネットワークについて、または、任意の他の階層レベルのネットワークに関して作成されてよいことが理解されるであろう。さらにまた、制御または通信ネットワーク２０の構成情報を用いて、トラフィックメタデータを解析するためのルールを最初に作成もしくは修正しうる、またはメタデータ解析を編成しうるものである。概して、ネットワークに関する構成情報は、各ノード（装置）におけるアプリケーション、モジュール、制御ルーチンなどの数と、これらの様々な論理構成要素、ソフトウェア構成要素およびハードウェア構成要素が互いに通信する際の手法とに関する情報を含むものであって、通信ペア（送信者／受信者ペア）、通信タイミング、頻度、メッセージタイプ、制御システムの役割または装置タイプなどを含む。この構成情報を用いて、任意のノードからのトラフィックメタデータの解析に用いられるルールを作成または修正しうる。すなわち、構成階層情報（例えば、どの装置およびモジュールがネットワーク上の他のどのモジュールおよび装置と関連しているか）を含む構成情報を用いて、メッセージメタデータの解析のためのルールのパラメータを作成、修正、または補充しうる。例として、構成情報を用いて、例えば、トラフィックメタデータの解析のための全般的なルールのサブセット（すなわちプロファイル）を選択しうる。構成情報をまた用いて、１つまたは複数の全般的なルールパラメータ内の特定の値に組み込みうる（例えば、〈加入者（subscriber）〉に関する位置設定記号（placeholder）をルールが所有している場所で、構成情報を用いて、構成内にリスト化された特定の加入者についてのアドレスおよびポート情報を補充しうる）。このようにして、有効な論理ルールを、より大きな全般的なルールの集合から装置またはノードの制御システム構成に基づく特定のルールのサブセットにまで合わせることができる。
【００２７】
さらに、図１に示すように、異常検出システム１０は、例えば、ネットワーク構成データベースまたはサーバ装置７２に格納されうるネットワーク構成変更モジュール７０を含む。概して、構成変更モジュール７０は、通信ネットワーク２０についてのネットワーク構成における変更を検出すると、例えばネットワークリンク２４を介して検出エンジン３４にこれら変更および／またはこれら変更の通知を送信するように動作する。本明細書で用いる場合、構成変更は、ネットワーク上の装置または装置一式の動作になされるあらゆる変更を含みうるものであり、新しい装置、アプリケーション、モジュールなどの追加、任意の装置、アプリケーション、モジュールなどの除去、および装置、アプリケーション、モジュールなどにおけるパラメータ、設定、または他の構成の変更（任意のハードウェア、ソフトウェアまたはファームウェア設定の変更を含む）を含み、例えばバッチ処理などで用いられるレシピの変更などの通信およびプロセス制御設定の変更を含む。この場合、構成エンジニアまたは他のユーザは、例えばネットワークへの新しいアプリケーションまたはモジュールの追加、ネットワークにおけるアプリケーションまたはモジュールの互いの通信手法の変更によってネットワーク構成を変更するときはいつでも、ネットワーク構成変更モジュール７０は、そうした変更を検出し、ネットワーク構成における変更を制御部４０に知らせる通知を検出エンジン３４に送信する。もちろん、変更モジュール７０は、構成データベース７２に配置されるように示しているが、構成モジュール７０は、構成アプリケーション（ネットワーク２０の構成を変更する、またはユーザがネットワーク２０の構成を変更できるようにするものである）に入る権利を有するもしくは実行する、またはそれ以外では構成変更が通知される任意の装置またはコンピュータ（例えば、オペレータインタフェース装置またはサーバなど）に配置されることが可能であり、任意の所望の手法で動作してネットワーク構成変更を検出しうる。
【００２８】
いずれにしても、ネットワーク２０の構成に変更がなされるときはいつでも（例えば、ネットワーク２０上の、またはネットワーク２０に接続された装置のいずれかで任意のソフトウェア、機能ブロック、モジュールなどの通信態様の追加、削除または変更を生じさせること）、変更検出モジュール７０は、解析エンジン３４に通知を送信して、解析エンジン３４に知らせ、ネットワークトラフィックパターンまたは詳細における変更または潜在的な変更を予想する。この通知は、トラフィックパターンにおける変更が、実際の侵入ではなくネットワーク構成における変更によるものであった場合に、解析エンジン３４に誤検出（例えば、侵入を検出すること）を回避させることを可能にする。
【００２９】
さらに、ネットワーク構成変更の検出については、制御部４０は、ネットワークノード２２からのメタデータを収集し（構成変更の後で）、かつ、新しく収集されたメタデータを用いてトラフィックパターンデータベース４６に格納された新しいベースラインメタデータの集合またはベースラインメタデータの統計値を発生する手順を実行または実施しうる。その後新しいベースラインメタデータの集合を用いて、ネットワークの構成状態に基づいてトラフィックパターンにおけるその後の異常を検出しうる。さらにまた、いくつかの場合では、制御部４０はまた、もしくは代わりに、ルールデータベース４４に格納されたルールを変更し、および／またはネットワークの新しい構成に基づいてトラフィックパターンデータベース４６に格納された制限または他のパラメータを変更し、異常検出システム１０に対して、新しいまたは変更されたネットワーク構成の観点でよりよく動作させることを可能としうる。
【００３０】
従って、理解されるように、ネットワーク構成の変更は、例えばネットワークトラフィックを増加または減少すること、特定の種類のネットワーク通信を変更すること（例えば、ネットワーク２２における様々な装置間またはネットワーク２０のノード２２における様々な装置内で実行されるアプリケーション間の、特定の種類の通信のパラメータまたは量を変更すること）によってネットワークトラフィックパターンを変更しうる。いずれにしても、ネットワーク構成の変更は、ベースラインネットワーク構成について不正確に発生および格納されるベースラインメタデータおよびメタデータの統計値を引き起こしうる。これらの状況で、検出エンジン３４の制御部４０は、新しい構成下で新しいネットワークトラフィックメタデータの収集し、メタデータに基づいてネットワークトラフィックについての統計値または他のデータを決定し、新しいベースラインメタデータとしてベースラインデータベース４６内にデータを格納することを開始しうる。いくつかの状況では、例えばルールデータベースの１つまたは複数のルール内に組み込まれるプロファイルを実行して新しい構成のパラメータを適合または反映することによって、新しい構成の結果として、例えばルールを新しい構成に合わせるようにルールデータベースにおけるルールを変更、追加または削除することは望ましいものとしてよい。例えば、新しい種類の通信は、新しい構成によって追加されてよく、ルールは新しい通信に基づいて組み込まれるプロファイルで更新されてよく、その後このルールを用いて、通信の新しい送信者および／または受信者に基づくこれら新しい種類の通信と連携したメタデータを解析しうる。
【００３１】
いずれにしても、新しいベースラインの統計値データの集合を作成した後で、ルールエンジン４２はその後、ルールデータベース４４に格納された新しいベースラインの統計値データとルールとに基づいて侵入の検出を積極的に開始する。理解されるように、構成変更検出モジュール７０の使用は、ネットワーク構成の変更によって引き起こされる誤検出（すなわち、侵入の誤検出）を軽減または制限しうるものである。さらに、ネットワークが再構成された場合に、構成変更検出モジュール７０を用いて異常検出エンジン１０を調整しうるものであり、それによりネットワーク構成を変更した後でさえも、異常検出エンジン１０を正しく動作させることを可能としうる。
【００３２】
わかるように、図１の異常検出システム１０は、ネットワークノード２２を通じてデータ収集処理の作業負荷を分散し、そのため様々なノード２２おいて大容量の処理力を要求しない。さらに、このシステムは、システムネットワーク構成の知識を介してネットワークノードおよび異常検出分析の作業負荷を軽減し、独立した監視ネットワークを必要とする代わりに、解析のためにネットワークトラフィックについてのメタデータを報告する。さらにまた、このシステムは、認証されたネットワーク構成変更または認証された再構成の通知を介して、異常検出解析の誤検出率を軽減して（例えば、高可用性メカニズムによる）、同じデータを用いて多様な種類の異常解析（例えば、セキュリティまたは保守）を動作しうる。さらにまた、このシステムは、予め定義されたルールおよび機械学習の任意の組み合わせを介して、プラント制御または産業用制御システムにおける任意のネットワークノードで動作される階層的な解析／報告を可能にしうる。
【００３３】
さらにまた、異常検出システム１０は、ネットワークノードにおけるプラントネットワーク構成を使用してメタデータ収集作業負荷を軽減しうるものであり、解析エンジン３４における既知のシステムネットワーク構成を使用してルールの集合を規定して解析エンジン３４のための学習プロセスを与えうるものであり、ネットワークノードによって観察されたネットワークトラフィックについてのメタデータのみ（ネットワークフレーム、ログの完全なコピー、またはＳＮＭＰアラートのみの報告に代わるものとして）を報告しうる。同様に、異常検出システム１０はシステムネットワーク構成の変更通知を使用して異常検出解析の誤検出率を軽減し、または、結果として生じる通知を再分類しうるものであって、かつ、集中型のサーバ／機器に代わるものとしてネットワークインフラストラクチャー装置（例えば、スイッチ、ルータ、ファイアウォール）におけるメタデータ収集および／または解析を実行しうる。さらにまた、このシステム１０は、集中型サーバ／機器に代わるものとして端点装置（例えば、コントローラ、ＲＴＵ、Ｉ／Ｏサーバ、ワークステーション、サーバ）におけるメタデータの収集および／または解析を実行しうる。
【００３４】
いくつかの場合では、異常検出システム１０はＦＰＧＡ、ＴＣＰオフロードエンジン、または他のプログラマブルハードウェアを用いてメタデータの収集および／または解析を実行しうるものであり、ネットワークノード２２内で、またはネットワークノードを通じて階層メタデータの収集を実行しうる。同様に、異常検出システム１０は、集中型のサーバ／機器に代わるものとして端点装置（例えば、コントローラ、ＲＴＵ、Ｉ／Ｏサーバ、ワークステーション、サーバ）で、送信トラフィックに基づいたメタデータの収集および／または解析を実行しうるものであり、かつ、システムネットワーク構成に基づいて、端点装置（例えば、コントローラ、ＲＴＵ、Ｉ／Ｏサーバ、ワークステーション、サーバ）でトラフィックなしでメタデータの収集および／または解析を実行しうる。さらに、いくつかの場合では、所望であれば、異常検出システム１０は、スイッチを通過するすべてのネットワークトラフィックにアクセスするために、すべてのネットワークスイッチと接続するように組み立てられることが可能である。しかしながら、この構成は、この構成が各スイッチの最大容量を制限し、監視トラフィックのためだけに動作される追加のケーブル／ネットワークを必要とするという理由により、多階層スイッチトポロジに良好に適さない。
【００３５】
例として、図２および３は、図１の異常検出システム１０が搭載されて用いられることが可能であるプラントネットワークの例を示している。特に、図２に、異なるが相互に接続された、それぞれネットワークノードを有するいくつかの通信ネットワーク１１２、１１４、１１６および１１８を含み、プラントまたは産業用の通信システム１１０を示している。特に図２の通信ネットワーク１１２は、例えば、イーサネットバス、または他の有線もしくは無線の通信バスもしくはネットワークでありうる通信バス１２４によって相互に接続された複数のノード１２２Ａ〜１２２Ｈを含むビジネス通信ネットワークであってもよい。ノード１２２Ａ、１２２Ｂは、ビジネスアプリケーションまたはプログラムが動作される、例えば、コンピュータ、サーバ、ワークステーションなどを含みうるものであり、ノード１２２Ｃは、プラント１１０に関して、例えば、ビジネスデータ、産業用プラント構成データ、または他の所望のデータを格納するデータベースでありうる。同様に、ノード１２２Ｄ、１２２Ｅおよび１２２Ｆは、ネットワーク１１２を他の通信ネットワーク１１４、１１６、１１８とそれぞれ接続し、相互接続ネットワーク通信を可能にするゲートウェイノードでありうる。同様に、ノード１２２Ｇは、ネットワーク１１２をインターネット、クラウドまたは他の広域ネットワークに接続してネットワーク１１２をリモートサーバ、プラントまたは他のコンピュータと通信可能にするゲートウェイノードでありうる。
【００３６】
この例では、ネットワーク１１４、１１６および１１８は、有線もしくは無線通信バスまたはネットワークリンクによって相互に接続した様々なノードを含むプラント（例えばプロセスプラントまたは産業用プラント）制御ネットワークである。各プラント制御ネットワーク１１４、１１６、１１８は、それらのノードにおいて任意の様々な種類の装置を含みうる。例えば、プラント制御ネットワーク１１４および１１６は、それぞれ、１つまたは複数のユーザインタフェースデバイス１３０、ネットワーク１１４および／または１１６のプラント制御ネットワーク構成データを格納しうるデータベースまたはヒストリアン１３２、この場合においてはイーサネット通信バスの形状で通信バス１３６を介して相互に接続された１つまたは複数のプロセス制御ノード１３４、および１つまたは複数のサーバまたはプロセッサノード１３８を含む有線の通信ネットワークである。プロセス制御ノード１３４は、１つまたは複数の有線または無線のサブネットワーク１４０を介して、Ｉ／Ｏおよびフィールド機器などの他の装置（例えば、センサー、バルブ、被制御装置）に通信可能に接続された１つまたは複数のプロセス制御部を含みうる。サブネットワーク１４０におけるフィールド機器は、例えば、バルブ、センサー、伝送器、またはプラント内のいくつかのパラメータまたはプロセス変数を測定する、もしくはプラント内における材料の動きまたは材料の流れに関連するいくつかの物理的制御の動きを実行する他の測定もしくは制御装置の形を取りうる。フィールド機器サブネットワーク１４０は、例えば、Highway addressable Remote Transmitter (HART（登録商標））プロトコル、FOUNDATION（登録商標） Fieldbusプロトコル、Profibusプロトコル、CANプロトコルなどの任意の所望のプロセス制御通信プロトコルまたはパラダイムを用いうる。さらにまた、フィールド機器サブネットワーク１４０は、例えばWirelessHART（登録商標）ネットワークなどの有線または無線のネットワークとして実行されうる。ネットワーク１１４および１１６はまた、ネットワーク１１４および１１６をネットワーク１１２に、インターネットに、または他のＷＡＮなどに接続するノード１２２Ｄ、１２２Ｆにおけるゲートウェイデバイスを含みうる。もちろん、これらのゲートウェイデバイスは、ファイアウォールおよび他のセキュリティ機能もしくはアプリケーションを提供しうる。
【００３７】
同様の手法では、通信ネットワーク１１８は、例えば無線イーサネットプロトコル、WirelessHART（登録商標）プロトコル、ISA100無線プロトコルなどの無線通信プロトコルを用いうる無線通信ネットワークとして示される。通信ネットワーク１１８は、例えば、ユーザインタフェースデバイス、またはワークステーション１３０、データベース１３２、プロセスコントローラ１３４、サーバ１３６、フィールド機器サブネットワーク１４０、ゲートウェイデバイス１３９などの様々な装置を含むものとして示される。もちろん、通信ネットワーク１１４、１１６および１１８の様々なノードにおいては、これらの種類の装置および他の種類の装置をいくらでも配置してよい。ネットワーク１１２、１１４、１１６、１１８内の任意またはすべてのネットワーク装置は、様々なソフトウェアモジュール上に１つまたは複数のコンピュータ読み取り可能なメモリおよびプロセッサを含みうるものであって、本明細書に記載される異常検出システム１０と連携するあらゆるモジュールを含み、格納されて実行されうる。
【００３８】
重要なことには、図１に記載された異常検出システム１０は、図２の任意およびすべてのネットワーク１１２、１１４、１１６および１１８において実行されて、例えば、マルウェアまたはこれらのネットワークにおいて動作する他の不正なアプリケーションなどの形状をとるこれらのネットワークへの侵入を検出しうる。概して、各ネットワーク１１２、１１４、１１６および１１８について独立した異常検出システムとしてもよいが、いくつかの場合では、単一の異常検出システムを用いて、例えば、ネットワーク１１４と１１６またはネットワーク１１２と１１４などのネットワーク１１２〜１１８のうちの複数のネットワークをカバーしうる。同様に、例えばネットワーク１１８などの１つのネットワークについての異常検出システムのコンポーネントは、例えばネットワーク１１２内などのネットワークのうちの他のひとつにおける装置内に格納されうる。
【００３９】
例としては、図２のネットワーク１１４、１１６および１１８において概ね示されるように、これらの各ノードに対する異常検出システムは、通信ネットワーク１１４、１１６、１１８の各ネットワークノード（または少なくともいくつかのネットワークノードに）に配置された収集アプリケーション１５０（図１のメッセージ収集ブロック３０および３２を含みうる）を含みうるものであり、異常検出システムが保護するように構成されているネットワーク１１４、１１６および１１８のノードのうちのひとつに配置された解析エンジン１５４（図１の検出エンジン３４でありうる）を含みうる。ネットワーク１１８の場合では、解析エンジン１５４は、ネットワーク１１２のノード内、例えばワークステーション１２２Ａに配置されて、そのネットワーク外の装置に配置されうる特定のネットワークの異常検出システムのコンポーネントを説明するものとして示されている。
【００４０】
概して、各収集アプリケーションまたはモジュール１５０は、ノードのネットワークリンクで発生されてネットワークリンクを通じて送信されたネットワークメッセージトラフィックおよび／またはネットワークノードで受信された（ネットワークノードへ送信された）メッセージトラフィックを観測または解析して、これらの収集アプリケーションまたはモジュール１５０はメッセージトラフィックについてのメタデータを発生する。収集アプリケーション１５０は、概してネットワークの各ノードで単独で動作して各ノードでネットワークトラフィックメタデータを収集してから、そのネットワークの解析エンジン１５４へメタデータを送信するものであって、解析エンジン１５４は、このメタデータを解析してネットワークトラフィックパターンにおける異常を判定する。その後これらの検出された異常を用いて、マルウェア、スパイプログラムなどを含む、ネットワークへの潜在的な侵入または実際の侵入を検出しうる。所望であれば、収集アプリケーション１５０は、ネットワークそれ自体を通じてネットワークノードにおける（ネットワークノードへの、およびネットワークノードからの）メッセージトラフィックに関してメタデータを送信しうるものであって、そのように所望する場合には通信ネットワークと独立して、分離してまたは並行して用いられる。しかしながら、概して、メッセージそれら自体の代わりにメッセージトラフィックに属しているメタデータのみを解析エンジン１５４へ送信すればよいため、データ収集アプリケーション１５０とそれぞれの解析エンジン１５４との間の通信は、ネットワークリンクのトラフィック負荷を有意に増加させない。さらに、データ収集アプリケーション１５０はリアルタイムでメタデータを送信しうるものであるが、所定の時間で、所定の事象に応じてなど、あるノードで特定の量のメタデータが収集されたら、それらはこのメタデータを格納し、周期的にそれぞれの解析エンジン１５４へメタデータ群を送信することが好ましく、それにより、データ収集アプリケーション１５０および解析エンジン１５４間の通信によって生じたネットワークトラフィックを軽減しうる。説明の便宜上、構成変更検出モジュール１７０の集合はまた、様々なネットワーク１１２、１１４、１１６、１１８において示され、上記において示した手法において、これらのモジュールはそれぞれのネットワークの構成変更についてそれぞれの解析エンジン１５４に警報を出すように動作する。
【００４１】
同様に、再び説明の便宜上、図２はネットワーク１１４内部（すなわち、ネットワーク１１４のネットワークリンクに直接連結された装置内）に完全に配置されているネットワーク１１４の異常検出システムを示しており、同時にネットワーク１１８の異常検出システムは、ネットワーク１１８内の装置に配置された構成要素（例えば、収集モジュール１５０）を含み、同時にこのネットワークの解析エンジン１５４（ノード１２２Ａ内）および構成変更検出モジュール１７０（ノード１２２Ｃ内）が配置されて、ネットワーク１１８に通信可能に接続されている他のネットワーク（ネットワーク１１２）内の装置で実行される。このように、メッセージ収集モジュール１５０は、ネットワーク１１８のメタデータを実際にはネットワーク１１８外の装置（例えば、ネットワーク１１２におけるノード１２２Ａの装置）において実行されるネットワーク１１８の解析アプリケーション１５４に送信する。さらにまた、特に図示はしないが、単一の解析エンジン１５４を用いて多数のネットワーク内で、または多数のネットワークを通じてトラフィック異常を検出しうる。例えば、ネットワーク１１２のノード１２２Ａの装置内の解析エンジン１５４は動作して、ネットワーク１１２および１１６内、ネットワーク１１８および１１６内またはネットワーク１１２、１１６および１１８内の装置からのメタデータを受信しうる。この場合、同じ解析エンジン１５４が、例えば、これらのネットワークの構成データベースが配置されている場所によるものであるが、ネットワーク１１２、１１６または１１８のうちの１つまたは他のネットワーク内の装置に配置されうる１つまたは複数の構成変更検出モジュール１７０からの変更通知を受信しようとするものである。従って、単一の異常検出システムを用いて単一のネットワーク内または複数のネットワークを通じてメッセージまたはトラフィックの異常を検出しうる。さらに、異常検出システムは各ネットワークに単一異常検出エンジン１５４を有するように記載されているが、同様の異常検出システムは、例えば、ネットワークの異なる装置内の複数の検出エンジン１５４を有しうる。そうした構成は、任意の特定のエンジン１５４に必要な処理力の軽減、分散処理の提供などをしうる。
【００４２】
さらなる例として、図３は、図２の通信ネットワーク１１４をより詳細に示している。この例では、通信ネットワーク１１４は、例えば他のネットワークへのゲートウェイ２２６、例えばインターネット、もう１つのユーザインタフェースデバイスまたはワークステーション２３０などの外部システムへのゲートウェイ２２８、構成データベース２３２、サーバ２３および２つのプロセス制御ノード２３４Ａおよび２３４Ｂなどの様々な装置を相互に接続する１つまたは複数のスイッチ２０２を含みうる有線イーサネットバス２００を含む。ここで、第１のプロセス制御ノード２３４Ａは、入力／出力（Ｉ／Ｏ）カード２２６および２２８を介して有線フィールド機器２１５〜２２２に通信可能に接続され、無線ゲートウェイ２３５およびネットワークバックボーン２００を介して無線フィールド機器２４０〜２５８に通信可能に接続される１つまたは複数の冗長なプロセスコントローラ２６０を含む。この場合では、無線ゲートウェイ２３５はネットワーク１１４の第２の制御ノード２３４Ｂである。しかしながら、他の実施形態では、ノード２３４Ａのコントローラ２６０は、例えば他の有線または無線通信リンクまたはＩ／Ｏモジュールを用いるなど、バックボーン２００以外の通信ネットワークを用いて無線ゲートウェイ２３５に通信可能に接続されうる。
【００４３】
例として、Emerson Process Managementより販売されているDeltaV（商標）コントローラでありうるコントローラ２６０を動作して、少なくともいくつかのフィールド機器２１５〜２２２および２４０〜２５８を使用して、１つまたは複数のバッチ処理または連続処理、保守アプリケーション、安全システムアプリケーションなどを実行しうる。コントローラ２６０は、例えば、４−２０ｍＡ規格の装置（standard 4-20 mA device）、入力／出力（Ｉ／Ｏ）カード２３６、２３８および／またはFOUNDATION（登録商標） Fieldbusプロトコル、HART（登録商標）プロトコル、WirelessHART（登録商標）プロトコルなどの任意のスマート通信プロトコルと連携した任意の所望のハードウェアおよびソフトウェアを用いて、フィールド機器２１５〜２２２および２４０〜２５８に通信可能に接続されうる。コントローラ２６０は、付加的にまたは代替的に、他の接続を介して少なくともいくつかのフィールド機器２１５〜２２２および２４０〜２５８と通信可能に接続されうる。図３に示すネットワーク１１４では、コントローラ２６０、フィールド機器２１５〜２２２およびＩ／Ｏカード２３６、２３８は有線装置であり、フィールド機器２４０〜２５８は無線フィールド機器である。もちろん、有線フィールド機器２１５〜２２２および無線フィールド機器２４０〜２５８は、今後開発される任意の規格またはプロトコルを含む任意の有線または無線プロトコルなどである、他の所望の標準またはプロトコルに従いうる。
【００４４】
図３のコントローラ２６０は、１つまたは複数のプロセス制御ルーチン（メモリ２７２に格納されている）を実行するまたは管理するプロセッサ２７０を含み、制御ループを含みうる。プロセッサ２７０は、フィールド機器２１５〜２２２および２４０〜２５８と、制御業務、または保守、監視および安全システム業務などの他の業務を実行するためにバックボーン２００と通信可能に接続された他のノードと、通信しうる。なお、本明細書に記載された任意の制御ルーチンまたはモジュールは、そのように所望する場合には異なるコントローラまたは他の装置によって実行される、または実施されるそれらの部位を有しうる。同様に、処理制御システム内で実行されるためのものである本明細書に記載した制御ルーチンまたはモジュールは、ソフトウェア、ファームウェア、ハードウェアなどの任意の形態を取りうる。制御ルーチンは、例えば、オブジェクト指向プログラミング、ラダーロジック、シーケンシャルファンクションチャート、機能ブロック図を用いる、または他のソフトウェアプログラミング言語または設計パラダイムを用いるなどの任意の所望のソフトウェアフォーマットで実行されうる。制御ルーチンは、例えばランダムアクセスメモリ（ＲＡＭ）またはリードオンリメモリ（ＲＯＭ）などの任意の所望の種類のメモリに格納されうる。同様に、制御ルーチンは、例えば、１つまたは複数のＥＰＲＯＭ、ＥＥＰＲＯＭ、特定用途半導体集積回路（ＡＳＩＣ）、または他のハードウェアもしくはファームウェア構成要素にハードコードされうる。従って、コントローラ２６０は、任意の所望の手法で制御ストラテジまたは制御ルーチンを実行するように構成されうる。
【００４５】
いくつかの実施形態では、コントローラ２６０は、一般に機能ブロックとして称されるものを用いて制御ストラテジを実行するものであり、各機能ブロックは、制御ルーチン全体のうちのオブジェクトまたは他の部分（例えば、サブルーチン）であり、他の機能ブロックと関連して（リンクと呼ばれる通信を介して）動作してプロセス制御システム内のプロセス制御ループを実行する。機能ブロックに基づく制御は、通常、伝送器、センサーまたは他のプロセスパラメータ測定装置と連携するなどの入力機能、ＰＩＤ、ファジーロジックなどの制御を実行する制御ルーチンと連携するなどの制御機能、または、バルブなどのいくつかの装置の動作を制御する出力機能のうちのひとつを実行して、プロセス制御システム内のいくつかの物理的な機能を実行する。もちろん、複合型および他種の機能ブロックが存在する。機能ブロックは、通常、これらの機能ブロックが４−２０ｍＡ規格の装置およびHARTデバイスなどのいくつかの種類のスマートフィールド機器のために用いられる、または連携される場合にコントローラ２６０内に格納されて、コントローラ２６０により実行されうるものであり、またはFieldbusデバイスとともにあることが可能な場合はフィールド機器それら自体に格納されてフィールド機器それら自体によって実行されうる。コントローラ２６０は、１つまたは複数の制御ループを実行しうる１つまたは複数の制御ルーチン２８０を含みうる。各制御ループは、通常、制御モジュールと称され、１つまたは複数の機能ブロックを実行することによって動作されうる。
【００４６】
有線フィールド機器２１５〜２２２はセンサー、バルブ、伝送器、ポジショナなどの任意の種類の装置であってよく、同時に、Ｉ／Ｏカード２３６および２３８は、任意の所望の通信またはコントローラプロトコルに従う任意の種類のＩ／Ｏデバイスであってよい。図３に示す実施形態においては、フィールド機器２１５〜２１８は、アナログ配線またはアナログとデジタル配線との組み合わせを通じてＩ／Ｏカード２３６と通信する４−２０ｍＡ規格の装置またはHART装置であり、同時にフィールド機器２１９〜２２２は、Fieldbus通信プロトコルを使用してデジタルバスを通じてＩ／Ｏカード２３８と通信する、FOUNDATION（登録商標） Fieldbusフィールド機器などのスマートデバイスである。しかしながら、いくつかの実施形態では、少なくともいくつかの有線フィールド機器２１５〜２２２および／または少なくともいくつかのＩ／Ｏカード２３６、２３８は、ビッグデータネットワークを使用してコントローラ２６０と通信しうる。いくつかの実施形態では、少なくともいくつかの有線フィールド機器２１５〜２２２および／または少なくともいくつかのＩ／Ｏカード２３６、２３８は、プロセス制御システムネットワーク１１４のノードでありうる。
【００４７】
図３に示した実施形態では、無線フィールド機器２４０〜２５８は、例えばWirelessHART（登録商標）プロトコルなどの無線プロトコルを使用して無線ネットワーク２９０に通じる。そうした無線フィールド機器２４０〜２５８は、同様に無線で通信するように構成されている（例えば、無線プロトコルを使用して）ネットワーク１１４の１つまたは複数のノードと直接通信しうる。無線で通信するように構成されていない１つまたは複数の他のノードと通信するために、無線フィールド機器１４０〜１５８は、通信バックボーン２００に、または他のプロセス制御通信ネットワークに連結された無線ゲートウェイ２３５を利用しうる。いくつかの実施形態では、少なくともいくつかの無線フィールド機器２４０〜２５８は、プロセス制御システムネットワーク１１４のノードでありうる。
【００４８】
無線ゲートウェイ２３５は、無線機器２４０〜２５８、有線機器２１５〜２２２および／またはプロセス制御ネットワーク１１４の他のノード間における通信可能な接続を提供する。いくつかの場合では、無線ゲートウェイ２３５は、共有層または有線および無線プロトコルスタックの層をトンネリングしながら、有線および無線プロトコルスタックのより下層でのルーティング、バッファリングおよびタイミングサービスを使用することにより（例えば、アドレス変換、ルーティング、パケット分割、優先度付けなど）、通信可能な接続を提供する。他の場合では、無線ゲートウェイ２３５は、任意のプロトコル層を共有しない有線および無線プロトコル間のコマンドを変換しうる。プロトコルおよびコマンドの変換に加えて、無線ゲートウェイ２３５は、無線ネットワーク２９０において実行された無線プロトコルと連携したスケジューリング方式のタイムスロットおよびスーパーフレーム（時間的に等しい間隔をあけた一連の通信タイムスロット）によって用いられた同期された計時を提供しうる。さらに、無線ゲートウェイ２３５は、無線ネットワーク２９０のために、例えばリソース管理、性能調整、ネットワーク障害の軽減、トラフィック監視、セキュリティなどのネットワーク管理および管理機能を提供しうる。
【００４９】
有線フィールド機器２１５〜２２２と同様に、無線ネットワーク２９０の無線フィールド機器２４０〜２５８は、例えばバルブの開閉であるプロセスプラント内での物理的な制御機能を動作し、プロセスパラメータの測定値を取得または他の機能を動作しうる。しかしながら、無線フィールド機器２４０〜２５８は、ネットワーク２９０の無線プロトコルを用いることによって通信するよう構成されている。このように、無線フィールド機器２４０〜２５８、無線ゲートウェイ２３５および無線ネットワーク２９０における他の無線ノードは、普通、無線通信パケットを生産し、消費する。
【００５０】
いくつかの場面では、無線ネットワーク２９０は、非無線装置を含みうる。例えば、図３のフィールド機器２４８は、４−２０ｍＡのレガシーデバイスおよび慣例的な有線HART装置でありうるフィールド機器２５０でありうる。ネットワーク２９０内で通信するために、フィールド機器２４８および２５０は、無線アダプタ（ＷＡ）２５２ａまたは２５２ｂを介して無線通信ネットワーク２９０に連結されうる。さらに、無線アダプタ２５２ａ、２５２ｂは、例えばFOUNDATION（登録商標） Fieldbus、PROFIBUS、DeviceNetなどの他の通信プロトコルを支持しうる。さらに、無線ネットワーク２９０は、１つまたは複数のネットワークアクセスポイント２５５ａ、２５５ｂを含みうるものであって、無線ゲートウェイ２３５に有線接続する独立した物理的デバイスでありうるか、または、積分装置として無線ゲートウェイ２３５内に具備されうる。無線ネットワーク２９０はまた、１つまたは複数のルータ２５８を含んで、無線通信ネットワーク２９０内の１つの無線装置から他の無線装置へパケットを転送しうる。無線装置２４０〜２５８は、図３に点線で示した無線通信ネットワーク２９０の無線リンクを通じて、互いと、および無線ゲートウェイ２３５と通信しうる。
【００５１】
図３のネットワーク１１４は、単に、有限数のフィールド機器２１５〜２２２および２４０〜２５８とともに単一のコントローラ２６０を示しているが、これは単なる例示であって実施形態の限定ではない。ネットワーク１１４には任意の数のコントローラが含まれてよく、かつ、コントローラ２６０は任意の数の有線または無線のフィールド機器２１５〜２２２、２４０〜２５８と通信して、例えばプラント内のプロセスを制御しうる。さらに、プロセスプラントはまた、任意の数の無線ゲートウェイ２３５、ルータ２５８、アクセスポイント２５５および無線プロセス制御通信ネットワーク２９０を含みうる。
【００５２】
概して、脅威検出システムは、図１の開示に続く任意の所望の手法で、ネットワーク１１４に搭載または実装されうる。特に、図３に示すように、異常検出システム１０は、各ネットワークノード２２６、２２８、２３０、２３２、２３３、２３４Ａ、２３４Ｂおよび２３５に、およびスイッチ２０２またはネットワーク１１４の他の端点装置のいずれかに配置される通信モジュール３３０（図１の通信モジュール３０および３２でありうる）を含む。図３において全詳細を示していないが、通信モジュール３３０は、例えばＩ／Ｏデバイス２３６および２３８内などの任意のサブノードデバイス内、有線フィールド機器２１５〜２２２内もしくはすべての有線フィールド機器２１５〜２２２内、または任意のもしくはすべての無線機器２４０〜２５８内に搭載されうる。図３において、サブノードデバイス内の各通信モジュール３３０は参照符号３３０ａで表示されて、ネットワーク１１４のより大きなノードのサブノードであることを示している。図１に示すように、通信モジュール３３０および３３０ａは、各ノードへのトラフィックおよび各ノードからのトラフィックを解析して、トラフィックについてのメタデータを編集する。
【００５３】
例であるこのシステムでは、通信モジュール２３０および２３０ａはネットワークリンク２００を通じて、ユーザインタフェースデバイス２３０のひとつに搭載されるように示される異常検出エンジン３３４と通信する。しかしながら、異常検出エンジン３３４は、ネットワーク１１４上の任意の他のコンピュータデバイス内であって、例えばネットワーク上の構成データベース２３２、ゲートウェイデバイス２２６、２２８、スイッチ２０２などの内部に搭載されうる。さらに、異常検出エンジン３３４は、ネットワーク１１４外のコンピュータデバイス内であって、図２のネットワーク１１２、１１６、１１８のうちのひとつの内部などに配置されうる。この場合、ネットワーク１１４の様々なノードまたはサブノードで収集されたメタデータは、ネットワークリンク２００およびゲートウェイ２２６、２２８のうちのひとつ（ファイアウォールを含んでもよく、または含まなくてもよい）を介して他のネットワークと通信されうる。さらに、例えばフィールド機器２１５〜２２２、Ｉ／Ｏデバイス２３６、２３８および無線フィールド機器２４０〜２５８などのサブネットワークデバイスからの通信は、例えばコントローラ２６０またはゲートウェイデバイス２３５などのプライマリネットワークのノードデバイスまで送信されうるものであり、これらの装置は、その後それら通信を検出エンジン３３４へ転送しうる。さらにまた、図３に示すように、構成データベース２３２は、任意の所望の手法で、構成変更を検出して検出エンジン２３４へ伝達する構成変更モジュール３７０を含む。図３の少なくともいくつかのノードに示すように、各ノードデバイスは、様々な異常検出システムモジュール３３０、３３４および３７０を実装して実行するマイクロプロセッサ、ＡＳＩＣ、または他のプロセッサでありうるプロセッサ３０９を含み、プロセッサ３０９上での実行のためのこれらのモジュールを格納するコンピュータ読み取り可能なメモリ３１１を含む。
【００５４】
図４は、本明細書に記載される例である異常検出システムを実行する通信ネットワークの様々なノード間の通信フローおよび様々なノードにおける処理を示す例であるフロー図を描いている。特に、ルーチン４００は、ネットワークの、またはネットワーク上での異なる装置で実行されうる様々な異なるコンポーネントを含むものであって、各装置またはネットワークノードで実行されうるものでありメッセージトラフィックメタデータが発生されて収集されるコンポーネント４０２と、構成モジュール、構成データベースまたは他の構成ルーチンとともに格納されて、構成モジュール、構成データベースもしくは他の構成ルーチン内で、または構成モジュール、構成データベースもしくは他の構成ルーチンの一部として実行されて、ノードの構成になされる構成変更を検出することが可能であるコンポーネント４０４と、解析されるネットワーク内の異常を検出するためのエキスパートまたは異常検出エンジンにおいて用いられうるコンポーネント４０６とを含む。
【００５５】
コンポーネントまたはルーチン４０２は、ノードにおける着信メッセージおよび発信メッセージを収集して調べる、かつ、ノードにおける着信メッセージおよび発信メッセージのすべてを利用できるようにノードの通信層内にまたはノードの通信層に対して動作可能に配置されうる第１のブロック４１０を含む。図１のブロック３０および３１を実行させ、メッセージを調べて、少なくとも一時的にメッセージを格納しうる、ブロック４１０。メッセージ収集後、ブロック４１２では、メッセージに関するメタデータを作成して格納するものであり、本明細書に記載したメタデータのいずれかまたは解析エンジンによって要求もしくは必要とされたその他のメタデータを含む。もちろん、収集および発生されるメタデータの特定の性質は、ルールエンジンに格納されるルールの構成に基づいて、ときおり変更されることが可能である。次に、ブロック４１４では、メタデータを解析エンジンに送信するときであるかどうかを判定するものであり、周期的であったり、ユーザの要求に応じてであったり、作成または格納されているメタデータがある量となるときであったり、解析されているメッセージがある量となるときなどに発生しうる。メタデータを送信する必要がなければ、ブロック４１４は制御をブロック４１０に移す。しかし、メタデータを送信する必要があれば、ブロック４１６で、格納されたメタデータを、そのエンジンが配置されているノード内にあればいずれでもよいが、解析エンジンまたは異常検出エンジンのいずれかへ送信する。ブロック４１６ではまた、解析エンジンによって用いられうるノード、発生したメタデータおよび他のコンテキスト情報についての詳細を送りうる。ブロック４１６では、このメタデータを通信リンクもしくはネットワークのバスを通じて、または、独立した外部通信ネットワークを介して送信しうるが、ルーチン４０２が解析エンジンと同じ装置におけるものとする場合、通信は、装置間通信を介して行われうる。メタデータは、図４の点線で、異常検出エンジン内でブロック４１６からネットワーク解析ルーチン４０６へ送信されるものとして示されている。
【００５６】
もちろん、必要な場合には、ルーチン４０２は、ネットワークの動作中、継続的にネットワークのノードのそれぞれで動作して、着信メッセージおよび発信メッセージのすべてを解析して、メタデータを作成および格納し、そしてそのメタデータを異常検出エンジンへ送信することを続ける。
【００５７】
ネットワーク構成に対して構成変更をなす構成データベースまたは構成ルーチン内で動作しうるルーチン４０４は、構成変更があるかどうかを検出して、ない場合にはそれ自体にループバックし、構成変更がなされている場合には解析を続けるブロック４２０を含む。構成変更がなされるとき、例えば構成データベースに構成変更が格納されたとき、構成変更が構成ルーチンによって発生されてネットワークにダウンロードされたとき、新しい構成または構成変更が構成データベースにダウンロードされたときなどには、ブロック４２２では、ブロック４２２からの点線で示されているように、検出エンジンへ、構成変更の通知を送信するおよび／または新しい構成の詳細もしくは新しい構成の全てを送信する。この通信は、所望であれば、ネットワークリンクを通じて生じうる。もちろん、必要な場合には、ルーチン４０４は動作して、構成変更を検出して、構成変更の詳細ならびにそれら変更の通知を、ルーチン４０６を実行する異常検出エンジンへ送信することを続ける。
【００５８】
図４に示すように、ルーチン４０６は、後の解析のために、様々なノードからのメタデータを受信および格納し、例えば図１のメタデータ記憶部５０などのメモリにメタデータを格納するブロック４３０を含みうる。メタデータは、任意の所望の種類の通信を用いて任意の所望の手法で、受信および格納されてよく、さらに任意の所望のデータベース格納ルーチンおよび／またはシステムを用いて格納されうる。メタデータは、それが生じたノードに基づいて、ならびにメタデータの特定の種類、ソースなどを相互に参照する手法で格納されうる。例えば、このメタデータは、格納されるメタデータの種類、メタデータのパラメータ、メタデータのソース、時間などに基づく多くの異なる手法に利用されることが可能であるリレーショナルデータベースに格納されうる。
【００５９】
いずれにしても、実行中、ブロック４３２は、異常検出エンジンによる使用のために作成された何らかの新しいルール（変更されたルールを含む）があるかどうかを判定する。そうした新しいルールは、例えば、異常検出エンジンでルールを変更しうるユーザから、または新しいルールをダウンロードし、ルールの変更または新しいルールによって使用されるパラメータもしくは制限を再構築しうるセキュリティ担当者からもたらされる。新しいもしくは変更されたルールまたは制限データが取得された場合、ブロック４３２からブロック４５０へ制御がもたらされ、その後、例えば図１のルールデータベース４４などの異常検出エンジンのルールデータベース内に新しいルールを格納および／または図１のトラフィックパターンデータベース４６内に新しい制限もしくはパラメータデータを格納する。さらに、ブロック４５２では、任意のルール変更に基づいて、ルールデータベース内の有効なルールを修正する、または任意のルール変更を実行するようにルールデータベース内の有効なルールを修正する。いずれにしても、新しいルールもしくはルール変更が検出されない場合、または新しいルールもしくはデータが保存された後には、ブロック４３４では、構成変更ルーチン４０４によって示されるように、任意の新しい構成が、ネットワークに格納および／または保存されているかどうかを判定する。新しい構成または構成変更が検出されない場合には、異常検出システムは現在のルールの集合および現在のトラフィックパラメータデータの集合に従って動作してよく、制御はブロック４３６へもたらされる。ブロック４３６では、メタデータデータベースに現在格納されているメタデータを処理するときかどうかを判定する。例えば、ブロック４３６では、例えば１秒に１回、１分に１回、１時間に１回など周期的に、もしくは任意の他の時間枠でメタデータを処理する必要があることを判定してよく、またはユーザの要求に応じて、もしくは例えば警報が発生されるなどのいくつかの所定の事象の発生に応じてその動作をしてもよい。いずれにしても、メタデータを処理する時間ではない場合には、異常検出ルーチン４０６の次の繰り返しのために、ブロック４３６ではブロック４３０へ制御を戻す。
【００６０】
しかしながら、ブロック４３６でメタデータを処理するときであると判定する場合には、その後ブロック４３８で、図１のルールデータベース４４内の１つまたは複数の格納されたルールおよび図１のトラフィックパラメータデータベース４６内に格納されたベースラインメタデータならびにトラフィックパラメータを用いてメタデータを解析する。図１のルールエンジン４２によって実行されることが可能であるブロック４３８は、任意の所望の手法で論理ルールを解析または処理することが可能である。１つまたは複数のルールまたはすべてのルール内の、メタデータのすべてもしくはメタデータのいくつかの部分の解析については、その後ブロック４４０で、例えば潜在的な異常がルールデータベース内のルールの動作に基づいて検出されている場合に、アラートを発生する必要があるか否かを判定する。もしそうであれば、その後ブロック４４２で、検出された異常の種類または他の情報に基づいたアラートを、指定されているであろうユーザに対して、検出された異常の種類に基づいた、または異常検出解析に基づく破られたルールの詳細に基づいた任意の手法で実際に送信する。ブロック４４２では、彼らの身元に基づいて、またはどの種類の異常検出をどのユーザが取得すべきかを予め構成したリストに基づいて、１人または複数のユーザへ、アラートを送信しうる。さらに、ブロック４４２では、例えばネットワークをシャットダウンする、異常が検出されているノードに対してメッセージを送信してそれ自体をネットワークから分断する、ノード内の特定のアプリケーションを停止するなどの自動的な動きを誘導または開始しうる。制御はその後、新しいサイクルのため、またはルーチン４０６の繰り返しのためにブロック４３０に戻る。
【００６１】
ブロック４３４で新しい構成変更がなされていると判定する場合、ブロック４６０で構成変更に基づいてルールの集合を変更する必要があるか否かを判定する。もしそうであれば、その後ブロック４５２で、自動的かまたはユーザの入力に応じてのいずれかで、ルールデータベースに格納されている有効なルールを変更して、新しいまたは変更されたルールをルールデータベース（例えば、図１のデータベース４４）に格納する。いずれにしても、特定のノードもしくはネットワーク全体へのトラフィックフロー、または特定のノードもしくはネットワーク全体からのトラフィックフローの観点から、例えば、構成がネットワークの期待される動作を変更するおそれがあるために、ブロック４６２では、構成変更に基づいて、ベースライントラフィックデータパラメータを変更する必要があるかどうかを判定する。もしそうであれば、ブロック４６４で、予め決められた時間の間に１つまたは複数のノードからメタデータを収集し、ブロック４６６で、その時間で十分なメタデータが収集されたかどうかを判定する。そうでなければ、制御はブロック４６４に戻り、新しい構成下でノードからメタデータの収集を続ける。ブロック４６６で、十分なメタデータが収集されていることを検出する場合には、その後ブロック４６８で、例えば、メタデータについて新しい統計値を編集することによって、または他の所望の手法でメタデータを処理することによって収集メタデータから新しいベースライントラフィックデータパラメータを発生する。処理の最後で、制御は、新しい構成下でのネットワーク動作から決定されたルールおよび新しいトラフィックデータパラメータを用いた異常検出の動作のために、ブロック４３０へ戻る。
【００６２】
理解されるように、本明細書に記載した異常検出システムは、ネットワークノードにおけるシステムネットワーク構成を用いて、メタデータ収集の作業負荷を軽減し、解析エンジンで既知のシステムネットワーク構成を用いてルールの集合を規定し、かつ、同様に学習エンジンでありうる解析エンジンのための学習プロセスを与えるものである。解析エンジンが学習エンジンである場合では、解析エンジンのルールエンジンは、例えばユーザからのフィードバックを受信し、異常が検出されるかどうか、または検出された異常がネットワークへの侵入を示唆するものではなかったかどうかを判定しうるものであり、それに応じてルールを変更してこのフィードバックを組み込む、または反映する。異常検出エンジンはまた、ネットワークノードによって観察されたネットワークトラフィックについてのメタデータ（ネットワークフレーム、ログの完全なコピー、またはＳＮＭＰアラートのみと比べて）を報告し、システムネットワーク構成変更通知を用いて、異常検出解析の誤検出率を軽減する、または結果として生じる通知を再分類する。さらにまた、このシステムは、集中型のサーバ／機械に対してネットワークインフラストラクチャー装置（例えば、スイッチ、ルータ、ファイアウォール）でメタデータの収集および／または解析を行いうるものであり、集中型のサーバ／機械に対して端点装置（例えば、コントローラ、ＲＴＵ、Ｉ／Ｏサーバ、ワークステーション、サーバ）でメタデータの収集および／または解析を行いうるものであり、かつ、ＦＰＧＡ、ＴＣＰオフロードエンジンまたは他のプログラマブルハードウェアを用いてメタデータの収集および／または解析を行いうる。さらにまた、システムは、ネットワークノード内で、またはネットワークノードを通じて収集する階層メタデータを用いうるものであり、システムネットワーク構成に基づいて、端点装置（例えば、コントローラ、ＲＴＵ、Ｉ／Ｏサーバ、ワークステーション、サーバ）でトラフィックなしでのメタデータの収集および解析を行いうるものである。
【００６３】
本明細書に記載したセキュリティ技術はネットワーク化されたプロセス制御装置およびイーサネット（登録商標）ならびに例えばFieldbus、HARTならびに４−２０ｍＡ規格のプロトコルなどの様々な既知のプロセス制御プロトコルを用いたシステムと関連して用いられるように記載しているが、本明細書に記載のセキュリティ技術は、もちろん他のプロセス制御通信プロトコルまたはプログラミング環境を用いて任意の種類の制御装置で実施されることが可能であり、他の種類の装置、機能ブロックまたはコントローラとともに用いられうる。本明細書に記載のセキュリティ機能は、ソフトウェア内で実行されることが好ましいが、ハードウェア、ファームウェアなどで実行されてよく、そしてコンピュータデバイスと連携した他のプロセッサによって実行されうる。従って、そのように所望する場合には本明細書に記載した方法およびルーチンおよびシステムは、標準の多目的ＣＰＵ内で、または例えばＡＳＩＣなどの特別に設計されたハードウェアまたはファームウェア上で実行されうる。ソフトウェア内で実行される場合、ソフトウェアは、例えば磁気ディスク、レーザーディスク（登録商標）、光学ディスク、もしくは他の記憶媒体上などの任意のコンピュータ読み取り可能なメモリ内、またはコンピュータもしくはプロセッサのＲＡＭもしくはＲＯＭ内などに格納されうる。同様に、このソフトウェアは、例えば、コンピュータ読み取り可能なディスクもしくは他のトランスポータブルコンピュータ記憶機構上を含む、または電話線、インターネットなどの通信チャネルを通じて調整された任意の既知または所望の伝達方法を介して、ユーザへまたはプロセス制御システムへ伝達されうる。
【００６４】
さらに、本発明は、単なる説明であることと、発明を限定するものではないことを意図した特定の例を参照して記載されているが、発明の意図および範囲から逸脱することなく、記載された実施形態に対して変更、付加、または削除がなされうることは、当業者にとって明らかである。
【図１】
0006749106.tif 000002
【図２】
0006749106.tif 000003
【図３】
0006749106.tif 000004
【図４】
0006749106.tif 000005