WO2022019106A1 - 制御装置、制御方法および制御プログラム - Google Patents
制御装置、制御方法および制御プログラム Download PDFInfo
- Publication number
- WO2022019106A1 WO2022019106A1 PCT/JP2021/025436 JP2021025436W WO2022019106A1 WO 2022019106 A1 WO2022019106 A1 WO 2022019106A1 JP 2021025436 W JP2021025436 W JP 2021025436W WO 2022019106 A1 WO2022019106 A1 WO 2022019106A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- attack
- unit
- control
- abnormality
- control device
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
Definitions
- the present invention relates to a security function in a control system including a control device.
- Patent Document 1 discloses a configuration for detecting an abnormality in a manufacturing system without significantly modifying an existing manufacturing system.
- Patent Document 1 The configuration disclosed in Patent Document 1 is to add a data analysis device or the like to an existing manufacturing system, and does not implement security measures for the control device itself. Further, the configuration disclosed in Patent Document 1 is for determining whether or not there is an abnormality in the manufacturing system, and when a security attack is received, a method for specifying the type of the attack is disclosed. Not.
- One object of the present invention is to implement security measures for the control device itself and to provide a configuration capable of specifying the type of the security attack when some kind of security attack is received.
- a control device externally performs an input process for acquiring information input from the outside, a control operation executed with reference to the information acquired by the input process, and information calculated by the control operation. It includes a processing execution unit that executes output processing to be output to, and an abnormality detection unit that detects an abnormality that has occurred among a plurality of detection target abnormalities. Each of the abnormalities to be detected is associated with any of input processing, control calculation and output processing.
- the control unit includes a database that includes at least one attack pattern that defines one or more anomalies associated with a particular type of security attack, and one or more that the attack pattern contained in the database defines. When the anomaly matches one or more anomalies detected by the anomaly detection unit, the attack specific unit that identifies the type of security attack associated with the attack pattern is included.
- anomalies generated in any of input processing, control operation, and output processing are detected, and one or more anomalies detected and one or more anomalies defined by a prepared attack pattern can be detected.
- By determining whether or not they match it is possible to identify that a security attack of the type associated with the attack pattern has been received.
- it is possible to detect that a security attack has been received and it is also possible to identify the type of the security attack that is being received.
- the processing execution unit may operate according to the corresponding security measures according to the type of security attack specified by the attack identification unit. According to this configuration, appropriate security measures can be implemented according to the type of security attack identified.
- the operation according to the corresponding security measure may include different execution contents of the control operation. According to this configuration, appropriate security measures can be realized by making the execution contents of the control operations different.
- the operation according to the corresponding security measure may include limiting the output by the output process. According to this configuration, appropriate security measures can be realized by limiting the output by the output processing.
- the attack identification unit may compare one or more anomalies detected within a predetermined time with one or more anomalies defined by the attack pattern. According to this configuration, it is possible to detect whether or not a security attack has been received with higher accuracy.
- 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 specified by the attack identification unit.
- the control device is associated with the attack pattern based on the degree of coincidence between the one or more anomalies specified by any of the attack patterns contained in the database and the one or more anomalies detected by the anomaly detector. It may further include an attack estimation unit that estimates whether or not a security attack of any kind has been received. According to this configuration, even if the attack pattern does not match one or more abnormalities specified at all, if some similarity is found, it can be determined that a security attack has been received and the reception has been received. The type of security attack that is being carried out can also be estimated.
- the attack estimation unit may compare one or more abnormalities detected within a predetermined time with one or more abnormalities defined by the attack pattern. According to this configuration, it is possible to detect whether or not a security attack has been received with higher accuracy.
- 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.
- At least one of the attack pattern and the abnormality to be detected may be determined according to the setting from the support device. According to this configuration, the user can freely make various settings including the setting of the attack pattern and the abnormality of the detection target on the support device.
- an input process for acquiring information input from the outside, a control operation executed with reference to the information acquired by the input process, and information calculated by the control operation are used. It includes a step of executing an output process for outputting to the outside and a step of detecting an abnormality that has occurred among a plurality of abnormalities to be detected. Each of the abnormalities to be detected is associated with any of input processing, control calculation and output processing.
- the control method refers to a database containing at least one attack pattern that defines one or more anomalies associated with a particular type of security attack, and is defined by any of the attack patterns contained in the database. Alternatively, it includes a step of determining whether or not the plurality of anomalies match the detected one or more anomalies, and a step of identifying that a security attack of the type associated with the attack pattern has been received. ..
- the control program is calculated by an input process for acquiring information input from the outside to a computer, a control operation executed with reference to the information acquired by the input process, and a control operation.
- a step of executing an output process for outputting the obtained information to the outside and a step of detecting an abnormality among a plurality of detection target abnormalities are executed.
- Each of the abnormalities to be detected is associated with any of input processing, control calculation and output processing.
- the control program refers to a database containing at least one attack pattern that defines one or more anomalies associated with a particular type of security attack on the computer, and one of the attack patterns contained in the database.
- FIG. 1 is a schematic diagram showing an application example of the control system 1 according to the present embodiment.
- FIG. 1 shows a functional configuration example of the control device 100 constituting the control system 1 according to the present embodiment.
- the control device 100 includes a processing execution unit 130 as a functional configuration for controlling a controlled object.
- the processing execution unit 130 includes an input unit 140, a control unit 150, and an output unit 160, and repeatedly executes the processing provided by each unit.
- the input unit 140 executes an input process for acquiring information input from the outside. More specifically, the input unit 140 acquires and processes information input from the outside such as the field device 300, the display operation terminal 400, the management server 500, and the gateway 600.
- the control unit 150 refers to the information acquired by the input unit 140 and executes a control operation specified by a user program or the like.
- the control unit 150 calculates or generates information to be output to the outside by a control calculation.
- the output unit 160 executes an output process for outputting the information calculated by the control calculation to the outside. More specifically, the output unit 160 outputs the 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.
- the process execution unit 130 externally inputs the input process for acquiring the information input from the outside, the control operation executed by referring to the information acquired by the input process, and the information calculated by the control operation. Executes output processing to output to.
- the control device 100 includes an attack monitoring unit 170 for providing a security function in addition to a functional configuration (input unit 140, control unit 150, output unit 160) for controlling a controlled object.
- the attack monitoring unit 170 detects an abnormality caused by a security attack on the control device 100, and also identifies the type of security attack that caused the detected abnormality.
- a security attack may be simply referred to as an "attack”.
- the attack monitoring unit 170 includes an abnormality detection unit 172 and an attack identification unit 176.
- the anomaly detection unit 172 detects an abnormality that has occurred among a plurality of anomalies to be detected. More specifically, the abnormality detection unit 172 determines whether or not an abnormality has occurred in the control device 100 based on the information obtained from at least one of the input unit 140, the control unit 150, and the output unit 160. ..
- each of the abnormalities to be detected is associated with any of an input process executed by the input unit 140, a control operation executed by the control unit 150, and an output process executed by the output unit 160.
- the abnormality detection unit 172 When the abnormality detection unit 172 detects an abnormality, it records the occurrence abnormality data 174 as information indicating the content of the detected abnormality.
- the attack identification unit 176 determines whether or not an attack has been received based on the occurrence abnormality data 174 recorded by the anomaly detection unit 172 with reference to the attack pattern database 178, and specifies the type of the attack being received. do.
- 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.
- the attack identification unit 176 determines that it is under attack, it outputs an attack identification result 180 including information on the specified attack type. More specifically, the attack identification unit 176 matches one or more anomalies defined by any of the attack patterns included in the attack pattern database 178 with one or more anomalies detected by the anomaly detection unit 172. Then, it is specified that the security attack of the type associated with the attack pattern is received.
- the attack identification result 180 may be used by the control device 100 to make the behavior different according to the identified attack, or may be analyzed ex post facto to determine the necessary security measures.
- the control device 100 detects an attack on the control device 100 by referring to a combination of information in each of the input unit 140, the control unit 150, and the output unit 160. At the same time, the type of attack detected can be identified.
- FIG. 2 is a schematic diagram showing a configuration example of the control system 1 according to the present embodiment.
- 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.
- the control device 100 is connected to the network. More specifically, the control device 100 is connected to the display operation terminal 400 and the management server 500 via the upper network 10.
- the upper network 10 is connected to the Internet via the gateway 600.
- one or a plurality of field devices 300 are connected via one or a plurality of field networks 20.
- FIG. 3 is a schematic diagram showing a hardware configuration example of the control device 100 constituting the control system 1 according to the present embodiment.
- the control device 100 is an example of a computer, and as main components, a processor 102 such as a CPU (Central Processing Unit) or a GPU (Graphical Processing Unit), a chip set 104, and a main storage device 106. It includes a secondary storage 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.
- a processor 102 such as a CPU (Central Processing Unit) or a GPU (Graphical Processing Unit)
- main storage device 106 main storage device 106.
- It includes a secondary storage 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.
- USB Universal Serial Bus
- the processor 102 reads out various programs stored in the secondary storage device 108, expands them in the main storage device 106, and executes them. As described later, in addition to the control functions originally provided by the control device 100, the processor 102 Achieve various processing.
- the chipset 104 mediates the exchange of data between the processor 102 and each component.
- various programs such as a user program are stored in addition to the system program 110 corresponding to the control program.
- the USB controller 112 is in charge of exchanging data with the support device 200 via the USB connection.
- a memory card 115 can be attached to and detached from the memory card interface 114, and data such as a system program 110 and various settings can be written to the memory card 115, or data such as a system program 110 and various settings can be written from the memory card 115. Can be read.
- Each of the network controllers 116 and 118 is in charge of exchanging data with any device via the network.
- the network controller 116 is in charge of communication via the upper network 10
- the network controller 118 is in charge of communication via the field network 20.
- the network controllers 116 and 118 may employ industrial network protocols such as EtherCAT®, EtherNet / IP®, DeviceNet®, and CompoNet®.
- the internal bus controller 122 is in charge of exchanging data with one or a plurality of functional units (local devices) (not shown).
- a manufacturer-specific communication protocol may be used for the internal bus, or a communication protocol that is the same as or compliant with any industrial network protocol may be used.
- FIG. 3 shows a configuration example in which the necessary functions are provided by the processor 102 executing a program, and some or all of these provided functions are provided by a dedicated hardware circuit (for example, ASIC). It may be implemented using (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array). Alternatively, the main part of the control device 100 may be realized by using hardware that follows a general-purpose architecture (for example, an industrial personal computer based on a general-purpose personal computer). In this case, a virtualization technique may be used to execute a plurality of OSs (Operating Systems) having different uses in parallel, and to execute necessary applications on each OS.
- OSs Operating Systems
- the support device 200 provides functions necessary for developing and maintaining a user program executed by the control device 100.
- the support device 200 further provides a function for supporting the setting of a security function mounted on the control device 100, which will be described later.
- the support device 200 is realized by using hardware (for example, a general-purpose personal computer) that follows a general-purpose architecture.
- the field device 300 controls a function of acquiring information from a control target (field) and providing it to the control device 100, and / or a command value (output value) calculated by a control operation executed by the control device 100. It has a function to provide to.
- the field device 300 may include, for example, a remote I / O terminal, a servo driver / motor, a robot, and the like. Further, the field device 300 may include any device such as a sensor, a temperature control unit, a pulse counter unit, a motion controller unit and the like.
- the remote I / O terminal is, for example, a digital input (DI) unit, a digital output (DO) unit, an analog output (AI) unit, an analog output (AO) unit, a pulse catch input unit, and a mixture of a plurality of types. It may include a composite unit and the like.
- the display operation terminal 400 presents various information calculated by the control calculation executed by the control device 100 to the user, and outputs the corresponding command to the control device 100 in response to the user operation.
- the management server 500 holds information necessary for production control and the like, and provides necessary information to the control device 100 for each predetermined cycle or event. Further, the management server 500 stores arbitrary information transmitted from the control device 100, and responds to the requested information in response to a search query or the like.
- the gateway 600 implements security measures for communication between the host network 10 and the Internet.
- the gateway 600 a known configuration can be adopted.
- FIG. 4 is a diagram showing an example of the content of an abnormality detected by the abnormality detection unit 172 of the control device 100 according to the present embodiment.
- the abnormality detection unit 172 can detect an input abnormality that may occur in the input unit 140, a control abnormality that may occur in the control unit 150, and an output abnormality that may occur in the output unit 160.
- the input abnormality may include, for example, a communication abnormality consisting of an abnormality related to a protocol, a file abnormality consisting of an abnormality related to a file, and an I / O abnormality consisting of an abnormality related to an input / output signal.
- the control abnormality is, for example, a system control abnormality consisting of an abnormality related to a control operation executed by the control unit 150 and a hardware resource abnormality consisting of an abnormality related to a hardware resource used for the control operation executed by the control unit 150. And may be included.
- the output abnormality may include a communication abnormality consisting of an abnormality related to data transmission and an I / O abnormality consisting of an abnormality related to an input / output signal.
- control device 100 cannot properly control the control target, it is considered that any of the abnormalities shown in FIG. 4 has occurred in any of the input unit 140, the control unit 150, and the output unit 160.
- the abnormality shown in FIG. 4 is an example, and any classification or type of abnormality that may occur in the input unit 140, the control unit 150, and the output unit 160 may be used.
- FIG. 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 the present embodiment.
- the abnormality detection unit 172 includes an abnormality recording unit 1730 for recording the occurrence abnormality data 174.
- the abnormality recording unit 1730 has an input abnormality detection unit 1720 as a function configuration for detecting an input abnormality, a control abnormality detection unit 1724 as a function configuration for detecting a control abnormality, and an output abnormality detection as a function configuration for detecting an output abnormality. Including part 1727.
- 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.
- the input abnormality detection unit 1720 outputs a detection signal from the communication abnormality detection unit 1721 for detecting a communication abnormality, the file abnormality detection unit 1722 for detecting a file abnormality, and the I / O abnormality detection unit 1723 for detecting an I / O abnormality. accept.
- the control abnormality detection unit 1724 receives a detection signal from the system control abnormality detection unit 1725 that detects a system control abnormality and the hardware resource abnormality detection unit 1726 that detects a hardware resource abnormality.
- the output abnormality detection unit 1727 receives a detection signal from the communication abnormality detection unit 1728 that detects a communication abnormality and the I / O abnormality detection unit 1729 that detects an I / O abnormality.
- 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, and the communication abnormality detection unit 1726 are used.
- a detection signal for identifying the detected abnormality is output.
- the detection signals output from each detection unit are aggregated and finally recorded as occurrence abnormality data 174.
- the communication abnormality detection unit 1721, the system control abnormality detection unit 1725, and the I / O abnormality detection unit 1729 each detect an abnormality.
- the abnormalities detected by each are described as "abnormality A”, “abnormality D", and "abnormality Z”.
- the occurrence abnormality data 174 may be configured in a table format in which the presence or absence of occurrence is associated with each abnormality content (abnormal item) detected by each detection unit, for example.
- abnormality data 174 " ⁇ " is recorded in the occurrence item corresponding to "abnormality A”, “abnormality D", and “abnormality Z”, and " ⁇ " is recorded in the other items. "-" Is recorded.
- the occurrence abnormality data 174 may be configured in a list format in which only the contents (abnormal items) of the detected abnormalities are stored.
- a list including three entries of "abnormality A", "abnormality D", and "abnormality Z" may be output as occurrence abnormality data 174.
- the occurrence abnormality data 174 may be generated or updated every predetermined cycle (for example, every control cycle), and is generated or updated only when any of the detection units detects the occurrence of an abnormality. You may.
- FIG. 6 is a schematic diagram showing a more detailed functional configuration example of the attack specifying unit 176 of the control device 100 according to the present embodiment.
- the attack identification unit 176 determines whether or not it has been attacked based on the occurrence abnormality data 174 recorded by the abnormality detection unit 172 with reference to the attack pattern database 178, and receives the attack. Identify the type of attack you are doing.
- the attack identification unit 176 includes an attack pattern acquisition unit 1760 and a comparison unit 1762.
- the attack pattern acquisition unit 1760 extracts 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 the combination of the contents (abnormal items) of one or a plurality of abnormalities. That is, the detected attack (attack pattern) is defined in association with one or a plurality of combinations of abnormalities detected by any of the input unit 140, the control unit 150, and the output unit 160.
- the comparison unit 1762 compares the attack pattern provided by the attack pattern acquisition unit 1760 with the occurrence abnormality data 174, and determines whether or not the occurrence abnormality data 174 matches any of the attack patterns. If the occurrence abnormality data 174 matches any of the attack patterns, the comparison unit 1762 identifies that the attack is of the type indicated by the matched attack pattern.
- FIG. 7 is a diagram for explaining an example of the attack pattern database 178 of the control device 100 according to the present embodiment.
- the attack pattern database 178 defines the corresponding anomalous combinations for attacks such as spoofing attacks, DoS attacks and DDoS attacks.
- the spoofing attack corresponds to the case where an illegal command reception (communication abnormality of input abnormality) and a time abnormality of specific processing (system control abnormality of control abnormality) are detected at the same time.
- the DoS attack corresponds to the case where excessive traffic (communication abnormality of input abnormality) and excessive CPU load factor (hardware resource abnormality of control abnormality) are detected at the same time.
- the DDoS attack corresponds to the case where a source error (input error communication error), traffic excess (input error communication error), and CPU load factor excess (control error hardware resource error) are detected at the same time. ..
- the combination of anomalies for each attack pattern shown in FIG. 7 is an example, and any attack pattern (not shown) may be defined, and any combination of anomalies associated with each attack pattern may be defined. You may. Further, for the attack pattern shown in FIG. 7, another combination of abnormalities may be adopted.
- FIG. 8 is a flowchart showing a processing procedure in the control system 1 according to the present embodiment. Each step shown in FIG. 8 is typically realized by the processor 102 of the control device 100 reading the system program 110 stored in the secondary storage device 108, deploying it in the main storage device 106, and executing the system program 110. May be done.
- the control device 100 determines whether or not the control cycle has arrived (step S2). If the control cycle has arrived (YES in step S2), the control device 100 executes an input process including acquisition of information about the control target via the local device and / or the field device (step S4). Subsequently, the control device 100 executes a control calculation using the acquired information about the control device (step S6). Further, the control device 100 executes an output process including outputting the calculation result output by executing the control calculation to the control target via the local device and / or the field device (step S8).
- the control device 100 is calculated by an input process for acquiring information input from the outside, a control operation executed with reference to the information acquired by the input process, and a control operation. Executes output processing that outputs the received information to the outside.
- control device 100 determines whether or not the abnormality detection cycle has arrived (step S10). If the abnormality detection cycle has not arrived (NO in step S10), the process of step S2 or less is repeated.
- step S10 If the abnormality detection cycle has arrived (YES in step S10), the control device 100 has an abnormality in any of the input process (input unit 140), the control operation (control unit 150), and the output process (output unit 160). It is determined whether or not it has occurred (step S12).
- step S12 If any of the input process (input unit 140), the control operation (control unit 150), and the output process (output unit 160) has an abnormality (YES in step S12), the control device 100 has occurred. An abnormality is detected (step S14) and recorded as occurrence abnormality data 174 (step S16). That is, the control device 100 executes a process of detecting an abnormality that has occurred among a plurality of abnormalities to be detected.
- step S12 If no abnormality has occurred in any of the input process (input unit 140), the control operation (control unit 150), and the output process (output unit 160) (NO in step S12), the processes in step S2 and subsequent steps are repeated. Is done.
- the control device 100 acquires one attack pattern by referring to the attack pattern database 178 (step S18), and determines whether or not the acquired attack pattern and the recorded occurrence abnormality data 174 match (step S20). .. That is, the control device 100 is included in the attack pattern database 178 with reference to the attack pattern database 178 including at least one attack pattern that defines one or a plurality of anomalies associated with a specific type of security attack. It is determined whether or not one or more anomalies specified by any of the attack patterns match the detected one or more anomalies.
- step S20 If the acquired attack pattern and the recorded occurrence abnormality data 174 match (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). That is, the control device 100 identifies that it has received a type of security attack associated with a matching attack pattern. Then, the process of step S2 or less is repeated.
- step S20 If the acquired attack pattern and the recorded occurrence abnormality data 174 do not match (NO in step S20), the control device 100 determines whether or not all the attack patterns included in the attack pattern database 178 have been acquired. (Step S24). If the acquisition of all the attack patterns included in the attack pattern database 178 is not completed (NO in step S24), the process of step S18 or lower is repeated.
- step S24 If the acquisition of all the attack patterns included in the attack pattern database 178 is completed (YES in step S24), the control device 100 determines that the attack has not been received (step S26), and the process of step S2 or less. repeat.
- FIG. 8 shows a processing example in which the control cycle and the abnormality detection cycle are set independently, but these may be common cycles.
- the control cycle may be set in the range of about 1 msec to several hundred msec
- the abnormality detection cycle may be set in the range of several msec to several sec.
- FIG. 9 is a schematic diagram showing a usage example of the attack identification result 180 in the control system 1 according to the present embodiment.
- the attack monitoring unit 170 of the control device 100 detects that it has been attacked, it notifies the control unit 150 that it has been attacked or has been attacked. Further, the attack monitoring unit 170 of the control device 100 may notify the control unit 150 of the specified type of attack.
- the control unit 150 may change the behavior of the control calculation in response to the notification from the attack monitoring unit 170. More specifically, the control unit 150 may implement security measures according to the content of the attack identification result 180. When the control unit 150 implements the security measures, the control unit 150 may be configured so that the security measures table 152 can be referred to.
- FIG. 10 is a diagram showing an example of a security measure table 152 in the control system 1 according to the present embodiment.
- the security countermeasure table 152 defines the correspondence between the attack pattern detected by the attack monitoring unit 170 and the security countermeasure implemented for each attack pattern.
- the processing execution unit 130 operates according to the corresponding security measures according to the type of security attack specified by the attack identification unit 176. More specifically, when the control unit 150 of the processing execution unit 130 receives the notification of the attack identification result 180 from the attack monitoring unit 170, the control unit 150 refers to the security countermeasure table 152 and has security corresponding to the attack pattern included in the notification. Decide what to do. Then, the control unit 150 operates according to the determined security measures. At this time, the operation according to the security measure includes different execution contents of the control operation.
- the security measures are described in natural language in FIG. 10, but considering the implementation of the control device 100, information for specifying the function block used for the corresponding security measures among the function blocks prepared in advance. May be included. Alternatively, a partial program or instruction code for realizing the security measures to be implemented may be included.
- the security measures for each attack pattern shown in FIG. 10 are an example, and any attack pattern (not shown) may be defined, and any security measures associated with each attack pattern may be defined. good.
- FIG. 11 is a schematic diagram showing an example of the network relay device 100A including the attack monitoring unit 170 according to the present embodiment.
- a network relay device 100A is arranged between the management server 500 and the control device 100. All data transmitted to and received from the control device 100 via the upper network 10 passes through the network relay device 100A.
- the attack monitoring unit 170 is mounted on the network relay device 100A.
- the network relay device 100A detects an abnormality due to a security attack on the control device 100 based on the data received by the control device 100 and the data transmitted by the control device 100, and also detects the abnormality. It is possible to identify the type of security attack that caused the anomaly. Then, the network relay device 100A reduces or deletes the threat by blocking an attack on the control device 100 or the like.
- the processing execution unit 130 operates according to the corresponding security measures according to the type of security attack specified by the attack identification unit 176.
- the attack identification result 180 including the information of the specified attack type is notified to the output unit 160 of the network relay device 100A.
- the output unit 160 may change the behavior of the output processing of the network relay device 100A in response to the notification from the attack monitoring unit 170. More specifically, the output unit 160 may implement security measures according to the content of the attack identification result 180. When the output unit 160 implements the security measure, the output unit 160 may be configured so that the security measure table 162 can be referred to.
- FIG. 12 is a diagram showing an example of a security measure table 162 in the control system 1 according to the present embodiment.
- the security countermeasure table 162 defines the correspondence between the attack patterns detected by the attack monitoring unit 170 and the security countermeasures implemented for each attack pattern.
- the security measure table 162 defines the behavior for the output unit 160 of the network relay device 100A to block an attack. According to the provisions of the security measure table 162, the output unit 160 of the network relay device 100A adjusts the presence / absence of interruption and the range of interruption. As described above, the operation according to the security measure includes limiting the output by the output processing.
- the security measures are described in natural language in FIG. 12, but considering the implementation of the network relay device 100A, the function blocks used for the corresponding security measures are specified among the function blocks prepared in advance. Information may be included. Alternatively, a partial program or instruction code for realizing the security measures to be implemented may be included.
- the security measures for each attack pattern shown in FIG. 12 are an example, and any attack pattern (not shown) may be defined, and any security measures associated with each attack pattern may be defined. good.
- attack estimation function In the above description, the configuration in which the match between the occurrence abnormality data 174 and one of the attack patterns is determined as the condition for determining that the attack is being made is illustrated, but even if the match does not completely match, the presence or absence of the attack is determined.
- a function that can be estimated attack estimation unit 190 may be implemented. That is, even if the occurrence abnormality data 174 does not match any of the attack patterns, if some similarity is found, it may be presumed that there is a high possibility of being attacked.
- 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 the present embodiment.
- the attack estimation unit 190 receives an attack based on the occurrence abnormality data 174 recorded by the abnormality detection unit 172 with reference to the attack pattern database 178, similarly to the attack identification unit 176 described above. Determine if it is. If the attack estimation unit 190 determines that it is under attack, the attack estimation unit 190 may specify the type of the attack.
- the attack estimation unit 190 is based on the degree of coincidence between the one or more anomalies defined by any of the attack patterns included in the attack pattern database 178 and the one or more anomalies detected by the anomaly detection unit 172. , Estimate whether or not a security attack of the type associated with the attack pattern has been received.
- the attack estimation unit 190 includes a matching degree calculation unit 192 and a matching degree evaluation unit 194.
- the matching degree calculation unit 192 calculates the matching degree indicating how much the match is with the occurrence abnormality data 174 for each attack pattern registered in the attack pattern database 178.
- the matching degree calculation unit 192 outputs an attack pattern matching degree 196 indicating the matching degree calculated for each attack pattern.
- the matching degree calculation unit 192 may, for example, normalize the degree of matching between the occurrence abnormality data 174 and the attack pattern to a value of 0 to 1 and then calculate it as the matching degree.
- the match degree evaluation unit 194 evaluates the match degree 196 for each attack pattern calculated by the match degree calculation unit 192, and determines whether or not the player has been attacked.
- the matching degree having a similarity judgment threshold value 198 or more is set. It may be identified as being under attack of the type indicated by the corresponding attack pattern. In the example shown in FIG. 13, "0.5" is defined as the similarity determination threshold value 198, and "attack pattern 1" indicating "0.7" equal to or higher than the similarity determination threshold value 198 is considered to be effective. Be selected. That is, it can be estimated that the attack is of the type shown in "attack pattern 1".
- the attack pattern showing the highest similarity is selected, and the attack of the type indicated by the selected attack pattern is received. It may be specified. In the example shown in FIG. 13, “attack pattern 1” indicating “0.7”, which is the highest degree of agreement, is selected. That is, it can be estimated that the attack is of the type shown in "attack pattern 1".
- the determination condition is not limited to the similarity determination threshold value 198 or the maximum similarity as described above, and any condition can be adopted. Judgment that the first and second values of similarity are separated by a predetermined threshold value or more, or that all values other than the first value of similarity are less than a predetermined threshold value. Conditions may be adopted.
- Such an attack estimation function is also effective, for example, when detecting a variant or variant of a known security attack.
- FIG. 14 is a schematic diagram showing a functional configuration example for improving the specific accuracy / estimation accuracy in the control device 100 according to the present embodiment.
- the attack monitoring unit 170 includes a timer 182 in addition to the anomaly detection unit 172, the attack identification unit 176, and the attack estimation unit 190.
- the attack estimation unit 190 does not necessarily have to be implemented.
- the timer 182 starts counting when the abnormality detection unit 172 detects some abnormality. When a predetermined time has elapsed from the start of counting, the timer 182 notifies the attack specifying unit 176 and the attack estimation unit 190 of the lapse of the time.
- the attack identification unit 176 determines whether or not the attack is being received by referring to the occurrence abnormality data 174 recorded at the timing, and specifies the type of the attack being received. do.
- the attack estimation unit 190 receives the notification from the timer 182, it estimates whether or not it has been attacked by referring to the occurrence abnormality data 174 recorded at that timing, and also receives the attack. Estimate the type.
- the logical sum of the abnormalities detected during the period from the start of counting of the timer 182 to the elapse of a predetermined time may be recorded as the occurrence abnormality data 174. That is, the abnormalities that have occurred at any timing within the time until the notification from the timer 182 is issued may be aggregated as one occurrence abnormality data 174.
- the attack identification unit 176 and / or the attack estimation unit 190 will compare one or more abnormalities detected within a predetermined time with one or more abnormalities defined by the attack pattern.
- the predetermined time detected by the timer 182 may be determined according to the control cycle 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, and the like.
- the abnormality is detected at a certain timing (one shot). Attacks that cannot be detected by a combination of one or more anomalies can be identified and / or estimated.
- FIG. 15 is a schematic diagram showing a configuration example focusing on the notification of the attack identification result 180 in the control system 1 according to the present embodiment.
- the control system 1 includes, for example, a control device 100 and a network relay device 100A.
- Each of the control device 100 and the network relay device 100A includes an attack identification unit 176 and a notification unit 184.
- the attack identification unit 176 determines that it is under attack, it outputs an attack identification result 180 including information on the specified attack type.
- the notification unit 184 notifies the management server 500 and / or the management server 500A of the attack identification result 180.
- the notification unit 184 may notify the management server 500 and / or the management server 500A of the attack identification result 180.
- control device 100 provides 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 to a device other than the control device 100.
- a notification unit 184 may be implemented to notify the user.
- the management server 500 may be arranged in a factory including a control target controlled by the control system 1, for example. By aggregating the attack identification results 180, the management server 500 may grasp the status of the attack that occurred in the factory including the control target and determine the security measures in the target factory.
- the management server 500A may be arranged outside the factory including the control target controlled by the control system 1, for example.
- the management server 500A may be operated, for example, by an entity different from the factory operator (for example, a management company having a higher degree of expertise of the contractor). By aggregating the attack identification results 180 on the management server 500A, it is possible to perform a deeper analysis of security measures.
- a normal network may be used, or a dedicated line (for example, a public wireless line such as 5G or 4G) may be used. You may use it.
- a dedicated line for example, a public wireless line such as 5G or 4G. You may use it.
- the attack specific result 180 can be notified easily and at low cost.
- a dedicated line the attack specific result 180 can be notified even in a situation where communication is not possible due to a DoS attack or a DDoS attack.
- the notification unit 184 can realize the collection and analysis of the attack identification result 180 even in a situation where communication is not possible.
- Support device 200 The content of the control calculation executed by the control device 100 constituting the control system 1 according to the present embodiment is determined by the user programming or setting using the support device 200.
- FIG. 16 is a schematic diagram showing a configuration example focusing on the support device 200 in the control system 1 according to the present embodiment.
- the user operates the support device 200 to generate data for defining control operations 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.
- the task setting 202 and the user program 206 define, for example, the contents of the control calculation executed by the control unit 150 of the control device 100.
- the network configuration 204 defines, for example, the contents of the input processing executed by the input unit 140 and the output processing executed by the output unit 160.
- the support device 200 can arbitrarily set the behavior of the attack monitoring unit 170 and / or the attack estimation unit 190 mounted on the control device 100 according to the user operation.
- the user operates the support device 200 to generate the attack monitoring unit setting 208.
- the attack monitoring unit setting 208 includes an abnormality detection setting 173, which is a rule for the abnormality detection unit 172 and / or the attack estimation unit 190 of the control device 100 to detect an abnormality, and an attack identification unit 176 and / or an attack of the control device 100. It includes at least a part of the contents of the attack pattern database 178 referred to by the estimation unit 190.
- 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.
- the setting items of the abnormality detection setting 173 may include an abnormality detection target, an abnormality detection range, an abnormality detection condition, and the like.
- the abnormality detection target defines the target for detecting the occurrence of an abnormality.
- hardware such as a communication port and software settings such as a packet transmission protocol can be specified.
- “communication port 1” can be set to “valid” or “invalid” as an abnormality detection target. When “communication port 1" is set to “valid”, it is an abnormality detection target, and when “communication port 1" is set to “invalid”, it is excluded from the abnormality detection target.
- the abnormality detection range defines the range in which the occurrence of an abnormality is detected. For example, in a state where a plurality of types of illegal commands are assumed, only a specific illegal command may be specified as an abnormality detection target. .. For example, “all commands” may be set in which all invalid commands are targeted for abnormality detection, or "command A only” may be set in which only specific invalid commands A are targeted for abnormality detection.
- the abnormality detection condition defines the condition for determining that an abnormality has occurred, and includes, for example, a threshold value for detecting "excessive traffic". For example, "80%" or “50%” may be set as a threshold value for detecting "excessive traffic". Alternatively, the threshold value may be set arbitrarily.
- the user operates the support device 200 and sets the contents as shown in FIG. 17, so that the abnormality detection setting 173 is generated.
- the abnormality detection setting 173 is transferred to the control device 100 and reflected in the abnormality detection unit 172.
- the abnormality detection unit 172 determines the abnormality to be detected according to the abnormality detection setting 173 provided by the support device 200.
- the content of the abnormality detection setting 173 may be set to an initial value in advance in association with the content of the abnormality referred to in the attack pattern database 178 mounted on the control device 100.
- 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 abnormality detection setting 173.
- any abnormality associated with the attack pattern included in the attack pattern database 178 may be processed as one of the following.
- the user may operate the support device 200 to set which of the above-mentioned processes should be selected.
- the user can freely change or enable / disable the attack pattern and the abnormality to be detected included in the attack pattern database 178 according to the settings from the support device 200. .. That is, the abnormality to be detected may be determined according to the abnormality detection setting 173 provided by the support device 200. Further, the attack pattern database 178 may be set or changed from the support device 200.
- a control device including an attack specifying unit (176) that identifies receiving.
- the control device according to configuration 1 wherein the processing execution unit operates according to the corresponding security measures according to the type of security attack specified by the attack identification unit.
- the operation according to the corresponding security measure includes different execution contents of the control calculation.
- the operation according to the corresponding security measure includes limiting the output by the output process.
- the control device according to any one of configurations 1 to 4, further comprising an attack estimation unit (190) for estimating whether or not a security attack has been received.
- an attack estimation unit (190) for estimating whether or not a security attack has been received.
- the attack estimation unit compares one or a plurality of abnormalities detected within a predetermined time with one or a plurality of abnormalities defined by an attack pattern.
- the control device according to configuration 7 or 8, further comprising a notification unit (184) for notifying a device other than the control device of information on the type of security attack estimated by the attack estimation unit.
- 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 the setting from the support device (200).
- Step 11 An input process for acquiring information input from the outside, a control operation executed with reference to the information acquired by the input process, and an output process for outputting the information calculated by the control operation to the outside are executed. Steps to be performed (S2 to S8) and A step (S14, S16) for detecting an abnormality that has occurred among a plurality of abnormalities to be detected is provided, and each of the abnormalities to be detected is associated with any of the input process, the control operation, and the output process. And With reference to a database containing at least one attack pattern that defines one or more anomalies associated with a particular type of security attack, one or more attack patterns specified by any of the attack patterns contained in the database.
- the control program (110) to the computer (100) An input process for acquiring information input from the outside, a control operation executed with reference to the information acquired by the input process, and an output process for outputting the information calculated by the control operation to the outside are executed. Steps to be performed (S2 to S8) and The steps (S14, S16) for detecting the occurrence of the abnormality among the plurality of detection target abnormalities are executed, and each of the detection target abnormalities is associated with any of the input process, the control calculation, and the output process.
- the control device detects an abnormality that occurs in any of input processing, control calculation, and output processing, and one or a plurality of detected abnormalities and one or a predetermined attack pattern. By determining whether or not a plurality of anomalies match, it is possible to identify that a security attack of the type associated with the attack pattern has been received. As a result, it is possible to detect that a security attack has been received, and it is also possible to identify the type of the security attack that is being received. As a result, appropriate security measures can be implemented according to the type of security attack being received.
- 1 control system 10 upper network, 20 field network, 100 control device, 100A network relay device, 102 processor, 104 chipset, 106 main storage device, 108 secondary storage 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 countermeasure table, 160 output unit, 170 attack monitoring unit, 172 abnormality detection unit , 173 abnormality detection setting, 174 occurrence abnormality 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 Attack pattern matching degree, 198 threshold, 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 abnormality detection unit, 1721, 1728 communication abnormality detection unit
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)
Abstract
制御装置は、外部から入力される情報を取得する入力処理と、入力処理により取得された情報を参照して実行される制御演算と、制御演算によって算出された情報を外部へ出力する出力処理とを実行する処理実行部と、複数の検出対象の異常のうち発生した異常を検出する異常検出部と、特定の種類のセキュリティ攻撃に対応付けられた1または複数の異常を規定する攻撃パターン、を少なくとも1つ含むデータベースと、データベースに含まれるいずれかの攻撃パターンが規定する1または複数の異常と、異常検出部により検出された1または複数の異常とが一致すると、当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けていると特定する攻撃特定部とを含む。
Description
本発明は、制御装置を含む制御システムにおけるセキュリティ機能に関する。
近年、工場などの製造現場では、マルウェアなどの被害が発生しており、PLC(プログラマブルロジックコントローラ)などの制御装置についてもセキュリティ対策が必要となっている。多層防御の考え方に従えば、工場内外を繋ぐインターフェイスおよび工場内のネットワークだけでなく、生産設備を構成する制御装置自体にもセキュリティ対策を実施する必要がある。
国際公開第2018/181253号(特許文献1)は、既存の製造システムに大幅な改変を加えることなく、製造システムにおける異常を検出する構成を開示する。
特許文献1に開示される構成は、既存の製造システムにデータ分析装置などを追加するものであり、制御装置自体にセキュリティ対策を実施するものではない。また、特許文献1に開示される構成は、製造システムに異常があるか否かを判定するものであり、セキュリティ攻撃を受けた場合に、当該攻撃の種類を特定するような方法については開示されていない。
本発明は、制御装置自体にセキュリティ対策を実施するとともに、何らかのセキュリティ攻撃を受けた場合に、当該セキュリティ攻撃の種類を特定することも可能な構成を提供することを一つの目的としている。
本発明のある局面に従う制御装置は、外部から入力される情報を取得する入力処理と、入力処理により取得された情報を参照して実行される制御演算と、制御演算によって算出された情報を外部へ出力する出力処理とを実行する処理実行部と、複数の検出対象の異常のうち発生した異常を検出する異常検出部とを含む。検出対象の異常の各々は、入力処理、制御演算および出力処理のいずれかに関連付けられている。制御装置は、特定の種類のセキュリティ攻撃に対応付けられた1または複数の異常を規定する攻撃パターン、を少なくとも1つ含むデータベースと、データベースに含まれるいずれかの攻撃パターンが規定する1または複数の異常と、異常検出部により検出された1または複数の異常とが一致すると、当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けていると特定する攻撃特定部とを含む。
この構成によれば、入力処理、制御演算および出力処理のいずれかで発生した異常を検出するとともに、検出された1または複数の異常と予め用意された攻撃パターンが規定する1または複数の異常とが一致するか否かを判断することで、当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けていることを特定できる。これによって、セキュリティ攻撃を受けていることを検出できるとともに、当該受けているセキュリティ攻撃の種類も特定できる。
処理実行部は、攻撃特定部により特定されたセキュリティ攻撃の種類に応じて、対応するセキュリティ対策に応じた動作してもよい。この構成によれば、特定されたセキュリティ攻撃の種類に応じて、適切なセキュリティ対策を実施できる。
対応するセキュリティ対策に応じた動作は、制御演算の実行内容を異ならせることを含んでいてもよい。この構成によれば、制御演算の実行内容を異ならせることで、適切なセキュリティ対策を実現できる。
対応するセキュリティ対策に応じた動作は、出力処理による出力を制限することを含んでいてもよい。この構成によれば、出力処理による出力を制限することで、適切なセキュリティ対策を実現できる。
攻撃特定部は、予め定められた時間内に検出された1または複数の異常を、攻撃パターンが規定する1または複数の異常と比較してもよい。この構成によれば、セキュリティ攻撃を受けているか否かをより高い精度で検出できる。
制御装置は、攻撃特定部により特定されたセキュリティ攻撃の種類の情報を、制御装置以外の装置へ通知する通知部をさらに含んでいてもよい。この構成によれば、システム全体におけるセキュリティ攻撃の発生状況を把握でき、より適切なセキュリティ対策を実施できる。
制御装置は、データベースに含まれるいずれかの攻撃パターンが規定する1または複数の異常と、異常検出部により検出された1または複数の異常との一致度合いに基づいて、当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けているか否かを推定する攻撃推定部をさらに含んでいてもよい。この構成によれば、攻撃パターンが規定する1または複数の異常と全く一致しなくても、ある程度の類似性が認められるような場合には、セキュリティ攻撃を受けていると決定できるとともに、当該受けているセキュリティ攻撃の種類も推定できる。
攻撃推定部は、予め定められた時間内に検出された1または複数の異常を、攻撃パターンが規定する1または複数の異常と比較してもよい。この構成によれば、セキュリティ攻撃を受けているか否かをより高い精度で検出できる。
制御装置は、攻撃推定部により推定されたセキュリティ攻撃の種類の情報を、制御装置以外の装置へ通知する通知部をさらに含んでいてもよい。この構成によれば、システム全体におけるセキュリティ攻撃の発生状況を把握でき、より適切なセキュリティ対策を実施できる。
サポート装置からの設定に従って、攻撃パターンおよび検出対象の異常の少なくとも一方が決定されてもよい。この構成によれば、ユーザは、サポート装置上で攻撃パターンおよび検出対象の異常の設定を含む各種設定を自由に行うことができる。
本発明の別の局面に従う制御方法は、外部から入力される情報を取得する入力処理と、入力処理により取得された情報を参照して実行される制御演算と、制御演算によって算出された情報を外部へ出力する出力処理とを実行するステップと、複数の検出対象の異常のうち発生した異常を検出するステップとを含む。検出対象の異常の各々は、入力処理、制御演算および出力処理のいずれかに関連付けられている。制御方法は、特定の種類のセキュリティ攻撃に対応付けられた1または複数の異常を規定する攻撃パターン、を少なくとも1つ含むデータベースを参照して、データベースに含まれるいずれかの攻撃パターンが規定する1または複数の異常と、検出された1または複数の異常とが一致するか否かを判断するステップと、当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けていると特定するステップとを含む。
本発明のさらに別の局面に従う制御プログラムは、コンピュータに、外部から入力される情報を取得する入力処理と、入力処理により取得された情報を参照して実行される制御演算と、制御演算によって算出された情報を外部へ出力する出力処理とを実行するステップと、複数の検出対象の異常のうち発生した異常を検出するステップとを実行させる。検出対象の異常の各々は、入力処理、制御演算および出力処理のいずれかに関連付けられている。制御プログラムは、コンピュータに、特定の種類のセキュリティ攻撃に対応付けられた1または複数の異常を規定する攻撃パターン、を少なくとも1つ含むデータベースを参照して、データベースに含まれるいずれかの攻撃パターンが規定する1または複数の異常と、検出された1または複数の異常とが一致するか否かを判断するステップと、当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けていると特定するステップとを実行させる。
本発明によれば、制御装置自体にセキュリティ対策を実施するとともに、何らかのセキュリティ攻撃を受けた場合に、当該セキュリティ攻撃の種類を特定することが可能になる。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<A.適用例>
本発明が適用される場面の一例について説明する。
本発明が適用される場面の一例について説明する。
図1は、本実施の形態に係る制御システム1の適用例を示す模式図である。図1には、本実施の形態に係る制御システム1を構成する制御装置100の機能構成例を示す。
図1を参照して、制御装置100は、制御対象を制御するための機能構成として、処理実行部130を含む。処理実行部130は、入力部140と、制御部150と、出力部160とを含み、各部が提供する処理を繰り返し実行する。
入力部140は、外部から入力される情報を取得する入力処理を実行する。より具体的には、入力部140は、フィールドデバイス300、表示操作端末400、管理サーバ500、および、ゲートウェイ600などの外部から入力される情報を取得して処理する。
制御部150は、入力部140により取得された情報を参照して、ユーザプログラムなどによって規定される制御演算を実行する。制御部150は、制御演算によって、外部へ出力すべき情報を算出あるいは生成する。
出力部160は、制御演算によって算出された情報を外部へ出力する出力処理を実行する。より具体的には、出力部160は、制御部150が算出あるいは生成した情報を、フィールドデバイス300、表示操作端末400、管理サーバ500、および、ゲートウェイ600などの外部へ出力する。
このように、処理実行部130は、外部から入力される情報を取得する入力処理と、入力処理により取得された情報を参照して実行される制御演算と、制御演算によって算出された情報を外部へ出力する出力処理とを実行する。
制御装置100は、制御対象を制御するための機能構成(入力部140、制御部150、出力部160)に加えて、セキュリティ機能を提供するための攻撃監視部170を含む。攻撃監視部170は、制御装置100に対するセキュリティ攻撃による異常を検出するとともに、当該検出された異常を生じさせたセキュリティ攻撃の種類などを特定する。なお、以下の説明においては、セキュリティ攻撃を単に「攻撃」と称することもある。
より具体的には、攻撃監視部170は、異常検出部172と、攻撃特定部176とを含む。
異常検出部172は、複数の検出対象の異常のうち発生した異常を検出する。より具体的には、異常検出部172は、入力部140、制御部150および出力部160の少なくとも1つから得られる情報に基づいて、制御装置100に異常が発生しているか否かを判断する。ここで、検出対象の異常の各々は、入力部140で実行される入力処理、制御部150で実行される制御演算、および出力部160で実行される出力処理のいずれかに関連付けられている。
異常検出部172は、異常を検出すると、検出した異常の内容を示す情報として、発生異常データ174を記録する。
攻撃特定部176は、攻撃パターンデータベース178を参照して、異常検出部172が記録した発生異常データ174に基づいて、攻撃を受けているか否かを判断するとともに、受けている攻撃の種類を特定する。
攻撃パターンデータベース178は、特定の種類のセキュリティ攻撃に対応付けられた1または複数の異常を規定する攻撃パターンを少なくとも1つ含む。
攻撃特定部176は、攻撃を受けていると判断すると、特定した攻撃の種類の情報を含む攻撃特定結果180を出力する。より具体的には、攻撃特定部176は、攻撃パターンデータベース178に含まれるいずれかの攻撃パターンが規定する1または複数の異常と、異常検出部172により検出された1または複数の異常とが一致すると、当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けていると特定する。
攻撃特定結果180は、制御装置100が特定された攻撃に応じて挙動を異ならせるために用いてもよいし、必要なセキュリティ対策を決定するために事後的に解析されてもよい。
図1に示すように、本実施の形態に係る制御装置100は、入力部140、制御部150および出力部160のそれぞれにおける情報を組合せて参照することで、制御装置100への攻撃を検出するとともに、検出された攻撃の種類を特定できる。
<B.ハードウェア構成例>
まず、本実施の形態に係る制御システム1のハードウェア構成例について説明する。
まず、本実施の形態に係る制御システム1のハードウェア構成例について説明する。
(b1:システム構成例)
図2は、本実施の形態に係る制御システム1の構成例を示す模式図である。図2を参照して、制御システム1は、制御装置100と、サポート装置200と、表示操作端末400と、管理サーバ500と、ゲートウェイ600とを含む。
図2は、本実施の形態に係る制御システム1の構成例を示す模式図である。図2を参照して、制御システム1は、制御装置100と、サポート装置200と、表示操作端末400と、管理サーバ500と、ゲートウェイ600とを含む。
図2に示す構成例において、制御装置100は、ネットワークに接続されている。より具体的には、制御装置100は、上位ネットワーク10を介して、表示操作端末400および管理サーバ500が接続されている。上位ネットワーク10は、ゲートウェイ600を介して、インターネットに接続されている。また、制御装置100は、1または複数のフィールドネットワーク20を介して、1または複数のフィールドデバイス300が接続されている。
(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とを含む。
図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とを含む。
プロセッサ102は、二次記憶装置108に格納された各種プログラムを読み出して、主記憶装置106に展開して実行することで、制御装置100が本来的に提供する制御機能に加えて、後述するような各種処理を実現する。チップセット104は、プロセッサ102と各コンポーネントとの間のデータの遣り取りを仲介する。
二次記憶装置108には、制御プログラムに相当するシステムプログラム110に加えて、ユーザプログラムなどの各種プログラムが格納される。
USBコントローラ112は、USB接続を介して、サポート装置200との間のデータの遣り取りを担当する。
メモリカードインターフェイス114は、メモリカード115が着脱可能になっており、メモリカード115に対してシステムプログラム110や各種設定などのデータを書込み、あるいは、メモリカード115からシステムプログラム110や各種設定などのデータを読出すことが可能になっている。
ネットワークコントローラ116,118の各々は、ネットワークを介した任意のデバイスとの間のデータの遣り取りを担当する。例えば、ネットワークコントローラ116は、上位ネットワーク10を介した通信を担当し、ネットワークコントローラ118は、フィールドネットワーク20を介した通信を担当する。ネットワークコントローラ116,118は、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などの産業用ネットワークプロトコルを採用してもよい。
内部バスコントローラ122は、図示しない1または複数の機能ユニット(ローカルデバイス)との間のデータの遣り取りを担当する。内部バスには、メーカ固有の通信プロトコルを用いてもよいし、いずれかの産業用ネットワークプロトコルと同一あるいは準拠した通信プロトコルを用いてもよい。
図3には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、制御装置100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
(b3:サポート装置200)
サポート装置200は、制御装置100で実行されるユーザプログラムの開発やメンテナンスなどに必要な機能を提供する。サポート装置200は、さらに、後述するような、制御装置100に実装されるセキュリティ機能の設定などを支援するための機能を提供する。
サポート装置200は、制御装置100で実行されるユーザプログラムの開発やメンテナンスなどに必要な機能を提供する。サポート装置200は、さらに、後述するような、制御装置100に実装されるセキュリティ機能の設定などを支援するための機能を提供する。
サポート装置200は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いて実現される。
(b4:フィールドデバイス300)
フィールドデバイス300は、制御対象(フィールド)から情報を取得して制御装置100へ提供する機能、および/または、制御装置100で実行される制御演算によって算出される指令値(出力値)を制御対象へ提供する機能を有している。
フィールドデバイス300は、制御対象(フィールド)から情報を取得して制御装置100へ提供する機能、および/または、制御装置100で実行される制御演算によって算出される指令値(出力値)を制御対象へ提供する機能を有している。
フィールドデバイス300は、例えば、リモートI/Oターミナル、サーボドライバ・モータ、ロボットなどを含み得る。さらに、フィールドデバイス300は、センサ、温度調整ユニット、パルスカウンタユニット、モーションコントローラユニットなどの任意のデバイスを含み得る。
リモートI/Oターミナルは、例えば、デジタル入力(DI)ユニット、デジタル出力(DO)ユニット、アナログ出力(AI)ユニット、アナログ出力(AO)ユニット、パルスキャッチ入力ユニット、および、複数の種類を混合させた複合ユニットなどを含み得る。
(b5:表示操作端末400)
表示操作端末400は、制御装置100で実行される制御演算によって算出される各種情報をユーザへ提示するとともに、ユーザ操作に応じて、対応する指令を制御装置100へ出力する。
表示操作端末400は、制御装置100で実行される制御演算によって算出される各種情報をユーザへ提示するとともに、ユーザ操作に応じて、対応する指令を制御装置100へ出力する。
(b6:管理サーバ500)
管理サーバ500は、生産管理などに必要な情報を保持しており、予め定められた周期毎あるいはイベント毎に、必要な情報を制御装置100へ提供する。また、管理サーバ500は、制御装置100から送信される任意の情報を格納するとともに、検索クエリなどに応じて、要求された情報を応答する。
管理サーバ500は、生産管理などに必要な情報を保持しており、予め定められた周期毎あるいはイベント毎に、必要な情報を制御装置100へ提供する。また、管理サーバ500は、制御装置100から送信される任意の情報を格納するとともに、検索クエリなどに応じて、要求された情報を応答する。
(b7:ゲートウェイ600)
ゲートウェイ600は、上位ネットワーク10とインターネットとの間の通信に対して、セキュリティ対策を実施する。ゲートウェイ600としては、公知の構成を採用できる。
ゲートウェイ600は、上位ネットワーク10とインターネットとの間の通信に対して、セキュリティ対策を実施する。ゲートウェイ600としては、公知の構成を採用できる。
<C.機能構成例>
次に、本実施の形態に係る制御システム1の機能構成例について説明する。
次に、本実施の形態に係る制御システム1の機能構成例について説明する。
(c1:異常検出部)
図4は、本実施の形態に係る制御装置100の異常検出部172により検出される異常の内容例を示す図である。図4を参照して、異常検出部172は、入力部140において生じ得る入力異常、制御部150において生じ得る制御異常、出力部160において生じ得る出力異常を検出できる。
図4は、本実施の形態に係る制御装置100の異常検出部172により検出される異常の内容例を示す図である。図4を参照して、異常検出部172は、入力部140において生じ得る入力異常、制御部150において生じ得る制御異常、出力部160において生じ得る出力異常を検出できる。
入力異常は、例えば、プロトコルに関する異常などからなる通信異常と、ファイルに関する異常などからなるファイル異常と、入出力信号に関する異常などからなるI/O異常とを含んでいてもよい。
制御異常は、例えば、制御部150で実行される制御演算に関する異常などからなるシステム制御異常と、制御部150で実行される制御演算に利用されるハードウェアリソースに関する異常などからなるハードウェアリソース異常とを含んでいてもよい。
出力異常は、データ送信に関する異常などからなる通信異常と、入出力信号に関する異常などからなるI/O異常とを含んでいてもよい。
制御装置100が制御対象を適切に制御できない場合には、入力部140、制御部150および出力部160のいずれかにおいて、図4に示すいずれかの異常が発生していると考えられる。
なお、図4に示される異常は、一例であり、入力部140、制御部150および出力部160に生じ得る異常の分類や種類については、どのようなものであってもよい。
図5は、本実施の形態に係る制御装置100の異常検出部172のより詳細な機能構成例を示す模式図である。図5を参照して、異常検出部172は、発生異常データ174を記録するための異常記録部1730を含む。
異常記録部1730は、入力異常を検出する機能構成として、入力異常検出部1720と、制御異常を検出する機能構成として、制御異常検出部1724と、出力異常を検出する機能構成として、出力異常検出部1727とを含む。異常記録部1730は、入力異常検出部1720と、制御異常検出部1724と、出力異常検出部1727とから検出信号を受け付ける。
入力異常検出部1720は、通信異常を検出する通信異常検出部1721と、ファイル異常を検出するファイル異常検出部1722と、I/O異常を検出するI/O異常検出部1723とから検出信号を受け付ける。
制御異常検出部1724は、システム制御異常を検出するシステム制御異常検出部1725と、ハードウェアリソース異常を検出するハードウェアリソース異常検出部1726とから検出信号を受け付ける。
出力異常検出部1727は、通信異常を検出する通信異常検出部1728と、I/O異常を検出するI/O異常検出部1729とから検出信号を受け付ける。
制御装置100の異常検出部172においては、通信異常検出部1721、ファイル異常検出部1722、I/O異常検出部1723、システム制御異常検出部1725、ハードウェアリソース異常検出部1726、通信異常検出部1728、および、I/O異常検出部1729の各々が担当する異常の発生を検出すると、その検出した異常を特定するための検出信号を出力する。それぞれの検出部から出力された検出信号は、集約されて、最終的に発生異常データ174として記録される。
図5に示す例では、通信異常検出部1721、システム制御異常検出部1725およびI/O異常検出部1729がそれぞれ異常を検出している。説明の便宜上、それぞれが検出した異常を「異常A」、「異常D」および「異常Z」と記載している。
発生異常データ174は、例えば、それぞれの検出部が検出する異常の内容(異常項目)毎に発生の有無を対応付けたテーブル形式で構成してもよい。図5に示す例では、発生異常データ174においては、「異常A」、「異常D」および「異常Z」に対応する発生の項目に「○」が記録されており、それ以外の項目には「-」が記録されている。
発生異常データ174は、検出された異常の内容(異常項目)のみを格納するリスト形式で構成してもよい。図5に示す例では、「異常A」、「異常D」および「異常Z」の3つのエントリを含むリストを発生異常データ174として出力するようにしてもよい。
発生異常データ174は、予め定められた周期毎(例えば、制御周期毎)に生成あるいは更新されてもよいし、いずれかの検出部が異常の発生を検出したときに限って、生成あるいは更新されてもよい。
(c2:攻撃特定部)
図6は、本実施の形態に係る制御装置100の攻撃特定部176のより詳細な機能構成例を示す模式図である。図6を参照して、攻撃特定部176は、攻撃パターンデータベース178を参照して、異常検出部172が記録した発生異常データ174に基づいて、攻撃を受けているか否かを判断するとともに、受けている攻撃の種類を特定する。
図6は、本実施の形態に係る制御装置100の攻撃特定部176のより詳細な機能構成例を示す模式図である。図6を参照して、攻撃特定部176は、攻撃パターンデータベース178を参照して、異常検出部172が記録した発生異常データ174に基づいて、攻撃を受けているか否かを判断するとともに、受けている攻撃の種類を特定する。
より具体的には、攻撃特定部176は、攻撃パターン取得部1760および比較部1762を含む。
攻撃パターン取得部1760は、攻撃パターンデータベース178に登録されている攻撃パターンを一件ずつ取り出して、比較部1762へ供給する。攻撃パターンデータベース178は、1または複数の異常の内容(異常項目)の組合せによって、受けている攻撃の種類(攻撃パターン)を定義する。すなわち、検出される攻撃(攻撃パターン)は、入力部140、制御部150および出力部160のいずれかで検出された異常の1または複数の組合せに関連付けて規定されている。
比較部1762は、攻撃パターン取得部1760が提供する攻撃パターンと、発生異常データ174とを比較して、発生異常データ174がいずれかの攻撃パターンと一致するか否かを判断する。比較部1762は、発生異常データ174がいずれかの攻撃パターンと一致すれば、当該一致した攻撃パターンが示す種類の攻撃を受けていると特定する。
例えば、図6に示す例では、発生異常データ174は「攻撃パターン3」と一致することになるので、「攻撃パターン3」が示す種類の攻撃を受けていると特定できる。
図7は、本実施の形態に係る制御装置100の攻撃パターンデータベース178の一例を説明するための図である。図7を参照して、攻撃パターンデータベース178は、例えば、なりすまし攻撃、DoS攻撃およびDDoS攻撃などの攻撃について、対応する異常の組合せを規定する。
より具体的には、なりすまし攻撃は、不正コマンド受信(入力異常の通信異常)と、特定処理の時間異常(制御異常のシステム制御異常)とが同時に検出された場合に対応する。
DoS攻撃は、トラフィック過剰(入力異常の通信異常)と、CPU負荷率過剰(制御異常のハードウェアリソース異常)とが同時に検出された場合に対応する。
DDoS攻撃は、送信元異常(入力異常の通信異常)と、トラフィック過剰(入力異常の通信異常)と、CPU負荷率過剰(制御異常のハードウェアリソース異常)とが同時に検出された場合に対応する。
なお、図7に示す各攻撃パターンに対する異常の組合せは一例であり、図示しないどのような攻撃パターンについて定義してもよいし、各攻撃パターンに対応付けられる異常の組合せはどのようなものであってもよい。また、図7に示す攻撃パターンについても、別の異常の組合せを採用してもよい。
<D.処理手順>
次に、本実施の形態に係る制御システム1における処理手順について説明する。
次に、本実施の形態に係る制御システム1における処理手順について説明する。
図8は、本実施の形態に係る制御システム1における処理手順を示すフローチャートである。図8に示す各ステップは、典型的には、制御装置100のプロセッサ102が二次記憶装置108に格納されたてシステムプログラム110を読み出して、主記憶装置106に展開して実行することで実現されてもよい。
図8を参照して、制御装置100は、制御周期が到来したか否かを判断する(ステップS2)。制御周期が到来していれば(ステップS2においてYES)、制御装置100は、ローカルデバイスおよび/またはフィールドデバイスを介して制御対象に関する情報の取得などを含む入力処理を実行する(ステップS4)。続いて、制御装置100は、取得した制御装置に関する情報を用いて、制御演算を実行する(ステップS6)。さらに、制御装置100は、制御演算の実行により出力される演算結果をローカルデバイスおよび/またはフィールドデバイスを介した制御対象へ出力することなどを含む出力処理を実行する(ステップS8)。
ステップS2~S8に示すように、制御装置100は、外部から入力される情報を取得する入力処理と、入力処理により取得された情報を参照して実行される制御演算と、制御演算によって算出された情報を外部へ出力する出力処理とを実行する。
続いて、制御装置100は、異常検出周期が到来したか否かを判断する(ステップS10)。異常検出周期が到来していなければ(ステップS10においてNO)、ステップS2以下の処理が繰り返される。
異常検出周期が到来していれば(ステップS10においてYES)、制御装置100は、入力処理(入力部140)、制御演算(制御部150)および出力処理(出力部160)のいずれかに異常が発生しているか否かを判断する(ステップS12)。
入力処理(入力部140)、制御演算(制御部150)および出力処理(出力部160)のいずれかに異常が発生していれば(ステップS12においてYES)、制御装置100は、発生している異常を検出し(ステップS14)、発生異常データ174として記録する(ステップS16)。すなわち、制御装置100は、複数の検出対象の異常のうち発生した異常を検出する処理を実行する。
なお、入力処理(入力部140)、制御演算(制御部150)および出力処理(出力部160)のいずれにも異常が発生していなければ(ステップS12においてNO)、ステップS2以下の処理が繰り返される。
制御装置100は、攻撃パターンデータベース178を参照して1つの攻撃パターンを取得し(ステップS18)、取得した攻撃パターンと記録した発生異常データ174とが一致するか否かを判断する(ステップS20)。すなわち、制御装置100は、特定の種類のセキュリティ攻撃に対応付けられた1または複数の異常を規定する攻撃パターン、を少なくとも1つ含む攻撃パターンデータベース178を参照して、攻撃パターンデータベース178に含まれるいずれかの攻撃パターンが規定する1または複数の異常と、検出された1または複数の異常とが一致するか否かを判断する。
取得した攻撃パターンと記録した発生異常データ174とが一致すれば(ステップS20においてYES)、制御装置100は、取得した攻撃パターンが示す攻撃の種類の情報を含む攻撃特定結果180を出力する(ステップS22)。すなわち、制御装置100は、一致する攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けていると特定する。そして、ステップS2以下の処理が繰り返される。
取得した攻撃パターンと記録した発生異常データ174とが一致しなければ(ステップS20においてNO)、制御装置100は、攻撃パターンデータベース178に含まれるすべての攻撃パターンの取得が完了したか否かを判断する(ステップS24)。攻撃パターンデータベース178に含まれるすべての攻撃パターンの取得が完了していなければ(ステップS24においてNO)、ステップS18以下の処理が繰り返される。
攻撃パターンデータベース178に含まれるすべての攻撃パターンの取得が完了していていれば(ステップS24においてYES)、制御装置100は、攻撃を受けていないと判断し(ステップS26)、ステップS2以下の処理を繰り返す。
なお、図8には、制御周期および異常検出周期をそれぞれ独立に設定した処理例を示すが、これらは共通の周期としてもよい。例えば、制御周期としては1msec~数100msec程度の範囲に設定され、異常検出周期としては、数msec~数sec程度の範囲に設定されてもよい。
<E.攻撃特定結果の利用例>
次に、出力される攻撃特定結果180の利用例について説明する。
次に、出力される攻撃特定結果180の利用例について説明する。
図9は、本実施の形態に係る制御システム1における攻撃特定結果180の利用例を示す模式図である。図9を参照して、制御装置100の攻撃監視部170は、攻撃を受けたことを検出すると、攻撃を受けているあるいは攻撃を受けたことを制御部150へ通知する。また、制御装置100の攻撃監視部170は、特定した攻撃の種類を制御部150へ通知してもよい。
制御部150は、攻撃監視部170からの通知に応じて、制御演算の挙動を異ならせてもよい。より具体的には、制御部150は、攻撃特定結果180の内容に応じて、セキュリティ対策を実施するようにしてもよい。制御部150がセキュリティ対策を実施するにあたって、制御部150はセキュリティ対策テーブル152を参照可能に構成されていてもよい。
図10は、本実施の形態に係る制御システム1におけるセキュリティ対策テーブル152の一例を示す図である。図10を参照して、セキュリティ対策テーブル152は、攻撃監視部170において検出される攻撃パターンと、各攻撃パターンに対して実施されるセキュリティ対策との対応関係を規定する。
処理実行部130は、攻撃特定部176により特定されたセキュリティ攻撃の種類に応じて、対応するセキュリティ対策に応じた動作をする。より具体的には、処理実行部130の制御部150は、攻撃監視部170から攻撃特定結果180の通知を受けると、セキュリティ対策テーブル152を参照して、通知に含まれる攻撃パターンに対応するセキュリティ対策を決定する。そして、制御部150は、決定したセキュリティ対策に応じた動作をする。このとき、セキュリティ対策に応じた動作は、制御演算の実行内容を異ならせることを含む。
説明の便宜上、図10には、セキュリティ対策を自然言語で記述するが、制御装置100の実装を考慮すると、予め用意されたファンクションブロックのうち対応するセキュリティ対策に使用されるファンクションブロックを特定する情報を含めてもよい。あるいは、実施すべきセキュリティ対策を実現するための部分プログラムや命令コードを含めてもよい。
なお、図10に示す各攻撃パターンに対するセキュリティ対策は一例であり、図示しないどのような攻撃パターンについて定義してもよいし、各攻撃パターンに対応付けられるセキュリティ対策はどのようなものであってもよい。
<F.ネットワーク中継装置>
上述の説明においては、制御対象を制御するための制御装置100に攻撃監視部170を実装した構成を例示したが、制御装置100以外の装置に攻撃監視部170を実装してもよい。
上述の説明においては、制御対象を制御するための制御装置100に攻撃監視部170を実装した構成を例示したが、制御装置100以外の装置に攻撃監視部170を実装してもよい。
図11は、本実施の形態に係る攻撃監視部170を含むネットワーク中継装置100Aの一例を示す模式図である。図11を参照して、例えば、管理サーバ500と制御装置100との間にネットワーク中継装置100Aが配置されている。上位ネットワーク10を介して制御装置100との間で送受信されるすべてのデータは、ネットワーク中継装置100Aを通過することになる。
ネットワーク中継装置100Aには攻撃監視部170が実装されている。このような構成を採用することで、ネットワーク中継装置100Aは、制御装置100が受信するデータおよび制御装置100が送信するデータに基づいて、制御装置100に対するセキュリティ攻撃による異常を検出するとともに、当該検出された異常を生じさせたセキュリティ攻撃の種類などを特定できる。そして、ネットワーク中継装置100Aは、制御装置100に対する攻撃を遮断するなどして、脅威を低減あるいは削除する。
ネットワーク中継装置100Aにおいても、処理実行部130は、攻撃特定部176により特定されたセキュリティ攻撃の種類に応じて、対応するセキュリティ対策に応じた動作をする。
図11に示す構成例において、特定した攻撃の種類の情報を含む攻撃特定結果180は、ネットワーク中継装置100Aの出力部160へ通知される。出力部160は、攻撃監視部170からの通知に応じて、ネットワーク中継装置100Aの出力処理の挙動を異ならせてもよい。より具体的には、出力部160は、攻撃特定結果180の内容に応じて、セキュリティ対策を実施するようにしてもよい。出力部160がセキュリティ対策を実施するにあたって、出力部160はセキュリティ対策テーブル162を参照可能に構成されていてもよい。
図12は、本実施の形態に係る制御システム1におけるセキュリティ対策テーブル162の一例を示す図である。図12を参照して、セキュリティ対策テーブル162は、攻撃監視部170において検出される攻撃パターンと、各攻撃パターンに対して実施されるセキュリティ対策との対応関係を規定する。
セキュリティ対策テーブル162は、ネットワーク中継装置100Aの出力部160が攻撃を遮断するための挙動を規定する。セキュリティ対策テーブル162の規定に応じて、ネットワーク中継装置100Aの出力部160は、遮断の有無や遮断の範囲を調整する。このように、セキュリティ対策に応じた動作は、出力処理による出力を制限することを含む。
説明の便宜上、図12には、セキュリティ対策を自然言語で記述するが、ネットワーク中継装置100Aの実装を考慮すると、予め用意されたファンクションブロックのうち対応するセキュリティ対策に使用されるファンクションブロックを特定する情報を含めてもよい。あるいは、実施すべきセキュリティ対策を実現するための部分プログラムや命令コードを含めてもよい。
なお、図12に示す各攻撃パターンに対するセキュリティ対策は一例であり、図示しないどのような攻撃パターンについて定義してもよいし、各攻撃パターンに対応付けられるセキュリティ対策はどのようなものであってもよい。
<G.攻撃推定機能>
上述の説明においては、発生異常データ174といずれかの攻撃パターンとの一致を攻撃されていると決定するための条件とする構成を例示したが、完全に一致しなくても、攻撃の有無を推定できる機能(攻撃推定部190)を実装してもよい。すなわち、発生異常データ174がいずれの攻撃パターンとも一致しなくても、ある程度の類似性が認められる場合には、攻撃を受けている可能性が高いと推定してもよい。
上述の説明においては、発生異常データ174といずれかの攻撃パターンとの一致を攻撃されていると決定するための条件とする構成を例示したが、完全に一致しなくても、攻撃の有無を推定できる機能(攻撃推定部190)を実装してもよい。すなわち、発生異常データ174がいずれの攻撃パターンとも一致しなくても、ある程度の類似性が認められる場合には、攻撃を受けている可能性が高いと推定してもよい。
図13は、本実施の形態に係る制御装置100の攻撃推定部190のより詳細な機能構成例を示す模式図である。図13を参照して、攻撃推定部190は、上述の攻撃特定部176と同様に、攻撃パターンデータベース178を参照して、異常検出部172が記録した発生異常データ174に基づいて、攻撃を受けているか否かを判断する。なお、攻撃推定部190は、攻撃を受けていると判断すると、当該受けている攻撃の種類を特定するようにしてもよい。
すなわち、攻撃推定部190は、攻撃パターンデータベース178に含まれるいずれかの攻撃パターンが規定する1または複数の異常と、異常検出部172により検出された1または複数の異常との一致度合いに基づいて、当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けているか否かを推定する。
より具体的には、攻撃推定部190は、一致度算出部192と、一致度評価部194とを含む。一致度算出部192は、攻撃パターンデータベース178に登録されている攻撃パターン毎に、発生異常データ174とどの程度一致しているかを示す一致度を算出する。一致度算出部192は、攻撃パターン毎に算出された一致度を示す攻撃パターン毎一致度196を出力する。
一致度算出部192は、例えば、発生異常データ174と攻撃パターンとの一致の度合いを0~1の値に規格化した上で、一致度として算出するようにしてもよい。
一致度評価部194は、一致度算出部192により算出された攻撃パターン毎一致度196を評価して、攻撃を受けているか否かを判断する。
評価方法の一例としては、攻撃パターン毎一致度196に含まれる一致度のうち、予め定められた類似判定しきい値198以上のものがあれば、類似判定しきい値198以上である一致度に対応する攻撃パターンが示す種類の攻撃を受けていると特定してもよい。図13に示す例では、類似判定しきい値198として「0.5」が定められており、類似判定しきい値198以上の「0.7」を示す「攻撃パターン1」が有効なものとして選択される。すなわち、「攻撃パターン1」が示す種類の攻撃を受けていると推定できる。
評価方法の別の一例としては、攻撃パターン毎一致度196に含まれる一致度のうち、最も高い類似度を示す攻撃パターンを選択し、当該選択した攻撃パターンが示す種類の攻撃を受けていると特定してもよい。図13に示す例では、最も高い一致度である「0.7」を示す「攻撃パターン1」が選択される。すなわち、「攻撃パターン1」が示す種類の攻撃を受けていると推定できる。
なお、判定条件としては、上述したような類似判定しきい値198あるいは最大の類似度に限らず、任意の条件を採用できる。類似度の1番目の値と2番目の値とが予め定められたしきい値以上離れているとか、類似度の1番目以外の値はいずれも予め定められたしきい値未満であるといった判定条件を採用してもよい。
上述したような攻撃推定機能を採用することで、発生異常データ174と攻撃パターンとが完全に一致しなくても、攻撃を受けている蓋然性が高い場合には、攻撃を受けていると判断できる。
このような攻撃推定機能は、例えば、既知のセキュリティ攻撃の亜種や変形体などを検出する場合などにも有効である。
<H.特定精度/推定精度向上>
上述した攻撃特定部176および/または攻撃推定部190による特定処理および/または推定処理において参照される1または複数の異常(発生異常データ174)を予め定められた時間内に検出されたものに制限することで、特定精度および/または推定精度を向上できる。
上述した攻撃特定部176および/または攻撃推定部190による特定処理および/または推定処理において参照される1または複数の異常(発生異常データ174)を予め定められた時間内に検出されたものに制限することで、特定精度および/または推定精度を向上できる。
図14は、本実施の形態に係る制御装置100における特定精度/推定精度を向上させるための機能構成例を示す模式図である。図14を参照して、攻撃監視部170は、異常検出部172、攻撃特定部176および攻撃推定部190に加えて、タイマー182を含む。なお、攻撃推定部190は、必ずしも実装しなくてもよい。
タイマー182は、異常検出部172が何らかの異常を検出するとカウントを開始する。タイマー182は、カウントの開始から予め定められた時間が経過すると、その時間の経過を攻撃特定部176および攻撃推定部190へ通知する。
攻撃特定部176は、タイマー182から通知を受けると、当該タイミングで記録されている発生異常データ174を参照して、攻撃を受けているか否かを判断するとともに、受けている攻撃の種類を特定する。
同様に、攻撃推定部190は、タイマー182から通知を受けると、当該タイミングで記録されている発生異常データ174を参照して、攻撃を受けているか否かを推定するとともに、受けている攻撃の種類を推定する。
なお、タイマー182のカウント開始から予め定められた時間が経過するまでの間に検出される異常の論理和を発生異常データ174として記録してもよい。すなわち、タイマー182からの通知が発行されるまでの時間内のいずれかのタイミングで発生した異常を、1つの発生異常データ174として集約してもよい。この場合、攻撃特定部176および/または攻撃推定部190は、予め定められた時間内に検出された1または複数の異常を、攻撃パターンが規定する1または複数の異常と比較することになる。
タイマー182が検出する予め定められた時間は、制御装置100の制御周期、制御装置100のハードウェアスペック、ネットワークの伝送速度、検出対象の攻撃の特性などに応じて決定されてもよい。
上述したように、攻撃の特定および/または推定に用いる異常を検出する時間を制限することで、ノイズとなる異常の情報を除外することができ、これによって、攻撃の特定精度および/または推定精度を向上できる。
また、上述したように、何らかの異常が検出されてから予め定められた時間に亘って検出された異常をまとめて攻撃の特定および/または推定に用いることで、あるタイミング(ワンショット)で検出された1または複数の異常の組合せでは検出できない攻撃であっても特定および/または推定できる。
<I.制御装置外への攻撃特定結果の通知>
上述の説明においては、攻撃特定部176から出力される攻撃特定結果180が制御装置100の内部で利用される構成を例示したが、攻撃特定結果180を制御装置100の外部へ通知するようにしてもよい。
上述の説明においては、攻撃特定部176から出力される攻撃特定結果180が制御装置100の内部で利用される構成を例示したが、攻撃特定結果180を制御装置100の外部へ通知するようにしてもよい。
図15は、本実施の形態に係る制御システム1における攻撃特定結果180の通知に着目した構成例を示す模式図である。図15を参照して、制御システム1は、例えば、制御装置100およびネットワーク中継装置100Aを含む。
制御装置100およびネットワーク中継装置100Aの各々は、攻撃特定部176および通知部184を含む。
攻撃特定部176は、攻撃を受けていると判断すると、特定した攻撃の種類の情報を含む攻撃特定結果180を出力する。通知部184は、攻撃特定部176から攻撃特定結果180が出力されると、管理サーバ500および/または管理サーバ500Aへ攻撃特定結果180を通知する。
同様に、通知部184は、攻撃推定部190から攻撃特定結果180が出力されると、管理サーバ500および/または管理サーバ500Aへ攻撃特定結果180を通知するようにしてもよい。
このように、制御装置100は、攻撃特定部176により特定されたセキュリティ攻撃の種類の情報、および/または、攻撃推定部190により推定されたセキュリティ攻撃の種類の情報を、制御装置100以外の装置へ通知する通知部184を実装してもよい。
管理サーバ500は、例えば、制御システム1が制御する制御対象を含む工場内に配置されてもよい。管理サーバ500は、攻撃特定結果180を集約することで、制御対象を含む工場内で発生した攻撃の状況を把握するとともに、対象の工場内でのセキュリティ対策を決定してもよい。
管理サーバ500Aは、例えば、制御システム1が制御する制御対象を含む工場外に配置されてもよい。管理サーバ500Aは、例えば、工場の運営者とは異なる主体(例えば、委託先のより高い専門性を有する管理会社)によって運営されていてもよい。管理サーバ500Aに攻撃特定結果180を集約することで、セキュリティ対策についてより深い分析などを行うこともできる。
なお、管理サーバ500および/または管理サーバ500Aに攻撃特定結果180を通知する方法としては、通常のネットワークを利用してもよいし、専用の回線(例えば、5Gや4Gなどの公衆無線回線)を利用してもよい。通常のネットワークを利用することで、簡便かつ低コストで攻撃特定結果180を通知できる。また、専用の回線を利用することで、DoS攻撃やおよびDDoS攻撃などを受けて通信できない状況であっても、攻撃特定結果180を通知できる。
あるいは、通知部184が攻撃特定結果180をファイルとして格納し、事後的にファイルを回収することで、通信できない状況であっても、攻撃特定結果180の回収および分析などを実現できる。
上述したように、制御装置100およびネットワーク中継装置100Aの各々から攻撃特定結果180を装置外部へ通知することで、より広範囲で攻撃を受けていることを検出できるとともに、攻撃の種類の特定やセキュリティ対策の決定などをより効率的に行うことができる。
<J.サポート装置200>
本実施の形態に係る制御システム1を構成する制御装置100で実行される制御演算の内容は、ユーザがサポート装置200を用いてプログラムや設定等することで決定される。
本実施の形態に係る制御システム1を構成する制御装置100で実行される制御演算の内容は、ユーザがサポート装置200を用いてプログラムや設定等することで決定される。
図16は、本実施の形態に係る制御システム1におけるサポート装置200に着目した構成例を示す模式図である。図16を参照して、ユーザは、サポート装置200を操作して、タスク設定202、ネットワーク構成204およびユーザプログラム206といった、制御装置100における制御演算を規定するためのデータを生成する。これらのデータは、サポート装置200から制御装置100へ転送される。
タスク設定202およびユーザプログラム206は、例えば、制御装置100の制御部150で実行される制御演算の内容を規定する。ネットワーク構成204は、例えば、入力部140で実行される入力処理と出力部160で実行される出力処理の内容を規定する。
サポート装置200は、ユーザ操作に応じて、制御装置100に実装される攻撃監視部170および/または攻撃推定部190の挙動を任意に設定することもできる。例えば、ユーザは、サポート装置200を操作して、攻撃監視部設定208を生成する。攻撃監視部設定208は、制御装置100の異常検出部172および/または攻撃推定部190が異常を検出するためのルールである異常検出設定173と、制御装置100の攻撃特定部176および/または攻撃推定部190が参照する攻撃パターンデータベース178の内容の少なくとも一部とを含む。
図17は、本実施の形態に係る制御システム1におけるサポート装置200により設定される異常検出設定173の一例を示す図である。図17を参照して、異常検出設定173の設定項目としては、異常検出対象、異常検出範囲および異常検出条件などを含んでいてもよい。
異常検出対象は、異常の発生を検出する対象を規定するものであり、例えば、通信ポートなどのハードウェアや、パケット伝送のプロトコルなどのソフトウェア設定を規定できる。例えば、異常の検出対象として、「通信ポート1」を「有効」または「無効」に設定することができる。「通信ポート1」が「有効」に設定された場合には、異常の検出対象となり、「通信ポート1」が「無効」に設定された場合には、異常の検出対象から除外される。
異常検出範囲は、異常の発生を検出する範囲を規定するものであり、例えば、複数種類の不正コマンドが想定されている状態で、特定の不正コマンドのみを異常の検出対象として規定してもよい。例えば、すべての不正コマンドを異常の検出対象とする「全コマンド」を設定してもよいし、特定の不正コマンドAのみを異常の検出対象とする「コマンドAのみ」を設定してもよい。
異常検出条件は、異常の発生と判断するための条件を規定するものであり、例えば、「トラフィック過剰」を検出するためのしきい値を含む。例えば、「トラフィック過剰」を検出するためのしきい値として、「80%」や「50%」を設定してもよい。あるいは、しきい値を任意に設定してもよい。
ユーザは、サポート装置200を操作して、図17に示すような内容について設定することで、異常検出設定173が生成される。異常検出設定173は、制御装置100へ転送されて異常検出部172に反映される。このように、異常検出部172は、サポート装置200から提供される異常検出設定173に従って、検出対象の異常を決定する。
なお、異常検出設定173の内容は、制御装置100に実装される攻撃パターンデータベース178で参照される異常の内容と対応付けて予め初期値を設定していてもよい。
また、異常検出設定173において、特定の異常を検出対象から除外してしまうと、攻撃パターンデータベース178の内容との整合性を維持できなくなる。そのため、サポート装置200は、異常検出設定173の内容に応じて、制御装置100の攻撃パターンデータベース178の内容についても更新する。
例えば、攻撃パターンデータベース178に含まれる攻撃パターンに関連付けられているいずれかの異常を検出対象外とした場合には、以下のいずれかのように処理してもよい。
(1)検出対象外に設定された異常については「一致していない」と判断する
(2)検出対象外に設定された異常については「常に一致している」あるいは「don’t care」と判断する
(1)の処理を採用した場合には、検出対象外に設定された異常を条件とする攻撃パターンについては特定されないことになる。また、(2)の処理を採用した場合には、攻撃パターンに関連付けられる異常のうち、検出対象外に設定された異常を除く異常が一致すれば、攻撃パターンとして特定されることになる。
(2)検出対象外に設定された異常については「常に一致している」あるいは「don’t care」と判断する
(1)の処理を採用した場合には、検出対象外に設定された異常を条件とする攻撃パターンについては特定されないことになる。また、(2)の処理を採用した場合には、攻撃パターンに関連付けられる異常のうち、検出対象外に設定された異常を除く異常が一致すれば、攻撃パターンとして特定されることになる。
上述したような処理のうちいずれを選択するのかについては、ユーザがサポート装置200を操作して設定するようにしてもよい。
このように、ユーザは、サポート装置200を操作することで、サポート装置200からの設定に従って、攻撃パターンデータベース178に含まれる、攻撃パターンおよび検出対象の異常の変更や有効/無効を自由に設定できる。すなわち、サポート装置200から提供される異常検出設定173に従って、検出対象の異常が決定されてもよい。また、サポート装置200から攻撃パターンデータベース178を設定または変更できるようにしてもよい。
<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)とを実行させる、制御プログラム。
上述したような本実施の形態は、以下のような技術思想を含む。
[構成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)とを実行させる、制御プログラム。
<L.利点>
本実施の形態に係る制御装置は、入力処理、制御演算および出力処理のいずれかで発生した異常を検出するとともに、検出された1または複数の異常と予め用意された攻撃パターンが規定する1または複数の異常とが一致するか否かを判断することで、当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けていることを特定する。これによって、セキュリティ攻撃を受けていることを検出できるとともに、当該受けているセキュリティ攻撃の種類も特定できる。その結果、受けているセキュリティ攻撃の種類に応じて適切なセキュリティ対策を実施できる。
本実施の形態に係る制御装置は、入力処理、制御演算および出力処理のいずれかで発生した異常を検出するとともに、検出された1または複数の異常と予め用意された攻撃パターンが規定する1または複数の異常とが一致するか否かを判断することで、当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けていることを特定する。これによって、セキュリティ攻撃を受けていることを検出できるとともに、当該受けているセキュリティ攻撃の種類も特定できる。その結果、受けているセキュリティ攻撃の種類に応じて適切なセキュリティ対策を実施できる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
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 比較部。
Claims (12)
- 外部から入力される情報を取得する入力処理と、前記入力処理により取得された情報を参照して実行される制御演算と、前記制御演算によって算出された情報を外部へ出力する出力処理とを実行する処理実行部と、
複数の検出対象の異常のうち発生した異常を検出する異常検出部とを備え、前記検出対象の異常の各々は、前記入力処理、前記制御演算および前記出力処理のいずれかに関連付けられており、
特定の種類のセキュリティ攻撃に対応付けられた1または複数の異常を規定する攻撃パターン、を少なくとも1つ含むデータベースと、
前記データベースに含まれるいずれかの攻撃パターンが規定する1または複数の異常と、前記異常検出部により検出された1または複数の異常とが一致すると、当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けていると特定する攻撃特定部とを備える、制御装置。 - 前記処理実行部は、前記攻撃特定部により特定されたセキュリティ攻撃の種類に応じて、対応するセキュリティ対策に応じた動作をする、請求項1に記載の制御装置。
- 前記対応するセキュリティ対策に応じた動作は、前記制御演算の実行内容を異ならせることを含む、請求項2に記載の制御装置。
- 前記対応するセキュリティ対策に応じた動作は、前記出力処理による出力を制限することを含む、請求項2に記載の制御装置。
- 前記攻撃特定部は、予め定められた時間内に検出された1または複数の異常を、攻撃パターンが規定する1または複数の異常と比較する、請求項1~4のいずれか1項に記載の制御装置。
- 前記攻撃特定部により特定されたセキュリティ攻撃の種類の情報を、前記制御装置以外の装置へ通知する通知部をさらに備える、請求項1~5のいずれか1項に記載の制御装置。
- 前記データベースに含まれるいずれかの攻撃パターンが規定する1または複数の異常と、前記異常検出部により検出された1または複数の異常との一致度合いに基づいて、当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けているか否かを推定する攻撃推定部をさらに備える、請求項1~4のいずれか1項に記載の制御装置。
- 前記攻撃推定部は、予め定められた時間内に検出された1または複数の異常を、攻撃パターンが規定する1または複数の異常と比較する、請求項7に記載の制御装置。
- 前記攻撃推定部により推定されたセキュリティ攻撃の種類の情報を、前記制御装置以外の装置へ通知する通知部をさらに備える、請求項7または8に記載の制御装置。
- サポート装置からの設定に従って、前記攻撃パターンおよび前記検出対象の異常の少なくとも一方が決定される、請求項1~9のいずれか1項に記載の制御装置。
- 外部から入力される情報を取得する入力処理と、前記入力処理により取得された情報を参照して実行される制御演算と、前記制御演算によって算出された情報を外部へ出力する出力処理とを実行するステップと、
複数の検出対象の異常のうち発生した異常を検出するステップとを備え、前記検出対象の異常の各々は、前記入力処理、前記制御演算および前記出力処理のいずれかに関連付けられており、
特定の種類のセキュリティ攻撃に対応付けられた1または複数の異常を規定する攻撃パターン、を少なくとも1つ含むデータベースを参照して、前記データベースに含まれるいずれかの攻撃パターンが規定する1または複数の異常と、前記検出された1または複数の異常とが一致するか否かを判断するステップと、
当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けていると特定するステップとを備える、制御方法。 - 制御プログラムであって、コンピュータに、
外部から入力される情報を取得する入力処理と、前記入力処理により取得された情報を参照して実行される制御演算と、前記制御演算によって算出された情報を外部へ出力する出力処理とを実行するステップと、
複数の検出対象の異常のうち発生した異常を検出するステップとを実行させ、前記検出対象の異常の各々は、前記入力処理、前記制御演算および前記出力処理のいずれかに関連付けられており、
特定の種類のセキュリティ攻撃に対応付けられた1または複数の異常を規定する攻撃パターン、を少なくとも1つ含むデータベースを参照して、前記データベースに含まれるいずれかの攻撃パターンが規定する1または複数の異常と、前記検出された1または複数の異常とが一致するか否かを判断するステップと、
当該攻撃パターンに対応付けられた種類のセキュリティ攻撃を受けていると特定するステップとを実行させる、制御プログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020125540A JP7571406B2 (ja) | 2020-07-22 | 制御システムおよび制御方法 | |
JP2020-125540 | 2020-07-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022019106A1 true WO2022019106A1 (ja) | 2022-01-27 |
Family
ID=79729718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/025436 WO2022019106A1 (ja) | 2020-07-22 | 2021-07-06 | 制御装置、制御方法および制御プログラム |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2022019106A1 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010152773A (ja) * | 2008-12-26 | 2010-07-08 | Mitsubishi Electric Corp | 攻撃判定装置及び攻撃判定方法及びプログラム |
-
2021
- 2021-07-06 WO PCT/JP2021/025436 patent/WO2022019106A1/ja active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010152773A (ja) * | 2008-12-26 | 2010-07-08 | Mitsubishi Electric Corp | 攻撃判定装置及び攻撃判定方法及びプログラム |
Non-Patent Citations (1)
Title |
---|
OGAWARA, TETSU ET AL.: "Proposal of Attack Detection and Categorization for Built-in Equipment Focused on Attack Transition", PROCEEDINGS OF THE 2020 SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SOCIETY., 21 January 2020 (2020-01-21), pages 1 - 6 * |
Also Published As
Publication number | Publication date |
---|---|
JP2022021756A (ja) | 2022-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA3016392C (en) | Systems and methods for cyber intrusion detection and prevention | |
US10027699B2 (en) | Production process knowledge-based intrusion detection for industrial control systems | |
CN110602041A (zh) | 基于白名单的物联网设备识别方法、装置及网络架构 | |
CN106101130B (zh) | 一种网络恶意数据检测方法、装置及系统 | |
Robles-Durazno et al. | PLC memory attack detection and response in a clean water supply system | |
CN110959158A (zh) | 信息处理装置、信息处理方法和信息处理程序 | |
CN111510339A (zh) | 一种工业互联网数据监测方法和装置 | |
US20190166140A1 (en) | Method and system for detecting remote access during activity on the pages of a web resource | |
US10511612B2 (en) | System and method of detecting intrusion into communication environment | |
WO2022019106A1 (ja) | 制御装置、制御方法および制御プログラム | |
JP7081593B2 (ja) | 機器管理システム、モデル学習方法およびモデル学習プログラム | |
CN112291239B (zh) | 一种面向scada系统的网络物理模型及其入侵检测方法 | |
JP7571406B2 (ja) | 制御システムおよび制御方法 | |
CN112583597A (zh) | 使用库存规则来识别计算机网络设备的系统及方法 | |
US20240219879A1 (en) | Method, System and Inspection Device for Securely Executing Control Applications | |
KR101989579B1 (ko) | 시스템 감시 장치 및 방법 | |
US20210382988A1 (en) | Robust monitoring of computer systems and/or control systems | |
KR102295348B1 (ko) | 운영 기술 데이터의 보안 위협 분석 및 탐지 방법 | |
WO2021117665A1 (ja) | 電子機器および電子機器の攻撃検知方法 | |
JP7071876B2 (ja) | 制御システム、および異常要因判定方法 | |
JP6819610B2 (ja) | 診断装置、診断方法、及び、診断プログラム | |
JP6863290B2 (ja) | 診断装置、診断方法、及び、診断プログラム | |
WO2020109252A1 (en) | Test system and method for data analytics | |
CN111832030A (zh) | 一种基于国产密码数据标识的数据安全审计装置及方法 | |
TWI727891B (zh) | 網路安全防護方法及裝置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21846774 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21846774 Country of ref document: EP Kind code of ref document: A1 |