Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7571406B2 - Control system and control method - Google Patents
[go: Go Back, main page]

JP7571406B2 - Control system and control method - Google Patents

Control system and control method Download PDF

Info

Publication number
JP7571406B2
JP7571406B2 JP2020125540A JP2020125540A JP7571406B2 JP 7571406 B2 JP7571406 B2 JP 7571406B2 JP 2020125540 A JP2020125540 A JP 2020125540A JP 2020125540 A JP2020125540 A JP 2020125540A JP 7571406 B2 JP7571406 B2 JP 7571406B2
Authority
JP
Japan
Prior art keywords
attack
unit
control
anomalies
control device
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.)
Active
Application number
JP2020125540A
Other languages
Japanese (ja)
Other versions
JP2022021756A (en
Inventor
徹 小河原
泰生 山本
泰久 渡辺
直樹 廣部
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
Priority to JP2020125540A priority Critical patent/JP7571406B2/en
Priority to PCT/JP2021/025436 priority patent/WO2022019106A1/en
Publication of JP2022021756A publication Critical patent/JP2022021756A/en
Application granted granted Critical
Publication of JP7571406B2 publication Critical patent/JP7571406B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

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)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、制御装置を含む制御システムにおけるセキュリティ機能に関する。 The present invention relates to a security function in a control system including a control device.

近年、工場などの製造現場では、マルウェアなどの被害が発生しており、PLC(プログラマブルロジックコントローラ)などの制御装置についてもセキュリティ対策が必要となっている。多層防御の考え方に従えば、工場内外を繋ぐインターフェイスおよび工場内のネットワークだけでなく、生産設備を構成する制御装置自体にもセキュリティ対策を実施する必要がある。 In recent years, factories and other manufacturing sites have been hit by malware and other attacks, making it necessary to implement security measures for control devices such as programmable logic controllers (PLCs). According to the concept of defense in depth, security measures must be implemented not only for interfaces connecting the inside and outside of the factory and the network within the factory, but also for the control devices themselves that make up the production equipment.

国際公開第2018/181253号(特許文献1)は、既存の製造システムに大幅な改変を加えることなく、製造システムにおける異常を検出する構成を開示する。 WO 2018/181253 (Patent Document 1) discloses a configuration for detecting anomalies in an existing manufacturing system without making significant modifications to the system.

国際公開第2018/181253号International Publication No. 2018/181253

特許文献1に開示される構成は、既存の製造システムにデータ分析装置などを追加するものであり、制御装置自体にセキュリティ対策を実施するものではない。また、特許文献1に開示される構成は、製造システムに異常があるか否かを判定するものであり、セキュリティ攻撃を受けた場合に、当該攻撃の種類を特定するような方法については開示されていない。 The configuration disclosed in Patent Document 1 adds a data analysis device to an existing manufacturing system, and does not implement security measures in the control device itself. In addition, the configuration disclosed in Patent Document 1 determines whether there is an abnormality in the manufacturing system, and does not disclose a method for identifying the type of security attack in the event of such an attack.

本発明は、制御装置自体にセキュリティ対策を実施するとともに、何らかのセキュリティ攻撃を受けた場合に、当該セキュリティ攻撃の種類を特定することも可能な構成を提供することを一つの目的としている。 One of the objectives of the present invention is to provide a configuration that implements security measures for the control device itself and is also capable of identifying the type of security attack in the event of a security attack.

本発明のある局面に従う制御装置は、外部から入力される情報を取得する入力処理と、入力処理により取得された情報を参照して実行される制御演算と、制御演算によって算出された情報を外部へ出力する出力処理とを実行する処理実行部と、複数の検出対象の異常のうち発生した異常を検出する異常検出部とを含む。検出対象の異常の各々は、入力処理、制御演算および出力処理のいずれかに関連付けられている。制御装置は、特定の種類のセキュリティ攻撃に対応付けられた1または複数の異常を規定する攻撃パターン、を少なくとも1つ含むデータベースと、データベースに含まれるいずれかの攻撃パターンが規定する1または複数の異常と、異常検出部により検出された1または複数の異常とが一致すると、当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けていると特定する攻撃特定部とを含む。 A control device according to an aspect of the present invention includes a process execution unit that executes an input process for acquiring information input from the outside, a control calculation that is executed with reference to the information acquired by the input process, and an output process for outputting information calculated by the control calculation to the outside, and an anomaly detection unit that detects an anomaly that has occurred among a plurality of detection target anomalies. Each of the detection target anomalies is associated with one of the input process, the control calculation, and the output process. The control device includes a database that includes at least one attack pattern that specifies one or more anomalies associated with a specific type of security attack, and an attack identification unit that, when one or more anomalies specified by any of the attack patterns included in the database match one or more anomalies detected by the anomaly detection unit, identifies that the control device is under a security attack of the type associated with the attack pattern.

この構成によれば、入力処理、制御演算および出力処理のいずれかで発生した異常を検出するとともに、検出された1または複数の異常と予め用意された攻撃パターンが規定する1または複数の異常とが一致するか否かを判断することで、当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けていることを特定できる。これによって、セキュリティ攻撃を受けていることを検出できるとともに、当該受けているセキュリティ攻撃の種類も特定できる。 According to this configuration, by detecting an abnormality that occurs in any of the input processing, control calculation, and output processing, and determining whether or not one or more detected abnormalities match one or more abnormalities defined by a pre-prepared attack pattern, it is possible to identify that a security attack of a type associated with the attack pattern is occurring. This makes it possible to detect that a security attack is occurring, and also to identify the type of security attack occurring.

処理実行部は、攻撃特定部により特定されたセキュリティ攻撃の種類に応じて、対応するセキュリティ対策に応じた動作してもよい。この構成によれば、特定されたセキュリティ攻撃の種類に応じて、適切なセキュリティ対策を実施できる。 The processing execution unit may operate according to a corresponding security measure depending on the type of security attack identified by the attack identification unit. With this configuration, appropriate security measures can be implemented depending on the type of security attack identified.

対応するセキュリティ対策に応じた動作は、制御演算の実行内容を異ならせることを含んでいてもよい。この構成によれば、制御演算の実行内容を異ならせることで、適切なセキュリティ対策を実現できる。 The operation according to the corresponding security measure may include changing the execution content of the control calculation. With this configuration, appropriate security measures can be realized by changing the execution content of the control calculation.

対応するセキュリティ対策に応じた動作は、出力処理による出力を制限することを含んでいてもよい。この構成によれば、出力処理による出力を制限することで、適切なセキュリティ対策を実現できる。 The operation according to the corresponding security measure may include restricting the output by the output process. With this configuration, appropriate security measures can be implemented by restricting the output by the output process.

攻撃特定部は、予め定められた時間内に検出された1または複数の異常を、攻撃パターンが規定する1または複数の異常と比較してもよい。この構成によれば、セキュリティ攻撃を受けているか否かをより高い精度で検出できる。 The attack identification unit may compare one or more anomalies detected within a predetermined time period with one or more anomalies defined by an attack pattern. This configuration makes it possible to detect with higher accuracy whether or not a security attack is occurring.

制御装置は、攻撃特定部により特定されたセキュリティ攻撃の種類の情報を、制御装置以外の装置へ通知する通知部をさらに含んでいてもよい。この構成によれば、システム全体におけるセキュリティ攻撃の発生状況を把握でき、より適切なセキュリティ対策を実施できる。 The control device may further include a notification unit that notifies devices other than the control device of information on the type of security attack identified by the attack identification unit. With this configuration, it is possible to grasp the occurrence status of security attacks in the entire system, and to implement more appropriate security measures.

制御装置は、データベースに含まれるいずれかの攻撃パターンが規定する1または複数の異常と、異常検出部により検出された1または複数の異常との一致度合いに基づいて、当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けているか否かを推定する攻撃推定部をさらに含んでいてもよい。この構成によれば、攻撃パターンが規定する1または複数の異常と全く一致しなくても、ある程度の類似性が認められるような場合には、セキュリティ攻撃を受けていると決定できるとともに、当該受けているセキュリティ攻撃の種類も推定できる。 The control device may further include an attack estimation unit that estimates whether or not a security attack of a type associated with an attack pattern is occurring based on the degree of match between one or more anomalies defined by one of the attack patterns included in the database and one or more anomalies detected by the anomaly detection unit. With this configuration, even if there is no match at all with one or more anomalies defined by the attack pattern, if a certain degree of similarity is recognized, it is possible to determine that a security attack is occurring and to estimate the type of security attack occurring.

攻撃推定部は、予め定められた時間内に検出された1または複数の異常を、攻撃パターンが規定する1または複数の異常と比較してもよい。この構成によれば、セキュリティ攻撃を受けているか否かをより高い精度で検出できる。 The attack estimation unit may compare one or more anomalies detected within a predetermined time period with one or more anomalies defined by an attack pattern. This configuration makes it possible to detect with higher accuracy whether or not a security attack is occurring.

制御装置は、攻撃推定部により推定されたセキュリティ攻撃の種類の情報を、制御装置以外の装置へ通知する通知部をさらに含んでいてもよい。この構成によれば、システム全体におけるセキュリティ攻撃の発生状況を把握でき、より適切なセキュリティ対策を実施できる。 The control device may further include a notification unit that notifies devices other than the control device of information on the type of security attack estimated by the attack estimation unit. With this configuration, it is possible to grasp the occurrence status of security attacks in the entire system, and more appropriate security measures can be implemented.

サポート装置からの設定に従って、攻撃パターンおよび検出対象の異常の少なくとも一方が決定されてもよい。この構成によれば、ユーザは、サポート装置上で攻撃パターンおよび検出対象の異常の設定を含む各種設定を自由に行うことができる。 At least one of the attack pattern and the abnormality to be detected may be determined according to the settings from the support device. With this configuration, the user can freely configure various settings, including the attack pattern and the abnormality to be detected, on the support device.

本発明の別の局面に従う制御方法は、外部から入力される情報を取得する入力処理と、入力処理により取得された情報を参照して実行される制御演算と、制御演算によって算出された情報を外部へ出力する出力処理とを実行するステップと、複数の検出対象の異常のうち発生した異常を検出するステップとを含む。検出対象の異常の各々は、入力処理、制御演算および出力処理のいずれかに関連付けられている。制御方法は、特定の種類のセキュリティ攻撃に対応付けられた1または複数の異常を規定する攻撃パターン、を少なくとも1つ含むデータベースを参照して、データベースに含まれるいずれかの攻撃パターンが規定する1または複数の異常と、検出された1または複数の異常とが一致するか否かを判断するステップと、当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けていると特定するステップとを含む。 A control method according to another aspect of the present invention includes the steps of executing an input process for acquiring information input from the outside, a control calculation for executing a control process with reference to the information acquired by the input process, and an output process for outputting information calculated by the control calculation to the outside, and a step of detecting an abnormality that has occurred among a plurality of detection target abnormalities. Each of the detection target abnormalities is associated with any of the input process, the control calculation, and the output process. The control method includes the steps of referring to a database including at least one attack pattern that specifies one or more abnormalities associated with a specific type of security attack, and determining whether the one or more detected abnormalities match one or more abnormalities specified by any of the attack patterns included in the database, and identifying that the type of security attack associated with the attack pattern is occurring.

本発明のさらに別の局面に従う制御プログラムは、コンピュータに、外部から入力される情報を取得する入力処理と、入力処理により取得された情報を参照して実行される制御演算と、制御演算によって算出された情報を外部へ出力する出力処理とを実行するステップと、複数の検出対象の異常のうち発生した異常を検出するステップとを実行させる。検出対象の異常の各々は、入力処理、制御演算および出力処理のいずれかに関連付けられている。制御プログラムは、コンピュータに、特定の種類のセキュリティ攻撃に対応付けられた1または複数の異常を規定する攻撃パターン、を少なくとも1つ含むデータベースを参照して、データベースに含まれるいずれかの攻撃パターンが規定する1または複数の異常と、検出された1または複数の異常とが一致するか否かを判断するステップと、当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けていると特定するステップとを実行させる。 A control program according to yet another aspect of the present invention causes a computer to execute the steps of: an input process for acquiring information input from the outside; a control calculation for executing a control process by referring to the information acquired by the input process; and an output process for outputting information calculated by the control calculation to the outside; and a step of detecting an abnormality that has occurred among a plurality of detection target abnormalities. Each of the detection target abnormalities is associated with one of the input process, the control calculation, and the output process. The control program causes the computer to execute the steps of referring to a database including at least one attack pattern that specifies one or more abnormalities associated with a specific type of security attack, and determining whether the one or more detected abnormalities match one or more abnormalities specified by any of the attack patterns included in the database, and identifying that the computer is under a security attack of the type associated with the attack pattern.

本発明によれば、制御装置自体にセキュリティ対策を実施するとともに、何らかのセキュリティ攻撃を受けた場合に、当該セキュリティ攻撃の種類を特定することが可能になる。 The present invention makes it possible to implement security measures for the control device itself, and to identify the type of security attack if one occurs.

