特許第6568654号(P6568654)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シマンテック コーポレーションの特許一覧

特許6568654産業制御システム内の危殆化されたデバイスを識別するためのシステム及び方法
<>
  • 特許6568654-産業制御システム内の危殆化されたデバイスを識別するためのシステム及び方法 図000002
  • 特許6568654-産業制御システム内の危殆化されたデバイスを識別するためのシステム及び方法 図000003
  • 特許6568654-産業制御システム内の危殆化されたデバイスを識別するためのシステム及び方法 図000004
  • 特許6568654-産業制御システム内の危殆化されたデバイスを識別するためのシステム及び方法 図000005
  • 特許6568654-産業制御システム内の危殆化されたデバイスを識別するためのシステム及び方法 図000006
  • 特許6568654-産業制御システム内の危殆化されたデバイスを識別するためのシステム及び方法 図000007
  • 特許6568654-産業制御システム内の危殆化されたデバイスを識別するためのシステム及び方法 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6568654
(24)【登録日】2019年8月9日
(45)【発行日】2019年8月28日
(54)【発明の名称】産業制御システム内の危殆化されたデバイスを識別するためのシステム及び方法
(51)【国際特許分類】
   H04L 12/70 20130101AFI20190819BHJP
   H04L 12/28 20060101ALI20190819BHJP
【FI】
   H04L12/70 100Z
   H04L12/28 200M
