WO2020105179A1 - 情報処理装置、制御方法、及びプログラム - Google Patents

情報処理装置、制御方法、及びプログラム

Info

Publication number
WO2020105179A1
WO2020105179A1 PCT/JP2018/043234 JP2018043234W WO2020105179A1 WO 2020105179 A1 WO2020105179 A1 WO 2020105179A1 JP 2018043234 W JP2018043234 W JP 2018043234W WO 2020105179 A1 WO2020105179 A1 WO 2020105179A1
Authority
WO
WIPO (PCT)
Prior art keywords
sensor
attack
control
actuators
behavior
Prior art date
Application number
PCT/JP2018/043234
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/295,116 priority Critical patent/US20220006824A1/en
Priority to PCT/JP2018/043234 priority patent/WO2020105179A1/ja
Priority to JP2020557106A priority patent/JP7211429B2/ja
Publication of WO2020105179A1 publication Critical patent/WO2020105179A1/ja

Links

Images

Classifications

    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Definitions

  • the present invention relates to model checking of a control system.
  • a control system is known as a system for controlling multiple devices. Control systems are sometimes used in critical infrastructure facilities such as power plants, and it is necessary to carry out appropriate security assessments.
  • Security assessment clarifies the possibility (risk) that damage may occur to the target asset due to threats and vulnerabilities, analyzes the factor analysis of the risk, evaluates the impact, loss, etc., and implements measures based on the results. That is.
  • risk the possibility that damage may occur to the target asset due to threats and vulnerabilities
  • an attack-based risk it is important to clarify not only whether the attack succeeds, but also the procedure (attack scenario) until the attack succeeds.
  • attack in this specification refers to the behavior of an attacker in order to reach a state where the control system does not fall into normal operation (hereinafter, abnormal state). Further, the “attacker” refers to a person or an organization that attacks the system. The state of the control system targeted by the attack is called the attack goal.
  • the model checking tool acquires the model of the target system described in a dedicated language as an input, and comprehensively searches the states that the model satisfies by using a SAT (Satisfiability problem) solver. This automatically verifies whether the reachable state of the model meets the specifications. In this way, the model checking tool comprehensively and automatically verifies the correctness of the specifications for the target system. In addition, by using the model checking tool, it is possible to confirm an example of a model that meets the specifications and a counter example when the model does not meet the specifications at the time of verification.
  • SAT Servicefiability problem
  • Non-Patent Document 1 discloses model checking of a control system using a model checking tool called Alloy Analyzer.
  • Non-Patent Document 1 a model expressing the configuration of a control system and the capabilities of an attacker is generated, and this model is verified using a model checking tool. At this time, by handling the state of the control system as the goal of the attack as a specification, an attack procedure that satisfies the specification, that is, an attack procedure that can achieve the attack goal is exhaustively searched.
  • the control system targeted by Non-Patent Document 1 is composed of one sensor, a plurality of actuators, and a plurality of controllers.
  • the sensor measures a physical quantity related to the controlled object.
  • the actuator is a device for controlling the physical quantity of the controlled object measured by the sensor.
  • the controller is a device that controls the actuator based on the physical quantity measured by the sensor. More specifically, for example, the controller compares the physical quantity acquired from the sensor with a set threshold value, and transmits a control signal to the actuator according to the comparison result.
  • Non-Patent Document 1 includes only one sensor. Therefore, Non-Patent Document 1 does not mention a security assessment for a more complicated control system having a plurality of sensors.
  • the present invention has been made in view of the above problems, and one of its objects is to provide a technique for realizing safety verification using model checking for a control system having a plurality of sensors. ..
  • the information processing apparatus of the present invention includes: 1) configuration information representing a configuration of a system having a plurality of sensors for observing a physical quantity regarding a control target, a plurality of actuators for changing the behavior of the control target, and a controller for controlling each actuator; A first acquisition unit that acquires a control rule that represents a rule of control of each actuator by the controller, and 2) Behavior log data that indicates a combination of time series data of the physical quantity observed by the sensor and the state of each actuator at each time. , A second acquisition unit for each sensor, and 3) using behavior log data, for each combination of the states of a plurality of actuators and for each sensor, the time change of the physical quantity observed by the sensor in the combination of the states is calculated. It has a 1st generation part which generates a behavioral function to express, and 4) A 2nd generation part which generates a system model about a system using configuration information, a control rule, and a behavioral function.
  • the control method of the present invention is executed by a computer.
  • the control method includes 1) configuration information representing a configuration of a system having a plurality of sensors for observing a physical quantity regarding a control target, a plurality of actuators for changing behavior of the control target, and a controller for controlling each actuator, and each of the controllers.
  • a behavior function that represents a temporal change in the physical quantity observed by the sensor in the combination of the states.
  • the program of the present invention causes a computer to execute each step of the control method of the present invention.
  • a technique for realizing safety verification using model checking is provided.
  • FIG. 1 is a diagram illustrating an overview of an information processing device according to a first embodiment.
  • 3 is a diagram illustrating a functional configuration of the information processing apparatus of the first embodiment.
  • FIG. It is a figure which illustrates the computer for implement
  • 6 is a flowchart illustrating a flow of processing executed by the information processing apparatus of the first embodiment. It is a figure which illustrates the information processing apparatus which has a 3rd generation part. It is the figure which illustrated the information shown by the behavior log data with the graph.
  • FIG. 6 is a diagram illustrating a functional configuration of an information processing device according to a second embodiment.
  • FIG. 9 is a flowchart illustrating a flow of processing executed by the information processing apparatus according to the second embodiment.
  • each block diagram represents a functional unit configuration, not a hardware unit configuration, unless otherwise specified.
  • FIG. 1 is a diagram illustrating an overview of the information processing device 2000 according to the first embodiment.
  • the outline shown in FIG. 1 is an example for facilitating understanding of the information processing apparatus 2000, and does not limit the function of the information processing apparatus 2000.
  • the information processing device 2000 generates a model of the control system 10 (hereinafter, system model).
  • the system model is used to verify the safety of the control system 10 by model checking. Specifically, by analyzing a system model using a model checking tool, an attack procedure (scenario) that brings the control system into an abnormal state is searched for. When an attack scenario that causes the control system to enter an abnormal state is found, it is known that the control system 10 is vulnerable to the attack represented by the attack scenario.
  • the control system 10 handled by the information processing device 2000 includes a control target 12, a plurality of sensors 14, a plurality of actuators 16, and a controller 18, as illustrated in FIG.
  • the sensor 14 measures a physical quantity related to the controlled object 12 and outputs the measurement result.
  • the sensor 14 is a sensor that measures the amount of water in the water storage tank.
  • the actuator 16 is a device for controlling the physical quantity measured by the sensor 14.
  • the control target 12 is a water storage tank and the sensor 14 measures the amount of water in the water storage tank.
  • the actuator 16 is a pump that controls the inflow of water into the water storage tank.
  • the controller 18 controls the operation of the actuator 16.
  • the controller 18 is a PLC (Programmable Logic Controller) or the like that switches the state of the pump between ON and OFF.
  • the system model of the control system 10 is generated using the control rule and the behavior function in addition to the configuration information indicating the configuration of the control system 10 (that is, the configuration of the sensor 14, the actuator 16, and the controller 18 included in the control system 10).
  • the control rule is a rule of control performed by the controller 18, and defines how the controller 18 controls the actuator 16 based on the observation value of the sensor 14. For example, when the controller 18 controls the pump of the water storage tank based on the water amount detected by the sensor 14 that detects the water amount of the water storage tank, the water amount detected by the sensor 14 and the control performed by the controller 18 on the actuator ( The relationship with the pump ON / OFF) is defined as a control rule.
  • the behavior function is a function that represents the time change of the observed value of the sensor 14, and is generated by the information processing device 2000.
  • the behavior function represents the behavior of the controlled object 12 observed by the sensor 14.
  • the behavior of the controlled object 12 is determined by the combination of the states of the plurality of actuators 16 that control the behavior of the controlled object 12. Therefore, the behavior function corresponding to a certain sensor 14 is generated for each combination of the states of the plurality of actuators 16. For example, when the control system 10 includes two actuators 16 that can take two states of ON and OFF, the combinations of the states of these actuators are (OFF, ON), (ON, OFF), (OFF, OFF ), And (ON, ON). Therefore, a behavior function corresponding to the sensor 14 is generated for each of these four combinations.
  • a system model for performing model checking on the control system 10 is generated.
  • This system model includes configuration information representing the configuration of the control system 10 including a plurality of sensors 14, control rules for the controller 18 to control the actuator 16 according to the observed values of the plurality of sensors 14, and the plurality of sensors 14. It is generated using a behavioral function that represents the time change of each observed value. Then, the behavior function is generated for each combination of the states of the plurality of actuators 16. According to such a system model, it is possible to represent each observed value of the plurality of sensors 14 and the behavior of the control system 10 according to the observed value. Therefore, the model inspection of the control system 10 including the plurality of sensors 14 can be performed. It will be possible.
  • FIG. 2 is a diagram illustrating a functional configuration of the information processing device 2000 according to the first embodiment.
  • the information processing device 2000 includes a first acquisition unit 2020, a second acquisition unit 2040, a first generation unit 2060, and a second generation unit 2080.
  • the first acquisition unit 2020 acquires the configuration information of the control system 10 and the control rule for each actuator 16.
  • the second acquisition unit 2040 acquires the behavior log data.
  • the first generation unit 2060 using the behavior log data, for each combination of the states of the plurality of actuators 16 and for each sensor 14, a behavior function that represents a temporal change of the physical quantity observed by the sensor 14 in the combination of the states.
  • the second generation unit 2080 generates a system model of the control system 10 using the configuration information, control rule, and behavior function.
  • Each functional component of the information processing apparatus 2000 may be implemented by hardware (eg, a hard-wired electronic circuit or the like) that implements each functional component, or a combination of hardware and software (eg: Combination of an electronic circuit and a program for controlling the electronic circuit).
  • hardware eg, a hard-wired electronic circuit or the like
  • software eg: Combination of an electronic circuit and a program for controlling the electronic circuit.
  • FIG. 3 is a diagram illustrating a computer 1000 for realizing the information processing device 2000.
  • the computer 1000 is an arbitrary computer.
  • the computer 1000 is a stationary computer such as a personal computer (PC) or a server machine.
  • the computer 1000 is a portable computer such as a smartphone or a tablet terminal.
  • the computer 1000 may be a dedicated computer designed to realize the information processing device 2000 or a general-purpose computer.
  • the computer 1000 has a bus 1020, a processor 1040, a memory 1060, a storage device 1080, an input / output interface 1100, and a network interface 1120.
  • the bus 1020 is a data transmission path for the processor 1040, the memory 1060, the storage device 1080, the input / output interface 1100, and the network interface 1120 to exchange data with each other.
  • the method of connecting the processors 1040 and the like to each other is not limited to bus connection.
  • the processor 1040 is various processors such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), and an FPGA (Field-Programmable Gate Array).
  • the memory 1060 is a main storage device realized by using a RAM (Random Access Memory) or the like.
  • the storage device 1080 is an auxiliary storage device realized by using a hard disk, SSD (Solid State Drive), memory card, ROM (Read Only Memory), or the like.
  • the input / output interface 1100 is an interface for connecting the computer 1000 and input / output devices.
  • the input / output interface 1100 is connected with an input device such as a keyboard and an output device such as a display device.
  • the network interface 1120 is an interface for connecting the computer 1000 to a communication network.
  • This communication network is, for example, LAN (Local Area Network) or WAN (Wide Area Network).
  • the method for connecting the network interface 1120 to the communication network may be wireless connection or wired connection.
  • the storage device 1080 stores a program module that realizes each functional component of the information processing apparatus 2000.
  • the processor 1040 realizes the function corresponding to each program module by reading each of these program modules into the memory 1060 and executing them.
  • FIG. 4 is a flowchart illustrating the flow of processing executed by the information processing device 2000 according to the first embodiment.
  • the first acquisition unit 2020 acquires the configuration information of the control system 10 and the control rule for each actuator 16 (S102).
  • Steps S104 to S110 are loop processing A executed for each of the plurality of sensors 14.
  • the information processing device 2000 determines whether or not the loop process A has been executed for all the sensors 14. When the loop process A has already been executed for all the sensors 14, the process of FIG. 4 proceeds to S112. On the other hand, if there is a sensor 14 that is not the target of the loop process A, the process of FIG. 4 proceeds to S106. When proceeding to S106, the information processing device 2000 selects one from the sensors 14 that are not yet the target of the loop processing A.
  • the sensor 14 selected here is referred to as a sensor i.
  • the second acquisition unit 2040 acquires the behavior log data regarding the physical quantity observed by the sensor i (S106).
  • the first generation unit 2060 uses the acquired behavior log data to generate a behavior function for the sensor i (S108). Since S110 is the end of the loop process A, the process of FIG. 4 proceeds to S104.
  • the second generation unit 2080 generates a system model of the control system 10 using the configuration information, control rule, and behavior function.
  • the information processing device 2000 outputs the generated system model (S114).
  • the configuration information is information indicating the configuration of the control system 10. Specifically, it represents a set of sensors 14, a set of actuators 16, and a set of controllers 18 included in the control system 10.
  • the number of controllers 18 may be smaller than the number of actuators 16. In this case, there is a controller 18 that controls the plurality of actuators 16.
  • the configuration information further includes a first correspondence relationship indicating which sensor 14 controls the physical quantity observed by the actuator 16. For example, suppose actuator a1 controls the physical quantity observed by sensor s1. In this case, the first correspondence relationship information indicates a correspondence relationship of (a1, s1).
  • the configuration information also includes second correspondence information indicating which actuator 16 the controller 18 controls based on the physical quantity acquired from which sensor 14. For example, suppose controller c1 controls actuator a1 using the physical quantity acquired from sensor s1. In this case, the second correspondence information indicates the correspondence of (c1, s1, a1).
  • the first acquisition unit 2020 acquires the configuration information.
  • the first acquisition unit 2020 acquires the configuration information by accessing the storage device that stores the configuration information.
  • the first acquisition unit 2020 acquires the configuration information by receiving the configuration information transmitted from another device.
  • the control rule is a rule indicating how the controller 18 controls the actuator 16 based on the observation value of the sensor 14. More specifically, the control rule sets the state of the actuator 16 at time t + 1 or any time thereafter, based on the observation value acquired by the controller 18 from the sensor 14 at a time t. Described. For example, the control rule is described so as to realize control such as "if the observed value of the sensor 14 is equal to or larger than the threshold value H at time t, change the state of the actuator 16 to OFF at time t + 1".
  • the control rule needs to be described in a format that can be interpreted by a model checking tool that performs model checking using the system model generated by the information processing device 2000.
  • the control rule may be manually created or may be created by the information processing device 2000.
  • the first acquisition unit 2020 acquires the control rule by accessing the storage device in which the control rule is stored or receiving the control rule transmitted from another device.
  • the first acquisition unit 2020 acquires the control rule generated inside the information processing device 2000.
  • the information processing device 2000 acquires information that defines the control of the actuator 16 by the controller 18 and is described in a format that the model checking tool cannot interpret, and the model checking tool can interpret the acquired information. Convert to information (ie control rules).
  • a functional configuration unit that performs this conversion is called a third generation unit 2100.
  • FIG. 5 is a diagram illustrating an information processing device 2000 including the third generation unit 2100.
  • the third generation unit 2100 acquires a control program executed by the controller 18 and converts the control program into control rules.
  • the third generation unit 2100 includes logic for converting the control program into control rules.
  • the third generation unit 2100 may acquire information described in natural language and convert the information into a control rule.
  • the third generation unit 2100 includes logic for converting information described in natural language into control rules.
  • the method by which the third generation unit 2100 acquires the information to be converted into the control rule is the same as the method by which the first generation unit 2060 acquires the control rule described below.
  • the behavior log data indicates time-series data of physical quantities observed by the sensor 14 in association with the states of the plurality of actuators 16. More specifically, the behavior log data indicates a correspondence relationship of “time, physical quantity observed by the sensor 14 at that time, state of each actuator 16 at that time”.
  • the time width of the time series data indicated by the behavior log data is arbitrary, and is, for example, 1 second or 10 seconds.
  • FIG. 6 is a diagram exemplifying a graph of information indicated by the behavior log data.
  • the horizontal axis represents time and the vertical axis represents the observed value. Further, the timing when the combination of the states of the plurality of actuators 16 changes is indicated by a dotted line.
  • the state of the temporal change of the observed value of the sensor 14 often differs depending on the combination of the states of the plurality of actuators 16. Therefore, as described later, the behavior function is generated for each combination of the states of the plurality of actuators 16.
  • the behavior log data of the sensor 14 is generated, for example, by actually operating the control system 10 and recording the observed value of the sensor 14 and the state of each actuator 16 at each time. Besides, for example, the behavior log data may be generated by simulating the operation of the control system 10. Note that existing technology can be used as a technology for simulating the operation of the control system 10 using a computer and obtaining a log of the behavior.
  • the second acquisition unit 2040 acquires the behavior log data.
  • the second acquisition unit 2040 acquires the behavior log data from the storage device that stores the behavior log data.
  • the second acquisition unit 2040 may acquire the behavior log data by receiving the behavior log data transmitted from another device.
  • the first generation unit 2060 uses the behavior log data of the sensor 14 to generate, for each combination of the states of the plurality of actuators 16, a behavior function that represents a temporal change in the observed value of the sensor 14 (S108).
  • the behavior function is generated for each sensor 14.
  • a set of behavioral functions generated for a certain sensor i is referred to as a behavioral function set Fi.
  • the first generation unit 2060 generates n behavior function sets F1, F2, ..., Fn.
  • the behavior function set Fi includes the behavior function fij (t) corresponding to each combination cj of the states of the plurality of actuators 16.
  • m is, for example, the total number of combinations of the states of the plurality of actuators 16.
  • the behavior function included in the behavior function set Fi may be generated by focusing on only the combination of the states of the actuators 16 that influence the observation value of the sensor i. In this case, the total number m of behavioral functions included in the behavioral function set Fi is the total number of combinations of states of the actuators 16 that affect the observation value of the sensor i.
  • the control system 10 includes three actuators 16 each of which can take two states.
  • the total number of possible combinations of the states of the actuator 16 is eight.
  • a behavior function may be generated for each combination of the states of these two actuators 16. It becomes 4.
  • the correspondence relationship between the sensor 14 and the actuator 16 that performs control that affects the observed value of the sensor 14 is shown in the first correspondence relationship information described above.
  • the first generation unit 2060 sorts the behavior log data of the sensor i in ascending order of the observation time, and divides the sorted plurality of behavior log data into sections in which the combinations of the states of the plurality of actuators 16 are the same. Then, the first generation unit 2060 uses, for each section, time-series data of the observation value of the sensor i included in the section to generate a function that represents a temporal change of the observation value of the sensor i. However, there may be a plurality of sections where the combination of the states of the actuator 16 is cj. In this case, for example, the first generation unit 2060 generates the behavior function fij (t) corresponding to the state combination cjj using the section having the longest time width among the plurality of sections.
  • FIG. 7 is a diagram exemplifying how a behavior function is generated for each combination of states of a plurality of actuators 16.
  • the observed values of the sensor 14 shown in FIG. 7 are the same as those shown in FIG. In this example, the temporal change of the observed value of the sensor 1 depends on the combination of the states of the two actuators 1 and 2. Therefore, the first generation unit 2060 generates a behavior function for each combination of the states of these two actuators 16.
  • c1 to c3 are shown as combinations of the states of the two actuators 16. Therefore, three behavior functions of the sensor 1, f11 (t) corresponding to c1, f12 (t) corresponding to c2, and f13 (t) corresponding to c3, are generated.
  • the behavior function can be generated as a prediction model that predicts a temporal change in the observed value of the sensor 14.
  • An arbitrary regression model such as a linear regression model or a multiple regression model can be used as the type of prediction model.
  • the behavior function fij (t) can be generated by solving the following least squares method.
  • is a symbol representing the norm.
  • the norm for example, the L2 norm can be used.
  • yij (t) is the observed value shown in the data in which the combination of the states of the actuator 16 is cj in the behavior log data of the sensor i.
  • the behavior log data is used by replacing it with relative data based on the data at the first time when the combination of the states of the actuator 16 is cj. That is, the first time when the combination of the states of the actuator 16 is cj and the observed value at that time are subtracted from the time and observed value of each data and used.
  • ⁇ 0 may be replaced with 0 after the behavior function fij (t) is generated by directly using the data shown in the behavior log data.
  • the order d of equation (1) may be a predetermined value, or may be determined by the first generation unit 2060 for each combination cj of the states of the actuator 16. In the latter case, for example, the first generation unit 2060 generates a plurality of candidates for the behavior function fij (t) by changing the order variously, and evaluates the goodness of the statistical model (for example, AIC (Akaike's information criterion)).
  • the optimal order is determined by evaluating the behavioral function of each order using BIC (Bayes information criterion) or. For example, when AIC or BIC is used as the index value, the order at which the calculated index value is the minimum is the optimum order.
  • Non-Patent Document 1 the observation value of the sensor is one of 10 levels of ⁇ UF, LL, L2, L1, L, H, H1, H2, HH, OF ⁇ . Then, the observation value of the sensor changes by one step every time the simulation advances by one unit time. This means that the length of one unit time of the simulation inevitably becomes so long that the observed value of the sensor changes by one step.
  • the control timing by the controller 18 cannot be simulated with a fine granularity, and the behavior of the controlled object 12 cannot be simulated with a fine granularity.
  • the fact that the sensor observation value changes from UF to LL in one unit time means that the situation where the sensor observation value is between UF and LL cannot be simulated.
  • the order of control by the controller 18 based on the observed values of these sensors 14 is greatly related to the behavior of the entire control system 10. Therefore, in order to accurately simulate the behavior of the control system 10, it is necessary to be able to simulate the control timing by the controller 18 with a fine granularity.
  • the information processing device 2000 by determining the behavior function using the above-described polynomial or the like, the observation value of the sensor is compared with the model of the system disclosed in Non-Patent Document 1 or the like with a fine granularity. Can be expressed. Therefore, one unit time of simulation can be shortened, and the timing of control by the controller 18 can be simulated with a fine granularity. This allows the behavior of the control system 10 to be accurately simulated.
  • the second generation unit 2080 uses the configuration information and the control rule acquired by the first acquisition unit 2020 and the plurality of behavior function sets F1 to Fn generated by the first generation unit 2060 to control the system of the control system 10. Generate a model.
  • the system model is information that expresses the time change of the behavior of the control system 10 (control by the controller 18, the state of the actuator 16, and the output value of the sensor 14). For example, “how the state of the actuator 16 changes from time t to time t + 1" is the state of the actuator 16 at the time t, the output value of the sensor 14, and the control of the controller 18 according to the output value. Represented by By comprehensively tracing such a time change of the state of the control system 10 sequentially from the initial state, it is possible to comprehensively search for possible state changes in the control system 10.
  • the system model is generated according to the implementation of the model checking tool so that it can be handled by the model checking tool used for model checking.
  • the system model is realized as data in which configuration information, control rules, and behavioral function sets are set.
  • the system model is realized as data in which configuration information and a control rule in which a behavior function set is incorporated are set.
  • the control rule in which the behavior function set is incorporated means a rule in which a corresponding behavior function is embedded in a portion of the control rule that refers to the sensor value.
  • the second generation unit 2080 outputs the generated system model (S114).
  • the model check using the generated system model may be performed by the information processing device 2000 or may be performed by a device other than the information processing device 2000.
  • the second generation unit 2080 stores the generated system model in an arbitrary storage device.
  • An information processing device 2000 having a function of performing model checking on the generated system model will be described as a second embodiment.
  • the second generation unit 2080 uses the system model in a mode that can be acquired by the device (hereinafter, the inspection device). Output the model.
  • the second generation unit 2080 stores the system model in a storage device accessible from the inspection device, or transmits the system model to the inspection device.
  • FIG. 8 is a diagram illustrating a functional configuration of the information processing device 2000 according to the second embodiment.
  • the information processing apparatus 2000 according to the second embodiment has a function of performing model checking using the system model generated by the second generation unit 2080. Therefore, the information processing device 2000 has a third acquisition unit 2120 and an inspection execution unit 2140.
  • the third acquisition unit 2120 acquires attack information indicating an attack rule and an attack goal.
  • the method for acquiring the attack rule and attack information is the same as the information for acquiring the configuration information and the like.
  • the attack rule is information that describes an attack that the attacker can execute on the control system 10.
  • An example of the attack is “rewriting the observation value by a certain sensor 14 to an arbitrary value”. For example, if the combination of actuator states is cj at time t, the value that the controller 18 should originally acquire as the observed value of the sensor i is fij (t). On the other hand, when the above-mentioned attack is performed, the value acquired by the controller 18 is changed to an arbitrary value other than fij (t).
  • attacks include “changing the state of a certain actuator 16 to an arbitrary state”. Originally, the state of the actuator 16 is controlled based on the control rule. However, when the above-mentioned attack is performed, the state of the actuator 16 is changed to an arbitrary state that does not depend on the control rule.
  • the attack goal is the goal of the attack by the attacker.
  • the attacker makes an attack to transition the controlled object 12 controlled by the control system 10 to a desired state. Therefore, the attack goal represents the state of the control target 12 that is the target of the attack.
  • the state of the controlled object 12 is observed by the sensor 14. Therefore, the attack goal can be represented by the observation value of the sensor 14.
  • the attack goal is "the observation value of the sensor 14 for observing the water quantity in the water storage tank> the upper limit value of the water storage quantity". It can be expressed as.
  • the inspection execution unit 2140 executes model inspection using the system model and attack information generated by the second generation unit 2080.
  • existing model checking tools such as the above-mentioned Alloy Analyzer can be used.
  • Model checking tools such as Alloy Analyzer verify whether the specifications of the system model are correct. Therefore, for example, the inspection execution unit 2140 sets the attack goal as a specification and then executes the model inspection of the system model by the model inspection tool.
  • the model checking tool comprehensively searches for possible states of the system model based on the control rule and the attack rule, and determines whether or not the set specifications are correct.
  • the determination that the specifications are correct means that the attack goal is achieved.
  • the specifications are determined to be incorrect, it means that the attack goal is not achieved. Therefore, a series of attacks performed when the specifications are determined to be correct can be obtained as an attack scenario that can achieve the attack goal.
  • the result of the search by the model checking tool changes depending on the state of the system model (that is, the initial value setting) at the start of the search. Therefore, it is preferable to execute the model checking tool while changing the initial value variously. Therefore, for example, the user of the model checking tool operates the information processing device 2000 while changing the setting of the initial value in various ways to obtain the search result corresponding to each initial setting. Further, the work of executing the model checking tool while changing the initial value in this way may be automatically performed by the checking execution unit 2140.
  • the result output unit 2160 outputs the result of the model checking executed by the checking execution unit 2140. Specifically, when an attack scenario (a series of attack procedures) that can achieve the attack goal is obtained, the result output unit 2160 outputs scenario information representing the attack scenario.
  • the scenario information is information listing one or more combinations of the executed attack and its timing (time). By outputting the scenario information, the user can easily understand the vulnerability of the control system 10.
  • the result output unit 2160 may further output the time series data of the observed value of each sensor 14 and the time series data of the state change of each actuator 16 together with the scenario information. By outputting these pieces of information as well, the user can understand how the state of the control system 10 changes to achieve the attack goal.
  • the result output unit 2160 may further output information indicating the time until the attack goal is achieved by the attack scenario indicated by the scenario information.
  • the simulation proceeds at a unit time of a predetermined interval. This unit time is called a tick or the like. For example, if ticks are set to 10 seconds, the model check progresses at 10 second intervals. That is, the time t + 1 is the time 10 seconds after the time t.
  • the result output unit 2160 may output the time until the attack goal is achieved in the simulation time (that is, the number of ticks) or in the estimated actual time. For example, assume that the attack goal is achieved in ticks and the tick interval is b seconds. In this case, the result output unit 2160 may output information representing the simulation time of “k tick” as the time until the attack goal is achieved, or the real time of “k * b second”. Information may be output.
  • the output destination from which the result output unit 2160 outputs the various information described above is arbitrary.
  • the result output unit 2160 causes the storage device to store the information, causes the display device to display the information, and transmits the information to another device.
  • the hardware configuration of the information processing apparatus 2000 according to the second embodiment is represented by, for example, FIG. 3 like the information processing apparatus 2000 according to the first embodiment.
  • the storage device 1080 of the second embodiment stores a program module for realizing the functions of the information processing apparatus 2000 of the second embodiment.
  • FIG. 9 is a flowchart illustrating the flow of processing executed by the information processing device 2000 according to the second embodiment.
  • the third acquisition unit 2120 acquires attack information (S202).
  • the inspection execution unit 2140 executes the model inspection of the system model using the attack information (S204).
  • the result output unit 2160 outputs the result of model checking (S206).
  • Configuration information representing a configuration of a system having a plurality of sensors for observing a physical quantity regarding a control target, a plurality of actuators for changing the behavior of the control target, and a controller for controlling each of the actuators, and control of each of the actuators by the controller
  • a first acquisition unit for acquiring a control rule representing the rule of A second acquisition unit that acquires, for each of the sensors, behavior log data indicating a combination of time-series data of a physical quantity observed by the sensor and a state of each of the actuators at each time,
  • a first generation unit that uses the behavior log data, for each combination of states of a plurality of the actuators, and for each sensor, to generate a behavior function that represents a temporal change of a physical quantity observed by the sensor in the combination of states;
  • An information processing apparatus comprising: a second generation unit that generates a system model using the configuration information, the control rule,
  • the first generation unit for each of the plurality of sensors, The time series data of the physical quantity observed by the sensor is divided into a plurality of sections in which the combinations of the states of the plurality of actuators are different from each other, For each of the plurality of sections, as a behavior function corresponding to the section, generate a prediction model that predicts a temporal change of a physical quantity represented by time-series data included in the section.
  • the prediction model is a multiple regression model.2.
  • An attack rule that represents an attack that the attacker can perform on the system and a third acquisition unit that acquires an attack goal that represents the state of the system targeted by the attacker,
  • An inspection execution unit that searches for an attack procedure for transitioning the state of the system to the state indicated by the attack goal using the system model, the attack rule, and the attack goal;
  • a result output unit for outputting the result of the inspection by the inspection executing unit;
  • a control method executed by a computer Configuration information representing a configuration of a system having a plurality of sensors for observing a physical quantity regarding a control target, a plurality of actuators for changing the behavior of the control target, and a controller for controlling each of the actuators, and control of each of the actuators by the controller
  • the time series data of the physical quantity observed by the sensor is divided into a plurality of sections in which the combinations of the states of the plurality of actuators are different from each other, 4.
  • For each of the plurality of sections as a behavior function corresponding to the section, generate a prediction model that predicts a temporal change in a physical quantity represented by time-series data included in the section.
  • Control method described in. 7. 5.
  • the prediction model is a multiple regression model. Control method described in. 8.
  • An attack rule that represents an attack that the attacker can perform on the system and a third acquisition step that acquires an attack goal that represents the state of the system targeted by the attacker,

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

制御システム(10)は、複数のセンサ(14)、複数のアクチュエータ(16)、及びコントローラ(18)を有する。情報処理装置(2000)は、構成情報、制御ルール、及び挙動ログデータを取得する。構成情報は、制御システム(10)の構成を表す。制御ルールは、コントローラ(18)による各アクチュエータ(16)の制御のルールを表す。挙動ログデータは、センサ(14)の観測値の時系列データと各時刻における各アクチュエータ(16)の状態との組み合わせを示す。情報処理装置(2000)は、挙動ログデータを用いて、複数のアクチュエータ(16)の状態の組み合わせごと及びセンサ(14)ごとに、その状態の組み合わせにおけるそのセンサ(14)の観測値の時間変化を表す挙動関数を生成する。そして、情報処理装置(2000)は、制御システム(10)について、構成情報、制御ルール、及び挙動関数を用いて、システムモデルを生成する。

Description

情報処理装置、制御方法、及びプログラム
 本発明は制御システムのモデル検査に関する。
 複数の機器を制御するためのシステムとして制御システムが知られている。制御システムは発電所などの重要インフラ施設内で使用されることもあり、適切なセキュリティアセスメントの実施が必要とされている。
 セキュリティアセスメントとは、脅威と脆弱性により対象資産に損害が生じる可能性(リスク)を明らかにし、そのリスクの要因分析、影響度、及び損失等を評価し、その結果に基づいて対策を実施することである。ここで、無数に存在しうるリスクに対して限られた予算内で効率良く対策を実施するためには、適切にリスクを分析・評価する必要がある。例えば、攻撃に基づくリスクにおいては、その攻撃が成功するかどうかだけでなく、攻撃が成功するまでの手順(攻撃シナリオ)などを明らかにすることが重要である。
 なお、本明細書における「攻撃」とは、制御システムを通常運転では陥ることのない状態(以下、異常な状態)に到達させるための攻撃者による振舞いを指す。また、「攻撃者」とは、システムに対して攻撃を実施する人や組織を指す。また、攻撃が目標とする制御システムの状態を攻撃ゴールと呼ぶ。
 セキュリティアセスメントを実現する手法の1つとして、モデル検査ツールを利用する方法がある。モデル検査ツールは、専用の言語を用いて記述された対象システムのモデルを入力として取得し、SAT(Satisfiability problem)ソルバ等を用いることにより、モデルが満たす状態を網羅的に探索する。これにより、モデルが到達しうる状態が仕様を満たしているか否かが、自動的に検証される。このようにして、モデル検査ツールは、対象システムに対する仕様の正しさを網羅的かつ自動的に検証する。また、モデル検査ツールを用いると、検証の際に、仕様を満たすモデルの例、及び満たさない場合の反例を確認することができる。
 モデル検査ツールを利用したセキュリティアセスメントについて開示している先行技術文献として、非特許文献1がある。非特許文献1は、Alloy Analyzer というモデル検査ツールを用いた、制御システムのモデル検査について開示している。
 非特許文献1では、制御システムの構成及び攻撃者の能力を表現したモデルを生成し、モデル検査ツールを用いてこのモデルを検証する。この際、攻撃のゴールとする制御システムの状態を仕様として扱うことで、仕様を満たす攻撃の手順、すなわち攻撃ゴールを達成することができる攻撃の手順が網羅的に探索される。
 ここで、非特許文献1が対象とする制御システムは、1つのセンサ、複数のアクチュエータ、及び複数のコントローラで構成される。センサは、制御対象に関する物理量を計測する。アクチュエータは、センサによって計測される制御対象の物理量を制御するための装置である。コントローラは、センサによって計測された物理量に基づいてアクチュエータを制御する装置である。より具体的には、例えばコントローラは、センサから取得した物理量と、設定された閾値との比較を行い、その比較結果に応じてアクチュエータに制御信号を送信する。
Eunsuk Kang、Sridhar Adepu、Daniel Jackson、Aditya P. Mathur、「Model-Based Security Analysis of a Water Treatment System」、International Workshop on Software Engineering for Smart Cyber-Physical Systems、2016年
 非特許文献1に開示されている制御システムには、センサが1つしか含まれていない。よって、非特許文献1では、センサを複数有するより複雑な制御システムについてのセキュリティアセスメントについては言及されていない。
 本発明は、上記の課題に鑑みてなされたものであり、その目的の1つは、センサを複数有する制御システムについて、モデル検査を利用した安全性の検証を実現する技術を提供することである。
 本発明の情報処理装置は、1)制御対象に関する物理量を観測する複数のセンサ、制御対象の挙動を変化させる複数のアクチュエータ、及び各アクチュエータを制御するコントローラを有するシステムの構成を表す構成情報、及びコントローラによる各アクチュエータの制御のルールを表す制御ルールを取得する第1取得部と、2)センサによって観測された物理量の時系列データと各時刻における各アクチュエータの状態との組み合わせを示す挙動ログデータを、各センサについて取得する第2取得部と、3)挙動ログデータを用いて、複数のアクチュエータの状態の組み合わせごと及びセンサごとに、その状態の組み合わせにおいてそのセンサによって観測される物理量の時間変化を表す挙動関数を生成する第1生成部と、4)システムについて、構成情報、制御ルール、及び挙動関数を用いてシステムモデルを生成する第2生成部と、を有する。
 本発明の制御方法はコンピュータによって実行される。当該制御方法は、1)制御対象に関する物理量を観測する複数のセンサ、制御対象の挙動を変化させる複数のアクチュエータ、及び各アクチュエータを制御するコントローラを有するシステムの構成を表す構成情報、及びコントローラによる各アクチュエータの制御のルールを表す制御ルールを取得する第1取得ステップと、2)センサによって観測された物理量の時系列データと各時刻における各アクチュエータの状態との組み合わせを示す挙動ログデータを、各センサについて取得する第2取得ステップと、3)挙動ログデータを用いて、複数のアクチュエータの状態の組み合わせごと及びセンサごとに、その状態の組み合わせにおいてそのセンサによって観測される物理量の時間変化を表す挙動関数を生成する第1生成ステップと、4)システムについて、構成情報、制御ルール、及び挙動関数を用いてシステムモデルを生成する第2生成ステップと、を有する。
 本発明のプログラムは、コンピュータに、本発明の制御方法が有する各ステップを実行させる。
 本発明によれば、センサを複数有する制御システムについて、モデル検査を利用した安全性の検証を実現する技術が提供される。
 上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