本実施の形態に係る制御システムの適用例を示す模式図である。FIG. 1 is a schematic diagram showing an application example of a control system according to an embodiment of the present invention. 本実施の形態に係る制御システムの構成例を示す模式図である。FIG. 1 is a schematic diagram showing a configuration example of a control system according to an embodiment of the present invention. 本実施の形態に係る制御システムを構成する制御装置のハードウェア構成例を示す模式図である。2 is a schematic diagram illustrating an example of a hardware configuration of a control device that constitutes the control system according to the present embodiment. FIG. 本実施の形態に係る制御装置の異常検出部により検出される異常の内容例を示す図である。5 is a diagram showing an example of the contents of an abnormality detected by an abnormality detection unit of the control device according to the present embodiment. FIG. 本実施の形態に係る制御装置の異常検出部のより詳細な機能構成例を示す模式図である。4 is a schematic diagram showing a more detailed functional configuration example of an abnormality detection unit of the control device according to the present embodiment. FIG. 本実施の形態に係る制御装置の攻撃特定部のより詳細な機能構成例を示す模式図である。13 is a schematic diagram showing a more detailed example of the functional configuration of an attack identification unit of the control device according to the present embodiment. FIG. 本実施の形態に係る制御装置の攻撃パターンデータベースの一例を説明するための図である。4 is a diagram for explaining an example of an attack pattern database of the control device according to the present embodiment; FIG. 本実施の形態に係る制御システムにおける処理手順を示すフローチャートである。4 is a flowchart showing a processing procedure in the control system according to the present embodiment. 本実施の形態に係る制御システムにおける攻撃特定結果の利用例を示す模式図である。FIG. 13 is a schematic diagram showing an example of how an attack identification result is used in the control system according to the present embodiment. 本実施の形態に係る制御システムにおけるセキュリティ対策テーブルの一例を示す図である。FIG. 4 is a diagram showing an example of a security countermeasure table in the control system according to the present embodiment. 本実施の形態に係る攻撃監視部を含むネットワーク中継装置の一例を示す模式図である。1 is a schematic diagram showing an example of a network relay device including an attack monitoring unit according to an embodiment of the present invention; 本実施の形態に係る制御システムにおけるセキュリティ対策テーブルの一例を示す図である。FIG. 4 is a diagram showing an example of a security countermeasure table in the control system according to the present embodiment. 本実施の形態に係る制御装置の攻撃推定部のより詳細な機能構成例を示す模式図である。13 is a schematic diagram showing a more detailed example of the functional configuration of an attack estimation unit of the control device according to the present embodiment. FIG. 本実施の形態に係る制御装置における特定精度/推定精度を向上させるための機能構成例を示す模式図である。1 is a schematic diagram showing an example of a functional configuration for improving the identification accuracy/estimation accuracy in a control device according to the present embodiment; 本実施の形態に係る制御システムにおける攻撃特定結果の通知に着目した構成例を示す模式図である。1 is a schematic diagram showing a configuration example focusing on notification of an attack identification result in a control system according to an embodiment of the present invention. FIG. 本実施の形態に係る制御システムにおけるサポート装置に着目した構成例を示す模式図である。FIG. 2 is a schematic diagram showing a configuration example focusing on a support device in the control system according to the present embodiment. 本実施の形態に係る制御システムにおけるサポート装置により設定される異常検出設定173の一例を示す図である。A figure showing an example of abnormality detection setting 173 set by a support device in the control system of this embodiment.

本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。 The embodiment of the present invention will be described in detail with reference to the drawings. Note that the same or equivalent parts in the drawings will be given the same reference numerals and their description will not be repeated.

<A.適用例>
本発明が適用される場面の一例について説明する。
<A. Application Examples>
An example of a situation in which the present invention is applied will be described.

図1は、本実施の形態に係る制御システム1の適用例を示す模式図である。図1には、本実施の形態に係る制御システム1を構成する制御装置100の機能構成例を示す。 Figure 1 is a schematic diagram showing an application example of a control system 1 according to the present embodiment. Figure 1 shows an example of the functional configuration of a control device 100 that constitutes the control system 1 according to the present embodiment.

図1を参照して、制御装置100は、制御対象を制御するための機能構成として、処理実行部130を含む。処理実行部130は、入力部140と、制御部150と、出力部160とを含み、各部が提供する処理を繰り返し実行する。 Referring to FIG. 1, the control device 100 includes a process execution unit 130 as a functional configuration for controlling a control target. The process execution unit 130 includes an input unit 140, a control unit 150, and an output unit 160, and repeatedly executes the processes provided by each unit.

入力部140は、外部から入力される情報を取得する入力処理を実行する。より具体的には、入力部140は、フィールドデバイス300、表示操作端末400、管理サーバ500、および、ゲートウェイ600などの外部から入力される情報を取得して処理する。 The input unit 140 executes an input process to acquire information input from outside. More specifically, the input unit 140 acquires and processes information input from outside sources such as the field device 300, the display operation terminal 400, the management server 500, and the gateway 600.

制御部150は、入力部140により取得された情報を参照して、ユーザプログラムなどによって規定される制御演算を実行する。制御部150は、制御演算によって、外部へ出力すべき情報を算出あるいは生成する。 The control unit 150 refers to the information acquired by the input unit 140 and executes a control calculation defined by a user program or the like. The control unit 150 uses the control calculation to calculate or generate information to be output to the outside.

出力部160は、制御演算によって算出された情報を外部へ出力する出力処理を実行する。より具体的には、出力部160は、制御部150が算出あるいは生成した情報を、フィールドデバイス300、表示操作端末400、管理サーバ500、および、ゲートウェイ600などの外部へ出力する。 The output unit 160 executes an output process to output information calculated by the control calculation to the outside. More specifically, the output unit 160 outputs information calculated or generated by the control unit 150 to the outside, such as the field device 300, the display operation terminal 400, the management server 500, and the gateway 600.

このように、処理実行部130は、外部から入力される情報を取得する入力処理と、入力処理により取得された情報を参照して実行される制御演算と、制御演算によって算出された情報を外部へ出力する出力処理とを実行する。 In this way, the processing execution unit 130 executes an input process to acquire information input from the outside, a control calculation to be executed by referring to the information acquired by the input process, and an output process to output information calculated by the control calculation to the outside.

制御装置100は、制御対象を制御するための機能構成(入力部140、制御部150、出力部160)に加えて、セキュリティ機能を提供するための攻撃監視部170を含む。攻撃監視部170は、制御装置100に対するセキュリティ攻撃による異常を検出するとともに、当該検出された異常を生じさせたセキュリティ攻撃の種類などを特定する。なお、以下の説明においては、セキュリティ攻撃を単に「攻撃」と称することもある。 The control device 100 includes a functional configuration (input unit 140, control unit 150, output unit 160) for controlling the control target, as well as an attack monitoring unit 170 for providing security functions. The attack monitoring unit 170 detects anomalies caused by security attacks on the control device 100, and identifies the type of security attack that caused the detected anomaly. In the following description, a security attack may simply be referred to as an "attack."

より具体的には、攻撃監視部170は、異常検出部172と、攻撃特定部176とを含む。 More specifically, the attack monitoring unit 170 includes an anomaly detection unit 172 and an attack identification unit 176.

異常検出部172は、複数の検出対象の異常のうち発生した異常を検出する。より具体的には、異常検出部172は、入力部140、制御部150および出力部160の少なくとも1つから得られる情報に基づいて、制御装置100に異常が発生しているか否かを判断する。ここで、検出対象の異常の各々は、入力部140で実行される入力処理、制御部150で実行される制御演算、および出力部160で実行される出力処理のいずれかに関連付けられている。 The abnormality detection unit 172 detects an abnormality that has occurred among multiple detection target abnormalities. More specifically, the abnormality detection unit 172 determines whether or not an abnormality has occurred in the control device 100 based on information obtained from at least one of the input unit 140, the control unit 150, and the output unit 160. Here, each of the detection target abnormalities is associated with either the input process executed by the input unit 140, the control calculation executed by the control unit 150, or the output process executed by the output unit 160.

異常検出部172は、異常を検出すると、検出した異常の内容を示す情報として、発生異常データ174を記録する。 When the anomaly detection unit 172 detects an anomaly, it records the anomaly data 174 as information indicating the content of the detected anomaly.

攻撃特定部176は、攻撃パターンデータベース178を参照して、異常検出部172が記録した発生異常データ174に基づいて、攻撃を受けているか否かを判断するとともに、受けている攻撃の種類を特定する。 The attack identification unit 176 refers to the attack pattern database 178 and determines whether or not an attack is occurring based on the anomaly data 174 recorded by the anomaly detection unit 172, and identifies the type of attack that is occurring.

攻撃パターンデータベース178は、特定の種類のセキュリティ攻撃に対応付けられた1または複数の異常を規定する攻撃パターンを少なくとも1つ含む。 The attack pattern database 178 includes at least one attack pattern that defines one or more anomalies associated with a particular type of security attack.

攻撃特定部176は、攻撃を受けていると判断すると、特定した攻撃の種類の情報を含む攻撃特定結果180を出力する。より具体的には、攻撃特定部176は、攻撃パターンデータベース178に含まれるいずれかの攻撃パターンが規定する1または複数の異常と、異常検出部172により検出された1または複数の異常とが一致すると、当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けていると特定する。 When the attack identification unit 176 determines that an attack is occurring, it outputs an attack identification result 180 including information on the type of attack that has been identified. More specifically, when one or more anomalies defined by any of the attack patterns included in the attack pattern database 178 match one or more anomalies detected by the anomaly detection unit 172, the attack identification unit 176 determines that a security attack of the type associated with that attack pattern is occurring.

攻撃特定結果180は、制御装置100が特定された攻撃に応じて挙動を異ならせるために用いてもよいし、必要なセキュリティ対策を決定するために事後的に解析されてもよい。 The attack identification results 180 may be used by the control device 100 to vary its behavior depending on the identified attack, or may be analyzed after the fact to determine necessary security measures.

図1に示すように、本実施の形態に係る制御装置100は、入力部140、制御部150および出力部160のそれぞれにおける情報を組合せて参照することで、制御装置100への攻撃を検出するとともに、検出された攻撃の種類を特定できる。 As shown in FIG. 1, the control device 100 according to this embodiment can detect attacks on the control device 100 and identify the type of attack detected by combining and referring to information in the input unit 140, the control unit 150, and the output unit 160.

<B.ハードウェア構成例>
まず、本実施の形態に係る制御システム1のハードウェア構成例について説明する。
<B. Hardware Configuration Example>
First, an example of a hardware configuration of a control system 1 according to the present embodiment will be described.

(b1:システム構成例)
図2は、本実施の形態に係る制御システム1の構成例を示す模式図である。図2を参照して、制御システム1は、制御装置100と、サポート装置200と、表示操作端末400と、管理サーバ500と、ゲートウェイ600とを含む。
(b1: System configuration example)
2 is a schematic diagram showing a configuration example of a control system 1 according to the present embodiment. Referring to FIG. 2, the control system 1 includes a control device 100, a support device 200, a display operation terminal 400, a management server 500, and a gateway 600.

図2に示す構成例において、制御装置100は、ネットワークに接続されている。より具体的には、制御装置100は、上位ネットワーク10を介して、表示操作端末400および管理サーバ500が接続されている。上位ネットワーク10は、ゲートウェイ600を介して、インターネットに接続されている。また、制御装置100は、1または複数のフィールドネットワーク20を介して、1または複数のフィールドデバイス300が接続されている。 In the configuration example shown in FIG. 2, the control device 100 is connected to a network. More specifically, the control device 100 is connected to a display operation terminal 400 and a management server 500 via a higher-level network 10. The higher-level network 10 is connected to the Internet via a gateway 600. In addition, the control device 100 is connected to one or more field devices 300 via one or more field networks 20.

(b2:制御装置100)
図3は、本実施の形態に係る制御システム1を構成する制御装置100のハードウェア構成例を示す模式図である。図3を参照して、制御装置100は、コンピュータの一例であり、主たるコンポーネントとして、CPU(Central Processing Unit)やGPU(Graphical Processing Unit)などのプロセッサ102と、チップセット104と、主記憶装置106と、二次記憶装置108と、USB(Universal Serial Bus)コントローラ112と、メモリカードインターフェイス114と、ネットワークコントローラ116,118と、内部バスコントローラ122とを含む。
(b2: control device 100)
Fig. 3 is a schematic diagram showing an example of a hardware configuration of a control device 100 constituting the control system 1 according to the present embodiment. Referring to Fig. 3, the control device 100 is an example of a computer, and includes, as main components, a processor 102 such as a CPU (Central Processing Unit) or a GPU (Graphical Processing Unit), a chipset 104, a main memory device 106, a secondary memory device 108, a USB (Universal Serial Bus) controller 112, a memory card interface 114, network controllers 116 and 118, and an internal bus controller 122.

プロセッサ102は、二次記憶装置108に格納された各種プログラムを読み出して、主記憶装置106に展開して実行することで、制御装置100が本来的に提供する制御機能に加えて、後述するような各種処理を実現する。チップセット104は、プロセッサ102と各コンポーネントとの間のデータの遣り取りを仲介する。 The processor 102 reads various programs stored in the secondary storage device 108, expands them in the main storage device 106, and executes them to realize various processes described below in addition to the control functions originally provided by the control device 100. The chipset 104 mediates the exchange of data between the processor 102 and each component.

二次記憶装置108には、制御プログラムに相当するシステムプログラム110に加えて、ユーザプログラムなどの各種プログラムが格納される。 The secondary storage device 108 stores various programs such as user programs in addition to a system program 110, which corresponds to a control program.

USBコントローラ112は、USB接続を介して、サポート装置200との間のデータの遣り取りを担当する。 The USB controller 112 is responsible for exchanging data with the support device 200 via the USB connection.

メモリカードインターフェイス114は、メモリカード115が着脱可能になっており、メモリカード115に対してシステムプログラム110や各種設定などのデータを書込み、あるいは、メモリカード115からシステムプログラム110や各種設定などのデータを読出すことが可能になっている。 The memory card interface 114 allows the memory card 115 to be attached and detached, and makes it possible to write data such as the system program 110 and various settings to the memory card 115, or to read data such as the system program 110 and various settings from the memory card 115.

ネットワークコントローラ116,118の各々は、ネットワークを介した任意のデバイスとの間のデータの遣り取りを担当する。例えば、ネットワークコントローラ116は、上位ネットワーク10を介した通信を担当し、ネットワークコントローラ118は、フィールドネットワーク20を介した通信を担当する。ネットワークコントローラ116,118は、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などの産業用ネットワークプロトコルを採用してもよい。 Each of the network controllers 116 and 118 is responsible for exchanging data with any device via the network. For example, the network controller 116 is responsible for communication via the upper network 10, and the network controller 118 is responsible for communication via the field network 20. The network controllers 116 and 118 may employ industrial network protocols such as EtherCAT (registered trademark), EtherNet/IP (registered trademark), DeviceNet (registered trademark), and CompoNet (registered trademark).

内部バスコントローラ122は、図示しない1または複数の機能ユニット(ローカルデバイス)との間のデータの遣り取りを担当する。内部バスには、メーカ固有の通信プロトコルを用いてもよいし、いずれかの産業用ネットワークプロトコルと同一あるいは準拠した通信プロトコルを用いてもよい。 The internal bus controller 122 is responsible for exchanging data with one or more functional units (local devices) (not shown). The internal bus may use a manufacturer-specific communication protocol, or a communication protocol that is the same as or conforms to any industrial network protocol.

