Nothing Special   »   [go: up one dir, main page]

WO2020166329A1 - 制御システム - Google Patents

制御システム Download PDF

Info

Publication number
WO2020166329A1
WO2020166329A1 PCT/JP2020/003099 JP2020003099W WO2020166329A1 WO 2020166329 A1 WO2020166329 A1 WO 2020166329A1 JP 2020003099 W JP2020003099 W JP 2020003099W WO 2020166329 A1 WO2020166329 A1 WO 2020166329A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
unit
control system
incident
notification
Prior art date
Application number
PCT/JP2020/003099
Other languages
English (en)
French (fr)
Inventor
仁之 片岡
雄大 永田
Original Assignee
オムロン株式会社
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 オムロン株式会社 filed Critical オムロン株式会社
Priority to US17/425,126 priority Critical patent/US12111639B2/en
Priority to EP20755786.9A priority patent/EP3926429A4/en
Priority to CN202080009840.8A priority patent/CN113330381A/zh
Publication of WO2020166329A1 publication Critical patent/WO2020166329A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/058Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4183Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by data acquisition, e.g. workpiece identification
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41845Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by system universality, reconfigurability, modularity
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4188Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by CIM planning or realisation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0275Fault isolation and identification, e.g. classify fault; estimate cause or root of failure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms

Definitions

  • the present disclosure relates to a security function for a control system that controls a control target.
  • a control device such as a PLC (Programmable Logic Controller) is used to control various facilities of FA (Factory Automation) and various devices arranged in each facility.
  • the control device can monitor an abnormality occurring in the equipment or machine to be controlled and also an abnormality in the control device itself. When any abnormality is detected, the control device notifies the outside by some method.
  • Patent Document 1 discloses a failure diagnosis system that displays a board for each PLC, a failure location in a sequencer, failure details, and a coping method on a failure monitoring screen.
  • the conventional control device only detects a failure point or an abnormality that occurs in the control device itself, as in Patent Document 1, for example, and is used for networking or intelligentizing the FA control system. No mechanism is provided to notify the administrator how to deal with the security incident that may occur.
  • the present disclosure has an object to solve a new problem of notifying information of measures according to an incident (threat) that may occur due to networking or intelligentization of a control device and a control system.
  • One example of the present disclosure is a control system, which includes a control unit that executes a control operation for controlling a control target, and a security unit that is connected to the control unit and that is in charge of a security function for the control system.
  • the unit notifies the collection means for collecting the status information indicating the operating status of the control system, the detection means for detecting the incident in the control system based on the collected status information, and the information for dealing with the detected incident. And a notification means.
  • the detection means further detects the type of incident based on that the collected state information satisfies one of the conditions corresponding to each of the plurality of types of incidents.
  • the detection means further determines that the collected status information satisfies any one of the conditions corresponding to the respective severity levels of the security impact of the incident, based on the severity level of the incident. To detect.
  • the coping information includes coping information according to the severity. According to the above disclosure, it is possible to notify information to be dealt with according to the severity of an incident.
  • the notification means further notifies the detected severity. According to the above disclosure, when an incident is detected, the impact of the incident on security can be notified as a quantitative severity.
  • the notification means further notifies the security risk, which is a calculated value based on the collected state information and severity.
  • a quantitative value can be notified by regarding the impact of the incident on security as a risk based on severity.
  • the countermeasure information includes the countermeasure information according to the security risk. According to the above disclosure, it is possible to notify the information for coping with the incident according to the security risk value calculated for the incident.
  • the countermeasure information includes the countermeasure information that changes the operating state of the control system.
  • the countermeasure information can include the countermeasure information that changes the operating state of the control system. Therefore, as a result of the user taking a countermeasure in accordance with the notified countermeasure information, the operating state of the control system changes so that the influence of the incident is reduced, for example.
  • the handling information differs depending on the configuration of the control unit. According to the above disclosure, even if the same incident is detected, the action to be taken can be different depending on the configuration information of the control unit.
  • the action information differs depending on the configuration of the network including the control unit.
  • the action to be taken can be different depending on the configuration of the network including the control unit.
  • the notification means notifies the device of the countermeasure to the device determined based on the information of the network configuration connecting the plurality of devices including the control unit.
  • FIG. 1 It is a schematic diagram which shows the functional structural example with which the security unit 200 according to this Embodiment is equipped. It is a schematic diagram which shows the functional structural example with which the support apparatus 600 according to this Embodiment is equipped. It is a figure which shows typically an example of the user information 62 which concerns on embodiment of this invention. It is a figure which shows typically an example of the coping DB 66 which concerns on embodiment of this invention. It is a figure which shows typically the other example of the coping DB 66 which concerns on this Embodiment. It is a figure which shows typically an example of a structure of the attack tree 67 which concerns on this Embodiment.
  • FIG. 14(A) is a flowchart showing an example of risk calculation in step R3 of FIG. 14(A). It is a flow chart which shows an example of the whole processing concerning an embodiment of the invention. It is a figure which shows typically an example of the predetermined process which the security engine 250 which concerns on embodiment of this invention performs. It is a flow chart which shows an example of notice processing by static decision concerning an embodiment of the invention. It is a flow chart which shows an example of notice processing by dynamic decision concerning an embodiment of the invention.
  • FIG. 5 is a schematic diagram showing a typical example of control system 10 including control system 1 according to the present embodiment.
  • control system 1 is applied to FA
  • the application target is not limited to FA, and may be applied to, for example, a plant or a vehicle.
  • control system 10 shown in FIG. 5 controls two production lines (line A and line B) in FA.
  • line A and line B production lines
  • a robot that can give an arbitrary physical action to the work on the conveyor is arranged.
  • a control unit 100 is arranged on each of line A and line B.
  • the security unit 200 and the safety unit 300 constitute the control system 1.
  • the functional unit and the power supply unit are not shown in FIG.
  • the security unit 200 of the control system 1 is connected to the control unit 100 that executes a control calculation for controlling the control target, and is responsible for the security function for the control system 1.
  • the security unit 200 collects status information indicating the operating status of the control system 1, detects an incident in the control system 1 based on the collected status information, and collects information on how to deal with the detected incident with a user (maintenance person). , Administrator).
  • the “incident” means a sign, a phenomenon, or an abnormality that can be a security threat to some FA control system 1.
  • the status information indicating the operating status includes communication monitoring information 511 for monitoring communication with the external network 50 and SQL information 161 of the database 900.
  • the security unit 200 can detect a security incident based on the status information collected about the operating status of the control system 1, and notify the user of information on how to deal with the detected incident. As a result, the user can detect the occurrence of an incident and deal with it even if he or she does not have specialized knowledge.
  • the security unit 200 When detecting an incident, the security unit 200 obtains the type of incident, the severity of the impact of the incident on security, and the security risk (which is a calculated value based on the collected state information and the severity). The acquired information will be added to the countermeasure information and notified.
  • Control system 1 The configuration of control system 1 applied to FA according to the present embodiment will be described.
  • FIG. 1 is an external view showing a configuration example of a control system 1 according to this embodiment.
  • the control system 1 includes a control unit 100, a security unit 200, a safety unit 300, one or more functional units 400, and a power supply unit 450.
  • the security unit 200 is also called a security guard unit (SGU).
  • control unit 100 and the security unit 200 are connected via an arbitrary data transmission path (for example, PCI Express or Ethernet (registered trademark)).
  • control unit 100 and the safety unit 300 and one or more functional units 400 are connected via an internal bus (not shown).
  • the control unit 100 executes central processing in the control system 1.
  • the control unit 100 executes a control operation for controlling a controlled object according to a desired specification that is arbitrarily designed.
  • the control calculation executed by the control unit 100 is also referred to as “standard control” in comparison with the control calculation executed by the safety unit 300 described later.
  • the control unit 100 has one or a plurality of communication ports.
  • the security unit 200 is connected to the control unit 100 and is responsible for the security function for the control system 1.
  • the security unit 200 has one or a plurality of communication ports. The details of the security function provided by the security unit 200 will be described later.
  • the safety unit 300 independently of the control unit 100, executes control calculation for realizing a safety function regarding a control target.
  • the control calculation executed by the safety unit 300 is also referred to as “safety control”.
  • safety control is designed to meet the requirements for implementing the safety function specified in IEC 61508 and the like.
  • Safety control is a general term for processing for preventing human safety from being threatened by equipment, machines, and the like.
  • the functional unit 400 provides various functions for realizing control of various control targets by the control system 1.
  • the functional unit 400 may typically include an I/O unit, a safety I/O unit, a communication unit, a motion controller unit, a temperature adjustment unit, a pulse counter unit, and the like.
  • an I/O unit 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 plurality of types are mixed.
  • the safety I/O unit is responsible for I/O processing related to safety control.
  • the power supply unit 450 supplies power of a predetermined voltage to each unit included in the control system 1.
  • FIG. 2 is a schematic diagram showing a hardware configuration example of control unit 100 included in control system 1 according to the present embodiment.
  • the control unit 100 includes a processor 102 such as a CPU (Central Processing Unit) or a GPU (Graphical Processing Unit), a chipset 104, a main storage device 106, and a secondary storage device as main components. 108, a communication controller 110, a USB (Universal Serial Bus) controller 112, a memory card interface 114, network controllers 116, 118, 120, an internal bus controller 122, and an indicator 124.
  • a processor 102 such as a CPU (Central Processing Unit) or a GPU (Graphical Processing Unit)
  • chipset 104 such as a main storage device 106
  • main storage device 106 main storage device
  • secondary storage device as main components.
  • 108 a communication controller 110
  • USB Universal Serial Bus
  • the processor 102 reads various programs stored in the secondary storage device 108, expands the programs in the main storage device 106, and executes the programs to implement control calculations related to standard control and various processes.
  • the chipset 104 implements the processing of the control unit 100 as a whole by mediating the exchange of data between the processor 102 and each component.
  • the secondary storage device 108 stores a control program that operates in the execution environment provided by the system program.
  • the communication controller 110 is in charge of exchanging data with the security unit 200.
  • the communication controller 110 for example, a communication chip compatible with PCI Express or Ethernet can be adopted.
  • the USB controller 112 is in charge of exchanging data with an arbitrary information processing device via a USB connection.
  • the memory card interface 114 is configured such that a memory card 115, which is a storage medium, is detachable.
  • the memory card interface 114 can write data such as a control program and various settings to the memory card 115, or can read data such as a control program and various settings from the memory card 115.
  • Each of the network controllers 116, 118, 120 is in charge of exchanging data with an arbitrary device via the network.
  • the network controllers 116, 118, and 120 may employ an industrial network protocol such as EtherCAT (registered trademark), EtherNet/IP (registered trademark), DeviceNet (registered trademark), and CompoNet (registered trademark).
  • the internal bus controller 122 is in charge of exchanging data with the safety unit 300 or one or a plurality of functional units 400 that configure the control system 1.
  • a communication protocol unique to the manufacturer may be used for the internal bus, or a communication protocol that is the same as or conforms to any industrial network protocol may be used.
  • the indicator 124 is a device for notifying the operating state of the control unit 100, and is composed of one or more LEDs (Light Emitting Diode) arranged on the surface of the unit.
  • LEDs Light Emitting Diode
  • FIG. 2 shows a configuration example in which necessary functions are provided by the processor 102 executing a program, but some or all of the provided functions may be provided by a dedicated hardware circuit (for example, ASIC ( It may be implemented using Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array).
  • a dedicated hardware circuit for example, ASIC ( It may be implemented using Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array).
  • the main part of the control unit 100 may be realized by using hardware according to a general-purpose architecture (for example, an industrial personal computer based on a general-purpose personal computer).
  • a virtualization technique may be used to execute a plurality of OSs (Operating Systems) having different purposes in parallel and to execute a required application on each OS.
  • OSs Operating Systems
  • FIG. 3 is a schematic diagram showing a hardware configuration example of security unit 200 included in control system 1 according to the present embodiment.
  • the security unit 200 includes a processor 202 such as a CPU or a GPU, a chipset 204, a main storage device 206, a secondary storage device 208, a communication controller 210, and a USB controller as main components. 212, a memory card interface 214, network controllers 216, 218, an indicator 224, a display 225 and a speaker 226 for audio output.
  • the processor 202 reads various programs stored in the secondary storage device 208 or a memory card 215 such as a memory card, expands them in the main storage device 206, and executes them to realize various security functions to be described later. ..
  • the main storage device 206 is configured by a volatile storage device such as DRAM (Dynamic Random Access Memory) or SRAM (Static Random Access Memory).
  • the secondary storage device 208 is composed of, for example, a nonvolatile storage device such as an HDD (Hard Disc Drive) or an SSD (Solid State Drive).
  • the chipset 204 implements the processing of the security unit 200 as a whole by mediating the exchange of data between the processor 202 and each component.
  • the secondary storage device 208 stores a security system program 2610 that operates in an execution environment provided by the system program, in addition to a system program including an OS 2601 described later.
  • the communication controller 210 is in charge of exchanging data with the control unit 100.
  • the communication controller 210 similarly to the communication controller 210, for example, a communication chip compatible with PCI Express or Ethernet can be adopted in the control unit 100.
  • the USB controller 212 is in charge of exchanging data with an arbitrary information processing device via a USB connection.
  • the memory card interface 214 is configured so that the memory card 215 can be attached and detached.
  • the memory card interface 214 can write data such as a control program or various settings to the memory card 215 such as a memory card, or read data such as a control program or various settings from the memory card 215. There is.
  • Each of the network controllers 216 and 218 is in charge of exchanging data with an arbitrary device via a network.
  • the network controllers 216 and 218 may employ a general-purpose network protocol such as Ethernet (registered trademark).
  • the indicator 224, the display 225, and the speaker 226 are devices for notifying the information from the security unit 200 to the outside.
  • the notified information includes the operating state of the security unit 200, or information on the countermeasure according to the security incident detected in the control system 1.
  • the indicator 224 is composed of one or a plurality of LEDs arranged on the surface of the unit.
  • the display 225 includes an LCD (Liquid Crystal Display) arranged on the surface of the unit.
  • the speaker 226 is arranged on the surface of the unit and outputs information to be notified by voice or outputs a voice such as an alarm sound for alerting the administrator.
  • the memory card interface 214 reads a program stored therein from a memory card 215 (for example, an optical storage medium such as a DVD (Digital Versatile Disc)) that non-transiously stores a computer-readable program, It is installed in the next storage device 208 or the main storage device 206.
  • the programs stored in the main storage device 206 include a security system program 2610 in addition to the OS 2601 described later.
  • the security system program 2610 or the like executed by the security unit 200 may be installed via the computer-readable memory card 215, but is installed by being downloaded from a server device on the network, the support device 600, or the like. Good.
  • the function provided by the security unit 200 according to the present embodiment may be realized by utilizing a part of the module provided by the OS 2601.
  • FIG. 3 shows a configuration example in which necessary functions are provided by the processor 202 executing a program.
  • some or all of the provided functions may be provided in a dedicated hardware circuit (for example, ASIC).
  • it may be implemented using an FPGA or the like).
  • the main part of the security unit 200 may be realized using hardware conforming to a general-purpose architecture (for example, an industrial personal computer based on a general-purpose personal computer).
  • a virtualization technique may be used to execute a plurality of OSs having different purposes in parallel and to execute a necessary application on each OS.
  • FIG. 4 is a schematic diagram showing a hardware configuration example of safety unit 300 included in control system 1 according to the present embodiment.
  • the safety unit 300 includes a processor 302 such as a CPU or a GPU, a chipset 304, a main storage device 306, a secondary storage device 308, a memory card interface 314, and an internal component as main components. It includes a bus controller 322 and an indicator 324.
  • the processor 302 reads out various programs stored in the secondary storage device 308, expands them in the main storage device 306, and executes them to realize control calculations related to safety control and various processes.
  • the chip set 304 mediates the exchange of data between the processor 302 and each component, thereby realizing the processing of the safety unit 300 as a whole.
  • the secondary storage device 308 stores a safety program that operates in the execution environment provided by the system program.
  • the memory card interface 314 is configured so that the memory card 315 can be attached and detached.
  • the memory card interface 314 can write data such as a safety program and various settings to the memory card 315, or read data such as a safety program and various settings from the memory card 315.
  • the internal bus controller 322 is in charge of exchanging data with the control unit 100 via the internal bus.
  • the indicator 324 is a device that notifies various information including the operating state of the safety unit 300, and is composed of one or more LEDs arranged on the surface of the unit.
  • FIG. 4 shows a configuration example in which necessary functions are provided by the processor 302 executing a program, but a part or all of the provided functions may be provided in a dedicated hardware circuit (for example, ASIC Alternatively, it may be implemented using an FPGA or the like).
  • the main part of the safety unit 300 may be realized by using hardware conforming to 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 having different purposes in parallel and to execute a necessary application on each OS.
  • Control system 10> Referring again to FIG. 5, a typical example of control system 10 including control system 1 according to the present embodiment will be described. For convenience of description, the functional unit 400 and the power supply unit 450 are not shown in FIG.
  • the security unit 200 of the control system 1 is connected to the first network 2 via the communication ports 242 and 243 (network controller 216 in FIG. 3).
  • a SCADA (Supervisory Control And Data Acquisition) device 700 is connected to the first network 2 via a communication port 242, and a support device 600 is connected to the first network 2 via a communication port 243.
  • the security unit 200 is connected to the router 51 including a processor (not shown) such as a CPU via the communication port 242.
  • the router 51 has a function of relaying communication between the security unit 200 and the external network 50 and a function of an FW (Fire Wall) 52.
  • the FW 52 carries out an authentication process using a user name, a password, an electronic certificate, etc., a virus check of data (contents) to be relayed, a process of detecting unauthorized communication by matching using a whitelist or a blacklist, and the like. ..
  • the router 51 relays, to the external network 50, only the legitimate data that has been successfully authenticated or matched among the data transmitted from the control system 1 to the external network 50, and from the external network 50 to the control system 1. Of the transmitted data, only the legitimate data that has been successfully authenticated or matched is relayed to the control system 1.
  • the router 51 outputs communication monitoring information 511 that monitors EIP (EtherNet/IP) access.
  • the router 51 generates the communication monitoring information 511 from the data that has been unsuccessful in information authentication or matching, that is, there is a possibility of so-called unauthorized access, and transmits the generated communication monitoring information 511 to the security engine 250 via the port 242.
  • the port 243 also outputs communication monitoring information 511 for monitoring EIP access.
  • the port 243 includes, for example, a NIC (Network Interface Car), and of the data received from the internal first network 2 via the port 243, data that has not been successfully authenticated or matched and may be so-called unauthorized access.
  • the communication monitoring information 511 is generated from the above, and the generated communication monitoring information 511 is transmitted to the security engine 250.
  • the communication monitoring information 511 may be information output from the router 51 regarding each data that may be illegally accessed from the external network 50, or may be illegal access from the internal first network 2 that is output from the port 243. Contains information about each piece of data. Such information includes, for example, a data transmission source and a data destination (such as an address), data content (such as a payload), and a communication time.
  • the support device 600 can access at least the control unit 100 and provides the user with functions such as creation of programs executed by each unit included in the control system 1, debugging, and setting of various parameters.
  • the SCADA device 700 corresponds to, for example, a PC (Personal Computer), presents various information obtained by the control calculation in the control system 1 to the operator, and sends internal commands to the control system 1 in accordance with the operation from the operator. To generate.
  • the SCADA device 700 also has a function of collecting data handled by the control system 1.
  • the control unit 100 of the control system 1 is connected to the second network 4 via the communication port 142 (the network controller 116 of FIG. 2).
  • An HMI (Human Machine Interface) 800 and a database 900 can be connected to the second network 4.
  • the HMI800 is equivalent to a personal computer.
  • the HMI 800 presents various information obtained by the control calculation in the control system 1 to the operator, and also generates an internal command or the like for the control system 1 in accordance with the operation by the operator.
  • the HMI 800 may be configured to be portable by the FA maintainer.
  • the database 900 collects various data (for example, information on traceability measured from each work) transmitted from the control system 1.
  • the control unit 100 of the control system 1 is connected to one or more field devices 500 via the communication port 144 (the network controller 118 in FIG. 2).
  • the field device 500 includes a sensor and a detector that collect various kinds of information necessary for control calculation from a control target, and an actuator that gives some action to the control target.
  • the field device 500 is an I/O that exchanges signals with a robot that gives some external action to a work, a conveyor that conveys the work, and sensors and actuators arranged in the field. Including units etc.
  • “ECAT” of the line to which the field device 500 is connected indicates EtherCAT.
  • control unit 100 in charge of the line B is also connected to one or more field devices 500 via the communication port 144 (the network controller 118 in FIG. 2).
  • control unit 100 exchanges data between a control engine 150, which is a processing execution unit that executes a control calculation related to standard control, and an external device.
  • Including and The security unit 200 includes a security engine 250 for realizing security functions as described below.
  • the safety unit 300 includes a safety engine 350 that is a processing execution unit that executes a control calculation related to safety control.
  • Each engine is realized by any hardware element such as the processor of each unit, any software element such as various programs, or a combination of those elements.
  • Each engine can be implemented in any form.
  • control system 1 includes a broker 170 that mediates exchange between engines.
  • the broker 170 entity may be located in one or both of the control unit 100 and the security unit 200.
  • the control engine 150 holds a variable table, a function block (FB), etc. necessary for executing a control operation for controlling a control target.
  • Each variable stored in the variable table is periodically collected by the value acquired from the field device 500 by the I/O refresh process, and the value of each variable is periodically reflected in the field device 500.
  • the log of the control calculation in the control engine 150 may be stored in the log database 180 of the secondary storage device 108.
  • the information engine 160 executes arbitrary information processing on the data held by the control unit 100 (variable values held in the variable table).
  • the information engine 160 typically includes a process of periodically transmitting the data held by the control unit 100 to the database 900 or the like. SQL or the like is used for transmitting such data.
  • the information engine 160 also monitors the SQL issued for accessing (reading, writing) the database 900. Specifically, the issued SQL is matched with a registered legal pattern, SQL information 161 including a result of collation mismatch is generated, and is output to the security engine 250 via the broker 170. Therefore, the SQL information 161 indicates information indicating that an illegal SQL has been issued, that is, information on SQL injection that enables falsification of the database 900.
  • the SQL information 161 includes, for example, the SQL of collation mismatch, the issue time of the SQL, and the issuer information.
  • the security engine 250 performs detection processing for detecting whether or not a security incident has occurred in the control system 1, and the type of the incident that the user (administrator) should take with respect to the detected incident. And a notification unit that executes a process of outputting a notification of the handling information according to the above. Further, the security engine 250 executes processing according to the type of detected incident.
  • the behavior of the security engine 250 is stored as security information 260 in the secondary storage device 208, for example.
  • the security engine 250 notifies the occurrence of a security incident or some event related to the incident, the level of the security incident or event occurring, or the like with an indicator 224.
  • an indicator 224 In FIG. 5, for example, only the indicator 224 is illustrated as the device that outputs the notification, but the device is not limited to the indicator 224 and may be the display 225 or the speaker 226.
  • the safety engine 350 detects whether any unauthorized intrusion has occurred in the control system 1.
  • the safety engine 350 acquires and reflects, via the control unit 100, the safety I/O variable necessary for executing the control calculation related to safety control.
  • the log of the safety control in the safety engine 350 may be stored in the log database 360 of the secondary storage device 308.
  • the broker 170 may be configured to change the operation of the control engine 150, the information engine 160, and the safety engine 350, for example, when the security engine 250 detects any incident or event.
  • the support device 600 makes various settings for the control system 1.
  • the various settings include setting of information regarding incident detection and incident handling.
  • FIG. 6 is a schematic diagram showing a hardware configuration example of support device 600 connected to control system 1 according to the present embodiment.
  • the support device 600 is realized by using, for example, hardware (for example, a general-purpose personal computer) according to a general-purpose architecture such as a PC (Personal Computer).
  • hardware for example, a general-purpose personal computer
  • PC Personal Computer
  • the support device 600 includes a processor 602, a main memory 604, an input unit 606, an output unit 608, a storage 610, an optical drive 615 for accessing a storage medium 614 including an optical disc, and a USB. And a controller 620. These components are connected via a processor bus 618.
  • the processor 602 includes a CPU, a GPU, and the like, and reads out a program (as an example, the OS 6102 and the support program 6104) stored in the storage 610, expands the program in the main memory 604, and executes the program to set the control system 1. Realize processing.
  • a program as an example, the OS 6102 and the support program 6104
  • the processor 602 includes a CPU, a GPU, and the like, and reads out a program (as an example, the OS 6102 and the support program 6104) stored in the storage 610, expands the program in the main memory 604, and executes the program to set the control system 1. Realize processing.
  • the main memory 604 is composed of a volatile storage device such as DRAM or SRAM.
  • the storage 610 is composed of, for example, a non-volatile storage device such as an HDD or SSD.
  • a support program 6104 for providing the functions as the support device 600 is stored in the storage 610. That is, the support program 6104 realizes the support device 600 according to the present embodiment by being executed by a computer connected to the control system 1.
  • the input unit 606 is composed of a keyboard, a mouse, etc., and receives user operations.
  • the output unit 608 includes a display, various indicators, a printer, and the like, and outputs various information including the processing result from the processor 602.
  • the USB controller 620 exchanges data with the control system 1 or the like via a USB connection.
  • FIG. 6 illustrates a configuration example in which the processor 602 executes a program to provide necessary functions as the support device 600.
  • the processor 602 executes a program to provide necessary functions as the support device 600.
  • some or all of the provided functions may be provided by dedicated hardware. It may be implemented using a circuit (for example, ASIC or FPGA).
  • FIG. 7 is a schematic diagram showing a functional configuration example included in security unit 200 according to the present embodiment.
  • the storage unit 209 (the storage unit 209 configured to include the secondary storage device 208 or the main storage device 206) has an attack for each type of incident in order to detect the incident.
  • a tree 67, a countermeasure DB 66 for registering countermeasure information for each type of incident, an OS 2601, a security system program 2610, and network configuration information 2620 including information for identifying devices network-connected to the control system 1 are stored.
  • the storage unit 209 also includes an area 207 for holding (storing) the output (or output) notification 68, and an area 208 for storing information collected by the security unit 200.
  • the storage unit 209 also stores a table 221 described below.
  • the area 208 stores external information 71, SGU internal information 72, and PLC status information 73.
  • the external information 71 is information acquired outside the control system 1.
  • the communication monitoring information 511 from the router 51, the SQL information 161 from the information engine 160, and the external network 50 are controlled by the control system. Includes information such as whether or not 1 is connected/disconnected.
  • the SGU internal information 72 includes information such as the status information (normal or abnormal) of the security unit 200 and the removable state of the memory card 215.
  • the status information of the security unit 200 indicates an abnormality if the processing load of the processor exceeds the threshold value, and indicates a normal state if it is less than the threshold value.
  • the PLC status information 73 includes status information (normality, abnormality, etc.) of the control unit 100 and information on the removable state of the memory card 115.
  • the state information of the control unit 100 indicates, for example, an abnormality if the magnitude of the processing load of the processor exceeds the threshold value, and indicates a normal state if it is less than the threshold value.
  • the security system program 2610 includes an information collection program 2611 for implementing the security engine 250, an incident detection program 2612, a notification processing program 2613, and a notification output program 2614.
  • the processor 202 realizes the security engine 250 by periodically executing the security system program 2610 under the OS 2601. This execution cycle is synchronized with the execution cycle of the control program of the control unit 100, for example.
  • the security engine 250 is realized by executing the information collecting unit 20 realized by executing the information collecting program 2611, the incident detecting unit 21 realized by executing the incident detecting program 2612, and the notification processing program 2613.
  • the notification processing unit 22 and the notification output unit 23 realized by executing the notification output program 2614 are included.
  • the notification processing unit 22 and the notification output unit 23 form a notification unit.
  • the information collecting unit 20 collects (receives) external information 71 (including communication monitoring information 511 or SQL information 161), SGU internal information 72 of the security unit 200, and PLC status information 73 from the control unit 100 via the broker 170. Then, the collected information is stored in the area 208. Since the information collecting unit 20 periodically collects these pieces of information, the area 208 always stores the latest information.
  • the incident detection unit 21 compares the information in the area 208 with the information in the attack tree 67 for each type of security incident, detects whether or not an incident has occurred in the control system 1 based on the result of the comparison, and The type of is detected (determined). The details of this incident detection will be described later.
  • the notification processing unit 22 searches the handling DB 66 based on the detection result of the incident detection unit 21, reads the handling information corresponding to the detected incident from the handling DB 66 according to the search result, and generates a handling information notification 68. To do.
  • the notification processing unit 22 also stores the notification 68 in the area 207 of the storage unit 209.
  • the notification 68 includes an ID 683 of an identifier (type of incident, time of occurrence, severity Phi and risk value described later, etc.), and a message 682.
  • the notification output unit 23 controls the output unit including the indicator 224, the display 225, the speaker 226, and the like so as to output the notification 68. Further, the notification output unit 23 controls the output unit to output the notification 68 including the message 682 in a time series when the incident detection unit 21 detects the corresponding incident.
  • the message 682 indicates guidance for appropriately handling the incident or information for guiding some countermeasures for the incident.
  • the countermeasure or countermeasure may include an operation on the control system 1. Therefore, the message 682 may include information on countermeasures or measures for changing the operating state of the control system 1.
  • the user can check the latest guidance from the handling information (message 682 such as guidance) output through the output unit, and the guided handling can be performed.
  • the control system 1 can be operated while changing the operating state so as to deal with the incident.
  • the handling information can be output in time series according to the incident detection time, and the user can deal with the incidents changing in time series.
  • FIG. 8 is a schematic diagram showing a functional configuration example included in support device 600 according to the present embodiment.
  • the storage 610 of the support device 600 stores the countermeasure DB 66 generated in the support device 600 and the attack tree 67 for each type of incident, and also stores related information.
  • Related information includes user information 62 set for a user who manages the control system 1 (or a user who can deal with an incident), network configuration information 63 for the control system 1, and PLC configuration information 65 indicating the configuration of the control unit 100. including.
  • the support program 6104 executed under the OS 6102 includes a countermeasure DB generation program 611, an attack tree generation program 612, and a transfer program 613.
  • the processor 602 executes the countermeasure DB generation unit 621 realized by executing the countermeasure DB generation program 611, the attack tree generation unit 623 realized by executing the attack tree generation program 612, and the transfer program 613.
  • the transfer unit 624 realized by.
  • the coping DB generation unit 621 generates the coping DB 66 in accordance with the user operation received via the input unit 606.
  • the coping DB generation unit 621 displays the user information 62 on the display of the output unit 608. Therefore, the user can perform an input operation of information for generating the coping DB 66 while referring to the user information 62.
  • the countermeasure DB generation unit 621 changes the content (message 682 or the like) of the countermeasure DB 66 according to the network configuration information 63.
  • the handling DB generation unit 621 changes the content (message 682 or the like) of the handling DB 66 according to the PLC configuration information 65.
  • FIG. 9 is a diagram schematically showing an example of the user information 62 according to the embodiment of the present invention.
  • FIG. 10 is a diagram schematically showing an example of the coping DB 66 according to the embodiment of the present invention.
  • the severity Phi is an influence of the incident such as the degree of danger (the degree of possibility of loss) exerted on the security of the control system 1 and the degree of urgency (the degree of urgent action to be taken). Indicates the degree.
  • the severity Phi can be, for example, one of “high” (Ph3), “medium” (Ph2) and “low” (Ph1).
  • the severity is set to three levels Ph1 to Ph3, but the level is not limited to three levels.
  • the countermeasure DB 66 generated by the countermeasure DB generation unit 621 based on a user operation associates, for each expected incident type 680, the incident severity Phi and each severity Phi.
  • a risk value 681 and a handling message 682 which are indicated by subdivided values, are included.
  • a handling DB for incidents of “spoofing” is shown.
  • the handling DB 66 is generated so as to include a message indicating the degree or urgency.
  • the risk value 681 is referred to when the security unit 200 makes a dynamic determination.
  • FIG. 11 is a diagram schematically showing another example of the handling DB 66 according to the present embodiment.
  • Incidents assumed in the control system 1 according to the present embodiment are not limited to “spoofing” in FIG. 10, and as shown in FIG. 11, “DoS attack” and “tampering” are added to “spoofing”. It is also possible to generate a response DB corresponding to an incident such as.
  • the message 682 includes data designating the person in charge (user) of a higher organization as the notification destination. It is also generated to include a message indicating a higher degree of risk or urgency.
  • FIG. 12 is a diagram schematically showing an example of the configuration of the attack tree 67 according to the present embodiment.
  • the attack tree generation unit 623 generates an attack tree 67 for each type of incident.
  • FIG. 12 for example, an attack tree 67 corresponding to “DoS attack” is shown.
  • the attack tree 67 of FIG. 12 is represented by a tree structure having a depth of three layers (severity levels Ph1 to Ph3). This tree structure includes leaf elements 671, 672, and 673 arranged in each layer, and a root element 670, which is the highest element of the tree structure.
  • each leaf element has a condition for determining that an event that can occur in the control system 1 and that may be a factor of the incident (“DoS attack”) has occurred. Assigned.
  • the condition assigned to each leaf element is that data is received from the same source to the communication port, and per unit time of data that may be illegally accessed to the control system 1.
  • the conditions based on the number of receptions are shown.
  • the presence or absence of unauthorized access and the number of times per unit time can be acquired based on the communication monitoring information 511 from the router 51.
  • the condition of the leaf element 673 of the severity level Ph1 K times ⁇ number of unauthorized access per unit time ⁇ M times
  • the incident becomes a state of the severity level Ph1.
  • the branch 675 is followed to determine the condition of the leaf element 672 of the upper layer (severity level Ph2).
  • the incident becomes a state of the severity Ph2.
  • the condition of the leaf element 672 of the severity Ph2 M times ⁇ number of unauthorized accesses per unit time ⁇ N times
  • the incident becomes a state of the severity Ph3.
  • the condition of the leaf element 671 of the severity Ph3 N times ⁇ number of unauthorized accesses per unit time
  • the incident becomes a state of the severity Ph3.
  • the severity Phi of the incident (“DoS attack”) in the tree 67 can be determined.
  • an attack tree 67 corresponding to "tampering” can be generated.
  • the condition corresponding to the degree of severity Phi assigned to each leaf element is, for example, a condition based on the number of times SQL injection is performed per unit time that may manipulate the database 900. Indicates.
  • the incident detection unit 21 acquires the presence or absence of issuance of SQL injection and the number of issuances per unit time based on the SQL information 161 from the information engine 160.
  • the tree structure of the attack tree 67 shown in FIG. 12 is merely an example, and the number of layers and the number of leaf elements can be changed. Further, even for other types of incidents (for example, “spoofing”), the attack tree generation unit 623 can generate the attack tree 67 similar to that in FIG.
  • the countermeasure DB 66 generated by the countermeasure DB generation unit 621 and the attack tree 67 generated by the attack tree generation unit 623 are stored in the storage 610. Further, the transfer unit 624 transfers the countermeasure DB 66 and the attack tree 67 to the security unit 200. The security unit 200 receives the countermeasure DB 66 and the attack tree 67 for various incidents from the transfer unit 624, and stores them in the storage unit 209 in FIG. 7.
  • the determination of the incident response information (message 682) according to the present embodiment includes a static determination that is statically determined and a dynamic determination that is dynamically determined.
  • the user operates the security unit 200 to set (switch) either the static decision or the dynamic decision to the security unit 200.
  • the static determination includes a method of determining a countermeasure based on the seriousness degree Phi determined using predetermined information for detecting an incident in the state information indicating the operating state of the control system 1.
  • the dynamic determination includes a method of detecting the severity of an incident (a risk value 681 described later) using the severity Phi based on predetermined information and the state information indicating the operating state.
  • FIG. 13 is a diagram schematically illustrating a method of statically determining the handling of an incident according to the embodiment of the present invention.
  • FIG. 14 is a diagram schematically illustrating a method of dynamically determining the handling of an incident according to the embodiment of the present invention. In FIG. 13 and FIG. 14, for example, a case of “DoS attack” is illustrated as an incident.
  • FIG. 13A is a simplified version of the attack tree 67 of FIG. 12, and shows only leaf elements of each layer (each layer of severity levels Ph1 to Ph3).
  • the risk value 681 is omitted in the “DoS attack” countermeasure DB 66, and items of the incident type 680, the severity Ph, and the message 682 are included.
  • the incident detection unit 21 determines whether the conditions of each layer of the attack tree 67 of FIG. 13A are satisfied based on the communication monitoring information 511 collected by the information collection unit 20. The degree of seriousness Phi is judged by tracing the branch 675 based on the judgment result.
  • the notification processing unit 22 responds to the type of incident (“DoS attack”) of FIG.
  • the handling DB 66 is searched.
  • the notification processing unit 22 reads out the message 682 corresponding to the severity level Phi from the handling DB 66 by searching.
  • the notification output unit 23 outputs the notification (message 682) from the notification processing unit 22.
  • the incident (type and severity Phi) is detected by using only the predetermined information (for example, the communication monitoring information 511) for detecting the incident among the state information indicating the operating state.
  • the user can be notified of the handling information (message 682) uniquely associated with the severity Phi.
  • FIG. 14A is a flow chart schematically showing the procedure of calculating the risk value 681 by dynamic determination and determining the countermeasure information (message 682).
  • FIG. 14B is a “DoS attack” countermeasure DB 66, and includes items of an incident type 680, a severity level Phi, a risk value 681, and a message 682.
  • the risk value 681 of each severity Phi is a value obtained by subdividing the severity Phi into a plurality of levels, and a message 682 is associated with each level of the risk value 681.
  • the incident detection unit 21 detects the type of incident and the severity Phi using the attack tree 67 and predetermined information (communication monitoring information 511) of FIG. 13A ( Step R1). This detection is similar to the static decision described above.
  • this operating status information includes, for example, external information 71, SGU internal information 72, and PLC status information 73. Details of the risk calculation in step R3 will be described later.
  • the notification processing unit 22 searches the countermeasure DB 66 of FIG. 14B based on the risk value 681 calculated in step R3, and reads the countermeasure information (message 682) corresponding to the risk value 681 from the countermeasure DB 66 ( Step R5).
  • the notification output unit 23 notifies the handling information read from the handling DB 66 via the output unit (step R7).
  • FIG. 15 is a flowchart showing an example of risk calculation in step R3 of FIG. Calculation of the risk value 681 will be described with reference to FIG.
  • the notification processing unit 22 sets a value 0 to the variable k for risk calculation (step R31).
  • the notification processing unit 22 determines the type of incident detected by the incident detection unit 21 (step R33). If the type is determined to be “DoS attack”, the process proceeds to step R35, if it is determined to be “tampering”, the process proceeds to step R49, and if it is determined to be “spoofing”, the process proceeds to step R63.
  • the calculation of the risk values of “DoS attack” and “tampering” will be described, but the risk value 681 can be calculated by the same procedure even for “spoofing”.
  • a device PC or external storage medium
  • the risk value 681 can be calculated according to the type of incident by making the type of information indicating the operating state used for calculation different according to the type of incident.
  • the security risk is generally large as compared with the case where it is not. Therefore, in FIG. 15, when it is determined from the external information 71 that the external network 50 is connected (YES in step R35), the risk value is calculated as compared with the case where the external network 50 is not connected. A large value is set for the coefficient (variable k) for (step R39). Further, in the “DoS attack”, there is a risk that the resources of the device under attack are excessively consumed and the load of the processor is increased, which adversely affects the execution of the original control program. Therefore, in FIG.
  • step R55 when the processor load is high (YES in step R41), a large value is set for the coefficient (variable k) for calculating the risk value, as compared with the case where it is not (step R45). .. Similarly, also in “tampering", when the external network 50 is connected (YES in step R49) and when an external device or a device such as a storage medium is attached to the control system 1 (YES in step R55). A large value is set for the coefficient (variable k) for calculating the risk value as compared with the case where the external network or these devices are not attached (step R53, step R59). In the case where there is normally no person near the control system 1, the condition of step R55 may include the condition that there is a person near the control system 1.
  • the information collecting unit 20 periodically collects the information on the operating state while the control system 1 is operating, so that the security engine 250 collects the operating state simultaneously with the processing of the security engine 250 (in real time).
  • the risk value 681 can be calculated by using the information of. Therefore, the risk value 681 according to the severity Phi of the incident can be dynamically determined to a value according to the operating state of the control system 1, and the notification 68 according to the risk value 681 of the type of incident also moves. It is possible to switch and provide it.
  • FIG. 16 is a flowchart showing an example of overall processing according to the exemplary embodiment of the present invention.
  • the CPU 201 of the security unit 200 periodically and repeatedly executes the processing of FIG.
  • the incident detection unit 21 detects the presence or absence of an incident according to the attack tree 67 based on predetermined information in the information collected by the information collection unit 20 (step T1). If the incident is not detected (NO in step T1), the process ends, but if it is detected (YES in step T1), the incident detection unit 21 traces the attack tree 67 to determine the type and severity Phi of the incident. It is determined (step T3).
  • the notification processing unit 22 retrieves corresponding handling information (message 682) by searching the handling DB 66 based on the output from the incident detection unit 21 (step T5).
  • the notification output unit 23 notifies the read countermeasure information via the output unit (step T7).
  • the user takes a countermeasure for the incident according to the countermeasure information notified via the output unit (step T13). As a result, the security level of the control system 1 is changed.
  • the security engine 250 determines whether or not to execute a predetermined process (step T9). For example, this determination is made based on a user operation. When it is determined that the predetermined process is not performed (YES in step T9), the process ends, but when it is determined that the predetermined process is performed (NO in step T9), the predetermined process is performed (step T11).
  • FIG. 17 is a diagram schematically showing an example of predetermined processing executed by the security engine 250 according to the embodiment of the present invention.
  • the predetermined process can be different depending on the network configuration including the control system 1.
  • the control system 1 normally outputs a log (information for incident detection ( The external information 71, the SGU internal information 72, the PLC status information 73, etc.) are transferred to and stored in a cloud server (not shown) on the external network 50 (step SS1).When an incident is detected, in step T11.
  • the security engine 250 completely cuts off the connection with the external network 50 (step SS3), and stores the log in a predetermined area of the storage unit 209 for traceability (step SS2).
  • each control system 1 normally outputs a log (information for detecting an incident (external)
  • the information 71, the SGU internal information 72, the PLC status information 73, etc.) are transferred to a cloud server (not shown) on the external network 50 and stored therein.
  • step SS4 By intermittently connecting the engine 250 to the external network 50 (step SS4), another control system 1 (control unit 100) in which no incident has been detected can be provided with an environment capable of connecting to the external network 50. As a result, the influence on the operation of the other control system 1 can be reduced.
  • step T5 the handling information (message 682) is determined (read) according to the static determination or dynamic determination described above. This specific processing will be described with reference to FIGS. 18 and 19.
  • FIG. 18 is a flowchart showing an example of notification processing by static determination according to the embodiment of the present invention. Processing including static determination by the notification processing unit 22 will be described with reference to FIG. 18.
  • the incident detection unit 21 detects the occurrence of an incident according to the attack tree 67 based on predetermined information (communication monitoring information 511, SQL information 161 or the like), and determines the type and severity of incident Phi ( Step S3).
  • the notification processing unit 22 identifies the response DB 66 corresponding to the type of incident based on the output from the incident detection unit 21 and retrieves the identified response DB 66 based on the severity Phi to change the response DB 66 to the severity Phi.
  • the corresponding message 682 is read (step S5).
  • the notification processing unit 22 determines whether the read message 682 has been previously notified (step S7). Specifically, the notification processing unit 22 compares the incident type and detection time by the incident detection unit 21 with the ID 683 (incident type and time) of each notification 68 in the area 207 of the storage unit 209. When the notification processing unit 22 detects that the notification 68 having the matching ID 683 is not stored in the area 207 as a result of the collation, the notification processing unit 22 determines that the notification of the read message 682 has not been output before (step YES in S7). The notification processing unit 22 controls the notification output unit 23 to generate the notification 68 from the read message 682 and output the notification 68 via the output unit (step S9).
  • the notification processing unit 22 determines that the read message 682 has been previously notified (NO in step S7).
  • the notification processing unit 22 determines whether or not two or more messages 682 corresponding to an incident of the same type as the type detected in step S3 are notified based on the search result of the notification 68 in the area 207 (step S11). ).
  • the notification processing unit 22 determines whether the message 682 read in step S5 is new (step S13). .. Specifically, the notification processing unit 22 collates the read message 682 with the message 682 of the above-described collated and matched notification 68, and determines based on the collation result. When the notification processing unit 22 determines that the read message 682 is not new and has already been notified based on the collation result (NO in step S13), the notification processing unit 22 generates the notification 68 from the read message 682 and generates the notification 68.
  • the notification output unit 23 is controlled so that the notified notification 68 is output in parallel with the existing message 682 at the output unit (step S17).
  • the notification processing unit 22 determines that the message 682 read in step S5 is new and has not been notified yet (YES in step S13), it generates the notification 68 from the read message 682 and generates it.
  • the notification output unit 23 is controlled so that the notification 68 is output in parallel with the existing message 682 (step S15).
  • the message 682 may be overwritten (step S17).
  • the notification processing unit 22 overwrites the generated notification 68 with one of the existing messages 682 (for example, the (latest) message 682 whose ID 683 indicates the latest time) and outputs the notification 68.
  • the notification output unit 23 may be controlled.
  • the notification processing unit 22 determines that two or more messages 682 have not been notified (NO in step S11), that is, the message 682 that has been previously notified is one, the severity Phi is verified ( Compare. Specifically, the notification processing unit 22 compares the severity levels Phi of the message 682 read in step S5 and the previously notified message 682, and determines whether they match based on the comparison result. Yes (step S19). When both the severity levels Phi are determined to be the same (YES in step S19), the notification processing unit 22 generates the notification 68 from the message 682 read in step S5, and the generated notification 68 is already present in the output unit. The notification output unit 23 is controlled so as to overwrite and output the message 682 (step S21).
  • the notification processing unit 22 determines that the two severity levels Phi are different (NO in step S19), that is, if the message 682 read in step S5 is new and has not been notified, it is read.
  • the notification 68 is generated from the generated message 682, and the notification output unit 23 is controlled so that the generated notification 68 is output to the output unit in parallel with the existing message 682 (that is, in time series) (step S23).
  • FIG. 19 is a flowchart showing an example of notification processing by dynamic determination according to the embodiment of the present invention. Processing including dynamic determination by the notification processing unit 22 will be described with reference to FIG. Compared to the process of FIG. 18, the process of FIG. 19 additionally includes step R3 of calculating the risk value 681 of FIG. 14A, and step S5 of FIG. 18 is changed to the risk value 681 of FIG. 14A. The difference is that step R5 for searching the base handling DB 66 is changed, and step S19 of FIG. 18 is changed to step S19a of the process using the risk value 681.
  • the other processes in FIG. 19 are similar to those in FIG. Therefore, the description of the other processes will not be repeated.
  • the notification processing unit 22 calculates a risk value based on the output (type of incident and severity Phi) of the incident detection unit 21 (step R3).
  • the notification processing unit 22 searches the coping DB 66 based on the calculated risk value 681 and reads the message 682 corresponding to the risk value 681 (step R5).
  • step S19a the notification processing unit 22 compares the severity Phi and risk value 681 of the message 682 read in step R5 with the severity Phi and risk value 681 of the message 682 that has already been notified, It is determined based on the matching result whether the two match.
  • the countermeasure indicated by the notified message 682 is information on the countermeasure for changing the operating state of the control system 1 (for example, for the control system 1). Operation). Therefore, when the user takes action according to the notified message 682, it is expected that the severity Phi of the incident or the risk value 681 becomes small. Therefore, the severity Phi or the risk value 681 of the message 682 notified in step S17 or step S23 or the like becomes smaller over time. In this case, the user can confirm in real time from the notified message 682 (or notified severity Phi, risk value 681) that the incident has been dealt with successfully. On the contrary, if the severity Phi or the risk value 681 of the notified message 682 is increasing over time or does not change, the user can confirm in real time that the incident is not adequately dealt with. can do.
  • the notification output unit 23 controls the output unit to output the notification 68 including the message 682 and the ID 683 output by the notification processing unit 22. Accordingly, the notification output unit 23 can present the message 682, which is information on handling the incident, to the user via the output unit.
  • FIG. 20 is a diagram for explaining a method of presenting information on measures according to the embodiment of the present invention.
  • an output unit device (medium) for notifying the information of the countermeasure includes an LED, a 7-segment display, a patrol lamp 231, a sound, a vibration, an HMI, a PC tool, and the like.
  • the LED outputs a notification (type of incident, severity Phi, risk value) in a lighting color or a blinking manner.
  • the 7-segment display displays the notification (incident type, severity Phi, risk value) in decimal Arabic numerals with seven images (for example, the image is composed of LEDs), and the LED blinks. To output.
  • the patrol lamp 231 outputs the notification in a combination of the lighting color of the light or the blinking (lighting) pattern.
  • a beep sound can be used as the sound, and the notification is output with a combination of the beep sound cycle, loudness, height, and the like.
  • Ultrasonic vibration or physical vibration can be used as the vibration, and a notification can be output by combining different periods of the vibration.
  • a notification is displayed in a pop-up on the screen of the HMI 800 or the support device 600, or the operation permitted by the HMI 800 or the support device 600 is notified. Present the notification to the user by making it different according to.
  • FIG. 21 is a diagram exemplifying switching to the coping message 682 based on the configuration information of the control unit 100 according to the embodiment of the present invention. Switching of the handling DB 66 based on the configuration of the control unit 100 will be described with reference to FIG.
  • configuration data (abbreviation of configuration data) 1061 that is configuration information indicating the configuration of the control unit 100 is stored in the SRAM or the like of the main storage device 106 of the control unit 100.
  • the configuration data 1061 has information indicating a distinction such that the control unit 100 is applied to an FA in an unmanned factory or is applied to an FA in a manned factory.
  • the security unit 200 can receive the configuration data 1061 from the control unit 100 via the broker 170.
  • the configuration information of the control unit 100 is not limited to unattended/attended information.
  • the handling DB 66 stored in the storage unit 209 includes the handling DB 66 for unattended FA in FIG. 21A and the handling DB 66 for manned FA in FIG. 21B.
  • the notification processing unit 22 searches one of the handling DB 66 for unattended FA and the handling DB 66 for manned FA from the handling DB 66 stored in the storage unit 209 as a search target. Set to. Thereby, the handling DB 66 can be switched depending on the configuration of the control unit 100.
  • the message 682 of the countermeasure DB 66 for the manned FA shown in FIG. 21(B) is the area around the control unit 100, such as the message 6821 “Be careful of entering the safety area” and the message 6822 “Keep away from the device”. Includes a reminder message for users who may be present in. Unlike this, the message 682 of the coping DB 66 for unattended FA in FIG. 21(A) does not include a message for calling attention to users around the control unit 100.
  • the notification processing unit 22 switches the response DB 66 to be searched based on the configuration data 1061 from the control unit 100. For example, if the configuration data 1061 indicates that the network configuration including the control unit 100 includes only one control unit 100, it is said that “external network is cut off” as illustrated in FIG. Switching to the handling DB 66 including the message 682, on the other hand, for example, when the configuration data 1061 indicates a network configuration in which another control unit 100 is connected to the control unit 100, as shown in FIG. The other control unit 100 can switch to the coping DB 66 including the message 682 of “intermittently shut off the external network without completely shutting it off” so that it can communicate with the external network 50.
  • the notification processing unit 22 may change the message 682 based on whether or not an incident has been detected in advance and the operating state of the control system 1.
  • the operating state of the control system 100 is exemplified as the operating state of the control system 1.
  • FIG. 22 is a diagram schematically showing another example of the coping message according to the embodiment of the present invention.
  • the coping message 682a according to another example is stored in the storage unit 209 as a table 221.
  • the coping message 682a according to another example of the table 221 is determined in association with the PLC state information 73 indicating the operating state of the control unit 100 and the data 731.
  • the data 731 indicates whether or not an incident has been detected in advance.
  • the PLC status information 73 indicates, for example, “all stop fault”, “partial stop fault” and “mild fault” as the status of the control unit 100, and “SD card insertion” indicating that the memory card 115 is mounted and "USB connection" to the port 142 of the external device is shown.
  • the incident detection unit 21 determines that the “all stop fault” is generated under the condition of the corresponding data 731, that is, “previously incident detected”. When the condition is satisfied, the incident is detected (case 1 in FIG. 22). On the other hand, the incident detection unit 21 does not detect an incident when the condition is not satisfied (that is, when the condition that the problem occurs under “no incident detection in advance” is satisfied) (case 2 in FIG. 22). ). Therefore, only in the case of Case 1, the notification processing unit 22 notifies that the message 682a corresponding to Case 1 is “There is a possibility of all stop faults due to incident” based on the output of the incident detection unit 21. Similar processing is similarly performed for each of the PLC state information 73 of “partial stop fault” and “mild stop fault”.
  • the incident detection unit 21 determines the condition of the corresponding data 731, that is, “whether or not an incident has been detected in advance (whether or not an incident has been detected). )” is satisfied and an incident is detected.
  • the notification processing unit 22 outputs a corresponding message 682a based on the output of the incident detection unit 21.
  • FIG. 23 is a diagram illustrating a coping method according to a change in security level according to the embodiment of the present invention.
  • the security level in the FA environment to which the control system 1 is applied may be different for each factory FA. Therefore, in the present embodiment, it is possible to make the handling of security incidents different for each security level of the environment to which the control system 1 is applied.
  • FIG. 23A shows a case where the security level of the FA environment to which the control system 1 is applied is low
  • FIG. 23B shows a case where the security level is high.
  • the security unit 200 has a function of dealing with a security incident, and other devices connected to the control system 1 via a network do not have a function of detecting a security incident.
  • the message 682 output by the notification processing unit 22 may include a countermeasure for the devices such as the support device 600 and the SCADA device 700 or the network configuration.
  • FIG. 23B in addition to the security unit 200, other devices that are network-connected to the control system 1 have functions such as detection of security incidents.
  • the support device 600, the SCADA device 700, the router 51, and the like also have a function of handling an incident, and when the entry/exit management (physical security) to the factory is performed, the message output by the notification processing unit 22. 682 may include a measure for prompting confirmation of the log.
  • the security level of the FA environment to which the control system 1 is applied is stored in the secondary storage device 208, for example. Further, the countermeasure DB 66 for each security level is stored in the storage unit 209, and each countermeasure DB 66 has a message 682 corresponding to the corresponding security level.
  • the notification processing unit 22 switches the countermeasure DB 66 to be searched based on the security level. As a result, the notification processing unit 22 can output a message 682 indicating a countermeasure according to the security level when an incident is detected.
  • FIG. 24 is a diagram schematically showing an example of the output unit of the notification 68 according to the embodiment of the present invention.
  • the output part of the notification 68 can be diversified.
  • the output part of the notification 68 may include other devices (for example, the control unit 100, the coupler, various communication units, the HMI 800, etc.) in addition to the security unit 200.
  • the output unit that outputs the notification 68 includes, for example, the indicator 224, the display 225, or the speaker 226 included in the security unit 200. Further, a vibrating part (vibrator) or an LED (not shown) may be included.
  • the notification output unit 23 controls the vibration unit so that the vibration cycle is variable according to the notification 68, or controls the LED so that the blinking or lighting cycle or the lighting color is variable according to the notification 68. To do. Thereby, the maintenance person who maintains the FA can deal with the incident according to the notified message 682 by confirming the notification 68 by the output unit included in the security unit 200. For example, actions can be taken to avoid stopping the control unit 100.
  • the notification output unit 23 can output the notification 68 to the HMI 800. Therefore, the maintenance person can deal with the incident by checking the notification 68 with the HMI 800 even when the maintenance person is at a place away from the security unit 200.
  • the HMI 800 may be connected to both the security unit 200 and the control unit 100 or may be connected to one side.
  • the notification output unit 23 outputs the notification 68 to both HMI 800 or one HMI 800.
  • the output part of the notification 68 may include a patrol lamp 231 provided in the factory where the control system 1 is provided.
  • the notification output unit 23 controls the patrol lamp 231 according to the notification 68 so that the lighting color, the lighting cycle, and the like are variable. Therefore, even if the maintenance person is in a place away from the security unit 200, the maintenance person can obtain the coping information from the lighting of the patrol lamp 231 provided in the factory.
  • the output unit of the notification 68 may include a PC (Personal Computer) tool such as the support device 600 operated by a maintenance person.
  • the notification output unit 23 controls the support device 600 to output the notification 68. Therefore, even if the maintenance person is located in a place away from the security unit 200, the maintenance person can obtain the coping information from the output of the support device 600.
  • the PC tool may operate so as to restrict the operation of the support device 600 according to the notification 68. This makes it possible to prevent careless operation by the maintenance person.
  • the support device 600 may be connected to both the security unit 200 and the control unit 100 or may be connected to one of them.
  • the notification output unit 23 outputs the notification 68 to both support devices 600 or one support device 600.
  • the output unit of the notification 68 may include a monitoring PC 232 that may be provided as, for example, a PC (Personal Computer) operated by an administrator of the FA provided in the factory.
  • the notification output unit 23 controls the monitoring PC 232 to output the notification 68. Therefore, the surveillance person can obtain coping information from the output of the surveillance PC 232 even when the surveillance person is at a place away from the security unit 200.
  • the monitoring PC 232 may be portable.
  • the security unit 200 is shown to be connected to all the devices serving as the output units of the cases m1 to m5, but the present invention is not limited to this. That is, the control system 1 may be in a state in which one or more devices that are output units of the cases m1 to m5 are connected.
  • the notification output unit 23 can output the notification 68 according to any one of the cases m1 to m5 described above, or can output the notification 68 by combining two or more cases of the cases m1 to m5. ..
  • the user (maintenance person or administrator) may set the information specifying which case is applied to the security unit 200.
  • the notification output unit 23 specifies the device network-connected to the control system 1 from the network configuration information 2620 of the storage unit 209, and based on the information of the specified device, the output unit (cases m1 to Which of m5 is to be performed) may be determined.
  • FIG. 25 is a diagram schematically showing another example of the output unit of the notification 68 according to the embodiment of the present invention.
  • the FA may include a plurality of control systems 1.
  • the notification 68 of a certain control system 1 may be output by another control system 1 in addition to the output units of the above cases m1 to m5.
  • FIG. 26 is a diagram schematically showing an example of the output mode of the notification 68 according to the embodiment of the present invention.
  • FIG. 26 illustrates the case where the notification 68 is output to the display 225 or the indicator 224 of the security unit 200.
  • 26(A) and 26(B) show a configuration example in which the quantified severity Phi or the risk value 681 is displayed by the indicator 224.
  • the notification output unit 23 displays the countermeasure information (message 682) for the security incident on the display 225.
  • the display 225 may display the severity Phi, the calculated risk value 681, or the detected incident type 680 together with the handling information.
  • the user maintenance person, administrator
  • the user can be notified of the measures to be taken in response to the security incident by using sentences, pictures, diagrams, and the like.
  • FIGS. 26A and 26B three LEDs are arranged in the indicator 224, and the number of LEDs to be lit or the number of LEDs to be lit is set according to the severity Phi or the calculated risk value 681. Change the position of the LED.
  • the indicator 224 shown in FIG. 26B one LED is arranged, and the lighting color or lighting intensity, the blinking cycle, or the like is changed according to the severity Phi or the calculated risk value.
  • the security unit 200 has an output unit that outputs to the user the fact that the incident detection unit 21 has detected the incident by the indicator 224, and the severity Phi and the risk value 681 of the incident.
  • any indicator may be adopted as long as it can be presented as shown in FIG.
  • the control system 1 in which the security unit 200 is applied to the control unit 100 has been described, but the application destination of the security unit 200 is not limited to the control unit 100.
  • the security unit 200 can be applied to a control system mounted on an AGV (Automated guided vehicle) for FA instead of the control unit 100.
  • the incident detection unit 21 can detect the incident from the communication monitoring information 511 obtained by monitoring the AGV wireless communication.
  • a control system (1), A control unit (100) that executes a control operation for controlling the controlled object (500); A security unit (200) connected to the control unit and responsible for security functions for the control system;
  • the security unit is Collecting means (20) for collecting state information (71, 72, 73) indicating the operating state of the control system;
  • a notification means (22, 23) for notifying information on how to deal with the detected incident.
  • the detection means further includes The control system according to configuration 1, wherein the type of incident is detected based on that the collected state information satisfies one of the conditions (67) corresponding to each of a plurality of types of incidents.
  • the detection means further includes The severity of the incident is detected based on that the collected status information satisfies one of the conditions corresponding to the severity (Phi) of the impact on the security of the incident (see FIG. 12)
  • the control system according to configuration 1 or 2.
  • the notification means is 11.
  • the control system according to any one of configurations 1 to 10, which notifies a device determined based on information (2620) of a network configuration that connects a plurality of devices including the control unit, to the information on the countermeasure.
  • the security status of the control system in the FA can be immediately confirmed by the notification 68 from the notification output unit 23 even by a user having no security knowledge (maintenance person, etc.) You can Further, when an incident is detected due to a security abnormality, the user can confirm and implement the coping method that the maintenance person should take from the message 628 of the notification 68.
  • this notification 68 can be provided by tools such as an LED, a 7-segment display, a patrol lamp 231, a voice, a vibration, a display device such as the HMI 800, and a support device 600 via a network. Therefore, the user can receive the notification 68 from the nearest device even when the user is away from the security unit 200.
  • control system 1 control system, 2 1st network, 4 2nd network, 10 control system, 20 information collection unit, 21 incident detection unit, 22 notification processing unit, 23 notification output unit, 50 external network, 51 router, 62 user information, 68 Notification, 63, 2620 network configuration information, 66 countermeasure DB, 67 attack tree, 71 external information, 72 SGU internal information, 73 PLC status information, 100 control unit, 124, 224, 324 indicator, 150 control engine, 160 information engine, 170 brokers, 200 security units, 231, patrol lamps, 250 security engines, 260 security information, 300 safety units, 350 safety engines, 400 functional units, 450 power supply units, 500 field devices, 511 communication monitoring information, 600 support devices, 680 types, 681 risk value, 682, 682a, 6821, 6822 message, 2610 security system program, 2611 information collection program, 2612 incident detection program, 2613 notification processing program, 2614 notification output program, Phi severity level.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computer And Data Communications (AREA)
  • Programmable Controllers (AREA)
  • Selective Calling Equipment (AREA)
  • Alarm Systems (AREA)