実施形態1の情報処理装置の概要を例示する図である。 実施形態1の情報処理装置の機能構成を例示する図である。 情報処理装置を実現するための計算機を例示する図である。 実施形態1の情報処理装置によって実行される処理の流れを例示するフローチャートである。 第3生成部を有する情報処理装置を例示する図である。 挙動ログデータによって示されている情報をグラフで例示した図である。 複数のアクチュエータの状態の組み合わせごとに挙動関数が生成される様子を例示する図である。 実施形態2の情報処理装置の機能構成を例示する図である。 実施形態2の情報処理装置によって実行される処理の流れを例示するフローチャートである。
 以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
[実施形態1]
<発明の概要>
 図1は、実施形態1の情報処理装置2000の概要を例示する図である。図1に示す概要は、情報処理装置2000の理解を容易にするための例示であり、情報処理装置2000の機能を限定するものではない。
 情報処理装置2000は、制御システム10のモデル(以下、システムモデル)を生成する。システムモデルは、制御システム10の安全性をモデル検査によって検証するために利用される。具体的には、モデル検査ツールを利用してシステムモデルの解析を行うことにより、制御システムを異常な状態にさせる攻撃の手順(シナリオ)を探索する。制御システムを異常な状態にさせる攻撃シナリオが見つかったら、制御システム10がその攻撃シナリオで表される攻撃に対して脆弱であることが分かる。
 情報処理装置2000が扱う制御システム10は、図1に例示するように、制御対象12、複数のセンサ14、複数のアクチュエータ16、及びコントローラ18を有する。センサ14は、制御対象12に関する物理量を計測し、その計測結果を出力する。例えば制御対象12が貯水タンクである場合、センサ14は、貯水タンクの水量を計測するセンサなどである。
 アクチュエータ16は、センサ14が計測する物理量を制御するための装置である。例えば制御対象12が貯水タンクであり、センサ14が貯水タンク内の水量を計測するとする。この場合、例えばアクチュエータ16は、貯水タンクに対する水の流入を制御するポンプである。
 コントローラ18は、アクチュエータ16の動作を制御する。例えばアクチュエータ16が前述したポンプである場合、コントローラ18は、ポンプの状態を ON と OFF の間で切り替える PLC(Programmable Logic Controller)などである。
 制御システム10のシステムモデルは、制御システム10の構成(すなわち、制御システム10に含まれるセンサ14、アクチュエータ16、及びコントローラ18の構成)を表す構成情報に加え、制御ルールと挙動関数を用いて生成される。制御ルールは、コントローラ18が行う制御の規則であり、センサ14の観測値に基づいてコントローラ18がどのようにアクチュエータ16を制御するのかを定めたものである。例えば、貯水タンクの水量を検出するセンサ14によって検出された水量に基づいて貯水タンクのポンプをコントローラ18で制御する場合、センサ14によって検出される水量と、コントローラ18がアクチュエータに対して行う制御(ポンプの ON/OFF)との関係が、制御ルールとして定められる。
 挙動関数は、センサ14の観測値の時間変化を表す関数であり、情報処理装置2000によって生成される。言い換えれば、挙動関数は、センサ14によって観測される制御対象12の挙動を表す。ここで、制御対象12の挙動は、その制御対象12の挙動を制御する複数のアクチュエータ16の状態の組み合わせによって定まる。そこで、或るセンサ14に対応する挙動関数は、複数のアクチュエータ16の状態の組み合わせごとに生成される。例えば、ON と OFF という2つの状態を取りうる2つのアクチュエータ16が制御システム10に含まれる場合、これらのアクチュエータの状態の組み合わせとして、(OFF, ON), (ON, OFF), (OFF, OFF), 及び (ON, ON) という4つが存在する。そこで、これら4つの組み合わせそれぞれについて、センサ14に対応する挙動関数が生成される。