図3には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、制御装置100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。 Although FIG. 3 shows an example of a configuration in which the processor 102 executes a program to provide the necessary functions, some or all of these provided functions may be implemented using a dedicated hardware circuit (e.g., an ASIC (Application Specific Integrated Circuit) or an FPGA (Field-Programmable Gate Array)). Alternatively, the main part of the control device 100 may be realized using hardware that follows a general-purpose architecture (e.g., an industrial PC based on a general-purpose PC). In this case, virtualization technology may be used to run multiple OSs (operating systems) with different uses in parallel, and necessary applications may be executed on each OS.

(b3:サポート装置200)
サポート装置200は、制御装置100で実行されるユーザプログラムの開発やメンテナンスなどに必要な機能を提供する。サポート装置200は、さらに、後述するような、制御装置100に実装されるセキュリティ機能の設定などを支援するための機能を提供する。
(b3: support device 200)
The support device 200 provides functions necessary for the development and maintenance of user programs executed by the control device 100. The support device 200 further provides functions for supporting the setting of security functions implemented in the control device 100, as will be described later.

サポート装置200は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いて実現される。 As an example, the support device 200 is realized using hardware that conforms to a general-purpose architecture (e.g., a general-purpose personal computer).

(b4:フィールドデバイス300)
フィールドデバイス300は、制御対象(フィールド)から情報を取得して制御装置100へ提供する機能、および/または、制御装置100で実行される制御演算によって算出される指令値(出力値)を制御対象へ提供する機能を有している。
(b4: field device 300)
The field device 300 has the function of acquiring information from the controlled object (field) and providing it to the control device 100, and/or the function of providing a command value (output value) calculated by a control calculation executed by the control device 100 to the controlled object.

フィールドデバイス300は、例えば、リモートI/Oターミナル、サーボドライバ・モータ、ロボットなどを含み得る。さらに、フィールドデバイス300は、センサ、温度調整ユニット、パルスカウンタユニット、モーションコントローラユニットなどの任意のデバイスを含み得る。 The field device 300 may include, for example, a remote I/O terminal, a servo driver/motor, a robot, etc. Furthermore, the field device 300 may include any device such as a sensor, a temperature adjustment unit, a pulse counter unit, a motion controller unit, etc.

リモートI/Oターミナルは、例えば、デジタル入力(DI)ユニット、デジタル出力(DO)ユニット、アナログ出力(AI)ユニット、アナログ出力(AO)ユニット、パルスキャッチ入力ユニット、および、複数の種類を混合させた複合ユニットなどを含み得る。 Remote I/O terminals may include, for example, digital input (DI) units, digital output (DO) units, analog output (AI) units, analog output (AO) units, pulse-catch input units, and composite units that combine multiple types.

(b5:表示操作端末400)
表示操作端末400は、制御装置100で実行される制御演算によって算出される各種情報をユーザへ提示するとともに、ユーザ操作に応じて、対応する指令を制御装置100へ出力する。
(b5: display operation terminal 400)
The display operation terminal 400 presents to the user various information calculated by the control calculations executed by the control device 100, and outputs corresponding commands to the control device 100 in response to user operations.

(b6:管理サーバ500)
管理サーバ500は、生産管理などに必要な情報を保持しており、予め定められた周期毎あるいはイベント毎に、必要な情報を制御装置100へ提供する。また、管理サーバ500は、制御装置100から送信される任意の情報を格納するとともに、検索クエリなどに応じて、要求された情報を応答する。
(b6: management server 500)
The management server 500 holds information necessary for production management and the like, and provides the necessary information to the control device 100 at predetermined intervals or for each event. The management server 500 also stores any information transmitted from the control device 100, and responds with requested information in response to a search query or the like.

(b7:ゲートウェイ600)
ゲートウェイ600は、上位ネットワーク10とインターネットとの間の通信に対して、セキュリティ対策を実施する。ゲートウェイ600としては、公知の構成を採用できる。
(b7: Gateway 600)
The gateway 600 implements security measures for communications between the upper network 10 and the Internet. The gateway 600 may have a known configuration.

<C.機能構成例>
次に、本実施の形態に係る制御システム1の機能構成例について説明する。
<C. Functional configuration example>
Next, an example of a functional configuration of the control system 1 according to the present embodiment will be described.

(c1:異常検出部)
図4は、本実施の形態に係る制御装置100の異常検出部172により検出される異常の内容例を示す図である。図4を参照して、異常検出部172は、入力部140において生じ得る入力異常、制御部150において生じ得る制御異常、出力部160において生じ得る出力異常を検出できる。
(c1: Abnormality detection unit)
4 is a diagram showing an example of the contents of an abnormality detected by abnormality detection unit 172 of control device 100 according to this embodiment. Referring to FIG. 4, abnormality detection unit 172 can detect an input abnormality that may occur in input unit 140, a control abnormality that may occur in control unit 150, and an output abnormality that may occur in output unit 160.

入力異常は、例えば、プロトコルに関する異常などからなる通信異常と、ファイルに関する異常などからなるファイル異常と、入出力信号に関する異常などからなるI/O異常とを含んでいてもよい。 The input abnormality may include, for example, a communication abnormality such as a protocol abnormality, a file abnormality such as a file abnormality, and an I/O abnormality such as an abnormality related to an input/output signal.

制御異常は、例えば、制御部150で実行される制御演算に関する異常などからなるシステム制御異常と、制御部150で実行される制御演算に利用されるハードウェアリソースに関する異常などからなるハードウェアリソース異常とを含んでいてもよい。 The control abnormality may include, for example, a system control abnormality consisting of an abnormality related to the control calculation executed by the control unit 150, and a hardware resource abnormality consisting of an abnormality related to the hardware resources used in the control calculation executed by the control unit 150.

出力異常は、データ送信に関する異常などからなる通信異常と、入出力信号に関する異常などからなるI/O異常とを含んでいてもよい。 Output abnormalities may include communication abnormalities, such as abnormalities related to data transmission, and I/O abnormalities, such as abnormalities related to input/output signals.

制御装置100が制御対象を適切に制御できない場合には、入力部140、制御部150および出力部160のいずれかにおいて、図4に示すいずれかの異常が発生していると考えられる。 When the control device 100 cannot properly control the controlled object, it is considered that one of the abnormalities shown in FIG. 4 has occurred in the input unit 140, the control unit 150, or the output unit 160.

なお、図4に示される異常は、一例であり、入力部140、制御部150および出力部160に生じ得る異常の分類や種類については、どのようなものであってもよい。 Note that the abnormality shown in FIG. 4 is an example, and any classification or type of abnormality may occur in the input unit 140, the control unit 150, and the output unit 160.

図5は、本実施の形態に係る制御装置100の異常検出部172のより詳細な機能構成例を示す模式図である。図5を参照して、異常検出部172は、発生異常データ174を記録するための異常記録部1730を含む。 Figure 5 is a schematic diagram showing a more detailed functional configuration example of the abnormality detection unit 172 of the control device 100 according to this embodiment. With reference to Figure 5, the abnormality detection unit 172 includes an abnormality recording unit 1730 for recording the generated abnormality data 174.

異常記録部1730は、入力異常を検出する機能構成として、入力異常検出部1720と、制御異常を検出する機能構成として、制御異常検出部1724と、出力異常を検出する機能構成として、出力異常検出部1727とを含む。異常記録部1730は、入力異常検出部1720と、制御異常検出部1724と、出力異常検出部1727とから検出信号を受け付ける。 The abnormality recording unit 1730 includes an input abnormality detection unit 1720 as a functional configuration for detecting input abnormalities, a control abnormality detection unit 1724 as a functional configuration for detecting control abnormalities, and an output abnormality detection unit 1727 as a functional configuration for detecting output abnormalities. The abnormality recording unit 1730 receives detection signals from the input abnormality detection unit 1720, the control abnormality detection unit 1724, and the output abnormality detection unit 1727.

入力異常検出部1720は、通信異常を検出する通信異常検出部1721と、ファイル異常を検出するファイル異常検出部1722と、I/O異常を検出するI/O異常検出部1723とから検出信号を受け付ける。 The input abnormality detection unit 1720 receives detection signals from a communication abnormality detection unit 1721 that detects communication abnormalities, a file abnormality detection unit 1722 that detects file abnormalities, and an I/O abnormality detection unit 1723 that detects I/O abnormalities.

制御異常検出部1724は、システム制御異常を検出するシステム制御異常検出部1725と、ハードウェアリソース異常を検出するハードウェアリソース異常検出部1726とから検出信号を受け付ける。 The control abnormality detection unit 1724 receives detection signals from a system control abnormality detection unit 1725 that detects system control abnormalities and a hardware resource abnormality detection unit 1726 that detects hardware resource abnormalities.

出力異常検出部1727は、通信異常を検出する通信異常検出部1728と、I/O異常を検出するI/O異常検出部1729とから検出信号を受け付ける。 The output abnormality detection unit 1727 receives detection signals from a communication abnormality detection unit 1728 that detects communication abnormalities and an I/O abnormality detection unit 1729 that detects I/O abnormalities.

制御装置100の異常検出部172においては、通信異常検出部1721、ファイル異常検出部1722、I/O異常検出部1723、システム制御異常検出部1725、ハードウェアリソース異常検出部1726、通信異常検出部1728、および、I/O異常検出部1729の各々が担当する異常の発生を検出すると、その検出した異常を特定するための検出信号を出力する。それぞれの検出部から出力された検出信号は、集約されて、最終的に発生異常データ174として記録される。 In the abnormality detection unit 172 of the control device 100, when the communication abnormality detection unit 1721, the file abnormality detection unit 1722, the I/O abnormality detection unit 1723, the system control abnormality detection unit 1725, the hardware resource abnormality detection unit 1726, the communication abnormality detection unit 1728, and the I/O abnormality detection unit 1729 detect the occurrence of an abnormality for which they are responsible, they output a detection signal to identify the detected abnormality. The detection signals output from each detection unit are aggregated and finally recorded as occurred abnormality data 174.

図5に示す例では、通信異常検出部1721、システム制御異常検出部1725およびI/O異常検出部1729がそれぞれ異常を検出している。説明の便宜上、それぞれが検出した異常を「異常A」、「異常D」および「異常Z」と記載している。 In the example shown in FIG. 5, the communication anomaly detection unit 1721, the system control anomaly detection unit 1725, and the I/O anomaly detection unit 1729 each detect an anomaly. For ease of explanation, the anomalies detected by each are described as "anomaly A," "anomaly D," and "anomaly Z."

発生異常データ174は、例えば、それぞれの検出部が検出する異常の内容(異常項目)毎に発生の有無を対応付けたテーブル形式で構成してもよい。図5に示す例では、発生異常データ174においては、「異常A」、「異常D」および「異常Z」に対応する発生の項目に「○」が記録されており、それ以外の項目には「-」が記録されている。 The generated anomaly data 174 may be configured in a table format that associates the occurrence or nonoccurrence of each type of anomaly (anomaly item) detected by each detection unit. In the example shown in FIG. 5, the generated anomaly data 174 records "○" in the occurrence items corresponding to "Abnormality A," "Abnormality D," and "Abnormality Z," and records "-" in the other items.

発生異常データ174は、検出された異常の内容(異常項目)のみを格納するリスト形式で構成してもよい。図5に示す例では、「異常A」、「異常D」および「異常Z」の3つのエントリを含むリストを発生異常データ174として出力するようにしてもよい。 The occurring anomaly data 174 may be configured in a list format that stores only the contents of the detected anomaly (anomaly item). In the example shown in FIG. 5, a list including three entries, "Abnormality A," "Abnormality D," and "Abnormality Z," may be output as the occurring anomaly data 174.

発生異常データ174は、予め定められた周期毎(例えば、制御周期毎)に生成あるいは更新されてもよいし、いずれかの検出部が異常の発生を検出したときに限って、生成あるいは更新されてもよい。 The abnormality data 174 may be generated or updated at a predetermined interval (e.g., at each control cycle), or may be generated or updated only when any of the detection units detects the occurrence of an abnormality.

(c2:攻撃特定部)
図6は、本実施の形態に係る制御装置100の攻撃特定部176のより詳細な機能構成例を示す模式図である。図6を参照して、攻撃特定部176は、攻撃パターンデータベース178を参照して、異常検出部172が記録した発生異常データ174に基づいて、攻撃を受けているか否かを判断するとともに、受けている攻撃の種類を特定する。
(c2: Attack Identification Unit)
6 is a schematic diagram showing a more detailed functional configuration example of the attack identification unit 176 of the control device 100 according to the present embodiment. With reference to Fig. 6, the attack identification unit 176 refers to an attack pattern database 178, and determines whether or not an attack is occurring based on the occurred anomaly data 174 recorded by the anomaly detection unit 172, and identifies the type of attack occurring.

より具体的には、攻撃特定部176は、攻撃パターン取得部1760および比較部1762を含む。 More specifically, the attack identification unit 176 includes an attack pattern acquisition unit 1760 and a comparison unit 1762.

攻撃パターン取得部1760は、攻撃パターンデータベース178に登録されている攻撃パターンを一件ずつ取り出して、比較部1762へ供給する。攻撃パターンデータベース178は、1または複数の異常の内容(異常項目)の組合せによって、受けている攻撃の種類(攻撃パターン)を定義する。すなわち、検出される攻撃(攻撃パターン)は、入力部140、制御部150および出力部160のいずれかで検出された異常の1または複数の組合せに関連付けて規定されている。 The attack pattern acquisition unit 1760 retrieves the attack patterns registered in the attack pattern database 178 one by one and supplies them to the comparison unit 1762. The attack pattern database 178 defines the type of attack (attack pattern) received by a combination of one or more anomaly contents (anomaly items). In other words, the detected attack (attack pattern) is defined in association with one or more combinations of anomalies detected by any of the input unit 140, the control unit 150, and the output unit 160.

