(57)【特許請求の範囲】
【請求項１】
産業制御システム内の危殆化されたデバイスを識別するためのコンピュータ実装方法であって、前記方法の少なくとも一部分が、少なくとも１つのプロセッサを備えるコンピュータデバイスによって行われ、前記方法が、
少なくとも１つの産業デバイスを含む産業制御システムに対する通信を容易にするネットワーク内のネットワークトラフィックを監視することと、
前記ネットワークトラフィックに少なくとも部分的に基づいて、
前記ネットワークを介して前記産業デバイスと通信するために使用されるネットワークプロトコルと、
前記産業デバイスの正常な通信パターンと、
前記産業デバイスに関する１以上の有効なオペコードと、
を記載する、前記産業デバイスに関するメッセージプロトコルプロファイルを作成することと、
前記産業デバイス、及び前記産業制御システムに含まれる少なくとも１つの他のコンピューティングデバイスを伴う、前記ネットワーク内の少なくとも１つのメッセージを検出することと、
前記メッセージ内で少なくとも１つのオペコードを識別することと、
前記メッセージ内で識別された前記オペコードを、前記メッセージプロトコルプロファイルに記載された前記産業デバイスに関する前記有効なオペコードと比較することによって、前記メッセージが、前記産業デバイスの前記正常な通信パターンと不審に矛盾する異常を表していると判断することと、
前記異常を表している前記メッセージに少なくとも部分的に基づいて、前記他のコンピューティングデバイスが危殆化されている可能性が高いと判断することと、を含む、コンピュータ実装方法。
【請求項２】
前記他のコンピューティングデバイスが危殆化されている可能性が高いと判断することに応答して、前記他のコンピューティングデバイスに関して少なくとも１つの安全措置を実行することを更に含む、請求項１に記載の方法。
【請求項３】
前記安全措置が、
前記他のコンピューティングデバイスが危殆化されていることを少なくとも１つの追加のコンピューティングデバイスに通知する警報を発することと、
前記ネットワークから前記他のコンピューティングデバイスを検疫して、前記他のコンピューティングデバイスが、前記産業制御システム内の任意の追加のコンピュータと通信することを防止することと、
前記他のコンピューティングデバイスをシャットダウンして、前記他のコンピューティングデバイスが、前記産業制御システム内の任意の追加のコンピュータと通信することを防止することと、
前記産業制御システム内の前記他のコンピューティングデバイスと任意の追加のコンピューティングデバイスとの間の全てのメッセージをブロックすることと、
前記産業制御システム内の前記他のコンピューティングデバイスの少なくとも１つのコンピューティングタスクを少なくとも１つの追加のコンピュータに転送することによって、前記ネットワーク内の前記他のコンピューティングデバイスを置き換えることと、
のうちの少なくとも１つを含む、請求項２に記載の方法。
【請求項４】
前記ネットワーク内の前記ネットワークトラフィックを監視することが、
前記産業デバイスから生じるか、又はそこに向かうことになる、前記ネットワーク内のメッセージを検出することと、
前記メッセージのフィールドに含まれるパラメータを識別することを含む、請求項１に記載の方法。
【請求項５】
前記産業デバイスに関する前記メッセージプロトコルプロファイルを作成することが、前記メッセージの前記フィールドに含まれる前記パラメータから、前記産業デバイスの前記正常な通信パターンのベースライン表現を構築することを含む、請求項４に記載の方法。
【請求項６】
前記産業デバイスから生じるか、又はそこに向かうことになる、前記ネットワーク内の前記メッセージを検出することが、前記産業デバイスに関して共通するある特定の特性を有するメッセージのグループ化を作成することを含み、
前記産業デバイスの前記正常な通信パターンの前記ベースライン表現を構築することが、
メッセージの前記グループ化を分析することと、
前記メッセージの前記フィールドにおいて識別される前記パラメータの表現を前記ベースライン表現に挿入することと、によって、前記産業デバイスの前記正常な通信パターンの前記ベースライン表現を構築することを含む、請求項５に記載の方法。
【請求項７】
前記産業デバイス及び前記他のコンピューティングデバイスを伴う前記ネットワーク内の前記メッセージを検出することは、前記メッセージ及びメッセージの前記グループ化が、共通する前記ある特定の特性を共有すると判断することを含む、請求項６に記載の方法。
【請求項８】
前記メッセージが前記異常を表していると判断することが、
前記メッセージの少なくとも１つのフィールドに含まれる少なくとも１つのパラメータを識別することと、
前記メッセージの前記フィールドにおいて識別される前記パラメータが、前記産業デバイスの前記正常な通信パターンの前記ベースライン表現と不審に矛盾すると判断することと、を含む、請求項７に記載の方法。
【請求項９】
前記産業デバイスの前記正常な通信パターンの前記ベースライン表現を構築することが、前記メッセージの前記フィールドにおいて識別される前記パラメータに少なくとも部分的に基づいて、前記産業デバイスの前記正常な通信パターンに対する基準を表す一組のポリシー規則を形成することを含む、請求項５に記載の方法。
【請求項１０】
前記一組のポリシー規則を形成することが、前記産業デバイスと通信するコンピューティングデバイスに関するリスクスコアを算出することを容易にする数式内で、前記一組のポリシー規則内の少なくとも１つのポリシー規則に違反することと関連付けられたリスクのレベルを表す数値を重み付けすることを含む、請求項９に記載の方法。
【請求項１１】
前記メッセージの前記フィールドに含まれる前記パラメータが、
前記産業デバイスから生じるか、又はそこに向かうことになるメッセージに含まれるオペコード、
前記産業デバイスから生じるか、又はそこに向かうことになるメッセージのサイズ、
前記産業デバイスから生じるか、又はそこに向かうことになるメッセージの構造、
前記産業デバイスから生じるか、又はそこに向かうことになるメッセージのシーケンス番号、
前記産業デバイスから生じるか、又はそこに向かうことになるある特定の数のメッセージを識別するカウンタ、
前記産業デバイスから生じるか、又はそこに向かうことになるメッセージに含まれるトランザクション識別子、のうちの少なくとも１つを含む、請求項４に記載の方法。
【請求項１２】
産業制御システム内の危殆化されたデバイスを識別するためのシステムであって、
監視モジュールであって、
少なくとも１つの産業デバイスを含む産業制御システムに対する通信を容易にするネットワーク内のネットワークトラフィックを監視する、メモリに格納された、監視モジュールと、
プロファイリングモジュールであって、前記ネットワークトラフィックに少なくとも部分的に基づいて、
前記ネットワークを介して前記産業デバイスと通信するために使用されるネットワークプロトコルと、
前記産業デバイスの正常な通信パターンと、
前記産業デバイスに関する１以上の有効なオペコードと、
を記載する、前記産業デバイスに関するメッセージプロトコルプロファイルを作成する、メモリに格納された、プロファイリングモジュールと、
メモリに格納された検出モジュールであって、
前記産業デバイス及び少なくとも１つの他のコンピューティングデバイスを伴う、前記ネットワーク内の少なくとも１つのメッセージを検出し、
前記メッセージ内で少なくとも１つのオペコードを識別する、
検出モジュールと、
メモリに格納された判断モジュールであって、
前記メッセージ内で識別された前記オペコードを、前記メッセージプロトコルプロファイルに記載された前記産業デバイスに関する前記有効なオペコードと比較することによって、前記メッセージが、前記産業デバイスの前記正常な通信パターンと不審に矛盾する異常を表していると判断し、
前記異常を表している前記メッセージに少なくとも部分的に基づいて、前記他のコンピューティングデバイスが危殆化されている可能性が高いと判断する、判断モジュールと、
前記監視モジュール、前記プロファイリングモジュール、前記検出モジュール、及び前記判断モジュールを実行する、少なくとも１つの物理的プロセッサと、を備える、システム。
【請求項１３】
前記他のコンピューティングデバイスが危殆化されている可能性が高いという判断に応答して、前記他のコンピューティングデバイスに関して少なくとも１つの安全措置を実行する、メモリに格納された、セキュリティモジュールを更に備える、請求項１２に記載のシステム。
【請求項１４】
前記安全措置が、
前記他のコンピューティングデバイスが危殆化されていることを少なくとも１つの追加のコンピューティングデバイスに通知する警報を発することと、
前記ネットワークから前記他のコンピューティングデバイスを検疫して、前記他のコンピューティングデバイスが、前記産業制御システム内の任意の追加のコンピュータと通信することを防止することと、
前記他のコンピューティングデバイスをシャットダウンして、前記他のコンピューティングデバイスが、前記産業制御システム内の任意の追加のコンピュータと通信することを防止することと、
前記産業制御システム内の前記他のコンピューティングデバイスと任意の追加のコンピューティングデバイスとの間の全てのメッセージをブロックすることと、
前記産業制御システム内前記他のコンピューティングデバイスの少なくとも１つのコンピューティングタスクを少なくとも１つの追加のコンピュータに転送することによって、前記ネットワーク内の前記他のコンピューティングデバイスを置き換えることと、のうちの少なくとも１つを含む、請求項１３に記載のシステム。
【請求項１５】
非一時的コンピュータ可読媒体であって、１つ以上のコンピュータ実行可能命令を含み、コンピューティングデバイスの少なくとも１つのプロセッサによって実行されるとき、前記コンピューティングデバイスに、
少なくとも１つの産業デバイスを含む産業制御システムに対する通信を容易にするネットワーク内のネットワークトラフィックを監視することと、
前記ネットワークトラフィックに少なくとも部分的に基づいて、
前記ネットワークを介して前記産業デバイスと通信するために使用されるネットワークプロトコルと、
前記産業デバイスの正常な通信パターンと、
前記産業デバイスに関する１以上の有効なオペコードと、
を記載する、前記産業デバイスに関するメッセージプロトコルプロファイルを作成することと、
前記産業デバイス、及び前記産業制御システムに含まれる少なくとも１つの他のコンピューティングデバイスを伴う、前記ネットワーク内の少なくとも１つのメッセージを検出することと、
前記メッセージ内で少なくとも１つのオペコードを識別することと、
前記メッセージ内で識別された前記オペコードを、前記メッセージプロトコルプロファイルに記載された前記産業デバイスに関する前記有効なオペコードと比較することによって、前記メッセージが、前記産業デバイスの前記正常な通信パターンと不審に矛盾する異常を表していると判断することと、
前記異常を表している前記メッセージに少なくとも部分的に基づいて、前記他のコンピューティングデバイスが危殆化されている可能性が高いと判断することと、を行わせる、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
産業制御システムは、多くの場合、産業環境内で製造及び／又は生産作業を実行するデバイス及び／又は機械の機能性を制御するために使用される。例えば、原子力発電所は、電力の生成及び／又は分配を規制するために、産業制御システムを実装する及び／又は産業制御システムに依存し得る。この産業制御システムは、センサ、起動装置、コントローラ、制御弁、モータ、ロボットデバイス、及び／又はコンピューティングデバイスの集合を含み得る。この例では、原子力発電所は、システムの故障及び／又は誤動作が生じた場合、危機に瀕している損害の量により、テロ攻撃の第１の標的を表し得る。
【０００２】
残念ながら、ある特定の産業制御システムの高セキュリティの必要性により、これらの産業制御システムが通信するネットワークプロトコルは、めったに公衆に文書化されず及び／又は利用可能ではない。その結果、従来のセキュリティ技術は、産業制御システム内のネットワークトラフィックを有意に監視する及び／又は特定のデバイスが潜在的に危殆化されることを示唆する不審な挙動を検出することができない場合がある。したがって、従来のセキュリティ技術は、産業制御システム内の危殆化されたデバイスを識別することにおいてやや効果がなく、そのようなシステムを潜在的に攻撃に影響されやすいままにする場合がある。したがって、本開示は、産業制御システム内の危殆化されたデバイスを識別するための改善されたシステム及び方法に対する必要性を識別し、それに対処する。
【発明の概要】
【０００３】
以下で更に詳細に説明されるように、本開示は、業制御システム内の危殆化されたデバイスを識別するための様々なシステム及び方法を記載する。一実施例では、産業制御システム内の危殆化されたデバイスを識別するためのコンピュータ実装方法は、（１）少なくとも１つの産業デバイスを含む産業制御システムに対する通信を容易にするネットワーク内のネットワークトラフィックを監視することと、（２）ネットワークトラフィックに少なくとも部分的に基づいて、（Ａ）ネットワークを介して産業デバイスと通信するために使用されるネットワークプロトコルと、（Ｂ）産業デバイスの正常な通信パターンと、を記載する、産業デバイスに関するメッセージプロトコルプロファイルを作成することと、（３）産業デバイス、及び産業制御システムに含まれる少なくとも１つの他のコンピューティングデバイスを伴う、ネットワーク内の少なくとも１つのメッセージを検出することと、（４）メッセージを産業デバイスに関するメッセージプロトコルプロファイルと比較することによって、メッセージが、産業デバイスの正常な通信パターンと不審に矛盾する異常を表していると判断することと、次いで、（５）異常を表しているメッセージに少なくとも部分的に基づいて、他のコンピューティングデバイスが危殆化されている可能性が高いと判断することと、を含み得る。
【０００４】
一実施例では、本方法はまた、他のコンピューティングデバイスが危殆化されている可能性が高いと判断することに応答して、他のコンピューティングデバイスに関して少なくとも１つの安全措置を実行することを含み得る。安全措置の例としては、非限定的に、他のコンピューティングデバイスが危殆化されていることを少なくとも１つの追加のコンピューティングデバイスに通知する警報を発することと、産業ネットワークから他のコンピューティングデバイスを検疫して、他のコンピューティングデバイスが、産業制御システム内の任意の追加のコンピュータと通信することを防止することと、他のコンピューティングデバイスをシャットダウンして、他のコンピューティングデバイスが、産業制御システム内の任意の追加のコンピュータと通信することを防止することと、産業制御システム内の他のコンピューティングデバイスと任意の追加のコンピューティングデバイスとの間の全てのメッセージをブロックすることと、産業制御システム内の他のコンピューティングデバイスの少なくとも１つのコンピューティングタスクを少なくとも１つの追加のコンピュータに転送することによって、産業ネットワーク内の他のコンピューティングデバイスを置き換えることと、それらのうちの１つ以上の変形若しくは組み合わせ、又は任意の他の好適な安全措置が挙げられる。
【０００５】
一実施例では、本方法はまた、産業デバイスから生じるか、又はそこに向かうことになるネットワーク内のメッセージを検出することを含み得る。本実施例では、本方法は、メッセージのフィールドに含まれるパラメータを識別することを更に含み得る。一実施例では、メッセージプロトコルプロファイルは、メッセージのフィールドに含まれるパラメータから、産業デバイスの正常な通信パターンのベースライン表現を構築することを含み得る、及び／又は表し得る。そのようなパラメータとしては、非限定的に、メッセージのフィールドに含まれるパラメータが、産業デバイスから生じるか、又はそこに向かうことになるオペコード、産業デバイスから生じるか、又はそこに向かうことになるメッセージのサイズ、産業デバイスから生じるか、又はそこに向かうことになるメッセージの構造、産業デバイスから生じるか、又はそこに向かうことになるメッセージのシーケンス番号、産業デバイスから生じるか、又はそこに向かうことになるある特定の数のメッセージを識別するカウンタ、産業デバイスから生じるか、又はそこに向かうことになるメッセージに含まれるトランザクション識別子、それらのうちの１つ以上の変形若しくは組み合わせ、又は任意の他の好適なパラメータが挙げられる。
【０００６】
一実施例では、本方法はまた、産業デバイスに関して共通するある特定の特性を有するメッセージのグループ化を作成することを含み得る。本実施例では、本方法は、メッセージのグループ化を分析すること、及び／又はメッセージのフィールドにおいて識別されるパラメータの表現をベースライン表現に挿入することによって、産業デバイスの正常な通信パターンのベースライン表現を構築することを更に含み得る。追加的に又は代替的に、本方法は、メッセージ及びメッセージのグループ化が、共通するある特定の特性を共有すると判断することを含み得る。
【０００７】
一実施例では、本方法はまた、メッセージの少なくとも１つのフィールドに含まれる少なくとも１つのパラメータを識別することを含み得る。本実施例では、本方法は、メッセージのフィールドにおいて識別されるパラメータが、産業デバイスの正常な通信パターンのベースライン表現と不審に矛盾すると判断することとを更に含み得る。
【０００８】
一実施例では、本方法はまた、メッセージのフィールドにおいて識別されるパラメータに少なくとも部分的に基づいて、産業デバイスの正常な通信パターンに対する基準を表す一組のポリシー規則を形成することを含み得る。本実施例では、本方法は、産業デバイスと通信するコンピューティングデバイスに関するリスクスコアを算出することを容易にする数式内で、一組のポリシー規則内の少なくとも１つのポリシー規則に違反することと関連付けられたリスクのレベルを表す数値を重み付けすることを更に含み得る。
【０００９】
別の実施例として、上述の方法を実装するためのシステムは、（１）少なくとも１つの産業デバイスを含む産業制御システムに対する通信を容易にするネットワーク内のネットワークトラフィックを監視する、メモリに格納された、監視モジュールと、（２）プロファイリングモジュールであって、ネットワークトラフィックに少なくとも部分的に基づいて、（Ａ）ネットワークを介して産業デバイスと通信するために使用されるネットワークプロトコルと、（Ｂ）産業デバイスの正常な通信パターンと、を記載する、産業デバイスに関するメッセージプロトコルプロファイルを作成する、メモリに格納された、プロファイリングモジュールと、（３）産業デバイス及び少なくとも１つの他のコンピューティングデバイスを伴う、ネットワーク内の少なくとも１つのメッセージを検出する、メモリに格納された、検出モジュールと、（４）メモリに格納された、判断モジュールであって、（Ａ）メッセージを産業デバイスに関するメッセージプロトコルプロファイルと比較することによって、メッセージが、産業デバイスの正常な通信パターンと不審に矛盾する異常を表していると判断し、（Ｂ）異常を表しているメッセージに少なくとも部分的に基づいて、他のコンピューティングデバイスが危殆化されている可能性が高いと判断する、判断モジュールと、（５）監視モジュール、プロファイリングモジュール、検出モジュール、及び判断モジュールを実行する、少なくとも１つの物理的プロセッサと、を含み得る。
【００１０】
更なる実施例として、上述の方法は、非一時的コンピュータ可読媒体上のコンピュータ可読命令としてコード化されてもよい。例えば、コンピュータ可読媒体は、コンピューティングデバイスの少なくとも１つのプロセッサによって実行されるとき、コンピューティングデバイスに、（１）少なくとも１つの産業デバイスを含む産業制御システムに対する通信を容易にするネットワーク内のネットワークトラフィックを監視することと、（２）ネットワークトラフィックに少なくとも部分的に基づいて、（Ａ）ネットワークを介して産業デバイスと通信するために使用されるネットワークプロトコルと、（Ｂ）産業デバイスの正常な通信パターンと、を記載する、産業デバイスに関するメッセージプロトコルプロファイルを作成することと、（３）産業デバイス、及び産業制御システムに含まれる少なくとも１つの他のコンピューティングデバイスを伴う、ネットワーク内の少なくとも１つのメッセージを検出することと、（４）メッセージを産業デバイスに関するメッセージプロトコルプロファイルと比較することによって、メッセージが、産業デバイスの正常な通信パターンと不審に矛盾する異常を表していると判断することと、（５）異常を表しているメッセージに少なくとも部分的に基づいて、他のコンピューティングデバイスが危殆化されている可能性が高いと判断することと、を行わせる、１つ以上のコンピュータ実行可能命令非一時的コンピュータ可読媒体を含み得る。
【００１１】
上述の実施形態のいずれかによる特徴は、本明細書に記載される一般原理に従って、互いに組み合わせて使用されてもよい。これら及び他の実施形態、特徴、及び利点は、添付の図面及び特許請求の範囲と併せて以下の発明を実施するための形態を読むことによって更に十分に理解されるだろう。
【図面の簡単な説明】
【００１２】
添付の図面は、いくつかの例示的な実施形態を図示するものであり、本明細書の一部である。以下の説明と併せて、これらの図面は、本開示の様々な原理を実証及び説明する。
【図１】産業制御システム内の危殆化されたデバイスを識別するための例示的なシステムのブロック図である。
【図２】産業制御システム内の危殆化されたデバイスを識別するための追加の例示的なシステムのブロック図である。
【図３】産業制御システム内の危殆化されたデバイスを識別するための例示的な方法のフローチャートである。
【図４】産業制御システムに対する通信を容易にするネットワーク内で検出されるメッセージから作成される例示的なメッセージプロトコルプロファイルの図解である。
【図５】産業制御システムに対する通信を容易にするネットワークの内で検出される例示的なメッセージの図解である。
【図６】本明細書で説明及び／又は図示される実施形態のうちの１つ以上を実装できる例示的なコンピューティングシステムのブロック図である。
【図７】本明細書で説明及び／又は図示される実施形態のうちの１つ以上を実装できる例示的なコンピューティングネットワークのブロック図である。  図面を通して、同一の参照符号及び記述は、必ずしも同一ではないが、類似の要素を示す。本明細書で説明される例示的実施形態は、様々な修正物及び代替的な形態が可能であるが、特定の実施形態が例として図面に示されており、本明細書に詳細に記載される。しかしながら、本明細書に記載される例示的実施形態は、開示される特定の形態に限定されることを意図しない。むしろ、本開示は、添付の特許請求の範囲内にある全ての修正物、等価物、及び代替物を網羅する。
【発明を実施するための形態】
【００１３】
本開示は、概して、産業制御システム内の危殆化されたデバイスを識別するためのシステム及び方法を対象とする。後で更に詳しく説明されるように、産業ネットワーク内のネットワークトラフィックを監視することによって、本明細書に記載される様々なシステム及び方法は、たとえ通信プロトコルが公衆に文書化されず及び／又は利用可能ではない場合でも、産業ネットワークを介して通信する産業制御システムによって使用される通信プロトコルを学習及び／又はリバースエンジニアリングすることができる場合がある。このように通信プロトコルを学習及び／又はリバースエンジニアリングする際に、本明細書に記載される様々なシステム及び方法は、共通するある特定の特性を有するメッセージのグループ（例えば、同じ通信プロトコル、同じ宛先インターネットプロトコル（ＩＰ）アドレス、及び／又は同じ宛先ポート番号）に類似のトラフィックをグループ化し得る。これらのシステム及び方法は、次いで、ソース若しくは宛先デバイスの正常な通信パターン、及び／又は産業ネットワークにわたってメッセージの対応するグループと通信するために使用される通信プロトコル、を記載するメッセージプロトコルプロファイルを構築し得る。
【００１４】
更に、このようにソース又は宛先デバイスに関するメッセージプロトコルプロファイルを構築して、次いでメッセージプロトコルプロファイルに対して未来のメッセージを比較することによって、これらのシステム及び方法は、未来のメッセージのいずれかがソース又は宛先デバイスの正常な通信パターンと不審に矛盾する異常を表しているかどうかを判断することができる場合がある。未来のメッセージのうちの１つ以上がそのような異常を表している場合には、これらのシステム及び方法は、ソース又は宛先デバイスが危殆化されている可能性が高いと判断し得る。
【００１５】
以下に、図１〜図２を参照して、業制御システム内の危殆化されたデバイスを識別するための例示的なシステムについて詳細に説明する。対応するコンピュータ実装方法の詳細な説明は、図３に関連して提供される。例示的なメッセージプロトコルプロファイル及び例示的なメッセージの詳細な説明も、それぞれ図４及び図５に関連して提供される。更に、本明細書で説明される実施形態のうちの１つ以上を実装できる例示的なコンピューティングシステム及びネットワークアーキテクチャについての詳細な説明が、それぞれ、図６及び図７と関連して提供されることになる。
【００１６】
図１は、産業制御システム内の危殆化されたデバイスを識別するための例示的なシステム１００のブロック図である。この図に図示されるように、例示的なシステム１００は、１つ以上のタスクを実施するための１つ以上のモジュール１０２を含んでもよい。例えば、後で更に詳しく説明されるように、例示的なシステム１００は、少なくとも１つの産業デバイスを含む産業制御システムに対する通信を容易にするネットワーク内のネットワークトラフィックを監視する監視モジュール１０４を含み得る。例示的なシステム１００は、ネットワークトラフィックに少なくとも部分的に基づいて、（１）ネットワークを介して産業デバイスと通信するために使用されるネットワークプロトコルと、（２）産業デバイスの正常な通信パターンと、を記載する、産業デバイスに関するメッセージプロトコルプロファイルを作成するプロファイリングモジュール１０６も含み得る。
【００１７】
加えて、後で更に詳しく説明されるように、例示的なシステム１００は、産業デバイス、及び産業制御システムに含まれる少なくとも１つの他のコンピューティングデバイスを伴う、ネットワーク内の少なくとも１つのメッセージを検出する検出モジュール１０８を含み得る。例示的なシステム１００は、判断モジュール１１０であって、（１）メッセージを産業デバイスに関するメッセージプロトコルプロファイルと比較することによって、メッセージが、産業デバイスの正常な通信パターンと不審に矛盾する異常を表していると判断し、（２）異常を表しているメッセージに少なくとも部分的に基づいて、他のコンピューティングデバイスが危殆化されている可能性が高いと判断する、判断モジュール１１０を含み得る。別々の要素として図示されるが、図１のモジュール１０２のうちの１つ以上は、単一のモジュール又はアプリケーションの部分を表してもよい。
【００１８】
ある特定の実施形態では、図１のモジュール１０２のうちの１つ以上は、コンピューティングデバイスによって実行されると、コンピューティングデバイスに１つ以上のタスクを実施させ得る、１つ以上のソフトウェアアプリケーション又はプログラムを表し得る。例えば、以下により詳細に記載されるように、モジュール１０２のうちの１つ以上は、図２に例示されるデバイス（例えば、コンピューティングデバイス２０２（１）〜（Ｎ）、サーバ２０６、及び／若しくは産業デバイス２０８）、図６にあるコンピューティングシステム６１０、並びに／又は図７にある例示的なネットワークアーキテクチャ７００の部分のような１つ以上のコンピューティングデバイス上で実行されるように記憶及び構成されるソフトウェアモジュールを表し得る。図１のモジュール１０２のうちの１つ以上はまた、１つ以上のタスクを実施するように構成された１つ以上の専用コンピュータの全て又は一部を表し得る。
【００１９】
図１に図解されるように、例示的なシステム１００は、メッセージプロトコルプロファイル１２０などの１つ以上のメッセージプロトコルプロファイルも含み得る。一実施例では、メッセージプロトコルプロファイル１２０は、産業ネットワークを介して及び／又は産業制御システムに含まれるデバイスと通信するために使用される専有ネットワークプロトコルを識別し、表し、及び／又は説明し得る。本実施例では、メッセージプロトコルプロファイル１２０は、デバイスの間で交換されるメッセージの構造、そのようなメッセージのフィールド、及び／又はそのようなメッセージのシーケンス番号付けを識別し、表し、及び／又は説明し得る。
【００２０】
追加的に又は代替的に、メッセージプロトコルプロファイル１２０は、産業制御システムに含まれる１つ以上の産業デバイスの正常な通信パターンを識別し、表し、及び／又は説明し得る。例えば、メッセージプロトコルプロファイル１２０は、１つ以上の産業デバイスに送信されるメッセージに含まれる典型的なペイロード、パラメータ、及び／又はコンテンツのベースライン表現を含み得る。そのような通信パターンは、デバイスによって交換されるメッセージに典型的には含まれるオペコード、そのようなメッセージに典型的には含まれるデータパラメータ及び／若しくは値、典型的には互いに通信するデバイス、並びに／又は、ある特定の期間にわたって及び／又はある特定の時刻においてデバイスによって典型的には交換されるメッセージの数を含み得る、並びに／又はそれらによって表され得る。図１が単一のメッセージプロトコルプロファイルのみを図解するが、他の実施形態は、産業制御システムに含まれる及び／又は産業制御システムとインターフェースする様々なデバイスに対応する複数のメッセージプロトコルプロファイルを含み得る、及び／又は伴い得る。
【００２１】
図１の例示的なシステム１００は、様々な方法で実装され得る。例えば、例示的なシステム１００の全て又は一部は、図２における例示的なシステム２００の部分を表してもよい。図２に示すように、システム２００は、コンピューティングデバイス２０２（１）〜（Ｎ）、サーバ２０６、及び／又は産業デバイス２０８間の通信を容易にすることができるネットワーク２０４を含み得る。一実施例では、コンピューティングデバイス２０２（１）〜（Ｎ）のうちの１つ以上は、モジュール１０２のうちの１つ以上でプログラムされてもよい。追加的に又は代替的に、サーバ２０６及び／又は産業デバイス２０８は、モジュール１０２のうちの１つ以上でプログラムされてもよい。
【００２２】
一実施例では、コンピューティングデバイス２０２（１）〜（Ｎ）のうちの１つ以上は、メッセージプロトコルプロファイル１２０（１）〜（Ｎ）のうちの１つ以上を記憶し得る。追加的に又は代替的に、サーバ２０６及び／又は産業デバイス２０８は、メッセージプロトコルプロファイル１２０（１）〜（Ｎ）のうちの１つ以上を記憶し得る。
【００２３】
一実施形態では、図１のモジュール１０２のうちの１つ以上は、サーバ２０６の少なくとも１つのプロセッサによって実行されるとき、サーバ２０６が産業制御システム内の危殆化されたデバイスを識別することを可能にする。例えば、以下により詳細に記載されるように、１つ以上のモジュール１０２は、サーバ２０６に、（１）ネットワーク２０４内のネットワークトラフィックを監視することと、（２）ネットワークトラフィックに少なくとも部分的に基づいて、（Ａ）ネットワーク２０４を介して産業デバイス２０８と通信するために使用されるネットワークプロトコルと、（Ｂ）産業デバイス２０８の正常な通信パターンと、を記載する、産業デバイス２０８に関するメッセージプロトコルプロファイル１２０（１）を作成することと、（３）産業デバイス２０８、及び産業制御システムに含まれるコンピューティングデバイス２０２（１）を伴う、ネットワーク２０４内の少なくとも１つのメッセージを検出することと、（４）メッセージを産業デバイス２０８に関するメッセージプロトコルプロファイル１２０（１）と比較することによって、メッセージが、産業デバイス２０８の正常な通信パターンと不審に矛盾する異常を表していると判断することと、（５）異常を表しているメッセージに少なくとも部分的に基づいて、コンピューティングデバイス２０２（１）が危殆化されている可能性が高いと判断することと、を行わせる、１つ以上のコンピュータ実行可能命令非一時的コンピュータ可読媒体を含み得る。
【００２４】
コンピューティングデバイス２０２（１）〜（Ｎ）は、一般に、コンピュータ実行可能命令を読み取ることが可能な、任意のタイプ又は形態のコンピューティングデバイスを表す。コンピューティングデバイス２０２（１）〜（Ｎ）の例としては、非限定的に、産業デバイス、コントローラ、ラップトップ、タブレット、デスクトップ、サーバ、携帯電話、携帯情報端末（ＰＤＡ）、マルチメディアプレーヤー、埋め込みシステム、ウェアラブルデバイス（例えば、スマートウォッチ、スマートグラスなど）、ゲーム機、それらの１つ以上の変形又は組み合わせ、図６の例示的なコンピューティングシステム６１０、あるいは他の任意の好適なコンピューティングデバイスが挙げられる。
【００２５】
サーバ２０６は、一般に、産業制御システム内の危殆化されたデバイスを識別することができる、任意のタイプ又は形態のコンピューティングデバイスを表す。サーバ２０６の例としては、非限定的に、ある特定のソフトウェアアプリケーションを実行する、並びに／又は様々なネットワーキングサービス、セキュリティサービス、ウェブサービス、及び／若しくはデータベースサービスを提供するように構成された、ネットワークデバイス（ルータ及び／若しくはスイッチ）、ネットワークサーバ、アプリケーションサーバ、セキュリティサーバ、ウェブサーバ、並びに／又はデータベースサーバが挙げられる。図２に単一の実体として図解されるが、サーバ２０６は、例示的なシステム２００内で作動する複数のサーバを代替的に含み得る、及び／又は表し得る。
【００２６】
産業デバイス２０８は、一般に、製造、サービス、及び／若しくは生産作業を実行することができるコンピュータ制御された任意のタイプ又は形態の機械的デバイスを表す。産業デバイス２０８の例としては、非限定的に、センサ、起動装置、コントローラ、制御弁、モータ、ロボットデバイス、埋め込みシステム、コンピューティングデバイス、コントローラ、それらのうちの１つ以上の変形若しくは組み合わせ、又は任意の他の好適な産業デバイスが挙げられる。
【００２７】
ネットワーク２０４は、一般に、通信若しくはデータ転送を容易にすることが可能な、任意の媒体又はアーキテクチャを表す。ネットワーク２０４の例としては、非限定的に、イントラネット、私設ネットワーク、産業ネットワーク、広域ネットワーク（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）（ＷＡＮ）、ローカルエリアネットワーク（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）（ＬＡＮ）、パーソナルエリアネットワーク（Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）（ＰＡＮ）、インターネット、電力線通信（ＰＬＣ）、セルラネットワーク（例えば、Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ（ＧＳＭ（登録商標））ネットワーク）、図７の例示的なネットワークアーキテクチャ７００などが挙げられる。ネットワーク２０４は、無線接続及び／又は有線接続を使用して、通信又はデータ転送を容易にしてもよい。一実施形態では、ネットワーク２０４は、コンピューティングデバイス２０２（１）〜（Ｎ）、サーバ２０６、及び／又は産業デバイス２０８間の通信を容易にすることができる。
【００２８】
図３は、産業制御システム内の危殆化されたデバイスを識別するための例示的なコンピュータ実装方法３００のフローチャートである。図３に示される工程は、任意の好適なコンピュータ実行可能コード及び／又はコンピューティングシステムによって実施されてもよい。いくつかの実施形態では、図３に示す工程は、図１のシステム１００、図２のシステム２００、図６のコンピューティングシステム６１０、及び／又は図７の例示的なネットワークアーキテクチャ７００の部分の構成要素のうちの１つ以上によって実行されてもよい。
【００２９】
図３に図解されるように、工程３０２において、本明細書に記載されるシステムのうちの１つ以上は、少なくとも１つの産業デバイスを含む産業制御システムに対する通信を容易にするネットワーク内のネットワークトラフィックを監視し得る。例えば、監視モジュール１０４は、図２におけるサーバ２０６の一部として、産業デバイス２０８を含む産業制御システムに対する通信を容易にするネットワーク２０４内のネットワークトラフィックを監視し得る。「ネットワークトラフィック」という用語は、本明細書で使用するとき、一般に、１つのコンピューティングデバイスから別のコンピューティングデバイスまで通過する、任意のタイプ若しくは形態の通信、メッセージ、及び／又はデータ転送を指す。
【００３０】
「産業制御システム」という用語は、本明細書で使用するとき、一般に、製造、サービス、及び／若しくは生産作業を制御及び／若しくは実行する、任意のタイプ若しくは形態のシステム並びに／又は機構を指す。一実施例では、産業制御システムは、図２においてシステム２００に含まれる構成要素の全て又は一部を含み得る。例えば、産業制御システムは、コンピューティングデバイス２０２（１）〜（Ｎ）、ネットワーク２０４、サーバ２０６、及び／又は産業デバイス２０８のうちの１つ以上を含み得る。
【００３１】
本明細書に記載されるシステムは、様々な方法で工程３０２を実施してもよい。いくつかの実施例では、監視モジュール１０４は、産業制御システムに含まれるデバイス間で交換されるメッセージを検出及び／又は識別することによって、ネットワーク２０４内のネットワークトラフィックを監視し得る。例えば、監視モジュール１０４は、コンピューティングデバイス２０２（１）〜コンピューティングデバイス２０２（Ｎ）及び／若しくは産業デバイス２０８によって送信されるメッセージを検出並びに／又は識別し得る。追加的に又は代替的に、監視モジュール１０４は、産業デバイス２０８によってコンピューティングデバイス２０２（１）〜（Ｎ）のうちの１つ以上に送信されるメッセージを検出及び／又は識別し得る。したがって、監視モジュール１０４は、産業デバイス２０８から生じるか、又はそこに向かうことになるメッセージを検出及び／又は計数し得る。
【００３２】
いくつかの実施例では、プロファイリングモジュール１０６は、ネットワーク２０４を介して互いに通信するために産業制御システム内のデバイスによって使用されるネットワークプロトコルを判断、演繹、及び／又は推論し得る。例えば、プロファイリングモジュール１０６は、ネットワーク２０４内で検出されるメッセージのペイロードに含まれるデータを解析及び／又は細分化し得る。本実施例では、プロファイリングモジュール１０６は、それらのメッセージのペイロードに含まれるデータ内で見出されるある特定のパターンを検索及び／又は識別し得る。プロファイリングモジュール１０６は、次いで、それらのメッセージのペイロード内で見出されるパターンから、ネットワークプロトコルを学習及び／又はリバースエンジニアリングし得る。
【００３３】
いくつかの実施例では、監視モジュール１０４は、共通するある特定の特性を有するメッセージのグループ化を作成し得る。例えば、監視モジュール１０４は、メッセージの構成要素層（インターネットプロトコル群の輸送層４）、メッセージの宛先ＩＰアドレス、及び／又はメッセージの宛先ポート番号に少なくとも部分的に基づいて、一組のメッセージを一緒にグループ化し得る。特定の実施例として、監視モジュール１０４は、（１）輸送層４に従って封入され、（２）ＩＰアドレス１９２．１６８．２．１７に向かうことになり、（３）ネットワーク２０４内のポート番号８０に向かうことになるメッセージの全てをグループ化し得る。一旦監視モジュール１０４が一組のメッセージをこのように一緒にグループ化すると、プロファイリングモジュール１０６は、それらの具体的な特性を有するデバイスによって使用されるネットワークプロトコルを学習及び／又はリバースエンジニアリングすることができる場合がある。
【００３４】
したがって、ネットワークプロトコルは、産業制御システム内の単一のデバイス（例えば、産業デバイス２０８）によって送信及び／若しくは受信されるメッセージから特に、学習並びに／又はリバースエンジニアリングされ得る。追加的に又は代替的に、ネットワークプロトコルは、産業制御システム内のデバイスのいくつか若しくは全て（例えば、コンピューティングデバイス２０２（１）〜（Ｎ）及び産業デバイス２０８）によって送信及び／若しくは受信されるメッセージから、学習並びに／又はリバースエンジニアリングされ得る。
【００３５】
一実施例では、ネットワークトラフィック内のそのようなメッセージを検出及び／又は識別する際に、監視モジュール１０４は、メッセージのフィールドに含まれるパラメータを識別し得る。例えば、プロファイリングモジュール１０６が、ある特定のメッセージのペイロードにおいて見出されるパターンから、ネットワークプロトコルを演繹及び／又は推論した後、監視モジュール１０４は、ネットワーク２０４を伝搬しているメッセージのフィールドに含まれるパラメータを識別し得る。本実施例では、メッセージのフィールドは、産業制御システムに含まれるデバイスと通信するために使用されるネットワークプロトコルの構造を表し得る、及び／又はそれに対応し得る。そのようなパラメータの例としては、非限定的に、オペコード、データ、メッセージサイズ、メッセージ構造、メッセージ回数、トランザクション識別子、ペイロードコンテンツ、シーケンス番号、値、メタデータ、それらのうちの１つ以上の変形又は組み合わせ、あるいは任意の他の好適なパラメータが挙げられる。
【００３６】
図３を再び参照すると、工程３０４において、本明細書に記載されるシステムのうちの１つ以上は、ネットワークトラフィックに少なくとも部分的に基づいて、産業デバイスに関するメッセージプロトコルプロファイルを作成し得る。例えば、プロファイリングモジュール１０６は、図２におけるサーバ２０６の一部として、ネットワークトラフィックに少なくとも部分的に基づいて、産業デバイス２０８に関する図２におけるメッセージプロトコルプロファイル１２０（１）を作成し得る。本実施例では、メッセージプロトコルプロファイル１２０（１）は、産業デバイス２０８と通信するために使用されるネットワークプロトコルを識別及び／又は記載し得る。追加的に又は代替的に、メッセージプロトコルプロファイル１２０（１）は、産業デバイス２０８の正常な通信パターンを識別及び／又は記載し得る。換言すれば、メッセージプロトコルプロファイル１２０（１）は、産業デバイス２０８によって送信及び／若しくは受信されるメッセージに含まれる典型的なペイロード、パラメータ、及び／若しくはコンテンツを識別並びに／又は記載し得る。
【００３７】
本明細書に記載されるシステムは、様々な方法で工程３０４を実施してもよい。いくつかの実施例では、プロファイリングモジュール１０６は、メッセージのフィールドに含まれるパラメータから、産業デバイス２０８の正常な通信パターンのベースライン表現を構築し得る。例えば、プロファイリングモジュール１０６は、特定の構成要素層（例えば、輸送層４）において搬送され、産業デバイス２０８のＩＰアドレス（例えば、１９２．１６８．２．１７）に向かうことになり、及び／又は産業デバイス２０８（例えば、ポート番号８０）上の特定のポート番号に向かうことになった、メッセージのグループ化を識別し得る。本実施例では、プロファイリングモジュール１０６は、このグループ化を分析して、産業デバイス２０８に送信されるメッセージに含まれる典型的なペイロード、パラメータ、及び／若しくはコンテンツを学習並びに／又は識別し得る。プロファイリングモジュール１０６は、次いで、産業デバイス２０８の正常な通信パターンのベースライン表現に、それらのペイロード、パラメータ、及び／若しくはコンテンツの表現を挿入し得る、並びに／又は含み得る。
【００３８】
追加的に又は代替的に、プロファイリングモジュール１０６は、メッセージプロトコルプロファイル１２０（１）において産業デバイス２０８と通信するために使用されるネットワークプロトコルの構造の説明を含み得る、及び／又は挿入し得る。一実施例では、ネットワークプロトコルの構造は、産業デバイス２０８に特有であり得る。別の実施例では、ネットワークプロトコルの構造は、産業制御システムに含まれる全てのデバイスに共通であり得る。
【００３９】
特定の実施例として、プロファイリングモジュール１０６は、産業デバイス２０８に関する図４におけるメッセージプロトコルプロファイル１２０（１）を作成及び／又は構築し得る。図４に図解されるように、メッセージプロトコルプロファイル１２０（１）は、対応するデバイス（本実施例では、「産業デバイス２０８」）、デバイスのＩＰアドレス（本実施例では「１９２．１６８．２．１７」）、デバイス上の対応するポート番号（本実施例では「８０」）、メッセージが搬送された構成要素層（本実施例では「輸送層４」）、どのバイトがオペコード（本実施例では「バイト１及び２」）を表すか、どのバイトがトランザクション識別子（本実施例では「バイト３及び４」）を表すか、どのバイトがパラメータ若しくは値（本実施例では「バイト５〜１０」）を表すか、及びどのバイトがシーケンス番号（本実施例では「バイト１１」）を表すかを示すネットワークプロトコルメッセージのペイロード構造、シーケンス番号付け方式（本実施例では「要求：０」、「要求確認：１」、「データ伝送：２」、及び「データ受信確認：３」）、着信メッセージに典型的には含まれるオペコードを示すデバイスの正常な通信パターン（本実施例では「０ｘ０１０Ｆ」、「０ｘ００ＦＦ」、「０ｘ００ＡＡ」、及び「０ｘ１２３４」）、着信メッセージに典型的には含まれるパラメータ（本実施例では「０ｘ００００００〜０ｘ０００ＦＦＦ」）、発信メッセージ（本実施例では、「０ｘ０００２」、「０ｘ１２１Ｆ」、「０ｘＦＦ００」、及び「０ｘ１２３４」）に典型的には含まれるオペコード、及び／若しくは発信メッセージに典型的には含まれるパラメータ（本実施例では「０ｘ０１０１０１及び０ｘＦＦＦＦＦＦ」）を含み並びに／又は識別し得る。
【００４０】
いくつかの実施例では、プロファイリングモジュール１０６は、産業デバイス２０８の正常な通信パターンに対する基準を表す一組のポリシー規則を形成及び／又は展開し得る。例えば、プロファイリングモジュール１０６は、メッセージのフィールドにおいて識別されるパラメータを分析し得る。本実施例では、プロファイリングモジュール１０６は、次いで、それらのフィールド内で識別されるパラメータの分析に基づいて、一組のポリシー規則を形成及び／又は展開し得る。追加的に又は代替的に、プロファイリングモジュール１０６は、パラメータが識別されたメッセージと関連して、それらのポリシー規則をラベル付けし得る。この組のポリシー規則は、産業デバイス２０８の正常な通信パターンを示し得る、及び／又は表し得る。したがって、この組のポリシー規則は、比較を通じて、産業デバイス２０８を伴う未来のメッセージが異常な通信を表すかどうかを判断するために使用され得る。
【００４１】
一実施例では、一組のポリシー規則は、産業デバイス２０８と通信するデバイスに関するリスクスコアを算出することを容易にする数式に組み込まれ及び／又は数式によって表され得る。例えば、プロファイリングモジュール１０６は、ポリシー規則の各々に違反することと関連付けられたリスクのレベルを表すある特定の数値を含む数式を形成及び／又は展開し得る。本実施例では、プロファイリングモジュール１０６は、対応するポリシー規則の違反の重要性に応じて、数値のうちの１つ以上を重み付けし得る。換言すれば、重み付けは、その違反が、ある特定のデバイスが危殆化されているかどうか判断することに対して、いかに効果的及び／又は有意味であるかに対応及び／又は相応し得る。
【００４２】
図３を再び参照すると、工程３０６において、本明細書に記載されるシステムのうちの１つ以上は、産業デバイス、及び産業制御システムに含まれる少なくとも１つの他のコンピューティングデバイスを伴う、ネットワーク内の少なくとも１つのメッセージを検出し得る。例えば、検出モジュール１０８は、図２におけるサーバ２０６の一部として、産業デバイス２０８、及びコンピューティングデバイス２０２（１）〜（Ｎ）のうちの１つ以上を伴うネットワーク２０４内の少なくとも１つのメッセージを検出し得る。一実施例では、このメッセージは、ネットワーク２０４を介して産業デバイス２０８にコンピューティングデバイス２０２（１）〜（Ｎ）のうちの１つによって送信され得る。別の実施例では、このメッセージは、ネットワーク２０４を介してコンピューティングデバイス２０８（１）〜（Ｎ）のうちの１つ以上に産業デバイス２０８によって送信され得る。
【００４３】
本明細書に記載されるシステムは、様々な方法で工程３０６を実施してもよい。いくつかの実施例では、検出モジュール１０８は、ネットワーク２０４内のネットワークトラフィックを監視する一方で、メッセージを検出及び／又は傍受し得る。例えば、検出モジュール１０８は、ネットワーク２０４内の産業デバイス２０８へ行く途中で、図５においてメッセージ５００を検出及び／又は傍受し得る。図５に図解されるように、メッセージ５００は、宛先ＩＰアドレス（本実施例では「１９２．１６８．２．１７」）、宛先ポート番号（本実施例では「８０」）、メッセージを搬送する構成要素層（本実施例では「輸送層４」）、並びにバイト１及び２（本実施例では「０ｘ４Ｆ３２」）、バイト３及び４（本実施例では「０ｘ０００Ｆ」）、バイト５〜１０（本実施例では「０ｘ０７１８３０ＡＢ６Ｅ」）、及びバイト１１（本実施例では「０ｘ０２」）を含むペイロードパラメータを識別し得る。
【００４４】
一実施例では、判断モジュール１１０は、メッセージが、産業デバイス２０８に向かうことになったメッセージのグループ化とある特定の特性を共有すると判断し得る。例えば、判断モジュール１１０は、メッセージが同じ構成要素層（例えば、輸送層４）に従って封入され、同じＩＰアドレス（例えば、１９２．１６８．２．１７）に向かうことになり、及び／又はメッセージプロトコルプロファイル１２０（１）が作成されたメッセージのグループ化と同じポート番号（例えば、ポート番号８０）に向かうことになると判断し得る。本実施例では、判断モジュール１１０は、メッセージプロトコルプロファイル１２０（１）に対してメッセージにおいて見出されるメタデータを比較することによって、この判断に達し得る。
【００４５】
図３に戻ると、工程３０８において、本明細書に記載されるシステムのうちの１つ以上は、メッセージが、メッセージを産業デバイスに関するメッセージプロトコルプロファイルと比較することによって異常を表していると判断することができる。例えば、判断モジュール１１０は、図２におけるサーバ２０６の一部として、メッセージをメッセージプロトコルプロファイル１２０（１）と比較することによって、メッセージが異常を表していると判断し得る。この異常は、メッセージが産業デバイス２０８の正常な通信パターンと不審に矛盾することを意味及び／又は示唆し得る。「不審に矛盾する」という用語は、正常な通信パターンに関して本明細書で使用するとき、一般に、メッセージの正常及び／又は正当に関するある特定のレベルの不審及び／又は疑いに対応する及び／又はそれを引き起こす任意のタイプ又は形態の偏差を指す。
【００４６】
本明細書に記載されるシステムは、様々な方法で工程３０８を実施してもよい。いくつかの実施例では、判断モジュール１１０は、メッセージが、メッセージのフィールドに含まれるパラメータに少なくとも部分的に基づいて、異常を表していると判断し得る。例えば、判断モジュール１１０は、オペコード、ペイロードサイズ、シーケンス番号、及び／又はトランザクション識別子などのメッセージのある特定のパラメータを識別し得る。本実施例では、判断モジュール１１０は、メッセージ内で識別されるそれらのパラメータのうちの少なくとも１つが、産業デバイス２０８の正常な通信パターンのベースライン表現と不審に矛盾すると判断し得る。
【００４７】
図３に戻ると、工程３１０において、本明細書に記載するシステムの１つ以上は、異常を表しているメッセージに少なくとも部分的に基づいて、他のコンピューティングデバイスが危殆化されている可能性が高いと判断し得る。例えば、判断モジュール１１０は、図２におけるサーバ２０６の一部として、異常を表しているメッセージに少なくとも部分的に基づいて、コンピューティングデバイス２０２（１）〜（Ｎ）のうちの１つが危殆化されている可能性が高いと判断し得る。換言すれば、（１）メッセージがそのコンピューティングデバイス及び産業デバイス２０８を伴い、（２）メッセージが産業デバイス２０８の正常な通信パターンに関する異常を表すので、判断モジュール１１０は、コンピューティングデバイスが攻撃者によって危殆化されていると判断し得る。この危殆化された状態の結果、コンピューティングデバイスは、産業デバイス２０８への不当な命令を含むメッセージを送信している場合がある。
【００４８】
本明細書に記載されるシステムは、様々な方法で工程３１０を実施してもよい。いくつかの実施例では、判断モジュール１１０は、コンピューティングデバイスに関するリスクスコアに少なくとも部分的に基づいて、コンピューティングデバイスが危殆化されていると判断し得る。例えば、判断モジュール１１０は、産業デバイス２０８にコンピューティングデバイス２０２（１）によって送信される１つ以上のメッセージを説明するコンピューティングデバイス２０２（１）に関するリスクスコアを算出し得る。本実施例では、リスクスコアは、メッセージのある特定のパラメータを数式に適用することによって、算出され得る。上述のように、この数式は、産業デバイス２０８の正常な通信パターンに対する基準を表す一組のポリシー規則を組み込み及び／又は説明し得る。
【００４９】
本実施例を継続して、リスクスコアは、コンピューティングデバイス２０２（１）によって送信されるメッセージが、数式に組み込まれるポリシー規則のいずれかに違反するかどうかを示し得る。したがって、メッセージが、数式に組み込まれるそれらの規則に十分な程度に違反する場合、判断モジュール１１０は、リスクスコアがある特定の閾値を超えると判断し得る。その結果、判断モジュール１１０は、コンピューティングデバイス２０２（１）が危殆化されていると判断し得る。
【００５０】
コンピューティングデバイス２０２（１）〜（２）のうちの１つが危殆化されているという判断に応答して、セキュリティモジュール１１２は、危殆化されたコンピューティングデバイスに関する１つ以上の安全措置を実行し得る。そのような安全措置の例としては、非限定的に、危殆化されたコンピューティングデバイスに関して少なくとも１つの追加のコンピューティングデバイスに通知する警報を発することと、産業ネットワークから危殆化されたコンピューティングデバイスを検疫して、危殆化されたコンピューティングデバイスが、産業制御システム内の任意の追加のコンピュータと通信することを防止することと、危殆化されたコンピューティングデバイスをシャットダウンして、他のコンピューティングデバイスが、産業制御システム内の任意の追加のコンピュータと通信することを防止することと、産業制御システム内の危殆化されたコンピューティングデバイスと任意の追加のコンピューティングデバイスとの間の全てのメッセージをブロックすることと、産業制御システム内の危殆化されたコンピューティングデバイスの少なくとも１つのコンピューティングタスクを少なくとも１つの追加のコンピュータに転送することによって、産業ネットワーク内の危殆化されたコンピューティングデバイスを置き換えることと、それらのうちの１つ以上の変形若しくは組み合わせ、又は任意の他の好適な安全措置が挙げられる。
【００５１】
特定の実施例として、監視モジュール１０４は、そのＩＰアドレスとして１９２．１６８．２．１７を割り当てられるアーム起動装置を含む産業制御システムに対する通信を容易にするネットワーク内のネットワークトラフィックを監視し得る。本実施例では、監視モジュール１０４は、輸送層４に従って封入され、ＩＰアドレス１９２．１６８．２．１７においてポート番号８０に向かうことになる様々なメッセージを検出及び／又は識別し得る。監視モジュール１０４は、それらのメッセージを、それらの正常な特性に少なくとも部分的に基づいて、一緒にグループ化し得る。共通するそれらの特性を共有する十分な量のメッセージを一緒にグループ化する際に、監視モジュール１０４は、メッセージのグループ化をプロファイリングモジュール１０６に送って、アーム起動装置に関するメッセージプロトコルプロファイルを作成し得る。
【００５２】
本実施例では、プロファイリングモジュール１０６は、メッセージのグループ化を分析することによって、アーム起動装置の正常な通信パターンのベースライン表現を構築し得る。例えば、プロファイリングモジュール１０６は、それらのメッセージにおいてアーム起動装置によって受信される有効なオペコードの全てを識別し得る。追加的に又は代替的に、プロファイリングモジュール１０６は、それらのメッセージにおいてアーム起動装置によって受信されるデータ及び／又は値の全てを識別し得る。そのようなデータ及び／又は値は、アーム起動装置に関する移動の有効角度を表し得る。プロファイリングモジュール１０６は、アーム起動装置に関するメッセージプロトコルプロファイルにおいてアーム起動装置の正常な通信パターンのベースライン表現を含み得る、及び／又は挿入し得る。
【００５３】
産業制御システムに含まれるコントローラが、攻撃者によって危殆化される場合には、コントローラは、アーム起動装置に不当なメッセージを送信し始め得る。そのような不当なメッセージは、無効なオペコード及び／又は無効なデータ若しくは値を含み得る。したがって、そのような不当なメッセージは、アーム起動装置によって実行される場合、アーム起動装置に、無効動作（無効角度にアーム起動装置を移動するなど）を実行させることになる命令を含み得る。
【００５４】
本実施例を継続して、検出モジュール１０８は、産業ネットワーク内のコントローラによって送信されるこれらの不当なメッセージのうちの１つを検出及び／又は識別し得る。判断モジュール１１０は、不当なメッセージをアーム起動装置に関するメッセージプロトコルプロファイルと比較することによって、この不当なメッセージが、アーム起動装置の正常な通信パターンと不審に矛盾する異常を表していると判断し得る。判断モジュール１１０は、不当なメッセージが異常を表すので、コントローラが危殆化されていると判断し得る。
【００５５】
図１〜５と関連して上で説明したように、産業安全技術は二段階手法を実装することによって、産業制御システム内の危殆化されたデバイスを識別し得る。第１に、産業安全技術は、ネットワークの一員を使用して産業制御システム内のネットワークトラフィックを収集することを伴うトレーニング段階を実装し得る。一実施例では、ネットワークグループの一員は、輸送層４プロトコル、宛先ＩＰアドレス、及び宛先ポート番号に基づいてメッセージの組を一緒にグループ化し得る。十分な量のトラフィックを一組に収集して、グループ化する際に、ネットワークグループの一員は、グループ化された組のメッセージに基づいてメッセージプロトコルプロファイルを作成するネットワークプロファイラに、グループ化された組のメッセージを渡し得る。
【００５６】
ネットワークプロファイラは、それらのプロファイルを作成するために使用されるグループ化された組のメッセージに基づいて、結果として生じるメッセージプロトコルプロファイルをラベル付けし得る。産業安全技術は、ラベル付けされたメッセージプロトコルプロファイルを消費して、産業制御システム内のデバイスの正常な通信パターン（例えば、正常なメッセージペイロード）に対する基準を表すポリシー規則を作成し得る。
【００５７】
第２に、産業安全技術は、異常検出器に２つの情報のフィードを提供することを伴う検出段階を実装し得る。本実施例では、１つの情報のフィードは、ラベル付けされたメッセージプロトコルプロファイルから作成されるポリシー規則を含み得る。別の情報のフィードは、産業制御システム内のネットワークトラフィックを監視することを継続する、ネットワークの一員によって収集されるメッセージを含み得る。異常検出器は、次いで、１つの情報のフィードからのポリシー規則を別のフィードからのメッセージに適用し得る。そうすることによって、異常検出器は、メッセージのいずれかがポリシー規則に違反するかどうかを判断し得る。ある特定の違反が起こる場合には、産業安全技術は、産業制御システム内の特定のデバイスが危殆化されていることを示している警報を発し得る。
【００５８】
図６は、本明細書に記載及び／又は図示される実施形態のうちの１つ以上を実装できる例示的なコンピューティングシステム６１０のブロック図である。例えば、コンピューティングシステム６１０の全て又は一部は、単独で又は他の要素と組み合わせて、（図３に示される工程のうちの１つ以上等の）本明細書に記載される工程のうちの１つ以上を実施してもよく、及び／又はそれを実施するための手段であってもよい。コンピューティングシステム６１０の全て又は一部は、また、本明細書に記載及び／又は図示される他の任意の工程、方法、若しくは処理を実施し、及び／又はそれを実施するための手段となり得る。
【００５９】
コンピューティングシステム６１０は、コンピュータ可読命令を実行することが可能な任意のシングル若しくはマルチプロセッサのコンピューティングデバイス又はシステムを幅広く表す。コンピューティングシステム６１０の例としては、非限定的に、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散型コンピューティングシステム、ハンドヘルドデバイス、又は他の任意のコンピューティングシステム若しくはデバイスが挙げられる。その最も基本的な構成において、コンピューティングシステム６１０は、少なくとも１つのプロセッサ６１４及びシステムメモリ６１６を含んでもよい。
【００６０】
プロセッサ６１４は、データの処理又は命令の解釈及び実行が可能な任意のタイプ若しくは形式の物理的処理ユニット（例えば、ハードウェア実装型中央処理ユニット）を、一般に表す。ある特定の実施形態では、プロセッサ６１４は、ソフトウェアアプリケーション又はモジュールから命令を受信してもよい。これらの命令は、プロセッサ６１４に、本明細書において記載及び／又は図示される例示的な実施形態のうちの１つ以上の機能を実施させてもよい。
【００６１】
システムメモリ６１６は、一般に、データ及び／又は他のコンピュータ可読命令を記憶することができる任意のタイプ若しくは形態の揮発性又は不揮発性記憶デバイスを表す。システムメモリ６１６の例としては、非限定的に、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、又は他の任意の好適なメモリデバイスが挙げられる。必須ではないが、ある特定の実施形態では、コンピューティングシステム６１０は、揮発性メモリユニット（例えば、システムメモリ６１６など）、及び不揮発性記憶デバイス（例えば、詳細に後述するような、一次記憶デバイス６３２など）の両方を含み得る。一実施例では、図１のモジュール１０２のうちの１つ以上がシステムメモリ６１６にロードされ得る。
【００６２】
ある特定の実施形態では、例示的なコンピューティングシステム６１０は、また、プロセッサ６１４及びシステムメモリ６１６に加えて、１つ以上の構成要素又は要素を含んでもよい。例えば、図６に示されるように、コンピューティングシステム６１０は、メモリコントローラ６１８、入力／出力（Ｉ／Ｏ）コントローラ６２０、及び通信インターフェース６２２を含んでもよいが、それらはそれぞれ通信基盤６１２を介して相互接続されてもよい。通信基盤６１２は、一般に、コンピューティングデバイスの１つ以上の構成要素間の通信を容易にすることができる、任意のタイプ又は形態の基盤を表す。通信基盤６１２の例としては、非限定的に、通信バス（産業標準アーキテクチャ（ＩＳＡ）、周辺装置相互接続（ＰＣＩ）、ＰＣＩエクスプレス（ＰＣＩｅ）、又は類似のバスなど）、及びネットワークが挙げられる。
【００６３】
メモリコントローラ６１８は、一般に、メモリ若しくはデータを扱うこと、又はコンピューティングシステム６１０の１つ以上の構成要素間の通信を制御することが可能な、任意のタイプ又は形態のデバイスを表す。例えば、ある特定の実施形態では、メモリコントローラ６１８は、通信基盤６１２を介して、プロセッサ６１４、システムメモリ６１６、及びＩ／Ｏコントローラ６２０の間の通信を制御してもよい。
【００６４】
Ｉ／Ｏコントローラ６２０は、一般に、コンピューティングデバイスの入出力機能を調整及び／又は制御することが可能な、任意のタイプ又は形態のモジュールを表す。例えば、ある特定の実施形態では、Ｉ／Ｏコントローラ６２０は、プロセッサ６１４、システムメモリ６１６、通信インターフェース６２２、ディスプレイアダプタ６２６、入力インターフェース６３０、及び記憶インターフェース６３４など、コンピューティングシステム６１０の１つ以上の要素間におけるデータの転送を制御し、又はそれを容易にし得る。
【００６５】
通信インターフェース６２２は、例示的なコンピューティングシステム６１０と１つ以上の追加のデバイスとの間の通信を容易にすることができる、任意のタイプ又は形態の通信デバイス又はアダプタを幅広く表す。例えば、ある特定の実施形態では、通信インターフェース６２２は、コンピューティングシステム６１０と、追加のコンピューティングシステムを含む私設又は公衆ネットワークとの間の通信を容易にし得る。通信インターフェース６２２の例としては、非限定的に、有線ネットワークインターフェース（ネットワークインターフェースカードなど）、無線ネットワークインターフェース（無線ネットワークインターフェースカードなど）、モデム、及び他の任意の好適なインターフェースが挙げられる。少なくとも１つの実施形態では、通信インターフェース６２２は、インターネットなどのネットワークへの直接リンクを介して、リモートサーバへの直接接続を提供し得る。通信インターフェース６２２はまた、例えば、ローカルエリアネットワーク（イーサネット（登録商標）ネットワークなど）、パーソナルエリアネットワーク、電話若しくはケーブルネットワーク、セルラ電話接続、衛星データ接続、又は他の任意の好適な接続を通して、リモートサーバへの接続を間接的に提供し得る。
【００６６】
ある特定の実施形態では、通信インターフェース６２２はまた、外部バス又は通信チャネルを介して、コンピューティングシステム６１０と１つ以上の追加のネットワーク又は記憶デバイスとの間の通信を容易にするように構成された、ホストアダプタを表し得る。ホストアダプタの例としては、非限定的に、小型コンピュータシステムインターフェース（ＳＣＳＩ）ホストアダプタ、ユニバーサルシリアルバス（ＵＳＢ）ホストアダプタ、米国電気電子学会（ＩＥＥＥ）１３９４ホストアダプタ、アドバンストテクノロジーアタッチメント（ＡＴＡ）、パラレルＡＴＡ（ＰＡＴＡ）、シリアルＡＴＡ（ＳＡＴＡ）、及び外部ＳＡＴＡ（ｅＳＡＴＡ）ホストアダプタ、ファイバーチャネルインターフェースアダプタ、イーサネット（登録商標）アダプタなどが挙げられる。通信インターフェース６２２はまた、コンピューティングシステム６１０が分散型又はリモートコンピューティングに関与することを可能にし得る。例えば、通信インターフェース６２２は、実行のためにリモートデバイスから命令を受信、又はリモートデバイスに命令を送信し得る。
【００６７】
図６に示すように、コンピューティングシステム６１０はまた、ディスプレイアダプタ６２６を介して通信基盤６１２に連結される少なくとも１つのディスプレイデバイス６２４を含み得る。ディスプレイデバイス６２４は、ディスプレイアダプタ６２６によって転送される情報を視覚的に表示することができる、任意のタイプ若しくは形態のデバイスを、一般に表す。同様に、ディスプレイアダプタ６２６は、ディスプレイデバイス６２４に表示するために、通信基盤６１２から（又は当該技術分野において既知であるように、フレームバッファから）グラフィックス、テキスト、及び他のデータを転送するように構成された、任意のタイプ若しくは形態のデバイスを、一般に表す。
【００６８】
図６に示すように、例示的なコンピューティングシステム６１０はまた、入力インターフェース６３０を介して通信基盤６１２に連結される少なくとも１つの入力デバイス６２８を含み得る。入力デバイス６２８は、コンピュータ又は人間のいずれかが生成した入力を、例示的なコンピューティングシステム６１０に提供することができる、任意のタイプ若しくは形態の入力デバイスを、一般に表す。入力デバイス６２８の例としては、限定されないが、キーボード、ポインティングデバイス、音声認識デバイス、又は他の任意の入力デバイスが挙げられる。
【００６９】
図６に示すように、例示的なコンピューティングシステム６１０はまた、記憶インターフェース６３４を介して通信基盤６１２に連結される、一次記憶デバイス６３２及びバックアップ記憶デバイス６３３を含み得る。記憶デバイス６３２及び６３３は、一般に、データ及び／又は他のコンピュータ可読命令を記憶することができる、任意のタイプ若しくは形態の記憶デバイス又は媒体を表す。例えば、記憶デバイス６３２及び６３３は、磁気ディスクドライブ（例えば、いわゆるハードドライブ）、ソリッドステートドライブ、フロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュドライブなどであり得る。記憶インターフェース６３４は、一般に、記憶デバイス６３２及び６３３とコンピューティングシステム６１０の他の構成要素との間でデータを転送するための、任意のタイプ若しくは形態のインターフェース又はデバイスを表す。
【００７０】
ある特定の実施形態では、記憶デバイス６３２及び６３３は、コンピュータソフトウェア、データ、又は他のコンピュータ可読情報を記憶するように構成された取り外し可能な記憶ユニットから読み取る、及び／又はそれに書き込むように構成され得る。好適な取り外し可能な記憶ユニットの例としては、非限定的に、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリデバイスなどが挙げられる。記憶デバイス６３２及び６３３はまた、コンピュータソフトウェア、データ、又は他のコンピュータ可読命令が、コンピューティングシステム６１０にロードされることを可能にする、他の同様の構造又はデバイスを含み得る。例えば、記憶デバイス６３２及び６３３は、ソフトウェア、データ、又は他のコンピュータ可読情報を読み取るように、及びこれを書き込むように構成され得る。記憶デバイス６３２及び６３３はまた、コンピューティングシステム６１０の一部であってもよく、又は他のインターフェースシステムを介してアクセスされる別個のデバイスであってもよい。
【００７１】
他の多くのデバイス又はサブシステムが、コンピューティングシステム６１０に接続され得る。反対に、図６に示す構成要素及びデバイスの全てが、本明細書に記載及び／又は図示される実施形態を実践するために存在する必要があるわけではない。上記で言及したデバイス及びサブシステムはまた、図６に示されるものとは異なる方法で相互接続され得る。コンピューティングシステム６１０はまた、任意の数のソフトウェア、ファームウェア、及び／又はハードウェアの構成を用い得る。例えば、本明細書で開示する例示的な実施形態の１つ以上は、コンピュータ可読媒体上で、コンピュータプログラム（コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、又はコンピュータ制御論理とも称される）としてコード化されてもよい。「コンピュータ可読媒体」という用語は、本明細書で使用するとき、一般に、コンピュータ可読命令を記憶又は保有することができる、任意の形態のデバイス、キャリア、又は媒体を指す。コンピュータ可読媒体の例としては、非限定的に、搬送波などの伝送型媒体、並びに磁気記憶媒体（例えば、ハードディスクドライブ、テープドライブ、及びフロッピーディスク）、光学記憶媒体（例えば、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、及びブルーレイ（ＢＬＵ−ＲＡＹ）ディスク）、電子記憶媒体（例えば、ソリッドステートドライブ及びフラッシュメディア）、並びに他の分散システムなどの非一時的媒体が挙げられる。
【００７２】
コンピュータプログラムを包含するコンピュータ可読媒体は、コンピューティングシステム６１０にロードされ得る。コンピュータ可読媒体に記憶されたコンピュータプログラムの全て又は一部は、次に、システムメモリ６１６に、及び／又は記憶デバイス６３２及び６３３の様々な部分に記憶され得る。プロセッサ６１４によって実行されると、コンピューティングシステム６１０にロードされたコンピュータプログラムは、プロセッサ６１４に、本明細書に記載及び／又は図示される例示的な実施形態のうちの１つ以上の機能を実施させ、及び／又はそれらを実施するための手段となり得る。追加的に又は代替的に、本明細書に記載及び／又は図示される例示的な実施形態の１つ以上は、ファームウェア及び／又はハードウェアに実装されてもよい。例えば、コンピューティングシステム６１０は、本明細書に開示される例示的な実施−形態のうちの１つ以上を実装するように適合される、特定用途向け集積回路（ＡＳＩＣ）として構成されてもよい。
【００７３】
図７は、クライアントシステム７１０、７２０、及び７３０、並びにサーバ７４０及び７４５がネットワーク７５０に連結され得る、例示的なネットワークアーキテクチャ７００のブロック図である。上記に詳述したように、ネットワークアーキテクチャ７００の全て又は一部は、単独で又は他の要素と組み合わせて、本明細書に開示される工程のうちの１つ以上（図３に示される工程のうちの１つ以上等）を実施し得るが、及び／又はそれを実施するための手段となり得る。ネットワークアーキテクチャ７００の全て又は一部はまた、本開示に記載される他の工程及び特徴を実施するために使用され得るか、及び／又はそれを実施するための手段となり得る。
【００７４】
クライアントシステム７１０、７２０、及び７３０は、一般に、図６の例示的なコンピューティングシステム６１０など、任意のタイプ若しくは形態のコンピューティングデバイス又はシステムを表す。同様に、サーバ７４０及び７４５は、様々なデータベースサービスを提供し、及び／又はある特定のソフトウェアアプリケーションを実行するように構成された、アプリケーションサーバ又はデータベースサーバなどのコンピューティングデバイス又はシステムを、一般に表す。ネットワーク７５０は、例えばイントラネット、ＷＡＮ、ＬＡＮ、ＰＡＮ、又はインターネットを含む、任意の電気通信又はコンピュータネットワークを、一般に表す。一実施例では、クライアントシステム７１０、７２０、及び／若しくは７３０、並びに／又はサーバ７４０及び／若しくは７４５は、図１からのシステム１００の全て、又は一部を含み得る。
【００７５】
図７に示すように、１つ以上の記憶デバイス７６０（１）〜（Ｎ）はサーバ７４０に直接取り付けられてもよい。同様に、１つ以上の記憶デバイス７７０（１）〜（Ｎ）は、サーバ７４５に直接取り付けられ得る。記憶デバイス７６０（１）〜（Ｎ）及び記憶デバイス７７０（１）〜（Ｎ）は、データ及び／又は他のコンピュータ可読命令を記憶することができる、任意のタイプ若しくは形態の記憶デバイス又は媒体を、一般に表す。ある特定の実施形態では、記憶デバイス７６０（１）〜（Ｎ）及び記憶デバイス７７０（１）〜（Ｎ）は、ネットワークファイルシステム（ＮＦＳ）、サーバメッセージブロック（ＳＭＢ）、又は共通インターネットファイルシステム（ＣＩＦＳ）などの様々なプロトコルを使用して、サーバ７４０及び７４５と通信するように構成されたネットワーク接続ストレージ（ＮＡＳ）デバイスを表し得る。
【００７６】
サーバ７４０及び７４５はまた、ストレージエリアネットワーク（ＳＡＮ）ファブリック７８０に接続され得る。ＳＡＮファブリック７８０は、一般に、複数の記憶デバイス間の通信を容易にすることができる、任意のタイプ若しくは形態のコンピュータネットワーク又はアーキテクチャを表す。ＳＡＮファブリック７８０は、サーバ７４０及び７４５と、複数の記憶デバイス７９０（１）〜（Ｎ）及び／又はインテリジェント記憶アレイ７９５との間の通信を容易にし得る。ＳＡＮファブリック７８０はまた、記憶デバイス７９０（１）〜（Ｎ）及びインテリジェント記憶アレイ７９５が、クライアントシステム７１０、７２０、及び７３０にローカルで取り付けられたデバイスとして現れるような方式で、ネットワーク７５０並びにサーバ７４０及び７４５を介して、クライアントシステム７１０、７２０、及び７３０と、記憶デバイス７９０（１）〜（Ｎ）及び／又はインテリジェント記憶アレイ７９５との間の通信を容易にし得る。記憶デバイス７６０（１）〜（Ｎ）及び記憶デバイス７７０（１）〜（Ｎ）と同様に、記憶デバイス７９０（１）〜（Ｎ）及びインテリジェント記憶アレイ７９５は、データ及び／又は他のコンピュータ可読命令を記憶することができる任意のタイプ若しくは形態の記憶デバイス又は媒体を、一般に表す。
【００７７】
ある特定の実施形態では、また図６の例示的なコンピューティングシステム６１０を参照すると、図６の通信インターフェース６２２などの通信インターフェースは、それぞれのクライアントシステム７１０、７２０、及び７３０とネットワーク７５０との間の接続を提供するために使用され得る。クライアントシステム７１０、７２０、及び７３０は、例えば、ウェブブラウザ又は他のクライアントソフトウェアを使用して、サーバ７４０又は７４５上の情報にアクセスすることが可能であり得る。かかるソフトウェアは、クライアントシステム７１０、７２０、及び７３０が、サーバ７４０、サーバ７４５、記憶デバイス７６０（１）〜（Ｎ）、記憶デバイス７７０（１）〜（Ｎ）、記憶デバイス７９０（１）〜（Ｎ）、又はインテリジェント記憶アレイ７９５によってホストされるデータにアクセスすることを可能にし得る。図７は、データを交換するために（インターネットなどの）ネットワークを使用することを示しているが、本明細書に記載及び／又は図示される実施形態は、インターネット又は任意の特定のネットワークベースの環境に限定されない。
【００７８】
少なくとも１つの実施形態では、本明細書に開示される例示的な実施形態のうちの１つ以上の全て又は一部は、コンピュータプログラムとしてコード化され、サーバ７４０、サーバ７４５、記憶デバイス７６０（１）〜（Ｎ）、記憶デバイス７７０（１）〜（Ｎ）、記憶デバイス７９０（１）〜（Ｎ）、インテリジェント記憶アレイ７９５、又はこれらの任意の組み合わせ上にロードされ、これらによって実行され得る。本明細書に開示される例示的な実施形態のうちの１つ以上の全て又は一部はまた、コンピュータプログラムとしてコード化され、サーバ７４０に記憶され、サーバ７４５によって作動し、ネットワーク７５０上でクライアントシステム７１０、７２０、及び７３０に配信されてもよい。
【００７９】
上記に詳述したように、コンピューティングシステム６１０、及び／又はネットワークアーキテクチャ７００の１つ以上の構成要素は、単独で若しくは他の要素と組み合わせて、産業制御システム内の危殆化されたデバイスを識別するための例示的な方法の１つ以上の工程を行ってもよく、かつ／又はそれらを行うための手段であってもよい。
【００８０】
前述の開示は、特定のブロック図、フローチャート、及び実施例を使用して様々な実施形態を記載しているが、本明細書に記載及び／又は図示されるそれぞれのブロック図の構成要素、フローチャートの工程、動作、及び／又は構成要素は、個別にかつ／又は集合的に、広範なハードウェア、ソフトウェア、又はファームウェア（若しくはそれらの任意の組み合わせ）の構成を使用して実装されてもよい。加えて、同じ機能性を達成するように他の多くのアーキテクチャを実装することができるので、他の構成要素内に包含される構成要素のあらゆる開示は、本質的に例示と見なされるべきである。
【００８１】
一部の実施例では、図１の例示的なシステム１００の全て又は一部は、クラウドコンピューティング環境又はネットワークベースの環境の一部を表してもよい。クラウドコンピューティング環境は、インターネットを介して、様々なサービス及びアプリケーションを提供してもよい。これらのクラウドベースのサービス（例えば、サービスとしてのソフトウェア、サービスとしてのプラットフォーム、サービスとしての基盤など）は、ウェブブラウザ又は他のリモートインターフェースを通してアクセス可能であってもよい。本明細書に記載する様々な機能は、リモートデスクトップ環境又は他の任意のクラウドベースのコンピューティング環境を通して提供されてもよい。
【００８２】
様々な実施形態では、図１の例示的なシステム１００の全て又は一部は、クラウドベースのコンピューティング環境内におけるマルチテナンシーを容易にしてもよい。換言すれば、本明細書に記載するソフトウェアモジュールは、本明細書に記載する機能の１つ以上に対するマルチテナンシーを容易にするように、コンピューティングシステム（例えば、サーバ）を構成してもよい。例えば、本明細書に記載するソフトウェアモジュールの１つ以上は、２つ以上のクライアント（例えば、顧客）がサーバ上で作動しているアプリケーションを共有するのを可能にするように、サーバをプログラムしてもよい。このようにプログラムされたサーバは、複数の顧客（即ち、テナント）の間で、アプリケーション、オペレーティングシステム、処理システム、及び／又は記憶システムを共有してもよい。本明細書に記載するモジュールの１つ以上はまた、ある顧客が別の顧客のデータ及び／又は構成情報にアクセスできないように、顧客ごとにマルチテナントアプリケーションのデータ及び／又は構成情報を分割してもよい。
【００８３】
様々な実施形態によれば、図１の例示的なシステム１００の全て又は一部は仮想環境内で実装されてもよい。例えば、本明細書に記載するモジュール及び／又はデータは、仮想機械内で常駐及び／又は実行してもよい。本明細書で使用するとき、「仮想機械」という用語は、一般に、仮想機械マネージャ（例えば、ハイパーバイザ）によってコンピューティングハードウェアから抽出される、任意のオペレーティングシステム環境を指す。追加的に又は代替的に、本明細書に記載するモジュール及び／又はデータは、仮想化層内で常駐及び／又は実行してもよい。本明細書で使用するとき、「仮想化層」という用語は、一般に、オペレーティングシステム環境にオーバーレイする、並びに／あるいはそこから抽出される、任意のデータ層及び／又はアプリケーション層を指す。仮想化層は、基礎となる基本オペレーティングシステムの一部であるかのように仮想化層を提示する、ソフトウェア仮想化ソリューション（例えば、ファイルシステムフィルタ）によって管理されてもよい。例えば、ソフトウェア仮想化ソリューションは、最初に基本ファイルシステム及び／又はレジストリ内の場所に方向付けられる呼び出しを、仮想化層内の場所にリダイレクトしてもよい。
【００８４】
一部の実施例では、図１の例示的なシステム１００の全て又は一部は、モバイルコンピューティング環境の一部を表してもよい。モバイルコンピューティング環境は、携帯電話、タブレットコンピュータ、電子ブックリーダ、携帯情報端末、ウェアラブルコンピューティングデバイス（例えば、ヘッドマウントディスプレイを備えたコンピューティングデバイス、スマートウォッチなど）などを含む、広範なモバイルコンピューティングデバイスによって実装されてもよい。一部の実施例において、モバイルコンピューティング環境は、例えば、バッテリ電力への依存、任意の所与の時間での１つのみのフォアグラウンドアプリケーションの提示、リモート管理特性、タッチスクリーン特性、位置及び移動データ（例えば、グローバルポジショニングシステム、ジャイロスコープ、加速度計などによって提供される）、システムレベルの構成への修正を制限する、及び／又は第３者のソフトウェアが他のアプリケーションの挙動を検査する能力を限定する制限されたプラットフォーム、アプリケーションのインストールを（例えば、認可されたアプリケーションストアからのみ生じるように）制限する制御などを含む、１つ以上の個別の特性を有することができる。本明細書で説明される様々な機能は、モバイルコンピューティング環境に対して提供され得る、及び／又はモバイルコンピューティング環境と相互作用し得る。
【００８５】
加えて、図１の例示的なシステム１００の全て又は一部は、情報管理のための１つ以上のシステムの部分を表してもよく、それと相互作用してもよく、それによって生成されるデータを消費してもよく、かつ／又はそれによって消費されるデータを生成してもよい。本明細書で使用するとき、「情報管理」という用語は、データの保護、組織化、及び／又は記憶を指してもよい。情報管理のためのシステムの例としては、非限定的に、記憶システム、バックアップシステム、アーカイブシステム、複製システム、高可用性システム、データ検索システム、仮想化システムなどを挙げることができる。
【００８６】
一部の実施形態では、図１の例示的なシステム１００の全て又は一部は、情報セキュリティのための１つ以上のシステムの部分を表してもよく、それによって保護されるデータを生成してもよく、かつ／又はそれと通信してもよい。本明細書で使用するとき、「情報セキュリティ」という用語は、保護されたデータに対するアクセスの制御を指してもよい。情報セキュリティのためのシステムの例としては、非限定的に、管理されたセキュリティサービスを提供するシステム、データ損失防止システム、本人認証システム、アクセス制御システム、暗号化システム、ポリシー遵守システム、侵入検出及び防止システム、電子証拠開示システムなどを挙げることができる。
【００８７】
一部の実施例によれば、図１の例示的なシステム１００の全て又は一部は、エンドポイントセキュリティのための１つ以上のシステムの部分を表してもよく、それと通信してもよく、かつ／又はそれから保護を受けてもよい。本明細書で使用するとき、「エンドポイントセキュリティ」という用語は、不正及び／若しくは違法な使用、アクセス、並びに／又は制御からのエンドポイントシステムの保護を指してもよい。エンドポイント保護のためのシステムの例としては、非限定的に、アンチマルウェアシステム、ユーザー認証システム、暗号化システム、プライバシーシステム、スパムフィルタリングサービスなどを挙げることができる。
【００８８】
本明細書に記載及び／又は図示されるプロセスパラメータ及び工程の順序は、単なる例として与えられるものであり、所望に応じて変更することができる。例えば、本明細書に図示及び／又は記載される工程は特定の順序で図示又は考察されることがあるが、これらの工程は、必ずしも図示又は考察される順序で実施される必要はない。本明細書に記載及び／又は図示される様々な例示的な方法はまた、本明細書に記載若しくは図示される工程の１つ以上を省略するか、又は開示されるものに加えて追加の工程を含んでもよい。
【００８９】
様々な実施形態を、完全に機能的なコンピューティングシステムの文脈で本明細書に記載及び／又は図示してきたが、これらの例示的な実施形態の１つ以上は、実際に配布を実施するために使用されるコンピュータ可読媒体の特定のタイプにかかわらず、様々な形態のプログラム製品として配布されてもよい。本明細書に開示される実施形態はまた、ある特定のタスクを実施するソフトウェアモジュールを使用して実装されてもよい。これらのソフトウェアモジュールは、コンピュータ可読記憶媒体又はコンピューティングシステムに記憶されてもよい、スクリプト、バッチ、若しくは他の実行可能ファイルを含んでもよい。一部の実施形態では、これらのソフトウェアモジュールは、本明細書に開示される例示的な実施形態の１つ以上を実施するようにコンピューティングシステムを構成してもよい。
【００９０】
加えて、本明細書に記載するモジュールの１つ以上は、データ、物理的デバイス、及び／又は物理的デバイスの表現を、１つの形態から別の形態へと変換してもよい。追加的に又は代替的に、本明細書に列挙されるモジュールの１つ以上は、コンピューティングデバイス上で実行し、コンピューティングデバイスにデータを記憶し、並びに／あるいは別の方法でコンピューティングデバイスと相互作用することによって、プロセッサ、揮発性メモリ、不揮発性メモリ、及び／又は物理的コンピューティングデバイスの他の任意の部分を、１つの形態から別の形態へと変換してもよい。
【００９１】
上述の記載は、本明細書に開示される例示的な実施形態の様々な態様を他の当業者が最良に利用するのを可能にするために提供されてきた。この例示的な記載は、網羅的であることを意図するものではなく、又は開示される任意の正確な形態に限定することを意図するものではない。本開示の趣旨及び範囲から逸脱することなく、多くの修正及び変形が可能である。本明細書に開示される実施形態は、あらゆる点で例示的であり、限定的ではないものと見なされるべきである。本開示の範囲を決定する際に、添付の特許請求の範囲及びそれらの等価物を参照するべきである。
【００９２】
別途記載のない限り、「〜に接続される」及び「〜に連結される」という用語（並びにそれらの派生語）は、本明細書及び特許請求の範囲で使用するとき、直接的接続及び間接的接続（即ち、他の要素若しくは構成要素を介する）の両方を許容するものとして解釈されるものである。加えて、「ａ」又は「ａｎ」という用語は、本明細書及び特許請求の範囲で使用するとき、「〜のうち少なくとも１つ」を意味するものとして解釈されるものである。最後に、簡潔にするため、「含む」及び「有する」という用語（並びにそれらの派生語）は、本明細書及び特許請求の範囲で使用するとき、「備える」という単語と互換性があり、同じ意味を有する。
【図１】
0006568654.tif 000002
【図２】
0006568654.tif 000003
【図３】
0006568654.tif 000004
【図４】
0006568654.tif 000005
【図５】
0006568654.tif 000006
【図６】
0006568654.tif 000007
【図７】
0006568654.tif 000008