<作用効果>
 本実施形態の情報処理装置2000によれば、制御システム10についてモデル検査を行うためのシステムモデルが生成される。このシステムモデルは、複数のセンサ14を含む制御システム10の構成を表す構成情報、複数のセンサ14それぞれの観測値に応じてコントローラ18がアクチュエータ16を制御するための制御ルール、及び複数のセンサ14それぞれの観測値の時間変化を表す挙動関数を用いて生成される。そして、挙動関数は、複数のアクチュエータ16の状態の組み合わせそれぞれについて生成される。このようなシステムモデルによれば、複数のセンサ14それぞれの観測値とその観測値に応じた制御システム10の挙動を表すことができるため、複数のセンサ14を含む制御システム10についてのモデル検査が可能となる。
 以下、本実施形態の情報処理装置2000についてさらに詳細に説明する。
<機能構成の例>
 図2は、実施形態1の情報処理装置2000の機能構成を例示する図である。情報処理装置2000は、第1取得部2020、第2取得部2040、第1生成部2060、及び第2生成部2080を有する。第1取得部2020は、制御システム10の構成情報、及び各アクチュエータ16についての制御ルールを取得する。第2取得部2040は、挙動ログデータを取得する。第1生成部2060は、挙動ログデータを用いて、複数のアクチュエータ16の状態の組み合わせごと及びセンサ14ごとに、その状態の組み合わせにおいてそのセンサ14によって観測される物理量の時間変化を表す挙動関数を生成する。第2生成部2080は、構成情報、制御ルール、及び挙動関数を用いて、制御システム10のシステムモデルを生成する。