比較部1762は、攻撃パターン取得部1760が提供する攻撃パターンと、発生異常データ174とを比較して、発生異常データ174がいずれかの攻撃パターンと一致するか否かを判断する。比較部1762は、発生異常データ174がいずれかの攻撃パターンと一致すれば、当該一致した攻撃パターンが示す種類の攻撃を受けていると特定する。 The comparison unit 1762 compares the attack pattern provided by the attack pattern acquisition unit 1760 with the occurring anomaly data 174 to determine whether the occurring anomaly data 174 matches any of the attack patterns. If the occurring anomaly data 174 matches any of the attack patterns, the comparison unit 1762 determines that the system is under attack of the type indicated by the matching attack pattern.

例えば、図6に示す例では、発生異常データ174は「攻撃パターン3」と一致することになるので、「攻撃パターン3」が示す種類の攻撃を受けていると特定できる。 For example, in the example shown in FIG. 6, the abnormality data 174 matches "attack pattern 3," so it can be determined that the type of attack indicated by "attack pattern 3" has occurred.

図7は、本実施の形態に係る制御装置100の攻撃パターンデータベース178の一例を説明するための図である。図7を参照して、攻撃パターンデータベース178は、例えば、なりすまし攻撃、DoS攻撃およびDDoS攻撃などの攻撃について、対応する異常の組合せを規定する。 Figure 7 is a diagram for explaining an example of the attack pattern database 178 of the control device 100 according to this embodiment. With reference to Figure 7, the attack pattern database 178 specifies combinations of anomalies corresponding to attacks such as spoofing attacks, DoS attacks, and DDoS attacks.

より具体的には、なりすまし攻撃は、不正コマンド受信(入力異常の通信異常)と、特定処理の時間異常(制御異常のシステム制御異常)とが同時に検出された場合に対応する。 More specifically, a spoofing attack occurs when the receipt of an unauthorized command (a communication anomaly caused by an input abnormality) and a timing anomaly in a specific process (a system control anomaly caused by a control abnormality) are detected simultaneously.

DoS攻撃は、トラフィック過剰(入力異常の通信異常)と、CPU負荷率過剰(制御異常のハードウェアリソース異常)とが同時に検出された場合に対応する。 A DoS attack occurs when excessive traffic (communication abnormality due to input abnormality) and excessive CPU load (hardware resource abnormality due to control abnormality) are detected simultaneously.

DDoS攻撃は、送信元異常(入力異常の通信異常)と、トラフィック過剰(入力異常の通信異常)と、CPU負荷率過剰(制御異常のハードウェアリソース異常)とが同時に検出された場合に対応する。 A DDoS attack occurs when a source anomaly (communication anomaly due to input anomaly), excessive traffic (communication anomaly due to input anomaly), and excessive CPU load (hardware resource anomaly due to control anomaly) are detected simultaneously.

なお、図7に示す各攻撃パターンに対する異常の組合せは一例であり、図示しないどのような攻撃パターンについて定義してもよいし、各攻撃パターンに対応付けられる異常の組合せはどのようなものであってもよい。また、図7に示す攻撃パターンについても、別の異常の組合せを採用してもよい。 Note that the combinations of anomalies for each attack pattern shown in FIG. 7 are just examples, and any attack pattern not shown may be defined, and any combination of anomalies may be associated with each attack pattern. Also, for the attack patterns shown in FIG. 7, other combinations of anomalies may be used.

<D.処理手順>
次に、本実施の形態に係る制御システム1における処理手順について説明する。
D. Processing Procedure
Next, a process procedure in the control system 1 according to the present embodiment will be described.

図8は、本実施の形態に係る制御システム1における処理手順を示すフローチャートである。図8に示す各ステップは、典型的には、制御装置100のプロセッサ102が二次記憶装置108に格納されたてシステムプログラム110を読み出して、主記憶装置106に展開して実行することで実現されてもよい。 Figure 8 is a flowchart showing the processing procedure in the control system 1 according to this embodiment. Typically, each step shown in Figure 8 may be realized by the processor 102 of the control device 100 reading the system program 110 stored in the secondary storage device 108, extracting it into the main storage device 106, and executing it.

図8を参照して、制御装置100は、制御周期が到来したか否かを判断する(ステップS2)。制御周期が到来していれば(ステップS2においてYES)、制御装置100は、ローカルデバイスおよび/またはフィールドデバイスを介して制御対象に関する情報の取得などを含む入力処理を実行する(ステップS4)。続いて、制御装置100は、取得した制御装置に関する情報を用いて、制御演算を実行する(ステップS6)。さらに、制御装置100は、制御演算の実行により出力される演算結果をローカルデバイスおよび/またはフィールドデバイスを介した制御対象へ出力することなどを含む出力処理を実行する(ステップS8)。 Referring to FIG. 8, the control device 100 determines whether a control period has arrived (step S2). If a control period has arrived (YES in step S2), the control device 100 executes input processing including obtaining information about the control target via a local device and/or a field device (step S4). Next, the control device 100 executes a control calculation using the obtained information about the control device (step S6). Furthermore, the control device 100 executes output processing including outputting the calculation results output by the execution of the control calculation to the control target via a local device and/or a field device (step S8).

ステップS2~S8に示すように、制御装置100は、外部から入力される情報を取得する入力処理と、入力処理により取得された情報を参照して実行される制御演算と、制御演算によって算出された情報を外部へ出力する出力処理とを実行する。 As shown in steps S2 to S8, the control device 100 executes an input process to acquire information input from the outside, a control calculation that is executed by referring to the information acquired by the input process, and an output process that outputs information calculated by the control calculation to the outside.

続いて、制御装置100は、異常検出周期が到来したか否かを判断する(ステップS10)。異常検出周期が到来していなければ(ステップS10においてNO)、ステップS2以下の処理が繰り返される。 Next, the control device 100 determines whether the abnormality detection period has arrived (step S10). If the abnormality detection period has not arrived (NO in step S10), the process from step S2 onward is repeated.

異常検出周期が到来していれば(ステップS10においてYES)、制御装置100は、入力処理(入力部140)、制御演算(制御部150)および出力処理(出力部160)のいずれかに異常が発生しているか否かを判断する(ステップS12)。 If the abnormality detection period has arrived (YES in step S10), the control device 100 determines whether an abnormality has occurred in any of the input processing (input unit 140), control calculation (control unit 150), and output processing (output unit 160) (step S12).

入力処理(入力部140)、制御演算(制御部150)および出力処理(出力部160)のいずれかに異常が発生していれば(ステップS12においてYES)、制御装置100は、発生している異常を検出し(ステップS14)、発生異常データ174として記録する(ステップS16)。すなわち、制御装置100は、複数の検出対象の異常のうち発生した異常を検出する処理を実行する。 If an abnormality occurs in any of the input processing (input unit 140), the control calculation (control unit 150), and the output processing (output unit 160) (YES in step S12), the control device 100 detects the abnormality that has occurred (step S14) and records it as the abnormality data 174 (step S16). That is, the control device 100 executes a process to detect the abnormality that has occurred among the multiple abnormalities to be detected.

なお、入力処理(入力部140)、制御演算(制御部150)および出力処理(出力部160)のいずれにも異常が発生していなければ(ステップS12においてNO)、ステップS2以下の処理が繰り返される。 If no abnormality occurs in any of the input process (input unit 140), control calculation (control unit 150), and output process (output unit 160) (NO in step S12), the processes from step S2 onwards are repeated.

制御装置100は、攻撃パターンデータベース178を参照して1つの攻撃パターンを取得し(ステップS18)、取得した攻撃パターンと記録した発生異常データ174とが一致するか否かを判断する(ステップS20)。すなわち、制御装置100は、特定の種類のセキュリティ攻撃に対応付けられた1または複数の異常を規定する攻撃パターン、を少なくとも1つ含む攻撃パターンデータベース178を参照して、攻撃パターンデータベース178に含まれるいずれかの攻撃パターンが規定する1または複数の異常と、検出された1または複数の異常とが一致するか否かを判断する。 The control device 100 refers to the attack pattern database 178 to acquire one attack pattern (step S18), and determines whether the acquired attack pattern matches the recorded occurring anomaly data 174 (step S20). That is, the control device 100 refers to the attack pattern database 178, which includes at least one attack pattern that specifies one or more anomalies associated with a specific type of security attack, and determines whether the detected one or more anomalies match one or more anomalies specified by any of the attack patterns included in the attack pattern database 178.

取得した攻撃パターンと記録した発生異常データ174とが一致すれば(ステップS20においてYES)、制御装置100は、取得した攻撃パターンが示す攻撃の種類の情報を含む攻撃特定結果180を出力する(ステップS22)。すなわち、制御装置100は、一致する攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けていると特定する。そして、ステップS2以下の処理が繰り返される。 If the acquired attack pattern matches the recorded anomaly data 174 (YES in step S20), the control device 100 outputs an attack identification result 180 including information on the type of attack indicated by the acquired attack pattern (step S22). In other words, the control device 100 identifies that the device is under a security attack of the type associated with the matching attack pattern. Then, the processing from step S2 onwards is repeated.

取得した攻撃パターンと記録した発生異常データ174とが一致しなければ(ステップS20においてNO)、制御装置100は、攻撃パターンデータベース178に含まれるすべての攻撃パターンの取得が完了したか否かを判断する(ステップS24)。攻撃パターンデータベース178に含まれるすべての攻撃パターンの取得が完了していなければ(ステップS24においてNO)、ステップS18以下の処理が繰り返される。 If the acquired attack pattern does not match the recorded occurrence anomaly data 174 (NO in step S20), the control device 100 judges whether acquisition of all attack patterns contained in the attack pattern database 178 has been completed (step S24). If acquisition of all attack patterns contained in the attack pattern database 178 has not been completed (NO in step S24), the processing from step S18 onwards is repeated.

攻撃パターンデータベース178に含まれるすべての攻撃パターンの取得が完了していていれば(ステップS24においてYES)、制御装置100は、攻撃を受けていないと判断し(ステップS26)、ステップS2以下の処理を繰り返す。 If acquisition of all attack patterns contained in the attack pattern database 178 has been completed (YES in step S24), the control device 100 determines that it is not under attack (step S26) and repeats the processing from step S2 onwards.

なお、図8には、制御周期および異常検出周期をそれぞれ独立に設定した処理例を示すが、これらは共通の周期としてもよい。例えば、制御周期としては1msec~数100msec程度の範囲に設定され、異常検出周期としては、数msec~数sec程度の範囲に設定されてもよい。 Note that while FIG. 8 shows a processing example in which the control period and the abnormality detection period are set independently, they may be set to a common period. For example, the control period may be set in the range of about 1 msec to several hundred msec, and the abnormality detection period may be set in the range of about several msec to several seconds.

<E.攻撃特定結果の利用例>
次に、出力される攻撃特定結果180の利用例について説明する。
<E. Examples of use of attack identification results>
Next, a usage example of the output attack identification result 180 will be described.

図9は、本実施の形態に係る制御システム1における攻撃特定結果180の利用例を示す模式図である。図9を参照して、制御装置100の攻撃監視部170は、攻撃を受けたことを検出すると、攻撃を受けているあるいは攻撃を受けたことを制御部150へ通知する。また、制御装置100の攻撃監視部170は、特定した攻撃の種類を制御部150へ通知してもよい。 Fig. 9 is a schematic diagram showing an example of the use of the attack identification result 180 in the control system 1 according to this embodiment. Referring to Fig. 9, when the attack monitoring unit 170 of the control device 100 detects an attack, it notifies the control unit 150 that it is under attack or has been attacked. In addition, the attack monitoring unit 170 of the control device 100 may notify the control unit 150 of the type of attack that has been identified.

制御部150は、攻撃監視部170からの通知に応じて、制御演算の挙動を異ならせてもよい。より具体的には、制御部150は、攻撃特定結果180の内容に応じて、セキュリティ対策を実施するようにしてもよい。制御部150がセキュリティ対策を実施するにあたって、制御部150はセキュリティ対策テーブル152を参照可能に構成されていてもよい。 The control unit 150 may change the behavior of the control calculation in response to a notification from the attack monitoring unit 170. More specifically, the control unit 150 may implement security measures in response to the contents of the attack identification result 180. When the control unit 150 implements security measures, the control unit 150 may be configured to be able to refer to the security measures table 152.

図10は、本実施の形態に係る制御システム1におけるセキュリティ対策テーブル152の一例を示す図である。図10を参照して、セキュリティ対策テーブル152は、攻撃監視部170において検出される攻撃パターンと、各攻撃パターンに対して実施されるセキュリティ対策との対応関係を規定する。 Fig. 10 is a diagram showing an example of the security countermeasures table 152 in the control system 1 according to the present embodiment. Referring to Fig. 10, the security countermeasures table 152 specifies the correspondence between the attack patterns detected by the attack monitoring unit 170 and the security countermeasures implemented for each attack pattern.

処理実行部130は、攻撃特定部176により特定されたセキュリティ攻撃の種類に応じて、対応するセキュリティ対策に応じた動作をする。より具体的には、処理実行部130の制御部150は、攻撃監視部170から攻撃特定結果180の通知を受けると、セキュリティ対策テーブル152を参照して、通知に含まれる攻撃パターンに対応するセキュリティ対策を決定する。そして、制御部150は、決定したセキュリティ対策に応じた動作をする。このとき、セキュリティ対策に応じた動作は、制御演算の実行内容を異ならせることを含む。 The processing execution unit 130 operates according to the corresponding security countermeasure according to the type of security attack identified by the attack identification unit 176. More specifically, when the control unit 150 of the processing execution unit 130 receives a notification of the attack identification result 180 from the attack monitoring unit 170, it refers to the security countermeasure table 152 and determines the security countermeasure corresponding to the attack pattern included in the notification. Then, the control unit 150 operates according to the determined security countermeasure. At this time, the operation according to the security countermeasure includes changing the execution content of the control calculation.

説明の便宜上、図10には、セキュリティ対策を自然言語で記述するが、制御装置100の実装を考慮すると、予め用意されたファンクションブロックのうち対応するセキュリティ対策に使用されるファンクションブロックを特定する情報を含めてもよい。あるいは、実施すべきセキュリティ対策を実現するための部分プログラムや命令コードを含めてもよい。 For ease of explanation, FIG. 10 describes the security measures in natural language, but considering the implementation of the control device 100, information specifying which function blocks from among pre-prepared function blocks are used for the corresponding security measures may be included. Alternatively, partial programs or instruction codes for implementing the security measures to be implemented may be included.