Abstract

インシデントに応じて対処の情報を通知する。制御システムは、制御対象を制御するための制御演算を実行する制御ユニットと、制御ユニットに接続され、制御システムに対するセキュリティ機能を担当するセキュリティユニット(200)と、を備え、セキュリティユニットは、制御システムの稼働状態を示す状態情報を収集する収集手段と、収集される状態情報に基き、制御システムにおけるインシデントを検知する検知手段と、検知されたインシデントへの対処の情報を通知する通知手段と、を含む。

Description

制御システム
 本開示は、制御対象を制御する制御システムに対するセキュリティ機能に関する。
 FA(Factory Automation)の各種設備および各設備に配置される各種装置の制御には、PLC(プログラマブルロジックコントローラ)などの制御装置が用いられる。制御装置は、制御対象の設備や機械に生じる異常を監視するとともに、制御装置自体の異常を監視することも可能である。何らかの異常が検知されると、制御装置から外部に対して何らかの方法で通知がなされる。
 例えば、特開2002-163015号公報(特許文献1)は、故障監視画面に、PLC別のボード、シーケンサにおける故障箇所、故障内容、対処方法を表示する故障診断システムを開示する。
特開2002-163015号公報
 近年のICT(Information and Communication Technology)またはIoTの進歩に伴って、FAの制御装置も様々な外部装置とネットワーク接続されるとともに、制御装置において実行される処理も高度化している。このようなネットワーク化あるいはインテリジェント化に伴って、FAの制御システムにおいて想定され得るセキュリティ上のインシデント(脅威)の種類も増加している。このようなインシデントに対して運転員などの管理者が何ら対処を講じなければ、FAシステムが停止する可能性がある。したがって、管理者からは、各種のインシデントに適切に対処したいとの要望がある。
 その一方で、従来の制御装置においては、例えば特許文献1などのように、故障箇所、または、制御装置自体に生じた異常を検知するのみであり、FAの制御システムにおけるネットワーク化あるいはインテリジェント化に伴って生じ得るセキュリティ上のインシデントに対処する方法を管理者に通知する仕組みは、何ら提供されていない。
 本開示は、制御装置および制御システムのネットワーク化あるいはインテリジェント化に伴って生じ得るインシデント(脅威)に応じて対処の情報を通知するという、新たな課題を解決することを一つの目的としている。
 本開示の一例は、制御システムであって、制御対象を制御するための制御演算を実行する制御ユニットと、制御ユニットに接続され、制御システムに対するセキュリティ機能を担当するセキュリティユニットと、を備え、セキュリティユニットは、制御システムの稼働状態を示す状態情報を収集する収集手段と、収集される状態情報に基き、制御システムにおけるインシデントを検知する検知手段と、検知されたインシデントへの対処の情報を通知する通知手段と、を含む。
 上述の開示によれば、インシデントを検知して、検知したインシデントに応じて対処の情報を通知することができる。
 上述の開示において、検知手段は、さらに、収集される状態情報が、複数種類のインシデントのそれぞれに対応の条件のうちいずれかの条件を満たすことに基づき、当該インシデントの種類を検知する。
 上述の開示によれば、インシデントの種類を検知することができる。
 上述の開示において、検知手段は、さらに、収集される状態情報が、インシデントがセキュリティにおよぼす影響の深刻度のそれぞれに対応の条件のうちいずれかの条件を満たすことに基づき、当該インシデントの深刻度を検知する。
 上述の開示によれば、インシデントが検知された場合に、当該インシデントがセキュリティにおよぼす影響の深刻度も検知することができる。
 上述の開示において、対処の情報は、深刻度に応じた対処の情報を含む。
 上述の開示によれば、インシデントの深刻度に応じて対処するための情報を通知することができる。
 上述の開示において、通知手段は、さらに、検知された深刻度を通知する。
 上述の開示によれば、インシデントが検知された場合に、インシデントがセキュリティにおよぼす影響を定量的な深刻度として通知することができる。
 上述の開示において、通知手段は、さらに、収集される状態情報および深刻度に基く算出値であるセキュリティリスクを通知する。
 上述の開示によれば、インシデントが検知された場合に、インシデントがセキュリティにおよぼす影響を深刻度に基づくリスクとして、定量的な値を通知することができる。
 上述の開示において、対処の情報は、セキュリティリスクに応じた対処の情報を含む。
 上述の開示によれば、インシデントについて算出されたセキュリティリスク値に応じて、当該インシデントに対処するための情報を通知することができる。
 上述の開示において、対処の情報は、制御システムの稼働状態を変化させる対処の情報を含む。
 上述の開示によれば、対処の情報に、制御システムの稼働状態を変化させる対処の情報を含めることができる。したがって、通知された対処の情報に従い、ユーザーが対処を実施する結果、制御システムの稼働状態は、例えばインシデントの影響が小さくなるように変化する。
 上述の開示において、対処の情報は、制御ユニットの構成により異なる。
 上述の開示によれば、同じインシデントが検知されるとしても、制御ユニットの構成情報により、実施されるべき対処を異ならせることができる。
 上述の開示において、対処の情報は、制御ユニットを備えるネットワークの構成により異なる。
 上述の開示によれば、同じインシデントが検知されるとしても、制御ユニットを備えるネットワークの構成により、実施されるべき対処を異ならせることができる。
 上述の開示において、通知手段は、制御ユニットを含む複数の装置を接続するネットワーク構成の情報に基づき決定した装置に、対処の情報を通知する。
 上述の開示によれば、インシデントへの対処の情報の通知先となるべき装置を、制御ユニットが接続されるネットワーク構成に基づき決定することができる。
 本開示によれば、制御装置および制御システムのネットワーク化あるいはインテリジェント化に伴って生じ得るインシデント(脅威)に応じて対処の情報を通知するという、新たな課題を解決できる。