<情報処理装置2000のハードウエア構成>
 情報処理装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、情報処理装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
 図3は、情報処理装置2000を実現するための計算機1000を例示する図である。計算機1000は任意の計算機である。例えば計算機1000は、Personal Computer(PC)やサーバマシンなどの据え置き型の計算機である。その他にも例えば、計算機1000は、スマートフォンやタブレット端末などの可搬型の計算機である。計算機1000は、情報処理装置2000を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。
 計算機1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120を有する。バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1040などを互いに接続する方法は、バス接続に限定されない。
 プロセッサ1040は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field-Programmable Gate Array)などの種々のプロセッサである。メモリ1060は、RAM(Random Access Memory)などを用いて実現される主記憶装置である。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、メモリカード、又は ROM(Read Only Memory)などを用いて実現される補助記憶装置である。
 入出力インタフェース1100は、計算機1000と入出力デバイスとを接続するためのインタフェースである。例えば入出力インタフェース1100には、キーボードなどの入力装置や、ディスプレイ装置などの出力装置が接続される。
 ネットワークインタフェース1120は、計算機1000を通信網に接続するためのインタフェースである。この通信網は、例えば LAN(Local Area Network)や WAN(Wide Area Network)である。ネットワークインタフェース1120が通信網に接続する方法は、無線接続であってもよいし、有線接続であってもよい。
 ストレージデバイス1080は、情報処理装置2000の各機能構成部を実現するプログラムモジュールを記憶している。プロセッサ1040は、これら各プログラムモジュールをメモリ1060に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。