なお、図10に示す各攻撃パターンに対するセキュリティ対策は一例であり、図示しないどのような攻撃パターンについて定義してもよいし、各攻撃パターンに対応付けられるセキュリティ対策はどのようなものであってもよい。 Note that the security measures for each attack pattern shown in FIG. 10 are just examples, and any attack pattern not shown may be defined, and any security measures may be associated with each attack pattern.

<F.ネットワーク中継装置>
上述の説明においては、制御対象を制御するための制御装置100に攻撃監視部170を実装した構成を例示したが、制御装置100以外の装置に攻撃監視部170を実装してもよい。
<F. Network relay device>
In the above description, the attack monitoring unit 170 is implemented in the control device 100 for controlling a control target. However, the attack monitoring unit 170 may be implemented in a device other than the control device 100.

図11は、本実施の形態に係る攻撃監視部170を含むネットワーク中継装置100Aの一例を示す模式図である。図11を参照して、例えば、管理サーバ500と制御装置100との間にネットワーク中継装置100Aが配置されている。上位ネットワーク10を介して制御装置100との間で送受信されるすべてのデータは、ネットワーク中継装置100Aを通過することになる。 Fig. 11 is a schematic diagram showing an example of a network relay device 100A including an attack monitoring unit 170 according to this embodiment. Referring to Fig. 11, for example, the network relay device 100A is disposed between a management server 500 and a control device 100. All data transmitted and received between the control device 100 via the upper network 10 passes through the network relay device 100A.

ネットワーク中継装置100Aには攻撃監視部170が実装されている。このような構成を採用することで、ネットワーク中継装置100Aは、制御装置100が受信するデータおよび制御装置100が送信するデータに基づいて、制御装置100に対するセキュリティ攻撃による異常を検出するとともに、当該検出された異常を生じさせたセキュリティ攻撃の種類などを特定できる。そして、ネットワーク中継装置100Aは、制御装置100に対する攻撃を遮断するなどして、脅威を低減あるいは削除する。 The network relay device 100A is equipped with an attack monitoring unit 170. By adopting such a configuration, the network relay device 100A can detect anomalies caused by security attacks on the control device 100 based on data received by the control device 100 and data transmitted by the control device 100, and can identify the type of security attack that caused the detected anomaly. The network relay device 100A then reduces or eliminates the threat by, for example, blocking the attack on the control device 100.

ネットワーク中継装置100Aにおいても、処理実行部130は、攻撃特定部176により特定されたセキュリティ攻撃の種類に応じて、対応するセキュリティ対策に応じた動作をする。 In the network relay device 100A, the process execution unit 130 also operates in accordance with the corresponding security measures depending on the type of security attack identified by the attack identification unit 176.

図11に示す構成例において、特定した攻撃の種類の情報を含む攻撃特定結果180は、ネットワーク中継装置100Aの出力部160へ通知される。出力部160は、攻撃監視部170からの通知に応じて、ネットワーク中継装置100Aの出力処理の挙動を異ならせてもよい。より具体的には、出力部160は、攻撃特定結果180の内容に応じて、セキュリティ対策を実施するようにしてもよい。出力部160がセキュリティ対策を実施するにあたって、出力部160はセキュリティ対策テーブル162を参照可能に構成されていてもよい。 In the configuration example shown in FIG. 11, the attack identification result 180 including information on the type of attack identified is notified to the output unit 160 of the network relay device 100A. The output unit 160 may change the behavior of the output process of the network relay device 100A depending on the notification from the attack monitoring unit 170. More specifically, the output unit 160 may implement security measures depending on the contents of the attack identification result 180. When the output unit 160 implements security measures, the output unit 160 may be configured to be able to refer to a security measures table 162.

図12は、本実施の形態に係る制御システム1におけるセキュリティ対策テーブル162の一例を示す図である。図12を参照して、セキュリティ対策テーブル162は、攻撃監視部170において検出される攻撃パターンと、各攻撃パターンに対して実施されるセキュリティ対策との対応関係を規定する。 Fig. 12 is a diagram showing an example of a security countermeasure table 162 in the control system 1 according to the present embodiment. Referring to Fig. 12, the security countermeasure table 162 specifies the correspondence between the attack patterns detected by the attack monitoring unit 170 and the security countermeasures implemented for each attack pattern.

セキュリティ対策テーブル162は、ネットワーク中継装置100Aの出力部160が攻撃を遮断するための挙動を規定する。セキュリティ対策テーブル162の規定に応じて、ネットワーク中継装置100Aの出力部160は、遮断の有無や遮断の範囲を調整する。このように、セキュリティ対策に応じた動作は、出力処理による出力を制限することを含む。 The security countermeasures table 162 specifies the behavior of the output unit 160 of the network relay device 100A for blocking attacks. In accordance with the specifications of the security countermeasures table 162, the output unit 160 of the network relay device 100A adjusts whether or not to block and the extent of the blockage. In this way, the operation according to the security countermeasures includes restricting the output by the output process.

説明の便宜上、図12には、セキュリティ対策を自然言語で記述するが、ネットワーク中継装置100Aの実装を考慮すると、予め用意されたファンクションブロックのうち対応するセキュリティ対策に使用されるファンクションブロックを特定する情報を含めてもよい。あるいは、実施すべきセキュリティ対策を実現するための部分プログラムや命令コードを含めてもよい。 For ease of explanation, FIG. 12 describes the security measures in natural language, but considering the implementation of the network relay device 100A, information specifying which of the pre-prepared function blocks is to be used for the corresponding security measure may also be included. Alternatively, partial programs or instruction codes for implementing the security measures to be implemented may also be included.

なお、図12に示す各攻撃パターンに対するセキュリティ対策は一例であり、図示しないどのような攻撃パターンについて定義してもよいし、各攻撃パターンに対応付けられるセキュリティ対策はどのようなものであってもよい。 Note that the security measures for each attack pattern shown in FIG. 12 are just examples, and any attack pattern not shown may be defined, and any security measures may be associated with each attack pattern.

<G.攻撃推定機能>
上述の説明においては、発生異常データ174といずれかの攻撃パターンとの一致を攻撃されていると決定するための条件とする構成を例示したが、完全に一致しなくても、攻撃の有無を推定できる機能(攻撃推定部190)を実装してもよい。すなわち、発生異常データ174がいずれの攻撃パターンとも一致しなくても、ある程度の類似性が認められる場合には、攻撃を受けている可能性が高いと推定してもよい。
<G. Attack Estimation Function>
In the above description, a configuration is exemplified in which the condition for determining that an attack has occurred is the match between the occurring anomaly data 174 and any of the attack patterns, but a function (attack estimation unit 190) that can estimate the presence or absence of an attack even if there is no perfect match may be implemented. In other words, even if the occurring anomaly data 174 does not match any of the attack patterns, if a certain degree of similarity is recognized, it may be estimated that there is a high possibility that an attack has occurred.

図13は、本実施の形態に係る制御装置100の攻撃推定部190のより詳細な機能構成例を示す模式図である。図13を参照して、攻撃推定部190は、上述の攻撃特定部176と同様に、攻撃パターンデータベース178を参照して、異常検出部172が記録した発生異常データ174に基づいて、攻撃を受けているか否かを判断する。なお、攻撃推定部190は、攻撃を受けていると判断すると、当該受けている攻撃の種類を特定するようにしてもよい。 Fig. 13 is a schematic diagram showing a more detailed functional configuration example of the attack estimation unit 190 of the control device 100 according to this embodiment. Referring to Fig. 13, the attack estimation unit 190, like the attack identification unit 176 described above, refers to the attack pattern database 178 and determines whether or not an attack is occurring based on the occurring anomaly data 174 recorded by the anomaly detection unit 172. When the attack estimation unit 190 determines that an attack is occurring, it may identify the type of attack that is occurring.

すなわち、攻撃推定部190は、攻撃パターンデータベース178に含まれるいずれかの攻撃パターンが規定する1または複数の異常と、異常検出部172により検出された1または複数の異常との一致度合いに基づいて、当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けているか否かを推定する。 In other words, the attack estimation unit 190 estimates whether or not a security attack of the type associated with an attack pattern has occurred based on the degree of match between one or more anomalies defined by any of the attack patterns included in the attack pattern database 178 and one or more anomalies detected by the anomaly detection unit 172.

より具体的には、攻撃推定部190は、一致度算出部192と、一致度評価部194とを含む。一致度算出部192は、攻撃パターンデータベース178に登録されている攻撃パターン毎に、発生異常データ174とどの程度一致しているかを示す一致度を算出する。一致度算出部192は、攻撃パターン毎に算出された一致度を示す攻撃パターン毎一致度196を出力する。 More specifically, the attack estimation unit 190 includes a coincidence calculation unit 192 and a coincidence evaluation unit 194. The coincidence calculation unit 192 calculates the degree of coincidence, which indicates the degree of coincidence with the occurring anomaly data 174, for each attack pattern registered in the attack pattern database 178. The coincidence calculation unit 192 outputs an attack pattern coincidence 196 which indicates the degree of coincidence calculated for each attack pattern.

一致度算出部192は、例えば、発生異常データ174と攻撃パターンとの一致の度合いを0~1の値に規格化した上で、一致度として算出するようにしてもよい。 The matching degree calculation unit 192 may, for example, normalize the degree of matching between the occurring anomaly data 174 and the attack pattern to a value between 0 and 1 and then calculate the degree of matching.

一致度評価部194は、一致度算出部192により算出された攻撃パターン毎一致度196を評価して、攻撃を受けているか否かを判断する。 The matching evaluation unit 194 evaluates the matching degree 196 for each attack pattern calculated by the matching calculation unit 192 to determine whether or not an attack is occurring.

評価方法の一例としては、攻撃パターン毎一致度196に含まれる一致度のうち、予め定められた類似判定しきい値198以上のものがあれば、類似判定しきい値198以上である一致度に対応する攻撃パターンが示す種類の攻撃を受けていると特定してもよい。図13に示す例では、類似判定しきい値198として「0.5」が定められており、類似判定しきい値198以上の「0.7」を示す「攻撃パターン1」が有効なものとして選択される。すなわち、「攻撃パターン1」が示す種類の攻撃を受けていると推定できる。 As an example of an evaluation method, if any of the degrees of match included in the attack pattern match 196 is equal to or greater than a predetermined similarity determination threshold 198, it may be determined that the user is under attack of the type indicated by the attack pattern corresponding to the degree of match equal to or greater than the similarity determination threshold 198. In the example shown in FIG. 13, the similarity determination threshold 198 is set to "0.5", and "attack pattern 1", which indicates "0.7", which is equal to or greater than the similarity determination threshold 198, is selected as the valid one. In other words, it can be estimated that the user is under attack of the type indicated by "attack pattern 1".

評価方法の別の一例としては、攻撃パターン毎一致度196に含まれる一致度のうち、最も高い類似度を示す攻撃パターンを選択し、当該選択した攻撃パターンが示す種類の攻撃を受けていると特定してもよい。図13に示す例では、最も高い一致度である「0.7」を示す「攻撃パターン1」が選択される。すなわち、「攻撃パターン1」が示す種類の攻撃を受けていると推定できる。 As another example of the evaluation method, the attack pattern showing the highest degree of similarity among the degrees of similarity included in the attack pattern matching degree 196 may be selected, and it may be determined that the user is under attack of the type indicated by the selected attack pattern. In the example shown in FIG. 13, "attack pattern 1" showing the highest degree of similarity of "0.7" is selected. In other words, it can be estimated that the user is under attack of the type indicated by "attack pattern 1".

なお、判定条件としては、上述したような類似判定しきい値198あるいは最大の類似度に限らず、任意の条件を採用できる。類似度の1番目の値と2番目の値とが予め定められたしきい値以上離れているとか、類似度の1番目以外の値はいずれも予め定められたしきい値未満であるといった判定条件を採用してもよい。 The judgment condition is not limited to the similarity judgment threshold 198 or the maximum similarity as described above, and any condition can be used. Judgment conditions such as the first and second similarity values being apart by a predetermined threshold or more, or all similarity values other than the first being less than a predetermined threshold, may be used.

上述したような攻撃推定機能を採用することで、発生異常データ174と攻撃パターンとが完全に一致しなくても、攻撃を受けている蓋然性が高い場合には、攻撃を受けていると判断できる。 By adopting the attack estimation function described above, even if the occurring anomaly data 174 does not completely match the attack pattern, if there is a high probability that an attack is occurring, it can be determined that an attack is occurring.

このような攻撃推定機能は、例えば、既知のセキュリティ攻撃の亜種や変形体などを検出する場合などにも有効である。 This type of attack estimation function is also useful, for example, for detecting variants or variations of known security attacks.

<H.特定精度/推定精度向上>
上述した攻撃特定部176および/または攻撃推定部190による特定処理および/または推定処理において参照される1または複数の異常(発生異常データ174)を予め定められた時間内に検出されたものに制限することで、特定精度および/または推定精度を向上できる。
<H. Improving identification accuracy/estimation accuracy>
The one or more anomalies (occurring anomaly data 174) referred to in the identification process and/or estimation process by the attack identification unit 176 and/or the attack estimation unit 190 are limited to those detected within a predetermined time period. By doing so, it is possible to improve the identification accuracy and/or estimation accuracy.

図14は、本実施の形態に係る制御装置100における特定精度/推定精度を向上させるための機能構成例を示す模式図である。図14を参照して、攻撃監視部170は、異常検出部172、攻撃特定部176および攻撃推定部190に加えて、タイマー182を含む。なお、攻撃推定部190は、必ずしも実装しなくてもよい。 Fig. 14 is a schematic diagram showing an example of a functional configuration for improving the identification accuracy/estimation accuracy in the control device 100 according to this embodiment. With reference to Fig. 14, the attack monitoring unit 170 includes a timer 182 in addition to an anomaly detection unit 172, an attack identification unit 176, and an attack estimation unit 190. Note that the attack estimation unit 190 does not necessarily have to be implemented.

タイマー182は、異常検出部172が何らかの異常を検出するとカウントを開始する。タイマー182は、カウントの開始から予め定められた時間が経過すると、その時間の経過を攻撃特定部176および攻撃推定部190へ通知する。 The timer 182 starts counting when the anomaly detection unit 172 detects an anomaly. When a predetermined time has elapsed since the start of the counting, the timer 182 notifies the attack identification unit 176 and the attack estimation unit 190 of the passage of that time.