【請求項の数】15
【全頁数】27
(21)【出願番号】特願2018-524449(P2018-524449)
(86)(22)【出願日】2016年9月27日
(65)【公表番号】特表2018-538737(P2018-538737A)
(43)【公表日】2018年12月27日
(86)【国際出願番号】US2016054002
(87)【国際公開番号】WO2017091292
(87)【国際公開日】20170601
【審査請求日】2018年5月11日
(31)【優先権主張番号】14/952,344
(32)【優先日】2015年11月25日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】501113353
【氏名又は名称】シマンテック コーポレーション
【氏名又は名称原語表記】Symantec Corporation
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】100134119
【弁理士】
【氏名又は名称】奥町 哲行
(72)【発明者】
【氏名】コラレス・イグナシオ ベルモデス
(72)【発明者】
【氏名】トゥゴンカル・アロク
【審査官】 宮島 郁美
(56)【参考文献】
【文献】 米国特許出願公開第2006/0236374(US,A1)
【文献】 特開2012−244628(JP,A)
【文献】 特開2011−253355(JP,A)
【文献】 特開2006−115129(JP,A)
【文献】 特開2016−163352(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00−12/955,29/00
(57)【特許請求の範囲】
【請求項1】
産業制御システム内の危殆化されたデバイスを識別するためのコンピュータ実装方法であって、前記方法の少なくとも一部分が、少なくとも1つのプロセッサを備えるコンピュータデバイスによって行われ、前記方法が、
なくとも1つの産業デバイスを含む産業制御システムに対する通信を容易にするネットワーク内のネットワークトラフィックを監視することと、
前記ネットワークトラフィックに少なくとも部分的に基づいて、
前記ネットワークを介して前記産業デバイスと通信するために使用されるネットワークプロトコルと、
前記産業デバイスの正常な通信パターンと、
前記産業デバイスに関する1以上の有効なオペコードと、
を記載する、前記産業デバイスに関するメッセージプロトコルプロファイルを作成することと、
前記産業デバイス、及び前記産業制御システムに含まれる少なくとも1つの他のコンピューティングデバイスを伴う、前記ネットワーク内の少なくとも1つのメッセージを検出することと、
前記メッセージ内で少なくとも1つのオペコードを識別することと、
前記メッセージ内で識別された前記オペコード、前記メッセージプロトコルプロファイルに記載された前記産業デバイスに関する前記有効なオペコードと比較することによって、前記メッセージが、前記産業デバイスの前記正常な通信パターンと不審に矛盾する異常を表していると判断することと、
前記異常を表している前記メッセージに少なくとも部分的に基づいて、前記他のコンピューティングデバイスが危殆化されている可能性が高いと判断することと、を含む、コンピュータ実装方法。
【請求項2】
前記他のコンピューティングデバイスが危殆化されている可能性が高いと判断することに応答して、前記他のコンピューティングデバイスに関して少なくとも1つの安全措置を実行することを更に含む、請求項1に記載の方法。
【請求項3】
前記安全措置が、
前記他のコンピューティングデバイスが危殆化されていることを少なくとも1つの追加のコンピューティングデバイスに通知する警報を発することと、
記ネットワークから前記他のコンピューティングデバイスを検疫して、前記他のコンピューティングデバイスが、前記産業制御システム内の任意の追加のコンピュータと通信することを防止することと、
前記他のコンピューティングデバイスをシャットダウンして、前記他のコンピューティングデバイスが、前記産業制御システム内の任意の追加のコンピュータと通信することを防止することと、
前記産業制御システム内の前記他のコンピューティングデバイスと任意の追加のコンピューティングデバイスとの間の全てのメッセージをブロックすることと、
前記産業制御システム内の前記他のコンピューティングデバイスの少なくとも1つのコンピューティングタスクを少なくとも1つの追加のコンピュータに転送することによって、前記ネットワーク内の前記他のコンピューティングデバイスを置き換えることと、
のうちの少なくとも1つを含む、請求項2に記載の方法。
【請求項4】
前記ネットワーク内の前記ネットワークトラフィックを監視することが、
前記産業デバイスから生じるか、又はそこに向かうことになる、前記ネットワーク内のメッセージを検出することと、
前記メッセージのフィールドに含まれるパラメータを識別することを含む、請求項1に記載の方法。
【請求項5】
前記産業デバイスに関する前記メッセージプロトコルプロファイルを作成することが、前記メッセージの前記フィールドに含まれる前記パラメータから、前記産業デバイスの前記正常な通信パターンのベースライン表現を構築することを含む、請求項4に記載の方法。
【請求項6】
前記産業デバイスから生じるか、又はそこに向かうことになる、前記ネットワーク内の前記メッセージを検出することが、前記産業デバイスに関して共通するある特定の特性を有するメッセージのグループ化を作成することを含み、
前記産業デバイスの前記正常な通信パターンの前記ベースライン表現を構築することが、
メッセージの前記グループ化を分析することと、
前記メッセージの前記フィールドにおいて識別される前記パラメータの表現を前記ベースライン表現に挿入することと、によって、前記産業デバイスの前記正常な通信パターンの前記ベースライン表現を構築することを含む、請求項5に記載の方法。
【請求項7】
前記産業デバイス及び前記他のコンピューティングデバイスを伴う前記ネットワーク内の前記メッセージを検出することは、前記メッセージ及びメッセージの前記グループ化が、共通する前記ある特定の特性を共有すると判断することを含む、請求項6に記載の方法。
【請求項8】
前記メッセージが前記異常を表していると判断することが、
前記メッセージの少なくとも1つのフィールドに含まれる少なくとも1つのパラメータを識別することと、
前記メッセージの前記フィールドにおいて識別される前記パラメータが、前記産業デバイスの前記正常な通信パターンの前記ベースライン表現と不審に矛盾すると判断することと、を含む、請求項7に記載の方法。
【請求項9】
前記産業デバイスの前記正常な通信パターンの前記ベースライン表現を構築することが、前記メッセージの前記フィールドにおいて識別される前記パラメータに少なくとも部分的に基づいて、前記産業デバイスの前記正常な通信パターンに対する基準を表す一組のポリシー規則を形成することを含む、請求項に記載の方法。
【請求項10】
前記一組のポリシー規則を形成することが、前記産業デバイスと通信するコンピューティングデバイスに関するリスクスコアを算出することを容易にする数式内で、前記一組のポリシー規則内の少なくとも1つのポリシー規則に違反することと関連付けられたリスクのレベルを表す数値を重み付けすることを含む、請求項9に記載の方法。
【請求項11】
前記メッセージの前記フィールドに含まれる前記パラメータが、
前記産業デバイスから生じるか、又はそこに向かうことになるメッセージに含まれるオペコード、
前記産業デバイスから生じるか、又はそこに向かうことになるメッセージのサイズ、
前記産業デバイスから生じるか、又はそこに向かうことになるメッセージの構造、
前記産業デバイスから生じるか、又はそこに向かうことになるメッセージのシーケンス番号、
前記産業デバイスから生じるか、又はそこに向かうことになるある特定の数のメッセージを識別するカウンタ、
前記産業デバイスから生じるか、又はそこに向かうことになるメッセージに含まれるトランザクション識別子、のうちの少なくとも1つを含む、請求項4に記載の方法。
【請求項12】
産業制御システム内の危殆化されたデバイスを識別するためのシステムであって、
監視モジュールであって、
なくとも1つの産業デバイスを含む産業制御システムに対する通信を容易にするネットワーク内のネットワークトラフィックを監視する、メモリに格納された、監視モジュールと、
プロファイリングモジュールであって、前記ネットワークトラフィックに少なくとも部分的に基づいて、
前記ネットワークを介して前記産業デバイスと通信するために使用されるネットワークプロトコルと、
前記産業デバイスの正常な通信パターンと、
前記産業デバイスに関する1以上の有効なオペコードと、
を記載する、前記産業デバイスに関するメッセージプロトコルプロファイルを作成する、メモリに格納された、プロファイリングモジュールと、
メモリに格納された検出モジュールであって、
前記産業デバイス及び少なくとも1つの他のコンピューティングデバイスを伴う、前記ネットワーク内の少なくとも1つのメッセージを検出
前記メッセージ内で少なくとも1つのオペコードを識別する、
出モジュールと、
メモリに格納された判断モジュールであって、
前記メッセージ内で識別された前記オペコード、前記メッセージプロトコルプロファイルに記載された前記産業デバイスに関する前記有効なオペコードと比較することによって、前記メッセージが、前記産業デバイスの前記正常な通信パターンと不審に矛盾する異常を表していると判断し、
前記異常を表している前記メッセージに少なくとも部分的に基づいて、前記他のコンピューティングデバイスが危殆化されている可能性が高いと判断する、判断モジュールと、
前記監視モジュール、前記プロファイリングモジュール、前記検出モジュール、及び前記判断モジュールを実行する、少なくとも1つの物理的プロセッサと、を備える、システム。
【請求項13】
前記他のコンピューティングデバイスが危殆化されている可能性が高いという判断に応答して、前記他のコンピューティングデバイスに関して少なくとも1つの安全措置を実行する、メモリに格納された、セキュリティモジュールを更に備える、請求項12に記載のシステム。
【請求項14】
前記安全措置が、
前記他のコンピューティングデバイスが危殆化されていることを少なくとも1つの追加のコンピューティングデバイスに通知する警報を発することと、
記ネットワークから前記他のコンピューティングデバイスを検疫して、前記他のコンピューティングデバイスが、前記産業制御システム内の任意の追加のコンピュータと通信することを防止することと、
前記他のコンピューティングデバイスをシャットダウンして、前記他のコンピューティングデバイスが、前記産業制御システム内の任意の追加のコンピュータと通信することを防止することと、
前記産業制御システム内の前記他のコンピューティングデバイスと任意の追加のコンピューティングデバイスとの間の全てのメッセージをブロックすることと、
前記産業制御システム内前記他のコンピューティングデバイスの少なくとも1つのコンピューティングタスクを少なくとも1つの追加のコンピュータに転送することによって、前記ネットワーク内の前記他のコンピューティングデバイスを置き換えることと、のうちの少なくとも1つを含む、請求項13に記載のシステム。
【請求項15】
非一時的コンピュータ可読媒体であって、1つ以上のコンピュータ実行可能命令を含み、コンピューティングデバイスの少なくとも1つのプロセッサによって実行されるとき、前記コンピューティングデバイスに、
なくとも1つの産業デバイスを含む産業制御システムに対する通信を容易にするネットワーク内のネットワークトラフィックを監視することと、
前記ネットワークトラフィックに少なくとも部分的に基づいて、
前記ネットワークを介して前記産業デバイスと通信するために使用されるネットワークプロトコルと、
前記産業デバイスの正常な通信パターンと、
前記産業デバイスに関する1以上の有効なオペコードと、
を記載する、前記産業デバイスに関するメッセージプロトコルプロファイルを作成することと、
前記産業デバイス、及び前記産業制御システムに含まれる少なくとも1つの他のコンピューティングデバイスを伴う、前記ネットワーク内の少なくとも1つのメッセージを検出することと、
前記メッセージ内で少なくとも1つのオペコードを識別することと、
前記メッセージ内で識別された前記オペコード、前記メッセージプロトコルプロファイルに記載された前記産業デバイスに関する前記有効なオペコードと比較することによって、前記メッセージが、前記産業デバイスの前記正常な通信パターンと不審に矛盾する異常を表していると判断することと、
前記異常を表している前記メッセージに少なくとも部分的に基づいて、前記他のコンピューティングデバイスが危殆化されている可能性が高いと判断することと、を行わせる、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【0001】
産業制御システムは、多くの場合、産業環境内で製造及び/又は生産作業を実行するデバイス及び/又は機械の機能性を制御するために使用される。例えば、原子力発電所は、電力の生成及び/又は分配を規制するために、産業制御システムを実装する及び/又は産業制御システムに依存し得る。この産業制御システムは、センサ、起動装置、コントローラ、制御弁、モータ、ロボットデバイス、及び/又はコンピューティングデバイスの集合を含み得る。この例では、原子力発電所は、システムの故障及び/又は誤動作が生じた場合、危機に瀕している損害の量により、テロ攻撃の第1の標的を表し得る。
【0002】
残念ながら、ある特定の産業制御システムの高セキュリティの必要性により、これらの産業制御システムが通信するネットワークプロトコルは、めったに公衆に文書化されず及び/又は利用可能ではない。その結果、従来のセキュリティ技術は、産業制御システム内のネットワークトラフィックを有意に監視する及び/又は特定のデバイスが潜在的に危殆化されることを示唆する不審な挙動を検出することができない場合がある。したがって、従来のセキュリティ技術は、産業制御システム内の危殆化されたデバイスを識別することにおいてやや効果がなく、そのようなシステムを潜在的に攻撃に影響されやすいままにする場合がある。したがって、本開示は、産業制御システム内の危殆化されたデバイスを識別するための改善されたシステム及び方法に対する必要性を識別し、それに対処する。
【発明の概要】
【0003】
以下で更に詳細に説明されるように、本開示は、業制御システム内の危殆化されたデバイスを識別するための様々なシステム及び方法を記載する。一実施例では、産業制御システム内の危殆化されたデバイスを識別するためのコンピュータ実装方法は、(1)少なくとも1つの産業デバイスを含む産業制御システムに対する通信を容易にするネットワーク内のネットワークトラフィックを監視することと、(2)ネットワークトラフィックに少なくとも部分的に基づいて、(A)ネットワークを介して産業デバイスと通信するために使用されるネットワークプロトコルと、(B)産業デバイスの正常な通信パターンと、を記載する、産業デバイスに関するメッセージプロトコルプロファイルを作成することと、(3)産業デバイス、及び産業制御システムに含まれる少なくとも1つの他のコンピューティングデバイスを伴う、ネットワーク内の少なくとも1つのメッセージを検出することと、(4)メッセージを産業デバイスに関するメッセージプロトコルプロファイルと比較することによって、メッセージが、産業デバイスの正常な通信パターンと不審に矛盾する異常を表していると判断することと、次いで、(5)異常を表しているメッセージに少なくとも部分的に基づいて、他のコンピューティングデバイスが危殆化されている可能性が高いと判断することと、を含み得る。
【0004】
一実施例では、本方法はまた、他のコンピューティングデバイスが危殆化されている可能性が高いと判断することに応答して、他のコンピューティングデバイスに関して少なくとも1つの安全措置を実行することを含み得る。安全措置の例としては、非限定的に、他のコンピューティングデバイスが危殆化されていることを少なくとも1つの追加のコンピューティングデバイスに通知する警報を発することと、産業ネットワークから他のコンピューティングデバイスを検疫して、他のコンピューティングデバイスが、産業制御システム内の任意の追加のコンピュータと通信することを防止することと、他のコンピューティングデバイスをシャットダウンして、他のコンピューティングデバイスが、産業制御システム内の任意の追加のコンピュータと通信することを防止することと、産業制御システム内の他のコンピューティングデバイスと任意の追加のコンピューティングデバイスとの間の全てのメッセージをブロックすることと、産業制御システム内の他のコンピューティングデバイスの少なくとも1つのコンピューティングタスクを少なくとも1つの追加のコンピュータに転送することによって、産業ネットワーク内の他のコンピューティングデバイスを置き換えることと、それらのうちの1つ以上の変形若しくは組み合わせ、又は任意の他の好適な安全措置が挙げられる。
【0005】
一実施例では、本方法はまた、産業デバイスから生じるか、又はそこに向かうことになるネットワーク内のメッセージを検出することを含み得る。本実施例では、本方法は、メッセージのフィールドに含まれるパラメータを識別することを更に含み得る。一実施例では、メッセージプロトコルプロファイルは、メッセージのフィールドに含まれるパラメータから、産業デバイスの正常な通信パターンのベースライン表現を構築することを含み得る、及び/又は表し得る。そのようなパラメータとしては、非限定的に、メッセージのフィールドに含まれるパラメータが、産業デバイスから生じるか、又はそこに向かうことになるオペコード、産業デバイスから生じるか、又はそこに向かうことになるメッセージのサイズ、産業デバイスから生じるか、又はそこに向かうことになるメッセージの構造、産業デバイスから生じるか、又はそこに向かうことになるメッセージのシーケンス番号、産業デバイスから生じるか、又はそこに向かうことになるある特定の数のメッセージを識別するカウンタ、産業デバイスから生じるか、又はそこに向かうことになるメッセージに含まれるトランザクション識別子、それらのうちの1つ以上の変形若しくは組み合わせ、又は任意の他の好適なパラメータが挙げられる。
【0006】
一実施例では、本方法はまた、産業デバイスに関して共通するある特定の特性を有するメッセージのグループ化を作成することを含み得る。本実施例では、本方法は、メッセージのグループ化を分析すること、及び/又はメッセージのフィールドにおいて識別されるパラメータの表現をベースライン表現に挿入することによって、産業デバイスの正常な通信パターンのベースライン表現を構築することを更に含み得る。追加的に又は代替的に、本方法は、メッセージ及びメッセージのグループ化が、共通するある特定の特性を共有すると判断することを含み得る。
【0007】
一実施例では、本方法はまた、メッセージの少なくとも1つのフィールドに含まれる少なくとも1つのパラメータを識別することを含み得る。本実施例では、本方法は、メッセージのフィールドにおいて識別されるパラメータが、産業デバイスの正常な通信パターンのベースライン表現と不審に矛盾すると判断することとを更に含み得る。
【0008】
一実施例では、本方法はまた、メッセージのフィールドにおいて識別されるパラメータに少なくとも部分的に基づいて、産業デバイスの正常な通信パターンに対する基準を表す一組のポリシー規則を形成することを含み得る。本実施例では、本方法は、産業デバイスと通信するコンピューティングデバイスに関するリスクスコアを算出することを容易にする数式内で、一組のポリシー規則内の少なくとも1つのポリシー規則に違反することと関連付けられたリスクのレベルを表す数値を重み付けすることを更に含み得る。
【0009】
別の実施例として、上述の方法を実装するためのシステムは、(1)少なくとも1つの産業デバイスを含む産業制御システムに対する通信を容易にするネットワーク内のネットワークトラフィックを監視する、メモリに格納された、監視モジュールと、(2)プロファイリングモジュールであって、ネットワークトラフィックに少なくとも部分的に基づいて、(A)ネットワークを介して産業デバイスと通信するために使用されるネットワークプロトコルと、(B)産業デバイスの正常な通信パターンと、を記載する、産業デバイスに関するメッセージプロトコルプロファイルを作成する、メモリに格納された、プロファイリングモジュールと、(3)産業デバイス及び少なくとも1つの他のコンピューティングデバイスを伴う、ネットワーク内の少なくとも1つのメッセージを検出する、メモリに格納された、検出モジュールと、(4)メモリに格納された、判断モジュールであって、(A)メッセージを産業デバイスに関するメッセージプロトコルプロファイルと比較することによって、メッセージが、産業デバイスの正常な通信パターンと不審に矛盾する異常を表していると判断し、(B)異常を表しているメッセージに少なくとも部分的に基づいて、他のコンピューティングデバイスが危殆化されている可能性が高いと判断する、判断モジュールと、(5)監視モジュール、プロファイリングモジュール、検出モジュール、及び判断モジュールを実行する、少なくとも1つの物理的プロセッサと、を含み得る。
【0010】
更なる実施例として、上述の方法は、非一時的コンピュータ可読媒体上のコンピュータ可読命令としてコード化されてもよい。例えば、コンピュータ可読媒体は、コンピューティングデバイスの少なくとも1つのプロセッサによって実行されるとき、コンピューティングデバイスに、(1)少なくとも1つの産業デバイスを含む産業制御システムに対する通信を容易にするネットワーク内のネットワークトラフィックを監視することと、(2)ネットワークトラフィックに少なくとも部分的に基づいて、(A)ネットワークを介して産業デバイスと通信するために使用されるネットワークプロトコルと、(B)産業デバイスの正常な通信パターンと、を記載する、産業デバイスに関するメッセージプロトコルプロファイルを作成することと、(3)産業デバイス、及び産業制御システムに含まれる少なくとも1つの他のコンピューティングデバイスを伴う、ネットワーク内の少なくとも1つのメッセージを検出することと、(4)メッセージを産業デバイスに関するメッセージプロトコルプロファイルと比較することによって、メッセージが、産業デバイスの正常な通信パターンと不審に矛盾する異常を表していると判断することと、(5)異常を表しているメッセージに少なくとも部分的に基づいて、他のコンピューティングデバイスが危殆化されている可能性が高いと判断することと、を行わせる、1つ以上のコンピュータ実行可能命令非一時的コンピュータ可読媒体を含み得る。
【0011】
上述の実施形態のいずれかによる特徴は、本明細書に記載される一般原理に従って、互いに組み合わせて使用されてもよい。これら及び他の実施形態、特徴、及び利点は、添付の図面及び特許請求の範囲と併せて以下の発明を実施するための形態を読むことによって更に十分に理解されるだろう。
【図面の簡単な説明】
【0012】
添付の図面は、いくつかの例示的な実施形態を図示するものであり、本明細書の一部である。以下の説明と併せて、これらの図面は、本開示の様々な原理を実証及び説明する。
図1】産業制御システム内の危殆化されたデバイスを識別するための例示的なシステムのブロック図である。
図2】産業制御システム内の危殆化されたデバイスを識別するための追加の例示的なシステムのブロック図である。
図3】産業制御システム内の危殆化されたデバイスを識別するための例示的な方法のフローチャートである。
図4】産業制御システムに対する通信を容易にするネットワーク内で検出されるメッセージから作成される例示的なメッセージプロトコルプロファイルの図解である。
図5】産業制御システムに対する通信を容易にするネットワークの内で検出される例示的なメッセージの図解である。
図6】本明細書で説明及び/又は図示される実施形態のうちの1つ以上を実装できる例示的なコンピューティングシステムのブロック図である。
図7】本明細書で説明及び/又は図示される実施形態のうちの1つ以上を実装できる例示的なコンピューティングネットワークのブロック図である。 図面を通して、同一の参照符号及び記述は、必ずしも同一ではないが、類似の要素を示す。本明細書で説明される例示的実施形態は、様々な修正物及び代替的な形態が可能であるが、特定の実施形態が例として図面に示されており、本明細書に詳細に記載される。しかしながら、本明細書に記載される例示的実施形態は、開示される特定の形態に限定されることを意図しない。むしろ、本開示は、添付の特許請求の範囲内にある全ての修正物、等価物、及び代替物を網羅する。
【発明を実施するための形態】
【0013】
本開示は、概して、産業制御システム内の危殆化されたデバイスを識別するためのシステム及び方法を対象とする。後で更に詳しく説明されるように、産業ネットワーク内のネットワークトラフィックを監視することによって、本明細書に記載される様々なシステム及び方法は、たとえ通信プロトコルが公衆に文書化されず及び/又は利用可能ではない場合でも、産業ネットワークを介して通信する産業制御システムによって使用される通信プロトコルを学習及び/又はリバースエンジニアリングすることができる場合がある。このように通信プロトコルを学習及び/又はリバースエンジニアリングする際に、本明細書に記載される様々なシステム及び方法は、共通するある特定の特性を有するメッセージのグループ(例えば、同じ通信プロトコル、同じ宛先インターネットプロトコル(IP)アドレス、及び/又は同じ宛先ポート番号)に類似のトラフィックをグループ化し得る。これらのシステム及び方法は、次いで、ソース若しくは宛先デバイスの正常な通信パターン、及び/又は産業ネットワークにわたってメッセージの対応するグループと通信するために使用される通信プロトコル、を記載するメッセージプロトコルプロファイルを構築し得る。
【0014】
更に、このようにソース又は宛先デバイスに関するメッセージプロトコルプロファイルを構築して、次いでメッセージプロトコルプロファイルに対して未来のメッセージを比較することによって、これらのシステム及び方法は、未来のメッセージのいずれかがソース又は宛先デバイスの正常な通信パターンと不審に矛盾する異常を表しているかどうかを判断することができる場合がある。未来のメッセージのうちの1つ以上がそのような異常を表している場合には、これらのシステム及び方法は、ソース又は宛先デバイスが危殆化されている可能性が高いと判断し得る。
【0015】
以下に、図1図2を参照して、業制御システム内の危殆化されたデバイスを識別するための例示的なシステムについて詳細に説明する。対応するコンピュータ実装方法の詳細な説明は、図3に関連して提供される。例示的なメッセージプロトコルプロファイル及び例示的なメッセージの詳細な説明も、それぞれ図4及び図5に関連して提供される。更に、本明細書で説明される実施形態のうちの1つ以上を実装できる例示的なコンピューティングシステム及びネットワークアーキテクチャについての詳細な説明が、それぞれ、図6及び図7と関連して提供されることになる。
【0016】
図1は、産業制御システム内の危殆化されたデバイスを識別するための例示的なシステム100のブロック図である。この図に図示されるように、例示的なシステム100は、1つ以上のタスクを実施するための1つ以上のモジュール102を含んでもよい。例えば、後で更に詳しく説明されるように、例示的なシステム100は、少なくとも1つの産業デバイスを含む産業制御システムに対する通信を容易にするネットワーク内のネットワークトラフィックを監視する監視モジュール104を含み得る。例示的なシステム100は、ネットワークトラフィックに少なくとも部分的に基づいて、(1)ネットワークを介して産業デバイスと通信するために使用されるネットワークプロトコルと、(2)産業デバイスの正常な通信パターンと、を記載する、産業デバイスに関するメッセージプロトコルプロファイルを作成するプロファイリングモジュール106も含み得る。
【0017】
加えて、後で更に詳しく説明されるように、例示的なシステム100は、産業デバイス、及び産業制御システムに含まれる少なくとも1つの他のコンピューティングデバイスを伴う、ネットワーク内の少なくとも1つのメッセージを検出する検出モジュール108を含み得る。例示的なシステム100は、判断モジュール110であって、(1)メッセージを産業デバイスに関するメッセージプロトコルプロファイルと比較することによって、メッセージが、産業デバイスの正常な通信パターンと不審に矛盾する異常を表していると判断し、(2)異常を表しているメッセージに少なくとも部分的に基づいて、他のコンピューティングデバイスが危殆化されている可能性が高いと判断する、判断モジュール110を含み得る。別々の要素として図示されるが、図1のモジュール102のうちの1つ以上は、単一のモジュール又はアプリケーションの部分を表してもよい。
【0018】
ある特定の実施形態では、図1のモジュール102のうちの1つ以上は、コンピューティングデバイスによって実行されると、コンピューティングデバイスに1つ以上のタスクを実施させ得る、1つ以上のソフトウェアアプリケーション又はプログラムを表し得る。例えば、以下により詳細に記載されるように、モジュール102のうちの1つ以上は、図2に例示されるデバイス(例えば、コンピューティングデバイス202(1)〜(N)、サーバ206、及び/若しくは産業デバイス208)、図6にあるコンピューティングシステム610、並びに/又は図7にある例示的なネットワークアーキテクチャ700の部分のような1つ以上のコンピューティングデバイス上で実行されるように記憶及び構成されるソフトウェアモジュールを表し得る。図1のモジュール102のうちの1つ以上はまた、1つ以上のタスクを実施するように構成された1つ以上の専用コンピュータの全て又は一部を表し得る。
【0019】
図1に図解されるように、例示的なシステム100は、メッセージプロトコルプロファイル120などの1つ以上のメッセージプロトコルプロファイルも含み得る。一実施例では、メッセージプロトコルプロファイル120は、産業ネットワークを介して及び/又は産業制御システムに含まれるデバイスと通信するために使用される専有ネットワークプロトコルを識別し、表し、及び/又は説明し得る。本実施例では、メッセージプロトコルプロファイル120は、デバイスの間で交換されるメッセージの構造、そのようなメッセージのフィールド、及び/又はそのようなメッセージのシーケンス番号付けを識別し、表し、及び/又は説明し得る。
【0020】
追加的に又は代替的に、メッセージプロトコルプロファイル120は、産業制御システムに含まれる1つ以上の産業デバイスの正常な通信パターンを識別し、表し、及び/又は説明し得る。例えば、メッセージプロトコルプロファイル120は、1つ以上の産業デバイスに送信されるメッセージに含まれる典型的なペイロード、パラメータ、及び/又はコンテンツのベースライン表現を含み得る。そのような通信パターンは、デバイスによって交換されるメッセージに典型的には含まれるオペコード、そのようなメッセージに典型的には含まれるデータパラメータ及び/若しくは値、典型的には互いに通信するデバイス、並びに/又は、ある特定の期間にわたって及び/又はある特定の時刻においてデバイスによって典型的には交換されるメッセージの数を含み得る、並びに/又はそれらによって表され得る。図1が単一のメッセージプロトコルプロファイルのみを図解するが、他の実施形態は、産業制御システムに含まれる及び/又は産業制御システムとインターフェースする様々なデバイスに対応する複数のメッセージプロトコルプロファイルを含み得る、及び/又は伴い得る。
【0021】
図1の例示的なシステム100は、様々な方法で実装され得る。例えば、例示的なシステム100の全て又は一部は、図2における例示的なシステム200の部分を表してもよい。図2に示すように、システム200は、コンピューティングデバイス202(1)〜(N)、サーバ206、及び/又は産業デバイス208間の通信を容易にすることができるネットワーク204を含み得る。一実施例では、コンピューティングデバイス202(1)〜(N)のうちの1つ以上は、モジュール102のうちの1つ以上でプログラムされてもよい。追加的に又は代替的に、サーバ206及び/又は産業デバイス208は、モジュール102のうちの1つ以上でプログラムされてもよい。
【0022】
一実施例では、コンピューティングデバイス202(1)〜(N)のうちの1つ以上は、メッセージプロトコルプロファイル120(1)〜(N)のうちの1つ以上を記憶し得る。追加的に又は代替的に、サーバ206及び/又は産業デバイス208は、メッセージプロトコルプロファイル120(1)〜(N)のうちの1つ以上を記憶し得る。
【0023】
一実施形態では、図1のモジュール102のうちの1つ以上は、サーバ206の少なくとも1つのプロセッサによって実行されるとき、サーバ206が産業制御システム内の危殆化されたデバイスを識別することを可能にする。例えば、以下により詳細に記載されるように、1つ以上のモジュール102は、サーバ206に、(1)ネットワーク204内のネットワークトラフィックを監視することと、(2)ネットワークトラフィックに少なくとも部分的に基づいて、(A)ネットワーク204を介して産業デバイス208と通信するために使用されるネットワークプロトコルと、(B)産業デバイス208の正常な通信パターンと、を記載する、産業デバイス208に関するメッセージプロトコルプロファイル120(1)を作成することと、(3)産業デバイス208、及び産業制御システムに含まれるコンピューティングデバイス202(1)を伴う、ネットワーク204内の少なくとも1つのメッセージを検出することと、(4)メッセージを産業デバイス208に関するメッセージプロトコルプロファイル120(1)と比較することによって、メッセージが、産業デバイス208の正常な通信パターンと不審に矛盾する異常を表していると判断することと、(5)異常を表しているメッセージに少なくとも部分的に基づいて、コンピューティングデバイス202(1)が危殆化されている可能性が高いと判断することと、を行わせる、1つ以上のコンピュータ実行可能命令非一時的コンピュータ可読媒体を含み得る。
【0024】
コンピューティングデバイス202(1)〜(N)は、一般に、コンピュータ実行可能命令を読み取ることが可能な、任意のタイプ又は形態のコンピューティングデバイスを表す。コンピューティングデバイス202(1)〜(N)の例としては、非限定的に、産業デバイス、コントローラ、ラップトップ、タブレット、デスクトップ、サーバ、携帯電話、携帯情報端末(PDA)、マルチメディアプレーヤー、埋め込みシステム、ウェアラブルデバイス(例えば、スマートウォッチ、スマートグラスなど)、ゲーム機、それらの1つ以上の変形又は組み合わせ、図6の例示的なコンピューティングシステム610、あるいは他の任意の好適なコンピューティングデバイスが挙げられる。
【0025】
サーバ206は、一般に、産業制御システム内の危殆化されたデバイスを識別することができる、任意のタイプ又は形態のコンピューティングデバイスを表す。サーバ206の例としては、非限定的に、ある特定のソフトウェアアプリケーションを実行する、並びに/又は様々なネットワーキングサービス、セキュリティサービス、ウェブサービス、及び/若しくはデータベースサービスを提供するように構成された、ネットワークデバイス(ルータ及び/若しくはスイッチ)、ネットワークサーバ、アプリケーションサーバ、セキュリティサーバ、ウェブサーバ、並びに/又はデータベースサーバが挙げられる。図2に単一の実体として図解されるが、サーバ206は、例示的なシステム200内で作動する複数のサーバを代替的に含み得る、及び/又は表し得る。
【0026】
産業デバイス208は、一般に、製造、サービス、及び/若しくは生産作業を実行することができるコンピュータ制御された任意のタイプ又は形態の機械的デバイスを表す。産業デバイス208の例としては、非限定的に、センサ、起動装置、コントローラ、制御弁、モータ、ロボットデバイス、埋め込みシステム、コンピューティングデバイス、コントローラ、それらのうちの1つ以上の変形若しくは組み合わせ、又は任意の他の好適な産業デバイスが挙げられる。
【0027】
ネットワーク204は、一般に、通信若しくはデータ転送を容易にすることが可能な、任意の媒体又はアーキテクチャを表す。ネットワーク204の例としては、非限定的に、イントラネット、私設ネットワーク、産業ネットワーク、広域ネットワーク(Wide Area Network)(WAN)、ローカルエリアネットワーク(Local Area Network)(LAN)、パーソナルエリアネットワーク(Personal Area Network)(PAN)、インターネット、電力線通信(PLC)、セルラネットワーク(例えば、Global System for Mobile Communications(GSM(登録商標))ネットワーク)、図7の例示的なネットワークアーキテクチャ700などが挙げられる。ネットワーク204は、無線接続及び/又は有線接続を使用して、通信又はデータ転送を容易にしてもよい。一実施形態では、ネットワーク204は、コンピューティングデバイス202(1)〜(N)、サーバ206、及び/又は産業デバイス208間の通信を容易にすることができる。
【0028】
図3は、産業制御システム内の危殆化されたデバイスを識別するための例示的なコンピュータ実装方法300のフローチャートである。図3に示される工程は、任意の好適なコンピュータ実行可能コード及び/又はコンピューティングシステムによって実施されてもよい。いくつかの実施形態では、図3に示す工程は、図1のシステム100、図2のシステム200、図6のコンピューティングシステム610、及び/又は図7の例示的なネットワークアーキテクチャ700の部分の構成要素のうちの1つ以上によって実行されてもよい。
【0029】
図3に図解されるように、工程302において、本明細書に記載されるシステムのうちの1つ以上は、少なくとも1つの産業デバイスを含む産業制御システムに対する通信を容易にするネットワーク内のネットワークトラフィックを監視し得る。例えば、監視モジュール104は、図2におけるサーバ206の一部として、産業デバイス208を含む産業制御システムに対する通信を容易にするネットワーク204内のネットワークトラフィックを監視し得る。「ネットワークトラフィック」という用語は、本明細書で使用するとき、一般に、1つのコンピューティングデバイスから別のコンピューティングデバイスまで通過する、任意のタイプ若しくは形態の通信、メッセージ、及び/又はデータ転送を指す。
【0030】
「産業制御システム」という用語は、本明細書で使用するとき、一般に、製造、サービス、及び/若しくは生産作業を制御及び/若しくは実行する、任意のタイプ若しくは形態のシステム並びに/又は機構を指す。一実施例では、産業制御システムは、図2においてシステム200に含まれる構成要素の全て又は一部を含み得る。例えば、産業制御システムは、コンピューティングデバイス202(1)〜(N)、ネットワーク204、サーバ206、及び/又は産業デバイス208のうちの1つ以上を含み得る。
【0031】
本明細書に記載されるシステムは、様々な方法で工程302を実施してもよい。いくつかの実施例では、監視モジュール104は、産業制御システムに含まれるデバイス間で交換されるメッセージを検出及び/又は識別することによって、ネットワーク204内のネットワークトラフィックを監視し得る。例えば、監視モジュール104は、コンピューティングデバイス202(1)〜コンピューティングデバイス202(N)及び/若しくは産業デバイス208によって送信されるメッセージを検出並びに/又は識別し得る。追加的に又は代替的に、監視モジュール104は、産業デバイス208によってコンピューティングデバイス202(1)〜(N)のうちの1つ以上に送信されるメッセージを検出及び/又は識別し得る。したがって、監視モジュール104は、産業デバイス208から生じるか、又はそこに向かうことになるメッセージを検出及び/又は計数し得る。
【0032】
いくつかの実施例では、プロファイリングモジュール106は、ネットワーク204を介して互いに通信するために産業制御システム内のデバイスによって使用されるネットワークプロトコルを判断、演繹、及び/又は推論し得る。例えば、プロファイリングモジュール106は、ネットワーク204内で検出されるメッセージのペイロードに含まれるデータを解析及び/又は細分化し得る。本実施例では、プロファイリングモジュール106は、それらのメッセージのペイロードに含まれるデータ内で見出されるある特定のパターンを検索及び/又は識別し得る。プロファイリングモジュール106は、次いで、それらのメッセージのペイロード内で見出されるパターンから、ネットワークプロトコルを学習及び/又はリバースエンジニアリングし得る。
【0033】
いくつかの実施例では、監視モジュール104は、共通するある特定の特性を有するメッセージのグループ化を作成し得る。例えば、監視モジュール104は、メッセージの構成要素層(インターネットプロトコル群の輸送層4)、メッセージの宛先IPアドレス、及び/又はメッセージの宛先ポート番号に少なくとも部分的に基づいて、一組のメッセージを一緒にグループ化し得る。特定の実施例として、監視モジュール104は、(1)輸送層4に従って封入され、(2)IPアドレス192.168.2.17に向かうことになり、(3)ネットワーク204内のポート番号80に向かうことになるメッセージの全てをグループ化し得る。一旦監視モジュール104が一組のメッセージをこのように一緒にグループ化すると、プロファイリングモジュール106は、それらの具体的な特性を有するデバイスによって使用されるネットワークプロトコルを学習及び/又はリバースエンジニアリングすることができる場合がある。
【0034】
したがって、ネットワークプロトコルは、産業制御システム内の単一のデバイス(例えば、産業デバイス208)によって送信及び/若しくは受信されるメッセージから特に、学習並びに/又はリバースエンジニアリングされ得る。追加的に又は代替的に、ネットワークプロトコルは、産業制御システム内のデバイスのいくつか若しくは全て(例えば、コンピューティングデバイス202(1)〜(N)及び産業デバイス208)によって送信及び/若しくは受信されるメッセージから、学習並びに/又はリバースエンジニアリングされ得る。
【0035】
一実施例では、ネットワークトラフィック内のそのようなメッセージを検出及び/又は識別する際に、監視モジュール104は、メッセージのフィールドに含まれるパラメータを識別し得る。例えば、プロファイリングモジュール106が、ある特定のメッセージのペイロードにおいて見出されるパターンから、ネットワークプロトコルを演繹及び/又は推論した後、監視モジュール104は、ネットワーク204を伝搬しているメッセージのフィールドに含まれるパラメータを識別し得る。本実施例では、メッセージのフィールドは、産業制御システムに含まれるデバイスと通信するために使用されるネットワークプロトコルの構造を表し得る、及び/又はそれに対応し得る。そのようなパラメータの例としては、非限定的に、オペコード、データ、メッセージサイズ、メッセージ構造、メッセージ回数、トランザクション識別子、ペイロードコンテンツ、シーケンス番号、値、メタデータ、それらのうちの1つ以上の変形又は組み合わせ、あるいは任意の他の好適なパラメータが挙げられる。
【0036】
図3を再び参照すると、工程304において、本明細書に記載されるシステムのうちの1つ以上は、ネットワークトラフィックに少なくとも部分的に基づいて、産業デバイスに関するメッセージプロトコルプロファイルを作成し得る。例えば、プロファイリングモジュール106は、図2におけるサーバ206の一部として、ネットワークトラフィックに少なくとも部分的に基づいて、産業デバイス208に関する図2におけるメッセージプロトコルプロファイル120(1)を作成し得る。本実施例では、メッセージプロトコルプロファイル120(1)は、産業デバイス208と通信するために使用されるネットワークプロトコルを識別及び/又は記載し得る。追加的に又は代替的に、メッセージプロトコルプロファイル120(1)は、産業デバイス208の正常な通信パターンを識別及び/又は記載し得る。換言すれば、メッセージプロトコルプロファイル120(1)は、産業デバイス208によって送信及び/若しくは受信されるメッセージに含まれる典型的なペイロード、パラメータ、及び/若しくはコンテンツを識別並びに/又は記載し得る。
【0037】
本明細書に記載されるシステムは、様々な方法で工程304を実施してもよい。いくつかの実施例では、プロファイリングモジュール106は、メッセージのフィールドに含まれるパラメータから、産業デバイス208の正常な通信パターンのベースライン表現を構築し得る。例えば、プロファイリングモジュール106は、特定の構成要素層(例えば、輸送層4)において搬送され、産業デバイス208のIPアドレス(例えば、192.168.2.17)に向かうことになり、及び/又は産業デバイス208(例えば、ポート番号80)上の特定のポート番号に向かうことになった、メッセージのグループ化を識別し得る。本実施例では、プロファイリングモジュール106は、このグループ化を分析して、産業デバイス208に送信されるメッセージに含まれる典型的なペイロード、パラメータ、及び/若しくはコンテンツを学習並びに/又は識別し得る。プロファイリングモジュール106は、次いで、産業デバイス208の正常な通信パターンのベースライン表現に、それらのペイロード、パラメータ、及び/若しくはコンテンツの表現を挿入し得る、並びに/又は含み得る。
【0038】
追加的に又は代替的に、プロファイリングモジュール106は、メッセージプロトコルプロファイル120(1)において産業デバイス208と通信するために使用されるネットワークプロトコルの構造の説明を含み得る、及び/又は挿入し得る。一実施例では、ネットワークプロトコルの構造は、産業デバイス208に特有であり得る。別の実施例では、ネットワークプロトコルの構造は、産業制御システムに含まれる全てのデバイスに共通であり得る。
【0039】
特定の実施例として、プロファイリングモジュール106は、産業デバイス208に関する図4におけるメッセージプロトコルプロファイル120(1)を作成及び/又は構築し得る。図4に図解されるように、メッセージプロトコルプロファイル120(1)は、対応するデバイス(本実施例では、「産業デバイス208」)、デバイスのIPアドレス(本実施例では「192.168.2.17」)、デバイス上の対応するポート番号(本実施例では「80」)、メッセージが搬送された構成要素層(本実施例では「輸送層4」)、どのバイトがオペコード(本実施例では「バイト1及び2」)を表すか、どのバイトがトランザクション識別子(本実施例では「バイト3及び4」)を表すか、どのバイトがパラメータ若しくは値(本実施例では「バイト5〜10」)を表すか、及びどのバイトがシーケンス番号(本実施例では「バイト11」)を表すかを示すネットワークプロトコルメッセージのペイロード構造、シーケンス番号付け方式(本実施例では「要求:0」、「要求確認:1」、「データ伝送:2」、及び「データ受信確認:3」)、着信メッセージに典型的には含まれるオペコードを示すデバイスの正常な通信パターン(本実施例では「0x010F」、「0x00FF」、「0x00AA」、及び「0x1234」)、着信メッセージに典型的には含まれるパラメータ(本実施例では「0x000000〜0x000FFF」)、発信メッセージ(本実施例では、「0x0002」、「0x121F」、「0xFF00」、及び「0x1234」)に典型的には含まれるオペコード、及び/若しくは発信メッセージに典型的には含まれるパラメータ(本実施例では「0x010101及び0xFFFFFF」)を含み並びに/又は識別し得る。
【0040】
いくつかの実施例では、プロファイリングモジュール106は、産業デバイス208の正常な通信パターンに対する基準を表す一組のポリシー規則を形成及び/又は展開し得る。例えば、プロファイリングモジュール106は、メッセージのフィールドにおいて識別されるパラメータを分析し得る。本実施例では、プロファイリングモジュール106は、次いで、それらのフィールド内で識別されるパラメータの分析に基づいて、一組のポリシー規則を形成及び/又は展開し得る。追加的に又は代替的に、プロファイリングモジュール106は、パラメータが識別されたメッセージと関連して、それらのポリシー規則をラベル付けし得る。この組のポリシー規則は、産業デバイス208の正常な通信パターンを示し得る、及び/又は表し得る。したがって、この組のポリシー規則は、比較を通じて、産業デバイス208を伴う未来のメッセージが異常な通信を表すかどうかを判断するために使用され得る。
【0041】
一実施例では、一組のポリシー規則は、産業デバイス208と通信するデバイスに関するリスクスコアを算出することを容易にする数式に組み込まれ及び/又は数式によって表され得る。例えば、プロファイリングモジュール106は、ポリシー規則の各々に違反することと関連付けられたリスクのレベルを表すある特定の数値を含む数式を形成及び/又は展開し得る。本実施例では、プロファイリングモジュール106は、対応するポリシー規則の違反の重要性に応じて、数値のうちの1つ以上を重み付けし得る。換言すれば、重み付けは、その違反が、ある特定のデバイスが危殆化されているかどうか判断することに対して、いかに効果的及び/又は有意味であるかに対応及び/又は相応し得る。
【0042】
図3を再び参照すると、工程306において、本明細書に記載されるシステムのうちの1つ以上は、産業デバイス、及び産業制御システムに含まれる少なくとも1つの他のコンピューティングデバイスを伴う、ネットワーク内の少なくとも1つのメッセージを検出し得る。例えば、検出モジュール108は、図2におけるサーバ206の一部として、産業デバイス208、及びコンピューティングデバイス202(1)〜(N)のうちの1つ以上を伴うネットワーク204内の少なくとも1つのメッセージを検出し得る。一実施例では、このメッセージは、ネットワーク204を介して産業デバイス208にコンピューティングデバイス202(1)〜(N)のうちの1つによって送信され得る。別の実施例では、このメッセージは、ネットワーク204を介してコンピューティングデバイス208(1)〜(N)のうちの1つ以上に産業デバイス208によって送信され得る。
【0043】
本明細書に記載されるシステムは、様々な方法で工程306を実施してもよい。いくつかの実施例では、検出モジュール108は、ネットワーク204内のネットワークトラフィックを監視する一方で、メッセージを検出及び/又は傍受し得る。例えば、検出モジュール108は、ネットワーク204内の産業デバイス208へ行く途中で、図5においてメッセージ500を検出及び/又は傍受し得る。図5に図解されるように、メッセージ500は、宛先IPアドレス(本実施例では「192.168.2.17」)、宛先ポート番号(本実施例では「80」)、メッセージを搬送する構成要素層(本実施例では「輸送層4」)、並びにバイト1及び2(本実施例では「0x4F32」)、バイト3及び4(本実施例では「0x000F」)、バイト5〜10(本実施例では「0x071830AB6E」)、及びバイト11(本実施例では「0x02」)を含むペイロードパラメータを識別し得る。
【0044】
一実施例では、判断モジュール110は、メッセージが、産業デバイス208に向かうことになったメッセージのグループ化とある特定の特性を共有すると判断し得る。例えば、判断モジュール110は、メッセージが同じ構成要素層(例えば、輸送層4)に従って封入され、同じIPアドレス(例えば、192.168.2.17)に向かうことになり、及び/又はメッセージプロトコルプロファイル120(1)が作成されたメッセージのグループ化と同じポート番号(例えば、ポート番号80)に向かうことになると判断し得る。本実施例では、判断モジュール110は、メッセージプロトコルプロファイル120(1)に対してメッセージにおいて見出されるメタデータを比較することによって、この判断に達し得る。
【0045】
図3に戻ると、工程308において、本明細書に記載されるシステムのうちの1つ以上は、メッセージが、メッセージを産業デバイスに関するメッセージプロトコルプロファイルと比較することによって異常を表していると判断することができる。例えば、判断モジュール110は、図2におけるサーバ206の一部として、メッセージをメッセージプロトコルプロファイル120(1)と比較することによって、メッセージが異常を表していると判断し得る。この異常は、メッセージが産業デバイス208の正常な通信パターンと不審に矛盾することを意味及び/又は示唆し得る。「不審に矛盾する」という用語は、正常な通信パターンに関して本明細書で使用するとき、一般に、メッセージの正常及び/又は正当に関するある特定のレベルの不審及び/又は疑いに対応する及び/又はそれを引き起こす任意のタイプ又は形態の偏差を指す。
【0046】
本明細書に記載されるシステムは、様々な方法で工程308を実施してもよい。いくつかの実施例では、判断モジュール110は、メッセージが、メッセージのフィールドに含まれるパラメータに少なくとも部分的に基づいて、異常を表していると判断し得る。例えば、判断モジュール110は、オペコード、ペイロードサイズ、シーケンス番号、及び/又はトランザクション識別子などのメッセージのある特定のパラメータを識別し得る。本実施例では、判断モジュール110は、メッセージ内で識別されるそれらのパラメータのうちの少なくとも1つが、産業デバイス208の正常な通信パターンのベースライン表現と不審に矛盾すると判断し得る。
【0047】
図3に戻ると、工程310において、本明細書に記載するシステムの1つ以上は、異常を表しているメッセージに少なくとも部分的に基づいて、他のコンピューティングデバイスが危殆化されている可能性が高いと判断し得る。例えば、判断モジュール110は、図2におけるサーバ206の一部として、異常を表しているメッセージに少なくとも部分的に基づいて、コンピューティングデバイス202(1)〜(N)のうちの1つが危殆化されている可能性が高いと判断し得る。換言すれば、(1)メッセージがそのコンピューティングデバイス及び産業デバイス208を伴い、(2)メッセージが産業デバイス208の正常な通信パターンに関する異常を表すので、判断モジュール110は、コンピューティングデバイスが攻撃者によって危殆化されていると判断し得る。この危殆化された状態の結果、コンピューティングデバイスは、産業デバイス208への不当な命令を含むメッセージを送信している場合がある。
【0048】
本明細書に記載されるシステムは、様々な方法で工程310を実施してもよい。いくつかの実施例では、判断モジュール110は、コンピューティングデバイスに関するリスクスコアに少なくとも部分的に基づいて、コンピューティングデバイスが危殆化されていると判断し得る。例えば、判断モジュール110は、産業デバイス208にコンピューティングデバイス202(1)によって送信される1つ以上のメッセージを説明するコンピューティングデバイス202(1)に関するリスクスコアを算出し得る。本実施例では、リスクスコアは、メッセージのある特定のパラメータを数式に適用することによって、算出され得る。上述のように、この数式は、産業デバイス208の正常な通信パターンに対する基準を表す一組のポリシー規則を組み込み及び/又は説明し得る。
【0049】
本実施例を継続して、リスクスコアは、コンピューティングデバイス202(1)によって送信されるメッセージが、数式に組み込まれるポリシー規則のいずれかに違反するかどうかを示し得る。したがって、メッセージが、数式に組み込まれるそれらの規則に十分な程度に違反する場合、判断モジュール110は、リスクスコアがある特定の閾値を超えると判断し得る。その結果、判断モジュール110は、コンピューティングデバイス202(1)が危殆化されていると判断し得る。
【0050】
コンピューティングデバイス202(1)〜(2)のうちの1つが危殆化されているという判断に応答して、セキュリティモジュール112は、危殆化されたコンピューティングデバイスに関する1つ以上の安全措置を実行し得る。そのような安全措置の例としては、非限定的に、危殆化されたコンピューティングデバイスに関して少なくとも1つの追加のコンピューティングデバイスに通知する警報を発することと、産業ネットワークから危殆化されたコンピューティングデバイスを検疫して、危殆化されたコンピューティングデバイスが、産業制御システム内の任意の追加のコンピュータと通信することを防止することと、危殆化されたコンピューティングデバイスをシャットダウンして、他のコンピューティングデバイスが、産業制御システム内の任意の追加のコンピュータと通信することを防止することと、産業制御システム内の危殆化されたコンピューティングデバイスと任意の追加のコンピューティングデバイスとの間の全てのメッセージをブロックすることと、産業制御システム内の危殆化されたコンピューティングデバイスの少なくとも1つのコンピューティングタスクを少なくとも1つの追加のコンピュータに転送することによって、産業ネットワーク内の危殆化されたコンピューティングデバイスを置き換えることと、それらのうちの1つ以上の変形若しくは組み合わせ、又は任意の他の好適な安全措置が挙げられる。
【0051】
特定の実施例として、監視モジュール104は、そのIPアドレスとして192.168.2.17を割り当てられるアーム起動装置を含む産業制御システムに対する通信を容易にするネットワーク内のネットワークトラフィックを監視し得る。本実施例では、監視モジュール104は、輸送層4に従って封入され、IPアドレス192.168.2.17においてポート番号80に向かうことになる様々なメッセージを検出及び/又は識別し得る。監視モジュール104は、それらのメッセージを、それらの正常な特性に少なくとも部分的に基づいて、一緒にグループ化し得る。共通するそれらの特性を共有する十分な量のメッセージを一緒にグループ化する際に、監視モジュール104は、メッセージのグループ化をプロファイリングモジュール106に送って、アーム起動装置に関するメッセージプロトコルプロファイルを作成し得る。
【0052】
本実施例では、プロファイリングモジュール106は、メッセージのグループ化を分析することによって、アーム起動装置の正常な通信パターンのベースライン表現を構築し得る。例えば、プロファイリングモジュール106は、それらのメッセージにおいてアーム起動装置によって受信される有効なオペコードの全てを識別し得る。追加的に又は代替的に、プロファイリングモジュール106は、それらのメッセージにおいてアーム起動装置によって受信されるデータ及び/又は値の全てを識別し得る。そのようなデータ及び/又は値は、アーム起動装置に関する移動の有効角度を表し得る。プロファイリングモジュール106は、アーム起動装置に関するメッセージプロトコルプロファイルにおいてアーム起動装置の正常な通信パターンのベースライン表現を含み得る、及び/又は挿入し得る。
【0053】
産業制御システムに含まれるコントローラが、攻撃者によって危殆化される場合には、コントローラは、アーム起動装置に不当なメッセージを送信し始め得る。そのような不当なメッセージは、無効なオペコード及び/又は無効なデータ若しくは値を含み得る。したがって、そのような不当なメッセージは、アーム起動装置によって実行される場合、アーム起動装置に、無効動作(無効角度にアーム起動装置を移動するなど)を実行させることになる命令を含み得る。
【0054】
本実施例を継続して、検出モジュール108は、産業ネットワーク内のコントローラによって送信されるこれらの不当なメッセージのうちの1つを検出及び/又は識別し得る。判断モジュール110は、不当なメッセージをアーム起動装置に関するメッセージプロトコルプロファイルと比較することによって、この不当なメッセージが、アーム起動装置の正常な通信パターンと不審に矛盾する異常を表していると判断し得る。判断モジュール110は、不当なメッセージが異常を表すので、コントローラが危殆化されていると判断し得る。
【0055】
図1〜5と関連して上で説明したように、産業安全技術は二段階手法を実装することによって、産業制御システム内の危殆化されたデバイスを識別し得る。第1に、産業安全技術は、ネットワークの一員を使用して産業制御システム内のネットワークトラフィックを収集することを伴うトレーニング段階を実装し得る。一実施例では、ネットワークグループの一員は、輸送層4プロトコル、宛先IPアドレス、及び宛先ポート番号に基づいてメッセージの組を一緒にグループ化し得る。十分な量のトラフィックを一組に収集して、グループ化する際に、ネットワークグループの一員は、グループ化された組のメッセージに基づいてメッセージプロトコルプロファイルを作成するネットワークプロファイラに、グループ化された組のメッセージを渡し得る。
【0056】
ネットワークプロファイラは、それらのプロファイルを作成するために使用されるグループ化された組のメッセージに基づいて、結果として生じるメッセージプロトコルプロファイルをラベル付けし得る。産業安全技術は、ラベル付けされたメッセージプロトコルプロファイルを消費して、産業制御システム内のデバイスの正常な通信パターン(例えば、正常なメッセージペイロード)に対する基準を表すポリシー規則を作成し得る。
【0057】
第2に、産業安全技術は、異常検出器に2つの情報のフィードを提供することを伴う検出段階を実装し得る。本実施例では、1つの情報のフィードは、ラベル付けされたメッセージプロトコルプロファイルから作成されるポリシー規則を含み得る。別の情報のフィードは、産業制御システム内のネットワークトラフィックを監視することを継続する、ネットワークの一員によって収集されるメッセージを含み得る。異常検出器は、次いで、1つの情報のフィードからのポリシー規則を別のフィードからのメッセージに適用し得る。そうすることによって、異常検出器は、メッセージのいずれかがポリシー規則に違反するかどうかを判断し得る。ある特定の違反が起こる場合には、産業安全技術は、産業制御システム内の特定のデバイスが危殆化されていることを示している警報を発し得る。
【0058】
図6は、本明細書に記載及び/又は図示される実施形態のうちの1つ以上を実装できる例示的なコンピューティングシステム610のブロック図である。例えば、コンピューティングシステム610の全て又は一部は、単独で又は他の要素と組み合わせて、(図3に示される工程のうちの1つ以上等の)本明細書に記載される工程のうちの1つ以上を実施してもよく、及び/又はそれを実施するための手段であってもよい。コンピューティングシステム610の全て又は一部は、また、本明細書に記載及び/又は図示される他の任意の工程、方法、若しくは処理を実施し、及び/又はそれを実施するための手段となり得る。
【0059】
コンピューティングシステム610は、コンピュータ可読命令を実行することが可能な任意のシングル若しくはマルチプロセッサのコンピューティングデバイス又はシステムを幅広く表す。コンピューティングシステム610の例としては、非限定的に、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散型コンピューティングシステム、ハンドヘルドデバイス、又は他の任意のコンピューティングシステム若しくはデバイスが挙げられる。その最も基本的な構成において、コンピューティングシステム610は、少なくとも1つのプロセッサ614及びシステムメモリ616を含んでもよい。
【0060】
プロセッサ614は、データの処理又は命令の解釈及び実行が可能な任意のタイプ若しくは形式の物理的処理ユニット(例えば、ハードウェア実装型中央処理ユニット)を、一般に表す。ある特定の実施形態では、プロセッサ614は、ソフトウェアアプリケーション又はモジュールから命令を受信してもよい。これらの命令は、プロセッサ614に、本明細書において記載及び/又は図示される例示的な実施形態のうちの1つ以上の機能を実施させてもよい。
【0061】
システムメモリ616は、一般に、データ及び/又は他のコンピュータ可読命令を記憶することができる任意のタイプ若しくは形態の揮発性又は不揮発性記憶デバイスを表す。システムメモリ616の例としては、非限定的に、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュメモリ、又は他の任意の好適なメモリデバイスが挙げられる。必須ではないが、ある特定の実施形態では、コンピューティングシステム610は、揮発性メモリユニット(例えば、システムメモリ616など)、及び不揮発性記憶デバイス(例えば、詳細に後述するような、一次記憶デバイス632など)の両方を含み得る。一実施例では、図1のモジュール102のうちの1つ以上がシステムメモリ616にロードされ得る。
【0062】
ある特定の実施形態では、例示的なコンピューティングシステム610は、また、プロセッサ614及びシステムメモリ616に加えて、1つ以上の構成要素又は要素を含んでもよい。例えば、図6に示されるように、コンピューティングシステム610は、メモリコントローラ618、入力/出力(I/O)コントローラ620、及び通信インターフェース622を含んでもよいが、それらはそれぞれ通信基盤612を介して相互接続されてもよい。通信基盤612は、一般に、コンピューティングデバイスの1つ以上の構成要素間の通信を容易にすることができる、任意のタイプ又は形態の基盤を表す。通信基盤612の例としては、非限定的に、通信バス(産業標準アーキテクチャ(ISA)、周辺装置相互接続(PCI)、PCIエクスプレス(PCIe)、又は類似のバスなど)、及びネットワークが挙げられる。
【0063】
メモリコントローラ618は、一般に、メモリ若しくはデータを扱うこと、又はコンピューティングシステム610の1つ以上の構成要素間の通信を制御することが可能な、任意のタイプ又は形態のデバイスを表す。例えば、ある特定の実施形態では、メモリコントローラ618は、通信基盤612を介して、プロセッサ614、システムメモリ616、及びI/Oコントローラ620の間の通信を制御してもよい。
【0064】
I/Oコントローラ620は、一般に、コンピューティングデバイスの入出力機能を調整及び/又は制御することが可能な、任意のタイプ又は形態のモジュールを表す。例えば、ある特定の実施形態では、I/Oコントローラ620は、プロセッサ614、システムメモリ616、通信インターフェース622、ディスプレイアダプタ626、入力インターフェース630、及び記憶インターフェース634など、コンピューティングシステム610の1つ以上の要素間におけるデータの転送を制御し、又はそれを容易にし得る。
【0065】
通信インターフェース622は、例示的なコンピューティングシステム610と1つ以上の追加のデバイスとの間の通信を容易にすることができる、任意のタイプ又は形態の通信デバイス又はアダプタを幅広く表す。例えば、ある特定の実施形態では、通信インターフェース622は、コンピューティングシステム610と、追加のコンピューティングシステムを含む私設又は公衆ネットワークとの間の通信を容易にし得る。通信インターフェース622の例としては、非限定的に、有線ネットワークインターフェース(ネットワークインターフェースカードなど)、無線ネットワークインターフェース(無線ネットワークインターフェースカードなど)、モデム、及び他の任意の好適なインターフェースが挙げられる。少なくとも1つの実施形態では、通信インターフェース622は、インターネットなどのネットワークへの直接リンクを介して、リモートサーバへの直接接続を提供し得る。通信インターフェース622はまた、例えば、ローカルエリアネットワーク(イーサネット(登録商標)ネットワークなど)、パーソナルエリアネットワーク、電話若しくはケーブルネットワーク、セルラ電話接続、衛星データ接続、又は他の任意の好適な接続を通して、リモートサーバへの接続を間接的に提供し得る。
【0066】
ある特定の実施形態では、通信インターフェース622はまた、外部バス又は通信チャネルを介して、コンピューティングシステム610と1つ以上の追加のネットワーク又は記憶デバイスとの間の通信を容易にするように構成された、ホストアダプタを表し得る。ホストアダプタの例としては、非限定的に、小型コンピュータシステムインターフェース(SCSI)ホストアダプタ、ユニバーサルシリアルバス(USB)ホストアダプタ、米国電気電子学会(IEEE)1394ホストアダプタ、アドバンストテクノロジーアタッチメント(ATA)、パラレルATA(PATA)、シリアルATA(SATA)、及び外部SATA(eSATA)ホストアダプタ、ファイバーチャネルインターフェースアダプタ、イーサネット(登録商標)アダプタなどが挙げられる。通信インターフェース622はまた、コンピューティングシステム610が分散型又はリモートコンピューティングに関与することを可能にし得る。例えば、通信インターフェース622は、実行のためにリモートデバイスから命令を受信、又はリモートデバイスに命令を送信し得る。
【0067】
図6に示すように、コンピューティングシステム610はまた、ディスプレイアダプタ626を介して通信基盤612に連結される少なくとも1つのディスプレイデバイス624を含み得る。ディスプレイデバイス624は、ディスプレイアダプタ626によって転送される情報を視覚的に表示することができる、任意のタイプ若しくは形態のデバイスを、一般に表す。同様に、ディスプレイアダプタ626は、ディスプレイデバイス624に表示するために、通信基盤612から(又は当該技術分野において既知であるように、フレームバッファから)グラフィックス、テキスト、及び他のデータを転送するように構成された、任意のタイプ若しくは形態のデバイスを、一般に表す。
【0068】
図6に示すように、例示的なコンピューティングシステム610はまた、入力インターフェース630を介して通信基盤612に連結される少なくとも1つの入力デバイス628を含み得る。入力デバイス628は、コンピュータ又は人間のいずれかが生成した入力を、例示的なコンピューティングシステム610に提供することができる、任意のタイプ若しくは形態の入力デバイスを、一般に表す。入力デバイス628の例としては、限定されないが、キーボード、ポインティングデバイス、音声認識デバイス、又は他の任意の入力デバイスが挙げられる。
【0069】
図6に示すように、例示的なコンピューティングシステム610はまた、記憶インターフェース634を介して通信基盤612に連結される、一次記憶デバイス632及びバックアップ記憶デバイス633を含み得る。記憶デバイス632及び633は、一般に、データ及び/又は他のコンピュータ可読命令を記憶することができる、任意のタイプ若しくは形態の記憶デバイス又は媒体を表す。例えば、記憶デバイス632及び633は、磁気ディスクドライブ(例えば、いわゆるハードドライブ)、ソリッドステートドライブ、フロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュドライブなどであり得る。記憶インターフェース634は、一般に、記憶デバイス632及び633とコンピューティングシステム610の他の構成要素との間でデータを転送するための、任意のタイプ若しくは形態のインターフェース又はデバイスを表す。
【0070】
ある特定の実施形態では、記憶デバイス632及び633は、コンピュータソフトウェア、データ、又は他のコンピュータ可読情報を記憶するように構成された取り外し可能な記憶ユニットから読み取る、及び/又はそれに書き込むように構成され得る。好適な取り外し可能な記憶ユニットの例としては、非限定的に、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリデバイスなどが挙げられる。記憶デバイス632及び633はまた、コンピュータソフトウェア、データ、又は他のコンピュータ可読命令が、コンピューティングシステム610にロードされることを可能にする、他の同様の構造又はデバイスを含み得る。例えば、記憶デバイス632及び633は、ソフトウェア、データ、又は他のコンピュータ可読情報を読み取るように、及びこれを書き込むように構成され得る。記憶デバイス632及び633はまた、コンピューティングシステム610の一部であってもよく、又は他のインターフェースシステムを介してアクセスされる別個のデバイスであってもよい。
【0071】
他の多くのデバイス又はサブシステムが、コンピューティングシステム610に接続され得る。反対に、図6に示す構成要素及びデバイスの全てが、本明細書に記載及び/又は図示される実施形態を実践するために存在する必要があるわけではない。上記で言及したデバイス及びサブシステムはまた、図6に示されるものとは異なる方法で相互接続され得る。コンピューティングシステム610はまた、任意の数のソフトウェア、ファームウェア、及び/又はハードウェアの構成を用い得る。例えば、本明細書で開示する例示的な実施形態の1つ以上は、コンピュータ可読媒体上で、コンピュータプログラム(コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、又はコンピュータ制御論理とも称される)としてコード化されてもよい。「コンピュータ可読媒体」という用語は、本明細書で使用するとき、一般に、コンピュータ可読命令を記憶又は保有することができる、任意の形態のデバイス、キャリア、又は媒体を指す。コンピュータ可読媒体の例としては、非限定的に、搬送波などの伝送型媒体、並びに磁気記憶媒体(例えば、ハードディスクドライブ、テープドライブ、及びフロッピーディスク)、光学記憶媒体(例えば、コンパクトディスク(CD)、デジタルビデオディスク(DVD)、及びブルーレイ(BLU−RAY)ディスク)、電子記憶媒体(例えば、ソリッドステートドライブ及びフラッシュメディア)、並びに他の分散システムなどの非一時的媒体が挙げられる。
【0072】
コンピュータプログラムを包含するコンピュータ可読媒体は、コンピューティングシステム610にロードされ得る。コンピュータ可読媒体に記憶されたコンピュータプログラムの全て又は一部は、次に、システムメモリ616に、及び/又は記憶デバイス632及び633の様々な部分に記憶され得る。プロセッサ614によって実行されると、コンピューティングシステム610にロードされたコンピュータプログラムは、プロセッサ614に、本明細書に記載及び/又は図示される例示的な実施形態のうちの1つ以上の機能を実施させ、及び/又はそれらを実施するための手段となり得る。追加的に又は代替的に、本明細書に記載及び/又は図示される例示的な実施形態の1つ以上は、ファームウェア及び/又はハードウェアに実装されてもよい。例えば、コンピューティングシステム610は、本明細書に開示される例示的な実施−形態のうちの1つ以上を実装するように適合される、特定用途向け集積回路(ASIC)として構成されてもよい。
【0073】
図7は、クライアントシステム710、720、及び730、並びにサーバ740及び745がネットワーク750に連結され得る、例示的なネットワークアーキテクチャ700のブロック図である。上記に詳述したように、ネットワークアーキテクチャ700の全て又は一部は、単独で又は他の要素と組み合わせて、本明細書に開示される工程のうちの1つ以上(図3に示される工程のうちの1つ以上等)を実施し得るが、及び/又はそれを実施するための手段となり得る。ネットワークアーキテクチャ700の全て又は一部はまた、本開示に記載される他の工程及び特徴を実施するために使用され得るか、及び/又はそれを実施するための手段となり得る。
【0074】
クライアントシステム710、720、及び730は、一般に、図6の例示的なコンピューティングシステム610など、任意のタイプ若しくは形態のコンピューティングデバイス又はシステムを表す。同様に、サーバ740及び745は、様々なデータベースサービスを提供し、及び/又はある特定のソフトウェアアプリケーションを実行するように構成された、アプリケーションサーバ又はデータベースサーバなどのコンピューティングデバイス又はシステムを、一般に表す。ネットワーク750は、例えばイントラネット、WAN、LAN、PAN、又はインターネットを含む、任意の電気通信又はコンピュータネットワークを、一般に表す。一実施例では、クライアントシステム710、720、及び/若しくは730、並びに/又はサーバ740及び/若しくは745は、図1からのシステム100の全て、又は一部を含み得る。
【0075】
図7に示すように、1つ以上の記憶デバイス760(1)〜(N)はサーバ740に直接取り付けられてもよい。同様に、1つ以上の記憶デバイス770(1)〜(N)は、サーバ745に直接取り付けられ得る。記憶デバイス760(1)〜(N)及び記憶デバイス770(1)〜(N)は、データ及び/又は他のコンピュータ可読命令を記憶することができる、任意のタイプ若しくは形態の記憶デバイス又は媒体を、一般に表す。ある特定の実施形態では、記憶デバイス760(1)〜(N)及び記憶デバイス770(1)〜(N)は、ネットワークファイルシステム(NFS)、サーバメッセージブロック(SMB)、又は共通インターネットファイルシステム(CIFS)などの様々なプロトコルを使用して、サーバ740及び745と通信するように構成されたネットワーク接続ストレージ(NAS)デバイスを表し得る。
【0076】
サーバ740及び745はまた、ストレージエリアネットワーク(SAN)ファブリック780に接続され得る。SANファブリック780は、一般に、複数の記憶デバイス間の通信を容易にすることができる、任意のタイプ若しくは形態のコンピュータネットワーク又はアーキテクチャを表す。SANファブリック780は、サーバ740及び745と、複数の記憶デバイス790(1)〜(N)及び/又はインテリジェント記憶アレイ795との間の通信を容易にし得る。SANファブリック780はまた、記憶デバイス790(1)〜(N)及びインテリジェント記憶アレイ795が、クライアントシステム710、720、及び730にローカルで取り付けられたデバイスとして現れるような方式で、ネットワーク750並びにサーバ740及び745を介して、クライアントシステム710、720、及び730と、記憶デバイス790(1)〜(N)及び/又はインテリジェント記憶アレイ795との間の通信を容易にし得る。記憶デバイス760(1)〜(N)及び記憶デバイス770(1)〜(N)と同様に、記憶デバイス790(1)〜(N)及びインテリジェント記憶アレイ795は、データ及び/又は他のコンピュータ可読命令を記憶することができる任意のタイプ若しくは形態の記憶デバイス又は媒体を、一般に表す。
【0077】
ある特定の実施形態では、また図6の例示的なコンピューティングシステム610を参照すると、図6の通信インターフェース622などの通信インターフェースは、それぞれのクライアントシステム710、720、及び730とネットワーク750との間の接続を提供するために使用され得る。クライアントシステム710、720、及び730は、例えば、ウェブブラウザ又は他のクライアントソフトウェアを使用して、サーバ740又は745上の情報にアクセスすることが可能であり得る。かかるソフトウェアは、クライアントシステム710、720、及び730が、サーバ740、サーバ745、記憶デバイス760(1)〜(N)、記憶デバイス770(1)〜(N)、記憶デバイス790(1)〜(N)、又はインテリジェント記憶アレイ795によってホストされるデータにアクセスすることを可能にし得る。図7は、データを交換するために(インターネットなどの)ネットワークを使用することを示しているが、本明細書に記載及び/又は図示される実施形態は、インターネット又は任意の特定のネットワークベースの環境に限定されない。
【0078】
少なくとも1つの実施形態では、本明細書に開示される例示的な実施形態のうちの1つ以上の全て又は一部は、コンピュータプログラムとしてコード化され、サーバ740、サーバ745、記憶デバイス760(1)〜(N)、記憶デバイス770(1)〜(N)、記憶デバイス790(1)〜(N)、インテリジェント記憶アレイ795、又はこれらの任意の組み合わせ上にロードされ、これらによって実行され得る。本明細書に開示される例示的な実施形態のうちの1つ以上の全て又は一部はまた、コンピュータプログラムとしてコード化され、サーバ740に記憶され、サーバ745によって作動し、ネットワーク750上でクライアントシステム710、720、及び730に配信されてもよい。
【0079】
上記に詳述したように、コンピューティングシステム610、及び/又はネットワークアーキテクチャ700の1つ以上の構成要素は、単独で若しくは他の要素と組み合わせて、産業制御システム内の危殆化されたデバイスを識別するための例示的な方法の1つ以上の工程を行ってもよく、かつ/又はそれらを行うための手段であってもよい。
【0080】
前述の開示は、特定のブロック図、フローチャート、及び実施例を使用して様々な実施形態を記載しているが、本明細書に記載及び/又は図示されるそれぞれのブロック図の構成要素、フローチャートの工程、動作、及び/又は構成要素は、個別にかつ/又は集合的に、広範なハードウェア、ソフトウェア、又はファームウェア(若しくはそれらの任意の組み合わせ)の構成を使用して実装されてもよい。加えて、同じ機能性を達成するように他の多くのアーキテクチャを実装することができるので、他の構成要素内に包含される構成要素のあらゆる開示は、本質的に例示と見なされるべきである。
【0081】
一部の実施例では、図1の例示的なシステム100の全て又は一部は、クラウドコンピューティング環境又はネットワークベースの環境の一部を表してもよい。クラウドコンピューティング環境は、インターネットを介して、様々なサービス及びアプリケーションを提供してもよい。これらのクラウドベースのサービス(例えば、サービスとしてのソフトウェア、サービスとしてのプラットフォーム、サービスとしての基盤など)は、ウェブブラウザ又は他のリモートインターフェースを通してアクセス可能であってもよい。本明細書に記載する様々な機能は、リモートデスクトップ環境又は他の任意のクラウドベースのコンピューティング環境を通して提供されてもよい。
【0082】
様々な実施形態では、図1の例示的なシステム100の全て又は一部は、クラウドベースのコンピューティング環境内におけるマルチテナンシーを容易にしてもよい。換言すれば、本明細書に記載するソフトウェアモジュールは、本明細書に記載する機能の1つ以上に対するマルチテナンシーを容易にするように、コンピューティングシステム(例えば、サーバ)を構成してもよい。例えば、本明細書に記載するソフトウェアモジュールの1つ以上は、2つ以上のクライアント(例えば、顧客)がサーバ上で作動しているアプリケーションを共有するのを可能にするように、サーバをプログラムしてもよい。このようにプログラムされたサーバは、複数の顧客(即ち、テナント)の間で、アプリケーション、オペレーティングシステム、処理システム、及び/又は記憶システムを共有してもよい。本明細書に記載するモジュールの1つ以上はまた、ある顧客が別の顧客のデータ及び/又は構成情報にアクセスできないように、顧客ごとにマルチテナントアプリケーションのデータ及び/又は構成情報を分割してもよい。
【0083】
様々な実施形態によれば、図1の例示的なシステム100の全て又は一部は仮想環境内で実装されてもよい。例えば、本明細書に記載するモジュール及び/又はデータは、仮想機械内で常駐及び/又は実行してもよい。本明細書で使用するとき、「仮想機械」という用語は、一般に、仮想機械マネージャ(例えば、ハイパーバイザ)によってコンピューティングハードウェアから抽出される、任意のオペレーティングシステム環境を指す。追加的に又は代替的に、本明細書に記載するモジュール及び/又はデータは、仮想化層内で常駐及び/又は実行してもよい。本明細書で使用するとき、「仮想化層」という用語は、一般に、オペレーティングシステム環境にオーバーレイする、並びに/あるいはそこから抽出される、任意のデータ層及び/又はアプリケーション層を指す。仮想化層は、基礎となる基本オペレーティングシステムの一部であるかのように仮想化層を提示する、ソフトウェア仮想化ソリューション(例えば、ファイルシステムフィルタ)によって管理されてもよい。例えば、ソフトウェア仮想化ソリューションは、最初に基本ファイルシステム及び/又はレジストリ内の場所に方向付けられる呼び出しを、仮想化層内の場所にリダイレクトしてもよい。
【0084】
一部の実施例では、図1の例示的なシステム100の全て又は一部は、モバイルコンピューティング環境の一部を表してもよい。モバイルコンピューティング環境は、携帯電話、タブレットコンピュータ、電子ブックリーダ、携帯情報端末、ウェアラブルコンピューティングデバイス(例えば、ヘッドマウントディスプレイを備えたコンピューティングデバイス、スマートウォッチなど)などを含む、広範なモバイルコンピューティングデバイスによって実装されてもよい。一部の実施例において、モバイルコンピューティング環境は、例えば、バッテリ電力への依存、任意の所与の時間での1つのみのフォアグラウンドアプリケーションの提示、リモート管理特性、タッチスクリーン特性、位置及び移動データ(例えば、グローバルポジショニングシステム、ジャイロスコープ、加速度計などによって提供される)、システムレベルの構成への修正を制限する、及び/又は第3者のソフトウェアが他のアプリケーションの挙動を検査する能力を限定する制限されたプラットフォーム、アプリケーションのインストールを(例えば、認可されたアプリケーションストアからのみ生じるように)制限する制御などを含む、1つ以上の個別の特性を有することができる。本明細書で説明される様々な機能は、モバイルコンピューティング環境に対して提供され得る、及び/又はモバイルコンピューティング環境と相互作用し得る。
【0085】
加えて、図1の例示的なシステム100の全て又は一部は、情報管理のための1つ以上のシステムの部分を表してもよく、それと相互作用してもよく、それによって生成されるデータを消費してもよく、かつ/又はそれによって消費されるデータを生成してもよい。本明細書で使用するとき、「情報管理」という用語は、データの保護、組織化、及び/又は記憶を指してもよい。情報管理のためのシステムの例としては、非限定的に、記憶システム、バックアップシステム、アーカイブシステム、複製システム、高可用性システム、データ検索システム、仮想化システムなどを挙げることができる。
【0086】
一部の実施形態では、図1の例示的なシステム100の全て又は一部は、情報セキュリティのための1つ以上のシステムの部分を表してもよく、それによって保護されるデータを生成してもよく、かつ/又はそれと通信してもよい。本明細書で使用するとき、「情報セキュリティ」という用語は、保護されたデータに対するアクセスの制御を指してもよい。情報セキュリティのためのシステムの例としては、非限定的に、管理されたセキュリティサービスを提供するシステム、データ損失防止システム、本人認証システム、アクセス制御システム、暗号化システム、ポリシー遵守システム、侵入検出及び防止システム、電子証拠開示システムなどを挙げることができる。
【0087】
一部の実施例によれば、図1の例示的なシステム100の全て又は一部は、エンドポイントセキュリティのための1つ以上のシステムの部分を表してもよく、それと通信してもよく、かつ/又はそれから保護を受けてもよい。本明細書で使用するとき、「エンドポイントセキュリティ」という用語は、不正及び/若しくは違法な使用、アクセス、並びに/又は制御からのエンドポイントシステムの保護を指してもよい。エンドポイント保護のためのシステムの例としては、非限定的に、アンチマルウェアシステム、ユーザー認証システム、暗号化システム、プライバシーシステム、スパムフィルタリングサービスなどを挙げることができる。
【0088】
本明細書に記載及び/又は図示されるプロセスパラメータ及び工程の順序は、単なる例として与えられるものであり、所望に応じて変更することができる。例えば、本明細書に図示及び/又は記載される工程は特定の順序で図示又は考察されることがあるが、これらの工程は、必ずしも図示又は考察される順序で実施される必要はない。本明細書に記載及び/又は図示される様々な例示的な方法はまた、本明細書に記載若しくは図示される工程の1つ以上を省略するか、又は開示されるものに加えて追加の工程を含んでもよい。
【0089】
様々な実施形態を、完全に機能的なコンピューティングシステムの文脈で本明細書に記載及び/又は図示してきたが、これらの例示的な実施形態の1つ以上は、実際に配布を実施するために使用されるコンピュータ可読媒体の特定のタイプにかかわらず、様々な形態のプログラム製品として配布されてもよい。本明細書に開示される実施形態はまた、ある特定のタスクを実施するソフトウェアモジュールを使用して実装されてもよい。これらのソフトウェアモジュールは、コンピュータ可読記憶媒体又はコンピューティングシステムに記憶されてもよい、スクリプト、バッチ、若しくは他の実行可能ファイルを含んでもよい。一部の実施形態では、これらのソフトウェアモジュールは、本明細書に開示される例示的な実施形態の1つ以上を実施するようにコンピューティングシステムを構成してもよい。
【0090】
加えて、本明細書に記載するモジュールの1つ以上は、データ、物理的デバイス、及び/又は物理的デバイスの表現を、1つの形態から別の形態へと変換してもよい。追加的に又は代替的に、本明細書に列挙されるモジュールの1つ以上は、コンピューティングデバイス上で実行し、コンピューティングデバイスにデータを記憶し、並びに/あるいは別の方法でコンピューティングデバイスと相互作用することによって、プロセッサ、揮発性メモリ、不揮発性メモリ、及び/又は物理的コンピューティングデバイスの他の任意の部分を、1つの形態から別の形態へと変換してもよい。
【0091】
上述の記載は、本明細書に開示される例示的な実施形態の様々な態様を他の当業者が最良に利用するのを可能にするために提供されてきた。この例示的な記載は、網羅的であることを意図するものではなく、又は開示される任意の正確な形態に限定することを意図するものではない。本開示の趣旨及び範囲から逸脱することなく、多くの修正及び変形が可能である。本明細書に開示される実施形態は、あらゆる点で例示的であり、限定的ではないものと見なされるべきである。本開示の範囲を決定する際に、添付の特許請求の範囲及びそれらの等価物を参照するべきである。
【0092】
別途記載のない限り、「〜に接続される」及び「〜に連結される」という用語(並びにそれらの派生語)は、本明細書及び特許請求の範囲で使用するとき、直接的接続及び間接的接続(即ち、他の要素若しくは構成要素を介する)の両方を許容するものとして解釈されるものである。加えて、「a」又は「an」という用語は、本明細書及び特許請求の範囲で使用するとき、「〜のうち少なくとも1つ」を意味するものとして解釈されるものである。最後に、簡潔にするため、「含む」及び「有する」という用語(並びにそれらの派生語)は、本明細書及び特許請求の範囲で使用するとき、「備える」という単語と互換性があり、同じ意味を有する。
図1
図2
図3
図4
図5
図6
図7