本実施の形態に係る制御システム1の構成例を示す外観図である。 本実施の形態に従う制御システム1が備える制御ユニット100のハードウェア構成例を示す模式図である。 本実施の形態に従う制御システム1が備えるセキュリティユニット200のハードウェア構成例を示す模式図である。 本実施の形態に従う制御システム1が備えるセーフティユニット300のハードウェア構成例を示す模式図である。 本実施の形態に従う制御システム1を備える制御システム10の典型例を示す模式図である。 本実施の形態に従う制御システム1に接続されるサポート装置600のハードウェア構成例を示す模式図である。 本実施の形態に従うセキュリティユニット200が備える機能構成例を示す模式図である。 本実施の形態に従うサポート装置600が備える機能構成例を示す模式図である。 本発明の実施の形態に係るユーザー情報62の一例を模式的に示す図である。 本発明の実施の形態に係る対処DB66の一例を模式的に示す図である。 本実施の形態に係る対処DB66の他の例を模式的に示す図である。 本実施の形態に係るアタックツリー67の構成の一例を模式的に示す図である。 本発明の実施の形態に係るインシデントに対する対処の静的決定の方法を模式的に説明する図である。 本発明の実施の形態に係るインシデントに対する対処の動的決定の方法を模式的に説明する図である。 図14(A)のステップR3におけるリスク計算の一例を示すフローチャートである。 本発明の実施の形態に係る全体処理の一例を示すフローチャートである。 本発明の実施の形態に係るセキュリティエンジン250が実施する所定処理の一例を模式的に示す図である。 本発明の実施の形態に係る静的決定による通知処理の一例を示すフローチャートである。 本発明の実施の形態に係る動的決定による通知処理の一例を示すフローチャートである。 本発明の実施の形態に係る対処の情報の提示方法を説明するための図である。 本発明の実施の形態に係る制御ユニット100の構成情報に基づく対処のメッセージ682の切替を例示する図である。 本発明の実施の形態に係る対処メッセージの他の例を模式的に示す図である。 本発明の実施の形態に係るセキュリティレベルの変化に応じた対処方法を説明する図である。 本発明の実施の形態に係る通知68の出力部の一例を模式的に示す図である。 本発明の実施の形態に係る通知68の出力部の他の例を模式的に示す図である。 本発明の実施の形態に係る通知68の出力態様の一例を模式的に示す図である。
 本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
 <適用例>
 図5を参照して、本発明が適用される場面の一例について説明する。図5は、本実施の形態に従う制御システム1を備える制御システム10の典型例を示す模式図である。本実施の形態では、制御システム1を、FAに適用する例を示すが、適用対象はFAに限定されず、例えばプラントまたは車両等に適用してもよい。
 一例として、図5に示す制御システム10は、FAにおける2つの生産ライン(ラインAおよびラインB)を制御対象とする。典型的には、各ラインは、ワークを搬送するコンベアに加えて、コンベア上のワークに対して任意の物理的作用を与えることが可能なロボットが配置されているとする。
 ラインAおよびラインBのそれぞれに制御ユニット100が配置されている。ラインAを担当する制御ユニット100に加えて、セキュリティユニット200およびセーフティユニット300が制御システム1を構成する。なお、説明の便宜上、図5には、機能ユニットおよび電源ユニットの記載を省略している。
 制御システム1のセキュリティユニット200は、制御対象を制御するための制御演算を実行する制御ユニット100に接続されて、制御システム1に対するセキュリティ機能を担当する。セキュリティユニット200は、制御システム1の稼働状態を示す状態情報を収集し、収集される状態情報に基き、制御システム1におけるインシデントを検知し、検知されたインシデントへの対処の情報をユーザー(保守者,管理者)に対して通知する。
 ここで、本明細書において、「インシデント」は、何らかのFAの制御システム1に対してセキュリティ上の脅威となり得る兆候,現象または異常を意味する。また、稼働状態を示す状態情報は、外部ネットワーク50との通信を監視する通信監視情報511およびデータベース900のSQL情報161を含む。
 セキュリティユニット200は、制御システム1の稼働状態について収集される状態情報に基づき、セキュリティ上のインシデントを検知して、ユーザーに対して、検知したインシデントへの対処の情報を通知することができる。これにより、ユーザーは、専門知識がなくとも、インシデントの発生を検知して、その対処を実施することができる。
 セキュリティユニット200は、インシデントを検知する場合に、インシデントの種類と、インシデントがセキュリティにおよぼす影響の深刻度、および(収集される状態情報および深刻度に基く算出値である)セキュリティリスクを取得し、取得したこれら情報を、対処の情報に追加して通知する。
 これにより、ユーザーは専門知識がなくとも、発生したインシデントの種類ととともに、セキュリティ上の深刻度およびリスク値を定量的に把握することが可能となる。以下、本実施の形態のより具体的な応用例について説明する。
 <A.制御システム1>
 本実施の形態に従うFAに適用される制御システム1の構成について説明する。
 図1は、本実施の形態に係る制御システム1の構成例を示す外観図である。図1を参照して、制御システム1は、制御ユニット100と、セキュリティユニット200と、セーフティユニット300と、1または複数の機能ユニット400と、電源ユニット450とを含む。セキュリティユニット200は、セキュリティガードユニット(SGU:security guard unit)とも呼ばれる。
 制御ユニット100とセキュリティユニット200との間は、任意のデータ伝送路(例えば、PCI Expressあるいはイーサネット(登録商標)など)を介して接続されている。制御ユニット100とセーフティユニット300および1または複数の機能ユニット400との間は、図示しない内部バスを介して接続されている。
 制御ユニット100は、制御システム1において中心的な処理を実行する。制御ユニット100は、任意に設計された要求仕様に従って、制御対象を制御するための制御演算を実行する。後述のセーフティユニット300で実行される制御演算との対比で、制御ユニット100で実行される制御演算を「標準制御」とも称す。図1に示す構成例において、制御ユニット100は、1または複数の通信ポートを有している。
 セキュリティユニット200は、制御ユニット100に接続され、制御システム1に対するセキュリティ機能を担当する。図1に示す構成例において、セキュリティユニット200は、1または複数の通信ポートを有している。セキュリティユニット200が提供するセキュリティ機能の詳細については、後述する。
 セーフティユニット300は、制御ユニット100とは独立して、制御対象に関するセーフティ機能を実現するための制御演算を実行する。セーフティユニット300で実行される制御演算を「セーフティ制御」とも称す。通常、「セーフティ制御」は、IEC 61508などに規定されたセーフティ機能を実現するための要件を満たすように設計される。「セーフティ制御」は、設備や機械などによって人の安全が脅かされることを防止するための処理を総称する。
 機能ユニット400は、制御システム1による様々な制御対象に対する制御を実現するための各種機能を提供する。機能ユニット400は、典型的には、I/Oユニット、セーフティI/Oユニット、通信ユニット、モーションコントローラユニット、温度調整ユニット、パルスカウンタユニットなどを包含し得る。I/Oユニットとしては、例えば、デジタル入力(DI)ユニット、デジタル出力(DO)ユニット、アナログ出力(AI)ユニット、アナログ出力(AO)ユニット、パルスキャッチ入力ユニット、および、複数の種類を混合させた複合ユニットなどが挙げられる。セーフティI/Oユニットは、セーフティ制御に係るI/O処理を担当する。
 電源ユニット450は、制御システム1が備える各ユニットに対して、所定電圧の電源を供給する。
 <B.各ユニットのハードウェア構成例>
 次に、本実施の形態に従う制御システム1が備える各ユニットのハードウェア構成例について説明する。
 (b1:制御ユニット100)
 図2は、本実施の形態に従う制御システム1が備える制御ユニット100のハードウェア構成例を示す模式図である。図2を参照して、制御ユニット100は、主たるコンポーネントとして、CPU(Central Processing Unit)またはGPU(Graphical Processing Unit)などのプロセッサ102と、チップセット104と、主記憶装置106と、二次記憶装置108と、通信コントローラ110と、USB(Universal Serial Bus)コントローラ112と、メモリカードインターフェイス114と、ネットワークコントローラ116,118,120と、内部バスコントローラ122と、インジケータ124と、を含む。
 プロセッサ102は、二次記憶装置108に格納された各種プログラムを読み出して、主記憶装置106に展開して実行することで、標準制御に係る制御演算、および各種処理を実現する。チップセット104は、プロセッサ102と各コンポーネントとの間のデータの遣り取りを仲介することで、制御ユニット100全体としての処理を実現する。
 二次記憶装置108には、システムプログラムに加えて、システムプログラムが提供する実行環境上で動作する制御プログラムが格納される。
 通信コントローラ110は、セキュリティユニット200との間のデータの遣り取りを担当する。通信コントローラ110としては、例えば、PCI Expressあるいはイーサネットなどに対応する通信チップを採用できる。
 USBコントローラ112は、USB接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。
 メモリカードインターフェイス114は、記憶媒体である例えばメモリカード115を脱着可能(Detachable)に構成される。メモリカードインターフェイス114は、メモリカード115に対して制御プログラムや各種設定などのデータを書込み、あるいは、メモリカード115から制御プログラムや各種設定などのデータを読出すことが可能になっている。
 ネットワークコントローラ116,118,120の各々は、ネットワークを介した任意のデバイスとの間のデータの遣り取りを担当する。ネットワークコントローラ116,118,120は、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などの産業用ネットワークプロトコルを採用してもよい。
 内部バスコントローラ122は、制御システム1を構成するセーフティユニット300、または、1または複数の機能ユニット400との間のデータの遣り取りを担当する。内部バスには、メーカ固有の通信プロトコルを用いてもよいし、いずれかの産業用ネットワークプロトコルと同一あるいは準拠した通信プロトコルを用いてもよい。
 インジケータ124は、制御ユニット100の動作状態などを通知するデバイスであり、ユニット表面に配置された1または複数のLED(Light Emitting Diode)などで構成される。
 図2には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これら提供される機能の一部または全部は、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装されてもよい。あるいは、制御ユニット100の主要部は、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現されてもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
 (b2:セキュリティユニット200)
 図3は、本実施の形態に従う制御システム1が備えるセキュリティユニット200のハードウェア構成例を示す模式図である。図3を参照して、セキュリティユニット200は、主たるコンポーネントとして、CPUまたはGPUなどのプロセッサ202と、チップセット204と、主記憶装置206と、二次記憶装置208と、通信コントローラ210と、USBコントローラ212と、メモリカードインターフェイス214と、ネットワークコントローラ216,218と、インジケータ224と、ディスプレイ225および音声出力のためのスピーカ226と、を含む。
 プロセッサ202は、二次記憶装置208またはメモリカードなどのメモリカード215に格納された各種プログラムを読み出して、主記憶装置206に展開して実行することで、後述するような各種セキュリティ機能を実現する。主記憶装置206は、DRAM(Dynamic Random Access Memory)またはSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。二次記憶装置208は、例えば、HDD(Hard Disc Drive)またはSSD(Solid State Drive)などの不揮発性記憶装置などで構成される。チップセット204は、プロセッサ202と各コンポーネントとの間のデータの遣り取りを仲介することで、セキュリティユニット200全体としての処理を実現する。
 二次記憶装置208には、後述するOS2601を含むシステムプログラムに加えて、システムプログラムが提供する実行環境上で動作するセキュリティシステムプログラム2610が格納される。
 通信コントローラ210は、制御ユニット100との間のデータの遣り取りを担当する。通信コントローラ210としては、制御ユニット100に通信コントローラ210と同様に、例えば、PCI Expressあるいはイーサネットなどに対応する通信チップを採用できる。
 USBコントローラ212は、USB接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。
 メモリカードインターフェイス214は、メモリカード215が脱着可能に構成される。メモリカードインターフェイス214は、メモリカードなどのメモリカード215に対して制御プログラムまたは各種設定などのデータを書込み、あるいは、メモリカード215から制御プログラムまたは各種設定などのデータを読出すことが可能になっている。
 ネットワークコントローラ216,218の各々は、ネットワークを介した任意のデバイスとの間のデータの遣り取りを担当する。ネットワークコントローラ216,218は、イーサネット(登録商標)などの汎用的なネットワークプロトコルを採用してもよい。
 インジケータ224、ディスプレイ225およびスピーカ226は、セキュリティユニット200からの情報を外部に通知するためのデバイスである。通知される情報は、セキュリティユニット200の動作状態、または制御システム1において検知されたセキュリティ上のインシデントに応じた対処の情報を含む。インジケータ224は、ユニット表面に配置された1または複数のLEDなどで構成される。ディスプレイ225は、ユニット表面に配置されたLCD(Liquid Crystal Display)を含む。スピーカ226は、ユニット表面に配置されて、通知される情報を音声で出力する、またはアラーム音などの管理者の注意喚起のための音声を出力する。
 メモリカードインターフェイス214は、コンピュータ読取可能なプログラムを非一過的に格納するメモリカード215(例えば、DVD(Digital Versatile Disc)などの光学記憶媒体)から、その中に格納されたプログラムを読取り、二次記憶装208または主記憶装置206などにインストールする。主記憶装置206に格納されるプログラムは、後述するOS2601に加えてセキュリティシステムプログラム2610を含む。
 セキュリティユニット200で実行されるセキュリティシステムプログラム2610などは、コンピュータ読取可能なメモリカード215を介してインストールされてもよいが、ネットワーク上のサーバ装置、またはサポート装置600などからダウンロードする形でインストールされてもよい。また、本実施の形態に係るセキュリティユニット200が提供する機能は、OS2601が提供するモジュールの一部を利用する形で実現される場合もある。
 図3には、プロセッサ202がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。あるいは、セキュリティユニット200の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOSを並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
 (b3:セーフティユニット300)
 図4は、本実施の形態に従う制御システム1が備えるセーフティユニット300のハードウェア構成例を示す模式図である。図4を参照して、セーフティユニット300は、主たるコンポーネントとして、CPUまたはGPUなどのプロセッサ302と、チップセット304と、主記憶装置306と、二次記憶装置308と、メモリカードインターフェイス314と、内部バスコントローラ322と、インジケータ324とを含む。
 プロセッサ302は、二次記憶装置308に格納された各種プログラムを読み出して、主記憶装置306に展開して実行することで、セーフティ制御に係る制御演算、および、各種処理を実現する。チップセット304は、プロセッサ302と各コンポーネントとの間のデータの遣り取りを仲介することで、セーフティユニット300全体としての処理を実現する。
 二次記憶装置308には、システムプログラムに加えて、システムプログラムが提供する実行環境上で動作するセーフティプログラムが格納される。
 メモリカードインターフェイス314は、メモリカード315を脱着可能に構成される。メモリカードインターフェイス314は、メモリカード315に対してセーフティプログラムや各種設定などのデータを書込み、あるいは、メモリカード315からセーフティプログラムや各種設定などのデータを読出すことが可能になっている。
 内部バスコントローラ322は、内部バスを介した制御ユニット100との間のデータの遣り取りを担当する。
 インジケータ324は、セーフティユニット300の動作状態を含む各種の情報を通知するデバイスであり、ユニット表面に配置された1または複数のLEDなどで構成される。
 図4には、プロセッサ302がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。あるいは、セーフティユニット300の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOSを並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
 <C.制御システム10>
 再び図5を参照して、本実施の形態に従う制御システム1を備える制御システム10の典型例について説明する。なお、説明の便宜上、図5には、機能ユニット400および電源ユニット450の記載を省略している。
 制御システム1のセキュリティユニット200は、通信ポート242,243(図3のネットワークコントローラ216)を介して第1ネットワーク2に接続されている。第1ネットワーク2には、通信ポート242を介してSCADA(Supervisory Control And Data Acquisition)装置700が接続され、また、通信ポート243を介してサポート装置600が接続されている。さらに、セキュリティユニット200は、通信ポート242を介して、CPUなどのプロセッサ(図示せず)を備えるルーター51が接続される。ルーター51は、セキュリティユニット200と外部ネットワーク50との間の通信を中継する機能およびFW(Fire Wall)52の機能などを備える。FW52は、ユーザー名、パスワード、電子的な証明書などを用いた認証処理、中継するデータ(コンテンツ)のウイルスチェック、ホワイトリストまたはブラックリストを用いたマッチングによる不正通信を検知する処理などを実施する。これにより、ルーター51は、制御システム1から外部ネットワーク50へ送信されるデータのうち、認証またはマッチングに成功した正当なデータのみを外部ネットワーク50へ中継し、また、外部ネットワーク50から制御システム1へ送信されるデータのうち、認証またはマッチングに成功した正当なデータのみを制御システム1へ中継する。
 ルーター51は、EIP(EtherNet/IP)のアクセスを監視する通信監視情報511を出力する。ルーター51は、情報認証またはマッチングに成功しなかった、いわゆる不正アクセスの可能性があるデータから通信監視情報511を生成し、生成した通信監視情報511を、ポート242を介してセキュリティエンジン250に送信する。また、ポート243もEIPのアクセスを監視する通信監視情報511を出力する。ポート243は、例えばNIC(Network Interface Car)を含み、ポート243を介して内部の第1ネットワーク2から受信するデータのうち、認証またはマッチングに成功しなかった、いわゆる不正アクセスの可能性があるデータから通信監視情報511を生成し、生成した通信監視情報511をセキュリティエンジン250に送信する。
 通信監視情報511は、ルーター51から出力される外部ネットワーク50からの不正アクセスの可能性がある各データに関する情報、またはポート243から出力される内部の第1ネットワーク2からの不正アクセスの可能性がある各データに関する情報を含む。このような情報は、例えば、データの送信元および宛先(アドレスなど)、データ内容(ペイロードなど)および通信時間などを含む。
 サポート装置600は、少なくとも制御ユニット100にアクセス可能になっており、制御システム1に含まれる各ユニットで実行されるプログラムの作成、デバッグ、各種パラメータの設定などの機能をユーザーへ提供する。
 SCADA装置700は、例えばPC(Personal Computer)に相当し、制御システム1での制御演算によって得られる各種情報をオペレータへ提示するとともに、オペレータからの操作に従って、制御システム1に対して内部コマンドなどを生成する。SCADA装置700は、制御システム1が扱うデータを収集する機能も有している。
 制御システム1の制御ユニット100は、通信ポート142(図2のネットワークコントローラ116)を介して第2ネットワーク4に接続されている。第2ネットワーク4には、HMI(Human Machine Interface)800およびデータベース900が接続され得る。
 HMI800は、パーソナルコンピュータに相当する。HMI800は、制御システム1での制御演算によって得られる各種情報をオペレータへ提示するとともに、オペレータからの操作に従って、制御システム1に対して内部コマンドなどを生成する。HMI800は、FAの保守者が携帯可能に構成され得る。データベース900は、制御システム1から送信される各種データ(例えば、各ワークから計測されたトレーサビリティに関する情報など)を収集する。
 制御システム1の制御ユニット100は、通信ポート144(図2のネットワークコントローラ118)を介して、1または複数のフィールドデバイス500と接続されている。フィールドデバイス500は、制御対象から制御演算に必要な各種情報を収集するセンサや検出器、および、制御対象に対して何らかの作用を与えるアクチュエータなどを含む。図5に示す例では、フィールドデバイス500は、ワークに対して何らかの外的な作用を与えるロボット、ワークを搬送するコンベヤ、フィールドに配置されたセンサやアクチュエータとの間で信号を遣り取りするI/Oユニットなどを含む。図5では、フィールドデバイス500が接続されるラインの“ECAT”は、EtherCATを示す。
 同様に、ラインBを担当する制御ユニット100についても同様に、通信ポート144(図2のネットワークコントローラ118)を介して、1または複数のフィールドデバイス500と接続されている。
 ここで、制御システム1の機能面に着目すると、制御ユニット100は、標準制御に係る制御演算を実行する処理実行部である制御エンジン150と、外部装置との間でデータを遣り取りする情報エンジン160とを含む。セキュリティユニット200は、後述するようなセキュリティ機能を実現するためのセキュリティエンジン250を含む。セーフティユニット300は、セーフティ制御に係る制御演算を実行する処理実行部であるセーフティエンジン350を含む。
 各エンジンは、各ユニットのプロセッサなどの任意のハードウェア要素または各種プログラムなどの任意のソフトウェア要素、あるいは、それら要素の組合せによって実現される。各エンジンは任意の形態で実装できる。
 さらに、制御システム1は、エンジン同士の遣り取りを仲介するブローカー170を含む。ブローカー170の実体は、制御ユニット100およびセキュリティユニット200の一方または両方に配置してもよい。
 制御エンジン150は、制御対象を制御するための制御演算の実行に必要な変数テーブルおよびファンクションブロック(FB)などを保持している。変数テーブルに格納される各変数は、I/Oリフレッシュ処理により、フィールドデバイス500から取得された値で周期的に収集されるとともに、フィールドデバイス500へ各変数の値が周期的に反映される。制御エンジン150での制御演算のログは二次記憶装置108のログデータベース180に格納されてもよい。
 情報エンジン160は、制御ユニット100が保持するデータ(変数テーブルで保持される変数値)に対して任意の情報処理を実行する。典型的には、情報エンジン160は、制御ユニット100が保持するデータを周期的にデータベース900などへ送信する処理を含む。このようなデータの送信には、SQLなどが用いられる。
 また、情報エンジン160は、データベース900のアクセス(読出,書込)のために発行されるSQLを監視する。具体的には、発行SQLを予め登録された正当パターンとマッチングし、照合不一致の結果を含むSQL情報161を生成し、ブローカー170を経由してセキュリティエンジン250に出力する。したがって、SQL情報161は、不正SQLが発行されたことを示す情報、すなわちデータベース900の改ざんを可能にするSQLインジェクションの情報を示す。本実施の形態では、SQL情報161は、例えば照合不一致のSQL、当該SQLの発行時間および発行元の情報を含む。
 セキュリティエンジン250は、制御システム1においてセキュリティ上のインシデントが発生したか否かを検知する処理を実施する検知手段と、検知された当該インシデントに対してユーザ(管理者)がとるべき当該インシデントの種類に応じた対処の情報の通知を出力する処理を実施する通知手段とを実現する。また、セキュリティエンジン250は、検知されたインシデントの種類に応じた処理などを実行する。セキュリティエンジン250の挙動は、例えば二次記憶装置208にセキュリティ情報260として保存される。
 セキュリティエンジン250は、セキュリティ上のインシデントまたはインシデントに関する何らかのイベントが発生したこと、あるいは発生しているセキュリティ上のインシデントまたはイベントのレベルなどを、インジケータ224で通知する。図5では、例えば通知を出力するデバイスとして、インジケータ224のみを例示したが、インジケータ224のみに限定されず、ディスプレイ225またはスピーカ226であってもよい。
 セーフティエンジン350は、制御システム1において何らかの不正侵入が発生したか否かを検知する。セーフティエンジン350は、制御ユニット100を介して、セーフティ制御に係る制御演算の実行に必要なセーフティI/O変数を取得および反映する。セーフティエンジン350でのセーフティ制御のログは二次記憶装置308のログデータベース360に格納されてもよい。
 ブローカー170は、例えば、セキュリティエンジン250が何らかのインシデントまたはイベントを検知すると、制御エンジン150、情報エンジン160およびセーフティエンジン350の動作などを変化させるよう構成されてもよい。
 <D:サポート装置600の構成>
 本実施の形態では、サポート装置600が制御システム1に対する各種の設定を行う。各種の設定には、インシデントの検知およびインシデントの対処に関する情報の設定が含まれる。
 図6は、本実施の形態に従う制御システム1に接続されるサポート装置600のハードウェア構成例を示す模式図である。サポート装置600は、一例として、PC(Personal Computer)などの汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いて実現される。
 図13を参照して、サポート装置600は、プロセッサ602と、メインメモリ604と、入力部606と、出力部608と、ストレージ610と、光ディスクを含む記憶媒体614をアクセスする光学ドライブ615と、USBコントローラ620とを含む。これらのコンポーネントは、プロセッサバス618を介して接続されている。
 プロセッサ602は、CPUやGPUなどで構成され、ストレージ610に格納されたプログラム(一例として、OS6102およびサポートプログラム6104)を読出して、メインメモリ604に展開して実行することで、制御システム1に対する設定処理などを実現する。
 メインメモリ604は、DRAMまたはSRAMなどの揮発性記憶装置などで構成される。ストレージ610は、例えば、HDDまたはSSDなどの不揮発性記憶装置などで構成される。
 ストレージ610には、基本的な機能を実現するためのOS6102に加えて、サポート装置600としての機能を提供するためのサポートプログラム6104が格納される。すなわち、サポートプログラム6104は、制御システム1に接続されるコンピュータにより実行されることで、本実施の形態に係るサポート装置600を実現する。
 入力部606は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。出力部608は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ602からの処理結果を含む各種情報を出力する。
 USBコントローラ620は、USB接続を介して、制御システム1などとの間でデータを遣り取りする。
 図6には、プロセッサ602がプログラムを実行することで、サポート装置600として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
 <E:インシデント検知と対処のための機能構成>
 本実施の形態に係るインシデント検知と対処のための機能を、図7を参照して説明する。図7は、本実施の形態に従うセキュリティユニット200が備える機能構成例を示す模式図である。図7を参照して、セキュリティユニット200は、記憶部209(二次記憶装置208または主記憶装置206を含んで構成される記憶部209)は、インシデントを検知するためにインシデントの種類毎のアタックツリー67、インシデントの種類毎の対処の情報を登録する対処DB66、OS2601、セキュリティシステムプログラム2610、および制御システム1にネットワーク接続される装置を識別する情報を含むネットワーク構成情報2620を格納する。また、記憶部209は、出力される(または出力済)通知68を保持(格納)するための領域207、およびセキュリティユニット200が収集する情報を格納する領域208を含む。また、記憶部209は、後述するテーブル221を格納する。
 領域208には、外部情報71、SGU内部情報72およびPLC状態情報73が格納される。外部情報71は、制御システム1の外部において取得される情報であって、本実施の形態では、例えばルーター51からの通信監視情報511、情報エンジン160からのSQL情報161、外部ネットワーク50を制御システム1に接続/切断しているかの情報などを含む。
 SGU内部情報72は、セキュリティユニット200の状態情報(正常、異常)およびメモリカード215の脱着の状態などの情報を含む。セキュリティユニット200の状態情報は、例えばプロセッサの処理負荷の大きさが閾値を超えていれば異常を示し、閾値以下であれば正常を示す。
 PLC状態情報73は、制御ユニット100の状態情報(正常、異常など)およびメモリカード115の脱着の状態などの情報を含む。制御ユニット100の状態情報は、例えばプロセッサの処理負荷の大きさが閾値を超えていれば異常を示す、閾値以下であれば正常を示す。
 セキュリティシステムプログラム2610は、セキュリティエンジン250を実現するための情報収集プログラム2611、インシデント検知プログラム2612、通知処理プログラム2613、および通知出力プログラム2614を含む。
 プロセッサ202は、OS2601の元でセキュリティシステムプログラム2610を周期的に実行することによりセキュリティエンジン250を実現する。この実行周期は、例えば制御ユニット100の制御プログラムの実行周期に同期する。
 セキュリティエンジン250は、情報収集プログラム2611を実行することで実現される情報収集部20、インシデント検知プログラム2612を実行することで実現されるインシデント検知部21、通知処理プログラム2613が実行されることで実現される通知処理部22、および通知出力プログラム2614を実行することで実現される通知出力部23を含む。通知処理部22および通知出力部23は、通知手段を構成する。
 情報収集部20は、外部情報71(通信監視情報511またはSQL情報161を含む)、セキュリティユニット200のSGU内部情報72、およびブローカー170を介して制御ユニット100からPLC状態情報73を収集(受信)し、収集した情報を領域208に格納する。情報収集部20は周期的に、これら情報を収集するので、領域208には常に最新の情報が格納される。
 インシデント検知部21は、領域208の情報とセキュリティ上のインシデントの種類毎のアタックツリー67の情報とを比較し、比較の結果に基き、制御システム1においてインシデントが発生したかを検知するととともに、インシデントの種類を検知(判断)する。このインシデント検知の詳細は後述する。
 通知処理部22は、インシデント検知部21の検知結果に基き対処DB66を検索し、検索の結果に従い、対処DB66から、検知されたインシデントに応じた対処の情報を読出し、対処情報の通知68を生成する。また、通知処理部22は、通知68を記憶部209の領域207に格納する。通知68は、識別子(インシデントの種類、発生した時間、後述する深刻度Phiおよびリスク値など)のID683と、メッセージ682を含む。通知出力部23は、通知68を出力するようにインジケータ224、ディスプレイ225およびスピーカ226などを含む出力部を制御する。また、通知出力部23は、メッセージ682を含む通知68を、インシデント検知部21により対応のインシデントの検知がなされた時系列に出力するよう出力部を制御する。
 本実施の形態では、メッセージ682は、インシデントに適切に対処するためのガイダンスまたはインシデントへの何らかの対策をガイドする情報を示す。対処または対策は、制御システム1に対する操作を含み得る。したがって、メッセージ682は、制御システム1の稼働状態を変化させる対処または対策の情報を含み得る。
 これにより、インシデントが検知された場合は、ユーザーは、出力部を介して出力される対処の情報(ガイダンスなどのメッセージ682)から、最新のガイダンスを確認することができ、またガイドされる対処の行動をすることで、インシデントに対処するよう制御システム1を、稼働状態を変化させながら稼働させることができる。また、対処の情報は、インシデントの検知時間に従い時系列に出力され得て、ユーザーは時系列に変化するインシデントに対処することが可能となる。
 <F:対処DBとアタックツリーおよび生成のための機能構成>
 本実施の形態に係る対処DB66とアタックツリー67は、サポート装置600により作成されて、セキュリティユニット200に転送される。図8は、本実施の形態に従うサポート装置600が備える機能構成例を示す模式図である。
 図8を参照して、サポート装置600のストレージ610は、サポート装置600において生成された対処DB66およびインシデントの種類毎のアタックツリー67を格納するとともに、関連する情報を格納する。関連する情報は、制御システム1を管理するユーザ(またはインシデントに対処可能なユーザ)に関して設定されたユーザー情報62、制御システム1についてのネットワーク構成情報63および制御ユニット100の構成を示すPLC構成情報65を含む。
 さらに、ストレージ610に、OS6102のもとで実行されるサポートプログラム6104は、対処DB生成プログラム611、アタックツリー生成プログラム612および転送プログラム613を含む。
 プロセッサ602は、対処DB生成プログラム611を実行することで実現される対処DB生成部621、アタックツリー生成プログラム612を実行することで実現されるアタックツリー生成部623、および転送プログラム613を実行することで実現される転送部624を備える。
 対処DB生成部621は、入力部606を介して受付けるユーザー操作に従い、対処DB66を生成する。対処DB生成部621は、ユーザー情報62を出力部608のディスプレイに表示する。したがって、ユーザーは、ユーザー情報62を参照しつつ、対処DB66を生成するための情報の入力操作を実施することができる。また、対処DB生成部621は、ネットワーク構成情報63に従い、対処DB66の内容(メッセージ682など)を異ならせる。また、対処DB生成部621は、PLC構成情報65に従い、対処DB66の内容(メッセージ682など)を異ならせる。
 図9は、本発明の実施の形態に係るユーザー情報62の一例を模式的に示す図である。図10は、本発明の実施の形態に係る対処DB66の一例を模式的に示す図である。図9を参照して、ユーザー情報62は、インシデントの深刻度Phiのそれぞれに関連付けて、当該深刻度Phi(i=1,2,3、・・・)であるインシデントを通知またはインシデントに対処するべきユーザーの識別子62a、当該ユーザーが属する組織名62b、ユーザーと通信するための電話番号62cおよび電子メールのアドレス62dを含む。
 本実施の形態では、深刻度Phiは、インシデントにより、制御システム1のセキュリティに及ぼされる危険度(損失が及ぶ可能性の程度)、緊急度(対処を急がなければならない程度)などの影響の程度を表す。図9の下段に示されるように深刻度Phiは例えば「高」(Ph3)、「中」(Ph2)および「低」(Ph1)のいずれかをとり得る。また、図9の下段では、深刻度Phiの各レベルに関連付けて、当該レベルの深刻度Phiが検出された場合に対処の通知がなされるタイミングおよび当該対処が実施されることで制御システム1が遷移し得る状態などが示される。なお、本実施の形態では、深刻度をPh1~Ph3の3段階としているが、段階は3段階に限定されない。
 (f1.対処DBの構成)
 図10を参照して、対処DB生成部621がユーザー操作に基づき生成する対処DB66は、想定されるインシデントの種類680毎に、当該種類に関連付けて、インシデントの深刻度Phiと、各深刻度Phiを細分化した値で示すリスク値681および対処のメッセージ682とを含む。図10では、例えば、“なりすまし”のインシデントについての対処DBが示されている。図10に示すように、各深刻度Phi(リスク値681)が高くなるほど、メッセージ682は、通知の宛先としてより上位組織の責任者(ユーザー)を指定するデータが含まれ、また、より高い危険度または緊急度を示すメッセージが含まれるように対処DB66が生成される。なお、後述するように、リスク値681は、セキュリティユニット200による動的決定が実施される場合に参照される。
 図11は、本実施の形態に係る対処DB66の他の例を模式的に示す図である。本実施の形態に係る制御システム1における想定されるインシデントは、図10の“なりすまし”に限定されず、図11に示すように、”なりすまし”に追加して、“DoS攻撃”および“改ざん”などのインシデントに対応した対処DBも生成することができる。図11の対処DB66も、インシデント毎に、当該インシデントの各深刻度Phi(リスク値681)が高くなるほど、メッセージ682は、通知の宛先としてより上位組織の責任者(ユーザー)を指定するデータが含まれ、また、より高い危険度または緊急度を示すメッセージが含まれるように生成される。
 (f2.アタックツリーの構成)
 アタックツリー生成部623は、入力部606を介したユーザー操作に基づきアタックツリー67を生成する。図12は、本実施の形態に係るアタックツリー67の構成の一例を模式的に示す図である。アタックツリー生成部623は、インシデントの種類毎にアタックツリー67を生成する。図12には、例えば、“DoS攻撃”に対応のアタックツリー67が示される。図12のアタックツリー67は、3階層(深刻度Ph1~Ph3)の深さを有した木構造で示される。この木構造は、階層毎に配置される葉要素671、672および673、ならびに木構造の最上位の要素である根要素670を含む。階層間の葉要素どうし、および最上位階層の葉要素と根要素670どうしは、枝675で繋がれる。図12のアタックツリー67では、各葉要素には、制御システム1で発生し得るイベントであって、当該インシデント(“DoS攻撃”)の要因となり得るイベントが発生したことを判定するための条件が割当てられる。
 図12のアタックツリー67によれば、各葉要素に割当てられる条件は、通信ポートに対する同一送信元からのデータ受信であって、制御システム1に対する不正アクセスの可能性があるデータの単位時間当たりの受信回数に基づく条件を示す。この不正アクセスの有無と単位時間当たりの回数は、ルーター51からの通信監視情報511に基づくことで取得することができる。例えば、深刻度Ph1の葉要素673の条件(K回≦単位時間あたりの不正アクセス回数<M回)が満たされると、インシデントは深刻度Ph1の状態となる。さらに、不正アクセス回数が増加すると、枝675を辿り上位階層(深刻度Ph2)の葉要素672の条件が判断される。例えば、深刻度Ph2の葉要素672の条件(M回≦単位時間あたりの不正アクセス回数<N回)が満たされると、インシデントは深刻度Ph2の状態となる。さらに、不正アクセス回数が増加すると、枝675を辿り深刻度Ph3の葉要素671の条件(N回≦単位時間あたりの不正アクセス回数)が満たされると、インシデントは深刻度Ph3の状態となる。このように、アタックツリー67の下位階層から上位階層へ枝675を辿りながら各階層の葉要素の条件、すなわち各深刻度Phiに対応の条件が満たされるか否かを判定することにより、当該アタックツリー67のインシデント(“DoS攻撃”)の深刻度Phiを決定することができる。
 同様にして、“改ざん”に対応のアタックツリー67も生成することができる。“改ざん”のアタックツリー67では、各葉要素に割当てられる深刻度Phiに対応する条件は、例えば、データベース900を不正操作する可能性があるSQLインジェクションの単位時間当たりに発行された回数に基づく条件を示す。インシデント検知部21は、SQLインジェクションの発行の有無と単位時間当たりの発行回数は、情報エンジン160からのSQL情報161に基づくことで取得する。このように、“改ざん”のアタックツリー67においても、下位階層から上位階層へ枝675を辿りながら、SQL情報161が各階層の葉要素における深刻度Phiに対応の条件を満たすか否かを判定することにより、当該アタックツリー67のインシデント(“改ざん”)の深刻度Phiを決定することができる。
 なお、図12に示すアタックツリー67の木構造は例示にすぎず、階層の数、葉要素の数などは変更可能である。また、他の種類のインシデント(例えば、“なりすまし”)であっても、アタックツリー生成部623は、図12と同様のアタックツリー67を生成することができる。
 対処DB生成部621が生成した対処DB66およびアタックツリー生成部623が生成したアタックツリー67は、ストレージ610に格納される。また、転送部624は、対処DB66およびアタックツリー67を、セキュリティユニット200に転送する。セキュリティユニット200は、転送部624から、各種のインシデントについての対処DB66およびアタックツリー67を受信し、図7の記憶部209に格納する。
 <G.インシデント検知部21の検知方法>
 本実施の形態に係るセキュリティユニット200によるインシデントの検知の方法を説明する。本実施の形態に係るインシデントに対する対処の情報(メッセージ682)の決定は、静的に決定する静的決定と、動的に決定する動的決定を含む。ユーザーがセキュリティユニット200に対し操作することで、セキュリティユニット200に静的決定または動的決定のいずれかを設定する(切り替える)ことができる。静的決定は、制御システム1の稼働状態を示す状態情報のうちのインシデントを検知するための所定情報を用いて判定した深刻度Phiに基づき対処を決定する方法を含む。これに対して、動的決定は所定情報に基づく深刻度Phiと稼働状態を示す状態情報とを用いてインシデントの深刻度(後述するリスク値681)を検知する方法を含む。
 図13は、本発明の実施の形態に係るインシデントに対する対処の静的決定の方法を模式的に説明する図である。図14は、本発明の実施の形態に係るインシデントに対する対処の動的決定の方法を模式的に説明する図である。図13と図14では、インシデントとして例えば“DoS攻撃”のケースが例示される。
 (g1.静的決定)
 図13(A)は、図12のアタックツリー67が簡略化されたものであり、各階層(深刻度Ph1~Ph3の各階層)の葉要素のみを示す。図13(B)は、“DoS攻撃”の対処DB66のうち、リスク値681が省略されて、インシデントの種類680、深刻度Phおよびメッセージ682の項目を含んでいる。静的決定が実施される場合、インシデント検知部21は、情報収集部20により収集された通信監視情報511に基き図13(A)のアタックツリー67の各階層の条件が満たされるかを判断し、判断結果に基づき枝675を辿ることで深刻度Phiを判断する。通知処理部22は、インシデント検知部21からの出力(すなわち、インシデントの種類(“DoS攻撃”)と深刻度Phi)に基き図13(B)のインシデントの種類(“DoS攻撃”)に対応した対処DB66を検索する。通知処理部22は、検索により、対処DB66から深刻度Phiに対応したメッセージ682を読出す。通知出力部23は、通知処理部22からの通知(メッセージ682)を出力する。
 このように静的決定によれば、稼働状態を示す状態情報のうちインシデントの検知のための所定情報(例えば、通信監視情報511)のみを用いてインシデント(種類と深刻度Phi)が検知されて、ユーザーに対して深刻度Phiに一意に対応付けられた対処の情報(メッセージ682)を通知することができる。
 (g2.動的決定)
 これに対して、動的決定が実施される場合は、静的決定と同様にして深刻度Phiが判定されるが、判定された深刻度Phiに応じた対処の情報を、情報収集部20が収集する状態情報により異ならせることができる。このような動的決定を、図14を参照して説明する。
 図14(A)は、動的決定によるリスク値681の算出と、対処の情報(メッセージ682)の決定の手順を持模式的に示すフローチャートである。図14(B)は、“DoS攻撃”の対処DB66であって、インシデントの種類680、深刻度Phi、リスク値681およびメッセージ682の項目を含んでいる。各深刻度Phiのリスク値681は、深刻度Phiを複数のレベルに細分化した値であって、リスク値681の各レベルに、メッセージ682が対応付けられている。
 図14(A)を参照して、まず、インシデント検知部21は図13(A)のアタックツリー67と所定情報(通信監視情報511)とを用いてインシデントの種類と深刻度Phiを検知する(ステップR1)。この検知は、上記に述べた静的決定と同様である。
 次に、通知処理部22は、稼働状態の情報に基づきリスク値681を計算する(ステップR3)。本実施の形態では、この稼働状態の情報は、例えば外部情報71、SGU内部情報72およびPLC状態情報73を含む。ステップR3のリスク計算の詳細は後述する。
 通知処理部22は、ステップR3による算出されたリスク値681に基き図14(B)の対処DB66を検索し、対処DB66から当該リスク値681に対応した対処の情報(メッセージ682)を読出す(ステップR5)。通知出力部23は、対処DB66から読出された対処の情報を、出力部を介して通知する(ステップR7)。
 (g2-1.リスク値の計算)
 図15は、図14(A)のステップR3におけるリスク計算の一例を示すフローチャートである。図15を参照して、リスク値681の算出を説明する。まず、通知処理部22は、リスク計算のための変数kに値0をセットする(ステップR31)。通知処理部22は、インシデント検知部21により検出されたインシデントの種類を判定する(ステップR33)。種類は“DoS攻撃”と判断されるとステップR35に移行し、“改ざん”と判断されるとステップR49に移行し、“なりすまし”と判断されるとステップR63に移行する。ここでは、“DoS攻撃”と“改ざん”のリスク値の算出を説明するが、“なりすまし”であっても、同様の手順でリスク値681を算出することができる。
 まず、“DoS攻撃”の場合、通知処理部22は、外部情報71に基き制御システム1に外部ネットワーク50が接続されているか否かを判断する(ステップR35)。接続されていると判断すると(ステップR35でYES)、通知処理部22は変数kの値に10を加算(k=k+10)し(ステップR39)、接続されていないと判断すると(ステップR35でNO)、通知処理部22は変数kの値に5を加算(k=k+5)する(ステップR37)。
 また、通知処理部22は、SGU内部情報72またはPLC状態情報73に基きプロセッサの負荷が高いか否かを判断する(ステップR41)。負荷が高いと判断すると(ステップR41でYES)、通知処理部22は変数kの値に5を加算(k=k+5)し(ステップR45)、負荷は高くないと判断すると(ステップR41でNO)、通知処理部22は変数kの値に0を加算(k=k+0)する(ステップR43)。その後、通知処理部22は、深刻度Phiの値(i=1、2、3のいずれか)を用いて(リスク値=i×k)を算出する(ステップR47)。その後、元の処理に戻る。
 同様に、“改ざん”の場合、通知処理部22は、外部情報71に基き制御システム1に外部ネットワーク50が接続されているか否かを判断し(ステップR49)、接続されていると判断すると(ステップR49でYES)、変数kの値に10を加算(k=k+10)し(ステップR53)、接続されていないと判断すると(ステップR49でNO)、変数kの値に5を加算(k=k+5)する(ステップR51)。
 また、通知処理部22は、SGU内部情報72またはPLC状態情報73に基き、制御システム1に外部から装置(PCまたは外部記憶媒体)などが装着されているかを判断する(ステップR55)。装着されていると判断すると(ステップR55でYES)、通知処理部22は変数kの値に5を加算(k=k+5)し(ステップR59)、装着されていないと判断すると(ステップR55でNO)、通知処理部22は変数kの値に0を加算(k=k+0)する(ステップR57)。その後、通知処理部22は、深刻度Phiの値(i=1、2、3のいずれか)を用いて(リスク値=i×k)を算出する(ステップR61)。その後、元の処理に戻る。
 このように、リアルタイムに収集される稼働状態の情報を用いることで、インシデントの種類およびその深刻度Phiに応じたリスク値681を算出することができる。また、インシデントの種類に応じて、算出に用いる稼働状態を示す情報の種類を異ならせることで、インシデントの種類に応じたリスク値の算出が可能となる。
 例えば、“DoS攻撃”では、インターネットを含む外部ネットワーク50が攻撃のルートとなっている場合は、そうでない場合に比較して一般的にセキュリティに及ぼされるリスクが大きい。したがって、図15では、外部情報71から外部ネットワーク50が接続されていると判断される場合は(ステップR35でYES)、外部ネットワーク50が接続されていない場合に比較して、リスク値を算出するための係数(変数k)に大きい値を設定する(ステップR39)。また、“DoS攻撃”では、攻撃を受けている装置のリソースが過剰に消費されてプロセッサの負荷が高くなり、本来の制御プログラムの実行に悪影響が及ぶリスクがある。したがって、図15では、プロセッサの負荷が高い場合は(ステップR41でYES)、そうでない場合に比較して、リスク値を算出するための係数(変数k)に大きい値を設定する(ステップR45)。同様に、“改ざん”においても、外部ネットワーク50が接続されている場合(ステップR49でYES)および制御システム1に外部装置または記憶媒体などのデバイスが装着されている場合(ステップR55でYES)は、外部ネットワークまたはこれらデバイスが装着されていない場合に比較して、リスク値を算出する係数(変数k)に大きい値を設定する(ステップR53、ステップR59)。なお、通常は制御システム1の付近に人がいないケースであれば、ステップR55の条件は、制御システム1の付近に人が居るとの条件が含まれてもよい。
 このように、情報収集部20が制御システム1の稼働中に周期的に稼働状態の情報を収集することで、セキュリティエンジン250は、セキュリティエンジン250の処理と同時に(リアルタイムに)収集される稼働状態の情報を用いてリスク値681を算出することができる。したがって、インシデントの深刻度Phiに応じたリスク値681を制御システム1の稼働状態に応じた値に動的に決定することができ、また、インシデントの種類のリスク値681に応じた通知68も動的に切替えて提供することができる。
 <H.全対処理>
 図16は、本発明の実施の形態に係る全体処理の一例を示すフローチャートである。セキュリティユニット200のCPU201は、図16の処理を、周期的に繰り返し実行する。まず、インシデント検知部21は、情報収集部20が収集する情報のうち、所定情報に基づきアタックツリー67に従い、インシデントの有無を検知する(ステップT1)。インシデントが検知されない場合(ステップT1でNO)、処理は終了するが、検知された場合(ステップT1でYES)、インシデント検知部21は、アタックツリー67を辿ることによりインシデントの種類および深刻度Phiを決定する(ステップT3)。通知処理部22は、インシデント検知部21からの出力に基づき、対処DB66を検索することにより、対応する対処の情報(メッセージ682)を読出す(ステップT5)。通知出力部23は、読出された対処の情報を、出力部を介して通知する(ステップT7)。ユーザーは出力部を介して通知された対処の情報に従い、インシデントに対して対処を実施する(ステップT13)。これにより、制御システム1のセキュリティのレベルが変更される。
 セキュリティエンジン250は、所定処理を実施するか否かを判断する(ステップT9)。例えば、この判断はユーザー操作に基づき実施される。所定処理を実施しないと判断したとき(ステップT9でYES)処理は終了するが、実施すると判断した場合(ステップT9でNO)、所定処理を実施する(ステップT11)。
 図17は、本発明の実施の形態に係るセキュリティエンジン250が実施する所定処理の一例を模式的に示す図である。所定処理は、制御システム1を備えるネットワーク構成により異ならせることができる。例えば、図17(A)のように、外部ネットワーク50には、1台の制御システム1が接続されるネットワーク構成の場合は、通常時は、制御システム1はログ(インシデント検知のための情報(外部情報71、SGU内部情報72およびPLC状態情報73など)を外部ネットワーク50上のクラウドサーバ(図示せず)に転送して格納する(ステップSS1)。インシデントが検知される場合に、ステップT11の所定処理では、セキュリティエンジン250は外部ネットワーク50との接続を完全に遮断し(ステップSS3)、当該ログをトレーサビリティのために記憶部209の所定領域に格納する(ステップSS2)。また、図17(B)のように、複数台(例えば2台)の制御システム1が外部ネットワーク50に接続されるネットワーク構成の場合は、通常時は、各制御システム1はログ(インシデント検知のための情報(外部情報71、SGU内部情報72およびPLC状態情報73など)を外部ネットワーク50上のクラウドサーバ(図示せず)に転送して格納する。インシデントが検知される場合に、ステップT11の所定処理では、セキュリティエンジン250は外部ネットワーク50と断続的に接続する(ステップSS4)ことで、インシデントが検知されていない他の制御システム1(制御ユニット100)には、外部ネットワーク50に接続できる環境を提供することができて、他の制御システム1の運転に対する影響を少なくできる。
 上記のステップT5では、上記に述べた静的決定または動的決定に従い対処の情報(メッセージ682)が決定(読出)される。この具体的な処理を、図18と図19を参照し説明する。
 (h1.静的決定による通知処理)
 まず、静的決定を含む通知処理を説明する。図18は、本発明の実施の形態に係る静的決定による通知処理の一例を示すフローチャートである。図18を参照して、通知処理部22による静的決定を含む処理を説明する。まず、インシデント検知部21は、所定情報(通信監視情報511、またはSQL情報161など)に基き、アタックツリー67に従いインシデントの発生の有無を検知するとともに、インシデントの種類および深刻度Phiを決定する(ステップS3)。
 通知処理部22は、インシデント検知部21からの出力に基き、インシデントの種類に対応の対処DB66を特定し、深刻度Phiに基き特定した対処DB66を検索することにより、対処DB66から深刻度Phiに対応のメッセージ682を読出す(ステップS5)。
 通知処理部22は、読出されたメッセージ682が以前に通知されているかを判断する(ステップS7)。具体的には、通知処理部22は、インシデント検知部21によるインシデントの種類と検知時間と、記憶部209の領域207の各通知68のID683(インシデントの種類と時間)とを照合する。通知処理部22は、照合の結果、一致したID683を有した通知68が領域207に格納されていないと検知したとき、読出されたメッセージ682の通知は以前に出力されていないと判断する(ステップS7でYES)。通知処理部22は、読出されたメッセージ682から通知68を生成し、出力部を介して通知68を出力するように、通知出力部23を制御する(ステップS9)。
 一方、上記の照合一致した通知68が領域207に格納されていると検知したとき、通知処理部22は読出されたメッセージ682は以前に通知されていると判断する(ステップS7でNO)。通知処理部22は、領域207の通知68の検索の結果に基き、ステップS3で検知された種類と同一種類のインシデントに対応する2つ以上のメッセージ682が通知されているかを判断する(ステップS11)。
 通知処理部22は、2つ以上のメッセージ682が既に通知されていると判断すると(ステップS11でYES)、ステップS5で読出されたメッセージ682が新規であるか否かを判断する(ステップS13)。具体的には、通知処理部22は、当該読出されたメッセージ682を上記の照合一致した通知68のメッセージ682と照合し、照合結果に基き判断する。通知処理部22は、当該照合結果に基き、当該読出されたメッセージ682は新規ではなく既に通知されていると判断すると(ステップS13でNO)、読出されたメッセージ682から通知68を生成し、生成された通知68を出力部において既存のメッセージ682と並列に出力されるように、通知出力部23を制御する(ステップS17)。
 一方、通知処理部22は、ステップS5で読出されたメッセージ682は新規であり未だ通知されていないと判断すると(ステップS13でYES)、読出されたメッセージ682から通知68を生成し、生成された通知68を出力部において既存のメッセージ682と並列に出力されるように、通知出力部23を制御する(ステップS15)。
 また、上記のステップS5で読出されたメッセージ682は新規ではないと判断されたとき(ステップS13でNO)、メッセージ682の上書きが実施されてもよい(ステップS17)。例えば、通知処理部22は、生成された通知68が、既存のメッセージ682のうちの1つ(例えば、ID683が最も最近の時間を示す(最新の)メッセージ682)に上書きされて出力されるよう、通知出力部23を制御してもよい。
 また、通知処理部22は、2つ以上のメッセージ682は通知されていない(ステップS11でNO)、すなわち以前に通知されているメッセージ682は1つであると判断すると、深刻度Phiを照合(比較)する。具体的には、通知処理部22は、ステップS5で読出されたメッセージ682と以前に通知されているメッセージ682との両者の深刻度Phiを照合し、照合結果に基き両者は一致するかを判断する(ステップS19)。両方の深刻度Phiは同じと判断される場合(ステップS19でYES)、通知処理部22は、ステップS5で読出されたメッセージ682から通知68を生成し、生成された通知68を出力部において既存のメッセージ682に上書きして出力するよう、通知出力部23を制御する(ステップS21)。
 一方、通知処理部22は、両方の深刻度Phiは異なると判断すると(ステップS19でNO)、すなわち、ステップS5で読出されたメッセージ682は新規であり未だ通知されていないと判断すると、読出されたメッセージ682から通知68を生成し、生成された通知68を出力部において既存のメッセージ682と並列に(すなわち、時系列で)出力されるよう、通知出力部23を制御する(ステップS23)。
 (h2.動的決定による通知処理)
 次に、動的決定を含む通知処理を説明する。図19は、本発明の実施の形態に係る動的決定による通知処理の一例を示すフローチャートである。図19を参照して、通知処理部22による動的決定を含む処理を説明する。図19の処理は、図18の処理に比較して、図14(A)のリスク値681を算出するステップR3を追加し、また図18のステップS5を図14(A)のリスク値681に基き対処DB66を検索するためのステップR5に変更し、また図18のステップS19を、リスク値681を用いた処理のステップS19aに変更した点が異なる。図19の他の処理は図18の処理と同様である。したがって、他の処理の説明は繰返さない。
 図19では、通知処理部22は、インシデント検知部21の出力(インシデントの種類と深刻度Phi)に基き、リスク値を計算する(ステップR3)。通知処理部22は、算出されたリスク値681に基き対処DB66を検索して、リスク値681に対応するメッセージ682を読出す(ステップR5)。また、ステップS19aでは、通知処理部22は、ステップR5で読出されたメッセージ682の深刻度Phi,リスク値681と、既に通知されているメッセージ682の深刻度Phi,リスク値681とを照合し、照合け結果に基づき両者は一致するかを判断する。
 図18または図19の通知処理部22および通知出力部23の処理によれば、通知されるメッセージ682が示す対処は、制御システム1の稼働状態を変化させる対処の情報(例えば、制御システム1に対する操作)を含む。したがって、通知されるメッセージ682に従いユーザーが対処を実施した場合は、インシデントの深刻度Phiまたはリスク値681は小さくなることが予想される。したがって、ステップS17またはステップS23などで通知されるメッセージ682の深刻度Phiまたはリスク値681は時間を追って小さくなる。この場合、ユーザーは、通知されるメッセージ682(または、通知される深刻度Phi、リスク値681)から、インシデントへの対処に成功していることを、リアルタイムに確認することができる。また、逆に、通知されるメッセージ682の深刻度Phiまたはリスク値681が時間を追って大きくなっている、または変化しない場合、ユーザーはインシデントへの対処が十分になされていないことを、リアルタイムに確認することができる。
 <I.通知の方法>
 本発明の実施の形態に係る通知出力部23は、通知処理部22によって出力されるメッセージ682およびID683を含む通知68を出力するように、出力部を制御する。これにより、通知出力部23は、インシデントへの対処の情報であるメッセージ682を、出力部を介してユーザーに提示することができる。図20は、本発明の実施の形態に係る対処の情報の提示方法を説明するための図である。
 図20を参照して、本実施の形態では、対処の情報を通知する出力部の装置(媒体)として、LED、7セグメントディスプレイ、パトランプ231、音、振動、HMI、PCツールなどを含む。LEDは通知(インシデントの種類、深刻度Phi、リスク値)を点灯色または点滅態様で出力する。また、7セグメントディスプレイは通知(インシデントの種類、深刻度Phi、リスク値)を十進法のアラビア数字を、七つの画(例えば、画はLEDで構成される)で表示し、また、LEDを点滅態様で出力する。
 パトランプ231は、通知を、ライトの点灯色または点滅(点灯)パターンなどの組合せで出力する。音としては、ビープ音を用いることができて、ビープ音の周期、大きさ、高さなどの組合せで通知を出力する。振動としては、超音波振動または物理的な振動を用いることができて、振動の異なる周期を組合わせることで、通知を出力することができる。また、出力部の装置(媒体)として、HMI800またはサポート装置600を用いる場合は、HMI800またはサポート装置600の画面に通知をポップアップ表示する、またはHMI800またはサポート装置600に許可される操作を通知の内容に応じて異ならせることで、ユーザーに対して通知を提示する。
 <J.構成に基づく通知の方法>
 本実施の形態では、対処DB66が有する対処のメッセージ682は、制御ユニット100の構成、または制御ユニット100を備えるネットワークの構成により切替えることができる。図21は、本発明の実施の形態に係る制御ユニット100の構成情報に基づく対処のメッセージ682に切替を例示する図である。図21を参照して、制御ユニット100の構成に基き対処DB66の切替えを説明する。本実施の形態では、制御ユニット100の主記憶装置106のSRAMなどには、制御ユニット100の構成を示す構成情報であるコンフィグデータ(コンフィグレーションデータの略)1061が格納される。例えば、コンフィグデータ1061は、制御ユニット100は、無人の工場のFAに適用される、または有人の工場のFAに適用されるなどの区別を示す情報を有する。セキュリティユニット200は、ブローカー170を介して制御ユニット100からコンフィグデータ1061を受信することができる。なお、制御ユニット100の構成情報は、無人/有人の情報に限定されない。
 記憶部209に格納される対処DB66は、図21(A)の無人のFA向けの対処DB66と、図21(B)のと有人のFA向けの対処DB66を含む。通知処理部22は、制御ユニット100のコンフィグデータ1061に基き、記憶部209に格納される対処DB66のうちから、無人FA向けの対処DB66および有人FA向けの対処DB66のうちの一方を、検索対象に設定する。これにより、制御ユニット100の構成により対処DB66を切替えることができる。
 図21(B)の有人のFA向けの対処DB66のメッセージ682は、“セーフティエリアへの侵入に注意”のメッセージ6821および“装置から距離をとってください”のメッセージ6822など、制御ユニット100の周囲に存在する可能性があるユーザーに向けた注意喚起のメッセージが含まれる。これとは異なり、図21(A)の無人のFA向けの対処DB66のメッセージ682は制御ユニット100の周囲のユーザーに向けた注意喚起のメッセージは含まれていない。
 また、コンフィグデータ1061が、制御ユニット100を備えるネットワークの構成の情報を含んでいる場合は、通知処理部22は、制御ユニット100からのコンフィグデータ1061に基づき、検索対象となる対処DB66を切替える。例えば、コンフィグデータ1061が制御ユニット100を備えるネットワークの構成は、1台の制御ユニット100のみを備えることを示す場合は、図17(A)で示したように“外部ネットワークを遮断する”とのメッセージ682を含む対処DB66に切替える、これに対して、例えば、コンフィグデータ1061が制御ユニット100に他の制御ユニット100が接続されたネットワーク構成を示す場合は、図17(B)で示したように他の制御ユニット100は外部ネットワーク50と通信できるように“外部ネットワークを完全遮断せずに断続的に遮断する”とのメッセージ682を含む対処DB66に切替えることができる。
 <K.PLC状態情報を用いたインシデントの検知>
 本実施の形態では、通知処理部22は、事前にインシデントが検知されているか否かと制御システム1の稼働状態とに基づき、メッセージ682を変更するようにしてもよい。ここでは、制御システム1の稼働状態として、制御ユニット100の稼働状態を例示する。
 図22は、本発明の実施の形態に係る対処メッセージの他の例を模式的に示す図である。他の例に係る対処メッセージ682aは、記憶部209にテーブル221として格納される。図22を参照して、テーブル221の他の例に係る対処メッセージ682aは、制御ユニット100の稼働状態を示すPLC状態情報73とデータ731とに関連づけて決定される。データ731は、事前にインシデントが検知されているか否かを示す。図22では、PLC状態情報73は、例えば制御ユニット100の状態として、例えば“全停止フォールト”、“部分停止フォールト”および“軽度フォールト”、ならびにメモリカード115の装着を示す“SDカード挿入”および外部デバイスのポート142への“USB接続”などを示す。
 インシデント検知部21はPLC状態情報73が“全停止フォールト”を示す場合に、当該“全停止フォールト”は、対応のデータ731の条件すなわち「事前にインシデント検知有り」のもとで発生したとの条件が満たされたときインシデントを検知する(図22のケース1)。一方、インシデント検知部21は、当該条件が満たされないとき(すなわち、「事前にインシデント検知無し」のもとで発生したとの条件が満たされたとき)、インシデントを検知しない(図22のケース2)。したがって、ケース1の場合のみ、通知処理部22は、インシデント検知部21の出力に基づき、ケース1に対応のメッセージ682aの“インシデントによる全停止フォールトの可能性があります”の旨を通知する。同様の処理が、PLC状態情報73が“部分停止フォールト”と“軽度停止フォールト”のそれぞれについても同様に実施される。
 また、インシデント検知部21はPLC状態情報73が“SDカード挿入”または“USB接続”を示す場合は、対応のデータ731の条件すなわち「事前にインシデント検知されたか否かにかかわらない(有無関係なし)」との条件が満たされて、インシデントが検知される。通知処理部22は、インシデント検知部21の出力に基づき、対応のメッセージ682aを出力する。
 <L.セキュリティレベルに応じた対処の変更>
 図23は、本発明の実施の形態に係るセキュリティレベルの変化に応じた対処方法の説明する図である。本実施の形態の背景として、制御システム1が適用されるFA環境におけるセキュリティレベルは、工場のFA毎に異なる場合がある。したがって、本実施の形態では、セキュリティ上のインシデントへの対処を制御システム1が適用される環境のセキュリティレベル毎に異ならせることができる。
 図23(A)は、制御システム1が適用されるFA環境のセキュリティレベルが低いケースを示し、図23(B)は、当該セキュリティレベルが高いケースを示す。図23(A)ではセキュリティユニット200のみがセキュリティ上のインシデントに対処する機能を備え、制御システム1にネットワーク接続する他の機器は、セキュリティ上のインシデントの検知などの機能を備えない。この場合は、通知処理部22が出力するメッセージ682は、サポート装置600,SCADA装置700などの装置またはネットワーク構成に対する対処を含んでもよい。これに対して、図23(B)では、セキュリティユニット200に加えて、制御システム1にネットワーク接続する他の機器は、セキュリティ上のインシデントの検知などの機能を備える。この場合は、サポート装置600,SCADA装置700およびルーター51などもインシデントに対処する機能を備え、また工場への入出管理(物理的セキュリティ)がなされている場合は、通知処理部22が出力するメッセージ682はログの確認を促す対処を含むことでよい。
 制御システム1が適用されるFA環境のセキュリティレベルは、例えば二次記憶装置208に格納される。また、記憶部209にはセキュリティレベル毎の対処DB66が格納されて、各対処DB66は、対応のセキュリティレベルに応じたメッセージ682を有する。通知処理部22は、セキュリティレベルに基づき検索するべき対処DB66を切替える。これにより、通知処理部22は、インシデントが検知されたとき、セキュリティレベルに応じた対処を示すメッセージ682を出力することができる。
 <M.出力部のバリエーション>
 図24は、本発明の実施の形態に係る通知68の出力部の一例を模式的に示す図である。本実施の形態では、通知68の出力部を多様化することができる。通知68の出力部はセキュリティユニット200に追加して、その他の装置(例えば、制御ユニット100、カプラ、各種の通信ユニット、HMI800など)を含み得る。
 (m1.セキュリティユニット200において通知68を出力するケース)
 まず、通知68を出力する出力部は、例えば、セキュリティユニット200が備えるインジケータ224、ディスプレイ225またはスピーカ226などを含む。さらに、図示しない振動部(バイブレータ)またはLEDが含まれてもよい。通知出力部23は、振動部を通知68に応じて振動の周期が可変となるように制御し、またはLEDを通知68に応じて点滅または点灯の周期、または点灯色が可変となるように制御する。これにより、FAを保守する保守者は、セキュリティユニット200が備える出力部による通知68を確認することで、通知されたメッセージ682に従いインシデントに対処することができる。例えば、制御ユニット100の停止を回避するように対処を実施することができる。
 (m2.HMI800において通知68を出力するケース)
 通知出力部23は、HMI800に通知68を出力することができる。したがって、保守者は、セキュリティユニット200から離れた場所に居る場合でも、通知68をHMI800で確認して、インシデントに対処することができる。
 なお、本実施の形態では、HMI800は、セキュリティユニット200および制御ユニット100の両方に接続される場合と一方に接続される場合とがあり得る。HMI800が、セキュリティユニット200および制御ユニット100の両方に接続される場合は、通知出力部23は、両方のHMI800または一方のHMI800に、通知68を出力する。
 (m3.パトランプ231により通知68を出力するケース)
 通知68の出力部は、制御システム1が備えられる工場に設けられたパトランプ231を含み得る。通知出力部23は、通知68に従いパトランプ231を点灯色、点灯周期などが可変となるよう制御する。したがって、保守者は、セキュリティユニット200から離れた場所に居る場合でも、工場内に設けられたパトランプ231の点灯から対処の情報を得ることができる。
 (m4.サポート装置600により通知68を出力するケース)
 通知68の出力部は、保守者が操作するサポート装置600などのPC(Personal Computer)ツールを含み得る。通知出力部23は、通知68を出力するようにサポート装置600を制御する。したがって、保守者は、セキュリティユニット200から離れた場所に居る場合でも、サポート装置600の出力から対処の情報を得ることができる。また、PCツールでは、通知68に応じてサポート装置600の操作を制限するように動作してもよい。これにより、保守者の不用意な操作を防ぐことも可能となる。
 なお、本実施の形態では、サポート装置600は、セキュリティユニット200および制御ユニット100の両方に接続される場合と一方に接続される場合とがあり得る。サポート装置600が、セキュリティユニット200および制御ユニット100の両方に接続される場合は、通知出力部23は、両方のサポート装置600または一方のサポート装置600に、通知68を出力する。
 (m5.監視用PC232により通知68を出力するケース)
 通知68の出力部は、工場に備えられるFAの管理者が操作する、例えばPC(Personal Computer)として提供され得る、監視用PC232を含み得る。通知出力部23は、通知68を出力するように監視用PC232を制御する。したがって、監視者は、セキュリティユニット200から離れた場所に居る場合でも、監視用PC232の出力から対処の情報を得ることができる。なお、監視用PC232は、携帯可能に構成されてもよい。
 図24では、セキュリティユニット200にケースm1~m5の出力部となる装置が全て接続される状態を示したが、これに限定されない。つまり、制御システム1には、ケースm1~m5の出力部となる装置の1つ以上が接続される状態であってもよい。なお、通知出力部23は、上記に述べたケースm1~m5のいずれか1つに従い通知68に出力する、またはケースm1~m5の2つ以上のケースを組み合わせて通知68を出力することができる。また、いずれのケースを適用するかを指定する情報は、ユーザー(保守者または管理者)がセキュリティユニット200に設定してもよい。
 また、本実施の形態では、通知出力部23は、記憶部209のネットワーク構成情報2620から制御システム1にネットワーク接続される装置を特定し、特定した装置の情報に基づき、出力部(ケースm1~m5のいずれを実施するか)を決定してもよい。
 (m6.他のSGUに通知68を出力するケース)
 図25は、本発明の実施の形態に係る通知68の出力部の他の例を模式的に示す図である。本実施の形態では、FAは、複数の制御システム1を備えて構成され得る。この場合には、ある制御システム1の通知68は、上記のケースm1~m5の出力部に加えて、他の制御システム1により出力されてもよい。
 これにより、例えば他の制御システム1の保守者に対して、他のシステムにおいてインシデントが発生し自己が保守するシステムにおいても、セキュリティ上のインシデントが発生する可能性があることを通知できる。
 <N.出力態様>
 図26は、本発明の実施の形態に係る通知68の出力態様の一例を模式的に示す図である。図26は、通知68が、セキュリティユニット200のディスプレイ225またはインジケータ224に出力される場合を例示する。図26(A)および図26(B)には、定量化された深刻度Phiまたはリスク値681をインジケータ224で表示する場合の構成例が示される。
 図26(A)に示すように、通知出力部23は、セキュリティ上のインシデントへの対処情報(メッセージ682)をディスプレイ225に表示する。ディスプレイ225には、深刻度Phiまたは算出されたリスク値681または検出したインシデントの種類680を対処情報とともに表示してもよい。これによりユーザー(保守者,管理者)に対して、セキュリティ上のインシデントに対してとるべき対処を文章、絵、図などを用いて通知することができる。
 また、図26(A)と(B)に示すように、インジケータ224においては、3つのLEDが配置されており、深刻度Phiまたは算出されたリスク値681に応じて、LEDの点灯数あるいは点灯するLEDの位置を変化させる。図26(B)に示すインジケータ224においては、1つのLEDが配置されており、深刻度Phiまたは算出されたリスク値に応じて点灯色あるいは点灯強度、または点滅周期などを変化させる。
 このように、セキュリティユニット200は、インジケータ224によりインシデント検知部21がインシデントを検知したこと、およびその深刻度Phiおよびリスク値681をユーザーに出力する出力手段を有している。
 上述したようなインジケータ224を配置することで、専門知識のないユーザーであっても、現在のセキュリティ上のリスクのステータスを容易に把握できる。
 また、本実施の形態では、図26(A)のように提示できる形態であれば、どのようなインジケータを採用してもよい。
 <O.変形例>
 上記の実施の形態では、セキュリティユニット200を制御ユニット100に適用した制御システム1を説明したが、セキュリティユニット200の適用先は制御ユニット100に限定されない。例えば、セキュリティユニット200は、制御ユニット100に代えて、FAのためのAGV(Automated guided vehicle)に搭載される制御システムに適用することもできる。この場合は、インシデント検知部21は、AGVの無線通信を監視して得られる通信監視情報511から、インシデントを検知することができる。
 <P.付記>
 上述したような本実施の形態は、以下のような技術思想を含む。
 [構成1]
 制御システム(1)であって、
 制御対象(500)を制御するための制御演算を実行する制御ユニット(100)と、
 前記制御ユニットに接続され、前記制御システムに対するセキュリティ機能を担当するセキュリティユニット(200)と、を備え、
 前記セキュリティユニットは、
 前記制御システムの稼働状態を示す状態情報(71,72,73)を収集する収集手段(20)と、
 収集される前記状態情報に基き、前記制御システムにおけるインシデント(680)を検知する検知手段(21)と、
 検知された前記インシデントへの対処の情報を通知する通知手段(22,23)と、を含む、制御システム。
 [構成2]
 前記検知手段は、さらに、
 収集される前記状態情報が、複数種類のインシデントのそれぞれに対応の条件(67)のうちいずれかの条件を満たすことに基づき、当該インシデントの種類を検知する、構成1に記載の制御システム。
 [構成3]
 前記検知手段は、さらに、
 収集される前記状態情報が、前記インシデントが前記セキュリティにおよぼす影響の深刻度(Phi)のそれぞれに対応の条件のうちいずれかの条件を満たすことに基づき、当該インシデントの深刻度を検知する(図12)、構成1または2に記載の制御システム。
 [構成4]
 前記対処の情報は、前記深刻度に応じた対処の情報(図13(B))を含む、構成3に記載の制御システム。
[構成5]
 前記通知手段は、さらに、検知された前記深刻度を通知する、構成3または4に記載の制御システム。
[構成6]
 前記通知手段は、さらに、
 収集される前記状態情報および前記深刻度に基く算出値であるセキュリティリスク(681)を通知する、構成3から5のいずれか1に記載の制御システム。
 [構成7]
 前記対処の情報は、前記セキュリティリスクに応じた対処の情報(図14(B))を含む、構成6に記載の制御システム。
 [構成8]
 前記対処の情報は、前記制御システムの稼働状態を変化させる対処の情報を含む、構成1から7のいずれか1に記載の制御システム。
 [構成9]
 前記対処の情報は、前記制御ユニットの構成により異なる(図22)、構成1から8のいずれか1に記載の制御システム。
 [構成10]
 前記対処の情報は、前記制御ユニットを備えるネットワークの構成(コンフィグデータ1061)により異なる、構成1から9のいずれか1に記載の制御システム。
 [構成11]
 前記通知手段は、
 前記制御ユニットを含む複数の装置を接続するネットワーク構成の情報(2620)に基づき決定した装置に、前記対処の情報を通知する、構成1から10のいずれか1に記載の制御システム。
 <Q.利点>
 本実施の形態によれば、FAにおける制御システムのセキュリティの状態(異常/インシデント検知など)を、セキュリティ知識がないユーザー(保守者など)でも通知出力部23からの通知68によりすぐに確認することができる。また、セキュリティ異常によりインシデントが検知された場合に、ユーザーは、通知68のメッセージ628から、保守者が取るべき対処方法を確認し、実施することができる。
 また、この通知68はLED、7セグメントディスプレイ、パトランプ231,音声、振動、HMI800などの表示装置、ネットワークを経由したサポート装置600などのツールにより提供することができる。したがって、ユーザーは、セキュリティユニット200から離れている場合でも、最寄りの装置から通知68の受けることができる。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 1 制御システム、2 第1ネットワーク、4 第2ネットワーク、10 制御システム、20 情報収集部、21 インシデント検知部、22 通知処理部、23 通知出力部、50 外部ネットワーク、51 ルーター、62 ユーザー情報、68 通知、63,2620 ネットワーク構成情報、66 対処DB、67 アタックツリー、71 外部情報、72 SGU内部情報、73 PLC状態情報、100 制御ユニット、124,224,324 インジケータ、150 制御エンジン、160 情報エンジン、170 ブローカー、200 セキュリティユニット、231 パトランプ、250 セキュリティエンジン、260 セキュリティ情報、300 セーフティユニット、350 セーフティエンジン、400 機能ユニット、450 電源ユニット、500 フィールドデバイス、511 通信監視情報、600 サポート装置、680 種類、681 リスク値、682,682a,6821,6822 メッセージ、2610 セキュリティシステムプログラム、2611 情報収集プログラム、2612 インシデント検知プログラム、2613 通知処理プログラム、2614 通知出力プログラム、Phi 深刻度。

Claims (11)

  1.  制御システムであって、
     制御対象を制御するための制御演算を実行する制御ユニットと、
     前記制御ユニットに接続され、前記制御システムに対するセキュリティ機能を担当するセキュリティユニットと、を備え、
     前記セキュリティユニットは、
     前記制御システムの稼働状態を示す状態情報を収集する収集手段と、
     収集される前記状態情報に基き、前記制御システムにおけるインシデントを検知する検知手段と、
     検知された前記インシデントへの対処の情報を通知する通知手段と、を含む、制御システム。
  2.  前記検知手段は、さらに、
     収集される前記状態情報が、複数種類のインシデントのそれぞれに対応の条件のうちいずれかの条件を満たすことに基づき、当該インシデントの種類を検知する、請求項1に記載の制御システム。
  3.  前記検知手段は、さらに、
     収集される前記状態情報が、前記インシデントが前記セキュリティにおよぼす影響の深刻度のそれぞれに対応の条件のうちいずれかの条件を満たすことに基づき、当該インシデントの深刻度を検知する、請求項1または2に記載の制御システム。
  4.  前記対処の情報は、前記深刻度に応じた対処の情報を含む、請求項3に記載の制御システム。
  5.  前記通知手段は、さらに、検知された前記深刻度を通知する、請求項3または4に記載の制御システム。
  6.  前記通知手段は、さらに、
     収集される前記状態情報および前記深刻度に基く算出値であるセキュリティリスクを通知する、請求項3から5のいずれか1項に記載の制御システム。
  7.  前記対処の情報は、前記セキュリティリスクに応じた対処の情報を含む、請求項6に記載の制御システム。
  8.  前記対処の情報は、前記制御システムの稼働状態を変化させる対処の情報を含む、請求項1から7のいずれか1項に記載の制御システム。
  9.  前記対処の情報は、前記制御ユニットの構成により異なる、請求項1から8のいずれか1項に記載の制御システム。
  10.  前記対処の情報は、前記制御ユニットを備えるネットワークの構成により異なる、請求項1から9のいずれか1項に記載の制御システム。
  11.  前記通知手段は、
     前記制御ユニットを含む複数の装置を接続するネットワーク構成の情報に基づき決定した装置に、前記対処の情報を通知する、請求項1から10のいずれか1項に記載の制御システム。
PCT/JP2020/003099 2019-02-14 2020-01-29 制御システム WO2020166329A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/425,126 US12111639B2 (en) 2019-02-14 2020-01-29 Control system
EP20755786.9A EP3926429A4 (en) 2019-02-14 2020-01-29 CONTROL SYSTEM
CN202080009840.8A CN113330381A (zh) 2019-02-14 2020-01-29 控制系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019024381A JP7099352B2 (ja) 2019-02-14 2019-02-14 制御システム
JP2019-024381 2019-02-14

Publications (1)

Publication Number Publication Date
WO2020166329A1 true WO2020166329A1 (ja) 2020-08-20

Family

ID=72045598

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/003099 WO2020166329A1 (ja) 2019-02-14 2020-01-29 制御システム

Country Status (5)

Country Link
US (1) US12111639B2 (ja)
EP (1) EP3926429A4 (ja)
JP (1) JP7099352B2 (ja)
CN (1) CN113330381A (ja)
WO (1) WO2020166329A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11416303B2 (en) * 2020-04-30 2022-08-16 Shenzhen Jingjiang Yunchuang Technology Co., Ltd. Edge computing access method and an edge computing node device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024033971A1 (ja) * 2022-08-08 2024-02-15 三菱電機株式会社 プログラマブルコントローラ、プログラマブルコントローラシステム、アクセス情報共有方法及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163015A (ja) 2000-11-29 2002-06-07 National Institute For Materials Science 設備運転システム等の故障診断方法および故障診断システム
WO2015001594A1 (ja) * 2013-07-01 2015-01-08 株式会社日立製作所 制御システム、制御方法及びコントローラ
JP2017173940A (ja) * 2016-03-22 2017-09-28 株式会社日立製作所 セキュリティ対処サーバ及びシステム
JP2018185712A (ja) * 2017-04-27 2018-11-22 株式会社日立製作所 セキュリティ監視システム及びセキュリティ監視方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7548789B2 (en) * 2005-09-29 2009-06-16 Rockwell Automation Technologies, Inc. Editing lifecycle and deployment of objects in an industrial automation environment
JP2014032598A (ja) 2012-08-06 2014-02-20 Hitachi Systems Ltd インシデント管理システム及びその方法
JP5911439B2 (ja) * 2013-01-28 2016-04-27 三菱電機株式会社 監視制御システム
US11100218B2 (en) * 2014-01-20 2021-08-24 Prevoty, Inc. Systems and methods for improving accuracy in recognizing and neutralizing injection attacks in computer services
JP6442843B2 (ja) 2014-03-14 2018-12-26 オムロン株式会社 制御装置
EP2980662B1 (de) * 2014-07-30 2021-11-10 Siemens Aktiengesellschaft Schutz einer automatisierungskomponente vor programmmanipulationen durch signaturabgleich
WO2016110882A1 (ja) * 2015-01-09 2016-07-14 三菱電機株式会社 家電機器制御装置及び家電機器制御システム
US10944764B2 (en) * 2015-02-13 2021-03-09 Fisher-Rosemount Systems, Inc. Security event detection through virtual machine introspection
JP6463661B2 (ja) 2015-09-25 2019-02-06 株式会社日立システムズ ネットワーク制御装置、及びネットワーク制御方法
JP6919186B2 (ja) * 2016-12-14 2021-08-18 オムロン株式会社 制御システム、制御プログラムおよび制御方法
JP6870347B2 (ja) 2017-01-31 2021-05-12 オムロン株式会社 情報処理装置、情報処理プログラムおよび情報処理方法
US20190281052A1 (en) * 2018-03-08 2019-09-12 Auton, Inc. Systems and methods for securing an automotive controller network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163015A (ja) 2000-11-29 2002-06-07 National Institute For Materials Science 設備運転システム等の故障診断方法および故障診断システム
WO2015001594A1 (ja) * 2013-07-01 2015-01-08 株式会社日立製作所 制御システム、制御方法及びコントローラ
JP2017173940A (ja) * 2016-03-22 2017-09-28 株式会社日立製作所 セキュリティ対処サーバ及びシステム
JP2018185712A (ja) * 2017-04-27 2018-11-22 株式会社日立製作所 セキュリティ監視システム及びセキュリティ監視方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3926429A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11416303B2 (en) * 2020-04-30 2022-08-16 Shenzhen Jingjiang Yunchuang Technology Co., Ltd. Edge computing access method and an edge computing node device

Also Published As

Publication number Publication date
CN113330381A (zh) 2021-08-31
JP7099352B2 (ja) 2022-07-12
JP2020135100A (ja) 2020-08-31
EP3926429A4 (en) 2022-11-16
US12111639B2 (en) 2024-10-08
US20220113706A1 (en) 2022-04-14
EP3926429A1 (en) 2021-12-22

Similar Documents

Publication Publication Date Title
CN107026894B (zh) 用于通过工业资产递送自动通知的装置和方法
US20110072506A1 (en) Integrated unified threat management for a process control system
JP2017111532A (ja) 制御装置及び統合生産システム
WO2020166329A1 (ja) 制御システム
EP4311167A1 (en) Systems and methods for artificial intelligence-based security policy development
JP2023068023A (ja) コントローラシステム
EP2656322B1 (en) Intrusion detection
US20220166636A1 (en) Control device and control system
JP7180500B2 (ja) 制御システム、および設定方法
US11595409B2 (en) Method for monitoring an industrial network
WO2020110876A1 (ja) コントローラシステム
US20220012333A1 (en) Controller system, control apparatus, and non-transitory computer readable medium
US12117807B2 (en) Support device, recording medium storing setting program and method
CN113330375A (zh) 控制装置、管理程序以及控制系统
EP4152192A1 (en) On-chassis backplane intrusion detection system and continuous threat detection enablement platform
JP2015018477A (ja) 電子計量システム及び電子計量器のプログラム改竄処理方法
JP7016837B2 (ja) コントローラシステム
US20240223610A1 (en) Systems and methods for policy undo in operational technology devices
US20240291865A1 (en) Systems and methods for scheduled policy deployment in operational technology networks
JP2005252947A (ja) 遠隔保守アクセス制御システム
Christensen et al. Technical Guide for Implementing Cybersecurity Continuous Monitoring in the Nuclear Industry

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: 20755786

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020755786

Country of ref document: EP

Effective date: 20210914