<処理の流れ>
 図4は、実施形態1の情報処理装置2000によって実行される処理の流れを例示するフローチャートである。第1取得部2020は、制御システム10の構成情報、及び各アクチュエータ16についての制御ルールを取得する(S102)。
 S104からS110は、複数のセンサ14それぞれについて実行されるループ処理Aである。S104において、情報処理装置2000は、全てのセンサ14を対象としてループ処理Aを実行したか否かを判定する。全てのセンサ14について既にループ処理Aを実行した場合、図4の処理はS112に進む。一方、まだループ処理Aの対象としていないセンサ14がある場合、図4の処理はS106に進む。S106に進む際、情報処理装置2000は、まだループ処理Aの対象としていないセンサ14の中から1つを選択する。ここで選択されるセンサ14を、センサiと表記する。
 第2取得部2040は、センサiによって観測された物理量に関する挙動ログデータを取得する(S106)。第1生成部2060は、取得された挙動ログデータを用いて、センサiについての挙動関数を生成する(S108)。S110はループ処理Aの終端であるため、図4の処理はS104に進む。
 S112において、第2生成部2080は、構成情報、制御ルール、及び挙動関数を用いて、制御システム10のシステムモデルを生成する。情報処理装置2000は、生成されたシステムモデルを出力する(S114)。
<構成情報について>
 構成情報は、制御システム10の構成を表す情報である。具体的には、制御システム10に含まれるセンサ14の集合、アクチュエータ16の集合、及びコントローラ18の集合を表す。なお、コントローラ18の数はアクチュエータ16の数より少なくてもよい。この場合、複数のアクチュエータ16を制御するコントローラ18が存在する。
 構成情報は、アクチュエータ16がどのセンサ14によって観測される物理量を制御しているのかを示す第1対応関係をさらに含む。例えば、アクチュエータ a1 が、センサ s1 によって観測される物理量を制御するとする。この場合、第1対応関係情報は、(a1, s1)という対応関係を示す。
 また、構成情報は、コントローラ18がどのセンサ14から取得した物理量に基づいてどのアクチュエータ16を制御するのかを表す第2対応関係情報を含む。例えば、コントローラ c1 がセンサ s1 から取得した物理量を用いて、アクチュエータ a1 を制御するとする。この場合、第2対応関係情報は、(c1, s1, a1)という対応関係を示す。
 第1取得部2020が構成情報を取得する方法は様々である。例えば第1取得部2020は、構成情報が記憶されている記憶装置にアクセスすることで、構成情報を取得する。その他にも例えば、第1取得部2020は、他の装置から送信される構成情報を受信することで、構成情報を取得する。
<制御ルールについて>
 制御ルールは、センサ14の観測値に基づいてコントローラ18がどのようにアクチュエータ16を制御するのかを表すルールである。より具体的には、制御ルールは、或る時刻 t においてコントローラ18がセンサ14から取得した観測値に基づいて、時刻 t+1 又はそれ以降の任意の時刻におけるアクチュエータ16の状態を設定するように記述される。例えば、制御ルールは、「時刻 t においてセンサ14の観測値が閾値 H 以上なら、時刻 t+1 でアクチュエータ16の状態を OFF に変更する」といった制御を実現するように記述される。
 制御ルールは、情報処理装置2000によって生成されるシステムモデルを用いてモデル検査を行うモデル検査ツールが解釈可能な形式で記述されている必要がある。制御ルールは、人手で作成されてもよいし、情報処理装置2000によって生成されてもよい。前者の場合、例えば第1取得部2020は、制御ルールが記憶されている記憶装置にアクセスしたり、他の装置から送信される制御ルールを受信したりすることにより、制御ルールを取得する。後者の場合、第1取得部2020は、情報処理装置2000の内部で生成された制御ルールを取得する。
 後者の場合、情報処理装置2000は、モデル検査ツールが解釈できない形式で記述されている、コントローラ18によるアクチュエータ16の制御を定めた情報を取得し、取得した情報を、モデル検査ツールが解釈可能な情報(すなわち、制御ルール)に変換する。この変換を行う機能構成部を、第3生成部2100と呼ぶ。図5は、第3生成部2100を有する情報処理装置2000を例示する図である。
 例えば第3生成部2100は、コントローラ18によって実行される制御プログラムを取得し、その制御プログラムを制御ルールに変換する。この場合、第3生成部2100には、制御プログラムを制御ルールに変換するロジックを含めておく。その他にも例えば、第3生成部2100は、自然言語で記述された情報を取得し、その情報を制御ルールに変換してもよい。この場合、第3生成部2100には、自然言語で記述された情報を制御ルールに変換するロジックを含めておく。なお、制御ルールに変換する情報を第3生成部2100が取得する方法は、以下で説明する、第1生成部2060が制御ルールを取得する方法と同様である。
