JP2023068023A - コントローラシステム - Google Patents

コントローラシステム Download PDF

Info

Publication number
JP2023068023A
JP2023068023A JP2023038453A JP2023038453A JP2023068023A JP 2023068023 A JP2023068023 A JP 2023068023A JP 2023038453 A JP2023038453 A JP 2023038453A JP 2023038453 A JP2023038453 A JP 2023038453A JP 2023068023 A JP2023068023 A JP 2023068023A
Authority
JP
Japan
Prior art keywords
controller system
security
unit
control
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023038453A
Other languages
English (en)
Inventor
実 岡
Minoru Oka
真之 山本
Masayuki Yamamoto
訓 小島
Satoshi Kojima
剛 奥村
Takeshi Okumura
靖男 宗田
Yasuo Muneda
豊 田原
Yutaka Tawara
弘太郎 岡村
Kotaro Okamura
雄大 永田
Yuta NAGATA
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Publication of JP2023068023A publication Critical patent/JP2023068023A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/058Safety, monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14006Safety, monitoring in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Alarm Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

【課題】制御装置および制御システムのネットワーク化あるいはインテリジェント化に伴って生じ得る脅威に対する保護という新たな課題を解決する。【解決手段】コントローラシステムは、制御対象を制御するための制御演算を実行する制御ユニットと、制御ユニットに接続され、コントローラシステムに対するセキュリティ機能を担当するセキュリティユニットとを含む。セキュリティユニットは、コントローラシステムにおいて何らかの不正侵入が発生したか否かを検知する検知手段を含む。制御ユニットは、セキュリティユニットの検知手段の挙動を変更するための指令を送信する指令送信手段を含む。【選択図】図23

Description