攻撃特定部176は、タイマー182から通知を受けると、当該タイミングで記録されている発生異常データ174を参照して、攻撃を受けているか否かを判断するとともに、受けている攻撃の種類を特定する。 When the attack identification unit 176 receives a notification from the timer 182, it references the anomaly data 174 recorded at that time to determine whether or not an attack is occurring and to identify the type of attack that is occurring.

同様に、攻撃推定部190は、タイマー182から通知を受けると、当該タイミングで記録されている発生異常データ174を参照して、攻撃を受けているか否かを推定するとともに、受けている攻撃の種類を推定する。 Similarly, when the attack estimation unit 190 receives a notification from the timer 182, it references the anomaly data 174 recorded at that timing to estimate whether or not an attack is occurring and estimates the type of attack that is occurring.

なお、タイマー182のカウント開始から予め定められた時間が経過するまでの間に検出される異常の論理和を発生異常データ174として記録してもよい。すなわち、タイマー182からの通知が発行されるまでの時間内のいずれかのタイミングで発生した異常を、1つの発生異常データ174として集約してもよい。この場合、攻撃特定部176および/または攻撃推定部190は、予め定められた時間内に検出された1または複数の異常を、攻撃パターンが規定する1または複数の異常と比較することになる。 The logical sum of anomalies detected from the start of timer 182 counting until a predetermined time has elapsed may be recorded as occurred anomaly data 174. In other words, anomalies that occur at any timing within the time until a notification is issued from timer 182 may be aggregated as one occurred anomaly data 174. In this case, attack identification unit 176 and/or attack estimation unit 190 will compare one or more anomalies detected within the predetermined time with one or more anomalies defined by the attack pattern.

タイマー182が検出する予め定められた時間は、制御装置100の制御周期、制御装置100のハードウェアスペック、ネットワークの伝送速度、検出対象の攻撃の特性などに応じて決定されてもよい。 The predetermined time detected by the timer 182 may be determined according to the control period of the control device 100, the hardware specifications of the control device 100, the transmission speed of the network, the characteristics of the attack to be detected, etc.

上述したように、攻撃の特定および/または推定に用いる異常を検出する時間を制限することで、ノイズとなる異常の情報を除外することができ、これによって、攻撃の特定精度および/または推定精度を向上できる。 As described above, by limiting the time to detect anomalies used to identify and/or estimate an attack, it is possible to eliminate anomaly information that becomes noise, thereby improving the accuracy of identifying and/or estimating an attack.

また、上述したように、何らかの異常が検出されてから予め定められた時間に亘って検出された異常をまとめて攻撃の特定および/または推定に用いることで、あるタイミング(ワンショット)で検出された1または複数の異常の組合せでは検出できない攻撃であっても特定および/または推定できる。 In addition, as described above, by using all the anomalies detected over a predetermined period of time after any anomaly is detected to identify and/or estimate an attack, it is possible to identify and/or estimate even attacks that cannot be detected by a combination of one or more anomalies detected at a certain timing (one shot).

<I.制御装置外への攻撃特定結果の通知>
上述の説明においては、攻撃特定部176から出力される攻撃特定結果180が制御装置100の内部で利用される構成を例示したが、攻撃特定結果180を制御装置100の外部へ通知するようにしてもよい。
<I. Notification of attack identification results to outside the control device>
In the above explanation, a configuration has been exemplified in which the attack identification result 180 output from the attack identification unit 176 is used inside the control device 100, but the attack identification result 180 may also be notified to an outside of the control device 100.

図15は、本実施の形態に係る制御システム1における攻撃特定結果180の通知に着目した構成例を示す模式図である。図15を参照して、制御システム1は、例えば、制御装置100およびネットワーク中継装置100Aを含む。 FIG. 15 is a schematic diagram showing a configuration example focusing on notification of an attack identification result 180 in a control system 1 according to this embodiment. Referring to FIG. 15, the control system 1 includes, for example, a control device 100 and a network relay device 100A.

制御装置100およびネットワーク中継装置100Aの各々は、攻撃特定部176および通知部184を含む。 Each of the control device 100 and the network relay device 100A includes an attack identification unit 176 and a notification unit 184.

攻撃特定部176は、攻撃を受けていると判断すると、特定した攻撃の種類の情報を含む攻撃特定結果180を出力する。通知部184は、攻撃特定部176から攻撃特定結果180が出力されると、管理サーバ500および/または管理サーバ500Aへ攻撃特定結果180を通知する。 When the attack identification unit 176 determines that an attack is occurring, it outputs an attack identification result 180 that includes information on the type of attack that has been identified. When the attack identification result 180 is output from the attack identification unit 176, the notification unit 184 notifies the management server 500 and/or management server 500A of the attack identification result 180.

同様に、通知部184は、攻撃推定部190から攻撃特定結果180が出力されると、管理サーバ500および/または管理サーバ500Aへ攻撃特定結果180を通知するようにしてもよい。 Similarly, when the attack identification result 180 is output from the attack estimation unit 190, the notification unit 184 may notify the management server 500 and/or management server 500A of the attack identification result 180.

このように、制御装置100は、攻撃特定部176により特定されたセキュリティ攻撃の種類の情報、および/または、攻撃推定部190により推定されたセキュリティ攻撃の種類の情報を、制御装置100以外の装置へ通知する通知部184を実装してもよい。 In this way, the control device 100 may be implemented with a notification unit 184 that notifies devices other than the control device 100 of information on the type of security attack identified by the attack identification unit 176 and/or information on the type of security attack estimated by the attack estimation unit 190.

管理サーバ500は、例えば、制御システム1が制御する制御対象を含む工場内に配置されてもよい。管理サーバ500は、攻撃特定結果180を集約することで、制御対象を含む工場内で発生した攻撃の状況を把握するとともに、対象の工場内でのセキュリティ対策を決定してもよい。 The management server 500 may be placed, for example, in a factory that includes a control target controlled by the control system 1. The management server 500 may aggregate the attack identification results 180 to grasp the status of attacks that have occurred in the factory that includes the control target, and may determine security measures to be taken in the target factory.

管理サーバ500Aは、例えば、制御システム1が制御する制御対象を含む工場外に配置されてもよい。管理サーバ500Aは、例えば、工場の運営者とは異なる主体(例えば、委託先のより高い専門性を有する管理会社)によって運営されていてもよい。管理サーバ500Aに攻撃特定結果180を集約することで、セキュリティ対策についてより深い分析などを行うこともできる。 The management server 500A may be located, for example, outside a factory that includes a control target controlled by the control system 1. The management server 500A may be operated, for example, by an entity other than the operator of the factory (for example, a management company with higher expertise that is outsourced). By aggregating the attack identification results 180 in the management server 500A, it is also possible to perform a more in-depth analysis of security measures.

なお、管理サーバ500および/または管理サーバ500Aに攻撃特定結果180を通知する方法としては、通常のネットワークを利用してもよいし、専用の回線(例えば、5Gや4Gなどの公衆無線回線)を利用してもよい。通常のネットワークを利用することで、簡便かつ低コストで攻撃特定結果180を通知できる。また、専用の回線を利用することで、DoS攻撃やおよびDDoS攻撃などを受けて通信できない状況であっても、攻撃特定結果180を通知できる。 The method of notifying the management server 500 and/or management server 500A of the attack identification result 180 may be to use a normal network or a dedicated line (e.g., a public wireless line such as 5G or 4G). By using a normal network, the attack identification result 180 can be notified easily and at low cost. Furthermore, by using a dedicated line, the attack identification result 180 can be notified even in a situation where communication is not possible due to a DoS attack or a DDoS attack.

あるいは、通知部184が攻撃特定結果180をファイルとして格納し、事後的にファイルを回収することで、通信できない状況であっても、攻撃特定結果180の回収および分析などを実現できる。 Alternatively, the notification unit 184 can store the attack identification result 180 as a file and retrieve the file afterwards, making it possible to retrieve and analyze the attack identification result 180 even in a situation where communication is not possible.

上述したように、制御装置100およびネットワーク中継装置100Aの各々から攻撃特定結果180を装置外部へ通知することで、より広範囲で攻撃を受けていることを検出できるとともに、攻撃の種類の特定やセキュリティ対策の決定などをより効率的に行うことができる。 As described above, by notifying the control device 100 and the network relay device 100A of the attack identification result 180 to the outside of the device, it is possible to detect attacks over a wider area and to more efficiently identify the type of attack and decide on security measures.

<J.サポート装置200>
本実施の形態に係る制御システム1を構成する制御装置100で実行される制御演算の内容は、ユーザがサポート装置200を用いてプログラムや設定等することで決定される。
<J. Support Device 200>
The contents of the control calculations executed by the control device 100 constituting the control system 1 according to this embodiment are determined by a user using the support device 200 to program, set, and so on.

図16は、本実施の形態に係る制御システム1におけるサポート装置200に着目した構成例を示す模式図である。図16を参照して、ユーザは、サポート装置200を操作して、タスク設定202、ネットワーク構成204およびユーザプログラム206といった、制御装置100における制御演算を規定するためのデータを生成する。これらのデータは、サポート装置200から制御装置100へ転送される。 Figure 16 is a schematic diagram showing an example configuration focusing on the support device 200 in the control system 1 according to the present embodiment. Referring to Figure 16, a user operates the support device 200 to generate data for defining the control calculations in the control device 100, such as task settings 202, network configuration 204, and user program 206. These data are transferred from the support device 200 to the control device 100.

タスク設定202およびユーザプログラム206は、例えば、制御装置100の制御部150で実行される制御演算の内容を規定する。ネットワーク構成204は、例えば、入力部140で実行される入力処理と出力部160で実行される出力処理の内容を規定する。 The task settings 202 and the user program 206, for example, define the contents of the control calculations executed by the control unit 150 of the control device 100. The network configuration 204, for example, defines the contents of the input processing executed by the input unit 140 and the output processing executed by the output unit 160.

サポート装置200は、ユーザ操作に応じて、制御装置100に実装される攻撃監視部170および/または攻撃推定部190の挙動を任意に設定することもできる。例えば、ユーザは、サポート装置200を操作して、攻撃監視部設定208を生成する。攻撃監視部設定208は、制御装置100の異常検出部172および/または攻撃推定部190が異常を検出するためのルールである異常検出設定173と、制御装置100の攻撃特定部176および/または攻撃推定部190が参照する攻撃パターンデータベース178の内容の少なくとも一部とを含む。 The support device 200 can also arbitrarily set the behavior of the attack monitoring unit 170 and/or the attack estimation unit 190 implemented in the control device 100 in response to user operation. For example, the user operates the support device 200 to generate an attack monitoring unit setting 208. The attack monitoring unit setting 208 includes anomaly detection setting 173, which is a rule for the anomaly detection unit 172 and/or the attack estimation unit 190 of the control device 100 to detect anomalies, and at least a portion of the contents of the attack pattern database 178 referenced by the attack identification unit 176 and/or the attack estimation unit 190 of the control device 100.

図17は、本実施の形態に係る制御システム1におけるサポート装置200により設定される異常検出設定173の一例を示す図である。図17を参照して、異常検出設定173の設定項目としては、異常検出対象、異常検出範囲および異常検出条件などを含んでいてもよい。 FIG. 17 is a diagram showing an example of an abnormality detection setting 173 set by the support device 200 in the control system 1 according to the present embodiment. Referring to FIG. 17, the setting items of the abnormality detection setting 173 may include an abnormality detection target, an abnormality detection range, and an abnormality detection condition.

異常検出対象は、異常の発生を検出する対象を規定するものであり、例えば、通信ポートなどのハードウェアや、パケット伝送のプロトコルなどのソフトウェア設定を規定できる。例えば、異常の検出対象として、「通信ポート1」を「有効」または「無効」に設定することができる。「通信ポート1」が「有効」に設定された場合には、異常の検出対象となり、「通信ポート1」が「無効」に設定された場合には、異常の検出対象から除外される。 The abnormality detection target specifies the target for detecting the occurrence of an abnormality, and can specify, for example, hardware such as a communication port, or software settings such as a packet transmission protocol. For example, "Communication Port 1" can be set to "Enabled" or "Disabled" as an abnormality detection target. When "Communication Port 1" is set to "Enabled," it becomes a target for abnormality detection, and when "Communication Port 1" is set to "Disabled," it is excluded from the abnormality detection target.

異常検出範囲は、異常の発生を検出する範囲を規定するものであり、例えば、複数種類の不正コマンドが想定されている状態で、特定の不正コマンドのみを異常の検出対象として規定してもよい。例えば、すべての不正コマンドを異常の検出対象とする「全コマンド」を設定してもよいし、特定の不正コマンドAのみを異常の検出対象とする「コマンドAのみ」を設定してもよい。 The abnormality detection range specifies the range in which the occurrence of an abnormality is detected. For example, when multiple types of unauthorized commands are expected, only specific unauthorized commands may be specified as the target for abnormality detection. For example, "All Commands" may be set to detect all unauthorized commands as the target for abnormality detection, or "Command A only" may be set to detect only a specific unauthorized command A as the target for abnormality detection.

異常検出条件は、異常の発生と判断するための条件を規定するものであり、例えば、「トラフィック過剰」を検出するためのしきい値を含む。例えば、「トラフィック過剰」を検出するためのしきい値として、「80%」や「50%」を設定してもよい。あるいは、しきい値を任意に設定してもよい。 The abnormality detection conditions specify the conditions for determining the occurrence of an abnormality, and include, for example, a threshold value for detecting "excessive traffic." For example, the threshold value for detecting "excessive traffic" may be set to "80%" or "50%." Alternatively, the threshold value may be set arbitrarily.

ユーザは、サポート装置200を操作して、図17に示すような内容について設定することで、異常検出設定173が生成される。異常検出設定173は、制御装置100へ転送されて異常検出部172に反映される。このように、異常検出部172は、サポート装置200から提供される異常検出設定173に従って、検出対象の異常を決定する。 The user operates the support device 200 to set the contents as shown in FIG. 17, thereby generating anomaly detection settings 173. The anomaly detection settings 173 are transferred to the control device 100 and reflected in the anomaly detection unit 172. In this way, the anomaly detection unit 172 determines the anomaly to be detected according to the anomaly detection settings 173 provided by the support device 200.