<挙動ログデータについて>
 挙動ログデータは、センサ14によって観測された物理量の時系列データを、複数のアクチュエータ16それぞれの状態に対応づけて示す。より具体的には、挙動ログデータは、「時刻、その時刻にセンサ14によって観測された物理量、その時刻における各アクチュエータ16の状態」という対応関係を示す。挙動ログデータが示す時系列データの時間幅は任意であり、例えば1秒や10秒といった時間幅である。
 図6は、挙動ログデータによって示されている情報をグラフで例示した図である。横軸は時間を示し、縦軸は観測値を示す。また、複数のアクチュエータ16の状態の組み合わせが変化するタイミングを点線で示している。このグラフの例のように、複数のアクチュエータ16の状態の組み合わせごとに、センサ14の観測値の時間変化の様子が異なることが多い。そのため、後述する様に、複数のアクチュエータ16の状態の組み合わせごとに、挙動関数が生成される。
 センサ14の挙動ログデータは、例えば、制御システム10を実際に動作させ、各時刻におけるそのセンサ14の観測値と各アクチュエータ16の状態とを記録することで生成される。その他にも例えば、挙動ログデータは、制御システム10の動作をシミュレーションすることで生成されてもよい。なお、コンピュータを利用して制御システム10の動作をシミュレーションし、その挙動のログを得る技術には、既存の技術を利用することができる。
 第2取得部2040が挙動ログデータを取得する方法は様々である。例えば第2取得部2040は、挙動ログデータが記憶されている記憶装置から挙動ログデータを取得する。その他にも例えば、第2取得部2040は、他の装置から送信された挙動ログデータを受信することで、挙動ログデータを取得してもよい。
<挙動関数の生成:S108>
 第1生成部2060は、センサ14の挙動ログデータを利用して、複数のアクチュエータ16の状態の組み合わせごとに、そのセンサ14の観測値の時間変化を表す挙動関数を生成する(S108)。挙動関数は、センサ14ごとに生成される。ここで、或るセンサiについて生成される挙動関数の集合を、挙動関数集合 Fi と表記する。センサの総数を n とおくと、第1生成部2060により、n 個の挙動関数集合 F1, F2,..., Fn が生成される。
 挙動関数集合 Fi には、複数のアクチュエータ16の状態の各組み合わせ cj に対応する挙動関数 fij(t) が含まれる。t は時刻を表す。すなわち、Fi={fi1(t), fi2(t), ..., fim(t)} である。m は、例えば、複数のアクチュエータ16の状態の組み合わせの総数である。ただし、挙動関数集合 Fi に含まれる挙動関数は、センサiの観測値に影響を与えるアクチュエータ16の状態の組み合わせのみに着目して生成されてもよい。この場合、挙動関数集合 Fi に含まれる挙動関数の総数 m は、センサiの観測値に影響を与えるアクチュエータ16の状態の組み合わせの総数となる。
 例えば、それぞれが2つの状態を取り得る3つのアクチュエータ16が制御システム10に含まれているとする。この場合、アクチュエータ16が取り得る状態の組み合わせの総数は8である。しかし、これら3つのアクチュエータ16のうち、2つのアクチュエータ16しかセンサ14の観測値に影響を与えない場合、これら2つのアクチュエータ16の状態の組み合わせそれぞれについて挙動関数が生成されればよく、その数は4となる。なお、センサ14と、そのセンサ14の観測値に影響を与える制御を行うアクチュエータ16との対応関係は、前述した第1対応関係情報に示されている。
 第1生成部2060は、センサiの挙動ログデータを観測時刻の昇順にソートし、ソートした複数の挙動ログデータを、複数のアクチュエータ16の状態の組み合わせが同一である区間ごとに区切る。そして、第1生成部2060は、区間ごとに、その区間に含まれるセンサiの観測値の時系列データを利用して、センサiの観測値の時間変化を表す関数を生成する。ただし、アクチュエータ16の状態の組み合わせが cj である区間が複数存在することもある。この場合、例えば第1生成部2060は、それら複数の区間のうち、時間幅が最も長い区間を利用して、状態の組み合わせ cj に対応する挙動関数 fij(t) を生成する。
 図7は、複数のアクチュエータ16の状態の組み合わせごとに挙動関数が生成される様子を例示する図である。図7に示すセンサ14の観測値は、図6に示したものと同じである。この例では、センサ1の観測値の時間変化が、2つのアクチュエータ1と2の状態の組み合わせに依存している。そこで第1生成部2060は、これら2つのアクチュエータ16の状態の組み合わせごとに、挙動関数を生成する。図7では、2つのアクチュエータ16の状態の組み合わせとして、c1 から c3 が示されている。そこで、センサ1の挙動関数として、c1 に対応する f11(t)、c2 に対応する f12(t) 、及び c3 に対応する f13(t) という3つの挙動関数が生成されている。
 挙動関数は、センサ14の観測値の時間変化を予測する予測モデルとして生成することができる。予測モデルの種類には、線形回帰モデルや重回帰モデルといった、任意の回帰モデルを利用することができる。例えば重回帰モデルであれば、以下のような最小二乗法を解くことによって、挙動関数 fij(t) を生成することができる。
Figure JPOXMLDOC01-appb-M000001
 ここで、|・| はノルムを表す記号である。ノルムとしては、例えば L2 ノルムを利用することができる。
 上述の式(2)において、yij(t) は、センサiの挙動ログデータのうち、アクチュエータ16の状態の組み合わせが cj であるデータに示されている観測値である。ただし、挙動ログデータは、アクチュエータ16の状態の組み合わせが cj となる最初の時刻のデータを基準とした相対データに置き換えて利用される。すなわち、各データの時刻及び観測値から、アクチュエータ16の状態の組み合わせが cj となる最初の時刻及びその時刻の観測値を引いて利用する。ただし、観測値については、挙動ログデータに示されているデータをそのまま利用して挙動関数 fij(t) を生成した後、α0を0に置き換えるようにしてもよい。
 式(1)の次数 d は、予め定められた値であってもよいし、アクチュエータ16の状態の組み合わせ cj ごとに第1生成部2060が決定してもよい。後者の場合、例えば第1生成部2060は、次数を様々に変えて挙動関数 fij(t) の候補を複数生成し、統計モデルの良さを評価する指標(例えば、AIC(赤池の情報量基準)や BIC(ベイズ情報量基準))を用いて各次数の挙動関数を評価することで、最適な次数を決定する。例えば AIC や BIC を指標値として利用する場合、算出される指標値が最小となる次数 d が最適な次数となる。
 ここで、挙動関数を利用することには、制御システム10の挙動を正確にシミュレートできるという利点がある。以下、この利点について説明する。まず、非特許文献1において、センサの観測値は、{UF, LL, L2, L1, L, H, H1, H2, HH, OF} という10段階の値のいずれかとなる。そして、シミュレーションが1単位時間進むごとに、センサの観測値が1段階変化する。これは、シミュレーションの1単位時間の長さが、必然的に、センサの観測値が1段階変化する程度に長くなってしまうことを意味する。
 そして、このようにシミュレーションの1単位時間が長いと、コントローラ18による制御のタイミングを細かい粒度でシミュレートできず、ひいては、制御対象12の挙動を細かい粒度でシミュレートできない。例えばセンサの観測値が1単位時間で UF から LL に変化するということは、センサの観測値が UF と LL の間にある状況をシミュレートできないことを意味する。特に情報処理装置2000が扱うセンサ14が複数存在する制御システム10では、これらのセンサ14の観測値に基づくコントローラ18による制御の順番が、制御システム10全体の挙動に大きく関わる。そのため、制御システム10の挙動を正確にシミュレートするためには、コントローラ18による制御のタイミングを細かい粒度でシミュレートできる必要がある。
 この点、情報処理装置2000によれば、前述した多項式などを用いて挙動関数を定めることにより、非特許文献1などに開示されているシステムのモデルと比較し、センサの観測値を細かい粒度で表現できる。よって、シミュレーションの1単位時間を短くすることができ、コントローラ18による制御のタイミングを細かい粒度でシミュレートできる。これにより、制御システム10の挙動を正確にシミュレートできる。
<システムモデルの生成:S112>
 第2生成部2080は、第1取得部2020によって取得された構成情報及び制御ルールと、第1生成部2060によって生成された複数の挙動関数集合 F1 から Fn とを用いて、制御システム10のシステムモデルを生成する。
 システムモデルは、制御システム10の挙動(コントローラ18による制御、アクチュエータ16の状態、及びセンサ14の出力値)の時間変化を表現した情報である。例えば、「アクチュエータ16の状態が時点 t から時点 t+1 でどのように変化するか」が、時点 t におけるアクチュエータ16の状態とセンサ14の出力値、及びその出力値に応じたコントローラ18の制御によって表される。このような制御システム10の状態の時間変化を初期状態から順に網羅的に辿っていくことにより、制御システム10において起こりうる状態変化を網羅的に探索することができる。
 システムモデルは、モデル検査に利用するモデル検査ツールで扱えるように、モデル検査ツールの実装に応じて生成される。例えばシステムモデルは、構成情報、制御ルール、及び挙動関数集合をセットにしたデータとして実現される。その他にも例えば、システムモデルは、構成情報と、挙動関数集合が組み込まれた制御ルールとをセットにしたデータとして実現される。ここで、挙動関数集合が組み込まれた制御ルールとは、制御ルールにおいてセンサの値を参照する箇所に対して対応する挙動関数を埋め込んだルールを意味する。
<システムモデルの出力:S114>
 第2生成部2080は、生成したシステムモデルを出力する(S114)。ここで、生成したシステムモデルを利用したモデル検査は、情報処理装置2000によって行われてもよいし、情報処理装置2000以外の装置によって行われてもよい。前者の場合、第2生成部2080は、生成したシステムモデルを任意の記憶装置に記憶させる。生成したシステムモデルについてのモデル検査を行う機能を有する情報処理装置2000については、第2の実施形態として説明する。
 一方、生成したシステムモデルを利用した検査が情報処理装置2000以外の装置によって行われる場合、第2生成部2080は、システムモデルを利用する装置(以下、検査装置)が取得可能な態様で、システムモデルを出力する。例えば第2生成部2080は、検査装置からアクセス可能な記憶装置にシステムモデルを記憶させたり、検査装置に対してシステムモデルを送信したりする。