本発明は、制御対象を制御するコントローラシステムに対するセキュリティ機能に関する。
各種設備および各設備に配置される各種装置の制御には、PLC(プログラマブルロジックコントローラ)などの制御装置が用いられる。制御装置は、制御対象の設備や機械に生じる異常を監視するとともに、制御装置自体の異常を監視することも可能である。何らかの異常が検知されると、制御装置から外部に対して何らかの方法で通知がなされる。
例えば、特開2000-137506号公報(特許文献1)は、異常履歴が登録されたとき、または、予め定められた時間が到来したときに、予め指定された宛先に電子メールを送信するプログラマブルコントローラを開示する。
特開2000-137506号公報
近年のICT(Information and Communication Technology)の進歩に伴って、制御装置も様々な外部装置とネットワーク接続されるとともに、制御装置において実行される処理も高度化している。このようなネットワーク化あるいはインテリジェント化に伴って、想定される脅威の種類も増加している。
従来の制御装置においては、設備や機械に生じた異常、または、制御装置自体に生じた異常を検知するのみであり、ネットワーク化あるいはインテリジェント化に伴って生じ得る脅威については、何ら想定されていない。
本発明は、制御装置および制御システムのネットワーク化あるいはインテリジェント化に伴って生じ得る脅威に対する保護という新たな課題を解決することを一つの目的としている。
本発明のある局面に従うコントローラシステムは、制御対象を制御するための制御演算を実行する制御ユニットと、制御ユニットに接続され、コントローラシステムに対するセキュリティ機能を担当するセキュリティユニットとを含む。セキュリティユニットは、コントローラシステムにおいて何らかの不正侵入が発生したか否かを検知する検知手段を含む。制御ユニットは、セキュリティユニットの検知手段の挙動を変更するための指令を送信する指令送信手段を含む。
この局面によれば、何らかの不正侵入が検知された後に、その不正侵入に関する要因が取り除かれた後、制御対象を正常運転に復帰する際に、セキュリティユニットの挙動を柔軟に制御できる。
検知手段の挙動を変更するための指令は、検知手段による不正侵入の検知を復旧するための指令を含んでいてもよい。この局面によれば、不正侵入の検知後の復旧を容易化でき
る。
検知手段の挙動を変更するための指令は、検知手段による不正侵入が発生したか否かを検知するレベルを変更するための指令を含んでいてもよい。この局面によれば、制御ユニット側から検知するレベルを変更できるので、状況に応じた柔軟な制御動作を実現できる。
指令送信手段は、ユーザ操作に応じて、検知手段の挙動を変更するための指令を送信するようにしてもよい。この局面によれば、ユーザの明示的な操作を受けて復旧などの処理が開始されるので、セキュリティリスクを低減できる。
制御ユニットは、制御演算に係る命令を含むユーザプログラムを実行するように構成されてもよく、ユーザプログラムは、検知手段の挙動を変更するための指令を送信するための命令を含んでいてもよい。この局面によれば、制御動作に加えて、検知手段の挙動を制御するための命令をユーザプログラムに含めることができるので、柔軟な制御動作を実現できる。
本発明の別の局面に従うコントローラシステムは、制御対象を制御するための制御演算を実行する制御ユニットと、制御ユニットに接続され、コントローラシステムに対するセキュリティ機能を担当するセキュリティユニットと、少なくとも制御ユニットにアクセス可能なサポート装置とを含む。セキュリティユニットは、コントローラシステムにおいて何らかの不正侵入が発生したか否かを検知する検知手段を含む。制御ユニットは、検知手段により検知された不正侵入に応じた制御演算を実行するように構成されている。サポート装置は、検知手段により検知された不正侵入に応じて制御ユニットにより実行される制御演算に係る設定を受け付ける。
この局面によれば、何らかの不正侵入が検知された後に、その不正侵入に対応する処理を実行するための設定を容易に行うことができる。
サポート装置は、検知手段により不正侵入が検知されたときに制御ユニットにより実行されるプログラムの指定を受け付けるようにしてもよい。この局面によれば、検知手段により不正侵入が検知されたときに、対処に必要なプログラムの指定を容易化できる。
サポート装置は、制御ユニットによりプログラムが実行される条件として、不正侵入の種類の指定を受け付けるようにしてもよい。この局面によれば、様々な不正侵入のうち、特定の種類の不正侵入が検知されたときには、特定のプログラムを実行させることができる。
サポート装置は、制御動作の典型的な挙動を規定する複数のモデル設定を有しており、ユーザ操作に応じて、複数のモデル設定のうちいずれかを制御ユニットに反映するようにしてもよい。この局面によれば、専門知識を有していないユーザであっても、必要な設定を行うことができる。
複数のモデル設定の各々は、設備種別に関連付けられていてもよく、サポート装置は、ユーザによる設備の選択に応じて、対応するモデル設定を選択および反映するようにしてもよい。この局面によれば、対象の設備を選択するだけで、必要な設定を反映できる。
サポート装置は、対話型インターフェイスを介して、1または複数の質問をユーザに呈示するとともに、各質問に対するユーザの選択に応じて、複数のモデル設定のうち対象となるモデル設定を選択および反映するようにしてもよい。この局面によれば、質問に対し
て回答するだけで、必要な設定を反映できる。
本発明のさらに別の局面に従うコントローラシステムは、制御対象を制御するための制御演算を実行する制御ユニットと、制御ユニットに接続され、コントローラシステムに対するセキュリティ機能を担当するセキュリティユニットと、少なくとも制御ユニットにアクセス可能なサポート装置とを含む。セキュリティユニットは、コントローラシステムにおいて何らかの不正侵入が発生したか否かを検知する検知手段と、検知手段による検知動作から算出されるセキュリティリスクをユーザに提示する提示手段とを含む。
この局面によれば、不正侵入自体は検知されていないが、そのリスクが高まっているか否かを一見して把握できる。
提示手段は、セキュリティリスクを視覚的に提示するためのインジケータを含んでいてもよい。この局面によれば、セキュリティリスクを一見して把握できる。
提示手段は、セキュリティリスクを聴覚的に提示するための音声発生部を含んでいてもよい。この局面によれば、セキュリティリスクを即座に把握できる。
提示手段は、算出されるセキュリティリスクの度合いに応じて、提示態様を変化させるようにしてもよい。この局面によれば、ユーザは、提示態様によって、セキュリティリスクの度合いを容易に把握できる。
本発明のさらに別の局面に従うコントローラシステムは、制御対象を制御するための制御演算を実行する制御ユニットと、制御ユニットに接続され、コントローラシステムに対するセキュリティ機能を担当するセキュリティユニットとを含む。セキュリティユニットは、コントローラシステムにおいて何らかの不正侵入が発生したか否かを検知する検知手段と、検知手段により検知された不正侵入の属性を示すインシデント特性を制御ユニットへ通知する通知手段とを含む。制御ユニットは、通知手段から通知されたインシデント特性に応じて、制御動作を変更する。
この局面によれば、制御ユニットは、検知された不正侵入に応じた制御動作を実現できる。
制御ユニットは、制御動作を変更することにより、制御対象の動作を停止するようにしてもよい。この局面によれば、不正侵入が検知されることで、制御対象の動作を安全に停止できる。
制御ユニットは、制御動作を変更することにより、制御対象の動作を制限するようにしてもよい。この局面によれば、不正侵入が検知されることで、制御対象の動作を制限し、万が一、インシデントが発生しても、制御対象の破損などを防止できる。
制御ユニットは、制御動作を変更することにより、コントローラシステムに含まれる装置の動作を制限するようにしてもよい。この局面によれば、不正侵入が検知されることで、コントローラシステムに含まれる装置の動作を制限し、インシデントへの進展などを防止できる。
制御ユニットは、通知されるインシデント特性に対応付けられたプログラムを実行することで、制御動作を変更するようにしてもよい。この局面によれば、インシデント特性毎に対応するプログラムを予め用意できるため、各種の不正侵入に応じた制御動作を実現できる。
本発明によれば、制御装置および制御システムのネットワーク化あるいはインテリジェント化に伴って生じ得る脅威に対する保護という新たな課題を解決できる。
本実施の形態に係るコントローラシステムの構成例を示す外観図である。 本実施の形態に従うコントローラシステムを構成する制御ユニットのハードウェア構成例を示す模式図である。 本実施の形態に従うコントローラシステムを構成するセキュリティユニットのハードウェア構成例を示す模式図である。 本実施の形態に従うコントローラシステムを構成するセーフティユニットのハードウェア構成例を示す模式図である。 本実施の形態に従うコントローラシステムを含む制御システムの典型例を示す模式図である。 セキュリティ脅威に対する対策サイクルの一例を示す模式図である。 本実施の形態に従うコントローラシステムを含む制御システムにおける不正侵入検知時の対応の一例を示す模式図である。 生産機械および検査装置を含むラインに対する攻撃例を示す模式図である。 本実施の形態に従うコントローラシステムにおけるインシデント特性に応じた設備別の制御動作の一例を示す図である。 本実施の形態に従うコントローラシステムにおけるインシデント特性に応じた設備別の制御動作の別の一例を示す図である。 本実施の形態に従うコントローラシステムにおけるインシデント特性に応じた各設備における状態別の制御動作の一例を示す図である。 本実施の形態に従うコントローラシステムにおけるセキュリティ脅威が検知された場合の処理手順を示すフローチャートである。 本実施の形態に従うコントローラシステムに接続されるサポート装置のハードウェア構成例を示す模式図である。 本実施の形態に従うコントローラシステムに対する不正侵入検知時の対処を設定するためのユーザインターフェイス画面の一例を示す模式図である。 本実施の形態に従うコントローラシステムに対する不正侵入検知時の対処を設定するためのユーザインターフェイス画面の一例を示す模式図である。 本実施の形態に従うコントローラシステムに対する不正侵入検知時の対処を設定するためのユーザインターフェイス画面の一例を示す模式図である。 本実施の形態に従うコントローラシステムに対する不正侵入検知時の対処を設定するためのユーザインターフェイス画面の一例を示す模式図である。 本実施の形態に従うコントローラシステムが提供するインシデント特性に応じた制御動作のモデル設定の一例を示す図である。 本実施の形態に従うコントローラシステムにおける制御動作を設定する処理手順を説明するための図である。 本実施の形態に従うコントローラシステムにおける制御動作を設定する別の処理手順を説明するための図である。 本実施の形態に従うコントローラシステムにおける制御動作を設定するさらに別の処理手順を説明するための図である。 本実施の形態に従うコントローラシステムにおける制御動作の設定を変更するためのユーザインターフェイス画面の一例を示す模式図である。 本実施の形態に従うコントローラシステムにおけるセキュリティユニットに対する変更指令の遣り取りを説明するための模式図である。 本実施の形態に従うコントローラシステムにおけるセキュリティユニットの動作を変更するためのプログラム命令の一例を示す図である。 本実施の形態に従うコントローラシステムに採用されるインジケータの一例を示す模式図である。 本実施の形態に従うコントローラシステムに採用されるスピーカの動作例を示す模式図である。 本実施の形態に従うコントローラシステムの構成の変形例を示す模式図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<A.コントローラシステム1>
まず、本実施の形態に従うコントローラシステム1の構成について説明する。
図1は、本実施の形態に係るコントローラシステム1の構成例を示す外観図である。図1を参照して、コントローラシステム1は、制御ユニット100と、セキュリティユニット200と、セーフティユニット300と、1または複数の機能ユニット400と、電源ユニット450とを含む。
制御ユニット100とセキュリティユニット200との間は、任意のデータ伝送路(例えば、PCI Expressあるいはイーサネット(登録商標)など)を介して接続されている。制御ユニット100とセーフティユニット300および1または複数の機能ユニット400との間は、図示しない内部バスを介して接続されている。
制御ユニット100は、コントローラシステム1において中心的な処理を実行する。制御ユニット100は、任意に設計された要求仕様に従って、制御対象を制御するための制御演算を実行する。後述のセーフティユニット300で実行される制御演算との対比で、制御ユニット100で実行される制御演算を「標準制御」とも称す。図1に示す構成例において、制御ユニット100は、1または複数の通信ポートを有している。
セキュリティユニット200は、制御ユニット100に接続され、コントローラシステム1に対するセキュリティ機能を担当する。図1に示す構成例において、セキュリティユニット200は、1または複数の通信ポートを有している。セキュリティユニット200が提供するセキュリティ機能の詳細については、後述する。
セーフティユニット300は、制御ユニット100とは独立して、制御対象に関するセーフティ機能を実現するための制御演算を実行する。セーフティユニット300で実行される制御演算を「セーフティ制御」とも称す。通常、「セーフティ制御」は、IEC 61508などに規定されたセーフティ機能を実現するための要件を満たすように設計される。「セーフティ制御」は、設備や機械などによって人の安全が脅かされることを防止するための処理を総称する。
機能ユニット400は、コントローラシステム1による様々な制御対象に対する制御を実現するための各種機能を提供する。機能ユニット400は、典型的には、I/Oユニット、セーフティI/Oユニット、通信ユニット、モーションコントローラユニット、温度調整ユニット、パルスカウンタユニットなどを包含し得る。I/Oユニットとしては、例えば、デジタル入力(DI)ユニット、デジタル出力(DO)ユニット、アナログ出力(AI)ユニット、アナログ出力(AO)ユニット、パルスキャッチ入力ユニット、および、複数の種類を混合させた複合ユニットなどが挙げられる。セーフティI/Oユニットは
、セーフティ制御に係るI/O処理を担当する。
電源ユニット450は、コントローラシステム1を構成する各ユニットに対して、所定電圧の電源を供給する。
<B.各ユニットのハードウェア構成例>
次に、本実施の形態に従うコントローラシステム1を構成する各ユニットのハードウェア構成例について説明する。
(b1:制御ユニット100)
図2は、本実施の形態に従うコントローラシステム1を構成する制御ユニット100のハードウェア構成例を示す模式図である。図2を参照して、制御ユニット100は、主たるコンポーネントとして、CPU(Central Processing Unit)やGPU(Graphical Processing Unit)などのプロセッサ102と、チップセット104と、主記憶装置106と、二次記憶装置108と、通信コントローラ110と、USB(Universal Serial Bus)コントローラ112と、メモリカードインターフェイス114と、ネットワークコントローラ116,118,120と、内部バスコントローラ122と、インジケータ124と、スピーカ126とを含む。
プロセッサ102は、二次記憶装置108に格納された各種プログラムを読み出して、主記憶装置106に展開して実行することで、標準制御に係る制御演算、および、後述するような各種処理を実現する。チップセット104は、プロセッサ102と各コンポーネントとの間のデータの遣り取りを仲介することで、制御ユニット100全体としての処理を実現する。
二次記憶装置108には、システムプログラムに加えて、システムプログラムが提供する実行環境上で動作する制御プログラムが格納される。
通信コントローラ110は、セキュリティユニット200との間のデータの遣り取りを担当する。通信コントローラ110としては、例えば、PCI Expressあるいはイーサネットなどに対応する通信チップを採用できる。
USBコントローラ112は、USB接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。
メモリカードインターフェイス114は、メモリカード115を着脱可能に構成されており、メモリカード115に対して制御プログラムや各種設定などのデータを書込み、あるいは、メモリカード115から制御プログラムや各種設定などのデータを読出すことが可能になっている。
ネットワークコントローラ116,118,120の各々は、ネットワークを介した任意のデバイスとの間のデータの遣り取りを担当する。ネットワークコントローラ116,118,120は、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などの産業用ネットワークプロトコルを採用してもよい。
内部バスコントローラ122は、コントローラシステム1を構成するセーフティユニット300や1または複数の機能ユニット400との間のデータの遣り取りを担当する。内部バスには、メーカ固有の通信プロトコルを用いてもよいし、いずれかの産業用ネットワークプロトコルと同一あるいは準拠した通信プロトコルを用いてもよい。
インジケータ124は、制御ユニット100の動作状態などを通知するものであり、ユニット表面に配置された1または複数のLEDなどで構成される。
スピーカ126は、制御ユニット100の動作状態などを通知するものであり、ユニット表面に配置されて音声を出力する。
図2には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、制御ユニット100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
(b2:セキュリティユニット200)
図3は、本実施の形態に従うコントローラシステム1を構成するセキュリティユニット200のハードウェア構成例を示す模式図である。図3を参照して、セキュリティユニット200は、主たるコンポーネントとして、CPUやGPUなどのプロセッサ202と、チップセット204と、主記憶装置206と、二次記憶装置208と、通信コントローラ210と、USBコントローラ212と、メモリカードインターフェイス214と、ネットワークコントローラ216,218と、インジケータ224とを含む。
プロセッサ202は、二次記憶装置208に格納された各種プログラムを読み出して、主記憶装置206に展開して実行することで、後述するような各種セキュリティ機能を実現する。チップセット204は、プロセッサ202と各コンポーネントとの間のデータの遣り取りを仲介することで、セキュリティユニット200全体としての処理を実現する。
二次記憶装置208には、システムプログラムに加えて、システムプログラムが提供する実行環境上で動作するセキュリティシステムプログラムが格納される。
通信コントローラ210は、制御ユニット100との間のデータの遣り取りを担当する。通信コントローラ210としては、制御ユニット100に通信コントローラ210と同様に、例えば、PCI Expressあるいはイーサネットなどに対応する通信チップを採用できる。
USBコントローラ212は、USB接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。
メモリカードインターフェイス214は、メモリカード215を着脱可能に構成されており、メモリカード215に対して制御プログラムや各種設定などのデータを書込み、あるいは、メモリカード215から制御プログラムや各種設定などのデータを読出すことが可能になっている。
ネットワークコントローラ216,218の各々は、ネットワークを介した任意のデバイスとの間のデータの遣り取りを担当する。ネットワークコントローラ216,218は、イーサネット(登録商標)などの汎用的なネットワークプロトコルを採用してもよい。
インジケータ224は、セキュリティユニット200の動作状態などを通知するもので
あり、ユニット表面に配置された1または複数のLEDなどで構成される。
スピーカ226は、セキュリティユニット200の動作状態などを通知するものであり、ユニット表面に配置されて音声を出力する。
図3には、プロセッサ202がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。あるいは、セキュリティユニット200の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOSを並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
(b3:セーフティユニット300)
図4は、本実施の形態に従うコントローラシステム1を構成するセーフティユニット300のハードウェア構成例を示す模式図である。図4を参照して、セーフティユニット300は、主たるコンポーネントとして、CPUやGPUなどのプロセッサ302と、チップセット304と、主記憶装置306と、二次記憶装置308と、メモリカードインターフェイス314と、内部バスコントローラ322と、インジケータ324とを含む。
プロセッサ302は、二次記憶装置308に格納された各種プログラムを読み出して、主記憶装置306に展開して実行することで、セーフティ制御に係る制御演算、および、後述するような各種処理を実現する。チップセット304は、プロセッサ302と各コンポーネントとの間のデータの遣り取りを仲介することで、セーフティユニット300全体としての処理を実現する。
二次記憶装置308には、システムプログラムに加えて、システムプログラムが提供する実行環境上で動作するセーフティプログラムが格納される。
メモリカードインターフェイス314は、メモリカード315を着脱可能に構成されており、メモリカード315に対してセーフティプログラムや各種設定などのデータを書込み、あるいは、メモリカード315からセーフティプログラムや各種設定などのデータを読出すことが可能になっている。
内部バスコントローラ322は、内部バスを介した制御ユニット100との間のデータの遣り取りを担当する。
インジケータ324は、セーフティユニット300の動作状態などを通知するものであり、ユニット表面に配置された1または複数のLEDなどで構成される。
図4には、プロセッサ302がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。あるいは、セーフティユニット300の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOSを並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
<C.制御システム10>
次に、本実施の形態に従うコントローラシステム1を含む制御システム10の典型例に
ついて説明する。図5は、本実施の形態に従うコントローラシステム1を含む制御システム10の典型例を示す模式図である。
一例として、図5に示す制御システム10は、2つのライン(ラインAおよびラインB)を制御対象とする。典型的には、各ラインは、ワークを搬送するコンベアに加えて、コンベア上のワークに対して任意の物理的作用を与えることが可能なロボットが配置されているとする。
ラインAおよびラインBのそれぞれに制御ユニット100が配置されている。ラインAを担当する制御ユニット100に加えて、セキュリティユニット200およびセーフティユニット300がコントローラシステム1を構成する。なお、説明の便宜上、図5には、機能ユニット400および電源ユニット450の記載を省略している。
コントローラシステム1のセキュリティユニット200は、通信ポート242(図3のネットワークコントローラ216)を介して第1ネットワーク2に接続されている。第1ネットワーク2には、サポート装置600およびSCADA(Supervisory Control And Data Acquisition)装置700が接続されているとする。
サポート装置600は、少なくとも制御ユニット100にアクセス可能になっており、コントローラシステム1に含まれる各ユニットで実行されるプログラムの作成、デバッグ、各種パラメータの設定などの機能をユーザへ提供する。
SCADA装置700は、コントローラシステム1での制御演算によって得られる各種情報をオペレータへ提示するとともに、オペレータからの操作に従って、コントローラシステム1に対して内部コマンドなどを生成する。SCADA装置700は、コントローラシステム1が扱うデータを収集する機能も有している。
コントローラシステム1の制御ユニット100は、通信ポート142(図2のネットワークコントローラ116)を介して第2ネットワーク4に接続されている。第2ネットワーク4には、HMI(Human Machine Interface)800およびデータベース900が接
続されているとする。
HMI800は、コントローラシステム1での制御演算によって得られる各種情報をオペレータへ提示するとともに、オペレータからの操作に従って、コントローラシステム1に対して内部コマンドなどを生成する。データベース900は、コントローラシステム1から送信される各種データ(例えば、各ワークから計測されたトレーサビリティに関する情報など)を収集する。
コントローラシステム1の制御ユニット100は、通信ポート144(図2のネットワークコントローラ118)を介して、1または複数のフィールドデバイス500と接続されている。フィールドデバイス500は、制御対象から制御演算に必要な各種情報を収集するセンサや検出器、および、制御対象に対して何らかの作用を与えるアクチュエータなどを含む。図5に示す例では、フィールドデバイス500は、ワークに対して何らかの外的な作用を与えるロボット、ワークを搬送するコンベヤ、フィールドに配置されたセンサやアクチュエータとの間で信号を遣り取りするI/Oユニットなどを含む。
同様に、ラインBを担当する制御ユニット100についても同様に、通信ポート144(図2のネットワークコントローラ118)を介して、1または複数のフィールドデバイス500と接続されている。
ここで、コントローラシステム1の機能面に着目すると、制御ユニット100は、標準制御に係る制御演算を実行する処理実行部である制御エンジン150と、外部装置との間でデータを遣り取りする情報エンジン160とを含む。セキュリティユニット200は、後述するようなセキュリティ機能を実現するためのセキュリティエンジン250を含む。セーフティユニット300は、セーフティ制御に係る制御演算を実行する処理実行部であるセーフティエンジン350を含む。
各エンジンは、各ユニットのプロセッサなどの任意のハードウェア要素または各種プログラムなどの任意のソフトウェア要素、あるいは、それら要素の組合せによって実現される。各エンジンは任意の形態で実装できる。
さらに、コントローラシステム1は、エンジン同士の遣り取りを仲介するブローカー170を含む。ブローカー170の実体は、制御ユニット100およびセキュリティユニット200の一方または両方に配置してもよい。
制御エンジン150は、制御対象を制御するための制御演算の実行に必要な変数テーブルおよびファンクションブロック(FB)などを保持している。変数テーブルに格納される各変数は、I/Oリフレッシュ処理により、フィールドデバイス500から取得された値で周期的に収集されるとともに、フィールドデバイス500へ各値が周期的に反映される。制御エンジン150での制御演算のログはログデータベース180に格納されてもよい。
情報エンジン160は、制御ユニット100が保持するデータ(変数テーブルで保持される変数値)に対して任意の情報処理を実行する。典型的には、情報エンジン160は、制御ユニット100が保持するデータを周期的にデータベース900などへ送信する処理を含む。このようなデータの送信には、SQLなどが用いられる。
セキュリティエンジン250は、コントローラシステム1に発生する不正侵入の検知、検知された不正侵入に応じた処理、インシデントの発生有無判断、発生したインシデントに応じた処理などを実行する。セキュリティエンジン250の挙動は、セキュリティ情報260として保存される。
セキュリティエンジン250は、セキュリティに関する何らかのイベントが発生したこと、あるいは発生しているセキュリティに関するイベントのレベルなどを、インジケータ224で通知する。
セーフティエンジン350は、コントローラシステム1において何らかの不正侵入が発生したか否かを検知する検知手段に相当する。セーフティエンジン350は、制御ユニット100を介して、セーフティ制御に係る制御演算の実行に必要なセーフティI/O変数を取得および反映する。セーフティエンジン350でのセーフティ制御のログはログデータベース360に格納されてもよい。
ブローカー170は、例えば、セキュリティエンジン250が何らかのイベントを検知すると、制御エンジン150、情報エンジン160およびセーフティエンジン350の動作などを変化させる。
<D.セキュリティ脅威に対する対策サイクル>
本実施の形態に従うコントローラシステム1は、設備や機械を正常運転することを妨げる任意のセキュリティ脅威を検知し、必要な対策を実行可能になっている。
本明細書において、「セキュリティ脅威」は、設備や機械を正常運転することを妨げる任意の事象を意味する。ここで、「正常運転」は、システム設計通りおよび生産計画通りに、設備や機械を運転継続できる状態を意味する。なお、システム設計通りおよび生産計画通りに、設備や機械を運転継続するための、設備や機械の立ち上げ、メンテナンス、段取り替えなども付属的な処理も「正常運転」の概念には含まれる。
PLCを中心とする制御装置においては、典型的には、(1)データベースなどの上位装置からの攻撃、(2)フィールドデバイスからの攻撃、(3)サポート装置を介した攻撃、(4)メモリカードなどの制御装置に装着される記憶媒体を介した攻撃、といった4つの局面からのセキュリティ脅威が考えられる。さらに、制御装置に搭載されているすべての物理ポートは攻撃を受けるセキュリティリスクが存在している。
本実施の形態に従うセキュリティユニット200は、これらの各局面で生じるセキュリティ脅威あるいはリスクを検知し、必要な対策が実行できるようにするための処理を実行する。
通常、セキュリティ脅威は順次進化するため、セキュリティ脅威に対する対策は継続的に実行する必要がある。このようなセキュリティ脅威に対する継続的な対策について説明する。
図6は、セキュリティ脅威に対する対策サイクルの一例を示す模式図である。図6を参照して、セキュリティ脅威に対する対策サイクルは、主として、(1)開発時の対策(ステップS1,S2,S9)および(2)運用時の対策(ステップS3~S8)に大別される。(1)開発時の対策は、主として、制御対象の設備や機械の設計・仕様を決定する段階における対策を意味し、(2)運用時の対策は、主として、制御対象の設備や機械を運転する段階における対策を意味する。
より具体的には、まず、制御対象の設備や機械に対する脅威分析が実行される(ステップS1)。ステップS1の脅威分析においては、セキュリティ要件定義が決定される。続いて、セキュリティ機能設計が実行される(ステップS2)。このセキュリティ機能設計においては、暗号方式、認証方式、アクセス制限などのセキュリティ機能が設計される。
これらのステップS1およびS2において設計された内容が制御対象の設備や機械に反映された上で、運用が開始される。この時点では、通常は正常運転となる(ステップS3)。上述したように、正常運転は、設備や機械の立ち上げ、本稼働、メンテナンス、段取り替えなどの処理を含む。
このような正常運転中において、何らかの不正侵入を検知したとする。すると、セキュリティ脅威1次対応が実行される(ステップS4)。
ここで、本明細書において、「不正侵入の検知」あるいは「不正侵入検知」は、何らかのセキュリティ脅威となり得る現象または異常を検知することを意味する。言い換えれば、不正侵入の検知は、通常とは異なる現象または状態の発生を検知することを意味するのみであり、通常インシデントが発生しておらず(但し、インシデントの発生のリスク存在している)、また、通常とは異なる現象または状態が不正なものであるか否かを確実に判断することまではできない。そのため、不正侵入が検知されただけでは、すべての処理やイベントをブロックすることは、生産活動を維持する観点からは好ましくない。
そのため、図6に示されるセキュリティ脅威に対する対策サイクルにおいては、不正侵入が検知されると、1次的な措置として、セキュリティ脅威1次対応が実行される(ステ
ップS4)。
セキュリティ脅威1次対応は、インシデント発生のリスクがある状況における1次的な措置であり、インシデント発生への進展を防止できる場合もある。仮にインシデントが発生したとしても、セキュリティ脅威1次対応を実行することで、被害を最小限に抑えることができる。本実施の形態に従うコントローラシステム1においては、事前設定することで、セキュリティ脅威1次対応を自動的に実行するようになっている。
典型的には、セキュリティ脅威1次対応は、継続、縮退、停止の3つに大別できる。
セキュリティ脅威1次対応の「継続」は、不正侵入が検知される直前と同様に稼働を続行することを意味する。但し、セキュリティ脅威をアラームなどで通知することにより、さらなる対応を迅速に取れる状態としておくのが好ましい。
セキュリティ脅威1次対応の「縮退」は、コントローラシステムの部分停止(一部のみ稼働)、性能縮小(性能低下)、機能制限などの、限定的ながら稼働を続行することを意味する。すなわち、「縮退」においては、不正侵入が検知される直前の稼働に比較して、ハード面あるいはソフト面で何らかの制限を受けながらも稼働自体は継続する。
セキュリティ脅威1次対応の「縮退」は、一般的な縮退運転(フォールバック)も含み得る。このような一般的な縮退運転は、システムの機能や性能を部分的に停止させた状態で稼働を維持することを意味する。縮退運転に切り替えた後には、利用できる機能が最低限に抑制され、あるいは、応答速度が低下するといた状態になることが多い。
セキュリティ脅威1次対応の「停止」は、安全にシステムの動作を止めることを意味する。
このようなセキュリティ脅威1次対応が実行された後に、復旧作業が実行される。図5に示すような制御システム10においては、コントローラシステム1およびコントローラシステム1のフィールド側は、OT(Operation Technology)部門の作業者が担当し、コントローラシステム1の上位側(第1ネットワーク2および第2ネットワーク4ならびに各ネットワークに接続される装置)については、IT(Information Technology)部門の作業者が担当する。
より具体的には、OT部門の作業者は、制御対象の設備や機械に対して必要な処理を行う(現場対応)(ステップS5)。具体的には、設備や機械の復旧作業や監視などの作業が実行される。一方、IT部門の作業者は、発生したセキュリティ脅威に対する脅威解析およびその対策などを行う(ステップS6)。IT部門の作業者による対策は、暫定的なものと、恒久的なものとを含み得る場合もある。
OT部門およびIT部門の作業者による対策が完了すると、試運転が実行される(ステップS7)。この試運転が問題なければ、運用が再開され、正常運転に復帰する(ステップS3)。
一方、セキュリティ脅威1次対応を実行したものの(ステップS4)、インシデントが発生すると、インシデント対応が実行される(ステップS8)。インシデント対応は、インシデントが発生した後の対応であり、現場復旧や影響範囲を限定するために緊急的に行う措置を含む。本実施の形態に従うコントローラシステム1においては、事前設定することで、インシデント対応についても自動的に実行するようになっている。
インシデント対応が実行された後に、OT部門の作業者は、制御対象の設備や機械に対
して必要な処理を行う(現場対応)(ステップS5)とともに、IT部門の作業者は、発生したセキュリティ脅威に対する脅威解析およびその対策などを行う(ステップS6)。さらに、インシデントレポートが作成され(ステップS9)、その作成されたインシデントレポートの内容に基づいて、脅威分析(ステップS1)およびセキュリティ機能設計(ステップS2)などが再度実行される。
このように、インシデントが発生した場合には、その発生したインシデントの内容が開発段階までフィードバックされることになる。
なお、インシデントレポートは、インシデントが発生していなくても作成するようにしてもよい。
後述するように、本実施の形態に従うコントローラシステム1は、図6に示すセキュリティ脅威に対する対策サイクルを確実に実行できるような仕組みを提供する。
<E.セキュリティ脅威1次対応>
次に、図6に示されるセキュリティ脅威1次対応(ステップS4)について説明する。
(e1:制御システム10でのセキュリティ脅威1次対応)
まず、制御システム10に生じる不正侵入(セキュリティ脅威)の検知およびそれに応じたセキュリティ脅威1次対応の一例について説明する。
図7は、本実施の形態に従うコントローラシステム1を含む制御システム10における不正侵入検知時の対応の一例を示す模式図である。図7には、図5に示す制御システム10において、SCADA装置700がウィルスに感染して、第1ネットワーク2およびセキュリティユニット200の通信ポート242から攻撃された例を示す。
図7に示す例では、ラインAを担当するコントローラシステム1に対してのみ攻撃されており、ラインBを担当する制御ユニット100に対する攻撃はないものとする。セキュリティユニット200は、不正侵入を検知すると、その検知した不正侵入のインシデント特性を制御ユニット100などへ通知する。
本明細書において、「インシデント特性」は、検知された不正侵入(セキュリティ脅威)の属性(例えば、攻撃種類、攻撃特性、攻撃レベル、深刻度、緊急度など)を包含する用語である。セキュリティユニット200のセキュリティエンジン250は、予め定められた検知ロジックに基づいて、検知した不正侵入(セキュリティ脅威)のインシデント特性を決定し、制御ユニット100などへ出力する。すなわち、セキュリティユニット200のセキュリティエンジン250は、検知機能により検知された不正侵入の属性を示すインシデント特性を制御ユニット100へ通知する通知手段として機能する。
制御ユニット100は、セキュリティユニット200からのインシデント特性に応じた、セキュリティ脅威1次対応および/またはインシデント対応を実行する。すなわち、制御ユニット100は、セキュリティユニット200のセキュリティエンジン250から通知されたインシデント特性に応じて、制御動作を変更する。
図7には、セキュリティ脅威1次対応が実行される例を示す。具体的には、コンベア上を搬送されるワークをロボットで加工するようなラインAを想定する。このようなラインAにおいて、不正侵入が検知されることで、一例として、ワークを加工するロボットを安全に停止させるとともに、コンベア上の仕掛品のワークを倉庫へ退避する処理がセキュリティ脅威1次対応として実行される。
このようなセキュリティ脅威1次対応を実現するにあたって、制御ユニット100の制御エンジン150は、ラインAについて、ロボットを安全に停止するとともに、コンベア上の仕掛品を倉庫に移動する処理を実行する(ステップS41)。制御エンジン150が出力する命令に従って、フィールドデバイス500のロボットは安全停止(停止)し(ステップS42)、フィールドデバイス500のコンベアは搬送のスピードを低速に切り替えるとともに、仕掛品を倉庫へ移動させるための特殊仕分け処理を実行(縮退)する(ステップS43)。一方、フィールドデバイス500のI/Oユニットは、運転(動作)を継続する(ステップS44)。I/Oユニットが周期的に更新する入出力データは、制御エンジン150が適切に処理を実行するために必要になるからである。
また、上述したように、図7に示すSCADA装置700からの攻撃では、ラインBを担当する制御ユニット100には影響はないので、ラインBを担当する制御ユニット100の制御エンジン150は運転を継続する(ステップS45)。
また、制御ユニット100の通信ポート142については、生産継続のための最小限の通信のみを許可するようにしてもよい(ステップS46)。すなわち、制御ユニット100の通信物理ポートの通信を制御するようにしてもよい。なお、制御ユニット100の通信物理ポートに限らず、何らかの不正侵入(セキュリティ脅威)が検知されると、セキュリティユニット200および/またはセーフティユニット300の任意の通信物理ポートの通信を制限するようにしてもよい。
また、制御ユニット100は、不正侵入(セキュリティ脅威)が検知を知らせるアラームをHMI800のインジケータ824に表示する(ステップS47)。
さらに、制御ユニット100は、セキュリティユニット200からインシデントの発生を受けると、インシデントレポートをHMI800に表示してもよい(ステップS48)。
図7に示すように、コントローラシステム1は、不正侵入(セキュリティ脅威)を検知すると、当該検知された不正侵入のインシデント特性に応じたセキュリティ脅威1次対応を実行できる。
(e2:その他の設備/機械でのセキュリティ脅威1次対応)
上述の図7においては、コンベア上のワークに対して任意の物理的作用を与えることが可能なロボットが配置されたラインを制御対象とする制御システム10において、SCADA装置から攻撃を受けた場合のセキュリティ脅威1次対応について例示した。しかしながら、セキュリティ脅威1次対応は、少なくとも、制御対象に含まれる設備や機械、および、インシデント特性に応じて、対応内容を異ならせることが好ましい。
(i)加工機に対するデータ改ざんの攻撃
例えば、NC(Numerical Control)などによるワークの加工機に対して、加工データ
(仕上がり形状などを規定したデータ)が改ざんされたような場合を想定する。この場合、加工機および加工機の周辺設備の制御に関しては、セキュリティ脅威1次対応として停止が採用され、人の安全が優先されることになる。
一方、情報通信処理に関しては、基本的には、通信を遮断して他の設備から隔離する(情報通信処理)とともに、データ改ざんの攻撃を受けた後に加工されたワークを特定する(情報処理)といったセキュリティ脅威1次対応が採用される。
(ii)充填機に対するDDoS攻撃
例えば、缶や瓶などへの液体の充填機(ボトリングマシーン)に対するDDoS(Distributed Denial of Service)攻撃を想定する。通常、充填機は高速に充填動作を行って
いるので、急停止させることは、設備に対するダメージおよび充填中の缶または瓶の後処理といった面で問題が生じ得る。一方で、DDoS攻撃は、外部との通信が影響を受けるだけであり、充填機自体を動作させることは可能である場合が多い。そのため、充填機は正常運転または縮退運転(例えば、搬送速度を緩やかに低下させる)といったセキュリティ脅威1次対応がとられる。
一方、制御ユニット100における情報通信処理に関しては、基本的には、通信を遮断して他の設備から隔離する(通信処理)とともに、データ改ざんの攻撃を受けた後に加工されたワークを特定する(情報処理)といったセキュリティ脅威1次対応が採用される。
一方、情報通信処理に関しては、情報を受信する処理(すなわち、DDoS攻撃の対象)については遮断し、情報を送信する処理(例えば、上位サーバへの生産情報の送信)については有効化を継続する。
このように、制御対象に含まれる設備や機械、および、インシデント特性に応じて、対応内容を異ならせることが好ましい。
<F.インシデント対応>
次に、図6に示されるインシデント対応(ステップS8)について説明する。
図8は、生産機械および検査装置を含むラインに対する攻撃例を示す模式図である。図8を参照して、例えば、生産機械が製品を生産するとともに、生産機械の下流側に配置された検査装置によって生産機械が生産した製品を検査した上で出荷するようなラインを想定する。
このようなラインに対して、攻撃者は、不良品を市場に流出させることを目論んだとする。このような目論みを実現するために、攻撃者は、不良品を生産するように生産機械を改ざんし、さらに、その不良品を検出できないように検査装置を改ざんする。
このような攻撃の具体的な内容としては、例えば、検査装置に対して、良否判定ロジックを改ざんする。すなわち、検査装置が不良品であると判断しないように、良否判定ロジックを意図的に書き換えるといった攻撃がなされる。
併せて、生産機械に対して、レシピ情報および/または制御ロジックを改ざんする。すなわち、生産機械が不良品を生産するように制御内容を変更するといった攻撃がなされる。
このような攻撃を受けた場合には、インシデントの発生となり、インシデントに応じた対応が必要となる。インシデントに応じた対応についても、インシデント特性に応じてその対応内容を変化させることが好ましい。
本事例において、具体的なインシデントに応じた対応としては、以下のようなものが想定される。
・改ざんされた可能性のある検査装置を使用せずに、別の検査装置に切り替える(検査装置を冗長化しておく、あるいは、別のラインにある安全な検査装置へ製品を流す)
・改ざん前のロジック(良否判定ロジックあるいは制御ロジック)をバックアップして
おき、自動的にリストアする(自動的にリストアすることで、エンドユーザが定期的にバックアップをとらなくてもよく、また、安全と判断できる過去のバックアップがどれなのかを特定できる)
・リスクが存在し得る工程の生産を停止する一方で、その他の脅威がない工程については生産を継続する(仕掛品が増加するが、全工程を止める必要はない)
・既に生産された製品の良否判定結果も疑わしいので、正規の倉庫へ保管するのではなく、再度検査を行うことで、そのまま市場へ流通させない(再検査用のラインへ流すようにしてもよいし、人手で再検査してもよい)
上述したように本実施の形態においては、検知された不正侵入(セキュリティ脅威)のインシデント特性を利用できるので、例えば、製品の良否判定が適切に実行されていることが保証できれば、生産ラインを全停止する必要はない。また、再検査の対象となる商品を絞り込むことができれば、全品回収などの被害拡大を回避できる。
<G.インシデント特性に応じた対応>
上述したように、本実施の形態に従うコントローラシステム1においては、セキュリティユニット200が不正侵入(セキュリティ脅威)を検知すると、その検知された不正侵入(セキュリティ脅威)のインシデント特性を制御ユニット100などに通知する(図7など参照)。制御ユニット100およびセーフティユニット300においては、インシデント特性に基づいて、セキュリティ脅威に対する適切な範囲および内容の対応が可能となる(図6のステップS4およびS8)。
本実施の形態に従うコントローラシステム1は、検知された不正侵入(セキュリティ脅威)のインシデント特性に応じて、制御ユニット100および/またはセーフティユニット300における制御(すなわち、セキュリティ脅威1次対応またはインシデント対応)の内容を異ならせることができる。以下、このようなインシデント特性に応じた制御内容の決定例について説明する。
図9は、本実施の形態に従うコントローラシステム1におけるインシデント特性に応じた設備別の制御動作の一例を示す図である。図10は、本実施の形態に従うコントローラシステム1におけるインシデント特性に応じた設備別の制御動作の別の一例を示す図である。図11は、本実施の形態に従うコントローラシステム1におけるインシデント特性に応じた各設備における状態別の制御動作の一例を示す図である。
図9には、インシデント特性として、攻撃の種類あるいは攻撃後の状態(例えば、無作為改ざん、リソース枯渇、DDoS攻撃など)がセキュリティユニット200から出力される例を示す。セキュリティユニット200から出力される各インシデント特性に応じた対応が実行されることになる。このようなインシデント特性に応じた対応は、設備や機械毎にさらに細かく設定されてもよい。
インシデント特性に応じた対応としては、設備制御についての対応、および、情報通信についての対応に大別できる。設備制御は、主として、制御ユニット100の制御エンジン150および/またはセーフティユニット300のセーフティエンジン350(いずれも図5参照)が担当する処理を意味し、制御対象の設備や機械の動作についての対応を意味する。情報通信は、主として、制御ユニット100の情報エンジン160が担当する処理を意味し、制御ユニット100と外部装置との間のデータの遣り取りや、制御ユニット100内部での情報の取り扱いなどについての対応を意味する。
図9に示す制御動作のうち、「正常運転」は、システム設計通りおよび生産計画通りに、設備や機械を運転継続できる状態を意味する。「縮退」(図中には、「縮退」に「A1」などの識別情報を付加して表現している。)は、コントローラシステム1の部分停止(
一部のみ稼働)、性能縮小(性能低下)、機能制限などの、限定的ながら稼働を続行することを意味する。「停止」は、安全に、対象の設備や機械あるいはコントローラシステム1の動作を止めることを意味する。なお、図10および図11においても同様である。
図10には、インシデント特性としては、検知された不正侵入(セキュリティ脅威)のレベル(重篤度あるいは緊急度など)がセキュリティユニット200から出力される例を示す。各レベルは、検知された攻撃の種類あるいは攻撃後の状態などに基づいて算出される。セキュリティユニット200から出力される各インシデント特性に応じた対応が実行されることになる。このようなインシデント特性に応じた対応は、設備や機械毎にさらに細かく設定されてもよい。
図11には、各設備や機械の状態毎に各インシデント特性に応じた対応を設定する例を示す。例えば、設備毎に運転中、メンテナンス中、段取り替え中などの状態を特定するとともに、検知されたインシデント特性と、現在の状態とに基づいて、各設備に対する対応を決定してもよい。
なお、図11には、設備や機械の状態を例示するが、これに限らず、例えば、PLCの動作状態(通常運転中、リモートアクセス中、デバッグ中など)に応じて、対応の内容を異ならせてもよい。さらに、各インシデント特性に応じた対応を状態のみに基づいて決定してもよい。すなわち、設備や機械の違いによらず、セキュリティ脅威が検知されたときの状態のみに基づいて対応を決定するようにしてもよい。
また、図11に示すインシデント特性として、図10に示すレベルを用いてもよい。
図9~図11に示すように、本実施の形態に従うコントローラシステム1においては、セキュリティユニット200から出力されるインシデント特性に応じて、設備毎および/または状態毎に必要な対応を動的に決定できる。このような対応の内容を動的に決定することで、設備や機械の運転を継続することによる生産性の維持と、セキュリティに対する対処とを柔軟に実行できる。なお、図9~図11には、標準制御に関する制御動作を例示するが、セーフティ制御についても同様の制御動作を定義できる。
次に、図9~図11に示す「縮退」の一例について説明する。
(1)設備制御の縮退
設備制御の縮退は、範囲、機能、生産性などの面において制限を受けた状態で運転することを意味する。
範囲としては、制御対象となるゾーンを制限することができる。制御対象となるゾーンとしては、例えば、制御装置、制御装置に装着されるモジュール、制御装置に装着されるユニットなどの制御側を制限することができる。あるいは、特定の機械、ライン、フロア、工場全体といった被制御側(制御対象)を制限することができる。
機能としては、コントローラシステム1が提供する処理のうち特定の処理(例えば、情報制御、標準制御、セーフティ制御など)を制限することができる。
生産性としては、安全、安心のために一時的に生産性(例えば、ラインスピード、単位時間あたりの生産数、単位時間あたりの生産量など)を制限することができる。
(2)情報通信の縮退
情報通信の縮退は、範囲、方向、帯域、QoS(Quality of Service)、データなどの面において制限を受けた状態で運転することを意味する。
範囲としては、例えば、通信物理ポート、通信論理ポート、ネットワーク離脱などを制限できる。
通信物理ポートを制限する場合には、制御ユニット100およびセキュリティユニット200にそれぞれ配置されている通信ポートのうち特定のポート使用を制限することができる。あるいは、コントローラシステム1に実装される通信ポートのうち、上位側あるいはフィールド側のみを有効化してもよい。
通信論理ポートを制限する場合には、利用可能なTCP/UDPポートを制限してもよいし、利用可能な通信プロトコルを制限してもよい。さらに、アクセスを受け付けるMACアドレスやIPアドレスを制限してもよい。
方向としては、例えば、各ポートにおいてデータが流れる方向を一方向のみに制限してもよい。例えば、特定のポートについて、データの受信のみ許可、あるいは、データの送信のみ許可といった具合である。このような一方向のデータのみを許可することで、何らかのセキュリティ脅威が検知されたときに、コントローラシステム1からデータが流出することを防止できる。
帯域としては、コントローラシステム1の通信負荷あるいは処理負荷を低減させるために、通信速度を制限(例えば、1Gbpsから100Mbpsに変更)してもよい。
QoSとしては、通過させるパケットの優先度を動的に変化させてもよい。例えば、何らかのセキュリティ脅威が検知された場合には、通過させるパケットの優先度を高く変更してもよい。
データとしては、例えば、EtherCATなどの産業用ネットワークプロトコルにおいては、プロセスデータ通信の有効/無効の切り替えや、出力値の更新を制限(更新停止/ゼロクリア/前回値を保持など)してもよい。
上述したものに限らず、「縮退」は、正常運転に対して任意の制限が加えられた状態での運転を包含し得る。なお、「縮退」は、部分停止と見なすこともでき、「停止」は、特定の機能を全面的に停止することを包含し得るので、「縮退」を拡張した概念と見なすこともできる。
図12は、本実施の形態に従うコントローラシステム1におけるセキュリティ脅威が検知された場合の処理手順を示すフローチャートである。図12に示す各ステップは、制御ユニット100のプロセッサ102、セキュリティユニット200のプロセッサ202、およびセーフティユニット300のプロセッサ302がそれぞれプログラムを実行することで実現される。
図12を参照して、セキュリティユニット200は、制御ユニット100で生じる処理、および、ネットワーク上を流れるパケットなどに基づいて、不正侵入が生じているか否かを判断する(ステップS100)。不正侵入が生じていなければ(ステップS100においてNO)、ステップS100の処理が繰り返される。
不正侵入が生じていなければ(ステップS100においてYES)、セキュリティユニット200は、検知した不正侵入(セキュリティ脅威)に対応するインシデント特性を制御ユニット100へ通知する(ステップS102)。制御ユニット100は、セキュリティユニット200からのインシデント特性の通知を受けて、予め定められた動作の変更に係る条件に合致するか否かを判断する(ステップS104)。
予め定められた動作の変更に係る条件に合致すれば(ステップS104においてYES)、制御ユニット100は、当該合致した条件に対応する対象の設備や機械の動作を変更する(ステップS106)。
これに対して、予め定められた動作の変更に係る条件に合致しなければ(ステップS104においてNO)、ステップS106の処理はスキップされる。そして、ステップS100以下の処理が繰り返される。
<H.不正侵入検知時の処理の設定>
次に、上述したようなコントローラシステム1における不正侵入の検知時の処理を設定するためのユーザインターフェイスの一例について説明する。図5に示すように、サポート装置600がコントローラシステム1に対する設定を行う。
(h1:サポート装置600)
図13は、本実施の形態に従うコントローラシステム1に接続されるサポート装置600のハードウェア構成例を示す模式図である。サポート装置600は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いて実現される。
図13を参照して、サポート装置600は、プロセッサ602と、メインメモリ604と、入力部606と、出力部608と、ストレージ610と、光学ドライブ612と、USBコントローラ620とを含む。これらのコンポーネントは、プロセッサバス618を介して接続されている。
プロセッサ602は、CPUやGPUなどで構成され、ストレージ610に格納されたプログラム(一例として、OS6102およびサポートプログラム6104)を読出して、メインメモリ604に展開して実行することで、コントローラシステム1に対する設定処理などを実現する。
メインメモリ604は、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ610は、例えば、HDDやSSDなどの不揮発性記憶装置などで構成される。
ストレージ610には、基本的な機能を実現するためのOS6102に加えて、サポート装置600としての機能を提供するためのサポートプログラム6104が格納される。すなわち、サポートプログラム6104は、コントローラシステム1に接続されるコンピュータにより実行されることで、本実施の形態に係るサポート装置600を実現する。
入力部606は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。出力部608は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ602からの処理結果などを出力する。
USBコントローラ620は、USB接続を介して、コントローラシステム1などとの間のデータを遣り取りする。
サポート装置600は、光学ドライブ612を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体614(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読取られてストレージ610などにインストールされる。
サポート装置600で実行されるサポートプログラム6104などは、コンピュータ読取可能な記録媒体614を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置600が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
図13には、プロセッサ602がプログラムを実行することで、サポート装置600として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
(h2:不正侵入検知時の対処設定)
図14~図17は、本実施の形態に従うコントローラシステム1に対する不正侵入検知時の対処を設定するためのユーザインターフェイス画面の一例を示す模式図である。図14~図17には、一例として、不正侵入通知イベントタスクとして制御ユニット100に設定される場合の設定手順の一例を示す。なお、図14~図17に示すユーザインターフェイス画面は、典型的には、サポート装置600のプロセッサ602がサポートプログラム6104を実行することで実現される。
図14に示すユーザインターフェイス画面650は、セキュリティユニット200から通知される不正侵入のインシデント特性の設定および登録を受け付ける。具体的には、ユーザインターフェイス画面650は、インシデント特性の設定登録領域652を有している。設定登録領域652には、セキュリティユニット200において検知可能な不正侵入(セキュリティ脅威)が一覧表示されている。
図14の設定登録領域652は、「攻撃タイプ」のカラム656を含んでおり、ユーザは、「有効」のカラム654において、通知を有効化する攻撃タイプ(検知される不正侵入の種類)をチェックする。図14に示す例では、3つの攻撃タイプが有効化されている。すなわち、図14に示すユーザインターフェイス画面650においてチェックされている攻撃タイプについては、セキュリティユニット200により検知されると、対応するインシデント特性が制御ユニット100へ通知されることになる。
図15に示すユーザインターフェイス画面660は、セキュリティユニット200からインシデント特性を通知されたときに実行されるプログラムの作成が可能になっている。具体的には、ユーザインターフェイス画面660は、プログラム編集領域662を有しており、ユーザはプログラム編集領域662に特定のインシデント特性が通知されたときに実行されるべきプログラム(典型的には、縮退または停止といったセキュリティ脅威1次対応を実現するためのプログラム)が記述される。図15に示す例では、縮退を実現するためのプログラムが記述され、「縮退処理A」として登録されるものとする。
図16に示すユーザインターフェイス画面670は、イベントタスクの設定を受け付ける。イベントタスクは、予め定められた条件が満たされたときのみ実行されるタスクを意味する。より具体的には、ユーザインターフェイス画面670のカラム672において、タスクタイプとして「イベントタスク」が指定される。そして、カラム674において、タスク名として「Security_RiskDetected_A」が指定される。なお、このタスク名は任意
に指定できる。さらに、カラム676において、周期/実行条件として、「不正侵入検知」が指定される。「不正侵入検知」が指定されることで、セキュリティユニット200からインシデント特性が通知されたことをイベントとして実行されることが規定される。
このように、サポート装置600は、ユーザインターフェイス画面670において、セ
キュリティユニット200により不正侵入が検知されたときに制御ユニット100により実行されるプログラムの指定を受け付ける。
さらに、カラム678において、セキュリティユニット200から通知されるインシデント特性に対する条件、すなわちインシデント特性の種別が設定される。図16に示す例では、「無作為改ざん」、「リソース枯渇」、「DDoS攻撃」の3種類が提示されており、ユーザはこれらのインシデント特性のうち1または複数を選択する。このように、サポート装置600は、ユーザインターフェイス画面670において、制御ユニット100によりプログラムが実行される条件として、不正侵入の種類の指定を受け付ける。
図17に示すユーザインターフェイス画面680は、図15に示すユーザインターフェイス画面660上で作成したプログラムを、図16に示すユーザインターフェイス画面670において設定したタスクに割り当てる設定を受け付ける。
「Security_RiskDetected_A」と表示されたタスク名を示すオブジェクト682を選択
し、「縮退処理A」として登録されたプログラムを入力欄684に設定することで、セキュリティユニット200からのインシデント特性の通知を条件に、「縮退処理A」のプログラムがイベント実行されるようになる。
以上のような設定手順によって、セキュリティユニット200での不正侵入の検知、セキュリティユニット200から制御ユニット100へのインシデント特性の通知、制御ユニット100でのインシデント特性に応じた動作の変更(予め登録されたプログラムの実行)が実現される。このように、サポート装置600は、セキュリティユニット200のセキュリティエンジン250により検知された不正侵入に応じて制御ユニット100により実行される制御演算に係る設定およびプログラムなどを受け付ける。
制御ユニット100は、通知されるインシデント特性に対応付けられたプログラムを実行することで、制御動作を変更する。同様に、制御ユニット100は、制御動作を変更することにより、制御対象の動作を停止することもできる。あるいは、制御ユニット100は、制御動作を変更することにより、制御対象の動作を制限すること(縮退動作)もできる。
また、制御ユニット100は、制御動作を変更することにより、コントローラシステム1に含まれる装置の動作を制限することもできる。
上述の説明においては、不正侵入通知イベントタスクとして処理を設定する例を説明したが実装形態はこれに限られない。例えば、セキュリティユニット200からインシデント特性の通知を示すシステム変数を用意するとともに、当該システム変数を起動条件とした、縮退処理や停止処理に必要なプログラムを作成するようにしてもよい。
さらに、システム変数をユーザ定義変数にマッピングすることで、ユーザプログラム内の任意の命令で参照可能にしてもよい。
(h3:設備別/状態別の制御動作設定)
次に、本実施の形態に従うコントローラシステムにおけるインシデント特性に応じた設備別の制御動作および状態別の制御動作の設定を支援するための機能について説明する。
制御対象の設備や機械の特性や仕様などに応じて、発生したインシデントに応じた処理を最適化することが好ましいが、このような制御動作の設定には、ある程度の専門知識が必要となる。そこで、以下に説明するような、制御動作の設定を支援する機能を実装して
もよい。
図18は、本実施の形態に従うコントローラシステムが提供するインシデント特性に応じた制御動作のモデル設定630の一例を示す図である。図18を参照して、モデル設定630は、予め定められた1または複数の類型毎にインシデント特性に応じた制御動作を含む。すなわち、サポート装置600は、制御動作の典型的な挙動を規定する複数のモデル設定630を有している。
各類型の制御動作は典型的な挙動を示すものであり、後述するように、適宜変更することもできる。なお、図18には、設備毎のモデル設定の一例を示すが、設備および状態のそれぞれに対応するモデル設定(図11など参照)を採用してもよい。この点は、以下の説明においても同様である。
サポート装置600は、ユーザ操作に応じて、複数のモデル設定630のうちいずれかを制御ユニット100に反映する。このようなインシデント特性に応じた制御動作(モデル設定630)を決定する方法としては、対象の設備種別を選択する方法に加えて、対話形式で選択する方法を採用してもよい。
まず、対象の設備種別を選択する方法について説明する。図19は、本実施の形態に従うコントローラシステムにおける制御動作を設定する処理手順を説明するための図である。
例えば、サポート装置600において、図19(A)に示すようなユーザインターフェイス画面640が提供される。ユーザインターフェイス画面640は、選択可能な設備種別の一覧642を含むとともに、ユーザがいずれかの設備種別を選択した後に、決定ボタン644を選択すると、対応するモデル設定が設定される。
サポート装置600は、図19(B)に示すような対応テーブル632を有しており、ユーザがいずれかの設備種別を選択すると、対応する類型を決定する。そして、モデル設定630(図18参照)を参照して、決定された類型に対応する制御動作が設定される。
このように、複数のモデル設定630の各々は、設備種別に関連付けられている。そして、サポート装置600は、ユーザによる設備の選択に応じて、対応するモデル設定を選択および反映する。図19に示すような対象の設備種別を選択する方法を採用することで、専門知識のないユーザであっても、インシデント特性に応じた最適な制御動作を設定できる。
次に、対話形式で選択する方法について説明する。
図20は、本実施の形態に従うコントローラシステムにおける制御動作を設定する別の処理手順を説明するための図である。図20を参照して、サポート装置600は、類型を決定するための判定モデル634を有している。判定モデル634は、対象の設備の特性や仕様などを決定するための1または複数の質問項目を含む。
サポート装置600は、判定モデル634に沿った質問をユーザに対して提供するとともに、当該質問に対するユーザからの回答に従ってステートを順次遷移させる。サポート装置600は、いずれかの類型に到達すると、当該到達した類型に対応する制御動作を決定する。
図21は、本実施の形態に従うコントローラシステムにおける制御動作を設定するさらに別の処理手順を説明するための図である。図21(A)を参照して、サポート装置60
0は、類型を決定するための質問項目群636を有している。質問項目群636は、対象の設備の特性や仕様などを決定するための1または複数の質問項目を含む。
サポート装置600は、質問項目群636に含まれる1または複数の質問をユーザに対して提供するとともに、当該質問に対するユーザからの回答を受け付ける。サポート装置600は、すべての質問に対する回答に基づいて、図21(B)に示すような対応テーブル638を参照して、対応する類型を決定する。そして、サポート装置600は、モデル設定630(図18参照)を参照して、決定された類型に対応する制御動作を設定する。
このように、サポート装置600は、対話型インターフェイスを介して、1または複数の質問をユーザに呈示するとともに、各質問に対するユーザの選択に応じて、複数のモデル設定630のうち対象となるモデル設定630を選択および反映する。質問の提供および各質問に対する回答の受け付けといった対話形式を採用することで、専門知識のないユーザであっても、インシデント特性に応じた最適な制御動作を設定できる。
上述したような手順に従って決定された制御動作については、ユーザが任意に変更できるようにしてもよい。
図22は、本実施の形態に従うコントローラシステムにおける制御動作の設定を変更するためのユーザインターフェイス画面の一例を示す模式図である。図22に示すユーザインターフェイス画面646においては、現在設定されている制御動作の内容が一覧表示されている。ユーザが任意の項目を選択すると、当該選択された項目に対応付けてサブウィンドウ648が表示される。サブウィンドウ648には、選択可能な複数の設定値が表示されており、ユーザは所望する設定値を選択する。このような変更操作によって、モデル設定に対してユーザが所望する任意の変更を行うことができる。
<I.セキュリティユニット200に対する指令>
上述したように、セキュリティユニット200は不正侵入を検知すると、検知した不正侵入に対応するインシデント特性を制御ユニット100およびセーフティユニット300へ通知する。制御ユニット100および/またはセーフティユニット300は、セキュリティユニット200からのインシデント特性に応じて制御動作を適宜変更することができる。
図6のセキュリティ脅威に対する対策サイクルに示すように、セキュリティ脅威1次対応が実行された後、あるいは、インシデント対応が実行された後、対策が完了すると、試運転を経て運用が再開される。このような正常運転に復旧するにあたっては、制御ユニット100あるいはセーフティユニット300からセキュリティユニット200に対して、復旧するための指令を与える必要がある。
また、制御ユニット100またはセーフティユニット300で実行される制御演算において、セキュリティユニット200のセキュリティ監視レベルや有効化されたセキュリティ機能を変更したいというニーズも存在する。例えば、他のコントローラシステム1において不正侵入が検知されたとの通知を受けて、自コントローラシステム1におけるセキュリティ監視レベルを高めるといった処理や、制御ユニット100がリモートメンテナンスされる場合に、セキュリティ監視レベルを緩和するといった処理が要求されることもある。
そこで、本実施の形態に従うコントローラシステム1は、制御ユニット100またはセーフティユニット300からセキュリティユニット200に対して、動作状態を変更するための指令が送信可能であってもよい。
図23は、本実施の形態に従うコントローラシステム1におけるセキュリティユニット200に対する変更指令の遣り取りを説明するための模式図である。図23を参照して、例えば、制御ユニット100の制御エンジン150および情報エンジン160は、ユーザ操作などを受けて、セキュリティユニット200のセキュリティエンジン250に各種の変更指令を出力可能になっている。
このように、制御ユニット100の制御エンジン150および情報エンジン160は、セキュリティユニット200のセキュリティエンジン250(検知手段)の挙動を変更するための指令を送信する指令送信手段に相当する。上述したように、セキュリティユニット200のセキュリティエンジン250の挙動を変更するための指令は、セキュリティエンジン250による不正侵入の検知を復旧するための指令を含んでいてもよいし、セキュリティエンジン250による不正侵入が発生したか否かを検知するレベルを変更するための指令を含んでいてもよい。
制御ユニット100の制御エンジン150および情報エンジン160は、ユーザ操作に応じて、セキュリティユニット200のセキュリティエンジン250の挙動を変更するための指令を送信するようにしてもよいし、予め定められた条件が成立すると、自動的に送信するようにしてもよい。
図24は、本実施の形態に従うコントローラシステム1におけるセキュリティユニット200の動作を変更するためのプログラム命令の一例を示す図である。図24を参照して、例えば、制御ユニット100で実行されるユーザプログラムに、セキュリティユニット200の動作を変更するための命令190を含めることができる。図24に示す例では、命令190をファンクションブロックの形式で記述しているが、任意の言語または形式で記述できるようにしてもよい(例えば、IEC 61131-3に規定されたいずれかの言語)。
このように、制御ユニット100において実行される制御演算に係る命令を含むユーザプログラムには、セキュリティエンジン250(検知手段)の挙動を変更するための指令を送信するための命令を含むようにしてもよい。図24に示すようなユーザプログラムで利用できる命令を用意することで、制御対象や動作状態などに応じて、セキュリティ機能を柔軟に運用できる。
セキュリティユニット200の動作を変更する命令としては、例えば、(1)検知対象の攻撃タイプ(インシデント特性)の変更・削除・追加、(2)不正侵入検知の有効化/無効化、(3)不正侵入の検知レベルの変更、(4)インシデント特性の通知先の変更・追加・削除などが挙げられる。これらに限らず、セキュリティユニット200の動作を変更するための任意の命令を採用できる。
なお、セキュリティユニット200に対する不正な命令が発行されることにより、セキュリティユニット200自体が無効化されることを防止するために、セキュリティレベルを上げる方向の指令のみを有効化してもよい。
あるいは、セキュリティユニット200に対して命令を発行する制御ユニット100またはセーフティユニット300を公知の方法で事前認証または都度認証するようにしてもよい。
上述したように、制御ユニット100またはセーフティユニット300からセキュリティユニット200に対して動作の変更を指示する機構を採用することで、コントローラシ
ステム1全体として、適切なセキュリティレベルを維持しつつ、柔軟な生産を実現できる。
<J.セキュリティ情報の可視化・ユーザ支援>
通常、セキュリティ事象は目に見えないので、特に、OT部門の作業者にとってみれば、現在どのようなステータスであるのかを把握することが難しい。そのため、本実施の形態に従うコントローラシステム1は、セキュリティ情報を可視化するとともに、不正侵入が検知されたときなどのユーザ支援を提供する。
(j1:ステータス)
セキュリティユニット200が何らかの不正侵入を検知した場合には、セキュリティユニット200の表面に配置されたインジケータ224、制御ユニット100の表面に配置されたインジケータ124、HMI800のインジケータ824(いずれも図5参照)などを用いて、ユーザに通知を行うようにしてもよい。この場合、不正侵入の検知前後で、点灯色変更、点灯開始、点滅開始などの任意の表示態様の変化を利用すればよい。さらに、表示だけではなく、音や音声メッセージなどを用いてもよい。
セキュリティ脅威は、セキュリティリスクに応じて定量化することもできる。本明細書において、「セキュリティリスク」は、不正侵入として検知される確率あるいは度合いを定量的に示す用語である。「セキュリティリスク」は、例えば、無作為改ざんを行うためのパケットの到来頻度やDDoS攻撃の度合いなどにより算出できる。このような定量化されたセキュリティリスクが得られる場合には、制御ユニット100の表面に配置されたインジケータ124、HMI800のインジケータ824には、算出される度合いを表示するようにしてもよい。
図25は、本実施の形態に従うコントローラシステム1に採用されるインジケータの一例を示す模式図である。図25(A)および図25(B)には、定量化されたセキュリティリスクを表示する場合の構成例を示す。
図25(A)に示すインジケータ224においては、3つのLED(Light Emitting Diode)が配置されており、算出されたセキュリティリスクに応じて点灯数あるいは点灯位置を変化させる。図25(B)に示すインジケータ224においては、1つのLEDが配置されており、算出されたセキュリティリスクに応じて点灯色あるいは点灯強度を変化させる。
このように、セキュリティユニット200は、検知手段であるセキュリティエンジン250による検知動作から算出されるセキュリティリスクをユーザに視覚的に提示する提示手段の一例である、インジケータ224を有している。
上述したようなインジケータ224を配置することで、専門知識のない作業者であっても、現在のセキュリティリスクのステータスを容易に把握できる。
図25に示すようなインジケータに限らず、セキュリティリスクを提示できる形態であれば、どのようなインジケータを採用してもよい。
また、音や音声メッセージなどを用いてユーザに通知するようにしてもよい。
図26は、本実施の形態に従うコントローラシステムに採用されるスピーカの動作例を示す模式図である。図26に示す例では、セキュリティユニット200のスピーカ226から、セキュリティリスクに応じた音声あるいは音声メッセージが出力される。
例えば、セキュリティリスクが高くなるほど、出力される音声の音量が大きくなるようにしてもよいし、音声の発生間隔が短くなるようにしてもよい。また、セキュリティリスクが高くなるほど、周波数の主成分を高くしてもよい。さらに、セキュリティリスクに応じて音色を異ならせてもよい。
スピーカ226から音声メッセージを出力する場合には、セキュリティリスクに応じて、音声メッセージの内容あるいは音量を異ならせてもよい。例えば、セキュリティリスクの大きさに応じて、「軽微なセキュリティリスクを検知しました」、「セキュリティリスクが高まっています」、「重大なセキュリティ脅威が生じています」というようにメッセージの内容を異ならせてもよい。
このように、セキュリティユニット200は、検知手段であるセキュリティエンジン250による検知動作から算出されるセキュリティリスクをユーザに聴覚的に提示する提示手段の一例である、スピーカ226(音声発生部)を有している。
上述したようなスピーカ226を配置することで、専門知識のない作業者であっても、現在のセキュリティリスクのステータスを容易に把握できる。
図25および図26に示すように、インジケータ224やスピーカ226などの提示手段は、算出されるセキュリティリスクの度合いに応じて、提示態様を変化させてもよい。このような提示態様の変化によって、ユーザは、現在のセキュリティリスクを即座に把握できる。
(j2:ログ)
セキュリティユニット200での不正侵入検知の結果などは、セキュリティユニット200のセキュリティ情報260として保存されてもよい(図5など参照)。さらに、必要なログは、コントローラシステム1の内部あるいはコントローラシステム1の外部に配置されたデータベースに適宜格納するようにしてもよい。
(j3:アラーム履歴)
上述のログと同様に、セキュリティユニット200が不正侵入を検知してアラームを発生した場合などは、そのアラーム履歴をセキュリティユニット200のセキュリティ情報260として保存するようにしてもよい(図5など参照)。さらに、必要なアラーム履歴は、コントローラシステム1の内部あるいはコントローラシステム1の外部に配置されたデータベースに適宜格納するようにしてもよい。
(j4:トラブルシュート)
図6に示すように、不正侵入が検知され、セキュリティ脅威1次対応が実行されると(ステップS4)、OT部門の作業者は、制御対象の設備や機械に対して必要な処理を行う(現場対応)(ステップS5)必要がある。このようなOT部門の作業者の作業を支援する目的で、HMI800などに、検知された不正侵入の種類、および、実行されたセキュリティ脅威1次対応の内容などに応じたトラブルシュート用の情報を提示するようにしてもよい。
このようなトラブルシュート用の情報を提示することで、正常運転での運用再開までに要する時間を短縮できる。
<K.変形例>
上述の実施の形態においては、制御ユニット100と、セキュリティユニット200と、セーフティユニット300とが互いに独立したユニットとして構成されたコントローラ
システム1について例示した。互いに独立したユニットとして構成することで、柔軟性や可用性を高めることができる。
但し、必ずしも、各機能を互いに独立したユニットとして構成する必要はなく、制御ユニット100、セキュリティユニット200およびセーフティユニット300の全部または一部を共通のユニットとして構成してもよい。この場合には、筐体をコンパクト化できるなどの利点がある。
図27は、本実施の形態に従うコントローラシステム1の構成の変形例を示す模式図である。図27には、制御ユニット100、セキュリティユニット200およびセーフティユニット300の一部または全部が一体化された構成例を示す。
図27(A)に示されるコントローラシステム1Aは、制御ユニット100およびセーフティユニット300を一体化した統合ユニット50Aと、セキュリティユニット200とから構成される。すなわち、コントローラシステム1Aの統合ユニット50Aにおいては、標準制御およびセーフティ制御が同一のユニット内で実行される。
図27(B)に示されるコントローラシステム1Bは、セキュリティユニット200および制御ユニット100を一体化した統合ユニット50Bと、セーフティユニット300とから構成される。すなわち、コントローラシステム1Bの統合ユニット50Bにおいては、他の装置との間の通信処理および標準制御が同一のユニット内で実行される。
図27(C)に示されるコントローラシステム1Cは、制御ユニット100、セキュリティユニット200およびセーフティユニット300を一体化した統合ユニット50Cから構成される。すなわち、コントローラシステム1Cの統合ユニット50Cにおいては、他の装置との間の通信処理、標準制御およびセーフティ制御が同一のユニット内で実行される。
このように、制御ユニット100、セキュリティユニット200およびセーフティユニット300が担当する機能および処理の実装形態はどのようなものであってもよい。さらに、制御ユニット100、セキュリティユニット200およびセーフティユニット300が担当する機能の一部同士を共通の処理ユニットに実装してもよい。
<L.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
コントローラシステム(1)であって、
制御対象を制御するための制御演算を実行する制御ユニット(100)と、
前記制御ユニットに接続され、前記コントローラシステムに対するセキュリティ機能を担当するセキュリティユニット(200)とを備え、
前記セキュリティユニットは、前記コントローラシステムにおいて何らかの不正侵入が発生したか否かを検知する検知手段(250)を含み、
前記制御ユニットは、前記セキュリティユニットの前記検知手段の挙動を変更するための指令を送信する指令送信手段(150,160)を含む、コントローラシステム。
[構成2]
前記検知手段の挙動を変更するための指令は、前記検知手段による不正侵入の検知を復旧するための指令を含む、構成1に記載のコントローラシステム。
[構成3]
前記検知手段の挙動を変更するための指令は、前記検知手段による不正侵入が発生したか否かを検知するレベルを変更するための指令を含む、構成1または2に記載のコントロ
ーラシステム。
[構成4]
前記指令送信手段は、ユーザ操作に応じて、前記検知手段の挙動を変更するための指令を送信する、構成1~3のいずれか1項に記載のコントローラシステム。
[構成5]
前記制御ユニットは、前記制御演算に係る命令を含むユーザプログラムを実行するように構成され、
前記ユーザプログラムは、前記検知手段の挙動を変更するための指令を送信するための命令を含む、構成1~4のいずれか1項に記載のコントローラシステム。
[構成6]
コントローラシステム(1)であって、
制御対象を制御するための制御演算を実行する制御ユニット(100)と、
前記制御ユニットに接続され、前記コントローラシステムに対するセキュリティ機能を担当するセキュリティユニット(200)と、
少なくとも前記制御ユニットにアクセス可能なサポート装置(800)とを備え、
前記セキュリティユニットは、前記コントローラシステムにおいて何らかの不正侵入が発生したか否かを検知する検知手段(250)を含み、
前記制御ユニットは、前記検知手段により検知された不正侵入に応じた制御演算を実行するように構成されており、
前記サポート装置は、前記検知手段により検知された不正侵入に応じて前記制御ユニットにより実行される制御演算に係る設定を受け付ける、コントローラシステム。
[構成7]
前記サポート装置は、前記検知手段により不正侵入が検知されたときに前記制御ユニットにより実行されるプログラムの指定を受け付ける、構成6に記載のコントローラシステム。
[構成8]
前記サポート装置は、前記制御ユニットによりプログラムが実行される条件として、不正侵入の種類の指定を受け付ける、構成7に記載のコントローラシステム。
[構成9]
前記サポート装置は、制御動作の典型的な挙動を規定する複数のモデル設定(630)を有しており、ユーザ操作に応じて、前記複数のモデル設定のうちいずれかを前記制御ユニットに反映する、構成6~8のいずれか1項に記載のコントローラシステム。
[構成10]
前記複数のモデル設定の各々は、設備種別に関連付けられており、
前記サポート装置は、ユーザによる設備の選択に応じて、対応するモデル設定を選択および反映する、構成9に記載のコントローラシステム。
[構成11]
前記サポート装置は、対話型インターフェイス(634,636)を介して、1または複数の質問をユーザに呈示するとともに、各質問に対するユーザの選択に応じて、前記複数のモデル設定のうち対象となるモデル設定を選択および反映する、構成9に記載のコントローラシステム。
[構成12]
コントローラシステム(1)であって、
制御対象を制御するための制御演算を実行する制御ユニット(100)と、
前記制御ユニットに接続され、前記コントローラシステムに対するセキュリティ機能を担当するセキュリティユニット(200)とを備え、
前記セキュリティユニットは、
前記コントローラシステムにおいて何らかの不正侵入が発生したか否かを検知する検知手段(250)と、
前記検知手段による検知動作から算出されるセキュリティリスクをユーザに提示する
提示手段(250)とを含む、コントローラシステム。
[構成13]
前記提示手段は、前記セキュリティリスクを視覚的に提示するためのインジケータ(224)を含む、構成12に記載のコントローラシステム。
[構成14]
前記提示手段は、前記セキュリティリスクを聴覚的に提示するための音声発生部(226)を含む、構成12または13に記載のコントローラシステム。
[構成15]
前記提示手段は、前記算出されるセキュリティリスクの度合いに応じて、提示態様を変化させる、構成12~14のいずれか1項に記載のコントローラシステム。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 コントローラシステム、2 第1ネットワーク、4 第2ネットワーク、10 制御システム、100 制御ユニット、102,202,302,602 プロセッサ、104,204,304 チップセット、106,206,306 主記憶装置、108,208,308 二次記憶装置、110,210 通信コントローラ、112,212,620 USBコントローラ、114,214,314 メモリカードインターフェイス、115,215,315 メモリカード、116,118,120,216,218 ネットワークコントローラ、122,322 内部バスコントローラ、124,224,324,824 インジケータ、142,144,242 通信ポート、150 制御エンジン、160 情報エンジン、170 ブローカー、180,360 ログデータベース、190 命令、200 セキュリティユニット、250 セキュリティエンジン、260 セキュリティ情報、300 セーフティユニット、350 セーフティエンジン、400 機能ユニット、450 電源ユニット、500 フィールドデバイス、600 サポート装置、604 メインメモリ、606 入力部、608 出力部、610 ストレージ、612 光学ドライブ、614 記録媒体、618 プロセッサバス、630 モデル設定、632,638 対応テーブル、634 判定モデル、636 質問項目群、640,646,650,660,670,680 ユーザインターフェイス画面、642 一覧、644 決定ボタン、648 サブウィンドウ、652 設定登録領域、654,656,672,674,676,678 カラム、662 プログラム編集領域、682 オブジェクト、684 入力欄、700 装置、800 HMI、900 データベース、6102 OS、6104 サポートプログラム。

Claims (15)

  1. コントローラシステムであって、
    制御対象を制御するための制御演算を実行する制御ユニットと、
    前記制御ユニットに接続され、前記コントローラシステムに対するセキュリティ機能を担当するセキュリティユニットとを備え、
    前記セキュリティユニットは、前記コントローラシステムにおいて何らかの不正侵入が発生したか否かを検知する検知手段を含み、
    前記制御ユニットは、前記セキュリティユニットの前記検知手段の挙動を変更するための指令を送信する指令送信手段を含む、コントローラシステム。
  2. 前記検知手段の挙動を変更するための指令は、前記検知手段による不正侵入の検知を復旧するための指令を含む、請求項1に記載のコントローラシステム。
  3. 前記検知手段の挙動を変更するための指令は、前記検知手段による不正侵入が発生したか否かを検知するレベルを変更するための指令を含む、請求項1または2に記載のコントローラシステム。
  4. 前記指令送信手段は、ユーザ操作に応じて、前記検知手段の挙動を変更するための指令を送信する、請求項1~3のいずれか1項に記載のコントローラシステム。
  5. 前記制御ユニットは、前記制御演算に係る命令を含むユーザプログラムを実行するように構成され、
    前記ユーザプログラムは、前記検知手段の挙動を変更するための指令を送信するための命令を含む、請求項1~4のいずれか1項に記載のコントローラシステム。
  6. コントローラシステムであって、
    制御対象を制御するための制御演算を実行する制御ユニットと、
    前記制御ユニットに接続され、前記コントローラシステムに対するセキュリティ機能を担当するセキュリティユニットと、
    少なくとも前記制御ユニットにアクセス可能なサポート装置とを備え、
    前記セキュリティユニットは、前記コントローラシステムにおいて何らかの不正侵入が発生したか否かを検知する検知手段を含み、
    前記制御ユニットは、前記検知手段により検知された不正侵入に応じた制御演算を実行するように構成されており、
    前記サポート装置は、前記検知手段により検知された不正侵入に応じて前記制御ユニットにより実行される制御演算に係る設定を受け付ける、コントローラシステム。
  7. 前記サポート装置は、前記検知手段により不正侵入が検知されたときに前記制御ユニットにより実行されるプログラムの指定を受け付ける、請求項6に記載のコントローラシステム。
  8. 前記サポート装置は、前記制御ユニットによりプログラムが実行される条件として、不正侵入の種類の指定を受け付ける、請求項7に記載のコントローラシステム。
  9. 前記サポート装置は、制御動作の典型的な挙動を規定する複数のモデル設定を有しており、ユーザ操作に応じて、前記複数のモデル設定のうちいずれかを前記制御ユニットに反映する、請求項6~8のいずれか1項に記載のコントローラシステム。
  10. 前記複数のモデル設定の各々は、設備種別に関連付けられており、
    前記サポート装置は、ユーザによる設備の選択に応じて、対応するモデル設定を選択および反映する、請求項9に記載のコントローラシステム。
  11. 前記サポート装置は、対話型インターフェイスを介して、1または複数の質問をユーザに呈示するとともに、各質問に対するユーザの選択に応じて、前記複数のモデル設定のうち対象となるモデル設定を選択および反映する、請求項9に記載のコントローラシステム。
  12. コントローラシステムであって、
    制御対象を制御するための制御演算を実行する制御ユニットと、
    前記制御ユニットに接続され、前記コントローラシステムに対するセキュリティ機能を担当するセキュリティユニットとを備え、
    前記セキュリティユニットは、
    前記コントローラシステムにおいて何らかの不正侵入が発生したか否かを検知する検知手段と、
    前記検知手段による検知動作から算出されるセキュリティリスクをユーザに提示する提示手段とを含む、コントローラシステム。
  13. 前記提示手段は、前記セキュリティリスクを視覚的に提示するためのインジケータを含む、請求項12に記載のコントローラシステム。
  14. 前記提示手段は、前記セキュリティリスクを聴覚的に提示するための音声発生部を含む、請求項12または13に記載のコントローラシステム。
  15. 前記提示手段は、前記算出されるセキュリティリスクの度合いに応じて、提示態様を変化させる、請求項12~14のいずれか1項に記載のコントローラシステム。
JP2023038453A 2018-11-28 2023-03-13 コントローラシステム Pending JP2023068023A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018222649 2018-11-28
JP2018222649 2018-11-28
JP2019114336A JP2020095672A (ja) 2018-11-28 2019-06-20 コントローラシステム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019114336A Division JP2020095672A (ja) 2018-11-28 2019-06-20 コントローラシステム

Publications (1)

Publication Number Publication Date
JP2023068023A true JP2023068023A (ja) 2023-05-16

Family

ID=71086301

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019114336A Pending JP2020095672A (ja) 2018-11-28 2019-06-20 コントローラシステム
JP2023038453A Pending JP2023068023A (ja) 2018-11-28 2023-03-13 コントローラシステム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2019114336A Pending JP2020095672A (ja) 2018-11-28 2019-06-20 コントローラシステム

Country Status (4)

Country Link
US (1) US20210406367A1 (ja)
EP (1) EP3889702A4 (ja)
JP (2) JP2020095672A (ja)
CN (1) CN112673324A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7462550B2 (ja) * 2020-12-24 2024-04-05 株式会社日立製作所 通信監視対処装置、通信監視対処方法、及び通信監視対処システム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4448307B2 (ja) * 2003-09-29 2010-04-07 エヌ・ティ・ティ・コミュニケーションズ株式会社 セキュリティ管理装置、セキュリティ管理方法、およびセキュリティ管理プログラム
JP5366864B2 (ja) * 2010-03-16 2013-12-11 三菱電機インフォメーションシステムズ株式会社 セキュリティ対策基準作成支援システム及びプログラム及びセキュリティ対策基準作成支援方法
JP6171385B2 (ja) * 2013-02-15 2017-08-02 オムロン株式会社 コントローラおよび情報処理装置
JP2014203116A (ja) * 2013-04-01 2014-10-27 株式会社東芝 遠方監視制御システム及び遠方監視制御方法
US20150295944A1 (en) * 2013-07-01 2015-10-15 Hitachi, Ltd. Control system, control method, and controller
JP2015200971A (ja) * 2014-04-04 2015-11-12 富士電機株式会社 改竄検知機能を備えた制御システム
JP6402577B2 (ja) * 2014-10-16 2018-10-10 株式会社リコー 情報処理システム、情報処理装置、設定判断方法およびプログラム
US10205733B1 (en) * 2015-06-17 2019-02-12 Mission Secure, Inc. Cyber signal isolator
JP6633373B2 (ja) * 2015-12-03 2020-01-22 株式会社東芝 制御装置
WO2018048351A1 (en) * 2016-09-07 2018-03-15 Singapore University Of Technology And Design Defense system and method against cyber-physical attacks
JP6812737B2 (ja) * 2016-10-07 2021-01-13 オムロン株式会社 演算装置および制御装置
US10848397B1 (en) * 2017-03-30 2020-11-24 Fireeye, Inc. System and method for enforcing compliance with subscription requirements for cyber-attack detection service
US10671060B2 (en) * 2017-08-21 2020-06-02 General Electric Company Data-driven model construction for industrial asset decision boundary classification
JP7045288B2 (ja) * 2018-01-22 2022-03-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ データ解析装置、データ解析方法及びプログラム

Also Published As

Publication number Publication date
EP3889702A1 (en) 2021-10-06
US20210406367A1 (en) 2021-12-30
JP2020095672A (ja) 2020-06-18
EP3889702A4 (en) 2022-11-16
CN112673324A (zh) 2021-04-16

Similar Documents

Publication Publication Date Title
JP2013229053A (ja) 試験エンティティ、システムおよびデバイス試験実行方法
JP2023068023A (ja) コントローラシステム
EP3012701A1 (en) Apparatus and method for managing operator alertness and enhancing operator effectiveness for industrial control systems
WO2020166329A1 (ja) 制御システム
WO2020110876A1 (ja) コントローラシステム
JP7243326B2 (ja) コントローラシステム
US20200183340A1 (en) Detecting an undefined action in an industrial system
JP7180500B2 (ja) 制御システム、および設定方法
JP7016837B2 (ja) コントローラシステム
JP7255369B2 (ja) 制御システム
JP4529079B2 (ja) 制御システム
EP3885853A1 (en) I/o mesh architecture for a safety instrumented system
CN113518949B (zh) 控制器***
JP2023089019A (ja) サポート装置および設定プログラム
EP4369228A1 (en) Anomalous event aggregation for analysis and system response
JP7176455B2 (ja) 監視システム、設定装置および監視方法
US20220200875A1 (en) Communication monitoring system and communication monitoring method
JP7034885B2 (ja) 異常要因判定装置およびその表示装置
CN117792866A (zh) 操作技术网络中基于容器的数据收集和分析的***和方法
CN112417453A (zh) 自动化***安全装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230411

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231205

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240402

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240716