(58)【調査した分野】(Int.Cl.,DB名)
前記セキュリティ事象は、データの送信先または送信元のネットワークアドレス、物理アドレス、ポート番号のうちいずれかが、予め定められたアクセスを許可されたリストに含まれていない、および、予め定められたアクセスを禁止されたリストに含まれている、のいずれかに該当することを含む、請求項1〜3のいずれか1項に記載の制御装置。
前記セキュリティ事象は、前記制御装置で実行されるプログラムの追加および変更、ならびに、前記制御装置における設定の変更のうち、いずれかが生じたことを含む、請求項1〜5のいずれか1項に記載の制御装置。
【発明を実施するための形態】
【0030】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0031】
<A.適用例>
まず、本発明が適用される場面の一例について説明する。
【0032】
本明細書において、「セキュリティ事象」は、制御装置の運用者または管理者などによって予め定められた規則に適合しない事象を含む。より具体的には、「セキュリティ事象」は、(a)制御装置自体の動作を停止または性能を低下させる挙動および行為、(b)制御装置におけるプログラムの実行処理を停止または性能を低下させる挙動および行為、(c)制御装置の制御対象となる設備、装置またはデバイスなどの動作を停止または性能を低下させる挙動および行為、ならびに、(d)これらに類する挙動および行為を含み得る。
【0033】
本明細書における「セキュリティ事象」は、基本的には、ネットワークまたはそれに類する電気通信を介して与えられる挙動または行為を包含する概念である。
【0034】
図1は、本実施の形態に係る制御システム1の概略構成を示す模式図である。
図1を参照して、本実施の形態に係る制御システム1は、設備および装置などの制御対象を制御するものであり、制御装置2と、リモートIO(Input Output)装置4と、1または複数の表示装置500と、1または複数のサーバ装置600とを含む。制御装置2と、表示装置500と、サーバ装置600とは、ネットワーク10を介して接続されている。ネットワーク10は、ゲートウェイ700を介して、外部ネットワークであるインターネットに接続されている。また、制御装置2とリモートIO装置4との間は、フィールドネットワーク6を介して接続されている。
【0035】
制御装置2は、主として、制御対象を制御する処理を担当する。本実施の形態において、制御装置2は、インターネットからのアクセス、および、ネットワーク10内の他の装置からのアクセスを監視するとともに、何らかのセキュリティ事象の発生を検知すると、制御装置2の内部または外部へ当該検知したセキュリティ事象に係る通知を行う。
【0036】
制御装置2は、CPUユニット100と、セキュリティユニット200と、1または複数の機能ユニット300とを含む。CPUユニット100は、制御対象に応じて作成されたプログラムを実行するプログラム実行部を有している。より具体的には、CPUユニット100は、システムプログラムおよび各種のユーザプログラムを実行する演算処理部に相当する。
【0037】
セキュリティユニット200は、制御装置2に対する外部からのアクセスにおいてセキュリティ事象が発生したか否かを判断する検知部を有している。より具体的には、セキュリティユニット200は、予め定められたセキュリティ設定20に従って、セキュリティ事象の発生の有無を常時監視する。
図1に示す構成例においては、セキュリティユニット200は、制御装置2がネットワーク10を介して送受信するデータを監視可能に配置されている。すなわち、セキュリティユニット200は、論理的には、CPUユニット100とネットワーク10との間に配置され、CPUユニット100から送信されるデータをネットワーク10へ転送するとともに、ネットワーク10を介して受信したデータをCPUユニット100へ転送する。セキュリティユニット200は、このような処理において送受信されるデータを監視して、何らかのセキュリティ事象の有無を判断する。
【0038】
セキュリティユニット200は、何らかのセキュリティ事象の発生を検知すると、予め定められた規則に従って、内部または外部への通知を行う。すなわち、セキュリティユニット200は、セキュリティ事象が発生したと検知されると、当該発生したセキュリティ事象に応じた通知先へ通知する通知部を有している。
【0039】
本実施の形態に係る制御システム1においては、CPUユニット100、あるいは、CPUユニット100を含む装置に対するアクセスについて、予め定められたセキュリティ事象が発生したか否かを常時監視する処理が実装されている。そして、何らかのセキュリティ事象が発生すると、当該発生したセキュリティ事象に応じた通知が、制御装置2の内部または外部へ出力される。このような構成を採用することで、CPUユニット100、あるいは、CPUユニット100を含む装置に対するセキュリティ耐性を高めることができる。
【0040】
なお、説明の便宜上、それぞれ独立したCPUユニット100とセキュリティユニット200とを用いた別体型の実装例を示すが、これに限らず、両者を一体化したユニットを採用してもよい。あるいは、CPUユニット100に接続される「ユニット」の形ではなく、CPUユニット100と何らかの手段で接続される別装置として、セキュリティユニット200が提供する処理を実装してもよい。
【0041】
<B.制御システムの全体構成例>
引き続いて
図1を参照して、制御システム1の全体構成例について説明する。
【0042】
制御装置2に含まれる機能ユニット300は、制御対象の設備および装置、ならびに、それらに配置されている各種デバイス(センサやアクチュエータなど)との間で信号を遣り取りする。具体的には、機能ユニット300は、CPUユニット100において算出される指令値をフィールドへ出力、あるいは、フィールドからの入力値を収集する。機能ユニット300としては、例えば、制御対象からのデジタル信号を受取るDI(Digital Input)モジュール、制御対象に対してデジタル信号を出力するDO(Digital Output)モジュール、制御対象からのアナログ信号を受取るAI(Analog Input)モジュール、制御対象に対してアナログ信号を出力するAO(Analog Output)モジュールのうち1または複数のモジュールを有している。さらに、機能ユニット300としては、PID(Proportional Integral Derivative)制御やモーション制御といった特殊機能を実装したコントローラを含み得る。
【0043】
制御装置2とリモートIO装置4とを接続するフィールドネットワーク6は、データの到達時間が保証される、定周期通信を行うバスまたはネットワークを採用することが好ましい。このような定周期通信を行うバスまたはネットワークとして、EtherCAT(登録商標)を採用してもよい。なお、「フィールドネットワーク」と称される通信経路は、「フィールドバス」とも称される。本明細書において、「フィールドネットワーク」との用語は、狭義の「フィールドネットワーク」に加えて、「フィールドバス」を含み得る概念として用いる。
【0044】
リモートIO装置4は、カプラユニット400と、1または複数の機能ユニット300とを含む。カプラユニット400は、フィールドネットワーク6を介してデータを遣り取りするための第1の通信インターフェイスと、リモートIO装置4に含まれる機能ユニット300との間で内部的にデータを遣り取りする第2の通信インターフェイスとを含む。
【0045】
機能ユニット300については、制御装置2に含まれる機能ユニット300と同様であるので、詳細な説明は繰返さない。
【0046】
制御装置2と表示装置500およびサーバ装置600とを接続するネットワーク10としては、例えば、一般的なネットワークプロトコルであるイーサネット(登録商標)やEtherNet/IP(登録商標)が採用されてもよい。
【0047】
表示装置500は、ユーザからの操作を受けて、制御装置2に対してユーザ操作に応じたコマンドなどを出力するとともに、制御装置2での演算結果などをグラフィカルに表示する。
【0048】
サーバ装置600は、データベースシステム、製造実行システム(MES:Manufacturing Execution System)などが想定される。製造実行システムは、制御対象の製造装置や設備からの情報を取得して、生産全体を監視および管理するものであり、オーダ情報、品質情報、出荷情報などを扱うこともできる。これらに限らず、情報系サービス(制御対象から各種情報を取得して、マクロ的またはミクロ的な分析などを行う処理)を提供する装置をネットワーク10に接続するようにしてもよい。
【0049】
ゲートウェイ700は、ネットワーク10と外部ネットワーク(インターネット)との間のプロトコル変換およびファイヤウォールとしての処理を実行する。
【0050】
<C.主要なユニットのハードウェア構成例>
次に、本実施の形態に係る制御装置2に含まれる主要なユニットのハードウェア構成例について説明する。
【0051】
(c1:CPUユニット100)
図2は、本実施の形態に係る制御装置2に含まれるCPUユニット100のハードウェア構成例を示すブロック図である。
図2を参照して、CPUユニット100は、プロセッサ102と、チップセット104と、主メモリ106と、ストレージ108と、ユニット間インターフェイス110と、USB(Universal Serial Bus)インターフェイス112と、メモリカードインターフェイス114と、ネットワークインターフェイス118と、内部バスコントローラ120と、フィールドネットワークコントローラ130とを含む。
【0052】
プロセッサ102は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)などで構成される。プロセッサ102としては、複数のコアを有する構成を採用してもよいし、プロセッサ102を複数配置してもよい。このように、CPUユニット100は、1または複数のプロセッサ102、および/または、1または複数のコアを有するプロセッサ102を有している。チップセット104は、プロセッサ102および周辺エレメントを制御することで、CPUユニット100全体としての処理を実現する。主メモリ106は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。ストレージ108は、例えば、フラッシュメモリなどの不揮発性記憶装置などで構成される。
【0053】
プロセッサ102は、ストレージ108に格納された各種プログラムを読出して、主メモリ106に展開して実行することで、制御対象に応じた制御を実現する。ストレージ108には、基本的な処理を実現するためのシステムプログラム32に加えて、制御対象の製造装置や設備に応じて作成されたユーザプログラム30が格納される。
【0054】
ユニット間インターフェイス110は、他のユニットとデータ通信可能に接続するためのデバイスである。本実施の形態においては、CPUユニット100のユニット間インターフェイス110を介して、セキュリティユニット200が接続される。ユニット間インターフェイス110としては、例えば、公知のデータ伝送規格(例えば、PCI Express)などに従うデバイスを採用できる。
【0055】
USBインターフェイス112は、USB接続を介した外部装置(例えば、ユーザプログラムの開発などを行うサポート装置)との間のデータ通信を仲介する。
【0056】
メモリカードインターフェイス114は、メモリカード116が着脱可能に構成されており、メモリカード116に対してデータを書込み、メモリカード116から各種データ(ユーザプログラムやトレースデータなど)を読出すことが可能になっている。
【0057】
ネットワークインターフェイス118は、ネットワーク10を介したデータ通信の仲介が可能になっている。但し、CPUユニット100にセキュリティユニット200が接続される状態においては、通常、ネットワークインターフェイス118の動作は無効化(具体的には、ポート使用が禁止)されている。
【0058】
内部バスコントローラ120は、CPUユニット100に装着される機能ユニット300との間のデータ通信を仲介する。フィールドネットワークコントローラ130は、フィールドネットワーク6を介した他のユニットとの間のデータ通信を仲介する。
【0059】
図2には、プロセッサ102がプログラムを実行することで必要な処理が実現される構成例を示したが、これらの提供される処理の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
【0060】
(c2:セキュリティユニット200)
図3は、本実施の形態に係る制御装置2に含まれるセキュリティユニット200のハードウェア構成例を示すブロック図である。
図3を参照して、セキュリティユニット200は、プロセッサ202と、チップセット204と、主メモリ206と、ストレージ208と、ユニット間インターフェイス210と、ネットワークインターフェイス220とを含む。
【0061】
プロセッサ202は、CPU、MPU、GPUなどで構成される。上述のCPUユニット100と同様に、セキュリティユニット200は、1または複数のプロセッサ202、および/または、1または複数のコアを有するプロセッサ202を有している。チップセット204は、プロセッサ202および周辺エレメントを制御することで、セキュリティユニット200全体としての処理を実現する。主メモリ206は、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ208は、例えば、フラッシュメモリなどの不揮発性記憶装置などで構成される。
【0062】
プロセッサ202は、ストレージ208に格納された各種プログラムを読出して、主メモリ206に展開して実行することで、セキュリティ事象の監視などの処理を実現する。ストレージ208には、基本的な処理を実現するためのファームウェア22に加えて、制御装置の運用者または管理者などが予め定めた規則などを規定するセキュリティ設定20が格納される。セキュリティ設定20に基づく、セキュリティ監視処理の詳細については、後述する。
【0063】
ユニット間インターフェイス210は、上述のCPUユニット100のユニット間インターフェイス110と同様に、他のユニットとデータ通信可能に接続するためのデバイスである。ユニット間インターフェイス210を介して、セキュリティユニット200とCPUユニット100とが接続される。
【0064】
ネットワークインターフェイス220は、ネットワーク10を介した他の装置との間のデータ通信を仲介する。ネットワークインターフェイス220は、主たるコンポーネントとして、送受信部222と、コントローラ224と、バッファ226とを含む。
【0065】
送受信部222は、OSI参照モデルの物理層を担当するエレメントであり、ネットワーク10を介した信号の受信およびデコード、ならびに、送信すべきデータのエンコードおよびネットワーク10を介したエンコードされた信号の送信を担当する。
【0066】
コントローラ224は、主として、OSI参照モデルのデータリンク層、ネットワーク層、トランスポート層を担当するエレメントであり、ルーティング、エラー訂正、再送処理などを担当する。
【0067】
バッファ226は、送信すべきデータおよび受信したデータなどを一時的に蓄える記憶部である。
【0068】
図3には、プロセッサ202がプログラムを実行することで必要な処理が提供される構成例を示したが、これらの提供される処理の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
【0069】
(c3:機能ユニット300およびカプラユニット400)
本実施の形態に係る制御装置2およびリモートIO装置4に含まれる機能ユニット300、ならびに、リモートIO装置4に含まれるカプラユニット400については、公知の構成であるので、ここでは詳細な説明は繰返さない。
【0070】
<D.機能構成例>
次に、本実施の形態に係る制御システム1に含まれるセキュリティユニット200の機能構成の一例について説明する。
図4は、本実施の形態に係る制御装置2に含まれるセキュリティユニット200の機能構成例を示すブロック図である。
【0071】
図4を参照して、セキュリティユニット200は、セキュリティ事象の監視に係る機能構成として、フレーム抽出モジュール250と、解析モジュール252と、状態取得モジュール260と、検知モジュール262と、通知モジュール264と、ユーザ認証モジュール266とを含む。
【0072】
フレーム抽出モジュール250は、ネットワーク10を介して外部装置との間で遣り取りされるデータ(フレームまたはパケット)を、ネットワークインターフェイス220から抽出する。フレーム抽出モジュール250は、抽出したフレームまたはパケットを解析モジュール252へ出力する。
【0073】
解析モジュール252は、フレーム抽出モジュール250からのフレームまたはパケットを解析して、その解析結果を検知モジュール262へ出力する。解析モジュール252における解析の内容は任意に設定できる。
図4に示す構成例においては、解析モジュール252は、内容解析処理254と、特徴抽出処理256と、統計処理258とが実行可能になっている。
【0074】
内容解析処理254は、処理対象のフレームまたはパケットのヘッダ情報などを参照して、送信先および送信元のネットワークアドレス(例えば、IP(Internet Protocol)アドレス)、物理アドレス(例えば、MAC(Media Access Control address)アドレス)、ポート番号、伝送プロトコルなどの情報を取得する処理を含む。
【0075】
特徴抽出処理256は、処理対象のフレームまたはパケットに含まれるデータの内容から特徴量を抽出する処理を含む。
【0076】
統計処理258は、処理対象のフレームまたはパケットの送受信タイミングや頻度などの統計情報を算出する処理を含む。
【0077】
それぞれの処理によって算出される情報は、解析結果として、検知モジュール262へ出力される。
【0078】
状態取得モジュール260は、CPUユニット100における状態を取得し、その取得したCPUユニット状態情報を検知モジュール262へ出力する。CPUユニット状態情報は、例えば、CPUユニット100に対してなされた何らかの変更操作(ソフトウェア上およびハードウェア上のいずれも含み得る)を示す。
【0079】
検知モジュール262は、セキュリティ設定20を参照して、解析モジュール252からの解析結果、および/または、状態取得モジュール260からのCPUユニット状態情報が、予め定められたセキュリティ事象の条件に合致しているか否かを判断する。なお、セキュリティ事象の具体例については、後述する。
【0080】
検知モジュール262は、解析結果またはCPUユニット状態情報がいずれかの条件に合致している場合には、当該合致した条件に対応する種類のセキュリティ事象が発生したと判断し、その発生したと判断されたセキュリティ事象の発生を示す検知結果を通知モジュール264へ出力する。
【0081】
検知モジュール262は、検知したセキュリティ事象を示す情報を履歴情報24として登録する。
【0082】
通知モジュール264は、検知モジュール262からの検知結果に応答して、発生したセキュリティ事象に応じた内容を、発生したセキュリティ事象に応じた通知先へ通知する。通知内容および通知先の具体例については、後述する。
【0083】
ユーザ認証モジュール266は、ネットワーク10を介してセキュリティユニット200にアクセスするユーザに対する認証処理を実行する。ユーザ認証モジュール266は、ユーザ認証の結果を示すユーザ認証結果を検知モジュール262へ出力する。
【0084】
以上のような機能構成を採用することで、本実施の形態に係るセキュリティ監視処理を実現できる。
【0085】
<E.セキュリティ事象>
次に、本実施の形態に係る制御システム1において設定されるセキュリティ事象のいくつかの例について説明する。
【0086】
(e1−1:アクセスコントロール)
まず、セキュリティ設定20として、送信先および/または送信元を制限するアクセスコントロールを利用する例について説明する。
【0087】
アクセスコントロールの一例としては、送信先および/または送信元のネットワークアドレス(例えば、IPアドレス)、物理アドレス(例えば、MACアドレス)、ポート番号などを用いることができる。
【0088】
図5は、セキュリティ設定20に含まれるアクセスコントロールリスト(ACL:Access Control List)の一例を示す図である。
図5には、アクセスコントロールを実現するためのアクセスコントロールリストとして、明示的にアクセスを許可する条件を規定するホワイトリストと、明示的にアクセスを禁止する条件を規定するブラックリストとを示す。但し、2種類のリストを用いる必要はなく、要求されるセキュリティレベルなどに応じて、いずれか一方のみを用いるようにしてもよい。
【0089】
図5(A)には、通信先のネットワークアドレス(IPアドレス)を用いる例を示す。
図5(A)のホワイトリストには、CPUユニット100へのアクセスを許可されるIPアドレスが規定されており、
図5(A)のブラックリストには、CPUユニット100へのアクセスが禁止されるIPアドレスが規定されている。
【0090】
図5(B)には、通信先の物理アドレス(MACアドレス)を用いる例を示す。
図5(B)のホワイトリストには、CPUユニット100へのアクセスを許可されるMACアドレスが規定されており、
図5(B)のブラックリストには、CPUユニット100へのアクセスが禁止されるMACアドレスが規定されている。
【0091】
図5(C)には、通信先とのデータ通信に用いられるポート番号を用いる例を示す。
図5(C)のホワイトリストには、CPUユニット100へのアクセスを許可されるポート番号が規定されており、
図5(C)のブラックリストには、CPUユニット100へのアクセスが禁止されるポート番号が規定されている。
【0092】
図5(A)〜
図5(C)のホワイトリストに規定されていないデバイスからのアクセス、および、ブラックリストに規定されているデバイスからのアクセスがあると、セキュリティ事象が発生したと判断してもよい。このようなアクセスコントロールリストを用いたセキュリティ事象の監視は、典型的には、
図4に示す解析モジュール252の内容解析処理254により出力される解析結果とアクセスコントロールリストとを比較することで、実現される。
【0093】
上述した、ネットワークアドレス、物理アドレス、ポート番号のうち複数を組み合せてもよい。例えば、物理アドレスおよびポート番号のいずれもがアクセス許可されている通信先に限ってアクセスを許可するようにしてもよい。
【0094】
このように、本実施の形態に係るセキュリティ事象は、データの送信先または送信元のネットワークアドレス、物理アドレス、ポート番号のうちいずれかが、予め定められたアクセスを許可されたホワイトリストに含まれていない、および、予め定められたアクセスを禁止されたブラックリストに含まれている、のいずれかに該当することを含んでいてもよい。
【0095】
(e1−2:データ受信パターン)
次に、セキュリティ設定20として、データ受信パターンを監視する例について説明する。例えば、大量のリクエストデータなどを送信してサービスを利用停止にするDoS(Denial of Service)攻撃などを検知するためのセキュリティ設定20を採用してもよい。
【0096】
DoS攻撃の一例として、SYN flood攻撃などを考慮すると、受信間隔の短いSYNパケット(あるいは、サイズが所定値以下のパケット)を所定期間に亘って受信し続けた場合などを、セキュリティ事象が発生したと判断するようにしてもよい。
【0097】
データ受信パターンを用いたセキュリティ事象の監視は、典型的には、
図4に示す解析モジュール252の特徴抽出処理256により出力される特徴量とアクセスコントロールリストとを比較することで、実現される。このように、セキュリティ設定20として、受信するパケットの種類および受信間隔などによって規定されるデータ受信パターンを規定してもよい。
【0098】
このように、本実施の形態に係るセキュリティ事象は、受信するパケットの種類および受信間隔などによって規定されるデータ受信パターンが予め規定されたパターンに合致することを含んでいてもよい。
【0099】
(e1−3:アクセスパターン)
次に、セキュリティ設定20として、特定のアクセスパターンを監視する例について説明する。
【0100】
例えば、既知のコンピュータウィルスについては、特有のアクセスパターンが解明されている場合も多く、このような場合には、その特有のアクセスパターンをセキュリティ設定20として規定しておいてもよい。そして、セキュリティ設定20に規定されたアクセスパターンに相当するアクセスを受けると、セキュリティ事象が発生したと判断するようにしてもよい。
【0101】
このようなアクセスパターンを用いたセキュリティ事象の監視は、典型的には、
図4に示す解析モジュール252の特徴抽出処理256により出力される特徴量とアクセスコントロールリストとを比較することで、実現される。このように、セキュリティ設定20として、特定のアクセスパターンの監視を規定してもよい。
【0102】
このように、本実施の形態に係るセキュリティ事象は、制御装置2へのアクセスのパターンが予め規定されたパターンに合致することを含んでいてもよい。
【0103】
(e2:ネットワーク監視)
次に、セキュリティ設定20として、ネットワーク内のノード変化を監視する例について説明する。
【0104】
一般的に、制御装置2が接続されるネットワークは、予め定められたデバイス(ノード)のみが接続されており、新たなデバイス(ノード)が追加される必要性は低い。そのため、ネットワーク内のノード変化をセキュリティ事象とみなすこともできる。
【0105】
図6は、ネットワーク内のノード変化の一例を示す模式図である。
図6(A)を参照して、制御装置2に加えて、表示装置500およびサーバ装置600がネットワーク10に接続されている状態を標準ノード構成とする。このような標準ノード構成に対して、
図6(B)に示すように、新たなデバイス900が追加されたとする。
【0106】
このようなデバイス900が追加されてネットワーク10内のノードに変化が生じると、セキュリティ事象の発生であると判断してもよい。
【0107】
具体的には、例えば、標準ノード構成における各ノードのネットワークアドレスを、セキュリティ設定20として予め取得しておき、この予め取得されたノードとは異なるネットワークアドレスがネットワーク10内で検知されると、ネットワーク10内のノード変化が生じたと判断できる。あるいは、ネットワーク10内に存在するノードの数の変化などに基づいて、ノード変化を検知してもよい。
【0108】
なお、ネットワーク10内のノード変化としては、ノードの追加に限らず、ノードの削除などを検知するようにしてもよい。さらに、ネットワーク10内のノード変化として、ノード数だけではなく、トポロジーの変化についても検知するようにしてもよい。
【0109】
このようなネットワーク内のノード変化が生じると、セキュリティ事象が発生したと判断してもよい。
【0110】
このように、本実施の形態に係るセキュリティ事象は、ネットワーク内のノード変化が生じたことを含んでいてもよい。
【0111】
(e3−1:ネットワークポートへの接続監視)
次に、セキュリティ設定20として、CPUユニット100のネットワークポートへの接続を監視する例について説明する。
【0112】
CPUユニット100にセキュリティユニット200が接続された構成においては、CPUユニット100は、セキュリティユニット200を介してネットワーク10に接続される。そのため、CPUユニット100自体に設けられているネットワークポートの使用は禁止されている(
図2に示すネットワークインターフェイス118が無効化されている)。
【0113】
このような状態において、CPUユニット100のネットワークポートに何らかのネットワークが接続された場合には、何らかの意図をもった行為であると想定される。そのため、このような無効化されたネットワークポートに対するネットワーク接続が生じると、セキュリティ事象が発生したと判断してもよい。
【0114】
図7は、ネットワークポートへの接続監視を説明する模式図である。
図7を参照して、CPUユニット100の表面には、USBポート112Pと、メモリカードスロット114Pと、ネットワークポート118Pと、フィールドネットワークポート130P1,130P2とが配置されている。ネットワークポート118Pは、CPUユニット100をネットワーク接続するためのポートである。
【0115】
制御装置2の運用中においては、使用しないネットワークポート118Pは無効化されているとする。このような状態において、ネットワークポート118Pにケーブルが接続されると、セキュリティ事象が発生したと判断してもよい。なお、制御装置2の停止中あるいはメンテナンス中においては、ネットワーク接続されることもあるので、制御装置2が運用中であることを、セキュリティ事象の発生と判断するための条件として付加してもよい。
【0116】
このようなネットワークポートへの接続監視は、典型的には、
図4に示す状態取得モジュール260により出力されるCPUユニット状態情報を監視することで実現される。
【0117】
このように、本実施の形態に係るセキュリティ事象は、CPUユニット100のネットワークポート118Pが無効化されている場合に、ネットワークポート118Pがネットワーク接続されることを含むようにしてもよい。
【0118】
(e3−2:USBポートへの接続監視)
次に、セキュリティ設定20として、CPUユニット100のUSBポートへの接続を監視する例について説明する。
【0119】
例えば、CPUユニット100のUSBポートなどを介してサポート装置が接続される。このようなサポート装置の接続は、何らかの意図をもった行為であると想定される。そのため、このような無効化されたネットワークポートに対するネットワーク接続が生じると、セキュリティ事象が発生したと判断してもよい。
【0120】
図8は、USBポートへの接続監視を説明する模式図である。
図8を参照して、CPUユニット100の表面には、USBポート112Pと、メモリカードスロット114Pと、ネットワークポート118Pと、フィールドネットワークポート130P1,130P2とが配置されている。
【0121】
例えば、制御装置2の運用中において、USBポート112Pを介して何らかのデバイスが接続されると、セキュリティ事象が発生したと判断してもよい。なお、制御装置2の停止中あるいはメンテナンス中においては、サポート装置が接続されることもあるので、制御装置2が運用中であることを、セキュリティ事象の発生と判断するための条件として付加してもよい。
【0122】
このようなUSBポートへの接続監視は、典型的には、
図4に示す状態取得モジュール260により出力されるCPUユニット状態情報を監視することで実現される。
【0123】
このように、本実施の形態に係るセキュリティ事象は、USBポート112Pに任意のデバイスが接続されることを含むようにしてもよい。なお、USBポートに限らず、任意の通信手段を介して、サポート装置などの任意のデバイスが接続されたことをセキュリティ事象とみなすようにしてもよい。そのため、典型的には、セキュリティ事象は、制御装置2で実行されるプログラム(ユーザプログラム30)の開発が可能なサポート装置が制御装置へ接続されることを含むことになる。
【0124】
(e3−3:電源監視)
次に、セキュリティ設定20として、制御装置2の電源状態を監視する例について説明する。
【0125】
例えば、制御装置2の運用中に電源をオン/オフされた場合には、何らかの意図をもった行為であると想定される。そのため、制御装置2の電源がオン/オフされると、セキュリティ事象が発生したと判断してもよい。
【0126】
なお、制御装置2において、共通の電源装置からCPUユニット100およびセキュリティユニット200へ電源が供給されている場合も想定される。このような構成においては、電源が遮断されることで、セキュリティユニット200への電源供給も遮断されることが想定される。
【0127】
このような場合には、セキュリティユニット200の内部にバッテリなどを配置しておき、外部電源が遮断された場合であっても、そのバッテリからの電力によりセキュリティ監視を継続するようにしてもよい。
【0128】
制御装置2の電源状態の監視は、典型的には、
図4に示す状態取得モジュール260により出力されるCPUユニット状態情報を監視することで実現される。
【0129】
このように、本実施の形態に係るセキュリティ事象は、制御装置2の電源状態が変化したことを含むようにしてもよい。
【0130】
(e3−4:ハードスイッチ監視)
次に、セキュリティ設定20として、制御装置2に設けられたハードスイッチの状態を監視する例について説明する。
【0131】
例えば、制御装置2の運用中にCPUユニット100に設けられたディップスイッチ(通常は、CPUユニット100の動作モードなどを設定するために用いられる)が操作された場合には、何らかの意図をもった行為であると想定される。そのため、CPUユニット100のハードスイッチ(例えば、ディップスイッチ)が操作されると、セキュリティ事象が発生したと判断してもよい。
【0132】
なお、CPUユニット100のハードスイッチとしては、ディップスイッチに限らず、ロータリースイッチやトグルスイッチなどが想定される。
【0133】
このような制御装置2に設けられたハードスイッチの状態監視は、典型的には、
図4に示す状態取得モジュール260により出力されるCPUユニット状態情報を監視することで実現される。
【0134】
このように、本実施の形態に係るセキュリティ事象は、制御装置2に設けられたハードスイッチの状態が変化したことを含むようにしてもよい。
【0135】
(e3−5:周囲環境監視)
次に、セキュリティ設定20として、制御装置2の周囲環境を監視する例について説明する。
【0136】
通常、制御装置2は、所定の上限温度以下になるように、制御盤などに収容されているが、不審者が制御盤の冷却ファンを停止するなどの行為を行うと、制御盤内の温度が上昇し得る。このような制御装置の運用中における周囲環境に変化が生じると、セキュリティ事象が発生したと判断してもよい。具体例としては、最大定格温度が55℃であるとすれば、それ以下の例えば50℃に到達すると、セキュリティ事象の発生と判断してもよい。
【0137】
このような制御装置2の周囲環境の監視は、典型的には、
図4に示す状態取得モジュール260により出力されるCPUユニット状態情報を監視することで実現される。
【0138】
このように、本実施の形態に係るセキュリティ事象は、制御装置2の周囲環境が予め定められた条件になったことを含むようにしてもよい。
【0139】
(e4−1:ユーザ認証:その1)
次に、セキュリティ設定20として、サポート装置からCPUユニット100へのアクセスにおいて実施されるユーザ認証の認証結果を監視する例について説明する。
【0140】
図9は、サポート装置800からCPUユニット100へのアクセス時の処理を説明するための模式図である。
図9を参照して、サポート装置800からCPUユニット100へのアクセスする際には、両者を接続した上で、ユーザがサポート装置800を利用して認証情報(典型的には、ユーザ名およびパスワード)を入力する。CPUユニット100は、ユーザからの認証情報に基づいて認証処理を実行する。そして、CPUユニット100は、サポート装置800に対して認証結果を応答する。認証処理が成功した場合には、CPUユニット100は、サポート装置800からのアクセスを許可する。
【0141】
一方、認証処理が失敗した場合には、不正アクセスの可能性もあるので、セキュリティ事象の発生と判断してもよい。すなわち、サポート装置800からCPUユニット100へのアクセス時の認証処理の失敗をトリガとして、セキュリティ事象の発生と判断してもよい。
【0142】
なお、単純な入力ミスの場合も想定されるため、サポート装置800からCPUユニット100へのアクセス時の認証処理の失敗が複数回連続した場合に限って、セキュリティ事象の発生と判断してもよい。
【0143】
このようなサポート装置800からCPUユニット100へのアクセス時におけるユーザ認証の認証結果の監視は、典型的には、
図4に示す状態取得モジュール260により出力されるCPUユニット状態情報を監視することで実現される。
【0144】
このように、本実施の形態に係るセキュリティ事象は、外部から制御装置2またはCPUユニット100へのアクセス時に要求されるユーザ認証が失敗したことを含むようにしてもよい。
【0145】
(e4−2:ユーザ認証:その2)
次に、セキュリティ設定20として、ネットワークからセキュリティユニット200へのアクセスにおいて実施されるユーザ認証の認証結果を監視する例について説明する。
【0146】
上述の
図4に示すように、セキュリティユニット200は、ユーザ認証モジュール266を有しており、ネットワーク10を介してセキュリティユニット200へアクセスする際には、ユーザ認証が実行される。
【0147】
このユーザ認証が失敗した場合においても、上述の処理と同様に、認証処理の失敗をトリガとして、セキュリティ事象の発生と判断してもよい。すなわち、本実施の形態に係るセキュリティ事象は、外部から制御装置2またはCPUユニット100へのアクセス時に要求されるユーザ認証が失敗したことを含むようにしてもよい。
【0148】
(e4−3:プログラム追加・更新/設定変更)
次に、セキュリティ設定20として、CPUユニット100で実行されるプログラムの追加・更新および/または設定の変更を監視する例について説明する。
【0149】
図10は、サポート装置800からCPUユニット100に格納されているプログラムおよび/または設定を変更する処理を説明するための模式図である。
図10を参照して、ユーザは、サポート装置800上で任意のユーザプログラムを作成または改変した上で、当該作成または改変後のユーザプログラムをCPUユニット100へ転送する。それによって、CPUユニット100に新たにユーザプログラムがインストールされ、あるいは、既に格納されていたユーザプログラムが更新される。
【0150】
あるいは、ユーザは、サポート装置800を操作することで、CPUユニット100に保持されている設定を変更することもできる。
【0151】
このようなCPUユニット100に対するプログラムの追加、CPUユニット100で実行されるプログラムの更新、CPUユニット100における設定の変更などによって、CPUユニット100の挙動が変化するため、このような操作がなされたことをトリガとして、セキュリティ事象の発生と判断してもよい。
【0152】
さらに、サポート装置800からは、CPUユニット100の主メモリ106に保持されているワーキングデータをオールクリアすることが可能である。このようなオールクリアすることで、CPUユニット100のプログラムは初期状態が実行開始されることになる。このような初期状態からの実行は、それ以前の挙動とは異なる挙動を示す可能性があるため、セキュリティ事象の発生と判断してもよい。
【0153】
このようなCPUユニット100におけるプログラムの追加・変更および/または設定の変更のイベントは、典型的には、
図4に示す状態取得モジュール260により出力されるCPUユニット状態情報を監視することで検知される。同様に、CPUユニット100の主メモリ106に対するオールクリアのイベントについても、
図4に示す状態取得モジュール260により出力されるCPUユニット状態情報を監視することで検知される。
【0154】
このように、本実施の形態に係るセキュリティ事象は、制御装置2で実行されるプログラムの追加および変更、ならびに、制御装置2における設定の変更のうち、いずれかが生じたことを含むようにしてもよい。また、本実施の形態に係るセキュリティ事象は、CPUユニット100の主メモリ106に対するオールクリアの操作などがなされたことを含むようにしてもよい。
【0155】
<F.通知>
次に、セキュリティ事象の発生の検知に応答した通知のいくつかの例について説明する。
【0156】
(f1:電子メールによる通知)
まず、セキュリティユニット200からの電子メールによりセキュリティ事象の発生を通知する形態について説明する。
【0157】
図11は、本実施の形態に係るセキュリティユニット200から送信される電子メールの一例を説明するための模式図である。
図11を参照して、電子メールの表示画面550は、セキュリティユニット200からの電子メールに含まれる、サブジェクト表示欄552と、送信元表示欄554と、受信日時欄556と、本文欄558とを含む。
【0158】
サブジェクト表示欄552には、セキュリティ事象の発生を通知するメッセージとともに、当該セキュリティ事象が発生した制御装置2を特定するための情報が表示されている。送信元表示欄554には、電子メールを送信したセキュリティユニット200のサービスを示す情報が表示されている。受信日時欄556には、セキュリティユニット200からの電子メールを受信した日時が表示されている。
【0159】
本文欄558には、発生したセキュリティ事象の内容を特定するためのコード、発生時刻、発生場所、緊急度等の情報が表示されている。
【0160】
さらに、本文欄558には、発生したセキュリティ事象の詳細を確認するためのリンク情報560が埋め込まれていてもよく、ユーザがリンク情報560を選択することで、当該電子メールの送信元であるセキュリティユニット200、あるいは、セキュリティユニット200からの情報を収集している任意のサーバ装置へアクセスすることで、発生したセキュリティ事象の詳細情報を取得できるようになっている。
【0161】
図11に示す電子メールの内容は一例であり、任意の内容を電子メールにより通知してもよい。
【0162】
なお、通知される電子メールは、任意のデバイスにより閲覧可能である。任意のデバイスとしては、パーソナルコンピュータ、スマートフォン、タブレットなどが想定される。
【0163】
このように、本実施の形態に係るセキュリティユニット200は、何らかのセキュリティ事象の発生を検知すると、その検知したセキュリティ事象を電子メールの手段を用いて、外部へ通知する。
【0164】
(f2:表示装置500への通知)
次に、セキュリティユニット200から表示装置500へセキュリティ事象の発生を通知する形態について説明する。
【0165】
図12は、本実施の形態に係るセキュリティユニット200から表示装置500へのセキュリティ事象の通知の一例を説明するための模式図である。
図12を参照して、表示装置500のディスプレイには、操業用の画面表示がなされている。画面表示には、制御対象を示すオブジェクト502に加えて、制御装置2を収容している制御盤を示すオブジェクト504が表示されていてもよい。
【0166】
このようなユーザインターフェイス画面が表示されている状態において、何らかのセキュリティ事象の発生が検知されると、当該セキュリティ事象が発生した制御装置2を収容している制御盤に対応する位置に、通知内容を示すオブジェクト506をポップアップ表示してもよい。
【0167】
オブジェクト506には、セキュリティ事象の発生を示すメッセージとともに、当該セキュリティ事象が発生した日時および緊急度などが表示されてもよい。
図12の表示例に限らず、より多くの情報を表示するようにしてもよいし、逆に、より簡素な表示内容としてもよい。
【0168】
さらに、表示装置500からは、セキュリティ事象の発生を知らせるための通知音508を発するようにしてもよい。
【0169】
なお、通知先の表示装置500は、セキュリティユニット200と同一のネットワークに接続されているものに限らず、セキュリティユニット200が通信可能であれば、いずれのネットワークに接続されている表示装置500を通知先としてもよい。
【0170】
このように、本実施の形態に係るセキュリティユニット200は、何らかのセキュリティ事象の発生を検知すると、その検知したセキュリティ事象をネットワーク接続された表示装置へ通知する。
【0171】
(f3:データベース/クラウドサービスへの通知)
次に、セキュリティユニット200からデータベースまたはクラウドサービスへセキュリティ事象の発生を通知する形態について説明する。
【0172】
図13は、本実施の形態に係るセキュリティユニット200からデータベースへのセキュリティ事象の通知の一例を説明するための模式図である。
図13を参照して、例えば、ネットワーク10に接続されているサーバ装置600にデータベースとしての処理を実装するとともに、セキュリティユニット200が何らかのセキュリティ事象の発生を検知するとその内容をサーバ装置600に通知する。
【0173】
サーバ装置600は、セキュリティユニット200からの通知の内容を逐次収集する。そして、サーバ装置600は、外部からの要求(クエリ)に応答して、指定されたセキュリティ事象の内容を応答するようにしてもよい。
【0174】
図13には、ネットワーク10に接続されるサーバ装置600を通知先とする例を示すが、これに限らず、インターネット上の任意のサーバ装置(すなわち、クラウドサービス)へセキュリティ事象の通知を行ってもよい。
【0175】
クラウドサービスを利用することで、セキュリティ事象を監視するためだけにサーバ装置600を用意するような必要がなくなる。
【0176】
このように、本実施の形態に係るセキュリティユニット200は、何らかのセキュリティ事象の発生を検知すると、その検知したセキュリティ事象をネットワーク接続されたデータベース/クラウドサービスへ通知する。
【0177】
(f4:他の制御装置への通知)
次に、セキュリティユニット200から他の制御装置へセキュリティ事象の発生を通知する形態について説明する。
【0178】
図14は、本実施の形態に係るセキュリティユニット200から他の制御装置へのセキュリティ事象の通知の一例を説明するための模式図である。
図14を参照して、例えば、同一のネットワーク10に複数の制御装置2が接続されており、それぞれの制御装置2がセキュリティユニット200を有しているような構成を想定する。
【0179】
いずれかのセキュリティユニット200が何らかのセキュリティ事象の発生を検知すると、他の制御装置2のセキュリティユニット200に対して、検知したセキュリティ事象の内容を通知する。他のセキュリティユニット200から通知を受けたセキュリティユニット200は、その通知の内容を逐次収集する。
【0180】
このような構成を採用することで、セキュリティユニット200間でセキュリティ事象の相互検知が可能になる。
【0181】
さらに、セキュリティ事象の通知を受けた他の制御装置2は、その通知の緊急度などに応じて、接続されているフィールドデバイスを用いて、何らかの物理的な報知(音、光、振動など)を行うようにしてもよい。
【0182】
このように、本実施の形態に係るセキュリティユニット200は、何らかのセキュリティ事象の発生を検知すると、その検知したセキュリティ事象をネットワーク接続された他の制御装置2へ通知する。
【0183】
(f5:イベント通知)
次に、セキュリティユニット200からセキュリティ事象の発生を、ネットワークを介してイベント通知する形態について説明する。
【0184】
図15は、本実施の形態に係るセキュリティユニット200からネットワークを介してイベント通知する一例を説明するための模式図である。
図15を参照して、ネットワーク10にセキュリティ事象の発生を報知するための報知部1000を配置した構成を想定する。
【0185】
セキュリティユニット200が何らかのセキュリティ事象の発生を検知すると、ネットワーク10を介して、報知部1000に対して通知パケットを送出する。報知部1000は、セキュリティユニット200からの通知パケットを受信すると、その通知パケットの内容に従って、物理的な報知(音、光、振動など)を開始する。
【0186】
通知パケットとしては、例えば、SNMP(Simple Network Management Protocol)トラップなどを利用できる。SNMPトラップに限られず、イベントを通知できるものであれば、どのようなプロコトルを採用してもよい。
【0187】
このような構成を採用することで、ネットワーク上の任意の位置に配置された報知部に対してセキュリティ事象の発生を通知できる。
【0188】
このように、本実施の形態に係るセキュリティユニット200は、何らかのセキュリティ事象の発生を検知すると、その検知したセキュリティ事象を、ネットワークを介してイベント通知するようにしてもよい。このようなイベント通知を受けて、ネットワーク上に配置された報知部1000は報知動作を開始するようにしてもよい。
【0189】
(f6:緊急度/優先度表示)
上述したように、本実施の形態に係る制御システム1においては、1または複数の状態値やイベントを監視して、セキュリティ事象の発生の有無を判断する。通常、それぞれのセキュリティ事象は、各事象に応じた緊急度および/または優先度を有しており、必ずしも同一ではない。
【0190】
そこで、監視対象のセキュリティ事象毎に緊急度および/または優先度を予め設定しておき、何らかのセキュリティ事象の発生が検知されると、当該検知されたセキュリティ事象の緊急度および/または優先度を併せて通知するようにしてもよい。
【0191】
このような緊急度および/または優先度の通知方法としては、上述の
図11および
図12に示すような文字情報を用いてもよいし、
図15に示すような報知部1000を用いる場合には、報知部1000が発する色、点灯パターン、音色、音量などを異ならせることで通知してもよい。
【0192】
検知されたセキュリティ事象の緊急度および/または優先度を通知することで、その通知を受けたユーザは、どの程度の緊急度および/または優先度で、当該検知されたセキュリティ事象に対する対処を行わなければならないのかを即座に把握できる。
【0193】
<G.処理手順>
次に、本実施の形態に係るセキュリティユニット200におけるセキュリティ事象を監視する処理手順の一例について説明する。
【0194】
図16は、本実施の形態に係るセキュリティユニット200におけるセキュリティ事象を監視する処理手順を示すフローチャートである。
図16に示す各ステップは、典型的には、セキュリティユニット200のプロセッサ202がファームウェア22を実行することで実現される。
図16に示す処理手順は、所定周期毎に繰返し実行され、あるいは、予め定められたイベント発生毎に実行される。
【0195】
図16を参照して、セキュリティユニット200は、ネットワーク10を介したデータの送受信が発生したか否かを判断する(ステップS100)。ネットワーク10を介したデータの送受信が発生していなければ(ステップS100においてNO)、ステップS102〜S106の処理はスキップされる。
【0196】
ネットワーク10を介したデータの送受信が発生すれば(ステップS100においてYES)、セキュリティユニット200は、データの送信先および/または送信元がアクセスコントロールによって制限されているか否かを判断する(ステップS102)。データの送信先および/または送信元がアクセスコントロールによって制限されていれば(ステップS102においてYES)、セキュリティユニット200は、セキュリティ事象の発生と判断する(ステップS104)。そして、ステップS120に規定される通知処理が実行される。
【0197】
データの送信先および/または送信元がアクセスコントロールによって制限されていなければ(ステップS102においてNO)、セキュリティユニット200は、データの送信または受信のパターンが予め定められたセキュリティ事象の発生と判断されるパターンと合致するか否かを判断する(ステップS106)。データの送信または受信のパターンが予め定められたセキュリティ事象の発生と判断されるパターンと合致すれば(ステップS106においてYES)、セキュリティユニット200は、セキュリティ事象の発生と判断する(ステップS104)。そして、ステップS120に規定される通知処理が実行される。
【0198】
続いて、セキュリティユニット200は、CPUユニット100からCPUユニット状態情報を取得し(ステップS108)、取得したCPUユニット状態情報がセキュリティ設定20に規定されたいずれかのセキュリティ事象の条件に合致しているか否かを判断する(ステップS110)。取得したCPUユニット状態情報がいずれかのセキュリティ事象の条件に合致していれば(ステップS110においてYES)、セキュリティユニット200は、セキュリティ事象の発生と判断する(ステップS104)。そして、ステップS120に規定される通知処理が実行される。
【0199】
取得したCPUユニット状態情報がいずれかのセキュリティ事象の条件に合致していなければ(ステップS110においてNO)、処理は終了する。
【0200】
ステップS120において、セキュリティユニット200は、検知されたセキュリティ事象に応じて、通知処理を実行する。そして、処理は終了する。
【0201】
<H.変形例>
(h1:一体型)
上述の本実施の形態に係る制御システム1においては、CPUユニット100にセキュリティユニット200を接続する構成を例示したが、このような分離型ではなく、両者を一体化した構成を採用してもよい。この場合には、CPUユニット100の内部に、セキュリティユニット200が提供する処理を実現するためのソフトウェア実装および/またはハードウェア実装の構成が配置される。
【0202】
このような一体型の構成を採用することで、制御システム全体を省スペース化できる。
(h2:外付型)
上述の本実施の形態に係る制御システム1においては、CPUユニット100のネットワークポートではなく、セキュリティユニット200のネットワークポートを利用して、ネットワーク接続する構成を例示したが、本実施の形態に係るセキュリティ事象の監視処理を既存の制御装置に適用する場合には、外付型のセキュリティユニットを採用するようにしてもよい。
【0203】
図17は、本実施の形態の変形例に係る制御システム1Aの概略構成を示す模式図である。
図17を参照して、制御システム1Aにおいては、制御装置2Aは、CPUユニット100と1または複数の機能ユニット300とにより構成される。セキュリティユニット200Aは、ネットワーク10と制御装置2Aとの間を仲介するように配置される。
【0204】
より具体的には、セキュリティユニット200Aは、2つのネットワークポートを有しており、一方のネットワークポートはネットワーク10に接続されるとともに、他方のネットワークポートは制御装置2Aに含まれるCPUユニット100のネットワークポート118Pに接続されている。このような構成において、CPUユニット100は、セキュリティユニット200Aを介して、ネットワーク10に接続されたデバイスとの間でデータ通信を行う。
【0205】
セキュリティユニット200Aは、CPUユニット100から送出されるデータおよびCPUユニット100で受信されるデータを監視することで、セキュリティ事象の発生の有無を常時監視できる。
【0206】
セキュリティユニット200Aは、さらに、CPUユニット100と別のデータ伝送手段を介して接続されていてもよい。このような別のデータ伝送手段を採用することで、セキュリティユニット200Aは、CPUユニット100のCPUユニット状態情報を取得することができる。このようなCPUユニット状態情報によって、CPUユニット100に対する直接のアクセスによって生じるセキュリティ事象の発生についても常時監視できる。
【0207】
(h3:その他)
本実施の形態に係るセキュリティユニットは、CPUユニット100およびCPUユニット100を含む制御装置2におけるセキュリティ事象の発生を監視できるものであれば、どのような形態で実装されてもよい。
【0208】
<I.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
制御対象を制御する制御装置(2)であって、
前記制御対象に応じて作成されたプログラムを実行するプログラム実行部(102)と、
前記制御装置に対する外部からのアクセスにおいてセキュリティ事象が発生したか否かを判断する検知部(262)と、
前記セキュリティ事象が発生したと検知されると、当該発生したセキュリティ事象に応じた通知先へ通知する通知部(264)とを備え、
前記セキュリティ事象は、予め定められた規則に適合しない事象を含む、制御装置。
[構成2]
前記セキュリティ事象は、
前記制御装置の動作を停止または性能を低下させる挙動および行為、
前記制御装置におけるプログラムの実行処理を停止または性能を低下させる挙動および行為、ならびに
前記制御対象の動作を停止または性能を低下させる挙動および行為、のいずれかを含む、構成1に記載の制御装置。
[構成3]
前記セキュリティ事象は、データの送信先または送信元のネットワークアドレス、物理アドレス、ポート番号のうちいずれかが、予め定められたアクセスを許可されたリストに含まれていない、および、予め定められたアクセスを禁止されたリストに含まれている、のいずれかに該当することを含む、構成1または2に記載の制御装置。
[構成4]
前記制御装置は、前記プログラム実行部を含む第1のユニット(100)と、前記検知部を含む第2のユニット(200)を備え、
前記第1のユニットは、ネットワーク接続するためのポート(118P)を有しており、
前記セキュリティ事象は、前記第1のユニットのポートが無効化されている場合に、当該ポートがネットワーク接続されることを含む、構成1〜3のいずれか1項に記載の制御装置。
[構成5]
前記セキュリティ事象は、外部から前記制御装置へのアクセス時に要求されるユーザ認証が失敗したことを含む、構成1〜4のいずれか1項に記載の制御装置。
[構成6]
前記セキュリティ事象は、前記制御装置で実行されるプログラムの開発が可能なサポート装置が前記制御装置へ接続されることを含む、構成1〜5のいずれか1項に記載の制御装置。
[構成7]
前記セキュリティ事象は、前記制御装置で実行されるプログラムの追加および変更、ならびに、前記制御装置における設定の変更のうち、いずれかが生じたことを含む、構成1〜6のいずれか1項に記載の制御装置。
[構成8]
前記通知部は、セキュリティ事象の発生をネットワークを介してイベント通知する、構成1〜7のいずれか1項に記載の制御装置。
[構成9]
ネットワーク上に配置された報知部(1000)は、前記通知部からのイベント通知を受けて、報知動作を開始する、構成8に記載の制御装置。
[構成10]
制御対象を制御する制御システム(1)であって、
前記制御対象に応じて作成されたプログラムを実行するプログラム実行部を含む第1のユニット(100)と、
前記第1のユニットに対する外部からのアクセスにおいてセキュリティ事象が発生したか否かを判断する検知部(262)、ならびに、前記セキュリティ事象が発生したと検知されると、当該発生したセキュリティ事象に応じた通知先へ通知する通知部(264)を含む第2のユニット(200)とを備え、
前記セキュリティ事象は、予め定められた規則に適合しない事象を含む、制御システム。
【0209】
<J.まとめ>
本実施の形態に係る制御装置および制御システムによれば、制御装置および制御システムのネットワーク化あるいはインテリジェント化に伴って生じ得る脅威に対する保護という新たな課題を解決できる。
【0210】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。