[実施形態2]
 図8は、実施形態2の情報処理装置2000の機能構成を例示する図である。実施形態2の情報処理装置2000は、第2生成部2080によって生成されたシステムモデルを利用してモデル検査を行う機能を有する。そのために、情報処理装置2000は、第3取得部2120及び検査実行部2140を有する。第3取得部2120は、攻撃ルール及び攻撃ゴールを示す攻撃情報を取得する。攻撃ルールや攻撃情報を取得する方法は、構成情報などを取得する情報と同様である。
 攻撃ルールは、攻撃者が制御システム10に対して実行可能な攻撃が記述された情報である。攻撃の例としては、「或るセンサ14による観測値を任意の値に書き換える」などがある。例えば、時刻 t においてアクチュエータの状態の組み合わせが cj である場合、コントローラ18がセンサiの観測値として本来取得すべき値は fij(t) である。これに対し、上述の攻撃が行われると、コントローラ18が取得する値が、fij(t) 以外の任意の値に変更されてしまう。
 その他の攻撃の例としては、「或るアクチュエータ16の状態を任意の状態に変更する」などがある。本来、アクチュエータ16の状態は、制御ルールに基づいて制御される。しかしながら、上述の攻撃が行われると、アクチュエータ16の状態が、制御ルールに依存しない任意の状態に変更されてしまう。
 攻撃ゴールは、攻撃者による攻撃の目標である。攻撃者は、制御システム10によって制御される制御対象12を所望の状態に遷移させるために攻撃を行う。そのため、攻撃ゴールは、攻撃の目標となる制御対象12の状態を表す。ここで、制御対象12の状態は、センサ14によって観測される。よって、攻撃ゴールは、センサ14の観測値で表すことができる。例えば、制御対象12が貯水タンクであり、「貯水タンクから水をあふれさせる」という攻撃を行う場合、攻撃ゴールは、「貯水タンクの水量を観測するセンサ14の観測値>貯水量の上限値」と表すことができる。
 検査実行部2140は、第2生成部2080によって生成されたシステムモデルと攻撃情報とを用いてモデル検査を実行する。ここで、システムモデル、攻撃ルール、及び攻撃ゴールの組み合わせを用いてモデル検査を実行する機構としては、前述した Alloy Analyzer など、既存のモデル検査ツールを利用することができる。
 Alloy Analyzer などのモデル検査ツールは、システムモデルの仕様が正しいかどうかの検証を行う。そこで例えば、検査実行部2140は、攻撃ゴールを仕様として設定した上で、モデル検査ツールによるシステムモデルのモデル検査を実行する。モデル検査ツールは、制御ルールと攻撃ルールに基づいて、システムモデルが取り得る状態を網羅的に探索し、設定された仕様が正しいか否かを判定する。ここで、仕様が正しいと判定されることは、攻撃ゴールが達成されることを意味する。一方、仕様が正しくないと判定されることは、攻撃ゴールが達成されないことを意味する。そこで、仕様が正しいと判定された場合に行われた一連の攻撃を、攻撃ゴールを達成することができる攻撃シナリオとして得ることができる。
 ここで、モデル検査ツールによる探索の結果は、探索の開始時におけるシステムモデルの状態(すなわち、初期値の設定)によって変わる。そのため、初期値を様々に変えながらモデル検査ツールを実行することが好適である。そこで例えば、モデル検査ツールの利用者が、初期値の設定を様々に変えながら情報処理装置2000を動作させることで、各初期設定に対応する探索結果を得るようにする。また、このように初期値を変えながらモデル検査ツールを実行する作業は、検査実行部2140によって自動的に行われてもよい。
 結果出力部2160は、検査実行部2140によって実行されたモデル検査の結果を出力する。具体的には、攻撃ゴールを達成できる攻撃シナリオ(一連の攻撃手順)が得られた場合、結果出力部2160は、その攻撃シナリオを表すシナリオ情報を出力する。例えばシナリオ情報は、実行された攻撃とそのタイミング(時刻)との組み合わせを1つ以上列挙した情報である。シナリオ情報を出力することにより、制御システム10が持つ脆弱性をユーザが容易に把握することができる。
 結果出力部2160は、シナリオ情報と共に、各センサ14の観測値の時系列データや、各アクチュエータ16の状態変化の時系列データをさらに出力してもよい。これらの情報も出力することにより、制御システム10の状態がどのように変化しながら攻撃ゴールが達成されるのかを、ユーザが把握することができる。
 また、結果出力部2160は、シナリオ情報が示す攻撃シナリオによって攻撃ゴールが達成されるまでの時間を表す情報をさらに出力してもよい。ここで一般に、モデル検査では、或る所定間隔の単位時間でシミュレーションが進行される。この単位時間はティックなどと呼ばれる。例えばティックを10秒間に設定した場合、モデル検査では、時間が10秒間隔で進行する。すなわち、時刻 t+1 は、時刻 t から10秒後の時間となる。
 結果出力部2160は、攻撃ゴールが達成されるまでの時間を、シミュレーション時間(すなわち、ティック数)で出力してもよいし、推定される実際の時間で出力してもよい。例えば攻撃ゴールが k ティックで達成され、ティック間隔が b 秒であるとする。この場合、結果出力部2160は、攻撃ゴールが達成されるまでの時間として、「k ティック」というシミュレーショ時間を表す情報を出力してもよいし、「k*b 秒」という実時間を表す情報を出力してもよい。
 なお、結果出力部2160が上述した種々の情報を出力する出力先は任意である。例えば、結果出力部2160は、記憶装置に情報を記憶させたり、ディスプレイ装置に情報を表示させたり、他の装置に情報を送信したりする。
<ハードウエア構成の例>
 実施形態2の情報処理装置2000のハードウエア構成は、実施形態1の情報処理装置2000と同様に、例えば図3で表される。ただし、実施形態2のストレージデバイス1080には、実施形態2の情報処理装置2000の機能を実現するためのプログラムモジュールが記憶されている。
<処理の流れ>
 図9は、実施形態2の情報処理装置2000によって実行される処理の流れを例示するフローチャートである。第3取得部2120は攻撃情報を取得する(S202)。検査実行部2140は、攻撃情報を用いてシステムモデルのモデル検査を実行する(S204)。結果出力部2160は、モデル検査の結果を出力する(S206)。
 以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
1. 制御対象に関する物理量を観測する複数のセンサ、前記制御対象の挙動を変化させる複数のアクチュエータ、及び各前記アクチュエータを制御するコントローラを有するシステムの構成を表す構成情報、及び前記コントローラによる各前記アクチュエータの制御のルールを表す制御ルールを取得する第1取得部と、
 前記センサによって観測された物理量の時系列データと各時刻における各前記アクチュエータの状態との組み合わせを示す挙動ログデータを、各前記センサについて取得する第2取得部と、
 前記挙動ログデータを用いて、複数の前記アクチュエータの状態の組み合わせごと及び前記センサごとに、その状態の組み合わせにおいてそのセンサによって観測される物理量の時間変化を表す挙動関数を生成する第1生成部と、
 前記システムについて、前記構成情報、前記制御ルール、及び前記挙動関数を用いてシステムモデルを生成する第2生成部と、を有する情報処理装置。
2. 前記第1生成部は、複数の前記センサそれぞれについて、
  そのセンサによって観測された物理量の時系列データを、複数の前記アクチュエータの状態の組み合わせがそれぞれ異なる複数の区間に分割し、
  前記複数の区間それぞれについて、その区間に対応する挙動関数として、その区間に含まれる時系列データによって表される物理量の時間変化を予測する予測モデルを生成する、1.に記載の情報処理装置。
3. 前記予測モデルは重回帰モデルである、2.に記載の情報処理装置。
4. 攻撃者が前記システムに対して実行可能な攻撃を表す攻撃ルール、及び攻撃者が目標とする前記システムの状態を表す攻撃ゴールを取得する第3取得部と、
 前記システムモデル、前記攻撃ルール、及び前記攻撃ゴールを用いて、前記システムの状態を前記攻撃ゴールによって示される状態に遷移させる攻撃の手順を探索する検査実行部と、
 前記検査実行部による検査の結果を出力する結果出力部と、を有する1.乃至3.いずれか一つに記載の情報処理装置。
5. コンピュータによって実行される制御方法であって、
 制御対象に関する物理量を観測する複数のセンサ、前記制御対象の挙動を変化させる複数のアクチュエータ、及び各前記アクチュエータを制御するコントローラを有するシステムの構成を表す構成情報、及び前記コントローラによる各前記アクチュエータの制御のルールを表す制御ルールを取得する第1取得ステップと、
 前記センサによって観測された物理量の時系列データと各時刻における各前記アクチュエータの状態との組み合わせを示す挙動ログデータを、各前記センサについて取得する第2取得ステップと、
 前記挙動ログデータを用いて、複数の前記アクチュエータの状態の組み合わせごと及び前記センサごとに、その状態の組み合わせにおいてそのセンサによって観測される物理量の時間変化を表す挙動関数を生成する第1生成ステップと、
 前記システムについて、前記構成情報、前記制御ルール、及び前記挙動関数を用いてシステムモデルを生成する第2生成ステップと、を有する制御方法。
6. 前記第1生成ステップにおいて、複数の前記センサそれぞれについて、
  そのセンサによって観測された物理量の時系列データを、複数の前記アクチュエータの状態の組み合わせがそれぞれ異なる複数の区間に分割し、
  前記複数の区間それぞれについて、その区間に対応する挙動関数として、その区間に含まれる時系列データによって表される物理量の時間変化を予測する予測モデルを生成する、5.に記載の制御方法。
