異常検知装置、監視制御システム、異常検知方法、プログラムおよび記録媒体
【課題】 重要インフラストラクチャ等における制御システムをセキュリティ保護すること。
【解決手段】本発明の異常検知装置150は、制御ネットワーク130内で発生したイベント情報を受信して、制御システム102を含むリソース(110,120など)およびプロセス間の依存関係を維持する構成管理データベース170に照会し、イベント情報に関わるリソースが属するグループを識別する識別部152と、異常が疑われる状況を規定する条件と1以上のアクションとを対応付ける1以上のポリシを記憶するポリシ記憶部160と、1以上のポリシを適用する上で必要となるグループ関連情報を取得してイベント情報に付加する付加部156と、1以上のポリシに対しイベント情報を適用し、合致する条件に対応付けられるアクションを実施するべきアクションとして決定する決定部158とを含み、制御ネットワーク130の異常を検知する。
【解決手段】本発明の異常検知装置150は、制御ネットワーク130内で発生したイベント情報を受信して、制御システム102を含むリソース(110,120など)およびプロセス間の依存関係を維持する構成管理データベース170に照会し、イベント情報に関わるリソースが属するグループを識別する識別部152と、異常が疑われる状況を規定する条件と1以上のアクションとを対応付ける1以上のポリシを記憶するポリシ記憶部160と、1以上のポリシを適用する上で必要となるグループ関連情報を取得してイベント情報に付加する付加部156と、1以上のポリシに対しイベント情報を適用し、合致する条件に対応付けられるアクションを実施するべきアクションとして決定する決定部158とを含み、制御ネットワーク130の異常を検知する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報セキュリティ技術に関し、より詳細には、重要インフラストラクチャ等における制御システムをセキュリティ保護するための異常検知装置、監視制御システム、異常検知方法、プログラムおよび記録媒体に関する。
【背景技術】
【0002】
現代社会は、電力、ガス、水道、鉄道、金融、プラント、パイプラインなど様々なインフラストラクチャの上に成り立っている。上述のような社会的に重要なインフラストラクチャの制御システムは、その機能が停止すれば、社会経済に大きな影響を及ぼすおそれがあるため、旧来、外部から隔離され、仕様も公開されないクローズド・システムでの稼働を前提として設計され、運用されてきた。ところが、近年、接続性、生産性の向上、経営判断の効率化などの経営面からの要請により、上述のような旧来システムから、オープン・システムに移行しつつある。制御システムの専用製品や独自の構造は、汎用製品やTCP/IP等の標準プロトコルに置き換えられ始め、ネットワークを介した制御システム間の連携、情報処理システムとの連携も進んでいる。
【0003】
しかしながら、オープン化が進むにつれ、制御システムは、汎用製品に存在する脆弱性、不正アクセス、情報漏洩、ウィルス、ワームなど、情報処理システムで発生している様々な脅威に晒される。上述のような重要なインフラストラクチャは、万が一攻撃を受けた場合、その影響が大規模かつ広範囲となる。また、産業制御システム(Industrial Control System)は、プラントやパイプラインにおけるポンプ、バルブなどアクチュエータを制御しているため、その誤作動は、ときには人的被害や環境破壊をもたらす。したがって、制御システムのオープン化に伴い、このような脅威から制御システムを保護するための高度なセキュリティを実現することが望ましい。また、万が一上述のような脅威が疑われる事態が発生した場合は、その異常を迅速に検知して適切な対策を講じることが望ましい。
【0004】
上記脆弱性、不正アクセス等は、情報処理システムにおいても既に発生している問題であることから、情報処理システムで適用されているセキュリティ技術を導入することも、ある程度有用であるとも考えられる。情報処理システムにおけるセキュリティ技術としては、例えば、特許第4521456号公報(特許文献1)は、被管理情報処理装置の動作をコントロールするためのセキュリティ・ポリシを被管理情報処理装置に配布する情報処理装置を開示する。また、特開2007−274027号公報(特許文献2)は、遠隔操作による回復サービスを容易に導入可能なリモートオペレーションシステムを開示する。しかしながら、産業制御システムは、情報処理システムとは異なる性質があり、情報処理システムで行われているセキュリティ技術を適用するだけでは充分ではない場合があった。上述のような脅威が疑われる異常を、迅速に検知して対策を講じることができない場合があった。
【0005】
ところで、近年、ITサービスにおいて、管理対象のコンポーネントに関する情報を一元的に管理し、必要なときに必要な情報を提供することを目的として、構成管理データベース(CMDB:Configuration Management Database)が注目されている。CMDBは、サービス管理の対象となるハードウェア、ソフトウェア等のリソース、ドキュメント、インシデント履歴情報、さらには人的資源を含めて各構成要素を構成アイテム(CI;Configuration Item)として維持管理し、把握できるように支援するものである(特許文献3,特許文献4)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許4521456号公報
【特許文献2】特開2007−274027号公報
【特許文献3】特開2009−245029号公報
【特許文献4】特開平9−69083号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明は、上記従来の制御システムにおける問題点を鑑みてなされたものであり、本発明は、上述した構成管理データベースを利用し、制御システムにおけるデバイス、機材、センサ、アクチュエータなどの構成要素間の依存関係を考慮し、構成要素間でネットワークを流れるデータ・トラフィックから、異常が疑われる振る舞いを検知し、迅速に対策アクションを起こすことができる、異常検知装置、監視制御システム、異常検知方法、プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、上記従来技術の課題を解決するために、以下の特徴を有する異常検知装置および該異常検知装置を含む監視制御システムを提供する。本発明の異常検知装置は、制御ネットワーク内で発生したイベント情報を受信して、制御システムを含むリソースおよびプロセス間の依存関係を維持する構成管理データベースに照会し、該イベント情報に関わるリソースが属するグループを識別する。異常検知装置は、異常が疑われる状況を規定する条件と1以上のアクションとを対応付ける1以上のポリシを記憶するポリシ記憶部を参照して、1以上のポリシを読み出す。異常検知装置は、1以上のポリシを適用する上で必要となるグループに関連する情報を取得し、イベント情報に付加し、情報の豊富化を行う。そして、異常検知装置は、1以上のポリシに対しイベント情報を適用し、合致する条件に対応付けられるアクションを実施するべきアクションとして決定する。
【0009】
上記構成管理データベースは、プロセスおよびリソースを構成アイテムとして維持し、プロセス間、リソース間、プロセスおよびリソース間の関係により依存関係をも記述することができる。上記取得されるグループに関連する情報は、上記構成管理データベースまたはプロセス管理システムなどの外部システムから取得されるグループに属するプロセスの状況情報、上記グループに属するプロセスの属性情報および上記グループに属するリソースの属性情報またはこれらの少なくとも1つの情報を含むことができる。上記条件は、グループに関連する情報を条件式に含むことができる。
【発明の効果】
【0010】
上記構成によれば、上述した構成管理データベースを利用することで、制御ネットワークにおけるプロセス、リソース間の依存関係を考慮して制御ネットワーク内の現在の状況を解析し、リソース・グループ全体の振る舞いとして異常の疑われる状況をも好適に検知し、さらに適切な対策アクションおよび該アクションを実施させる対象を決定することができる。したがって、アクチュエータ等のリソース単独の動きからは容易に判別し得ない異常を好適に検知することが可能となり、ひいては、産業制御システムのオープン化に伴うセキュリティ低下を好適に防止することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態による産業システムの概略構成を示す図。
【図2】構成管理データベースと連携した異常検知に基づく監視制御処理で使用されるデータを説明する図。
【図3】構成管理データベース内に構築される構成アイテム間の関係を模式的に表した図。
【図4】構築された構成管理データベースのデータ構造を例示する図。
【図5】プロセス管理システムが管理するプロセスに関するデータ構造を例示する図。
【図6】本発明の実施形態による解析エンジンが実行する、異常検知処理を示すフローチャート。
【図7】セキュリティ・ポリシのデータ構造を例示する図。
【図8】他のセキュリティ・ポリシのデータ構造を例示する図。
【図9】他のセキュリティ・ポリシのデータ構造を例示する図。
【図10】他のセキュリティ・ポリシのデータ構造を例示する図。
【図11】さらに他のセキュリティ・ポリシのデータ構造を例示する図。
【発明を実施するための形態】
【0012】
以下、本発明について実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。以下に説明する実施形態では、1以上の制御システムを含む制御ネットワークの異常を検知する異常検知装置、および監視制御システムとして、制御ネットワークの異常を検知する解析エンジン、および上記解析エンジンとセキュリティ・ゲートウェイとを含む産業システムを例として説明する。
【0013】
以下、図1を参照して、本発明の実施形態による産業システムの全体構成について説明する。図1は、本発明の実施形態による産業システムの概略構成を示す図である。図1に示す産業システム100は、制御ネットワーク130に接続される、制御システム102、コンソール・システム104、保守システム106、分析システム108、機材110およびデバイス120を含む。産業システム100は、例えば、農業、金融、化学、商業施設、ダム、防衛産業基盤、緊急サービス、エネルギー、政府施設、情報技術、原子炉、物流、公共衛生、通信、輸送、水道、重要製造業などにおけるシステムである。
【0014】
制御システム102は、機材110およびデバイス120のシステム監視、プロセス制御を行うシステムであり、例えば、地理的に分散した制御対象を遠隔集中監視し、制御データの収集を行うSCADA(Supervisory Control And Data Acquisition)、分散制御システム(DCS:Distributed Control System)などのホストコンピュータをいう。制御システム102には、その他、プログラマブル・ロジック・コントローラ(PLC)や遠隔監視制御装置(RTU)を含めてもよい。コンソール・システム104は、対象システムのデータをオペレータに提示し、オペレータがシステムを監視し制御できるようにするHMI(ヒューマン・マシン・インタフェース)である。保守システム106は、機材110およびデバイス120等を遠隔的に保守点検を行うためのシステムである。分析システム108は、センサ端末からゲートウェイを通して集計したデータに対して相関モデル等を適用し、統計的な解析に基づいて異常を検出する分析システムである。
【0015】
機材110およびデバイス120は、共に、センサ112,122やアクチュエータ114,124などのフィールド機器にセンサバスを介して接続するセンサ端末である。なお、機材110およびデバイス120の分類は、任意であり、産業システム100の運用者が適宜決定すればよい。説明する実施形態では、機材110は、主として、単独で機能する装置をいうものとし、デバイス120は、主として他の機材110を装備することが可能な装置をいうものとする。上記センサ112,122としては、特に限定されるものではないが、温度センサ、湿度センサ、流量計、水位計、照度計、電力計、人感知センサなどの種々の計測器を挙げることができる。上記アクチュエータ114,124としては、特に限定されるものではないが、バルブ、コンプレッサ、その他モータや能動的に機能する装置を挙げることができる。
【0016】
制御ネットワーク130は、特に限定されるものではないが、フィールド・ネットワーク、コントロール・ネットワーク、制御情報ネットワークを含み、制御ネットワーク130上には、各種信号やデータが伝送される。本発明の実施形態による産業システム100では、制御ネットワーク130には、さらに、1以上のセキュリティ・ゲートウェイ140が接続される。セキュリティ・ゲートウェイ140は、制御ネットワーク130のトラフィックを監視しており、異常を検知するため制御ネットワーク130内で発生したイベントを拾い上げる。セキュリティ・ゲートウェイ140は、解析エンジン150に接続されており、拾い上げたイベントに関する信号およびデータを適宜フォーマット変換し、詳細な解析を行わせるため解析エンジン150に渡す。
【0017】
解析エンジン150は、受け取ったイベント情報を解析して、制御ネットワーク130内で発生した異常の検知を試みる。産業制御システム(ICS)では、制御ネットワーク130内の機材、デバイス、センサ、アクチュエータ等の個別要素の動作を監視しても、制御ネットワーク130内で発生する異常を発見することが難しい場合がある。例えば、あるアクチュエータが、使用されておらず、またその使用の計画さえないにもかかわらず、動作している場合は、不正侵入等何らかの異常を疑うべきである。しかしながら、アクチュエータ自体が通常の動作範囲で動いている限り、アクチュエータの動きからは、その不穏な動きを異常として検知することは難しい。つまり、制御システムでは、一般的な情報処理システムと異なり、その異常を正しく検知するためには、上記デバイス、機材、センサ、アクチュエータ等のリソース間の依存関係を把握した上で、リソース間を流れるデータ・トラフィックから異常の疑いのあるイベントを拾い上げる必要がある。
【0018】
そこで、本発明の実施形態による産業システム100では、解析エンジン150は、構成管理データベース(CMDB)170と連携して、機材、デバイス、センサ、アクチュエータ等の依存関係を考慮した上でイベント情報を解析する。イベント解析の結果、異常が疑われる場合には、解析エンジン150は、推奨される対策アクションを決定し、セキュリティ・ゲートウェイ140に通知し、セキュリティ・ゲートウェイ140に対策アクションを実行させる。
【0019】
以下、CMDB170と連携した異常検知に基づく監視制御の構成について、より詳細に説明する。セキュリティ・ゲートウェイ140は、より詳細には、監視部142を含み構成される。監視部142は、制御ネットワーク130内を伝送するセンサデータやセンサ信号、アクチュエータに対する操作コマンドや制御信号などのトラフィックを監視し、所定フォーマットのイベント情報を生成し、解析エンジン150に渡す。制御ネットワーク130では、多種多様な形式でデータおよび信号が伝送されることが想定されるため、監視部142は、種々のデータ形式から統一的なデータ形式へ変換するフォーマット変換器としての機能を備えることが好ましい。
【0020】
好適な実施形態では、監視部142は、多種多様な形式で表現されたデータおよび信号から、送信元を識別する送信元ID(IDentifier)と、宛先を識別する宛先IDと、イベントのタイプを識別するイベントタイプと、上記センサデータや操作指令であるイベントデータとを含む所定形式のイベント情報を生成することができる。イベントタイプとは、センサデータであるか、操作命令であるかなど、イベントの型を表す。イベントデータは、一般には、センサ112,122からの出力であれば、センサデータを含み、アクチュエータ114,124に対する操作命令であれば、そのコマンドおよびその引数を含む。
【0021】
解析エンジン150は、より詳細には、グループ識別部152と、イベント解析部154とを含み構成される。グループ識別部152は、セキュリティ・ゲートウェイ140の監視部142からイベント情報を受け取り、CMDB170に照会を行う。CMDB170は、構成アイテム(CI;Configuration Item)とその重要な属性の詳細を維持し、さらに構成アイテム間の関係を管理することで、管理対象に関する情報の統合された構成管理を実現する。構成アイテム(CI)は、CMDB170内の情報を管理するための基本単位であり、本発明の実施形態においては、構成アイテムは、主としてプロセスおよびリソースに分類される。
【0022】
上記構成アイテムのうちの「リソース」(以下、「リソース」の構成アイテムをリソースCIという。)は、上記制御システム、機材、デバイス、センサ、アクチュエータ、ネットワーク機器、コンソール・システム、保守システム、分析システムなどの構成要素、その他フロアやビルディングなどの施設や設備を含むことができる。上記構成アイテムのうちの「プロセス」(以下、プロセスの構成アイテムをプロセスCIという。)は、上記リソースを使用するか、または使用する計画がある(以下、使用計画を含め「使用する」という。)処理または作業を意味する。プロセスの粒度は、特に限定されるものではなく、プロジェクト管理システムにおけるプロジェクトを構成するサブプロジェクト、ワークフロー管理システムにおけるワークフローを構成する工程のように、プロセスが他のプロセスを含む関係にあってもよい。プロセスとしては、定期点検、通常の製造工程、インシデント対応、緊急対応などを挙げることができる。
【0023】
グループ識別部152は、上記イベント情報に含まれる送信元IDおよび宛先IDを用いて、CMDB170に照会し、当該イベント情報に関わる送信元または宛先のリソースが属するリソース・グループを識別するグループIDを取得し、上記イベント情報に付す。ここで、リソース・グループとは、リソースを使用するプロセス、該プロセスが使用する他のリソースなど、CMDB170内に定義される依存関係を辿ることでグループ化されるリソース群をいう。なお、CMDB170内でリソース・グループが管理されていない実施形態では、上記グループIDに代えて、グループに属するリソースのIDリストを用いても良い。いずれの場合も、グループを識別する情報(以下、グループIDおよびリソースのIDリストをまとめてグループ識別情報と参照する。)がイベント情報に付される。グループ識別情報が付されたイベント情報(以下、グループ識別済みイベント情報という。)は、グループ識別部152からイベント解析部154へ渡される。
【0024】
イベント解析部154は、上記グループ識別済みイベント情報をグループ識別部152から受け取り、このグループ識別済みイベント情報に含まれる情報を使用して、所与のセキュリティ・ポリシに従いマッチング処理およびアクション決定処理を実行する。イベント解析部154は、より詳細には、情報付加部156と、アクション決定部158とを含む。上記セキュリティ・ポリシは、制御ネットワーク130において異常を疑うべき状況を規定するマッチング条件と、その疑われる異常に対抗するための1以上の対策アクションとを対応付けるユーザ定義データである。上記セキュリティ・ポリシは、上記マッチング条件を記述するマッチング記述部と、それに対応付けられる1以上の対策アクションを記述するアクション記述部とを含み、1以上のセキュリティ・ポリシがセキュリティ・ポリシ記憶部160に管理される。マッチング条件は、好適には、送信元および宛先リソースの依存関係に関連した条件を含むことができる。
【0025】
情報付加部156は、マッチング記述部の評価のために必要な情報がある場合、外部システムに対し問い合わせを行い、グループ識別済みイベント情報をさらに豊富化(enrichment)させることができる。ここで豊富化のため付加される情報としては、グループに関連する種々の情報(以下、グループ関連情報と参照する。)、例えばグループ内の各リソースの属性情報、グループ内のプロセスの属性情報や状況情報を挙げることができる。情報付加部156は、また、対策アクションを決定する際に実施対象を選択するために必要な情報がある場合、外部システムに問い合わせを行い、対策アクション決定の際に必要な情報を付加し、グループ識別済みイベント情報を豊富化させることができる。
【0026】
上述した外部システムとしては、上記CMDB170、プロセス管理システム180、その他、資産管理システム、ヒストリアン、プロジェクト管理システム、スケジューラなどの種々のシステムを採用することができる。なお、図1には、プロセス管理システム180が例示されている。プロセス管理システム180は、産業システム100におけるプロセス定義の実体を管理し、プロセスのリアルタイムなステータスを管理する。CMDB170においても、プロセスが構成アイテムとして管理することができるが、動的に変化するステータス値は、プロセス管理に特化したプロセス管理システム180で管理される方がより好ましい。このため、説明する実施形態では、プロセス管理システム180がプロセス定義の実体を管理し、その実体定義に応じてCMDB170内にプロセスCIが定義される構成をとる。
【0027】
アクション決定部158は、上記セキュリティ・ポリシに対し、上記グループ識別済みイベント情報を適用して、推奨される対策アクションを導出する。本発明の実施形態によるアクション決定部158は、好ましくは、豊富化されたグループ識別済みイベント情報に含まれる依存関係を表す情報を使用して、依存関係を考慮した上で対策アクションを導出することができる。アクション決定部158は、より具体的には、上記セキュリティ・ポリシのマッチング記述部を評価し、記述されたマッチング条件に合致するポリシが見つかれば、その条件に対応するアクション記述部を読み出し、1以上の対策アクションを決定する。
【0028】
上記マッチング条件は、特に限定されるものではないが、イベント情報の送信元リソースに関連するプロセスに対する条件式、イベント情報の宛先リソースに関連するプロセスに対する条件式、イベント情報の送信元リソースおよび宛先リソースに関連する両プロセスに対する条件式、イベント情報のイベントタイプに対する条件式、またはイベント情報のイベントデータに対する条件式を含むことができる。また、上記条件式は、許容される状況の範囲やアクションの範囲を規定するリソース属性情報やプロセス状況情報を引用する形式を採用することができる。
【0029】
アクション決定部158は、また、対策アクションの決定に先立って、上記グループ識別済みイベント情報を用いて、対策アクションの実施対象となるリソースを選択する処理を行うことができる。実施対象となるリソースは、例えば、イベント情報の送信元リソース、宛先リソース、送信元リソース・グループ内の全部または一部のリソース、宛先リソース・グループ内の全部または一部のリソース、その他外部メールサーバなどの外部システムとすることができる。
【0030】
アクション決定部158は、対策アクションが決定されると、その対策アクションをセキュリティ・ゲートウェイ140に通知する。セキュリティ・ゲートウェイ140は、アクション実施部144を含み、アクション実施部144は、解析エンジン150から通知された対策アクションを実際に実施する。実施され得る対策アクションとしては、特に限定されるものではないが、トラフィックのブロッキング、トラフィックの変更、新規トラフィックの発行、アラート通知を挙げることができる。
【0031】
セキュリティ・ゲートウェイ140は、トラフィックからイベント情報を生成した際に、そのトラフィックを一旦ペンディングし、アクション実施部144は、解析エンジン150による解析の完了を待つ。対策アクションとしてトラフィックのブロッキングが通知されたときは、アクション実施部144は、対応するトラフィックをブロックする。対策アクションとしてトラフィックの変更が通知された場合は、アクション実施部144は、得られた対策アクションに記述された内容でペンディング中のトラフィックを変更または修正して、ペンディングを解除する。対策アクションとして新規トラフィックの発行が通知された場合、アクション実施部144は、対象リソースに対して停止命令など新規トラフィックを発行する。
【0032】
以下、図2〜図5を参照しながら、CMDB170と連携した異常検知に基づく監視制御処理についてより詳細に説明する。図2は、CMDB170と連携した異常検知に基づく監視制御処理で使用されるデータを説明する図である。図2に示すイベント情報200は、セキュリティ・ゲートウェイ140の監視部142から解析エンジン150に渡されるイベント情報を示す。イベント情報200は、送信元リソースを識別する送信元IDと、宛先リソースを識別する宛先IDと、イベントタイプと、イベントデータとを含み構成される。送信元リソースおよび宛先リソースは、それぞれ、当該イベント情報の元となったトラフィック・データの送信元および宛先を指す。例えば、センサ122からのセンサ出力を制御システム102で受信する場合、センサ端末であるデバイス120を送信元とし、制御システム102を宛先としたトラフィック・データが、制御ネットワーク130内で発生する。このようなトラフィック・データがセキュリティ・ゲートウェイ140の監視部142により拾われ、イベント情報200として解析エンジン150へ渡される。
【0033】
グループ識別部152は、受け取ったイベント情報200のうちの送信元IDおよび宛先IDを使用して、CMDB170にクエリを発行し、送信元リソースが属するグループのグループID(以下、送信元グループIDと参照する。)および宛先リソースが属するグループのグループID(以下、宛先グループIDと参照する。)を含む照会結果202を取得し、これをイベント情報200に付加する。ここで、送信元リソースまたは宛先リソースがいずれのリソース・グループにも属していない場合には、照会結果202としてnull値が取得される。
【0034】
図3は、CMDB170内に構築される構成アイテム間の関係を模式的に表した図である。図3に示すように、CMDB170内には、1以上のプロセスCIおよび1以上のリソースCI、並びにこれらの関係が定義される。例えば、プロセスCIインスタンス(「プロセスA」は、リソースCIインスタンス(「制御システムA」および「制御システムB」)に対し「usedBy」の関係が定義されており、これは「プロセスA」の実行時に「制御システムA」および「制御システムB」が使用される依存関係があることを表す。リソースCIインスタンス(「制御システムA」)は、リソースCIインスタンス(「デバイスA」)に対し「managedBy」の関係が定義されており、これは「デバイスA」が「制御システムA」に管理される依存関係があることを表す。その他のプロセスCIインスタンス、リソースCIインスタンスについても同様である。
【0035】
なお、構成アイテム間の関係としては、図3に、使用関係「usedBy」、管理関係「managedBy」、必要関係「poweredBy」、包含関係「containes」を例示するが、これらに限定されるものではない。その他、「assigns」、「canUse」、「deployedOn」、「Owned」、「runAt」など種々の関係を定義することができ、CMDBの実装により異なり、ユーザ定義も可能である。
【0036】
図3には、さらに、2つのリソース・グループA,Bが示されている。リソース・グループAは、制御システムA,B、デバイスA、機材A,B、センサA,B,C,D、アクチュエータA,B,Cから構成されている。リソース・グループBは、同様に、制御システムC、機材C、センサE、アクチュエータDから構成されている。各リソース・グループに属するプロセスおよびリソースは、上述した構成アイテム間の関係によって直接的にまたは間接的に関連付けられたプロセスおよびリソースである。
【0037】
例えばイベント情報の送信元または宛先リソースがデバイスAであった場合、CMDB170は、グループ識別部152からの問い合わせに応答して、リソース・グループAを識別するグループID、またはリソース・グループA内のリソースのIDリストを照会結果202に含めて回答する。上記リソース・グループA,Bは、事前に、またはグループ識別部152が照会する際に動的に定義することができる。リソース・グループの定義の際には、例えば「特定デバイスを利用しているプロセスとusedBy関係があるリソース」というような条件のクエリを用いて、リソース・グループ内のCIの集合を得て、CMDB170内にグループをCIとして新規に登録することができる。
【0038】
このようなCMDB170内の構造は、CMDB170に対するマニュアル入力、ヒストリアンとの同期、資産管理システムからの通知、プロセス管理システム180からの定義の更新通知などの外部システムとの連携、またはディスカバリ機能やトラッキング機能による自動検出により構築される。なお、説明する実施形態では、CMDB170は、充分に短い時間間隔でディスカバリ機能およびトラッキング機能による自動検出を実施しており、さらに、上記外部システムとの連携によって適時に更新されており、CMDB170は、常に最新状態に維持されているものとする。本発明の実施形態による解析エンジン150は、構成アイテムとしてリソースに加えてプロセスが管理されるCMDB170と連携することによって、上記プロセスを経由したリソース間の依存関係を考慮した異常検知を行う。
【0039】
ここで、再び図2を参照する。グループ識別部152は、送信元グループIDおよび宛先グループIDを含む照会結果202を取得すると、それをイベント情報200に付して、イベント解析部154へ渡す。イベント解析部154の情報付加部156は、グループ識別済みイベント情報200,202を受け取ると、適宜、ポリシを適用する上で必要な情報の豊富化を行う。セキュリティ・ポリシ記憶部160には、1以上のポリシが記憶されており、イベント情報に対して各ポリシに適用されるため、ここでは、少なくともいずれかのポリシのマッチング記述部において条件式が定義されている属性情報等がすべて取得される。より具体的には、情報付加部156は、グループ識別済みイベント情報200,202のうちの、送信元グループIDおよび宛先グループIDを使用して、CMDB170に照会して、送信元グループおよび宛先グループに関連する種々の属性情報を取得する。
【0040】
以下、CMDB170のデータ構造を参照しながら、情報付加部156が取得する属性情報について説明する。図4は、構築されたCMDB170のデータ構造を例示する図である。図4に示す構成アイテムテーブル220は、構成アイテムの名称を保管するフィールド222と、構成アイテムのカテゴリを保管するフィールド224と、構成アイテムの上記カテゴリをさらに細分化したモデルを保管するフィールド226と、属性フィールド228と、関係フィールド230とを含む。関係フィールド230は、当該構成アイテムに対して定義されている1以上の関係に関する情報を保管し、関係の種類と、当該構成アイテムの相手方の構成アイテムを識別する名称(または識別番号等)とが保管される。
【0041】
属性フィールド228は、1以上の属性(Attribute)および属性値のセットを保管する。属性は、個々の構成アイテムを特定し、説明するものである。属性としては、特に限定されるものではないが、構成アイテムの名称、識別番号、カテゴリ(リソースおよびプロセスの別を識別する。)、タイプ(制御システム、機材、デバイス、センサ、アクチュエータなどを識別する。)、その他、型番、目的、所有者、発行者、ロケーション、保証期間、バージョン番号、開始日時や完了予定日時や期限などのスケジュール、ステータス、重要度などを挙げることができる。さらに本実施形態では、リソースCIについては、さらに、許容される状況の範囲(定格値、想定値など)、許容されるアクションの範囲(開始、停止、変更)などを含むことができる。
【0042】
なお、構成アイテムの属性は、定義拡張が可能とされており、上述したものに限られるものでなく、またクラス(タイプおよびカテゴリで分類される。)毎に内容を相違させることもできる。本発明の実施形態においては、異常を検知する際に属性情報を使用する場合があるため、少なくともこのような異常検知に用いられる属性が定義されていればよい。なお、図4に示すデータ構造は一例であり、特に限定されるものではなく、他の実施形態では、関係フィールド230の内容等を別のテーブルで管理することもできる。
【0043】
本実施形態では、CMDB170内には、プロセスとリソースとの間、リソース間、リソース・グループとリソースおよびプロセスとの間の関係が定義されている。このため、情報付加部156は、上記送信元グループIDおよび宛先グループIDを用いてCMDB170に照会することにより、送信元および宛先グループに関連する種々の属性情報を取得し、グループ識別済みイベント情報200,202を豊富化することができる。グループに関連する種々の属性情報としては、送信元リソース・グループおよび宛先リソース・グループの各種属性情報(以下、グループ属性情報と参照する。)206、これらリソース・グループ内の各リソースの属性情報(以下、リソース属性情報と参照する。)208、およびプロセスの各種属性情報(以下、プロセス属性情報と参照する。)210を含むことができる。
【0044】
例えば、上記許容される状況の範囲(定格値や想定値)、許容されるアクションの範囲(開始、停止、変更)などの属性値に対する条件式がポリシのマッチング記述部内に記述されていれば、これら許容される範囲の情報を用いて、許容範囲内か範囲外か、あるいは想定範囲内か想定範囲外かを判定し、異常を検出することが可能となる。なお、上記許容される状況の範囲や許容されるアクションの範囲は、その最小値および最大値により規定されたり、限定的に列挙することにより取り得る値が規定されたりする。
【0045】
また情報付加部156は、上記CMDB170から取得した送信元リソース・グループおよび宛先リソース・グループ内の各プロセスのプロセスIDを用いて、プロセス管理システム180に対し照会して、送信元グループおよび宛先グループ内の各プロセスに関するステータス値など動的な状況情報(以下、プロセス状況情報と参照する。)212を取得することができる。以下、プロセス管理システム180が管理するデータ構造を参照して、情報付加部156が取得する情報について説明する。
【0046】
図5は、プロセス管理システム180が管理するプロセスに関するデータ構造を例示する図である。図5に示すプロセス管理テーブル240は、プロセスを識別するプロセスIDを保管するフィールド242と、プロセスの名称を保管するフィールド244と、プロセスのカテゴリを保管するフィールド246と、プロセスの動的なステータスを保管するフィールド248とを含む。さらに、プロセス管理テーブル240は、期限、開始日時、完了予定日時などのスケジュールを保管する複数のフィールド250〜254と、プロセスの発行者および所有者を保管する複数のフィールド256,258と、重要度を保管するフィールド260とを含む。図5に示すプロセス管理テーブル240は、図4に示した構成アイテムテーブル220と重複する情報も含んでいるが、本実施形態のプロセス管理システム180は、CMDB170と異なり、フィールド248に保管される動的に変化するステータスを保管しており、このような動的な状況情報を用いて、リアルタイムな状況を反映して異常を検出することが可能となる。
【0047】
再び図2を参照すると、上記情報付加部156は、送信元グループIDおよび宛先グループIDを使用して、CMDB170およびプロセス管理システム180またはこれらのいずれか一方から、上記グループ属性情報206、リソース属性情報208、プロセス属性情報210およびプロセス状況情報212を含むグループ関連情報204を取得すると、これらをグループ識別済みイベント情報200,202に付加する。豊富化されたイベント情報200,202,204は、上述したように、アクション決定部158によりセキュリティ・ポリシに対し適用されて、対策アクションが導出される。以下、フローチャートを参照しながら、本発明の実施形態による上記豊富化されたイベント情報とセキュリティ・ポリシとを用いた異常検知処理について詳細を説明する。
【0048】
図6は、本発明の実施形態による解析エンジン150が実行する、異常検知処理を示すフローチャートである。図6に示す処理は、セキュリティ・ゲートウェイ140の監視部142が、制御ネットワーク130からトラフィック・データを拾ってイベント情報を発信したことに応答して、ステップS100から開始する。あるいは、他の実施形態では、上記イベント情報が監視部142から発信され、処理待ちのイベント情報を格納する待ちキューに投入されたことに応答して、イベント情報毎にステップS100から開始する。ステップS101では、グループ識別部152は、セキュリティ・ゲートウェイ140の監視部142からイベント情報200を受信する。ステップS102では、グループ識別部152は、イベント情報200に含まれる送信元IDおよび宛先IDを用いてCMDB170に照会し、送信元リソースおよび宛先リソースが属するリソース・グループをそれぞれ決定し、照会結果202をイベント情報200に付加する。
【0049】
ステップS103では、情報付加部156は、セキュリティ・ポリシ記憶部160に記憶されている有効なすべてのセキュリティ・ポリシ中の、外部情報を必要とするマッチング条件を検索し、外部情報として取得する必要のある情報を抽出する。ステップS104では、情報付加部156は、外部情報が必要であるか否かを判定する。ステップS104で外部情報が必要であると判定された場合(YES)には、ステップS105へ処理が分岐される。ステップS105では、情報付加部156は、CMDB170およびプロセス管理システム180またはこれらのいずれか一方に照会し、マッチング記述部の評価に必要な情報を取得し、イベント情報200,202に付加し、ステップS106へ処理を進める。一方、ステップS104で外部情報が必要ではないと判定された場合(NO)には、ステップS106へ直接処理が進められる。
【0050】
ここで、図7〜図11を参照しながら、セキュリティ・ポリシの詳細について説明する。図7(A)〜(C)、図8(A)および(B)、図9(A)および(B)、図10(A)および(B)並びに図11(A)および(B)は、それぞれセキュリティ・ポリシのデータ構造を例示する。図7〜図11に示すように、各セキュリティ・ポリシは、マッチング条件を記述するマッチング記述部と、1以上の対策アクションを記述するアクション記述部とを含む。図7(A)に示すセキュリティ・ポリシは、識別番号として「1」が付されたポリシであって、送信元リソースを利用するプロセスのステータスが「稼働中」であり、かつ、イベント情報に含まれるイベントデータが送信元リソースの許容値の範囲外である場合に、対策アクションとして、送信元グループ内のすべてのリソースを対象とし、イベントタイプが「操作」であるすべてのイベントを遮断する、という内容を記述している。
【0051】
図7(A)に示すセキュリティ・ポリシが適用される場合、情報付加部156は、ステップS105で、マッチング記述部の評価のために必要な情報として、送信元IDで識別されるリソースが属する送信元リソース・グループ内のプロセスの状況情報(ステータス値)をプロセス管理システム180から取得し、送信元リソースの属性情報(許容される範囲)をCMDB170から取得する。図7(A)に示すポリシにおいては、取得されたプロセスのステータス値については、これに対する条件式が直接記述されており、取得されたリソースの許容される範囲の属性値については、これを引用する形式でイベントデータに対する条件式が記述されている。
【0052】
図7(B)に示すセキュリティ・ポリシは、識別番号として「2」が付されたポリシであって、送信元IDで識別される送信元リソースを利用するプロセスが存在せず(送信元IDに対するグループIDの照会に対してnull値が返る場合が対応する。)、かつ、イベントタイプが「センサデータ」である場合に、対策アクションとして、外部メール・システムを対象としアラート送信を行う、という内容を記述している。図7(B)に示すセキュリティ・ポリシが適用される場合、情報付加部156は、ステップS105で、必要な情報として、CMDB170から送信元リソースが属する送信元リソース・グループのグループIDおよびその属性情報を取得することができる。しかしながら、送信元リソース・グループを識別するグループIDは、グループ識別部152が既に取得されてイベント情報に付されているため、それ以外の情報が必要ない場合には、情報付加部156は、図7(B)に示すセキュリティ・ポリシに関して、特にマッチング記述部の評価のために必要な情報を取得しなくともよい。
【0053】
図7(C)に示すセキュリティ・ポリシは、識別番号として「3」が付されたポリシであって、宛先リソースを利用するプロセスのステータスが「稼働中」であり、かつ、イベントタイプが「操作」であり、かつ、イベント情報に含まれるイベントデータが宛先リソースの最大許容値を超える場合に、対策アクションとして、宛先リソースを対象とし、当該イベント情報に対応するトラフィック・データのイベントデータを宛先デバイスの最大許容値に修正する、という内容を記述している。図7(C)に示すセキュリティ・ポリシが適用される場合、情報付加部156は、ステップS105で、必要な情報として、宛先リソースが属する宛先リソース・グループのプロセスの状況情報(ステータス値)をプロセス管理システム180から取得し、宛先リソースの属性情報(許容される範囲における最大値)をCMDB170から取得する。
【0054】
図8〜図11に示すポリシが適用される場合についても同様であり、情報付加部156は、ステップS105で、マッチング記述部の評価のために必要な情報として、送信元または宛先リソースを利用するプロセスの情報(ステータス値や重要度など)、送信元または宛先リソースに関する情報(許容される範囲の最大値および最小値など)をプロセス管理システム180およびCMDB170またはこれらのいずれか一方から取得することができる。
【0055】
再び図6を参照すると、ステップS106では、アクション決定部158は、イベント情報200,202,204が合致するマッチング条件を検索し、対応するアクション記述部を取得する。ステップS107では、アクション決定部158は、マッチング条件が真のポリシが存在するか否かを判定する。ステップS107で、マッチング条件が真のポリシが存在しないと判定された場合(NO)には、ステップS111へ処理を直接進め、本処理を終了し、次のイベント情報の処理が開始されるまで待ち受ける。一方、ステップS107で、マッチング条件が真のポリシが存在すると判定された場合(YES)には、ステップS108へ処理を分岐させる。
【0056】
ステップS108では、アクション決定部158は、対応するアクション記述部の内容から、イベント情報の送信元および宛先リソース以外のリソースへの対策アクションを含むか否かを判定する。ステップS108で、送信元および宛先以外のリソースへのアクションを含むと判定された場合(YES)には、ステップS109へ処理を分岐させる。ステップS109では、情報付加部156は、イベント情報200,202と、CMDB170およびプロセス管理システム180またはこれらのいずれか一方に照会して得た情報204とを使用して、アクション対象を決定し、ステップS110へ処理を進める。例えば、図7(A)に示すポリシの場合、情報付加部156は、実施対象を選択するために必要な情報として、送信元リソースが属する送信元リソース・グループ内の他のリソースIDリストをCMDB170から取得し、この取得されたリソースIDを対象に設定することができる。
【0057】
ステップS108で、送信元および宛先以外のリソースへのアクションを含まないと判定された場合(NO)には、ステップS110へ処理を直接進める。ステップS110では、アクション決定部158は、送信元および宛先またはこれらのいずれか一方をアクション対象として、推奨される対策アクションを導出し、アクション対象および対策アクションをセキュリティ・ゲートウェイ140の実施部144に通知し、ステップS111で本処理を終了させる。
【0058】
ここで、再び図7〜図11を参照すると、図7(A)に示すポリシによれば、プロセスにより利用されているリソースにおいて、許容できない値の操作が観測された場合に、そのプロセスが利用しているすべてのリソース(同一リソース・グループ内のすべてのリソース)への操作イベントを遮断することができる。また、図7(B)に示すポリシによれば、いずれのプロセスからも使用されておらず、使用計画もないリソースからセンサデータが出力されている場合に、その出力を不穏な挙動(異常)として検出し、アラートを発することができる。さらに図7(C)に示すポリシによれば、プロセスにより利用されているリソースにおいて、許容できない値の操作が観測された場合に、トラフィック・データを適正な値に修正することができ、異常操作を補正し、障害発生を予防することができる。
【0059】
また図8(A)に示すセキュリティ・ポリシは、識別番号として「4」が付されたポリシであって、送信元リソースを利用するプロセスのステータスが「稼働中」であり、かつ、イベント情報に含まれるイベントデータが送信元リソースの許容値の範囲外であり、かつ、イベント情報に含まれるイベントタイプが「操作」である場合に、対策アクションとして、宛先グループ内のすべてのリソースを対象とし、すべてのイベントを遮断する、という内容を記述している。図8(A)に示すポリシによれば、プロセスにより利用されているリソースからの異常イベントを検出し、同じプロセスで利用されているすべてのリソースへの操作を禁止することにより、不正侵入防止(IPS)を実現することができる。
【0060】
図8(B)に示すセキュリティ・ポリシは、送信元リソースを利用するプロセスのステータスが「稼働中」であり、かつ、イベント情報に含まれるイベントデータが送信元リソースの許容値の範囲外である場合に、対策アクションとして、送信元グループ内のすべてのリソースを対象とし、リソースの緊急停止を指令する新規トラフィックを発行する、という内容を記述している。図8(B)に示すポリシによれば、プロセスにより利用されているリソースからの異常イベントを検出し、同じプロセスで利用されているすべてのリソースへ緊急停止を指令することにより、侵入の疑いのあるリソースの緊急停止を実施することができる。
【0061】
図9(A)に示すセキュリティ・ポリシは、送信元リソースを利用するプロセスのプロセスIDが宛先リソースを利用するプロセスのプロセスIDと一致しない場合に、対策アクションとして、送信元グループ内のすべてのリソースを対象とし、すべてのイベントを遮断する、という内容を記述している。図9(A)に示すセキュリティ・ポリシによれば、異なるプロセスで利用されているリソース間の通信を検出し、通信をブロックすることができ、プロセス毎に独立な仮想的ネットワークを構成することができる。
【0062】
図9(B)に示すセキュリティ・ポリシは、送信元リソースを利用するプロセスの重要度が「HIGH」であり、かつ、イベント情報に含まれるイベントタイプが「操作」である場合に、対策アクションとして、宛先グループ内のすべてのリソースを対象とし、すべてのイベントを遮断する、という内容を記述している。図9(B)に示すセキュリティ・ポリシによれば、重要度の高いプロセスで利用されるリソースへの操作を検出し、通信をブロックすることができ、ファイアウォールのフィルタのような働きを実現することができる。
【0063】
図10(A)に示すセキュリティ・ポリシは、送信元リソースを利用するプロセスの重要度が、宛先リソースを利用するプロセスの重要度より小さい場合に、対策アクションとして、宛先グループ内のすべてのリソースを対象とし、すべてのイベントを遮断する、という内容を記述している。図10(A)に示すセキュリティ・ポリシによれば、重要度の低いプロセスで利用されるデバイスグループのリソースから、重要度の高いプロセスで利用されるデバイスグループへの通信を検出し、通信をブロックすることができ、セキュリティ・レベルに応じたゾーニング(zoning)を実現することができる。
【0064】
図10(B)に示すセキュリティ・ポリシは、送信元リソースを利用するプロセスの重要度が「LOW」であり、かつ、イベント情報に含まれるイベントデータが送信元リソースの許容される範囲内である場合に、対策アクションとして、送信元リソースを対象とし、すべてのイベントを遮断する、という内容を記述している。図10(B)に示すセキュリティ・ポリシによれば、重要度の低いプロセスで利用されるリソースからのセンサ値が許容される範囲内であった場合に通信をブロックすることができ、重要度の低い通常状態データのトラフィックを削減することができる。
【0065】
以上図7〜図10を参照しながら、種々のセキュリティ・ポリシについて説明してきたが、上述までのセキュリティ・ポリシは、セキュリティ・ゲートウェイ140から通知されるイベント情報毎に、解析をして異常の検知を試み、異常が見つかった場合に対策アクションを実施させるというものであった。しかしながら、セキュリティ・ポリシは、単一のイベント情報に対して規定されるのみならず、イベント情報毎の解析結果を一旦記憶しておき、現在処理対象であるイベント情報の送信元若しくは宛先に関連して蓄積された履歴情報(過去に発生したイベント情報)に関する条件式を含めて、マッチング条件を記述することができる。これにより、複数のイベント情報の組み合わせ、シーケンスまたは統計に対応して、選択的または段階的に対策アクションを導出することができる。図11(A)および(B)は、このような複数のイベント情報に対応して段階的に対策アクションを導出するためのセキュリティ・ポリシを例示する。
【0066】
図11(A)に示すセキュリティ・ポリシは、宛先リソースを利用するプロセスのステータスが「稼働中」であり、かつ、イベントタイプが「操作」であり、かつ、イベント情報のイベントデータが宛先リソースの最大許容値を超える場合であって、宛先グループ全体についての異常の発生(許容範囲外とされる異常に限る。)が1時間に5回未満の頻度であったときに、所定の対策アクションを実施するという内容を規定する。上記所定の対策アクションとしては、図11(A)には、宛先リソースを対象としてイベントデータを修正するという対策アクションと、内部状態の記録として宛先グループについて異常の発生(許容範囲外とされる異常に限る。)を記録するという追加の対策アクションとが記述されている。異常の発生は、例えば、発生日時と異常の内容とをレコードとした、解析エンジン150の内部の一時的な履歴データとして記録することができる。このような内部で保持される履歴情報は、例えば、情報付加部156が、マッチング記述部の評価のために必要な情報として適宜取得することができる。
【0067】
これに対して図11(B)に示すセキュリティ・ポリシは、宛先グループ全体についての異常の発生(許容範囲外とされる異常に限る。)が1時間に5回以上の頻度で発生するという条件を除き、図11(A)に示すポリシと同様のマッチング条件を規定する。そして、図11(B)に示すセキュリティ・ポリシは、上述したマッチング条件が満たされるときの対策アクションとして、宛先グループ内のすべてのリソースを対象として、リソースの緊急停止を指令する新規トラフィックを発行するという対策アクションと、内部状態の記録として宛先グループについて異常の発生の記録をリセットするという追加の対策アクションとを記述している。
【0068】
上述した図11(A)および(B)に示す2つのセキュリティ・ポリシの組み合わせによれば、イベント情報に含まれるイベントデータが宛先リソースの最大許容値を超える場合、当該イベント情報に対応するトラフィック・データのイベントデータを宛先デバイスの最大許容値に修正するという対策アクションを実施しつつ、同一ルール違反の発生が所定の頻度を超えたときに、上記イベントデータの修正に代えて、停止イベントを発生させる対策アクションを実施するという、段階的な対策アクションの導出を可能とする。
【0069】
以上説明したように、上述までの実施形態による監視制御によれば、構成管理データベース170を利用することで、制御ネットワーク130におけるプロセス、リソース間の依存関係を考慮して制御ネットワーク130内の現在の状況を解析し、リソース・グループ全体の振る舞いとして異常の疑われる状況をも好適に検知することができる。そして、制御ネットワーク130におけるプロセス、リソース間の依存関係を考慮して、適切な対策アクションおよびアクションを実施させる対象を決定することができる。したがって、アクチュエータ等のリソース単独の動きからは容易に判別し得ない異常を好適に検知することが可能となり、ひいては、産業制御システムのオープン化に伴うセキュリティ低下を好適に防止することができる。
【0070】
なお、上記解析エンジン150は、それ単独で、1又は複数の汎用コンピュータからなる汎用コンピュータ・システム上に実装されてもよく、特定用途の機器として実装されてもよく、また他の実施形態では、セキュリティ・ゲートウェイ140の機能と一体として実装されてもよい。
【0071】
以上説明したように、本発明の実施形態によれば、構成管理データベースを利用して、制御システムにおけるデバイス、機材、センサ、アクチュエータなどの構成要素間の依存関係を考慮し、構成要素間でネットワークを流れるデータ・トラフィックから異常が疑われる振る舞いを検知し、迅速に対策アクションを起こすことが可能な異常検知装置、監視制御システム、異常検知方法、プログラムおよび記録媒体を提供することができる。
【0072】
本発明の実施形態による解析エンジンは、コンピュータ実行可能なプログラムを、コンピュータにロードして各機能部を実現することにより、異常検知装置として提供される。このようなプログラムとしては、例えば、FORTRAN、COBOL、PL/I、C、C++、Java(登録商標)、Java(登録商標)Beans、Java(登録商標)Applet、Java(登録商標)Script、Perl、Rubyなどのレガシー・プログラミング言語やオブジェクト指向プログラミング言語などで記述された、コンピュータ実行可能なプログラムにより実現でき、装置可読な記録媒体に格納して頒布することができる。
【0073】
これまで本発明を図面に示した実施形態および実施例をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【0074】
100…産業システム、102…制御システム、104…コンソール・システム、106…保守システム、108…分析システム、110…機材、112…センサ、114…アクチュエータ、120…デバイス、122…センサ、124…アクチュエータ、130…制御ネットワーク、140…セキュリティ・ゲートウェイ、142…監視部、144…アクション実施部、150…解析エンジン、152…グループ識別部、154…イベント解析部、156…情報付加部、158…アクション決定部、160…セキュリティ・ポリシ記憶部、170…構成管理データベース(CMDB)、180…プロセス管理システム、200…イベント情報、202…照会結果、204…グループ関連情報、206…グループ属性情報、208…リソース属性情報、210…プロセス属性情報、212…プロセス状況情報、220…構成アイテムテーブル、222〜230…フィールド、240…プロセス管理テーブル、242〜260…フィールド
【技術分野】
【0001】
本発明は、情報セキュリティ技術に関し、より詳細には、重要インフラストラクチャ等における制御システムをセキュリティ保護するための異常検知装置、監視制御システム、異常検知方法、プログラムおよび記録媒体に関する。
【背景技術】
【0002】
現代社会は、電力、ガス、水道、鉄道、金融、プラント、パイプラインなど様々なインフラストラクチャの上に成り立っている。上述のような社会的に重要なインフラストラクチャの制御システムは、その機能が停止すれば、社会経済に大きな影響を及ぼすおそれがあるため、旧来、外部から隔離され、仕様も公開されないクローズド・システムでの稼働を前提として設計され、運用されてきた。ところが、近年、接続性、生産性の向上、経営判断の効率化などの経営面からの要請により、上述のような旧来システムから、オープン・システムに移行しつつある。制御システムの専用製品や独自の構造は、汎用製品やTCP/IP等の標準プロトコルに置き換えられ始め、ネットワークを介した制御システム間の連携、情報処理システムとの連携も進んでいる。
【0003】
しかしながら、オープン化が進むにつれ、制御システムは、汎用製品に存在する脆弱性、不正アクセス、情報漏洩、ウィルス、ワームなど、情報処理システムで発生している様々な脅威に晒される。上述のような重要なインフラストラクチャは、万が一攻撃を受けた場合、その影響が大規模かつ広範囲となる。また、産業制御システム(Industrial Control System)は、プラントやパイプラインにおけるポンプ、バルブなどアクチュエータを制御しているため、その誤作動は、ときには人的被害や環境破壊をもたらす。したがって、制御システムのオープン化に伴い、このような脅威から制御システムを保護するための高度なセキュリティを実現することが望ましい。また、万が一上述のような脅威が疑われる事態が発生した場合は、その異常を迅速に検知して適切な対策を講じることが望ましい。
【0004】
上記脆弱性、不正アクセス等は、情報処理システムにおいても既に発生している問題であることから、情報処理システムで適用されているセキュリティ技術を導入することも、ある程度有用であるとも考えられる。情報処理システムにおけるセキュリティ技術としては、例えば、特許第4521456号公報(特許文献1)は、被管理情報処理装置の動作をコントロールするためのセキュリティ・ポリシを被管理情報処理装置に配布する情報処理装置を開示する。また、特開2007−274027号公報(特許文献2)は、遠隔操作による回復サービスを容易に導入可能なリモートオペレーションシステムを開示する。しかしながら、産業制御システムは、情報処理システムとは異なる性質があり、情報処理システムで行われているセキュリティ技術を適用するだけでは充分ではない場合があった。上述のような脅威が疑われる異常を、迅速に検知して対策を講じることができない場合があった。
【0005】
ところで、近年、ITサービスにおいて、管理対象のコンポーネントに関する情報を一元的に管理し、必要なときに必要な情報を提供することを目的として、構成管理データベース(CMDB:Configuration Management Database)が注目されている。CMDBは、サービス管理の対象となるハードウェア、ソフトウェア等のリソース、ドキュメント、インシデント履歴情報、さらには人的資源を含めて各構成要素を構成アイテム(CI;Configuration Item)として維持管理し、把握できるように支援するものである(特許文献3,特許文献4)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許4521456号公報
【特許文献2】特開2007−274027号公報
【特許文献3】特開2009−245029号公報
【特許文献4】特開平9−69083号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明は、上記従来の制御システムにおける問題点を鑑みてなされたものであり、本発明は、上述した構成管理データベースを利用し、制御システムにおけるデバイス、機材、センサ、アクチュエータなどの構成要素間の依存関係を考慮し、構成要素間でネットワークを流れるデータ・トラフィックから、異常が疑われる振る舞いを検知し、迅速に対策アクションを起こすことができる、異常検知装置、監視制御システム、異常検知方法、プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、上記従来技術の課題を解決するために、以下の特徴を有する異常検知装置および該異常検知装置を含む監視制御システムを提供する。本発明の異常検知装置は、制御ネットワーク内で発生したイベント情報を受信して、制御システムを含むリソースおよびプロセス間の依存関係を維持する構成管理データベースに照会し、該イベント情報に関わるリソースが属するグループを識別する。異常検知装置は、異常が疑われる状況を規定する条件と1以上のアクションとを対応付ける1以上のポリシを記憶するポリシ記憶部を参照して、1以上のポリシを読み出す。異常検知装置は、1以上のポリシを適用する上で必要となるグループに関連する情報を取得し、イベント情報に付加し、情報の豊富化を行う。そして、異常検知装置は、1以上のポリシに対しイベント情報を適用し、合致する条件に対応付けられるアクションを実施するべきアクションとして決定する。
【0009】
上記構成管理データベースは、プロセスおよびリソースを構成アイテムとして維持し、プロセス間、リソース間、プロセスおよびリソース間の関係により依存関係をも記述することができる。上記取得されるグループに関連する情報は、上記構成管理データベースまたはプロセス管理システムなどの外部システムから取得されるグループに属するプロセスの状況情報、上記グループに属するプロセスの属性情報および上記グループに属するリソースの属性情報またはこれらの少なくとも1つの情報を含むことができる。上記条件は、グループに関連する情報を条件式に含むことができる。
【発明の効果】
【0010】
上記構成によれば、上述した構成管理データベースを利用することで、制御ネットワークにおけるプロセス、リソース間の依存関係を考慮して制御ネットワーク内の現在の状況を解析し、リソース・グループ全体の振る舞いとして異常の疑われる状況をも好適に検知し、さらに適切な対策アクションおよび該アクションを実施させる対象を決定することができる。したがって、アクチュエータ等のリソース単独の動きからは容易に判別し得ない異常を好適に検知することが可能となり、ひいては、産業制御システムのオープン化に伴うセキュリティ低下を好適に防止することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態による産業システムの概略構成を示す図。
【図2】構成管理データベースと連携した異常検知に基づく監視制御処理で使用されるデータを説明する図。
【図3】構成管理データベース内に構築される構成アイテム間の関係を模式的に表した図。
【図4】構築された構成管理データベースのデータ構造を例示する図。
【図5】プロセス管理システムが管理するプロセスに関するデータ構造を例示する図。
【図6】本発明の実施形態による解析エンジンが実行する、異常検知処理を示すフローチャート。
【図7】セキュリティ・ポリシのデータ構造を例示する図。
【図8】他のセキュリティ・ポリシのデータ構造を例示する図。
【図9】他のセキュリティ・ポリシのデータ構造を例示する図。
【図10】他のセキュリティ・ポリシのデータ構造を例示する図。
【図11】さらに他のセキュリティ・ポリシのデータ構造を例示する図。
【発明を実施するための形態】
【0012】
以下、本発明について実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。以下に説明する実施形態では、1以上の制御システムを含む制御ネットワークの異常を検知する異常検知装置、および監視制御システムとして、制御ネットワークの異常を検知する解析エンジン、および上記解析エンジンとセキュリティ・ゲートウェイとを含む産業システムを例として説明する。
【0013】
以下、図1を参照して、本発明の実施形態による産業システムの全体構成について説明する。図1は、本発明の実施形態による産業システムの概略構成を示す図である。図1に示す産業システム100は、制御ネットワーク130に接続される、制御システム102、コンソール・システム104、保守システム106、分析システム108、機材110およびデバイス120を含む。産業システム100は、例えば、農業、金融、化学、商業施設、ダム、防衛産業基盤、緊急サービス、エネルギー、政府施設、情報技術、原子炉、物流、公共衛生、通信、輸送、水道、重要製造業などにおけるシステムである。
【0014】
制御システム102は、機材110およびデバイス120のシステム監視、プロセス制御を行うシステムであり、例えば、地理的に分散した制御対象を遠隔集中監視し、制御データの収集を行うSCADA(Supervisory Control And Data Acquisition)、分散制御システム(DCS:Distributed Control System)などのホストコンピュータをいう。制御システム102には、その他、プログラマブル・ロジック・コントローラ(PLC)や遠隔監視制御装置(RTU)を含めてもよい。コンソール・システム104は、対象システムのデータをオペレータに提示し、オペレータがシステムを監視し制御できるようにするHMI(ヒューマン・マシン・インタフェース)である。保守システム106は、機材110およびデバイス120等を遠隔的に保守点検を行うためのシステムである。分析システム108は、センサ端末からゲートウェイを通して集計したデータに対して相関モデル等を適用し、統計的な解析に基づいて異常を検出する分析システムである。
【0015】
機材110およびデバイス120は、共に、センサ112,122やアクチュエータ114,124などのフィールド機器にセンサバスを介して接続するセンサ端末である。なお、機材110およびデバイス120の分類は、任意であり、産業システム100の運用者が適宜決定すればよい。説明する実施形態では、機材110は、主として、単独で機能する装置をいうものとし、デバイス120は、主として他の機材110を装備することが可能な装置をいうものとする。上記センサ112,122としては、特に限定されるものではないが、温度センサ、湿度センサ、流量計、水位計、照度計、電力計、人感知センサなどの種々の計測器を挙げることができる。上記アクチュエータ114,124としては、特に限定されるものではないが、バルブ、コンプレッサ、その他モータや能動的に機能する装置を挙げることができる。
【0016】
制御ネットワーク130は、特に限定されるものではないが、フィールド・ネットワーク、コントロール・ネットワーク、制御情報ネットワークを含み、制御ネットワーク130上には、各種信号やデータが伝送される。本発明の実施形態による産業システム100では、制御ネットワーク130には、さらに、1以上のセキュリティ・ゲートウェイ140が接続される。セキュリティ・ゲートウェイ140は、制御ネットワーク130のトラフィックを監視しており、異常を検知するため制御ネットワーク130内で発生したイベントを拾い上げる。セキュリティ・ゲートウェイ140は、解析エンジン150に接続されており、拾い上げたイベントに関する信号およびデータを適宜フォーマット変換し、詳細な解析を行わせるため解析エンジン150に渡す。
【0017】
解析エンジン150は、受け取ったイベント情報を解析して、制御ネットワーク130内で発生した異常の検知を試みる。産業制御システム(ICS)では、制御ネットワーク130内の機材、デバイス、センサ、アクチュエータ等の個別要素の動作を監視しても、制御ネットワーク130内で発生する異常を発見することが難しい場合がある。例えば、あるアクチュエータが、使用されておらず、またその使用の計画さえないにもかかわらず、動作している場合は、不正侵入等何らかの異常を疑うべきである。しかしながら、アクチュエータ自体が通常の動作範囲で動いている限り、アクチュエータの動きからは、その不穏な動きを異常として検知することは難しい。つまり、制御システムでは、一般的な情報処理システムと異なり、その異常を正しく検知するためには、上記デバイス、機材、センサ、アクチュエータ等のリソース間の依存関係を把握した上で、リソース間を流れるデータ・トラフィックから異常の疑いのあるイベントを拾い上げる必要がある。
【0018】
そこで、本発明の実施形態による産業システム100では、解析エンジン150は、構成管理データベース(CMDB)170と連携して、機材、デバイス、センサ、アクチュエータ等の依存関係を考慮した上でイベント情報を解析する。イベント解析の結果、異常が疑われる場合には、解析エンジン150は、推奨される対策アクションを決定し、セキュリティ・ゲートウェイ140に通知し、セキュリティ・ゲートウェイ140に対策アクションを実行させる。
【0019】
以下、CMDB170と連携した異常検知に基づく監視制御の構成について、より詳細に説明する。セキュリティ・ゲートウェイ140は、より詳細には、監視部142を含み構成される。監視部142は、制御ネットワーク130内を伝送するセンサデータやセンサ信号、アクチュエータに対する操作コマンドや制御信号などのトラフィックを監視し、所定フォーマットのイベント情報を生成し、解析エンジン150に渡す。制御ネットワーク130では、多種多様な形式でデータおよび信号が伝送されることが想定されるため、監視部142は、種々のデータ形式から統一的なデータ形式へ変換するフォーマット変換器としての機能を備えることが好ましい。
【0020】
好適な実施形態では、監視部142は、多種多様な形式で表現されたデータおよび信号から、送信元を識別する送信元ID(IDentifier)と、宛先を識別する宛先IDと、イベントのタイプを識別するイベントタイプと、上記センサデータや操作指令であるイベントデータとを含む所定形式のイベント情報を生成することができる。イベントタイプとは、センサデータであるか、操作命令であるかなど、イベントの型を表す。イベントデータは、一般には、センサ112,122からの出力であれば、センサデータを含み、アクチュエータ114,124に対する操作命令であれば、そのコマンドおよびその引数を含む。
【0021】
解析エンジン150は、より詳細には、グループ識別部152と、イベント解析部154とを含み構成される。グループ識別部152は、セキュリティ・ゲートウェイ140の監視部142からイベント情報を受け取り、CMDB170に照会を行う。CMDB170は、構成アイテム(CI;Configuration Item)とその重要な属性の詳細を維持し、さらに構成アイテム間の関係を管理することで、管理対象に関する情報の統合された構成管理を実現する。構成アイテム(CI)は、CMDB170内の情報を管理するための基本単位であり、本発明の実施形態においては、構成アイテムは、主としてプロセスおよびリソースに分類される。
【0022】
上記構成アイテムのうちの「リソース」(以下、「リソース」の構成アイテムをリソースCIという。)は、上記制御システム、機材、デバイス、センサ、アクチュエータ、ネットワーク機器、コンソール・システム、保守システム、分析システムなどの構成要素、その他フロアやビルディングなどの施設や設備を含むことができる。上記構成アイテムのうちの「プロセス」(以下、プロセスの構成アイテムをプロセスCIという。)は、上記リソースを使用するか、または使用する計画がある(以下、使用計画を含め「使用する」という。)処理または作業を意味する。プロセスの粒度は、特に限定されるものではなく、プロジェクト管理システムにおけるプロジェクトを構成するサブプロジェクト、ワークフロー管理システムにおけるワークフローを構成する工程のように、プロセスが他のプロセスを含む関係にあってもよい。プロセスとしては、定期点検、通常の製造工程、インシデント対応、緊急対応などを挙げることができる。
【0023】
グループ識別部152は、上記イベント情報に含まれる送信元IDおよび宛先IDを用いて、CMDB170に照会し、当該イベント情報に関わる送信元または宛先のリソースが属するリソース・グループを識別するグループIDを取得し、上記イベント情報に付す。ここで、リソース・グループとは、リソースを使用するプロセス、該プロセスが使用する他のリソースなど、CMDB170内に定義される依存関係を辿ることでグループ化されるリソース群をいう。なお、CMDB170内でリソース・グループが管理されていない実施形態では、上記グループIDに代えて、グループに属するリソースのIDリストを用いても良い。いずれの場合も、グループを識別する情報(以下、グループIDおよびリソースのIDリストをまとめてグループ識別情報と参照する。)がイベント情報に付される。グループ識別情報が付されたイベント情報(以下、グループ識別済みイベント情報という。)は、グループ識別部152からイベント解析部154へ渡される。
【0024】
イベント解析部154は、上記グループ識別済みイベント情報をグループ識別部152から受け取り、このグループ識別済みイベント情報に含まれる情報を使用して、所与のセキュリティ・ポリシに従いマッチング処理およびアクション決定処理を実行する。イベント解析部154は、より詳細には、情報付加部156と、アクション決定部158とを含む。上記セキュリティ・ポリシは、制御ネットワーク130において異常を疑うべき状況を規定するマッチング条件と、その疑われる異常に対抗するための1以上の対策アクションとを対応付けるユーザ定義データである。上記セキュリティ・ポリシは、上記マッチング条件を記述するマッチング記述部と、それに対応付けられる1以上の対策アクションを記述するアクション記述部とを含み、1以上のセキュリティ・ポリシがセキュリティ・ポリシ記憶部160に管理される。マッチング条件は、好適には、送信元および宛先リソースの依存関係に関連した条件を含むことができる。
【0025】
情報付加部156は、マッチング記述部の評価のために必要な情報がある場合、外部システムに対し問い合わせを行い、グループ識別済みイベント情報をさらに豊富化(enrichment)させることができる。ここで豊富化のため付加される情報としては、グループに関連する種々の情報(以下、グループ関連情報と参照する。)、例えばグループ内の各リソースの属性情報、グループ内のプロセスの属性情報や状況情報を挙げることができる。情報付加部156は、また、対策アクションを決定する際に実施対象を選択するために必要な情報がある場合、外部システムに問い合わせを行い、対策アクション決定の際に必要な情報を付加し、グループ識別済みイベント情報を豊富化させることができる。
【0026】
上述した外部システムとしては、上記CMDB170、プロセス管理システム180、その他、資産管理システム、ヒストリアン、プロジェクト管理システム、スケジューラなどの種々のシステムを採用することができる。なお、図1には、プロセス管理システム180が例示されている。プロセス管理システム180は、産業システム100におけるプロセス定義の実体を管理し、プロセスのリアルタイムなステータスを管理する。CMDB170においても、プロセスが構成アイテムとして管理することができるが、動的に変化するステータス値は、プロセス管理に特化したプロセス管理システム180で管理される方がより好ましい。このため、説明する実施形態では、プロセス管理システム180がプロセス定義の実体を管理し、その実体定義に応じてCMDB170内にプロセスCIが定義される構成をとる。
【0027】
アクション決定部158は、上記セキュリティ・ポリシに対し、上記グループ識別済みイベント情報を適用して、推奨される対策アクションを導出する。本発明の実施形態によるアクション決定部158は、好ましくは、豊富化されたグループ識別済みイベント情報に含まれる依存関係を表す情報を使用して、依存関係を考慮した上で対策アクションを導出することができる。アクション決定部158は、より具体的には、上記セキュリティ・ポリシのマッチング記述部を評価し、記述されたマッチング条件に合致するポリシが見つかれば、その条件に対応するアクション記述部を読み出し、1以上の対策アクションを決定する。
【0028】
上記マッチング条件は、特に限定されるものではないが、イベント情報の送信元リソースに関連するプロセスに対する条件式、イベント情報の宛先リソースに関連するプロセスに対する条件式、イベント情報の送信元リソースおよび宛先リソースに関連する両プロセスに対する条件式、イベント情報のイベントタイプに対する条件式、またはイベント情報のイベントデータに対する条件式を含むことができる。また、上記条件式は、許容される状況の範囲やアクションの範囲を規定するリソース属性情報やプロセス状況情報を引用する形式を採用することができる。
【0029】
アクション決定部158は、また、対策アクションの決定に先立って、上記グループ識別済みイベント情報を用いて、対策アクションの実施対象となるリソースを選択する処理を行うことができる。実施対象となるリソースは、例えば、イベント情報の送信元リソース、宛先リソース、送信元リソース・グループ内の全部または一部のリソース、宛先リソース・グループ内の全部または一部のリソース、その他外部メールサーバなどの外部システムとすることができる。
【0030】
アクション決定部158は、対策アクションが決定されると、その対策アクションをセキュリティ・ゲートウェイ140に通知する。セキュリティ・ゲートウェイ140は、アクション実施部144を含み、アクション実施部144は、解析エンジン150から通知された対策アクションを実際に実施する。実施され得る対策アクションとしては、特に限定されるものではないが、トラフィックのブロッキング、トラフィックの変更、新規トラフィックの発行、アラート通知を挙げることができる。
【0031】
セキュリティ・ゲートウェイ140は、トラフィックからイベント情報を生成した際に、そのトラフィックを一旦ペンディングし、アクション実施部144は、解析エンジン150による解析の完了を待つ。対策アクションとしてトラフィックのブロッキングが通知されたときは、アクション実施部144は、対応するトラフィックをブロックする。対策アクションとしてトラフィックの変更が通知された場合は、アクション実施部144は、得られた対策アクションに記述された内容でペンディング中のトラフィックを変更または修正して、ペンディングを解除する。対策アクションとして新規トラフィックの発行が通知された場合、アクション実施部144は、対象リソースに対して停止命令など新規トラフィックを発行する。
【0032】
以下、図2〜図5を参照しながら、CMDB170と連携した異常検知に基づく監視制御処理についてより詳細に説明する。図2は、CMDB170と連携した異常検知に基づく監視制御処理で使用されるデータを説明する図である。図2に示すイベント情報200は、セキュリティ・ゲートウェイ140の監視部142から解析エンジン150に渡されるイベント情報を示す。イベント情報200は、送信元リソースを識別する送信元IDと、宛先リソースを識別する宛先IDと、イベントタイプと、イベントデータとを含み構成される。送信元リソースおよび宛先リソースは、それぞれ、当該イベント情報の元となったトラフィック・データの送信元および宛先を指す。例えば、センサ122からのセンサ出力を制御システム102で受信する場合、センサ端末であるデバイス120を送信元とし、制御システム102を宛先としたトラフィック・データが、制御ネットワーク130内で発生する。このようなトラフィック・データがセキュリティ・ゲートウェイ140の監視部142により拾われ、イベント情報200として解析エンジン150へ渡される。
【0033】
グループ識別部152は、受け取ったイベント情報200のうちの送信元IDおよび宛先IDを使用して、CMDB170にクエリを発行し、送信元リソースが属するグループのグループID(以下、送信元グループIDと参照する。)および宛先リソースが属するグループのグループID(以下、宛先グループIDと参照する。)を含む照会結果202を取得し、これをイベント情報200に付加する。ここで、送信元リソースまたは宛先リソースがいずれのリソース・グループにも属していない場合には、照会結果202としてnull値が取得される。
【0034】
図3は、CMDB170内に構築される構成アイテム間の関係を模式的に表した図である。図3に示すように、CMDB170内には、1以上のプロセスCIおよび1以上のリソースCI、並びにこれらの関係が定義される。例えば、プロセスCIインスタンス(「プロセスA」は、リソースCIインスタンス(「制御システムA」および「制御システムB」)に対し「usedBy」の関係が定義されており、これは「プロセスA」の実行時に「制御システムA」および「制御システムB」が使用される依存関係があることを表す。リソースCIインスタンス(「制御システムA」)は、リソースCIインスタンス(「デバイスA」)に対し「managedBy」の関係が定義されており、これは「デバイスA」が「制御システムA」に管理される依存関係があることを表す。その他のプロセスCIインスタンス、リソースCIインスタンスについても同様である。
【0035】
なお、構成アイテム間の関係としては、図3に、使用関係「usedBy」、管理関係「managedBy」、必要関係「poweredBy」、包含関係「containes」を例示するが、これらに限定されるものではない。その他、「assigns」、「canUse」、「deployedOn」、「Owned」、「runAt」など種々の関係を定義することができ、CMDBの実装により異なり、ユーザ定義も可能である。
【0036】
図3には、さらに、2つのリソース・グループA,Bが示されている。リソース・グループAは、制御システムA,B、デバイスA、機材A,B、センサA,B,C,D、アクチュエータA,B,Cから構成されている。リソース・グループBは、同様に、制御システムC、機材C、センサE、アクチュエータDから構成されている。各リソース・グループに属するプロセスおよびリソースは、上述した構成アイテム間の関係によって直接的にまたは間接的に関連付けられたプロセスおよびリソースである。
【0037】
例えばイベント情報の送信元または宛先リソースがデバイスAであった場合、CMDB170は、グループ識別部152からの問い合わせに応答して、リソース・グループAを識別するグループID、またはリソース・グループA内のリソースのIDリストを照会結果202に含めて回答する。上記リソース・グループA,Bは、事前に、またはグループ識別部152が照会する際に動的に定義することができる。リソース・グループの定義の際には、例えば「特定デバイスを利用しているプロセスとusedBy関係があるリソース」というような条件のクエリを用いて、リソース・グループ内のCIの集合を得て、CMDB170内にグループをCIとして新規に登録することができる。
【0038】
このようなCMDB170内の構造は、CMDB170に対するマニュアル入力、ヒストリアンとの同期、資産管理システムからの通知、プロセス管理システム180からの定義の更新通知などの外部システムとの連携、またはディスカバリ機能やトラッキング機能による自動検出により構築される。なお、説明する実施形態では、CMDB170は、充分に短い時間間隔でディスカバリ機能およびトラッキング機能による自動検出を実施しており、さらに、上記外部システムとの連携によって適時に更新されており、CMDB170は、常に最新状態に維持されているものとする。本発明の実施形態による解析エンジン150は、構成アイテムとしてリソースに加えてプロセスが管理されるCMDB170と連携することによって、上記プロセスを経由したリソース間の依存関係を考慮した異常検知を行う。
【0039】
ここで、再び図2を参照する。グループ識別部152は、送信元グループIDおよび宛先グループIDを含む照会結果202を取得すると、それをイベント情報200に付して、イベント解析部154へ渡す。イベント解析部154の情報付加部156は、グループ識別済みイベント情報200,202を受け取ると、適宜、ポリシを適用する上で必要な情報の豊富化を行う。セキュリティ・ポリシ記憶部160には、1以上のポリシが記憶されており、イベント情報に対して各ポリシに適用されるため、ここでは、少なくともいずれかのポリシのマッチング記述部において条件式が定義されている属性情報等がすべて取得される。より具体的には、情報付加部156は、グループ識別済みイベント情報200,202のうちの、送信元グループIDおよび宛先グループIDを使用して、CMDB170に照会して、送信元グループおよび宛先グループに関連する種々の属性情報を取得する。
【0040】
以下、CMDB170のデータ構造を参照しながら、情報付加部156が取得する属性情報について説明する。図4は、構築されたCMDB170のデータ構造を例示する図である。図4に示す構成アイテムテーブル220は、構成アイテムの名称を保管するフィールド222と、構成アイテムのカテゴリを保管するフィールド224と、構成アイテムの上記カテゴリをさらに細分化したモデルを保管するフィールド226と、属性フィールド228と、関係フィールド230とを含む。関係フィールド230は、当該構成アイテムに対して定義されている1以上の関係に関する情報を保管し、関係の種類と、当該構成アイテムの相手方の構成アイテムを識別する名称(または識別番号等)とが保管される。
【0041】
属性フィールド228は、1以上の属性(Attribute)および属性値のセットを保管する。属性は、個々の構成アイテムを特定し、説明するものである。属性としては、特に限定されるものではないが、構成アイテムの名称、識別番号、カテゴリ(リソースおよびプロセスの別を識別する。)、タイプ(制御システム、機材、デバイス、センサ、アクチュエータなどを識別する。)、その他、型番、目的、所有者、発行者、ロケーション、保証期間、バージョン番号、開始日時や完了予定日時や期限などのスケジュール、ステータス、重要度などを挙げることができる。さらに本実施形態では、リソースCIについては、さらに、許容される状況の範囲(定格値、想定値など)、許容されるアクションの範囲(開始、停止、変更)などを含むことができる。
【0042】
なお、構成アイテムの属性は、定義拡張が可能とされており、上述したものに限られるものでなく、またクラス(タイプおよびカテゴリで分類される。)毎に内容を相違させることもできる。本発明の実施形態においては、異常を検知する際に属性情報を使用する場合があるため、少なくともこのような異常検知に用いられる属性が定義されていればよい。なお、図4に示すデータ構造は一例であり、特に限定されるものではなく、他の実施形態では、関係フィールド230の内容等を別のテーブルで管理することもできる。
【0043】
本実施形態では、CMDB170内には、プロセスとリソースとの間、リソース間、リソース・グループとリソースおよびプロセスとの間の関係が定義されている。このため、情報付加部156は、上記送信元グループIDおよび宛先グループIDを用いてCMDB170に照会することにより、送信元および宛先グループに関連する種々の属性情報を取得し、グループ識別済みイベント情報200,202を豊富化することができる。グループに関連する種々の属性情報としては、送信元リソース・グループおよび宛先リソース・グループの各種属性情報(以下、グループ属性情報と参照する。)206、これらリソース・グループ内の各リソースの属性情報(以下、リソース属性情報と参照する。)208、およびプロセスの各種属性情報(以下、プロセス属性情報と参照する。)210を含むことができる。
【0044】
例えば、上記許容される状況の範囲(定格値や想定値)、許容されるアクションの範囲(開始、停止、変更)などの属性値に対する条件式がポリシのマッチング記述部内に記述されていれば、これら許容される範囲の情報を用いて、許容範囲内か範囲外か、あるいは想定範囲内か想定範囲外かを判定し、異常を検出することが可能となる。なお、上記許容される状況の範囲や許容されるアクションの範囲は、その最小値および最大値により規定されたり、限定的に列挙することにより取り得る値が規定されたりする。
【0045】
また情報付加部156は、上記CMDB170から取得した送信元リソース・グループおよび宛先リソース・グループ内の各プロセスのプロセスIDを用いて、プロセス管理システム180に対し照会して、送信元グループおよび宛先グループ内の各プロセスに関するステータス値など動的な状況情報(以下、プロセス状況情報と参照する。)212を取得することができる。以下、プロセス管理システム180が管理するデータ構造を参照して、情報付加部156が取得する情報について説明する。
【0046】
図5は、プロセス管理システム180が管理するプロセスに関するデータ構造を例示する図である。図5に示すプロセス管理テーブル240は、プロセスを識別するプロセスIDを保管するフィールド242と、プロセスの名称を保管するフィールド244と、プロセスのカテゴリを保管するフィールド246と、プロセスの動的なステータスを保管するフィールド248とを含む。さらに、プロセス管理テーブル240は、期限、開始日時、完了予定日時などのスケジュールを保管する複数のフィールド250〜254と、プロセスの発行者および所有者を保管する複数のフィールド256,258と、重要度を保管するフィールド260とを含む。図5に示すプロセス管理テーブル240は、図4に示した構成アイテムテーブル220と重複する情報も含んでいるが、本実施形態のプロセス管理システム180は、CMDB170と異なり、フィールド248に保管される動的に変化するステータスを保管しており、このような動的な状況情報を用いて、リアルタイムな状況を反映して異常を検出することが可能となる。
【0047】
再び図2を参照すると、上記情報付加部156は、送信元グループIDおよび宛先グループIDを使用して、CMDB170およびプロセス管理システム180またはこれらのいずれか一方から、上記グループ属性情報206、リソース属性情報208、プロセス属性情報210およびプロセス状況情報212を含むグループ関連情報204を取得すると、これらをグループ識別済みイベント情報200,202に付加する。豊富化されたイベント情報200,202,204は、上述したように、アクション決定部158によりセキュリティ・ポリシに対し適用されて、対策アクションが導出される。以下、フローチャートを参照しながら、本発明の実施形態による上記豊富化されたイベント情報とセキュリティ・ポリシとを用いた異常検知処理について詳細を説明する。
【0048】
図6は、本発明の実施形態による解析エンジン150が実行する、異常検知処理を示すフローチャートである。図6に示す処理は、セキュリティ・ゲートウェイ140の監視部142が、制御ネットワーク130からトラフィック・データを拾ってイベント情報を発信したことに応答して、ステップS100から開始する。あるいは、他の実施形態では、上記イベント情報が監視部142から発信され、処理待ちのイベント情報を格納する待ちキューに投入されたことに応答して、イベント情報毎にステップS100から開始する。ステップS101では、グループ識別部152は、セキュリティ・ゲートウェイ140の監視部142からイベント情報200を受信する。ステップS102では、グループ識別部152は、イベント情報200に含まれる送信元IDおよび宛先IDを用いてCMDB170に照会し、送信元リソースおよび宛先リソースが属するリソース・グループをそれぞれ決定し、照会結果202をイベント情報200に付加する。
【0049】
ステップS103では、情報付加部156は、セキュリティ・ポリシ記憶部160に記憶されている有効なすべてのセキュリティ・ポリシ中の、外部情報を必要とするマッチング条件を検索し、外部情報として取得する必要のある情報を抽出する。ステップS104では、情報付加部156は、外部情報が必要であるか否かを判定する。ステップS104で外部情報が必要であると判定された場合(YES)には、ステップS105へ処理が分岐される。ステップS105では、情報付加部156は、CMDB170およびプロセス管理システム180またはこれらのいずれか一方に照会し、マッチング記述部の評価に必要な情報を取得し、イベント情報200,202に付加し、ステップS106へ処理を進める。一方、ステップS104で外部情報が必要ではないと判定された場合(NO)には、ステップS106へ直接処理が進められる。
【0050】
ここで、図7〜図11を参照しながら、セキュリティ・ポリシの詳細について説明する。図7(A)〜(C)、図8(A)および(B)、図9(A)および(B)、図10(A)および(B)並びに図11(A)および(B)は、それぞれセキュリティ・ポリシのデータ構造を例示する。図7〜図11に示すように、各セキュリティ・ポリシは、マッチング条件を記述するマッチング記述部と、1以上の対策アクションを記述するアクション記述部とを含む。図7(A)に示すセキュリティ・ポリシは、識別番号として「1」が付されたポリシであって、送信元リソースを利用するプロセスのステータスが「稼働中」であり、かつ、イベント情報に含まれるイベントデータが送信元リソースの許容値の範囲外である場合に、対策アクションとして、送信元グループ内のすべてのリソースを対象とし、イベントタイプが「操作」であるすべてのイベントを遮断する、という内容を記述している。
【0051】
図7(A)に示すセキュリティ・ポリシが適用される場合、情報付加部156は、ステップS105で、マッチング記述部の評価のために必要な情報として、送信元IDで識別されるリソースが属する送信元リソース・グループ内のプロセスの状況情報(ステータス値)をプロセス管理システム180から取得し、送信元リソースの属性情報(許容される範囲)をCMDB170から取得する。図7(A)に示すポリシにおいては、取得されたプロセスのステータス値については、これに対する条件式が直接記述されており、取得されたリソースの許容される範囲の属性値については、これを引用する形式でイベントデータに対する条件式が記述されている。
【0052】
図7(B)に示すセキュリティ・ポリシは、識別番号として「2」が付されたポリシであって、送信元IDで識別される送信元リソースを利用するプロセスが存在せず(送信元IDに対するグループIDの照会に対してnull値が返る場合が対応する。)、かつ、イベントタイプが「センサデータ」である場合に、対策アクションとして、外部メール・システムを対象としアラート送信を行う、という内容を記述している。図7(B)に示すセキュリティ・ポリシが適用される場合、情報付加部156は、ステップS105で、必要な情報として、CMDB170から送信元リソースが属する送信元リソース・グループのグループIDおよびその属性情報を取得することができる。しかしながら、送信元リソース・グループを識別するグループIDは、グループ識別部152が既に取得されてイベント情報に付されているため、それ以外の情報が必要ない場合には、情報付加部156は、図7(B)に示すセキュリティ・ポリシに関して、特にマッチング記述部の評価のために必要な情報を取得しなくともよい。
【0053】
図7(C)に示すセキュリティ・ポリシは、識別番号として「3」が付されたポリシであって、宛先リソースを利用するプロセスのステータスが「稼働中」であり、かつ、イベントタイプが「操作」であり、かつ、イベント情報に含まれるイベントデータが宛先リソースの最大許容値を超える場合に、対策アクションとして、宛先リソースを対象とし、当該イベント情報に対応するトラフィック・データのイベントデータを宛先デバイスの最大許容値に修正する、という内容を記述している。図7(C)に示すセキュリティ・ポリシが適用される場合、情報付加部156は、ステップS105で、必要な情報として、宛先リソースが属する宛先リソース・グループのプロセスの状況情報(ステータス値)をプロセス管理システム180から取得し、宛先リソースの属性情報(許容される範囲における最大値)をCMDB170から取得する。
【0054】
図8〜図11に示すポリシが適用される場合についても同様であり、情報付加部156は、ステップS105で、マッチング記述部の評価のために必要な情報として、送信元または宛先リソースを利用するプロセスの情報(ステータス値や重要度など)、送信元または宛先リソースに関する情報(許容される範囲の最大値および最小値など)をプロセス管理システム180およびCMDB170またはこれらのいずれか一方から取得することができる。
【0055】
再び図6を参照すると、ステップS106では、アクション決定部158は、イベント情報200,202,204が合致するマッチング条件を検索し、対応するアクション記述部を取得する。ステップS107では、アクション決定部158は、マッチング条件が真のポリシが存在するか否かを判定する。ステップS107で、マッチング条件が真のポリシが存在しないと判定された場合(NO)には、ステップS111へ処理を直接進め、本処理を終了し、次のイベント情報の処理が開始されるまで待ち受ける。一方、ステップS107で、マッチング条件が真のポリシが存在すると判定された場合(YES)には、ステップS108へ処理を分岐させる。
【0056】
ステップS108では、アクション決定部158は、対応するアクション記述部の内容から、イベント情報の送信元および宛先リソース以外のリソースへの対策アクションを含むか否かを判定する。ステップS108で、送信元および宛先以外のリソースへのアクションを含むと判定された場合(YES)には、ステップS109へ処理を分岐させる。ステップS109では、情報付加部156は、イベント情報200,202と、CMDB170およびプロセス管理システム180またはこれらのいずれか一方に照会して得た情報204とを使用して、アクション対象を決定し、ステップS110へ処理を進める。例えば、図7(A)に示すポリシの場合、情報付加部156は、実施対象を選択するために必要な情報として、送信元リソースが属する送信元リソース・グループ内の他のリソースIDリストをCMDB170から取得し、この取得されたリソースIDを対象に設定することができる。
【0057】
ステップS108で、送信元および宛先以外のリソースへのアクションを含まないと判定された場合(NO)には、ステップS110へ処理を直接進める。ステップS110では、アクション決定部158は、送信元および宛先またはこれらのいずれか一方をアクション対象として、推奨される対策アクションを導出し、アクション対象および対策アクションをセキュリティ・ゲートウェイ140の実施部144に通知し、ステップS111で本処理を終了させる。
【0058】
ここで、再び図7〜図11を参照すると、図7(A)に示すポリシによれば、プロセスにより利用されているリソースにおいて、許容できない値の操作が観測された場合に、そのプロセスが利用しているすべてのリソース(同一リソース・グループ内のすべてのリソース)への操作イベントを遮断することができる。また、図7(B)に示すポリシによれば、いずれのプロセスからも使用されておらず、使用計画もないリソースからセンサデータが出力されている場合に、その出力を不穏な挙動(異常)として検出し、アラートを発することができる。さらに図7(C)に示すポリシによれば、プロセスにより利用されているリソースにおいて、許容できない値の操作が観測された場合に、トラフィック・データを適正な値に修正することができ、異常操作を補正し、障害発生を予防することができる。
【0059】
また図8(A)に示すセキュリティ・ポリシは、識別番号として「4」が付されたポリシであって、送信元リソースを利用するプロセスのステータスが「稼働中」であり、かつ、イベント情報に含まれるイベントデータが送信元リソースの許容値の範囲外であり、かつ、イベント情報に含まれるイベントタイプが「操作」である場合に、対策アクションとして、宛先グループ内のすべてのリソースを対象とし、すべてのイベントを遮断する、という内容を記述している。図8(A)に示すポリシによれば、プロセスにより利用されているリソースからの異常イベントを検出し、同じプロセスで利用されているすべてのリソースへの操作を禁止することにより、不正侵入防止(IPS)を実現することができる。
【0060】
図8(B)に示すセキュリティ・ポリシは、送信元リソースを利用するプロセスのステータスが「稼働中」であり、かつ、イベント情報に含まれるイベントデータが送信元リソースの許容値の範囲外である場合に、対策アクションとして、送信元グループ内のすべてのリソースを対象とし、リソースの緊急停止を指令する新規トラフィックを発行する、という内容を記述している。図8(B)に示すポリシによれば、プロセスにより利用されているリソースからの異常イベントを検出し、同じプロセスで利用されているすべてのリソースへ緊急停止を指令することにより、侵入の疑いのあるリソースの緊急停止を実施することができる。
【0061】
図9(A)に示すセキュリティ・ポリシは、送信元リソースを利用するプロセスのプロセスIDが宛先リソースを利用するプロセスのプロセスIDと一致しない場合に、対策アクションとして、送信元グループ内のすべてのリソースを対象とし、すべてのイベントを遮断する、という内容を記述している。図9(A)に示すセキュリティ・ポリシによれば、異なるプロセスで利用されているリソース間の通信を検出し、通信をブロックすることができ、プロセス毎に独立な仮想的ネットワークを構成することができる。
【0062】
図9(B)に示すセキュリティ・ポリシは、送信元リソースを利用するプロセスの重要度が「HIGH」であり、かつ、イベント情報に含まれるイベントタイプが「操作」である場合に、対策アクションとして、宛先グループ内のすべてのリソースを対象とし、すべてのイベントを遮断する、という内容を記述している。図9(B)に示すセキュリティ・ポリシによれば、重要度の高いプロセスで利用されるリソースへの操作を検出し、通信をブロックすることができ、ファイアウォールのフィルタのような働きを実現することができる。
【0063】
図10(A)に示すセキュリティ・ポリシは、送信元リソースを利用するプロセスの重要度が、宛先リソースを利用するプロセスの重要度より小さい場合に、対策アクションとして、宛先グループ内のすべてのリソースを対象とし、すべてのイベントを遮断する、という内容を記述している。図10(A)に示すセキュリティ・ポリシによれば、重要度の低いプロセスで利用されるデバイスグループのリソースから、重要度の高いプロセスで利用されるデバイスグループへの通信を検出し、通信をブロックすることができ、セキュリティ・レベルに応じたゾーニング(zoning)を実現することができる。
【0064】
図10(B)に示すセキュリティ・ポリシは、送信元リソースを利用するプロセスの重要度が「LOW」であり、かつ、イベント情報に含まれるイベントデータが送信元リソースの許容される範囲内である場合に、対策アクションとして、送信元リソースを対象とし、すべてのイベントを遮断する、という内容を記述している。図10(B)に示すセキュリティ・ポリシによれば、重要度の低いプロセスで利用されるリソースからのセンサ値が許容される範囲内であった場合に通信をブロックすることができ、重要度の低い通常状態データのトラフィックを削減することができる。
【0065】
以上図7〜図10を参照しながら、種々のセキュリティ・ポリシについて説明してきたが、上述までのセキュリティ・ポリシは、セキュリティ・ゲートウェイ140から通知されるイベント情報毎に、解析をして異常の検知を試み、異常が見つかった場合に対策アクションを実施させるというものであった。しかしながら、セキュリティ・ポリシは、単一のイベント情報に対して規定されるのみならず、イベント情報毎の解析結果を一旦記憶しておき、現在処理対象であるイベント情報の送信元若しくは宛先に関連して蓄積された履歴情報(過去に発生したイベント情報)に関する条件式を含めて、マッチング条件を記述することができる。これにより、複数のイベント情報の組み合わせ、シーケンスまたは統計に対応して、選択的または段階的に対策アクションを導出することができる。図11(A)および(B)は、このような複数のイベント情報に対応して段階的に対策アクションを導出するためのセキュリティ・ポリシを例示する。
【0066】
図11(A)に示すセキュリティ・ポリシは、宛先リソースを利用するプロセスのステータスが「稼働中」であり、かつ、イベントタイプが「操作」であり、かつ、イベント情報のイベントデータが宛先リソースの最大許容値を超える場合であって、宛先グループ全体についての異常の発生(許容範囲外とされる異常に限る。)が1時間に5回未満の頻度であったときに、所定の対策アクションを実施するという内容を規定する。上記所定の対策アクションとしては、図11(A)には、宛先リソースを対象としてイベントデータを修正するという対策アクションと、内部状態の記録として宛先グループについて異常の発生(許容範囲外とされる異常に限る。)を記録するという追加の対策アクションとが記述されている。異常の発生は、例えば、発生日時と異常の内容とをレコードとした、解析エンジン150の内部の一時的な履歴データとして記録することができる。このような内部で保持される履歴情報は、例えば、情報付加部156が、マッチング記述部の評価のために必要な情報として適宜取得することができる。
【0067】
これに対して図11(B)に示すセキュリティ・ポリシは、宛先グループ全体についての異常の発生(許容範囲外とされる異常に限る。)が1時間に5回以上の頻度で発生するという条件を除き、図11(A)に示すポリシと同様のマッチング条件を規定する。そして、図11(B)に示すセキュリティ・ポリシは、上述したマッチング条件が満たされるときの対策アクションとして、宛先グループ内のすべてのリソースを対象として、リソースの緊急停止を指令する新規トラフィックを発行するという対策アクションと、内部状態の記録として宛先グループについて異常の発生の記録をリセットするという追加の対策アクションとを記述している。
【0068】
上述した図11(A)および(B)に示す2つのセキュリティ・ポリシの組み合わせによれば、イベント情報に含まれるイベントデータが宛先リソースの最大許容値を超える場合、当該イベント情報に対応するトラフィック・データのイベントデータを宛先デバイスの最大許容値に修正するという対策アクションを実施しつつ、同一ルール違反の発生が所定の頻度を超えたときに、上記イベントデータの修正に代えて、停止イベントを発生させる対策アクションを実施するという、段階的な対策アクションの導出を可能とする。
【0069】
以上説明したように、上述までの実施形態による監視制御によれば、構成管理データベース170を利用することで、制御ネットワーク130におけるプロセス、リソース間の依存関係を考慮して制御ネットワーク130内の現在の状況を解析し、リソース・グループ全体の振る舞いとして異常の疑われる状況をも好適に検知することができる。そして、制御ネットワーク130におけるプロセス、リソース間の依存関係を考慮して、適切な対策アクションおよびアクションを実施させる対象を決定することができる。したがって、アクチュエータ等のリソース単独の動きからは容易に判別し得ない異常を好適に検知することが可能となり、ひいては、産業制御システムのオープン化に伴うセキュリティ低下を好適に防止することができる。
【0070】
なお、上記解析エンジン150は、それ単独で、1又は複数の汎用コンピュータからなる汎用コンピュータ・システム上に実装されてもよく、特定用途の機器として実装されてもよく、また他の実施形態では、セキュリティ・ゲートウェイ140の機能と一体として実装されてもよい。
【0071】
以上説明したように、本発明の実施形態によれば、構成管理データベースを利用して、制御システムにおけるデバイス、機材、センサ、アクチュエータなどの構成要素間の依存関係を考慮し、構成要素間でネットワークを流れるデータ・トラフィックから異常が疑われる振る舞いを検知し、迅速に対策アクションを起こすことが可能な異常検知装置、監視制御システム、異常検知方法、プログラムおよび記録媒体を提供することができる。
【0072】
本発明の実施形態による解析エンジンは、コンピュータ実行可能なプログラムを、コンピュータにロードして各機能部を実現することにより、異常検知装置として提供される。このようなプログラムとしては、例えば、FORTRAN、COBOL、PL/I、C、C++、Java(登録商標)、Java(登録商標)Beans、Java(登録商標)Applet、Java(登録商標)Script、Perl、Rubyなどのレガシー・プログラミング言語やオブジェクト指向プログラミング言語などで記述された、コンピュータ実行可能なプログラムにより実現でき、装置可読な記録媒体に格納して頒布することができる。
【0073】
これまで本発明を図面に示した実施形態および実施例をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【0074】
100…産業システム、102…制御システム、104…コンソール・システム、106…保守システム、108…分析システム、110…機材、112…センサ、114…アクチュエータ、120…デバイス、122…センサ、124…アクチュエータ、130…制御ネットワーク、140…セキュリティ・ゲートウェイ、142…監視部、144…アクション実施部、150…解析エンジン、152…グループ識別部、154…イベント解析部、156…情報付加部、158…アクション決定部、160…セキュリティ・ポリシ記憶部、170…構成管理データベース(CMDB)、180…プロセス管理システム、200…イベント情報、202…照会結果、204…グループ関連情報、206…グループ属性情報、208…リソース属性情報、210…プロセス属性情報、212…プロセス状況情報、220…構成アイテムテーブル、222〜230…フィールド、240…プロセス管理テーブル、242〜260…フィールド
【特許請求の範囲】
【請求項1】
1以上の制御システムを含む制御ネットワークの異常を検知する異常検知装置であって、
前記制御ネットワーク内で発生したイベント情報を受信して、前記制御システムを含むリソースおよびプロセス間の依存関係を維持する構成管理データベースに照会し、該イベント情報に関わるリソースが属するグループを識別する識別部と、
異常が疑われる状況を規定する条件と1以上のアクションとを対応付ける1以上のポリシを記憶するポリシ記憶部と、
前記1以上のポリシを適用する上で必要となる前記グループに関連する情報を取得し、前記イベント情報に付加する付加部と、
前記1以上のポリシに対し前記イベント情報を適用し、合致する条件に対応付けられるアクションを実施するべきアクションとして決定する決定部と
を含む、異常検知装置。
【請求項2】
前記グループに関連する情報は、外部システムから取得される前記グループに属するプロセスの状況情報、前記グループに属するプロセスの属性情報および前記グループに属するリソースの属性情報またはこれらの少なくとも1つの情報を含み、前記条件は、前記グループに関連する情報を条件式に含む、請求項1に記載の異常検知装置。
【請求項3】
前記リソースの属性情報は、前記リソースで許容される状況の範囲および許容されるアクションの範囲またはこれらの一方を規定し、前記条件は、前記範囲を規定する属性情報を引用する条件式を含む、請求項2に記載の異常検知装置。
【請求項4】
前記条件は、前記イベント情報の送信元リソースに関連するプロセスに対する条件式、前記イベント情報の宛先リソースに関連するプロセスに対する条件式、前記イベント情報の送信元リソースおよび宛先リソースに関連する両プロセスに対する条件式、前記イベント情報のイベントタイプに対する条件式、前記イベント情報のイベントデータに対する条件式、または前記イベント情報の送信元若しくは宛先に関連して過去に発生したイベント情報に関する条件式を含む、請求項3に記載の異常検知装置。
【請求項5】
前記ポリシは、前記アクションを実施させる対象リソースを規定する記述を含み、前記決定部は、前記記述に従って、前記グループに属するリソースの全部または一部を前記対象リソースとして決定する、請求項1に記載の異常検知装置。
【請求項6】
前記識別部は、受信したイベント情報に含まれる送信元リソースの識別値、宛先リソースの識別値、イベントタイプおよびイベントデータに、それぞれ前記送信元リソースまたは前記宛先リソースが属するグループを識別するグループ識別値、または該グループに属するリソースの識別値のリストを付する、請求項1に記載の異常検知装置。
【請求項7】
前記アクションは、トラフィックのブロッキング、トラフィックの変更、新規トラフィックの発行、アラート通知を含み、前記制御ネットワークは、制御システム、デバイス、装置、センサおよびアクチュエータからなる群から選択された1種または2種以上のリソースを複数含む、請求項1に記載の異常検知装置。
【請求項8】
1以上の制御システムを含む制御ネットワークを監視するセキュリティ・ゲートウェイと、前記制御ネットワークの異常を検知する解析エンジンとを備える監視制御システムであって、前記解析エンジンは、
前記制御ネットワーク内で発生したイベント情報を受信して、前記制御システムを含むリソースおよびプロセス間の依存関係を維持する構成管理データベースに照会し、該イベント情報に関わるリソースが属するグループを識別する識別部と、
異常が疑われる状況を規定する条件と1以上のアクションとを対応付ける1以上のポリシを記憶するポリシ記憶部と、
前記1以上のポリシを適用する上で必要となる前記グループに関連する情報を取得し、前記イベント情報に付加する付加部と、
前記1以上のポリシに対し前記イベント情報を適用し、合致する条件に対応付けられるアクションを実施するべきアクションとして決定する決定部と
を含み、前記セキュリティ・ゲートウェイは、
前記制御ネットワーク内のトラフィック・データを監視し、イベントを拾い上げて、前記イベント情報として発信する監視部と、
決定されたアクションを実施する実施部と
を含む、監視制御システム。
【請求項9】
前記識別部は、前記セキュリティ・ゲートウェイの前記監視部から前記イベント情報を受信し、前記決定部は、前記イベント情報に応じて決定された前記アクションを前記セキュリティ・ゲートウェイの前記実施部に対し通知することで実施させる、請求項8に記載の監視制御システム。
【請求項10】
1以上の制御システムを含む制御ネットワークの異常を検出するための異常検出装置が実行する方法であって、
前記異常検出装置が、前記制御ネットワーク内で発生したイベント情報を受信して、前記制御システムを含むリソースおよびプロセス間の依存関係を維持する構成管理データベースに照会し、該イベント情報に関わるリソースが属するグループを識別するステップと、
前記異常検出装置が、異常が疑われる状況を規定する条件と1以上のアクションとを対応付ける1以上のポリシに対し前記イベント情報を適用し、合致する条件に対応付けられるアクションを実施するべきアクションとして決定するステップとを含み、
前記異常検出装置が、前記1以上のポリシを適用する上で必要となる前記グループに関連する情報を取得し、前記イベント情報に付加するステップをさらに含む、異常検出方法。
【請求項11】
前記付加するステップは、前記アクションを決定するステップの前に行われ、
前記異常検出装置が、外部システムから取得される前記グループに属するプロセスの状況情報、前記グループに属するプロセスの属性情報および前記グループに属するリソースの属性情報またはこれらの少なくとも1つの情報を取得するステップを含み、前記条件は、前記グループに関連する情報を条件式に含む、請求項10に記載の異常検出方法。
【請求項12】
前記リソースの属性情報は、前記リソースで許容される状況の範囲および許容されるアクションの範囲またはこれらの一方を規定し、前記条件は、前記範囲を規定する属性情報を引用する条件式を含む、請求項11に記載の異常検出方法。
【請求項13】
コンピュータ・システム上に、1以上の制御システムを含む制御ネットワークの異常を検知する異常検知装置を実現するためのコンピュータ実行可能なプログラムであって、前記コンピュータ・システムを、
前記制御ネットワーク内で発生したイベント情報を受信して、前記制御システムを含むリソースおよびプロセス間の依存関係を維持する構成管理データベースに照会し、該イベント情報に関わるリソースが属するグループを識別する識別部、
異常が疑われる状況を規定する条件と1以上のアクションとを対応付ける1以上のポリシを記憶するポリシ記憶部、
前記1以上のポリシを適用する上で必要となる前記グループに関連する情報を取得し、前記イベント情報に付加する付加部、および
前記1以上のポリシに対し前記イベント情報を適用し、合致する条件に対応付けられるアクションを実施するべきアクションとして決定する決定部
として機能させるためのプログラム。
【請求項14】
請求項13に記載のコンピュータ実行可能なプログラムをコンピュータ読取可能に格納する記録媒体。
【請求項1】
1以上の制御システムを含む制御ネットワークの異常を検知する異常検知装置であって、
前記制御ネットワーク内で発生したイベント情報を受信して、前記制御システムを含むリソースおよびプロセス間の依存関係を維持する構成管理データベースに照会し、該イベント情報に関わるリソースが属するグループを識別する識別部と、
異常が疑われる状況を規定する条件と1以上のアクションとを対応付ける1以上のポリシを記憶するポリシ記憶部と、
前記1以上のポリシを適用する上で必要となる前記グループに関連する情報を取得し、前記イベント情報に付加する付加部と、
前記1以上のポリシに対し前記イベント情報を適用し、合致する条件に対応付けられるアクションを実施するべきアクションとして決定する決定部と
を含む、異常検知装置。
【請求項2】
前記グループに関連する情報は、外部システムから取得される前記グループに属するプロセスの状況情報、前記グループに属するプロセスの属性情報および前記グループに属するリソースの属性情報またはこれらの少なくとも1つの情報を含み、前記条件は、前記グループに関連する情報を条件式に含む、請求項1に記載の異常検知装置。
【請求項3】
前記リソースの属性情報は、前記リソースで許容される状況の範囲および許容されるアクションの範囲またはこれらの一方を規定し、前記条件は、前記範囲を規定する属性情報を引用する条件式を含む、請求項2に記載の異常検知装置。
【請求項4】
前記条件は、前記イベント情報の送信元リソースに関連するプロセスに対する条件式、前記イベント情報の宛先リソースに関連するプロセスに対する条件式、前記イベント情報の送信元リソースおよび宛先リソースに関連する両プロセスに対する条件式、前記イベント情報のイベントタイプに対する条件式、前記イベント情報のイベントデータに対する条件式、または前記イベント情報の送信元若しくは宛先に関連して過去に発生したイベント情報に関する条件式を含む、請求項3に記載の異常検知装置。
【請求項5】
前記ポリシは、前記アクションを実施させる対象リソースを規定する記述を含み、前記決定部は、前記記述に従って、前記グループに属するリソースの全部または一部を前記対象リソースとして決定する、請求項1に記載の異常検知装置。
【請求項6】
前記識別部は、受信したイベント情報に含まれる送信元リソースの識別値、宛先リソースの識別値、イベントタイプおよびイベントデータに、それぞれ前記送信元リソースまたは前記宛先リソースが属するグループを識別するグループ識別値、または該グループに属するリソースの識別値のリストを付する、請求項1に記載の異常検知装置。
【請求項7】
前記アクションは、トラフィックのブロッキング、トラフィックの変更、新規トラフィックの発行、アラート通知を含み、前記制御ネットワークは、制御システム、デバイス、装置、センサおよびアクチュエータからなる群から選択された1種または2種以上のリソースを複数含む、請求項1に記載の異常検知装置。
【請求項8】
1以上の制御システムを含む制御ネットワークを監視するセキュリティ・ゲートウェイと、前記制御ネットワークの異常を検知する解析エンジンとを備える監視制御システムであって、前記解析エンジンは、
前記制御ネットワーク内で発生したイベント情報を受信して、前記制御システムを含むリソースおよびプロセス間の依存関係を維持する構成管理データベースに照会し、該イベント情報に関わるリソースが属するグループを識別する識別部と、
異常が疑われる状況を規定する条件と1以上のアクションとを対応付ける1以上のポリシを記憶するポリシ記憶部と、
前記1以上のポリシを適用する上で必要となる前記グループに関連する情報を取得し、前記イベント情報に付加する付加部と、
前記1以上のポリシに対し前記イベント情報を適用し、合致する条件に対応付けられるアクションを実施するべきアクションとして決定する決定部と
を含み、前記セキュリティ・ゲートウェイは、
前記制御ネットワーク内のトラフィック・データを監視し、イベントを拾い上げて、前記イベント情報として発信する監視部と、
決定されたアクションを実施する実施部と
を含む、監視制御システム。
【請求項9】
前記識別部は、前記セキュリティ・ゲートウェイの前記監視部から前記イベント情報を受信し、前記決定部は、前記イベント情報に応じて決定された前記アクションを前記セキュリティ・ゲートウェイの前記実施部に対し通知することで実施させる、請求項8に記載の監視制御システム。
【請求項10】
1以上の制御システムを含む制御ネットワークの異常を検出するための異常検出装置が実行する方法であって、
前記異常検出装置が、前記制御ネットワーク内で発生したイベント情報を受信して、前記制御システムを含むリソースおよびプロセス間の依存関係を維持する構成管理データベースに照会し、該イベント情報に関わるリソースが属するグループを識別するステップと、
前記異常検出装置が、異常が疑われる状況を規定する条件と1以上のアクションとを対応付ける1以上のポリシに対し前記イベント情報を適用し、合致する条件に対応付けられるアクションを実施するべきアクションとして決定するステップとを含み、
前記異常検出装置が、前記1以上のポリシを適用する上で必要となる前記グループに関連する情報を取得し、前記イベント情報に付加するステップをさらに含む、異常検出方法。
【請求項11】
前記付加するステップは、前記アクションを決定するステップの前に行われ、
前記異常検出装置が、外部システムから取得される前記グループに属するプロセスの状況情報、前記グループに属するプロセスの属性情報および前記グループに属するリソースの属性情報またはこれらの少なくとも1つの情報を取得するステップを含み、前記条件は、前記グループに関連する情報を条件式に含む、請求項10に記載の異常検出方法。
【請求項12】
前記リソースの属性情報は、前記リソースで許容される状況の範囲および許容されるアクションの範囲またはこれらの一方を規定し、前記条件は、前記範囲を規定する属性情報を引用する条件式を含む、請求項11に記載の異常検出方法。
【請求項13】
コンピュータ・システム上に、1以上の制御システムを含む制御ネットワークの異常を検知する異常検知装置を実現するためのコンピュータ実行可能なプログラムであって、前記コンピュータ・システムを、
前記制御ネットワーク内で発生したイベント情報を受信して、前記制御システムを含むリソースおよびプロセス間の依存関係を維持する構成管理データベースに照会し、該イベント情報に関わるリソースが属するグループを識別する識別部、
異常が疑われる状況を規定する条件と1以上のアクションとを対応付ける1以上のポリシを記憶するポリシ記憶部、
前記1以上のポリシを適用する上で必要となる前記グループに関連する情報を取得し、前記イベント情報に付加する付加部、および
前記1以上のポリシに対し前記イベント情報を適用し、合致する条件に対応付けられるアクションを実施するべきアクションとして決定する決定部
として機能させるためのプログラム。
【請求項14】
請求項13に記載のコンピュータ実行可能なプログラムをコンピュータ読取可能に格納する記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−168686(P2012−168686A)
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【出願番号】特願2011−28341(P2011−28341)
【出願日】平成23年2月14日(2011.2.14)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【復代理人】
【識別番号】100110607
【弁理士】
【氏名又は名称】間山 進也
【Fターム(参考)】
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【出願日】平成23年2月14日(2011.2.14)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【復代理人】
【識別番号】100110607
【弁理士】
【氏名又は名称】間山 進也
【Fターム(参考)】
[ Back to top ]