なお、異常検出設定173の内容は、制御装置100に実装される攻撃パターンデータベース178で参照される異常の内容と対応付けて予め初期値を設定していてもよい。 The contents of the anomaly detection settings 173 may be set to initial values in advance in correspondence with the contents of the anomaly referenced in the attack pattern database 178 implemented in the control device 100.

また、異常検出設定173において、特定の異常を検出対象から除外してしまうと、攻撃パターンデータベース178の内容との整合性を維持できなくなる。そのため、サポート装置200は、異常検出設定173の内容に応じて、制御装置100の攻撃パターンデータベース178の内容についても更新する。 In addition, if certain anomalies are excluded from detection targets in the anomaly detection settings 173, consistency with the contents of the attack pattern database 178 cannot be maintained. Therefore, the support device 200 also updates the contents of the attack pattern database 178 of the control device 100 according to the contents of the anomaly detection settings 173.

例えば、攻撃パターンデータベース178に含まれる攻撃パターンに関連付けられているいずれかの異常を検出対象外とした場合には、以下のいずれかのように処理してもよい。 For example, if any anomaly associated with an attack pattern included in the attack pattern database 178 is excluded from detection, the following processing may be performed:

(1)検出対象外に設定された異常については「一致していない」と判断する
(2)検出対象外に設定された異常については「常に一致している」あるいは「don’t care」と判断する
(1)の処理を採用した場合には、検出対象外に設定された異常を条件とする攻撃パターンについては特定されないことになる。また、(2)の処理を採用した場合には、攻撃パターンに関連付けられる異常のうち、検出対象外に設定された異常を除く異常が一致すれば、攻撃パターンとして特定されることになる。
(1) Anomalies set as not subject to detection are judged as "not matching" (2) Anomalies set as not subject to detection are judged as "always matching" or "don't care" When process (1) is adopted, attack patterns that have anomalies set as not subject to detection as a condition will not be identified. Also, when process (2) is adopted, if anomalies associated with an attack pattern match anomalies excluding anomalies set as not subject to detection, the anomaly will be identified as an attack pattern.

上述したような処理のうちいずれを選択するのかについては、ユーザがサポート装置200を操作して設定するようにしてもよい。 The user may operate the support device 200 to set which of the above-mentioned processes to select.

このように、ユーザは、サポート装置200を操作することで、サポート装置200からの設定に従って、攻撃パターンデータベース178に含まれる、攻撃パターンおよび検出対象の異常の変更や有効/無効を自由に設定できる。すなわち、サポート装置200から提供される異常検出設定173に従って、検出対象の異常が決定されてもよい。また、サポート装置200から攻撃パターンデータベース178を設定または変更できるようにしてもよい。 In this way, the user can freely change the attack patterns and anomalies to be detected, and enable/disable them, contained in the attack pattern database 178, according to the settings from the support device 200, by operating the support device 200. That is, the anomalies to be detected may be determined according to the anomaly detection settings 173 provided by the support device 200. In addition, it may be possible to set or change the attack pattern database 178 from the support device 200.

<K.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
外部から入力される情報を取得する入力処理(140)と、前記入力処理により取得された情報を参照して実行される制御演算(150)と、前記制御演算によって算出された情報を外部へ出力する出力処理(160)とを実行する処理実行部(130)と、
複数の検出対象の異常のうち発生した異常を検出する異常検出部(172)とを備え、前記検出対象の異常の各々は、前記入力処理、前記制御演算および前記出力処理のいずれかに関連付けられており、
特定の種類のセキュリティ攻撃に対応付けられた1または複数の異常を規定する攻撃パターン、を少なくとも1つ含むデータベース(178)と、
前記データベースに含まれるいずれかの攻撃パターンが規定する1または複数の異常と、前記異常検出部により検出された1または複数の異常とが一致すると、当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けていると特定する攻撃特定部(176)とを備える、制御装置。
[構成2]
前記処理実行部は、前記攻撃特定部により特定されたセキュリティ攻撃の種類に応じて、対応するセキュリティ対策に応じた動作をする、構成1に記載の制御装置。
[構成3]
前記対応するセキュリティ対策に応じた動作は、前記制御演算の実行内容を異ならせることを含む、構成2に記載の制御装置。
[構成4]
前記対応するセキュリティ対策に応じた動作は、前記出力処理による出力を制限することを含む、構成2に記載の制御装置。
[構成5]
前記攻撃特定部は、予め定められた時間内に検出された1または複数の異常を、攻撃パターンが規定する1または複数の異常と比較する、構成1~4のいずれか1項に記載の制御装置。
[構成6]
前記攻撃特定部により特定されたセキュリティ攻撃の種類の情報を、前記制御装置以外の装置へ通知する通知部(184)をさらに備える、構成1~5のいずれか1項に記載の制御装置。
[構成7]
前記データベースに含まれるいずれかの攻撃パターンが規定する1または複数の異常と、前記異常検出部により検出された1または複数の異常との一致度合いに基づいて、当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けているか否かを推定する攻撃推定部(190)をさらに備える、構成1~4のいずれか1項に記載の制御装置。
[構成8]
前記攻撃推定部は、予め定められた時間内に検出された1または複数の異常を、攻撃パターンが規定する1または複数の異常と比較する、構成7に記載の制御装置。
[構成9]
前記攻撃推定部により推定されたセキュリティ攻撃の種類の情報を、前記制御装置以外の装置へ通知する通知部(184)をさらに備える、構成7または8に記載の制御装置。
[構成10]
サポート装置(200)からの設定に従って、前記攻撃パターンおよび前記検出対象の異常の少なくとも一方が決定される、構成1~9のいずれか1項に記載の制御装置。
[構成11]
外部から入力される情報を取得する入力処理と、前記入力処理により取得された情報を参照して実行される制御演算と、前記制御演算によって算出された情報を外部へ出力する出力処理とを実行するステップ(S2~S8)と、
複数の検出対象の異常のうち発生した異常を検出するステップ(S14,S16)とを備え、前記検出対象の異常の各々は、前記入力処理、前記制御演算および前記出力処理のいずれかに関連付けられており、
特定の種類のセキュリティ攻撃に対応付けられた1または複数の異常を規定する攻撃パターン、を少なくとも1つ含むデータベースを参照して、前記データベースに含まれるいずれかの攻撃パターンが規定する1または複数の異常と、前記検出された1または複数の異常とが一致するか否かを判断するステップ(S18,S20)と、
当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けていると特定するステップ(S22)とを備える、制御方法。
[構成12]
制御プログラム(110)であって、コンピュータ(100)に、
外部から入力される情報を取得する入力処理と、前記入力処理により取得された情報を参照して実行される制御演算と、前記制御演算によって算出された情報を外部へ出力する出力処理とを実行するステップ(S2~S8)と、
複数の検出対象の異常のうち発生した異常を検出するステップ(S14,S16)とを実行させ、前記検出対象の異常の各々は、前記入力処理、前記制御演算および前記出力処理のいずれかに関連付けられており、
特定の種類のセキュリティ攻撃に対応付けられた1または複数の異常を規定する攻撃パターン、を少なくとも1つ含むデータベースを参照して、前記データベースに含まれるいずれかの攻撃パターンが規定する1または複数の異常と、前記検出された1または複数の異常とが一致するか否かを判断するステップ(S18,S20)と、
当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けていると特定するステップ(S22)とを実行させる、制御プログラム。
<K. Notes>
The present embodiment as described above includes the following technical idea.
[Configuration 1]
A processing execution unit (130) that executes an input process (140) for acquiring information input from the outside, a control calculation (150) that is executed by referring to the information acquired by the input process, and an output process (160) that outputs information calculated by the control calculation to the outside;
an abnormality detection unit (172) that detects an abnormality that has occurred among a plurality of abnormalities of detection targets, each of the abnormalities of the detection targets being associated with any one of the input processing, the control calculation, and the output processing;
a database (178) including at least one attack pattern defining one or more anomalies associated with a particular type of security attack;
and an attack identification unit (176) that, when one or more anomalies defined by any of the attack patterns included in the database match one or more anomalies detected by the anomaly detection unit, identifies that the control device is undergoing a security attack of the type associated with the attack pattern.
[Configuration 2]
2. The control device according to configuration 1, wherein the process execution unit operates in accordance with a corresponding security measure depending on a type of security attack identified by the attack identification unit.
[Configuration 3]
3. The control device according to configuration 2, wherein the operation according to the corresponding security countermeasure includes changing the execution content of the control calculation.
[Configuration 4]
3. The control device according to configuration 2, wherein the operation in response to the corresponding security countermeasure includes restricting output by the output process.
[Configuration 5]
The control device according to any one of configurations 1 to 4, wherein the attack identification unit compares one or more anomalies detected within a predetermined time period with one or more anomalies defined by an attack pattern.
[Configuration 6]
The control device according to any one of configurations 1 to 5, further comprising a notification unit (184) that notifies a device other than the control device of information on a type of security attack identified by the attack identification unit.
[Configuration 7]
The control device according to any one of configurations 1 to 4, further comprising an attack estimation unit (190) that estimates whether or not the control device is subjected to a security attack of a type associated with an attack pattern based on a degree of match between one or more anomalies defined by any one of the attack patterns included in the database and one or more anomalies detected by the anomaly detection unit.
[Configuration 8]
8. The control device of configuration 7, wherein the attack estimation unit compares one or more anomalies detected within a predetermined time period with one or more anomalies defined by an attack pattern.
[Configuration 9]
The control device according to configuration 7 or 8, further comprising a notification unit (184) that notifies a device other than the control device of information on a type of security attack estimated by the attack estimation unit.
[Configuration 10]
The control device according to any one of configurations 1 to 9, wherein at least one of the attack pattern and the abnormality to be detected is determined according to settings from a support device (200).
[Configuration 11]
Steps (S2 to S8) of executing an input process for acquiring information input from an outside source, a control calculation executed by referring to the information acquired by the input process, and an output process for outputting information calculated by the control calculation to an outside source;
and detecting an abnormality that has occurred among a plurality of abnormalities to be detected (S14, S16), each of the abnormalities to be detected being associated with any of the input process, the control calculation, and the output process;
A step of referring to a database including at least one attack pattern that defines one or more anomalies associated with a specific type of security attack, and determining whether or not the one or more anomalies defined by any of the attack patterns included in the database match the one or more detected anomalies (S18, S20);
and a step (S22) of identifying that a security attack of a type associated with the attack pattern has occurred.
[Configuration 12]
A control program (110) for causing a computer (100) to:
Steps (S2 to S8) of executing an input process for acquiring information input from an outside source, a control calculation executed by referring to the information acquired by the input process, and an output process for outputting information calculated by the control calculation to an outside source;
and detecting an abnormality that has occurred among a plurality of abnormalities to be detected (S14, S16), each of the abnormalities to be detected being associated with any one of the input process, the control calculation, and the output process;
A step of referring to a database including at least one attack pattern that defines one or more anomalies associated with a specific type of security attack, and determining whether or not the one or more anomalies defined by any of the attack patterns included in the database match the one or more detected anomalies (S18, S20);
and a step (S22) of identifying that the computer is under a security attack of a type associated with the attack pattern.

<L.利点>
本実施の形態に係る制御装置は、入力処理、制御演算および出力処理のいずれかで発生した異常を検出するとともに、検出された1または複数の異常と予め用意された攻撃パターンが規定する1または複数の異常とが一致するか否かを判断することで、当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けていることを特定する。これによって、セキュリティ攻撃を受けていることを検出できるとともに、当該受けているセキュリティ攻撃の種類も特定できる。その結果、受けているセキュリティ攻撃の種類に応じて適切なセキュリティ対策を実施できる。
L. Advantages
The control device according to the present embodiment detects an abnormality occurring in any of the input process, the control calculation, and the output process, and determines whether or not the detected abnormality or abnormalities match one or more abnormalities defined by a pre-prepared attack pattern, thereby identifying that a security attack of a type associated with the attack pattern has occurred. This makes it possible to detect that a security attack has occurred, and also to identify the type of the security attack. As a result, it is possible to implement appropriate security measures according to the type of security attack.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 The embodiments disclosed herein should be considered to be illustrative and not restrictive in all respects. The scope of the present invention is indicated by the claims, not by the above description, and is intended to include all modifications within the meaning and scope of the claims.

1 制御システム、10 上位ネットワーク、20 フィールドネットワーク、100 制御装置、100A ネットワーク中継装置、102 プロセッサ、104 チップセット、106 主記憶装置、108 二次記憶装置、110 システムプログラム、112 USBコントローラ、114 メモリカードインターフェイス、115 メモリカード、116,118 ネットワークコントローラ、122 内部バスコントローラ、130 処理実行部、140 入力部、150 制御部、152,162 セキュリティ対策テーブル、160 出力部、170 攻撃監視部、172 異常検出部、173 異常検出設定、174 発生異常データ、176 攻撃特定部、178 攻撃パターンデータベース、180 攻撃特定結果、182 タイマー、184 通知部、190 攻撃推定部、192 一致度算出部、194 一致度評価部、196 攻撃パターン毎一致度、198 しきい値、200 サポート装置、202 タスク設定、204 ネットワーク構成、206 ユーザプログラム、208 攻撃監視部設定、300 フィールドデバイス、400 表示操作端末、500,500A 管理サーバ、600 ゲートウェイ、1720 入力異常検出部、1721,1728 通信異常検出部、1722 ファイル異常検出部、1723,1729 I/O異常検出部、1724 制御異常検出部、1725 システム制御異常検出部、1726 ハードウェアリソース異常検出部、1727 出力異常検出部、1730 異常記録部、1760 攻撃パターン取得部、1762 比較部。 1 Control system, 10 Upper network, 20 Field network, 100 Control device, 100A Network relay device, 102 Processor, 104 Chip set, 106 Main memory device, 108 Secondary memory device, 110 System program, 112 USB controller, 114 Memory card interface, 115 Memory card, 116, 118 Network controller, 122 Internal bus controller, 130 Processing execution unit, 140 Input unit, 150 Control unit, 152, 162 Security countermeasures table, 160 Output unit, 170 Attack monitoring unit, 172 Anomaly detection unit, 173 Anomaly detection setting, 174 Occurring anomaly data, 176 Attack identification unit, 178 Attack pattern database, 180 Attack identification result, 182 Timer, 184 Notification unit, 190 Attack estimation unit, 192 Matching degree calculation unit, 194 Matching degree evaluation unit, 196 Degree of match for each attack pattern, 198 threshold value, 200 support device, 202 task setting, 204 network configuration, 206 user program, 208 attack monitoring unit setting, 300 field device, 400 display operation terminal, 500, 500A management server, 600 gateway, 1720 input anomaly detection unit, 1721, 1728 communication anomaly detection unit, 1722 file anomaly detection unit, 1723, 1729 I/O anomaly detection unit, 1724 control anomaly detection unit, 1725 system control anomaly detection unit, 1726 hardware resource anomaly detection unit, 1727 output anomaly detection unit, 1730 anomaly recording unit, 1760 attack pattern acquisition unit, 1762 comparison unit.