7. 前記予測モデルは重回帰モデルである、6.に記載の制御方法。
8. 攻撃者が前記システムに対して実行可能な攻撃を表す攻撃ルール、及び攻撃者が目標とする前記システムの状態を表す攻撃ゴールを取得する第3取得ステップと、
 前記システムモデル、前記攻撃ルール、及び前記攻撃ゴールを用いて、前記システムの状態を前記攻撃ゴールによって示される状態に遷移させる攻撃の手順を探索する検査実行ステップと、
 前記検査実行ステップによる検査の結果を出力する結果出力ステップと、を有する5.乃至7.いずれか一つに記載の制御方法。
9. 5.乃至8.いずれか一つに記載の制御方法の各ステップをコンピュータに実行させるプログラム。

Claims (9)

  1.  制御対象に関する物理量を観測する複数のセンサ、前記制御対象の挙動を変化させる複数のアクチュエータ、及び各前記アクチュエータを制御するコントローラを有するシステムの構成を表す構成情報、及び前記コントローラによる各前記アクチュエータの制御のルールを表す制御ルールを取得する第1取得部と、
     前記センサによって観測された物理量の時系列データと各時刻における各前記アクチュエータの状態との組み合わせを示す挙動ログデータを、各前記センサについて取得する第2取得部と、
     前記挙動ログデータを用いて、複数の前記アクチュエータの状態の組み合わせごと及び前記センサごとに、その状態の組み合わせにおいてそのセンサによって観測される物理量の時間変化を表す挙動関数を生成する第1生成部と、
     前記システムについて、前記構成情報、前記制御ルール、及び前記挙動関数を用いてシステムモデルを生成する第2生成部と、を有する情報処理装置。
  2.  前記第1生成部は、複数の前記センサそれぞれについて、
      そのセンサによって観測された物理量の時系列データを、複数の前記アクチュエータの状態の組み合わせがそれぞれ異なる複数の区間に分割し、
      前記複数の区間それぞれについて、その区間に対応する挙動関数として、その区間に含まれる時系列データによって表される物理量の時間変化を予測する予測モデルを生成する、請求項1に記載の情報処理装置。
  3.  前記予測モデルは重回帰モデルである、請求項2に記載の情報処理装置。
  4.  攻撃者が前記システムに対して実行可能な攻撃を表す攻撃ルール、及び攻撃者が目標とする前記システムの状態を表す攻撃ゴールを取得する第3取得部と、
     前記システムモデル、前記攻撃ルール、及び前記攻撃ゴールを用いて、前記システムの状態を前記攻撃ゴールによって示される状態に遷移させる攻撃の手順を探索する検査実行部と、
     前記検査実行部による検査の結果を出力する結果出力部と、を有する請求項1乃至3いずれか一項に記載の情報処理装置。
  5.  コンピュータによって実行される制御方法であって、
     制御対象に関する物理量を観測する複数のセンサ、前記制御対象の挙動を変化させる複数のアクチュエータ、及び各前記アクチュエータを制御するコントローラを有するシステムの構成を表す構成情報、及び前記コントローラによる各前記アクチュエータの制御のルールを表す制御ルールを取得する第1取得ステップと、
     前記センサによって観測された物理量の時系列データと各時刻における各前記アクチュエータの状態との組み合わせを示す挙動ログデータを、各前記センサについて取得する第2取得ステップと、
     前記挙動ログデータを用いて、複数の前記アクチュエータの状態の組み合わせごと及び前記センサごとに、その状態の組み合わせにおいてそのセンサによって観測される物理量の時間変化を表す挙動関数を生成する第1生成ステップと、
     前記システムについて、前記構成情報、前記制御ルール、及び前記挙動関数を用いてシステムモデルを生成する第2生成ステップと、を有する制御方法。
  6.  前記第1生成ステップにおいて、複数の前記センサそれぞれについて、
      そのセンサによって観測された物理量の時系列データを、複数の前記アクチュエータの状態の組み合わせがそれぞれ異なる複数の区間に分割し、
      前記複数の区間それぞれについて、その区間に対応する挙動関数として、その区間に含まれる時系列データによって表される物理量の時間変化を予測する予測モデルを生成する、請求項5に記載の制御方法。
  7.  前記予測モデルは重回帰モデルである、請求項6に記載の制御方法。
  8.  攻撃者が前記システムに対して実行可能な攻撃を表す攻撃ルール、及び攻撃者が目標とする前記システムの状態を表す攻撃ゴールを取得する第3取得ステップと、
     前記システムモデル、前記攻撃ルール、及び前記攻撃ゴールを用いて、前記システムの状態を前記攻撃ゴールによって示される状態に遷移させる攻撃の手順を探索する検査実行ステップと、
     前記検査実行ステップによる検査の結果を出力する結果出力ステップと、を有する請求項5乃至7いずれか一項に記載の制御方法。
  9.  請求項5乃至8いずれか一項に記載の制御方法の各ステップをコンピュータに実行させるプログラム。
PCT/JP2018/043234 2018-11-22 2018-11-22 情報処理装置、制御方法、及びプログラム WO2020105179A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/295,116 US20220006824A1 (en) 2018-11-22 2018-11-22 Information processing apparatus, control method, and program
PCT/JP2018/043234 WO2020105179A1 (ja) 2018-11-22 2018-11-22 情報処理装置、制御方法、及びプログラム
JP2020557106A JP7211429B2 (ja) 2018-11-22 2018-11-22 情報処理装置、制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/043234 WO2020105179A1 (ja) 2018-11-22 2018-11-22 情報処理装置、制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2020105179A1 true WO2020105179A1 (ja) 2020-05-28

Family

ID=70773321

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/043234 WO2020105179A1 (ja) 2018-11-22 2018-11-22 情報処理装置、制御方法、及びプログラム

Country Status (3)

Country Link
US (1) US20220006824A1 (ja)
JP (1) JP7211429B2 (ja)
WO (1) WO2020105179A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7474679B2 (ja) 2020-11-05 2024-04-25 株式会社日立製作所 セキュリティ検証システムおよび方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015145500A1 (ja) * 2014-03-27 2015-10-01 日本電気株式会社 システム分析装置、分析モデル生成方法、システム分析方法およびシステム分析プログラム
JP2017199365A (ja) * 2016-04-25 2017-11-02 ゼネラル・エレクトリック・カンパニイ 産業資産制御システム用のドメインレベル脅威検出

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018048351A1 (en) * 2016-09-07 2018-03-15 Singapore University Of Technology And Design Defense system and method against cyber-physical attacks
US20190228110A1 (en) * 2018-01-19 2019-07-25 General Electric Company System and method for abstracting characteristics of cyber-physical systems
US10826932B2 (en) * 2018-08-22 2020-11-03 General Electric Company Situation awareness and dynamic ensemble forecasting of abnormal behavior in cyber-physical system
US11170314B2 (en) * 2018-10-22 2021-11-09 General Electric Company Detection and protection against mode switching attacks in cyber-physical systems
US11627151B2 (en) * 2018-10-31 2023-04-11 General Electric Company Industrial asset cyber-attack detection algorithm verification using secure, distributed ledger

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015145500A1 (ja) * 2014-03-27 2015-10-01 日本電気株式会社 システム分析装置、分析モデル生成方法、システム分析方法およびシステム分析プログラム
JP2017199365A (ja) * 2016-04-25 2017-11-02 ゼネラル・エレクトリック・カンパニイ 産業資産制御システム用のドメインレベル脅威検出

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7474679B2 (ja) 2020-11-05 2024-04-25 株式会社日立製作所 セキュリティ検証システムおよび方法

Also Published As

Publication number Publication date
JP7211429B2 (ja) 2023-01-24
JPWO2020105179A1 (ja) 2021-09-30
US20220006824A1 (en) 2022-01-06

Similar Documents

Publication Publication Date Title
US11481495B2 (en) Anomalous behavior detection in processor based systems
US20070061144A1 (en) Batch statistics process model method and system
Rougier et al. Model and data limitations: the sources and implications of epistemic uncertainty
Kronberger et al. Shape-constrained symbolic regression—improving extrapolation with prior knowledge
JP6626586B2 (ja) 繰り返し交差検証を用いた相関式公差限界設定システム及びその方法
Zhao et al. Finite-horizon semi-Markov game for time-sensitive attack response and probabilistic risk assessment in nuclear power plants
US9195222B2 (en) Systems and methods for evaluating stability of software code for control systems
US11366748B1 (en) Fuzzy testing a software system
CN111639798A (zh) 智能的预测模型选择方法及装置
Moallemi et al. Robust decision making and Epoch–Era analysis: A comparison of two robustness frameworks for decision-making under uncertainty
WO2020105179A1 (ja) 情報処理装置、制御方法、及びプログラム
KR20130008777A (ko) 원전의 확률론적 안전성 평가에 대한 성공기준 분석 시스템 및 그 방법
KR20180060616A (ko) Rba기반 통합 취약점 진단 방법
CN109743200B (zh) 基于资源特征的云计算平台计算任务成本预测方法及系统
EP2388665A2 (en) Distributed model identification
Winkelvos et al. A property based security risk analysis through weighted simulation
US20130332225A1 (en) Risk-profile generation device
JP2019192151A (ja) 解析パラメータの推定方法
Santos et al. Production regularity assessment using stochastic Petri nets with predicates
CN113657656A (zh) 贷款数据分析预测方法及装置
KR101601741B1 (ko) 서로 다른 언어로 작성된 프로그램들의 동일성을 검증하는 검증장치
US10585779B2 (en) Systems and methods of requirements chaining and applications thereof
Mittas et al. StatREC: A graphical user interface tool for visual hypothesis testing of cost prediction models
CN113657623B (zh) 电力设备状态诊断效果确定方法、装置、终端及存储介质
Pocatilu et al. A Genetic Algorithm-based System for Automatic Control of Test Data Generation

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020557106

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18940711

Country of ref document: EP

Kind code of ref document: A1