(57)【特許請求の範囲】
【請求項１】
工業用制御ネットワークの一部にセキュリティサーバを備えた工業用制御システムであって、
前記セキュリティサーバは、メモリおよびプロセッサを備え、
前記セキュリティサーバは、
ヒューマンマシンインターフェース（ＨＭＩ）デバイスから第１の組の通信情報を前記工業用制御ネットワークを介して受信し、前記第１の組の通信情報がＨＭＩデバイスセキュリティ事象に関係し、
工業用コントローラから第２の組の通信情報を前記工業用制御ネットワークを介して受信し、前記第２の組の通信情報が工業用コントローラセキュリティ事象に関係し、
前記セキュリティサーバと、前記工業用制御ネットワークとは別個の外部ネットワークの一部である遠隔マネージドセキュリティサービスプロバイダ（ＭＳＳＰ）とのネットワーク接続を確立し、
分析のために、前記第１および第２の組の通信情報を、前記ネットワーク接続を介して前記ＭＳＳＰに、パッケージ化して送出し、
前記第１および第２の組の通信情報の前記分析の間に前記ＭＳＳＰににより特定された前記工業用制御システムに対するセキュリティ懸念を示す前記ＭＳＳＰからの前記セキュリティアラートを、前記ネットワーク接続を介して受信し、
前記ＨＭＩが前記セキュリティアラートをオペレータに提示するように命令する
ように構成される、
システム。
【請求項２】
別のメモリおよび別のプロセッサを有し、
権限を与えられたユーザが前記ＨＭＩデバイスにログオンすることを許可し、
前記ＨＭＩデバイス上で構成ツールを実行し、
前記ＨＭＩデバイスセキュリティ事象に関係する前記第１の組の通信情報を前記セキュリティサーバに提供する
ように構成される前記ＨＭＩデバイスを備える、請求項１に記載のシステム。
【請求項３】
前記ＨＭＩデバイスセキュリティ事象が、前記ＨＭＩデバイスにログオンすることの試み、前記ＨＭＩデバイス上で前記構成ツールを起動すること、前記ＨＭＩデバイス上で１組の命令を実行すること、前記ＨＭＩデバイスから前記工業用コントローラの変数を設定することを試みること、前記ＨＭＩデバイスから前記工業用コントローラに実行可能ファイルをアップロードすること、またはそれらの組み合わせに関係する、請求項２に記載のシステム。
【請求項４】
別のメモリおよび別のプロセッサを有し、
工業自動化システムを制御するために複数の実行可能ファイルを実行し、
前記ＨＭＩデバイスの構成ツールにより提供される命令を受信かつ実行し、
前記工業用コントローラセキュリティ事象に関係する前記第２の組の通信情報を前記セキュリティサーバに提供する
ように構成される前記工業用コントローラを備える、請求項１に記載のシステム。
【請求項５】
前記工業用コントローラセキュリティ事象が、変数を設定すること、実行可能ファイルをダウンロードすること、リブート、スタートアップ失敗、通信エラー、または権限を与えられていない実行可能ファイルの検出、またはそれらの組み合わせに関係する、請求項４に記載のシステム。
【請求項６】
別のメモリおよび別のプロセッサを有し、
前記第１および第２の組の通信情報を受信して分析し、
前記セキュリティ懸念を示す前記第１および第２の組の通信情報内の傾向を識別し、
前記セキュリティ懸念を示すセキュリティアラートを前記セキュリティサーバに提供する
ように構成される前記遠隔ＭＳＳＰを備える、請求項１に記載のシステム。
【請求項７】
前記工業用制御システムが、ガス化システム、ガス処理システム、タービンシステム、発電システム、排熱回収ボイラ（ＨＲＳＧ）システム、またはそれらの組み合わせを備える、請求項１に記載のシステム。
【請求項８】
工業用制御システムのセキュリティサーバで利用される、前記工業用制御システムの複数のデバイスに対するセキュリティ事象を含むセキュリティログを集約するステップと、
前記セキュリティサーバと、前記工業用制御ネットワークとは別個の外部ネットワーク上に配置されたマネージドセキュリティサービスプロバイダ（ＭＳＳＰ）とのネットワーク接続を確立するステップと、
前記セキュリティログを、前記ネットワーク接続を介して、前記セキュリティサーバから前記ＭＳＳＰに、パッケージ化して送出するステップと、
前記セキュリティログの分析の間に前記ＭＳＳＰににより特定されたセキュリティ懸念に基づく前記ＭＳＳＰから前記セキュリティアラートを、前記ネットワーク接続を介して受信し、
前記工業用制御システムの前記複数のデバイスのうちの１つが、前記セキュリティアラートをオペレータに提示するように命令するステップと、
を含む、方法。
【請求項９】
前記複数のデバイスが、
前記工業用制御システムを制御するように構成される工業用コントローラと、
前記工業用コントローラに関する変数を設定し、
前記工業用コントローラに実行可能コードをアップロードし、
前記セキュリティアラートをオペレータに提示する
ように構成されるヒューマンマシンインターフェース（ＨＭＩ）デバイスと、
を備える、請求項８に記載の方法。
【請求項１０】
前記セキュリティ事象が、前記工業用コントローラの変数を設定すること、前記工業用コントローラに実行可能ファイルをダウンロードすること、前記工業用コントローラのリブート、前記工業用コントローラのスタートアップ失敗、前記工業用コントローラの通信エラー、または前記工業用コントローラによる権限を与えられていない実行可能ファイルの検出、またはそれらの組み合わせに関係する、請求項９に記載の方法。
【請求項１１】
前記セキュリティ事象が、前記ＨＭＩデバイスにログオンすることの試み、前記ＨＭＩデバイス上で１組の命令を実行すること、前記ＨＭＩデバイスから前記工業用コントローラの変数を設定することを試みること、または前記ＨＭＩデバイスから前記工業用コントローラに実行可能ファイルをアップロードすること、またはそれらの組み合わせに関係する、請求項９に記載の方法。
【請求項１２】
前記セキュリティログをパッケージ化するステップが、前記セキュリティログをアーカイブファイルにパッケージ化するステップ、前記セキュリティログを圧縮するステップ、またはそれらの任意の組み合わせを含む、請求項９に記載の方法。
【請求項１３】
前記セキュリティアラートを受信するステップが、前記ＭＳＳＰが、前記複数のデバイスの２つに対する前記セキュリティログが互いに無矛盾でないことを決定するときに、前記ＭＳＳＰからセキュリティアラートを受信するステップを含む、請求項８に記載の方法。
【請求項１４】
電子デバイスのプロセッサにより実行可能な命令を記憶するように構成される有形の非一時的なコンピュータ可読媒体であって、前記命令が、
工業用制御ネットワークのローカルプロセッサにより、前記工業用制御ネットワークの工業用コントローラおよびヒューマンマシンインターフェース（ＨＭＩ）デバイスからセキュリティ通知を受信する命令と、
前記ローカルプロセッサにより、前記工業用制御ネットワークとは別個の外部ネットワークの遠隔プロセッサとネットワーク接続を確立する命令と、
前記ローカルプロセッサにより、分析のために、受信した前記セキュリティ通知を前記遠隔プロセッサに送出するための命令と、
前記ローカルプロセッサにより、前記分析に基づく前記ＨＭＩデバイス、前記工業用コントローラまたはその両方のセキュリティ問題に関するセキュリティアラートを、前記遠隔プロセッサから受信するための命令と、
前記ローカルプロセッサにより、前記ＨＭＩが前記セキュリティアラートをオペレータに提示するように命令するための命令と、
を含む、媒体。
【請求項１５】
前記遠隔プロセッサが、前記セキュリティアラートを決定するために少なくとも１つのヒューリスティックスを使用して、前記ＨＭＩデバイスおよび前記工業用コントローラからの前記セキュリティ通知を分析するように構成される、請求項１４に記載の媒体。
【請求項１６】
前記セキュリティアラートが、前記オペレータにセキュリティ問題を対応するための推奨動作を含む、請求項１４に記載の媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で開示する主題は、工業制御システムに関し、より詳細には工業制御システムの動作をセキュアなものにすることに関する。
【背景技術】
【０００２】
自動発電システム（例えば風力、水力、およびガスタービンのシステム）および自動製造システム（例えば石油精製所、化学製造プラント等）などの工業制御システムは、近代工業の共通の特徴である。そのような工業制御システムでは、工業用コントローラがシステムの動作を全体的に制御することができる。例えば工業制御システム内のある種のデバイス（例えばセンサ、ポンプ、バルブ、アクチュエータ等）は、工業用コントローラにより制御され得るとともに、工業用コントローラにデータを報告することができる。さらに工業用コントローラは、工業用コントローラが工業制御システム（例えばガスタービンシステム）の動作を制御することを全体的に可能にし得る命令（例えばファームウェアおよび／またはアプリケーション）を実行することができる。加えてヒューマンマシンインターフェース（ＨＭＩ）デバイスなどの他のデバイスを、インターフェースを提供するために工業制御システムに結合することができ、そのインターフェースによりユーザは、工業用コントローラおよび工業制御システムの動作を制御することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願第１３／４６０，８０１号明細書
【発明の概要】
【０００４】
当初から請求する本発明の範囲に相応するある種の実施形態を、以下に要約する。これらの実施形態は、請求する本発明の範囲を限定することが意図されるのではなく、むしろこれらの実施形態は、本発明の可能な形態の概要を提供することのみが意図される。実際本発明は、以下に記載する実施形態と同様の場合もあれば、それらとは異なる場合もある、種々の形態を包含し得る。
【０００５】
ある実施形態では、システムは、メモリおよびプロセッサを含み、ヒューマンマシンインターフェース（ＨＭＩ）デバイスから第１の組の通信情報を受信し、第１の組の通信情報がＨＭＩデバイスセキュリティ事象に関係するように構成されるセキュリティサーバを含む。セキュリティサーバは、工業用コントローラから第２の組の通信情報を受信し、第２の組の通信情報が工業用コントローラセキュリティ事象に関係するようにさらに構成される。セキュリティサーバは、分析のために遠隔マネージドセキュリティサービスプロバイダ（ＭＳＳＰ）に対して、受信した第１および第２の組の通信情報をパッケージ化かつ送出するようにさらに構成される。
【０００６】
第２の実施形態では、方法は、工業システムに関連する複数のデバイスに対するセキュリティ事象を含むセキュリティログを集約するステップを含む。方法は、マネージドセキュリティサービスプロバイダ（ＭＳＳＰ）に対して、集約したセキュリティログをパッケージ化かつ送出するステップであって、ＭＳＳＰがセキュリティログ内の傾向を決定するように構成されるステップをさらに含む。
【０００７】
第３の実施形態では、有形の非一時的なコンピュータ可読媒体が、電子デバイスのプロセッサにより実行可能な命令を記憶するように構成される。命令は、ヒューマンマシンインターフェース（ＨＭＩ）デバイスおよび工業用コントローラからセキュリティ通知を受信するための命令であって、ＨＭＩデバイスが、工業用コントローラに命令を提供する構成ツールを実行するように構成される命令を含む。命令は、遠隔プロセッサに、受信されるセキュリティ通知を送出するための命令であって、遠隔プロセッサがＨＭＩデバイスおよび工業用コントローラからのセキュリティ通知を分析かつ比較するように構成される命令をさらに含む。命令は、遠隔プロセッサが、セキュリティ通知に基づいてＨＭＩデバイス、工業用コントローラ、または両方に関するセキュリティ問題を指示するときアラートを提供するための命令をさらに含む。
【０００８】
本発明のこれらおよび他の、特徴、態様、および利点は、以下の詳細な説明を、類似する符号が図面全体を通して類似する部分を表す添付の図面を参照して読むことでより良く理解されよう。
【図面の簡単な説明】
【０００９】
【図１】本開示の態様による工業用コントローラ、ヒューマンマシンインターフェース（ＨＭＩデバイス）、およびセキュリティサーバを有する工業制御システムの実施形態の概略図である。
【図２】本開示の態様によるＨＭＩデバイスセキュリティ事象および工業用コントローラセキュリティ事象を管理するセキュリティサーバの実施形態を例示するハイブリッド流れ図である。
【図３】本開示の態様による処理の実施形態に対する流れ図であり、この処理によりセキュリティサーバは、分析のためにマネージドセキュリティサービスプロバイダ（ＭＳＳＰ）に対して、工業制御システムからのセキュリティ事象を集約、パッケージ化、かつ送出する。
【図４】本開示の態様による処理の実施形態に対する流れ図であり、この処理によりＭＳＳＰは、セキュリティ事象内のある種の傾向を識別するために工業制御システムのセキュリティ事象を分析する。
【発明を実施するための形態】
【００１０】
本発明の１つまたは複数の特定の実施形態を、以下で説明する。これらの実施形態の簡潔な説明を提供するために、実際の実装形態のすべての特徴を本明細書では説明しない場合がある。いかなるそのような実際の実装形態の開発においても、あらゆる工学または設計のプロジェクトにおける場合と同じように、実装形態ごとに変動し得るシステム関連および事業関連の制約の準拠などの開発者の特定の目標を達成するために、数多くの実装形態固有の決定を行わなければならないことを理解されたい。さらにそのような開発での腐心は、複雑であり時間がかかるものであり得るが、それでも本開示の利益を受ける当業者にとっては、設計、製作、および製造の日常の仕事であろうことを理解されたい。
【００１１】
本発明の様々な実施形態の要素を紹介するとき、冠詞「ａ」、「ａｎ」、「ｔｈｅ」、および「前記」は、要素の１つまたは複数が存在することを意味することが意図される。用語「備える」、「含む」、および「有する」は、包括的であり、列挙した要素以外の追加的な要素が存在し得ることを意味することが意図される。さらに本明細書では用語「ホワイトリスト」は、工業用コントローラ上で実行するように権限を与えられている実行可能ファイルを識別するリストを含むファイルを指す場合がある。加えて用語「権限を与えられた」を本明細書では、信頼できる供給元（すなわちソフトウェア開発者）からのものであることが検証され、そのコンテンツが、信頼できる供給元により提供されたときと同じものであると検証されている実行可能ファイルを指すために使用する場合がある。
【００１２】
一般に、工業制御システムの様々な構成要素のある種の活動を、構成要素が所期のように挙動することを確実にするために追跡することが望ましい場合がある。したがって本実施形態は、工業制御システムの構成要素の様々なセキュリティ関連の活動に関係があるセキュリティ通知を集約するために工業制御システムに結合されるセキュリティサーバを含む。加えてある種の開示するセキュリティサーバの実施形態ではさらに、比較および分析のために工業制御システムのマネージドセキュリティサービスプロバイダ（ＭＳＳＰ）によりホストかつ維持されるデバイスなどの遠隔デバイスに対して、集約したセキュリティ通知をパッケージ化かつ送信することができる。さらに遠隔デバイスのプロセッサは、工業制御システム内部のセキュリティ懸念を示唆し得るセキュリティ通知内部の傾向を識別するために、セキュリティサーバから受信された工業制御システムの様々なセキュリティ通知を比較かつ分析することができる。したがって遠隔デバイスは、工業制御システム内部のセキュリティ懸念を、それらのセキュリティ懸念が対処され得るように、セキュリティサーバに、および場合によってはＨＭＩデバイスに告知する（例えばセキュリティアラートを提供する）ことができる。
【００１３】
上記を念頭に置くこととして、図１は、工業制御システム１０を例示する概略図である。例示する工業制御システム１０は、工業用コントローラ１２を含む。加えて工業用コントローラ１２（例えばＳｃｈｅｎｅｃｔａｄｙ、Ｎｅｗ  ＹｏｒｋのＧｅｎｅｒａｌ  Ｅｌｅｃｔｒｉｃから入手可能なＭａｒｋ（商標）Ｖｉｅまたは任意の他のＭａｒｋ（商標）工業用コントローラ）を、いくつかのフィールドデバイス１６、１８、および２０の動作を制御するためにネットワーク１４に結合することができる。例えば例示する工業用コントローラ１２は、ガスタービンシステム２２の動作を監視かつ制御するためにネットワーク１４を介して、いくつかのフィールドデバイス１６、１８、および２０（例えば温度センサ、圧力センサ、電圧センサ、制御バルブ、アクチュエータ、または工業制御システム用の同様のフィールドデバイス）から知覚データを受信する。ガスタービンシステム２２ではない他の実施形態では、工業制御システム１０により監視かつ制御されているシステムは、例えば任意の自動製造システム（例えば石油精製所システム、化学生産システム、ガス化システム、または同様の自動製造システム）または自動発電システム（例えば発電プラント、蒸気タービンシステム、風力タービンシステム、および同様の自動発電システム）を含み得る。例えばある実施形態ではガス化システムは、合成ガスを生成するために炭素質供給原料をガス化するように構成されるガス化器、望ましくない成分（例えば酸性ガス）を除去するために合成ガスを処理するように構成されるガス処理ユニット、タービンを駆動するために合成ガスを燃焼させるように構成される燃焼器、および、電力を生産するように構成されるタービンに結合される発電機を含み得る。そのような実施形態では工業用コントローラ１２は、少なくともフィールドデバイス１６、１８、および２０を使用してガス化システムの様々な構成要素（例えばガス化器、ガス処理ユニット、燃焼器、およびタービン）を監視かつ制御することができる。
【００１４】
例示する工業制御システム１０では、フィールドデバイス１６、１８、および２０は、（例えばネットワーク１４を介して）工業用コントローラ１２に通信可能に結合され、一方でガスタービンシステム２２の動作の様々な態様およびパラメータを監視かつ制御する（例えば、ガスタービンシステムの燃焼器内の温度を監視する、ガスタービンシステムのシャフトに結合される発電機の電圧出力を制御する、燃焼器への燃料の流れを調節する、排熱回収ボイラ（ＨＲＳＧ）の蒸気投入を制御する等）。例示する工業制御システム１０は単純化した工業制御システムを表すこと、および、他の工業制御システムは、任意の自動システム２２の一部分を監視かつ制御するために、任意の適した数の工業用コントローラ１２、ネットワーク１４、ネットワーキングデバイス、フィールドデバイス等を含み得ることを理解されたい。
【００１５】
図示する実施形態では工業用コントローラ１２は、フィールドデバイス１６、１８、または２０のいずれか１つに対する通信および制御を行うためにネットワーク１４を使用することができる。例えば工業用コントローラ１２は、工業プラント内に存在し得るとともに、デバイス１６、１８、２０に関係する１つまたは複数の処理条件を調整するように構成され得る。ネットワーク１４は、通信を可能にするのに適した任意の電子および／またはワイヤレスのネットワークであり得るとともに、ファイバ媒体、ツイストペアケーブル媒体、ワイヤレス通信ハードウェア、イーサネット(登録商標）ケーブル媒体（例えばＣａｔ−５、Ｃａｔ−７）等を含み得る。さらにネットワーク１４は、１００ＭＢ／秒以上の通信速度で工業制御システム１０の構成要素を接続するのに適した高速イーサネット(登録商標）サブバスなどのいくつかのサブバスを含み得る。加えてネットワーク１４は、米国電気電子技術者協会（ＩＥＥＥ）８０２．３規格に準拠する入出力（Ｉ／Ｏ）ネットワークなどのＩ／Ｏネットワークを含み得る。ネットワーク１４は、約３１．２５Ｋｂ／秒の通信速度で工業制御システム１０の構成要素を接続するのに適したＨ１ネットワークサブバスをさらに含み得る。サブバスは例えば、Ｈａａｒ、Ｇｅｒｍａｎｙのｓｏｆｔｉｎｇ  ＡＧにより提供されるＦＧ−１００という名称で入手可能なゲートウェイ、および／または、Ｓｃｈｅｎｅｃｔａｄｙ、Ｎｅｗ  ＹｏｒｋのＧｅｎｅｒａｌ  Ｅｌｅｃｔｒｉｃ  Ｃｏ．から入手可能なＩ／Ｏパックなどの、リンキングデバイスまたはゲートウェイを使用することにより互いに相互通信することができる。実際、ネットワーク１４のいくつかの相互接続したサブバスが、工業制御システム１０の構成要素間で通信するために使用される場合がある。
【００１６】
メモリ３４およびプロセッサ３６を含む工業用コントローラ１２は、工業制御システム１０の動作を全体的に制御するために命令（例えば実行可能ファイル内のバイナリ命令）を実行することができる。例えば工業用コントローラ１２のメモリ３４は、ガスタービンシステム２２の一部分の内部に配設されるフィールドデバイス１６、１８、および２０を制御かつ監視するためにプロセッサ３６により遂行され得るバイナリ命令を含む、１つまたは複数のファイルを含み得る。これらの実行可能ファイルは、例えば初期に、工業用コントローラ１２が工業制御ネットワーク１０に設置される前に、工業用コントローラ１２の製造者により工業用コントローラ１２のメモリ３４にインストールされる場合がある。さらに、工業用コントローラ１２のメモリ３４に記憶される実行可能ファイルは、例えば以前のソフトウェアバージョンの特徴的機能を拡張するために、かつ性能を改善するために、（例えば以下で考察するデバイス２４を使用して）時折更新される場合がある。
【００１７】
メモリ２５およびプロセッサ２６を含むデバイス２４が、（例えばネットワーク１４または別の適したネットワークを介して）工業用コントローラ１２にさらに通信可能に結合され、デバイス２４は、ヒューマンマシンインターフェース（ＨＭＩ）システム２７、製造実行システム（ＭＥＳ）２８、監視制御データ収集（ＳＣＡＤＡ）システム２９、分散制御システム（ＤＣＳ）３０、または同様のインターフェースシステムをホストすることができる。特にある種の実施形態ではデバイス２４は、Ｓｃｈｅｎｅｃｔａｄｙ、Ｎｅｗ  ＹｏｒｋのＧｅｎｅｒａｌ  Ｅｌｅｃｔｒｉｃ  Ｃｏ．から入手可能な（要素３２により表す）ＴｏｏｌｂｏｘＳＴ（商標）などの構成アプリケーションまたはツールをホストすることができる。概括的に上述のシステムは、ユーザが工業用コントローラ１２の動作を監視かつ制御することがそれらにより可能な、１つまたは複数のインターフェースを提供することができる。例えばＨＭＩ２７および／またはＴｏｏｌｂｏｘＳＴ３２は、（例えば工業用コントローラ１２のメモリ３４に記憶された）工業制御システム１０の様々なパラメータを強制または設定することがそれを介して可能なユーザインターフェースを提供することができる。さらなる例によりＨＭＩ２７および／またはＴｏｏｌｂｏｘＳＴ３２は、コントローラ１２のメモリ３４に記憶された様々な実行可能ファイルを異なるバージョンに更新することがそれを介して可能なインターフェースを含み得る。ある種の実施形態では、上述のシステムを単一のデバイス２４上でホストすることができ、一方で他の実施形態では、上述のシステムを各々、工業制御ネットワーク内の１つまたは複数のデバイス上にインストールすることができる。
【００１８】
やはり例示する工業制御システム１０の一部である、メモリ４０およびプロセッサ４２を有するセキュリティサーバ３８が、（例えばネットワーク１４または別の適したネットワークを介して）工業用コントローラ１２およびデバイス２４に通信可能に結合され得る。概括的に言えばセキュリティサーバ３８は、工業制御システム１０のセキュリティに関係があるいくつかの機能を遂行することができる。例えばある種の実施形態ではセキュリティサーバ３８は、ある種の構成要素（例えば工業用コントローラ１２、デバイス２４上のＴｏｏｌｂｏｘＳＴ３２、または工業制御システム１０の他の構成要素）がネットワーク１４上で通信しているとき、アイデンティティの検証および暗号化通信チャネルを可能にすることにより、セキュアな様式でネットワーク１４を介して通信するために証明書の発行および失効を行うことが可能な認証局（ＣＡ）をホストすることに責任を負うことが可能である。
【００１９】
さらにセキュリティサーバ３８は、工業制御システム１０の様々な構成要素からセキュリティ通知を受信することができる。工業制御システム１０の工業用コントローラ１２などの個別の構成要素の動作中、工業用コントローラ１２は例えば、工業用コントローラ１２により遂行される様々なタスク、工業用コントローラ１２にアクセスおよび／もしくはログオンすることの試み、工業用コントローラ１２により受信される命令、ならびに／または、工業用コントローラ１２の動作中に遭遇するエラーに関係があるセキュリティ通知を生成することができる。セキュリティ通知を、初期には工業用コントローラ１２のメモリ３４に記憶することができ、その後（例えばネットワーク１４を介して）セキュリティサーバ３８に転送することができる。ある種の実施形態では工業用コントローラ１２は、（例えば実質的にリアルタイムの方式で）セキュリティ通知が発生する際にセキュリティサーバ３８にセキュリティ通知を提供することができ、一方で他の実施形態では工業用コントローラ１２は、あるいくつかの数（例えば２、３、４、５、１０、２０、または任意の適した数）のセキュリティ通知を収集した後、それらをセキュリティサーバ３８に提供することができる。同様にある種の実施形態ではデバイス２４（例えばデバイス２４上のＨＭＩ２７および／またはＴｏｏｌｂｏｘＳＴ３２）は例えば、デバイス２４により遂行される様々なタスク、デバイス２４にアクセスおよび／もしくはログオンすることの試み、ユーザからデバイス２４により受信される命令、工業用コントローラ１２にデバイス２４により提供される命令、ならびに／または、デバイス２４（例えばデバイス２４上のＨＭＩ２７および／またはＴｏｏｌｂｏｘＳＴ３２）の動作中に遭遇するエラーに関係するセキュリティ通知をセキュリティサーバ３８にさらに提供することができる。実際、例えばフィールドデバイス１６、１８、および２０を含む工業制御システム１０の様々なデバイスのいずれも、セキュリティ通知をセキュリティサーバ３８に提供することができる。
【００２０】
セキュリティサーバ３８の動作をさらに例示するためにであるが、図２は、工業制御システム１０でのＨＭＩデバイスセキュリティ事象５０および工業用コントローラセキュリティ事象５２を管理するセキュリティサーバ３８の実施形態を例示するハイブリッド流れ図である。より具体的には図２は、デバイス２４が概括的には、ユーザが工業用コントローラ１２に対するアクセスおよび制御を行うためのインターフェースを提供可能であるように、矢印５４により指示されるように、互いに通信可能に結合される（例えばＨＭＩ２７および／またはＴｏｏｌｂｏｘＳＴ３２をホストする）デバイス２４および工業用コントローラ１２を例示する。デバイス２４（例えばデバイス２４上のＨＭＩ２７および／またはＴｏｏｌｂｏｘＳＴ３２）の動作全体を通して、いくつかのＨＭＩセキュリティ事象５０が生成され、その後（例えばネットワーク１４を介して）セキュリティサーバ３８に送達される場合がある。さらに工業用コントローラ１２の動作中、いくつかの工業用コントローラセキュリティ事象５２が生成され、その後（例えばネットワーク１４を介して）セキュリティサーバ３８に送達される場合がある。図２のＨＭＩセキュリティ事象５０および図２の工業用コントローラセキュリティ事象５２を表す要素は、セキュリティサーバ３８により後で消費するためのセキュリティ通知を生出し得る、デバイス２４および工業用コントローラ１２のそれぞれの動作中に遭遇し得るセキュリティ事象の例の非限定的なリストを含むことを理解されたい。
【００２１】
特に図２に例示するように、起こり得るＨＭＩセキュリティ事象５０の１つには、デバイス２４にログオンすることのユーザの試みがある。したがって、ユーザがデバイス２４、ＨＭＩ２７、および／またはＴｏｏｌｂｏｘＳＴ３２にログオンすることを試みるとき、デバイス２４は、ＨＭＩセキュリティ事象に対応するセキュリティ通知を生成しセキュリティサーバ３８に提供することができる。さらに、セキュリティサーバ３８に提供されるこれらのセキュリティ通知は、ＨＭＩセキュリティ事象に関係がある情報（例えばタイムスタンプ、ユーザ名、様々な機械および／もしくはユーザの識別子、成功もしくは失敗の指示、所与の時間期間内の試みの数、または他の適した情報）を含み得る。同様に、ソフトウェアが（例えばユーザからの命令に基づいて）デバイス２４のプロセッサ２６により実行されるとき、デバイス２４は、ＨＭＩセキュリティ事象に関係がある情報（例えばタイムスタンプ、実行されているソフトウェアの名前、実行されているソフトウェアに対するハッシュキー値、様々な機械および／もしくはユーザの識別子、または他の適した情報）を含むセキュリティ通知をさらに生成することができる。特定の例によりデバイス２４は、ＴｏｏｌｂｏｘＳＴ３２などの構成ツールがデバイス２４上で起動される（例えば実行を開始する）とき、ＨＭＩセキュリティ通知を生成することができる。
【００２２】
加えて、デバイス２４が工業用コントローラ１２の変数を設定または強制することを試みるとき、デバイス２４はＨＭＩセキュリティ事象を生成する場合がある。すなわち工業用コントローラ１２は、工業制御システム１０のパラメータ（例えばガスタービンシステム２２の様々な構成要素に対する容認可能な温度、圧力、または電圧の範囲）を全体的に規定することが可能な、工業用コントローラ１２のメモリ３４に記憶された、いくつかの変数を含み得る。したがってユーザは、個別の変数を指定の値に設定または強制するように工業用コントローラ１２に命令するために、デバイス２４のインターフェース（例えばＨＭＩ２７および／またはＴｏｏｌｂｏｘＳＴ３２）を利用することができる。さらに、デバイス２４が個別の変数を設定または強制するように工業用コントローラ１２に命令するとき、デバイス２４は、ＨＭＩセキュリティ事象に関係がある情報（例えばタイムスタンプ、ユーザ、機械、および／もしくは設定されている変数に対する識別情報、変数に対する指定の値、変数の現在もしくは以前の値、または他の適した情報）を指定する、セキュリティサーバ３８に送出されるべきセキュリティ通知を生成することができる。さらにある種の実施形態ではユーザは、工業用コントローラ１２のプロセッサ３６により後で実行するために工業用コントローラ１２のメモリ３４に実行可能ファイルをアップロードするために、デバイス２４のインターフェース（例えばデバイス２４上のＨＭＩ２７および／またはＴｏｏｌｂｏｘＳＴ３２）を利用することができる。したがって、デバイス２４が工業用コントローラ１２に実行可能ファイルを提供するとき、デバイス２４は、ＨＭＩセキュリティ事象に関係がある情報（例えばタイムスタンプ、ユーザ、機械、および／もしくは転送されている実行可能ファイルに対する識別情報、転送されている実行可能ファイルに対するハッシュキー値、または他の適した情報）を含むセキュリティ通知をセキュリティサーバ３８にさらに提供することができる。
【００２３】
加えて図２に例示するように、工業用コントローラ１２は、ある種の工業用コントローラセキュリティ事象５２に応答して、セキュリティサーバ３８に対するセキュリティ通知をさらに生成かつ提供することができる。例えば起こり得る工業用コントローラセキュリティ事象５２の１つは、ユーザおよび／またはシステムが工業用コントローラ１２にログオンすることを試みるときに発生する場合がある。したがって、ユーザおよび／またはデバイスが（例えばデバイス２４のＨＭＩ２７またはＴｏｏｌｂｏｘＳＴ３２を介して）工業用コントローラ１２にログオンすることを試みるとき、工業用コントローラ１２は、工業用コントローラセキュリティ事象に対応するセキュリティ通知を生成し、次いでセキュリティサーバ３８にセキュリティ通知を提供することができる。さらに、セキュリティサーバ３８に提供されるセキュリティ通知は、工業用コントローラセキュリティ事象に関係がある情報（例えばタイムスタンプ、ユーザ名、様々な機械および／もしくはユーザの識別子、成功もしくは失敗の指示、所与の時間期間内の試みの数、または他の適した情報）を含み得る。加えて上記に記載したように、工業用コントローラ１２は、工業用コントローラ１２のメモリ３４内の変数を設定または強制するために、（例えばデバイス２４のＨＭＩ２７および／またはＴｏｏｌｂｏｘＳＴ３２から）命令を受信することができる。したがって命令の受信によって工業用コントローラ１２は、工業用コントローラセキュリティ事象に関係がある情報（例えばタイムスタンプ、ユーザ、機械、および／もしくは設定されている変数に対する識別情報、変数に対する指定の値、変数の現在もしくは以前の値、または他の適した情報）を含む工業用コントローラセキュリティ事象に対するセキュリティ通知を生成することができる。
【００２４】
さらに上記に記載したように、工業用コントローラ１２は時々、工業用コントローラ１２のメモリ３４に記憶しプロセッサ３６により実行するために、別のシステム（例えばデバイス２４上のＨＭＩ２７および／またはＴｏｏｌｂｏｘＳＴ３２）から実行可能ファイルを受信する場合がある。したがって、工業用コントローラ１２がデバイス２４から実行可能ファイルを受信するとき、工業用コントローラ１２は、工業用コントローラセキュリティ事象に関係がある情報（例えばタイムスタンプ、ユーザ、機械、および／もしくは転送されている実行可能ファイルに対する識別情報、転送されている実行可能ファイルに対するハッシュキー値、または他の適した情報）を含むセキュリティ通知をセキュリティサーバ３８にさらに提供することができる。工業用コントローラセキュリティ事象５２の他の例には、工業用コントローラ１２のリブート、工業用コントローラ１２の起動またはブートアップの失敗、および工業用コントローラ１２が遭遇する通信エラーがある。ある種の実施形態では工業用コントローラ１２は、いくつかの異なるモード（例えばオープンの非限定的なモードおよびセキュアの限定的なモード）で動作することができ、工業用コントローラ１２は、（例えばオープンモードからセキュアモードへの）動作のモードの変更によってセキュリティ通知を生成することができる。すべてのそのような工業用コントローラセキュリティ事象５２に対して、工業用コントローラ１２は概括的には、関連するセキュリティ通知においてセキュリティサーバ３８に、セキュリティ事象に関係がある関連性のある情報を提供することができる。
【００２５】
加えてある種の実施形態では工業用コントローラ１２は、どの実行可能ファイルが工業用コントローラ１２のプロセッサ３６上で実行することが許可されるかを規定する方法として、メモリ３４にホワイトリストファイルを記憶することができる。すなわち工業用コントローラ１２が（例えばデバイス２４から）新しい実行可能ファイルを受信するとき、工業用コントローラ１２は、各々の権限を与えられた実行可能ファイルに対するハッシュキー値（例えば巡回冗長検査（ＣＲＣ）、メッセージダイジェストアルゴリズム（ＭＤ）、セキュアハッシュアルゴリズム（ＳＨＡ）、または他の適したハッシュ関数などのハッシュ関数の出力）を含むホワイトリストファイルをさらに受信することができる。したがってある種の実施形態では、工業用コントローラ１２のプロセッサ３６は、実行を試みている個別の実行可能ファイルのハッシュキー値を決定することができ、次いで工業用コントローラ１２は、実行を試みる個別の実行可能ファイルが権限を与えられているかどうか決定するためにホワイトリストファイルをチェックすることができる。すなわち、個別の実行可能ファイルに対する決定したハッシュキー値がホワイトリストファイルに存在するならば、実行可能ファイルを、プロセッサ３６による実行に対して権限を与えられているとみなすことができる。これに対して、実行を試みる個別の実行可能ファイルに対する決定したハッシュキー値がホワイトリストファイルに存在しないならば、工業用コントローラ１２は、個別の実行可能ファイルが実行に対して権限を与えられていないと決定することができる。さらに工業用コントローラ１２が、工業用コントローラ１２のメモリ３４内のいずれの実行可能ファイルも権限を与えられていないと決定するとき、工業用コントローラセキュリティ事象が発生する場合がある。その結果工業用コントローラ１２は、工業用コントローラセキュリティ事象に関係がある情報（例えばタイムスタンプ、実行を試みる実行可能ファイルに対する識別情報、ホワイトリストファイルに対する識別情報、実行を試みる実行可能ファイルに対するハッシュキー値、または他の適した情報）を含むセキュリティ通知を生成しセキュリティサーバ３８に提供することができる。
【００２６】
したがって図２に例示するように、セキュリティサーバ３８は概括的には、工業制御システム１０のいくつかの異なる構成要素（例えばデバイス２４、工業用コントローラ１２、および他の適したデバイス）からセキュリティ通知を受信することができる。ある種の実施形態では、工業制御システム１０の様々な構成要素のセキュリティ通知を集約しながら、セキュリティサーバ３８は、様々な構成要素から受信したセキュリティ通知をセキュリティサーバ３８のメモリ４０に記憶することができる。さらにある種の実施形態ではセキュリティサーバ３８は、工業制御システム１０の様々な構成要素から受信したセキュリティ通知を比較かつ分析することができる。
【００２７】
例えば、いくつかの例示した工業用コントローラセキュリティ事象５２が、ある種のＨＭＩセキュリティ事象５０と概括的には相補的であり得ることを理解されたい。したがってこの特徴によって、対応する、および／または相補的なセキュリティ通知が、工業制御システム１０の複数の構成要素からセキュリティサーバ３８に提供される結果となるはずである。したがってある種の実施形態では、セキュリティサーバ３８は例えば、無矛盾性を検証するためにデバイス２４および工業用コントローラ１２により提供される対応するセキュリティ通知を比較することができる。すなわち例えば、セキュリティサーバ３８のプロセッサ４２は、工業用コントローラ１２の変数を設定または強制することのユーザの試みに応答してデバイス２４により提供されるセキュリティ通知が、変数の設定または強制の要求の受信によって工業用コントローラ１２により提供される相補的なセキュリティ通知に対応することを確実にすることができる。加えて内部無矛盾性をチェックすること以外に、セキュリティサーバ３８のプロセッサ４２は、工業制御システム１０の様々な構成要素により提供されるセキュリティ通知内の傾向を決定するために様々なヒューリスティックスを適用することができる。セキュリティサーバ３８は例えば、セキュリティ事象が発生する傾向がある日、週、月、年等での時点を、工業制御システム１０のどの構成要素がセキュリティ通知を生出する可能性が最も高いかを、どの構成要素がセキュリティ通知および工業制御システム１０の他の構成要素をトリガする可能性が最も高いか等を決定するためにセキュリティ通知にヒューリスティックスを適用することができる。
【００２８】
これに対してある種の実施形態では、追加的または代替的に、比較および分析のために遠隔デバイスに、セキュリティサーバ３８により集約されたセキュリティ通知を提供することが望ましい場合がある。例えばある種の実施形態では工業制御システム１０を、概括的には工業制御システム１０の様々なセキュリティ態様に対するサポートを提供することができるマネージドセキュリティサービスプロバイダ（ＭＳＳＰ）によりサポートすることができる。さらにＭＳＳＰは、概括的には工業制御システム１０内部のセキュリティ懸念に関する情報を受信することができる、メモリ５８およびプロセッサ６０を有する（例えば工業制御システム１０の外側に存在する）遠隔デバイス５６を動作させることができる。例えば遠隔デバイス５６は、工業制御システム１０に対するセキュリティ通知を比較かつ分析するために、セキュリティサーバ３８により集約されたセキュリティ通知を受信することができる。セキュリティサーバ３８に関して上記に記載したように、遠隔デバイス５６は、無矛盾性を検証するために、対応する、および／または相補的なセキュリティ通知を比較することができ、工業制御システム１０に対するセキュリティ通知内の傾向を決定するためにヒューリスティックスをさらに適用することができる。
【００２９】
さらに、工業制御システム１０に対するセキュリティ通知を比較かつ分析するために遠隔デバイス５６を利用する実施形態では、セキュリティサーバ３８は、セキュリティ通知を、それらを遠隔デバイス５６に送達する前にパッケージ化することができる。例えばある種の実施形態ではセキュリティサーバ３８は、移送を容易にするために、いくつかのセキュリティ通知を単一のファイルに、および／またはファイルのアーカイブに追加することができる。加えてある種の実施形態ではセキュリティサーバ３８は、移送の前にファイルサイズを低減するためにセキュリティ通知（例えばセキュリティ通知を包含するファイルおよび／またはアーカイブ）を追加的に圧縮することができる。さらにある種の実施形態ではセキュリティサーバ３８は、セキュリティ通知が遠隔デバイス５６にセキュアに転送され得るようにセキュリティ通知を追加的に暗号化することができる。他の実施形態ではセキュリティサーバ３８は、追加的または代替的に、遠隔デバイス５６にセキュリティ通知を転送するために、暗号化されたネットワーク接続６２を利用することができる。
【００３０】
図３に目を向けると、処理７０の実施形態を例示する流れ図が提示され、この処理７０によりセキュリティサーバ３８は、処理のために工業制御システム１０の構成要素からセキュリティ通知を収集し、遠隔デバイス５６にセキュリティ通知を提供することができる。処理７０は、セキュリティサーバ３８のプロセッサ４２が、ＨＭＩデバイス（例えばデバイス２４）からのＨＭＩデバイスセキュリティ通知を受信し（ブロック７２）、（例えばメモリ４０に）記憶することから開始する。実質的に同じ時間に、セキュリティサーバ３８のプロセッサ４２はさらに、工業用コントローラ１２からの工業用コントローラセキュリティ通知を受信し（ブロック７４）、（例えばメモリ４０に）記憶している場合がある。セキュリティサーバ３８は、工業制御システム１０内の任意の適したデバイスからセキュリティ通知を受信することができることを理解されたい。その後、セキュリティサーバ３８は受信したセキュリティ通知をアーカイブにパッケージ化することができ（ブロック７６）、セキュリティサーバ３８はセキュリティ通知を圧縮することができ、および／または、セキュリティサーバ３８はセキュリティ通知を暗号化することができる。次いでセキュリティサーバ３８は、比較および分析のために遠隔デバイス５６にパッケージ化したセキュリティ通知を送出することができる（ブロック７８）。他の実施形態ではセキュリティサーバ３８は、追加的または代替的に、プロセッサ４２を使用してセキュリティ通知を比較かつ分析することができる。さらにある種の実施形態ではセキュリティサーバ３８は、セキュリティ通知を、それらが何らかの実質的なパッケージ化なしで受信されるように、代替的に遠隔デバイス５６に直接送出する場合がある。
【００３１】
図４に目を向けると、処理８０の実施形態に対する流れ図が例示され、この処理８０により遠隔デバイス５６は、工業制御システム１０からのセキュリティ通知を受信かつ分析することができる。処理８０は、遠隔デバイス５６のプロセッサ６０が、工業制御システム１０のセキュリティサーバ３８から複数のセキュリティ事象を受信する（ブロック８２）ことから開始する。受信した後、遠隔デバイス５６のプロセッサ６０は、工業制御システム１０内の無矛盾性のために、対応する、および／または相補的なセキュリティ事象を比較することを続行することができる（ブロック８４）。加えて遠隔デバイス５６のプロセッサ６０は、複数のセキュリティ事象内部の傾向を識別するために様々なヒューリスティックスを使用することができる（ブロック８６）。
【００３２】
さらにある種の実施形態では遠隔システム５６は、ある種の傾向がセキュリティ事象内部で識別されるとき、セキュリティサーバ３８および／またはデバイス２４（例えばＨＭＩ２７および／またはＴｏｏｌｂｏｘＳＴ３２）にさらに告知することができる（ブロック８８）。例えば遠隔システム５６がセキュリティ通知の分析に基づいて起こり得るセキュリティ問題を識別した後、遠隔デバイス５６は、セキュリティ懸念をセキュリティサーバ３８に告知することができる。特定の例により遠隔デバイス５６のプロセッサ６０は、個別の権限を与えられていない実行可能ファイルが再発的にある時間の期間中に実行を試みていることを、受信したセキュリティ通知の比較および／または分析に基づいて決定することができる。したがって遠隔デバイス５６は、概括的にはセキュリティ懸念を説明し可能な解決策を提案し得るセキュリティアラートによって、セキュリティ懸念をセキュリティサーバ３８および／またはデバイス２４に告知することができる。例えば遠隔デバイス５６は、工業制御システム１０（例えば工業制御システム１０のセキュリティサーバ３８および／またはＨＭＩ２７）に、問題となる実行可能ファイルのアイデンティティ、問題となる実行可能ファイルが実行を試みているときに関する識別した傾向、ならびに、セキュリティ通知および／またはセキュリティ通知の分析からの他の適した情報を含むセキュリティアラートを提供することができる。セキュリティ通知の比較および／または分析がセキュリティサーバ３８によってのみで遂行される実施形態では、セキュリティサーバ３８は、同様の様式でのセキュリティアラートによって、識別したセキュリティ懸念があればそれをデバイス２４（例えばデバイス２４のＨＭＩ２７および／またはＴｏｏｌｂｏｘＳＴ３２）に告知することができることを理解されたい。
【００３３】
本実施形態の技術的効果は、工業制御システム１０のいくつかの異なる構成要素から集中型のセキュリティサーバ３８へのセキュリティ通知の集約を含む。さらにセキュリティサーバ３８の本実施形態が提供し得るのは、セキュリティ通知の比較および／または分析、（例えば圧縮および／または暗号化を含む）セキュリティ通知のパッケージ化、遠隔デバイスにセキュリティ通知を送信すること、遠隔デバイスからセキュリティアラートを受信すること、ならびに、セキュリティ懸念をＨＭＩ２７の１人または複数のユーザに告知するためにＨＭＩ２７にセキュリティアラートを提供することである。加えて遠隔デバイス５６の本実施形態によって可能になり得るのは、遠隔デバイス５６からの工業制御システム１０のセキュリティ通知の比較および／または分析、ならびに、セキュリティ通知の比較および／または分析に基づいてセキュリティサーバ３８および／またはＨＭＩ２７にセキュリティアラートを提供することである。
【００３４】
記述した本説明では、最良の形態を含めて本発明を開示するために、さらには、任意のデバイスまたはシステムを作製かつ使用すること、および任意の組み込んだ方法を遂行することを含めて、本発明を実践することを当業者ならば誰でも可能にするために例を使用する。本発明の特許的な範囲は、特許請求の範囲により定義され、当業者が想到する他の例を含み得る。そのような他の例は、それらの例が、特許請求の範囲の文字通りの文言と異ならない構造要素を有するならば、またはそれらの例が、特許請求の範囲の文字通りの文言と実質的な違いのない等価の構造要素を含むならば、特許請求の範囲の範囲内にあることが意図される。
【符号の説明】
【００３５】
１０  工業制御システム
１２  工業用コントローラ
１４  ネットワーク
１６、１８、２０  フィールドデバイス
２２  ガスタービンシステム
２４  デバイス
２５  メモリ
２６  プロセッサ
２７  ＨＭＩシステム
２８  製造実行システム（ＭＥＳ）
２９  ＳＣＡＤＡシステム
３０  分散制御システム（ＤＣＳ）
３２  ＴｏｏｌｂｏｘＳＴ
３４  メモリ
３６  プロセッサ
３８  セキュリティサーバ
４０  メモリ
４２  プロセッサ
５０  ＨＭＩデバイスセキュリティ事象
５２  工業用コントローラセキュリティ事象
５４  矢印
５６  遠隔デバイス
５８  メモリ
６０  プロセッサ
６２  暗号化されたネットワーク接続
７０  処理
７２  ＨＭＩデバイスから通知を受信する
７４  工業用コントローラから通知を受信する
７６  通知をパッケージ化する
７８  通知を送出する
８０  処理
８２  セキュリティサーバから通知を受信する
８４  通知を比較する
８６  傾向を識別するためにヒューリスティックスを使用する
８８  セキュリティサーバに告知する
【図１】
0006285107.tif 000002
【図２】
0006285107.tif 000003
【図３】
0006285107.tif 000004
【図４】
0006285107.tif 000005