Claims (12)

制御システムであって、
制御装置と、
前記制御装置と接続可能なサポート装置とを備え、
記サポート装置は、ユーザ操作に応じて、タスク設定と、ネットワーク構成と、ユーザプログラムと、攻撃監視部設定とを生成し、前記攻撃監視部設定は、異常を検出するためのルールである異常検出設定と、攻撃パターンデータベースとを含み、
前記制御装置は、
外部から入力される情報を取得する入力処理と、前記入力処理により取得された情報を参照して実行される制御演算と、前記制御演算によって算出された情報を外部へ出力する出力処理とを実行する処理実行部と、
複数の検出対象の異常のうち発生した異常を検出する異常検出部とを備え、前記検出対象の異常の各々は、前記入力処理、前記制御演算および前記出力処理のいずれかに関連付けられており、
特定の種類のセキュリティ攻撃に対応付けられた1または複数の異常を規定する攻撃パターン、を少なくとも1つ含むデータベースと、
前記データベースに含まれるいずれかの攻撃パターンが規定する1または複数の異常と、前記異常検出部により検出された1または複数の異常とが一致すると、当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けていると特定する攻撃特定部とを備え、
記サポート装置がデータを前記制御装置に転送することで、前記タスク設定および前記ユーザプログラムによって、前記制御演算の内容が規定され、前記ネットワーク構成によって、前記入力処理および前記出力処理の内容が規定され、
前記異常検出部は、前記サポート装置からの前記攻撃監視部設定に含まれる前記異常検出設定を参照して、前記検出対象の異常を決定し
前記データベースの内容は、前記サポート装置からの前記攻撃監視部設定に含まれる前記攻撃パターンデータベースによって設定または変更される、制御システム。
1. A control system comprising:
A control device;
A support device connectable to the control device,
the support device generates a task setting, a network configuration, a user program, and an attack monitoring unit setting in response to a user operation , the attack monitoring unit setting including an anomaly detection setting which is a rule for detecting anomalies, and an attack pattern database;
The control device includes:
a processing execution unit that executes an input process for acquiring information input from an outside, a control calculation that is executed by referring to the information acquired by the input process, and an output process that outputs information calculated by the control calculation to an outside;
an abnormality detection unit that detects an abnormality that has occurred among a plurality of abnormalities of detection targets, each of the abnormalities of the detection targets being associated with any one of the input process, the control calculation, and the output process;
a database including at least one attack pattern defining one or more anomalies associated with a particular type of security attack;
an attack identification unit that, when one or more anomalies defined by any one of the attack patterns included in the database match one or more anomalies detected by the anomaly detection unit, identifies that the device is under a security attack of a type associated with the attack pattern;
The support device transfers data to the control device, whereby the content of the control calculation is defined by the task setting and the user program, and the content of the input processing and the output processing is defined by the network configuration;
The anomaly detection unit determines the anomaly to be detected by referring to the anomaly detection setting included in the attack monitoring unit setting from the support device;
A control system , wherein the contents of the database are set or changed by the attack pattern database included in the attack monitoring unit setting from the support device .
前記処理実行部は、前記攻撃特定部により特定されたセキュリティ攻撃の種類に応じて、対応するセキュリティ対策に応じた動作をする、請求項1に記載の制御システム。 The control system according to claim 1, wherein the processing execution unit operates in accordance with a corresponding security measure depending on the type of security attack identified by the attack identification unit. 前記対応するセキュリティ対策に応じた動作は、前記制御演算の実行内容を異ならせることを含む、請求項2に記載の制御システム。 The control system of claim 2, wherein the operation according to the corresponding security measure includes changing the execution content of the control calculation. 前記対応するセキュリティ対策に応じた動作は、前記出力処理による出力を制限することを含む、請求項2に記載の制御システム。 The control system of claim 2, wherein the action taken in response to the corresponding security measure includes limiting the output from the output process. 前記攻撃特定部は、予め定められた時間内に検出された1または複数の異常を、攻撃パターンが規定する1または複数の異常と比較する、請求項1~4のいずれか1項に記載の制御システム。 The control system according to any one of claims 1 to 4, wherein the attack identification unit compares one or more anomalies detected within a predetermined time period with one or more anomalies defined by an attack pattern. 前記攻撃特定部により特定されたセキュリティ攻撃の種類の情報を、前記制御装置以外の装置へ通知する通知部をさらに備える、請求項1~5のいずれか1項に記載の制御システム。 The control system according to any one of claims 1 to 5, further comprising a notification unit that notifies a device other than the control device of information on the type of security attack identified by the attack identification unit. 前記データベースに含まれるいずれかの攻撃パターンが規定する1または複数の異常と、前記異常検出部により検出された1または複数の異常との一致度合いに基づいて、当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けているか否かを推定する攻撃推定部をさらに備える、請求項1~4のいずれか1項に記載の制御システム。 The control system according to any one of claims 1 to 4, further comprising an attack estimation unit that estimates whether or not a security attack of a type associated with an attack pattern has been made based on the degree of agreement between one or more anomalies defined by any one of the attack patterns included in the database and one or more anomalies detected by the anomaly detection unit. 前記攻撃推定部は、予め定められた時間内に検出された1または複数の異常を、攻撃パターンが規定する1または複数の異常と比較する、請求項7に記載の制御システム。 The control system of claim 7, wherein the attack estimation unit compares one or more anomalies detected within a predetermined time period with one or more anomalies defined by an attack pattern. 前記攻撃推定部により推定されたセキュリティ攻撃の種類の情報を、前記制御装置以外の装置へ通知する通知部をさらに備える、請求項7または8に記載の制御システム。 The control system according to claim 7 or 8, further comprising a notification unit that notifies a device other than the control device of information on the type of security attack estimated by the attack estimation unit. 前記攻撃監視部設定は、
前記検出対象を規定するための設定と、
異常の発生を検出する範囲を規定するための設定と、
異常の発生と判断するための条件を規定するための設定とを含む、請求項1~9のいずれか1項に記載の制御システム。
The attack monitoring unit setting includes:
A setting for defining the detection target;
A setting for defining a range for detecting the occurrence of an anomaly;
The control system according to any one of claims 1 to 9, further comprising: settings for defining conditions for determining whether an abnormality has occurred.
制御装置および前記制御装置と接続可能なサポート装置とを備える制御システムで実行される制御方法であって、
前記サポート装置が、ユーザ操作に応じて、タスク設定と、ネットワーク構成と、ユーザプログラムと、攻撃監視部設定とを生成するステップを備え、前記攻撃監視部設定は、異常を検出するためのルールである異常検出設定と、攻撃パターンデータベースとを含み
前記サポート装置がデータを前記制御装置に転送するステップと、
前記制御装置が、外部から入力される情報を取得する入力処理と、前記入力処理により取得された情報を参照して実行される制御演算と、前記制御演算によって算出された情報を外部へ出力する出力処理とを実行するステップとを備え、前記タスク設定および前記ユーザプログラムによって、前記制御演算の内容が規定され、前記ネットワーク構成によって、前記入力処理および前記出力処理の内容が規定され
前記制御装置が、前記サポート装置からの前記攻撃監視部設定に含まれる前記異常検出設定を参照して、検出対象の異常を決定し、複数の検出対象の異常のうち発生した異常を検出するステップとを備え、前記検出対象の異常の各々は、前記入力処理、前記制御演算および前記出力処理のいずれかに関連付けられており、
前記制御装置が、特定の種類のセキュリティ攻撃に対応付けられた1または複数の異常を規定する攻撃パターン、を少なくとも1つ含むデータベースを参照して、前記データベースに含まれるいずれかの攻撃パターンが規定する1または複数の異常と、前記検出された1または複数の異常とが一致するか否かを判断するステップと、
前記制御装置が、当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けていると特定するステップとを備え
前記データベースの内容は、前記サポート装置からの前記攻撃監視部設定に含まれる前記攻撃パターンデータベースによって設定または変更される、制御方法。
A control method executed in a control system including a control device and a support device connectable to the control device,
the support device includes a step of generating a task setting, a network configuration, a user program, and an attack monitoring unit setting in response to a user operation, the attack monitoring unit setting including an anomaly detection setting which is a rule for detecting anomalies, and an attack pattern database ;
the support device transferring data to the control device ;
the control device includes a step of executing an input process for acquiring information input from an outside, a control calculation for executing by referring to the information acquired by the input process, and an output process for outputting information calculated by the control calculation to an outside , the content of the control calculation being defined by the task setting and the user program, and the content of the input process and the output process being defined by the network configuration ;
the control device refers to the anomaly detection setting included in the attack monitoring unit setting from the support device to determine an anomaly to be detected, and detects an anomaly that has occurred among the plurality of anomalies to be detected, each of the anomalies to be detected being associated with any one of the input process, the control operation, and the output process;
The control device refers to a database including at least one attack pattern that defines one or more anomalies associated with a specific type of security attack, and determines whether or not the one or more anomalies defined by any of the attack patterns included in the database match the one or more anomalies detected;
and determining by the control device that the control device is subject to a security attack of a type associated with the attack pattern ;
A control method , wherein the contents of the database are set or changed by the attack pattern database included in the attack monitoring unit setting from the support device .
前記攻撃監視部設定は、
前記検出対象を規定するための設定と、
異常の発生を検出する範囲を規定するための設定と、
異常の発生と判断するための条件を規定するための設定とを含む、請求項11に記載の制御方法。
The attack monitoring unit setting includes:
A setting for defining the detection target;
A setting for defining a range for detecting the occurrence of an anomaly;
The control method according to claim 11 , further comprising: setting for defining a condition for determining that an abnormality has occurred.
JP2020125540A 2020-07-22 2020-07-22 Control system and control method Active JP7571406B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020125540A JP7571406B2 (en) 2020-07-22 2020-07-22 Control system and control method
PCT/JP2021/025436 WO2022019106A1 (en) 2020-07-22 2021-07-06 Control device, control method, and control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020125540A JP7571406B2 (en) 2020-07-22 2020-07-22 Control system and control method

Publications (2)

Publication Number Publication Date
JP2022021756A JP2022021756A (en) 2022-02-03
JP7571406B2 true JP7571406B2 (en) 2024-10-23

Family

ID=79729718

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020125540A Active JP7571406B2 (en) 2020-07-22 2020-07-22 Control system and control method

Country Status (2)

Country Link
JP (1) JP7571406B2 (en)
WO (1) WO2022019106A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010152773A (en) 2008-12-26 2010-07-08 Mitsubishi Electric Corp Attack determination device, and attack determination method and program
JP2019179476A (en) 2018-03-30 2019-10-17 オムロン株式会社 Support apparatus, support program, and setting method
JP2020095672A (en) 2018-11-28 2020-06-18 オムロン株式会社 Controller system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010152773A (en) 2008-12-26 2010-07-08 Mitsubishi Electric Corp Attack determination device, and attack determination method and program
JP2019179476A (en) 2018-03-30 2019-10-17 オムロン株式会社 Support apparatus, support program, and setting method
JP2020095672A (en) 2018-11-28 2020-06-18 オムロン株式会社 Controller system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
小河原 徹 ほか,攻撃の遷移に着目した組込機器向け攻撃検知・分類技術の提案,2020年 暗号と情報セキュリティシンポジウム予稿集,2020年01月21日,p.1-6

Also Published As

Publication number Publication date
JP2022021756A (en) 2022-02-03
WO2022019106A1 (en) 2022-01-27

Similar Documents

Publication Publication Date Title
US10027699B2 (en) Production process knowledge-based intrusion detection for industrial control systems
JP7738985B2 (en) A data-efficient method for threat detection in computer networks
CN111262722A (en) A security monitoring method for industrial control system network
EP3512179B1 (en) Cyber security framework for internet-connected embedded devices
EP4152192A1 (en) On-chassis backplane intrusion detection system and continuous threat detection enablement platform
CN111510339B (en) Industrial Internet data monitoring method and device
CN110959158A (en) Information processing apparatus, information processing method, and information processing program
CN118449745A (en) Network security prediction method and device and electronic equipment
JP6396519B2 (en) System for detecting intrusion into communication environment, and intrusion detection method
JP7571406B2 (en) Control system and control method
JP7071876B2 (en) Control system and error factor determination method
KR101989579B1 (en) Apparatus and method for monitoring the system
JP2022518172A5 (en)
WO2023181241A1 (en) Monitoring server device, system, method, and program
CN115348339A (en) Industrial control abnormity detection method based on functional code and business data correlation
CN112291239B (en) A network physical model for SCADA system and its intrusion detection method
WO2018193571A1 (en) Device management system, model learning method, and model learning program
CN115941358B (en) Vulnerability discovery method, vulnerability discovery device, terminal equipment and storage medium
JP6819610B2 (en) Diagnostic equipment, diagnostic methods, and diagnostic programs
US20240219879A1 (en) Method, System and Inspection Device for Securely Executing Control Applications
CN116680098B (en) Industrial robot safety monitoring method and device and electronic equipment
JP6749508B2 (en) Attack detection device
JP6863290B2 (en) Diagnostic equipment, diagnostic methods, and diagnostic programs
CN115225375B (en) A method, device and equipment for detecting industrial control flow
EP3661149A1 (en) Test system and method for data analytics

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240902

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240910

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240923

R150 Certificate of patent or registration of utility model

Ref document number: 7571406

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150