(57)【特許請求の範囲】
【請求項１】
ネットワーク内の異常を検知する異常検知システムであって、
前記ネットワークに接続され、それぞれ個別の保護領域内で稼働する複数の制御システムと、
制御システム毎に設けられ、当該制御システムと、監視する相手方の制御システムとの間で交換されるデータを検査し、前記相手方の制御システムに異常が疑われる場合に異常通知を発信する監視部と、
前記複数の制御システム各々の監視部から発信される前記異常通知を集計して、異常が疑われた制御システムのレピュテーションを評価し、評価結果から基準に照らして異常であると判定された場合に、前記異常が疑われた制御システムを稼働させている保護領域に対し、少なくとも該保護領域内部からのアウトバウンドのトラフィックを、仮想アクチュエータから実アクチュエータへの接続を遮断することにより制限する管理部と
を含む、異常検知システム。
【請求項２】
前記管理部は、前記異常が疑われた制御システムを稼働させている前記保護領域に対し、さらに、前記ネットワークから切り離し、診断モジュールが接続される検査用ネットワークに接続させる、請求項１に記載の異常検知システム。
【請求項３】
前記管理部は、前記診断モジュールによる診断の結果、異常が確認されなかった場合に、前記異常が疑われた制御システムを稼働させている前記保護領域に対し、前記アウトバウンドのトラフィックの制限を解除させると共に、前記検査用ネットワークから切り離し、前記ネットワークへの接続を復旧させる、請求項２に記載の異常検知システム。
【請求項４】
前記管理部は、前記診断モジュールによる診断の結果、異常が確認された場合に、アラート通知、前記異常が疑われた制御システムの制限された状態での稼働の継続、前記異常が疑われた制御システムの詳細な検査、および前記異常が疑われた制御システムの過去の状態からの再開からなる群から選択された１種以上の対策アクションを実施する、請求項３に記載の異常検知システム。
【請求項５】
前記管理部は、前記異常が疑われた制御システムを稼働させている前記保護領域に対し、前記保護領域内で稼働する制御システムに、実制御デバイスに代替してダミー制御デバイスを接続させる、請求項１に記載の異常検知システム。
【請求項６】
前記管理部は、前記異常が疑われた制御システムを稼働させている前記保護領域に対し、実センサから前記保護領域内部へのインバウンドのトラフィックを透過させる、請求項１に記載の異常検知システム。
【請求項７】
前記監視部は、前記管理部と、前記異常が疑われた制御システム以外の該異常が疑われた制御システムを監視する制御システムに設けられる前記監視部とに対し、前記異常通知を発信する、請求項１に記載の異常検知システム。
【請求項８】
前記保護領域は、稼働させる制御システムをアプリケーションとして備えるシステム仮想マシンとして実装され、前記監視部は、他の制御システムに関する限定的な検査を行うためのトラフィックを発生させる相互通信部とともに、前記稼働させる制御システム外部のセキュリティ・ゲートウェイとして、前記稼働させる制御システムと同一の仮想マシン上に実装される、請求項１に記載の異常検知システム。
【請求項９】
複数の制御システムがそれぞれ個別の保護領域内で稼働しているネットワーク内の異常を検知する異常検知装置であって、
前記複数の制御システムの各々から、各々が監視する相手方の制御システムに関する異常通知を受信する受信部と、
異常が疑われた制御システム毎に前記異常通知を集計して、監視する２以上の制御システムによる前記異常が疑われた制御システムのレピュテーションを評価し、基準に照らして前記異常が疑われた制御システムが異常であるかを判定する判定部と、
異常であると判定された場合に、前記異常が疑われた制御システムを稼働させている保護領域に対し、該保護領域内部のアウトバウンドのトラフィックを、仮想アクチュエータから実アクチュエータへの接続を遮断することにより制限する制御部と
を含む、異常検知装置。
【請求項１０】
前記制御部は、前記異常が疑われた制御システムを稼働させている前記保護領域に対し、さらに、前記ネットワークから切り離し、診断モジュールが接続される検査用ネットワークに接続させる、請求項９に記載の異常検知装置。
【請求項１１】
前記制御部は、前記診断モジュールによる診断の結果、異常が確認されなかった場合に、前記異常が疑われた制御システムを稼働させている前記保護領域に対し、前記トラフィックの制限を解除させると共に、前記検査用ネットワークから切り離し、前記ネットワークへの接続を復旧させる、請求項１０に記載の異常検知装置。
【請求項１２】
複数の制御システムがそれぞれ個別の保護領域内で稼働しているネットワーク内の異常を検知する異常検知方法であって、
コンピュータ・システムが、前記複数の制御システムいずれかの制御システムから、該制御システムが監視する相手方の制御システムに関する異常通知を受信するステップと、
コンピュータ・システムが、異常が疑われた制御システム毎に前記異常通知を集計して、監視する２以上の制御システムによる前記異常が疑われた制御システムのレピュテーションを評価し、基準に照らして前記異常が疑われた制御システムが異常であるかを判定するステップと、
コンピュータ・システムが、異常であると判定された場合に、前記異常が疑われた制御システムを稼働させている保護領域に対し、少なくとも該保護領域内部からのアウトバウンドのトラフィックを、仮想アクチュエータから実アクチュエータへの接続を遮断することにより制限するステップと
を含む、異常検知方法。
【請求項１３】
コンピュータ・システムが、前記異常が疑われた制御システムを稼働させている前記保護領域に対し、さらに、前記ネットワークから切り離し、診断モジュールが接続する検査用ネットワークに接続させるステップをさらに含む、請求項１２に記載の異常検知方法。
【請求項１４】
コンピュータ・システムが、前記診断モジュールによる診断の結果、異常が確認されなかった場合に、前記異常が疑われた制御システムを稼働させている前記保護領域に対し、前記アウトバウンドのトラフィックの制限を解除させると共に、前記検査用ネットワークから切り離し、前記ネットワークへの接続を復旧させるステップをさらに含む、請求項１３に記載の異常検知方法。
【請求項１５】
コンピュータ・システム上に、複数の制御システムがそれぞれ個別の保護領域内で稼働しているネットワーク内の異常を検知する異常検知装置を実現するためのコンピュータ実行可能なプログラムであって、前記コンピュータ・システムを、
前記複数の制御システムの各々から、各々が監視する相手方の制御システムに関する異常通知を受信する受信部、
異常が疑われた制御システム毎に前記異常通知を集計して、監視する２以上の制御システムによる前記異常が疑われた制御システムのレピュテーションを評価し、基準に照らして前記異常が疑われた制御システムが異常であるかを判定する判定部、および
異常であると判定された場合に、前記異常が疑われた制御システムを稼働させている保護領域に対し、少なくとも該保護領域内部からのアウトバウンドのトラフィックを、仮想アクチュエータから実アクチュエータへの接続を遮断することにより制限する制御部
として機能させるためのプログラム。
【請求項１６】
請求項１５に記載のコンピュータ実行可能なプログラムをコンピュータ読取可能に格納する記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報セキュリティ技術に関し、より詳細には、制御システムにおいて発生する異常を効率的に検知し、異常が認められた制御システムを隔離するための異常検知システム、異常検知装置、異常検知方法、プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
現代社会は、電力、ガス、水道、鉄道、金融、プラント、パイプラインなど種々のインフラストラクチャの上に成り立っている。近年、スマートなオフィス、スマートなビルディング、スマートな都市、スマートなエネルギー利用の実現に向けて、上記社会的に重要なインフラストラクチャにおいて、その産業制御システム（Industrial Control System）のネットワークを介した相互接続や情報処理システムとの連携が進められている。
【０００３】
一方、産業制御システムは、その機能が停止すれば、社会経済に大きな影響を及ぼすおそれがあるため、旧来、外部から隔離されたクローズド・システムでの稼働を前提として設計されてきた。それ故、産業制御システムにおけるセキュリティ対策は、情報処理システムにおけるものと比較して、必ずしも万全なものとはいえず、インターネット等のネットワークに接続されたオープン環境においては、ウィルス、ワーム、トロイの木馬、その他の悪意のあるコード、ハッキング、不正侵入、内部者による攻撃、異常動作および情報漏洩などの脅威の影響を受けやすいという問題があった。
【０００４】
しかし、上記重要インフラストラクチャは、万が一攻撃を受けた場合、その影響は大規模かつ広範囲になる。産業制御システムは、プラントやパイプラインのバルブなどのアクチュエータを制御しているため、その誤作動は、作業の中断を招くだけでなく、ときにはボイラーの過剰圧力の発生、不適当な送電による都市規模の停電などの人的被害、ダムの異常放流などによる環境破壊をもたらす。したがって、上述したような脅威から産業制御システムを保護するべく高度なセキュリティを実現することが望ましい。また、万が一上述のような脅威が疑われる異常が発生した場合は、その異常を迅速に検知して、産業デバイスや他の産業制御システムを保護することが望ましい。
【０００５】
ところで、上記ウィルス、不正アクセス等に関しては、情報処理システムにおいて種々のセキュリティ対策が知られていることから、情報処理システムで適用されているセキュリティ対策を導入することもある程度有用であると考えられる。情報処理システムにおけるセキュリティ技術としては、例えば、特開２００４−３０２５３８号公報（特許文献１）は、防御したいネットワーク内（ＤＭＺ）の全ての端末が別の端末によって監視される相互監視形態をとることを特徴とする、Ａ−ＩＤＳ（Autonomous Intrusion Detection System：自律的侵入検知システム）と呼ばれる技術について言及している。
【０００６】
特開２００６−３３１４０号公報（特許文献２）は、不正なアクセスを発生させる発生源が検知された場合に、そのような発生源の拡散を迅速に抑制することを目的として、セグメントごとに不正パケット発信端末の数を計数し、セグメントを接続するインターフェースを探索して、不正パケット発信端末が属するセグメント内で不正パケット発信端末の数が予め設定した所定数の範囲にない場合に、不正パケット発信端末の属するセグメントが接続されるインターフェースを遮断することを特徴とする、ネットワーク管理装置を開示する。特開２００５−２５０８０２号公報（特許文献３）は、受信したアクセスデータを解析し、異常データの特徴を示す特徴量データを算出して、特徴量データを特徴量蓄積データに挿入し、特徴量蓄積データから正常アクセスとみなされる値域と異常アクセスとみなされる値域を区分する統計モデルを構成し、特徴量データが統計モデルの異常アクセスとみなされる値域に属するか否かを判定することを特徴とする不正アクセス検出装置を開示する。特開２００７−９６７３５号公報（特許文献４）は、外部ネットワークおよびＬＡＮと、情報処理装置との間に介在し、情報処理装置を不正な侵入から保護する学習型のネットワークセキュリティ装置を開示する。
【０００７】
また、プログラムを保護された領域で動作させることによってシステムが不正に操作されるのを防ぐサンドボックスと呼ばれるセキュリティモデルも知られている。例えば、特表２００４−５１８１９３号公報（特許文献５）は、疑わしいデータのためのデスクトップ隔離領域またはサンドボックスを有するコンピュータ・システムを開示する。特表２００８−５００６５３号公報（特許文献６）は、疑わしいファイルの実行およびアクセスのうち少なくとも一方をサンドボックス仮想マシン内で行うことで、処理システムのセキュリティ向上を達成する方法を開示する。
【０００８】
しかしながら、産業制御システムは、情報処理システムとは異なる特質があり、情報処理システムで行われているセキュリティ技術を適用するだけでは充分とは言えず、上述のような脅威が疑われる異常を、効率的に検知して対策を講じることができない場合があった。また、産業制御システムは、デバイス制御の実時間性も求められるため、高負荷な監視や診断を行うことも適当ではなかった。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００４−３０２５３８号公報
【特許文献２】特開２００６−３３１４０号公報
【特許文献３】特開２００５−２５０８０２号公報
【特許文献４】特開２００７−９６７３５号公報
【特許文献５】特表２００４−５１８１９３号公報
【特許文献６】特表２００８−５００６５３号公報
【特許文献７】特開２００７−３４６７２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明は、上記従来技術の制御システムにおける問題点を鑑みてなされたものであり、本発明は、制御システム間の相互通信を緩やかに監視することにより、システム内で異常が疑われる制御システムを効率的に検知し、異常が確認された制御システムを隔離することができる異常検知システム、異常検知装置、異常検知方法、プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、上記従来技術の課題を解決するために、以下の特徴を有する異常検知システムおよび該異常検知システムに含まれる異常検知装置を提供する。本発明の異常検知システムは、それぞれネットワークに接続され個別の保護領域内で稼働する複数の制御システムを備える。本異常検知システム内では、制御システム毎に、当該制御システムと監視する相手方の制御システムとの間で交換されるデータを検査し、上記相手方の制御システムに異常が疑われる場合に異常通知を発信する監視部が設けられている。異常検知システムに含まれる異常検知装置は、保護領域を管理する管理部を備える。管理部は、上記複数の制御システム各々の監視部から発信される異常通知を集計して、異常が疑われた制御システムのレピュテーションを評価し、評価結果から基準に照らして異常であると判定された場合に、異常が疑われた制御システムを稼働させている保護領域に対し、少なくとも該保護領域内部からのアウトバウンドのトラフィックを制限させる制御を行う。
【００１２】
また本発明では、上記管理部は、異常が疑われた制御システムを稼働させている保護領域に対し、さらに、通常のネットワークから切り離し、診断モジュールが接続される検査用ネットワークに接続させることができる。さらに本発明では、上記管理部は、診断モジュールによる診断の結果、異常が確認されなかった場合に、異常が疑われた制御システムを稼働させている保護領域に対し、上記アウトバウンドのトラフィックの制限を解除させると共に、検査用ネットワークから切り離してネットワークへの接続を復旧させることができる。
【００１３】
上記構成によれば、制御システム間の相互通信を緩やかに監視することによってシステム内で異常が疑われる制御システムを効率的に検知することが可能となり、ひいては、異常検知を行うための制御システム間の監視負荷を低減することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態による産業システムの概略構成を示す図。
【図２】本発明の実施形態による産業システムにおけるソフトウェアおよびハードウェア構成を示す図。
【図３】本発明の実施形態による異常検知機構に関する機能ブロック図。
【図４】本発明の実施形態による異常検知機構における異常検知処理の流れを説明する図。
【図５】本発明の実施形態による異常検知処理の流れを、産業制御システムの相互監視トポロジーに関連して説明する図。
【図６】相互監視トポロジーを例示する図。
【図７】本発明の実施形態による産業システムにおいて保持されるトポロジデータのデータ構造を例示する図。
【図８】本発明の実施形態による監視部が実行する異常通知処理を示すフローチャート。
【図９】本発明の実施形態によるサンドボックス管理部が実行する異常検知処理を示すフローチャート。
【図１０】仮想マシンの仮想ネットワーク・アダプタの論理的接続を検査用ネットワーク２３６へ切り替える処理を説明する図。
【発明を実施するための形態】
【００１５】
以下、本発明について実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。以下に説明する実施形態では、異常検知システムおよび異常検知装置の一例として、産業システムおよび管理サーバを用いて説明する。
【００１６】
図１は、本発明の実施形態による産業システムの概略構成を示す図である。図１に示す産業システム１００は、ネットワーク１０２に接続される、管理サーバ１１０と、１以上の物理マシン１２０ａ〜１２０ｅとを含んで構成される。産業システム１００は、特に限定されるものではないが、農業、金融、化学、商業施設、ダム、防衛産業基盤、緊急サービス、エネルギー、政府施設、情報技術、原子炉、物流、公共衛生、通信、輸送、水道、重要製造業などにおけるシステムとして構成される。
【００１７】
物理マシン１２０は、その上で１以上の産業制御システムを稼働させている。物理マシン１２０上に実装される産業制御システムは、特定用途に応じた機能を備えるものであり、一般的には、フィールド機器と通信し、システム監視およびプロセス制御を行う監視制御サーバである。産業制御システムとしては、特に限定されるものではないが、地理的に分散した制御対象を遠隔集中監視し、制御データの収集を行うＳＣＡＤＡ（Supervisory Control And Data Acquisition）、分散制御システム（ＤＣＳ：Distributed Control System）などにおける監視制御サーバが例示される。
【００１８】
物理マシン１２０は、コントロール・ネットワーク、フィールド・ネットワーク、センサ・バスを介して産業デバイス、例えばフィールド機器に接続される。上記フィールド機器としては、センサ１２２、アクチュエータ１２４その他種々の産業機器を挙げることができる。上記センサ１２２としては、特定用途にもより特に限定されるものではないが、温度センサ、湿度センサ、圧力センサ、空調センサ、流量計、水位計、照度計、電力計、電力使用量カウンタ、人感知センサなどの種々の計測器を挙げることができる。上記アクチュエータ１２４としては、特定用途にもより特に限定されるものではないが、バルブ開閉器、火力調整器、コンプレッサ、ポンプ、その他モータや能動的に機能する装置を挙げることができる。
【００１９】
ネットワーク１０２は、特に限定されるものではないが、例えば、ＴＣＰ／ＩＰおよびイーサネット（登録商標）によるＬＡＮ（Local Area Network）を含むことができる。また、ネットワーク１０２は、専用線を介して、またはＶＰＮ（Virtual Private Network）を用いて公衆回線を介して、異なるロケーションのＬＡＮが結合されて構成された広域ネットワークとして構成されていてもよい。さらに、ネットワーク１０２上には、適宜、専用のネットワーク型ＩＤＳ（Intrusion Detection System）１０４などを設けることもできる。ＩＤＳ１０４が設けられる場合は、後述するように、異常検知の精度をさらに向上させることができる。
【００２０】
本発明の実施形態による産業制御システムは、それぞれ個別のサンドボックス内において物理マシン１２０上で稼働する。サンドボックスとは、他のプロセス等から隔離され、内部から外界を操作することが制限された、プログラムを動作させるための保護領域をいう。本発明の実施形態によるサンドボックスでは、その内部で動作する産業制御システムは、通常状態では、特に制限なく外界のセンサ１２２やアクチュエータ１２４等にアクセスできるが、一旦サンドボックスが活動化されると、アクセス制限がかかり外界から隔離される。上記管理サーバ１１０は、物理マシン１２０のサンドボックスを管理する機能を備えており、異常が認められる産業システムを発見すると、その産業制御システムが稼働するサンドボックスを活動化し、異常が認められる産業制御システムをシステム全体から一旦切り離す。
【００２１】
本発明の実施形態では、上記サンドボックスおよびその管理機構を実現するために、システム仮想化技術を適用することができる。図２は、本発明の実施形態による産業システムのソフトウェアおよびハードウェア構成を示す図である。物理マシン１２０は、概ねパーソナル・コンピュータ、ワークステーション、ラックマウント型サーバ、ブレード型サーバ、メインフレームなどの汎用コンピュータ装置として構成され、より具体的には、シングルコア・プロセッサまたはマルチコア・プロセッサなどのＣＰＵ、キャッシュ・メモリ、ＲＡＭ、ネットワーク・アダプタ、ストレージ・デバイスなどのハードウェア・リソースを備える。
【００２２】
物理マシン１２０は、Ｘｅｎ（登録商標）、ＶＭＷａｒｅ（登録商標）、Ｈｙｐｅｒ−Ｖ（登録商標）、Ｖｉｒｔｕａｌ  ＰＣなどのベアメタル型またはホスト型の仮想化ソフトウェアのハイパーバイザ（仮想機械モニタとも呼ばれることがある。）２３０を備え、このハイパーバイザ２３０上で、Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）などの種々の汎用ＯＳや、産業用ＯＳをゲストＯＳとした１以上の仮想マシン２３２ａ，２３２ｂ（図２では、２つの仮想マシンが例示されている。）を稼働させる。
【００２３】
仮想マシン２３２は、本発明の実施形態による保護領域、すなわちサンドボックスを提供し、その上で産業制御システム２４０を動作させる。仮想マシン２３２上では、物理マシン１２０に接続される実ネットワーク・アダプタ（図示せず。なお、本明細書においては、仮想化されて仮想マシンにアサインされた仮想的なハードウェアと区別するため、物理的なハードウェアには「実」の文言を付して参照する。）、実センサ１２２、実アクチュエータ１２４などの物理的なハードウェアは、仮想ネットワーク・アダプタ（なお、仮想化されて各仮想機械にアサインされたハードウェアについては、物理的なハードウェアと区別するため「仮想」の文言を付して参照する。）２４４、仮想センサ２４６および仮想アクチュエータ２４８として仮想化され、仮想マシン２３２にアサインされる。
【００２４】
管理サーバ１１０は、物理マシン１２０上のサンドボックスを管理する機能を提供するサンドボックス管理部２１０を備える。管理サーバ１１０は、概ね汎用コンピュータ装置として構成され、ＣＰＵ、キャッシュ・メモリ、ＲＡＭ、ネットワーク・アダプタ、ストレージ・デバイスなどのハードウェア・リソースを備え、Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）などの適切なＯＳの制御の下、上記サンドボックス管理部２１０を実現する。なお、説明する実施形態では、管理サーバ１１０は、物理マシン１２０とは別個の物理システムとして実装されるものとして説明するが、他の実施形態では、物理マシン１２０上で稼働する仮想マシンとして、上記サンドボックス管理機能を実装してもよい。
【００２５】
サンドボックス管理部２１０は、物理マシン１２０上のハイパーバイザ２３０に対し命令を発行し、仮想マシン２３２にアサインされた仮想センサ２４６および仮想アクチュエータ２４８のアタッチやデタッチを制御し、仮想センサ２４６と実センサ１２２との間の論理的な接続、仮想アクチュエータ２４８と実アクチュエータ１２４との間の論理的な接続を制御する。サンドボックス管理部２１０は、サンドボックスを活動化する場合、対応する仮想マシン２３２が稼働する物理マシン１２０上のハイパーバイザ２３０に対し命令を発行し、該仮想マシン２３２の仮想センサ２４６と実センサ１２２との論理的な接続、仮想アクチュエータ２４８と実アクチュエータ１２４との論理的な接続を遮断させる。一方、サンドボックスを非活動化する場合、サンドボックス管理部２１０は、ハイパーバイザ２３０に対し命令を発行し、仮想センサ２４６と実センサ１２２との論理的な接続、および仮想アクチュエータ２４８と実アクチュエータ１２４との論理的な接続を復旧させる。
【００２６】
仮想マシン２３２は、仮想ネットワーク・アダプタ２４４を介して、複数の仮想マシン２３２およびサンドボックス管理部２１０が参加する論理的なネットワークである仮想ネットワーク２３４に接続され、仮想マシン２３２上の産業制御システム２４０は、この仮想ネットワーク２３４を介して相互に通信することができる。本実施形態では、産業制御システム２４０間でのゆるやかな相互監視を実現するべく、産業制御システム２４０と仮想ネットワーク・アダプタ２４４との間にセキュリティ・ゲートウェイ２４２を設けて、産業制御システム２４０間のトラフィックを監視させる。
【００２７】
セキュリティ・ゲートウェイ２４２は、備えられる産業制御システム（例えば２４０ａ）と、相手方の産業制御システム（同様に２４０ｂ）との間で交換されるトラフィック・データを検証し、相手方の産業制御システム（同様に２４０ｂ）が正常に動作しているかを確認する。セキュリティ・ゲートウェイ（同様に２４２ａ）は、相手方の産業制御システム（２４０ｂ）に異常が疑われる場合、その旨をサンドボックス管理部２１０や他の産業制御システム（図示せず。）に通知する。他の産業制御システムは、異常が疑われる旨の通知を受けると、その異常が疑われた産業制御システム（同様に２４０ｂ）に関し、上記と同様な検査を自身でも適宜行うことができる。
【００２８】
サンドボックス管理部２１０は、産業制御システム２４０間の相互監視のトポロジーを把握しており、セキュリティ・ゲートウェイ２４２から報告される異常通知を集計し、異常が疑われた産業制御システムの周辺の産業制御システムによるレピュテーション（reputation；評判、信頼性、風評）を評価する。サンドボックス管理部２１０は、評価結果から所与の基準に照らして異常であると判定された場合、上述したような手法で、異常が疑われた制御システムを稼働させるサンドボックスを活動化する。本発明の実施形態では、このような周辺の産業制御システムによるレピュテーションに基づいて異常を検知する異常検知機構を採用する。
【００２９】
以下、図３〜図７を参照しながら、本発明の実施形態による産業システムにおいて実現される異常検知機構について、より詳細に説明する。図３は、本発明の実施形態による異常検知機構に関する機能ブロック図である。図３には、サンドボックス管理部２１０およびサンドボックス（仮想マシン）２３２の詳細な機能ブロック２００が示されている。なお、図３は、産業制御システムに適用する種々の態様を例示する。
【００３０】
産業制御システム２４０ａおよび２４０ｂは、相互接続される既存の産業制御システムに適用した場合を例示する。産業制御システム２４０ａおよび２４０ｂは、仮想ネットワーク２３４を介して、管理のためのコントロールやデータを交換している。例えば、電力流通システムでは、隣接する発電管理システム間で発電量、消費電力量などを相互に交換し、余剰電力を融通し合っている。このとき、発電量や消費電力量に関するデータや、余剰電力の融通依頼のためのコントロールが相互に交換される。相互接続する産業制御システム２４０ａおよび２４０ｂは、それぞれ、上記コントロールやデータ交換を行うための相互通信部２６０ａおよび２６０ｂを備えており、一方、その外部に設けられるセキュリティ・ゲートウェイ２４２ａおよび２４２ｂは、上記相互通信部２６０ａ，２６０ｂ間で交換されるトラフィックを監視し、交換されるデータやコントロールの妥当性を検証する監視部２５０ａおよび２５０ｂを備える。なお、相互通信部２６０ａ，２６０ｂは、既存の産業制御システム２４０ａ，２４０ｂのうち、相互にコントロールやデータを交換する機能を抽象化した機能部を表す。
【００３１】
監視部２５０ａ，２５０ｂが行う検査は、特に限定されるものではないが、相手方の産業制御システム２４０から同じユーザ識別名でのログイン要求が反復して失敗した場合に異常を疑うというような一般的なセキュリティ検査や、上記電力流通システムであれば、自己の産業制御システム２４０に過負荷を生じさせるような電力の融通依頼が行われた場合に異常と疑ったり、想定外の発電量や消費電力量が通知された場合に異常を疑ったりするというような、産業制御システム固有の検査を挙げることができる。
【００３２】
監視部２５０ａおよび２５０ｂは、既存の産業制御システム２４０ａおよび２４０ｂ間で通常行われるトラフィックを監視し、その情報の検査の結果、予め設定された異常を疑うべき条件が満たされた場合に、相手方の産業制御システム２４０の異常を疑い、異常通知を発信する。異常通知は、少なくともサンドボックス管理部２１０に送信され、必要に応じて、異常が疑われた産業制御システム以外の周辺産業制御システムのセキュリティ・ゲートウェイに対しても送信される。なお、異常通知は、異常が疑われる産業制御システム２４０を特定する情報（産業制御システムＩＤなど）を含む。また他の実施形態では、疑われる異常の内容を表す値、例えば疑わしい程度を示す値や異常の種類を示す値を付してもよく、上記予め設定された異常を疑うべき条件は、これらの値を決定する条件を含んでいてもよい。なお、上記検査で使用する異常を疑うべき条件は、管理者により個別に設定されてもよく、サンドボックス管理部２１０において集中管理し、サンドボックス管理部２１０からセキュリティ・ゲートウェイ２４２に配布される形で設定されてもよい。
【００３３】
もう１つの態様を示す産業制御システム２４０ｃは、相互接続を考慮せずに設計されている既存の産業制御システムに適用した場合を例示する。産業制御システム２４０ｃ自体は、外部とコントロールやデータの交換をしておらず、他の産業制御システムとの間にトラフィックを発生させていない。そこで、本実施形態では、産業制御システム２４０ｃ外部に設けられたセキュリティ・ゲートウェイ２４２ｃが相互通信部２５４ｃを備え、相互通信部２５４ｃが他の産業制御システムの限定的な検査を行うためのトラフィックを発生させる。監視部２５０ｃは、上記監視部２５０ａ，２５０ｂと同様に、相互通信部２５４ｃと他の産業制御システムの相互通信部との間で交換されるトラフィックを監視し、交換されるデータの妥当性を検証する。
【００３４】
セキュリティ・ゲートウェイ２４２ｃが備える相互通信部２５４ｃは、特に限定されるものではないが、自己の産業制御システム２４０ｃによる仮想センサ２４６や仮想アクチュエータ２４８などへの入出力を監視し、センサデータやコントロール値を拾い上げて相手方に送信することで、トラフィックを発生させることができる。監視部２５０ｃによる検査も、特に限定されるものではないが、上述したような一般的なセキュリティ検査や、相手方から送られてくるセンサデータやコントロール値が許容される範囲外の値をとった場合（例えば、発電量が負の値をとった場合）に異常を疑ったりするというような検査を行うことができる。その他、相互接続を考慮せずに設計されている場合は、外部からのログインや電力の融通依頼は想定されていないため、このような想定されていない外部からの通信を異常として検出する検査を行うこともできる。
【００３５】
上述した産業制御システム２４０ａ〜２４０ｃは、いずれも、既存の産業制御システム２４０に対し、産業制御システム２４０と仮想ネットワーク・アダプタ２４４との間にセキュリティ・ゲートウェイ２４２を介在させることで、異常検知機構を実装する態様を示すものである。これに対して、残りもう１つの態様を示す産業制御システム２４０ｄは、上述したセキュリティ・ゲートウェイ２４２の機能を取り込んで新規設計された産業制御システムを例示する。産業制御システム２４０ｄは、検査のためのトラフィックを発生させる相互通信部２６０ｄと、トラフィックを監視する監視部２６２ｄとを備え、外部モジュールとしてのセキュリティ・ゲートウェイを必要としない。相互通信部２６０ｄおよび監視部２６２ｄは、それぞれ、上記相互通信部２５４ｃおよび監視部２５０ｃと同様の機能を備える。
【００３６】
上記相互通信を行う産業制御システム２４０ａ，２４０ｂの態様では、通常行われるトラフィックを監視することで異常を判定している。このため、相手方の異常を監視するためにトラフィックを別途発生させて相手方のリソースを大量に消費させるというような負荷を増大させない。また、上記相互通信を考慮しない産業制御システム２４０ｃの態様、新規設計された産業制御システム２４０ｄの態様についても、相互通信部２５４ｃ，２６０ｄは、任意のタイミングで、自己のセンサデータやコントロール値を拾い上げて相手方に送信し、また、これを受信するだけであり、特段の負荷を増大させるものではない。上記いずれの態様においても、相手方の産業制御システムの異常が確証できるに足る詳細な検査を行うというものではなく、産業制御システム２４０内で発生する情報を拾い上げて、相手方の異常が疑われるという程度の検査が行われるのみであり、密に相互監視を行う場合に比べても、異常検知のために発生する負荷は極めて小さいといえる。
【００３７】
サンドボックス管理部２１０は、異常通知受信部２１２と、全体トポロジデータ２１４と、異常判定部２１６と、サンドボックス活動制御部２１８とを含み構成される。異常通知受信部２１２は、複数の産業制御システム２４０ａ〜２４０ｄ各々の監視部２５０ａ〜２５０ｃ，２６２ｄから発信される異常通知を受信して、それを全体トポロジデータ２１４に記録する。全体トポロジデータ２１４は、産業制御システム間の相互監視の関係と、いずれの産業制御システムによっていずれの産業システムの異常を疑う異常通知が発せされたかを記録する。例えば、産業制御システム２４０ａが産業制御システム２４０ｂの異常を疑い報告した場合、異常通知受信部２１２は、異常が疑われた産業制御システム２４０ｂについて、産業制御システム２４０ａによる異常通知を記録する。
【００３８】
異常判定部２１６は、全体トポロジデータ２１４を読み出し、複数の産業制御システム２４０各々の監視部２５０，２６２から発信される異常通知を集計して、異常が疑われた制御システムについてレピュテーションを評価し、評価結果から基準に照らして異常と認めるか否かを判定する。上記レピュテーションは、異常が疑われた制御システムを監視している２以上の制御システムからの異常通知をまとめて考慮した結果であり、簡便には、異常通知数、監視する制御システム数に対する異常通知数の割合などにより指標することができる。また、疑われる異常の内容を表す値、例えば疑わしい程度を示す値が異常通知に付されている実施形態では、疑わしい程度を示す値に応じて異常通知数の重み付け総和をとってもよい。さらに、疑われる異常の種類を示す値が付される実施形態では、異常の種類毎に異常通知数の総和をとったり、異常の種類に応じて異常通知数の重み付け総和をとったりすることもできる。さらに、好ましくは、図１に示すようにネットワーク１０２上にＩＤＳ１０４が設置される場合には、ＩＤＳから通知される異常通知も考慮することで、より精度の高い評価を行っても良い。
【００３９】
また評価結果から異常であるか否かを判定する基準は、例えば、異常通知数、監視する制御システム数に対する異常通知数の割合または異常通知数の重み付け総和に対するしきい値を用いることができる。しきい値は、設定により任意の固定値、または条件に応じて変動する変動値とすることができる。しきい値を動的に変動する例としては、全体の異常通知の数または頻度に応じて基準レベルを変動させたり、特定の時間帯毎に基準レベルを変動させたりすることを挙げることができる。また、上記基準は複数あっても良く、例えば異常の種類毎に異常通知数の総和とる場合には、異常の種類毎にしきい値を設け、異常の種類毎の条件を用いた論理和または論理積として規定してもよい。
【００４０】
サンドボックス活動制御部２１８は、各サンドボックス（仮想マシン）２３２の活動状態を制御しており、上記レピュテーションの評価基準に照らし異常であると判定された場合、異常が確認された産業制御システム２４０を稼働させているハイパーバイザ２３０に対し命令を発行し、サンドボックス２３２を活動化する。サンドボックス２３２が活動化すると、少なくともサンドボックス２３２内部から外界へのアウトバウンドのトラフィックが制限される。アウトバウンドのトラフィックの制限は、内部の産業制御システム２４０から仮想アクチュエータ２４８を経由した外界の実アクチュエータ１２４へのコントロールがある場合、この実アクチュエータ１２４への接続を遮断することにより行うことができ、より好ましくは、仮想アクチュエータ２４８から、コントロールに応じて制御されているかのように振る舞うダミーのアクチュエータへ論理的な接続を変更することにより行われる。
【００４１】
一方、外界の実センサ１２２からサンドボックス２３２内部へ流れるセンサデータのようなインバウンドのトラフィックについては、好ましくは制限を設けず、そのまま産業制御システム２４０に到達することを許しても良い。例えば、実センサ１２２から産業制御システム２４０への片方向のデータフローのみである場合は、実センサ１２２への接続を維持することができる。実センサ１２２からのセンサデータを透過させ、実アクチュエータ１２４からダミー・アクチュエータへと論理的接続を切り替えることによって、仮に産業制御システム２４０にネットワーク経由で侵入した者があった場合でも、産業制御システムを隔離したことを侵入者に気付かせないようにすることが可能となる。
【００４２】
図３には、産業制御システム２４０毎に設けられる周辺トポロジデータ２５２，２６４が示されている。周辺トポロジデータ２５２ａ〜２５２ｃ，２６４ｄは、それぞれ、セキュリティ・ゲートウェイ２４２ａ〜２４２ｃおよび産業制御システム２４０ｄが、自己が監視する相手方の産業制御システム２４０について異常通知が行われた状況を把握するために好適に備えることができるデータであり、その詳細については後述する。
【００４３】
図４は、本発明の実施形態による異常検知機構における異常検知処理の流れを説明する図である。図４に示す例では、まず産業制御システム２４０ｂのセキュリティ・ゲートウェイは、定期的または不定期に産業制御システム２４０ｃとの間を流れるトラフィックを検査し、異常が疑われるか否かを判定する（１）。産業制御システム２４０ｂのセキュリティ・ゲートウェイは、産業制御システム２４０ｃの異常が疑われると、サンドボックス管理部２１０と、産業制御システム２４０ｃを同じく監視する産業制御システム２４０ａのセキュリティ・ゲートウェイとに異常通知を行う（２）。
【００４４】
この時点では、サンドボックス管理部２１０は、産業制御システム２４０ｃを監視する２つの産業制御システム２４０ａおよび２４０ｂのうち、産業制御システム２４０ｂからの異常通知のみを受けており、ここでは「監視する産業制御システムの過半数から異常通知が行われた場合に異常と認定する」という基準を満たしていないと判定し、産業制御システム２４０ｃのサンドボックス２３２ｃの活動化は行われない。特定の実施形態では、このとき、産業制御システム２４０ｂからの異常通知を受けた産業制御システム２４０ａのセキュリティ・ゲートウェイは、警戒レベルを上げるべく、上記検査におけるしきい値を変化させてもよい。
【００４５】
続いて、産業制御システム２４０ａのセキュリティ・ゲートウェイは、定期的、不定期に、または上記異常通知を受けたタイミングで、産業制御システム２４０ｃとの間を流れるトラフィックを検査し、産業制御システム２４０ｃに異常が疑われるか否かを判定する（３）。産業制御システム２４０ａのセキュリティ・ゲートウェイは、産業制御システム２４０ｃの異常が疑われると、サンドボックス管理部２１０に異常通知を行う（４）。このとき、セキュリティ・ゲートウェイが周辺トポロジデータを保持し、産業制御システム２４０ｂから異常通知を受けたことを記憶しておくことができる実施形態では、産業制御システム２４０ｃを監視し既に異常通知を発信している産業制御システム２４０ｂのセキュリティ・ゲートウェイへの異常通知を省略することができる。また、周辺トポロジデータが保持されず、産業制御システム２４０ｂのセキュリティ・ゲートウェイへの異常通知が省略されない実施形態であっても、産業制御システム２４０ｂのセキュリティ・ゲートウェイは、自身で既に異常通知を行っているため、産業制御システム２４０ａからの異常通知に応答して改めて検査を実施する必要はない。
【００４６】
この時点で、サンドボックス管理部２１０は、産業制御システム２４０ｃを監視する過半数以上から異常通知が行われているため、「監視する産業制御システムの過半数から異常通知が行われた場合に異常と認定する」という基準が満たされると判定し、産業制御システム２４０ｃが異常であると認定し、該産業制御システム２４０ｃが稼働する物理マシン上のハイパーバイザに命令を発行し、サンドボックス２３２ｃの活動化を行う（５）。これにより、異常が確認された産業制御システム２４０ｃは、少なくとも外界の実アクチュエータへのアウトバウンド・トラフィックが遮断され、外界から隔離されることになる。さらに、必要があれば、サンドボックス管理部２１０は、異常が確認された産業制御システム２４０ｃを検査用ネットワークに接続し、ウイルスチェックなどのさらなる詳細な検査および診断を行うことができる（６）。
【００４７】
図５は、本発明の実施形態による異常検知機構における異常検知処理の流れを、産業制御システムの相互監視トポロジーに関連して説明する図である。図５（Ａ）は、産業制御システム２４０の相互監視トポロジーを図示し、産業制御システムＡが４つの産業制御システムＢ〜Ｅにより監視されている様子を示す。産業制御システムＡを監視する４つの産業制御システムＢ〜Ｅを、便宜上、産業制御システムＡの「周辺システム」と参照し、周辺システムＢ〜Ｅにより監視される産業制御システムＡを「注目システム」と参照する。周辺システムＢ〜Ｅは、それぞれ、注目システムＡについての異常通知を相互に交換し合う。図５（Ａ）では、上記周辺システムＢ〜Ｅのうち３つの産業制御システムＢ，Ｄ，Ｅが、それぞれ、注目システムＡについての異常通知を発信している。
【００４８】
このとき、周辺システム数に対する異常通知数が過半数（割合が５０％を超える）となることが異常と認定する基準として設定されていた場合、図５（Ｂ）に示すように、サンドボックス管理部２１０は、産業制御システムＡの異常通知が過半数であることを検知して、産業制御システムＡのサンドボックス２３２を活動化させる。上述したように本発明の実施形態では、サンドボックス管理部２１０は、産業制御システム２４０からの異常通知を集計し、産業制御システム２４０の相互監視トポロジーに応じて、異常が疑われた産業制御システムのレピュテーションを評価することによって、対処すべき異常を認定する。
【００４９】
産業制御システム２４０の相互監視トポロジーは、特に限定されるものではないが、図６（Ａ）に示すように、例えば相互通信をし合う発電管理システムＡ〜Ｄをグループ化（グループ３００ａ）して相互監視させる一方で、同様に相互通信をし合うユーティリティ管理システムＥ〜Ｇをグループ化（グループ３００ｂ）して相互監視させるというように、相互通信をし合う機能的な集まり毎に個別にグループを定義することができる。さらに他の例では、図６（Ｂ）に示すように、産業制御システムの任意の配列を定義し、配列上の隣接システム間で相互監視を行うよう各セキュリティ・ゲートウェイ２４２の相互通信部２５４に設定して、相互監視トポロジーを定義することもできる。
【００５０】
図７は、本発明の実施形態による産業システムにおいて保持されるトポロジデータのデータ構造を例示する。図７（Ａ）は、サンドボックス管理部２１０により管理される全体トポロジデータ２１４を示す。全体トポロジデータ２１４は、注目システム毎に１以上の周辺システムとの関係を管理し、各周辺システムによる注目システムについての異常通知の状況（異常通知の有無、疑わしい程度や異常の種類を示す値が付される場合にはその値を含む。）を記録する。図７（Ａ）に示す全体トポロジデータ２１４は、図６（Ｂ）に示したトポロジーに対応するものであり、この例では、産業制御システムＡを注目システムとして、産業制御システムＢ〜Ｅの４つの周辺システムによる異常通知の状況が記録され、産業制御システムＢを注目システムとして、産業制御システムＡ，Ｆ〜Ｈの４つの周辺システムによる異常通知の状況が記録されている。図７（Ａ）はまた、周辺システムＢ，Ｄ，Ｅから産業制御システムＡについて異常通知が行われたことを記録している。
【００５１】
なお、説明する実施形態のように産業システム１００内に１つのサンドボックス管理部２１０が設置される場合は、産業システム１００内の各産業制御システム２４０を注目システムとして管理する全体トポロジデータ２１４を採用することができる。しかしながら、トポロジーの管理方法は、これに特に限定されるものではない。他の実施形態では、産業システム１００内の管理する産業制御システム２４０の管理範囲を分掌し合う複数のサンドボックス管理部２１０を設けることができ、この実施形態では、各サンドボックス管理部に、割り振られた管理範囲毎にトポロジデータを設ける態様とすることができる。
【００５２】
図７（Ｂ）は、各産業制御システム２４０毎に管理される周辺トポロジデータ２５２，２６４のうちの、産業制御システムＢが管理するデータを例示する。周辺トポロジデータは、各産業制御システム毎に設けられ、周辺トポロジデータを具備する産業制御システムが監視している産業制御システム（以下、監視対象システムと参照します。）毎に、対応する他の１以上の周辺システムによる監視対象システムについての異常通知の状況を記録する。
【００５３】
図７（Ｂ）に示す周辺トポロジデータは、図６（Ｂ）に示したトポロジーに対応し、産業制御システムＢの周辺トポロジデータを示す。図７（Ｂ）に示す周辺トポロジデータは、産業制御システムＡ，Ｆ，Ｇ，Ｈをそれぞれ監視対象システムとして、産業制御システムＢ自身の異常検知の有無と、産業制御システムＢ以外の他の周辺システムによる監視対象システムについての異常通知の状況を記録する。例えば、監視対象システムＡについては、産業制御システムＣ〜Ｅの３つの周辺システム（図７（Ｂ）ではＡ周辺システムとして示す。監視対象システムＦ，Ｇ，Ｈについても同様。）による異常通知の状況が記録されている。図７（Ｂ）に示す周辺トポロジデータでは、産業制御システムＢが、産業制御システムＡについて、自身で異常を検知し、さらに産業制御システムＤ，Ｅの２つの周辺システムから異常通知を受け取ったことが記録されている。図７（Ｂ）に示す周辺トポロジデータを参照することにより、産業制御システムＢのセキュリティ・ゲートウェイは、自身が産業制御システムＡの異常を検知した際に、産業制御システムＤ，Ｅの２つの周辺システムへの通知が省略できると判断できる。
【００５４】
以下、図８および図９を参照しながら、本発明の実施形態による産業システムにおいて実行される異常検知処理について、より詳細に説明する。図８は、本発明の実施形態による産業制御システム毎に設けられる監視部が実行する異常通知処理を示すフローチャートである。図８に示す処理は、定期的に、不定期にまたは他の産業制御システムから異常通知を受信したことに応答して、ステップＳ１００から開始する。なお、図８に示す処理は、監視する相手方の産業制御システム毎に実行される。
【００５５】
ステップＳ１０１では、監視部は、監視する相手方の産業制御システムの相互通信部（図３に示す産業制御システム２４０ａ，２４０ｂでは２６０ａ，２６０ｂが対応し、産業制御システム２４０ｃでは２５４ｃが対応し、産業制御システム２４０ｄでは２６０ｄが対応する。）から当該産業制御システムの相互通信部へ流れるトラフィック・データを拾い上げる。
【００５６】
ステップＳ１０２では、監視部は、所与の異常を疑うべき条件に照らして、監視する相手方の産業制御システムからのトラフィック・データの妥当性を検証する。ここでは、上述したような一般的なセキュリティ検査や、相手方から送られてくるセンサデータやコントロール値が許容される範囲内であるか否かの検査が行われる。ステップＳ１０３では、監視部は、異常を疑うべき条件が満たされたか否かを判定し、満たされた場合（ＹＥＳ）には、ステップＳ１０４へ処理を進める。
【００５７】
ステップＳ１０４では、監視部は、相手方の産業制御システムの異常を疑い、サンドボックス管理部２１０に対して異常通知を送信する。ステップＳ１０５では、監視部は、周辺トポロジデータを参照して、相手方の産業制御システムを監視対象システムとする他の周辺システムの異常通知状況を確認し、未だ異常通知が行われていない他の産業制御システムがあれば、その産業制御システムに対して異常通知を送信し、ステップＳ１０６で本処理を終了する。なお、各セキュリティ・ゲートウェイ２４２が周辺トポロジデータを保持していない実施形態においては、監視部は、ステップＳ１０５で、異常通知をブロードキャストしてもよいし、ステップＳ１０５を設けずにステップＳ１０４で異常通知をサンドボックス管理部２１０に対してだけ行ってもよい。一方、ステップＳ１０３で、異常を疑うべき条件が満たされないと判定された場合（ＮＯ）には、ステップＳ１０６へ直接処理を進め、本処理を終了する。
【００５８】
図９は、本発明の実施形態によるサンドボックス管理部が実行する異常検知処理を示すフローチャートである。図９に示す処理は、いずれかの産業制御システムに設けられた監視部から異常通知がなされたことに応答して、ステップＳ２００から開始する。ステップＳ２０１では、サンドボックス管理部２１０は、上記いずれかの産業制御システムの監視部から異常通知を受信し、ステップＳ２０２で、異常通知に付された産業制御システムＩＤから異常が疑われた産業制御システムを識別する。
【００５９】
ステップＳ２０３では、サンドボックス管理部２１０は、異常が疑われた産業制御システムについて、上記産業制御システムからの異常報告を記録して、全体トポロジデータ２１４を更新し、識別された産業制御システムについて集計し、レピュテーションの評価を行う。ここでは、異常が疑われた産業制御システムについて、行われた異常通知回数を計数する。また、レピュテーションの評価基準として、周辺システム数に対する異常通知数の割合に対する基準や、監視するすべての産業制御システムから異常通知が行われた場合に異常と認定するというような基準が設定される場合は、当該産業制御システムを監視している周辺システム数についても計数する。
【００６０】
ステップＳ２０４では、サンドボックス管理部２１０は、異常が疑われた産業制御システムについての周辺システムによるレピュテーションを評価結果から、基準に照らし異常であると認定すべき条件が成立するか否かを判定する。ステップＳ２０４で、異常であると認定された場合（ＹＥＳ）には、ステップＳ２０５へ処理が進められる。ステップＳ２０５では、サンドボックス管理部２１０は、異常であると認定された産業制御システムを備えている仮想マシンを稼働させるハイパーバイザ２３０に対し、命令を発行し、サンドボックスを活動化させる。
【００６１】
ステップＳ２０６では、さらに、上記ハイパーバイザに対し命令を発行して、異常であると認定された産業制御システムを検査用ネットワーク２３６へ接続する。検査用ネットワーク２３６は、詳細な検査および診断を実施できる診断モジュールが接続されるネットワークであって、異常が認定された産業制御システムが参加することができる、通常のネットワークと隔離されたネットワークである。図１０は、異常が認定された産業制御システムを稼働させる仮想マシン２３２ｂの仮想ネットワーク・アダプタ２４４ｂの論理的接続を、図２に示した通常の仮想ネットワーク２３４から検査用ネットワーク２３６へ切り替え、さらに仮想センサ２４６ｂおよび仮想アクチュエータ２４８ｂへの接続をブロックしている様子を示す。なお、図１０は、サンドボックス管理部２１０が上記診断モジュールを備える場合を例示するが、診断モジュールは、個別のモジュールとして他のコンピュータ・システム上に実装されてもよい。
【００６２】
ステップＳ２０７では、検査ネットワーク２３６を介して、例えば管理サーバ１１０が備える診断モジュールを用いて、異常であると認定された産業制御システムの詳細な検査および診断を実施する。ステップＳ２０８では、詳細な検査および診断の結果、異常が見つかったか否かを判定する。ステップＳ２０８で、異常が見つかったと判定された場合（ＹＥＳ）には、ステップＳ２０９へ処理を進める。ステップＳ２０９では、サンドボックス管理部２１０は、予め設定された対策アクションを実施し、ステップＳ２１１で、本処理を終了させる。
【００６３】
ステップＳ２０９で実施する対策アクションとしては、アラート通知、異常が疑われた産業制御システムのサンドボックス活動状態での稼働の継続、上記異常が疑われた産業制御システムのさらに詳細な検査、異常が疑われた制御システムのスナップショットまたはバックアップを利用した初期状態またはスナップショット作成時の状態からの再開を行うことができる。上記サンドボックス活動状態での産業制御システムの稼働の継続は、マルウェアの出所を調査することを目的として有用である。また、その際には、好適には、異常であると認定された産業制御システムを稼働させるハイパーバイザ２３０に対し命令を発行し、異常であると認定された仮想マシン２３２の時間の進み方をあえて遅らせることもできる。このような仮想マシン２３２の時間の遅延は、例えば特開２００７−３４６７２号公報（特許文献７）に開示される技術を利用することで実現することができる。これにより、異常が認定された産業制御システムで万が一異常が発生していても、不具合の進展および外部への悪影響を最小限にとどめながら、産業制御システムの振る舞いを観察することができる。
【００６４】
一方、ステップＳ２０８で、異常なしと判定された場合（ＮＯ）には、ステップＳ２１０へ処理が進められる。ステップＳ２１０では、異常が実際に見つからなかったため、サンドボックス管理部２１０は、異常であると認定された仮想マシンを稼働させるハイパーバイザ２３０に対し命令を発行し、サンドボックスを非活動化し、通常状態へ復旧させ、ステップＳ２１１で本処理を終了させる。一方、ステップＳ２０４で、基準に照らし異常であると認定すべき条件が成立しないと判定された場合（ＮＯ）にも、ステップＳ２１１で本処理を終了させる。
【００６５】
上述した実施形態によれば、産業制御システム２４０間の相互通信を緩やかに監視することによってシステム内で異常が疑われる産業制御システムを効率的に検知することが可能となり、ひいては、異常検知のための産業制御システム間の監視負荷を低減することができる。さらに、サンドボックス（つまり保護領域）は、通常状態では、内部で稼働する産業制御システムと外界とのトラフィックについて何ら制限を行わず、異常が確認された段階で隔離を行うため、産業制御システムは、サンドボックスが非活動状態においては、通常と何ら変わりのない環境で動作することになる。
【００６６】
以上説明したように、本発明の実施形態によれば、制御システム間の相互通信を利用して緩やかに監視することにより、システム内で異常が疑われる制御システムを効率的に検知し、異常が確認された制御システムを隔離することができる異常検知システム、異常検知装置、異常検知方法、プログラムおよび記録媒体を提供することができる。
【００６７】
本発明の実施形態によるサンドボックス管理部２１０を備える管理サーバ１１０は、コンピュータ実行可能なプログラムを、コンピュータ装置にロードして各機能部を実現することにより、異常検知装置として提供される。このようなプログラムとしては、例えば、ＦＯＲＴＲＡＮ、ＣＯＢＯＬ、ＰＬ／Ｉ、Ｃ、Ｃ＋＋、Ｊａｖａ（登録商標）、Ｊａｖａ（登録商標）Ｂｅａｎｓ、Ｊａｖａ（登録商標）Ａｐｐｌｅｔ、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ、Ｐｅｒｌ、Ｒｕｂｙなどのレガシー・プログラミング言語やオブジェクト指向プログラミング言語などで記述された、コンピュータ実行可能なプログラムにより実現でき、装置可読な記録媒体に格納して頒布することができる。
【００６８】
これまで本発明を図面に示した実施形態および実施例をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【００６９】
１００…産業システム、１０２…ネットワーク、１０４…ＩＤＳ、１１０…管理サーバ、１２０…物理マシン、１２２，１２６…センサ、１２４，１２８…アクチュエータ、２００…機能ブロック、２１０…サンドボックス管理部、２１２…異常通知受信部、２１４…全体トポロジデータ、２１６…異常判定部、２１８…サンドボックス活動制御部、２３０…ハイパーバイザ、２３２…仮想マシン、２３４…仮想ネットワーク、２３６…検査用ネットワーク、２４０…産業制御システム、２４２…セキュリティ・ゲートウェイ、２４４…仮想ネットワーク・アダプタ、２４６…仮想センサ、２４８…仮想アクチュエータ、２５０，２６２…監視部、２５２，２６４…周辺トポロジデータ、２５４，２６０…相互通信部、３００…グループ
【図１】
0005689333.tif 000002
【図２】
0005689333.tif 000003
【図３】
0005689333.tif 000004
【図４】
0005689333.tif 000005
【図５】
0005689333.tif 000006
【図６】
0005689333.tif 000007
【図７】
0005689333.tif 000008
【図８】
0005689333.tif 000009
【図９】
0005689333.tif 000010
【図１０】
0005689333.tif 000011