This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2022-017652, filed on Feb. 8, 2022; the entire contents of which are incorporated herein by reference.
Embodiments described herein relate generally to a control device, a computer program product, and a control system.
In recent years, cyberattacks targeting control systems frequently occur, and security measures are urgently needed. Among others, it is important to record and monitor logs as a security measure. Therefore, the control system has to record various logs.
The types of logs acquired from the control system are enormous. On the other hand, since resources for recording logs are finite, the number of logs to be recorded is preferably small.
However, the logs acquired vary depending on the control system. In addition, the incidents assumed and the attacks to be detected vary depending on the control system. Therefore, the logs to be recorded vary depending on the control system.
Also, in the control system, functions for generating logs and acquiring logs are limited. Further, in many control systems such as social infrastructure systems, it is often difficult to significantly add functions. Therefore, it is preferable to be able to take maximum security measures using the limited functions in consideration of the restriction inherent in the control system.
According to an embodiment, a control device includes a hardware processor. The hardware processor is configured to: acquire threat information indicating one or more threat events occurring in a monitoring target system; generate, for each of the one or more threat events, attack information indicating a plurality of detection target attacks to be detected in order to detect the one or more threat events among a plurality of attacks launched on the monitoring target system; generate, for each of the plurality of detection target attacks indicated in the attack information, a plurality of log sets each indicating a combination of one or more detectable logs enabling to detect all of the plurality of detection target attacks, based on an attack-log table that indicates a detectable log enabling to detect an attack among a plurality of logs acquired from the monitoring target system; acquire, for each of the plurality of log sets, easinesses representing littleness of restrictions for monitoring the one or more detectable logs, and calculate, for each of the plurality of log sets, priorities indicating degrees of priority of monitoring, based on the easinesses of the one or more detectable logs; and output the plurality of log sets and the priorities of the plurality of log sets.
Hereinbelow, embodiments will be described with reference to the drawings.
The monitoring target system 12 is, for example, a system that controls and manages a plurality of devices. For example, the monitoring target system 12 is a system that controls and manages infrastructures such as roads, railways, a power network, a water network, and a communication network. Alternatively, the monitoring target system 12 may be a plant system for a power generation plant, a chemical plant, and a manufacturing plant. The monitoring target system 12 may be an information processing system including one or more information processing devices and the like.
The recording device 14 records a plurality of logs acquired from the monitoring target system 12. For example, the recording device 14 acquires data input into the monitoring target system 12, data output from the monitoring target system 12, data measured by devices provided in the monitoring target system 12, control data for these devices, and the like, and records time-series data of these pieces of data as logs.
The monitoring device 16 monitors a plurality of logs recorded in the recording device 14 and detects a threat event occurring in the monitoring target system 12. Also, in a case where a threat event occurs in the monitoring target system 12, the monitoring device 16 may analyze a plurality of logs recorded in the recording device 14 to find a factor or the like causing the threat event. The monitoring device 16 may mechanically detect a threat event by executing a monitoring program or the like, or may detect a threat event in cooperation with an operator.
The log recommendation device 20 is an example of a control device. The log recommendation device 20 acquires threat information indicating one or more threat events to be detected by the monitoring device 16. The log recommendation device 20 also acquires restriction information indicating a weight for each of a plurality of restriction factors that restrict monitoring processing for detecting a threat event. The log recommendation device 20 then generates a plurality of log sets on the basis of the threat information and the restriction information. Each of the plurality of log sets indicates one or a combination of a plurality of logs to be monitored by the monitoring device 16. Further, the log recommendation device 20 calculates a priority indicating the degree of priority of monitoring for each of the plurality of log sets. The priority may be a numerical value such as a score or may be an order. The log recommendation device 20 outputs the calculated priority in association with each of the plurality of log sets.
Note that the log recommendation device 20 may select and output one or more log sets each having a higher priority from among the plurality of log sets. In a case where one or more log sets each having a higher priority are selected and output, the log recommendation device 20 does not have to output the priority.
The log recommendation device 20 gives the plurality of generated log sets and the respective priorities of the plurality of log sets to the monitoring target system 12. In this case, the monitoring target system 12 selects a plurality of pieces of data for generating one or more logs indicated in one or more log sets the priorities of which are high, and gives the selected data to the recording device 14. Then, the recording device 14 records logs of the data acquired from the monitoring target system 12.
Note that the monitoring target system 12 may give all of the plurality of pieces of generated data to the recording device 14. In this case, the log recommendation device 20 gives the plurality of generated log sets and the respective priorities of the plurality of log sets to the recording device 14. Then, the recording device 14 selects data for generating one or more logs indicated in one or more log sets the priorities of which are high from among all of the plurality of pieces of data generated in the monitoring target system 12, and records logs of the selected data.
The log recommendation device 20 includes a threat input unit 32, a procedure database storage unit 34, an attack information generation unit 36, an attack-log database storage unit 38, a log set generation unit 40, a restriction database storage unit 42, a restriction input unit 44, a priority calculation unit 46, and an output unit 48.
The threat input unit 32 acquires threat information indicating one or more threat events occurring in the monitoring target system 12. For example, the threat input unit 32 acquires threat information input by a user such as a system administrator.
For example, as illustrated in
The procedure database storage unit 34 stores procedure information indicating an attack procedure of one or more attacks launched on the monitoring target system 12 before a threat occurs. The log recommendation device 20 may acquire the procedure information from a database provided by a server or the like without including the procedure database storage unit 34.
For example, in the threat of “system stop”, by the time when the threat occurs, one or more attacks are executed on the monitoring target system 12 by one or more attack procedures. For example, the threat of “system stop” occurs in the procedure of searching for the monitoring target system 12, intruding into the monitoring target system 12, and executing a program for stopping the monitoring target system 12. Examples of the more specific attack for intruding into the monitoring target system 12 include a method of obtaining a password for a remote access function and intruding with the obtained password and a method of intruding taking advantage of vulnerability of the program. The procedure database storage unit 34 stores procedure information indicating such a specific attack procedure and attack content.
For example, as illustrated in
The attack information generation unit 36 refers to the procedure information stored in the procedure database storage unit 34, and generates attack information indicating a plurality of detection target attacks to be detected in order to detect one or more threat events input by the threat input unit 32 among a plurality of attacks launched on the monitoring target system 12. The attack information is a list indicating contents of a plurality of attacks.
For example, for each of one or more threat events input by the threat input unit 32, the attack information generation unit 36 may cause the plurality of detection target attacks indicated in the attack information to include all of one or more attacks indicated in the procedure information.
For example,
Also, for example, for each of one or more threat events input by the threat input unit 32, the attack information generation unit 36 may cause the plurality of detection target attacks indicated in the attack information to include one or more attacks with which at least a target threat event can be detected among one or more attacks indicated in the procedure information.
For example, as illustrated in
The attack-log database storage unit 38 stores an attack-log database. In the attack-log database, for example, as illustrated in
The log set generation unit 40 generates, for each of a plurality of detection target attacks indicated in the attack information, a plurality of log sets each indicating a combination of one or more detectable logs enabling to detect all of the plurality of detection target attacks on the basis of an attack-log table. The attack-log table indicates detectable logs enabling to detect an attack among a plurality of logs acquired from the monitoring target system 12. For example, the log set generation unit 40 includes an attack-log table generation unit 52 and a combination unit 54.
The attack-log table generation unit 52 generates an attack-log table by referring to the attack-database stored in the attack-log database storage unit 38. For example, as illustrated in
The combination unit 54 detects combinations each including one or more detectable logs enabling to detect all of a plurality of detection target attacks with reference to the attack-log table to generate a plurality of log sets. For example, the combination unit 54 at least generates a log set serving as a combination of one or more detectable logs that is/are the minimum necessary for detecting all of the plurality of detection target attacks.
The attack-log table illustrated in
Note that the combination unit 54 may additionally generate a log set obtained by adding another log to the minimum necessary set of one or more detectable logs. For example, the combination unit 54 may further generate log set #3 obtained by adding log #3 to log #1 and log #2.
The restriction database storage unit 42 stores a restriction database. In the restriction database, for example, as illustrated in
The plurality of restriction factors include, for example, at least one of analysis difficulty, a data generation amount, and an analysis cost. The analysis difficulty represents, for example, a restriction that, in order to analyze the corresponding log, a security expert must deal with the analysis. Also, the data generation amount represents a restriction that, in order to analyze the corresponding log, a large storage area needs to be secured for log storage. The analysis cost represents a restriction that, in order to analyze the corresponding log, expensive analysis software must be introduced, which costs a lot.
The easiness for the analysis difficulty is higher as the log analysis is easier, and lower as the log analysis is more difficult. For example, the easinesses of the analysis difficulties in
Also, the easiness for the data generation amount is higher as the amount of data generated per unit time is smaller, and is lower as the data generation amount is larger. For example, the easinesses of the data generation amounts in
Further, the easiness for the analysis cost is higher as the cost for analyzing the log is lower, and is lower as the cost is higher. For example, the easinesses of the analysis cost in
Note that the easinesses are represented in three ranks in the example of
The restriction input unit 44 receives a weight of each of the plurality of restriction factors from the user. The weight is a value indicating a rate at which the corresponding restriction factor is regarded as important. For example, in a case where the analysis difficulty, the data generation amount, and the analysis cost are included as the plurality of restriction factors, the restriction input unit 44 receives an input of a weight for each of the analysis difficulty, the data generation amount, and the analysis cost from the user.
Also, in the restriction input unit 44 may be registered in advance a plurality of options in each of which weights are respectively assigned to the plurality of restriction factors. In this case, the restriction input unit 44 causes the user to select any one of the plurality of options.
For example, as illustrated in
The priority calculation unit 46 acquires a plurality of log sets generated by the log set generation unit 40. The priority calculation unit 46 refers to the restriction database and acquires, for each of the plurality of log sets, the easiness of each of one or more detectable logs. In this case, the priority calculation unit 46 refers to the restriction database and acquires the easiness of each of one or more detectable logs for each of a plurality of restriction factors. The priority calculation unit 46 then replaces the acquired the easiness with a corresponding numerical value. For example, as illustrated in
Subsequently, the priority calculation unit 46 calculates, for each of the plurality of log sets, an addition value obtained by adding the easinesses of one or more detectable logs for each of the plurality of restriction factors.
For example, as illustrated in
Subsequently, the priority calculation unit 46 acquires from the restriction input unit 44 the weight of each of the plurality of restriction factors received from the user. Then, the priority calculation unit 46 calculates, for each of the plurality of log sets, a priority indicating the degree of priority of monitoring on the basis of the easiness of each of one or more detectable logs. For example, the priority calculation unit 46 calculates, for each of the plurality of log sets, a priority by combining the easinesses of one or more detectable logs with a predetermined arithmetic expression. For example, for each of the plurality of log sets, the priority calculation unit 46 multiplies an addition value for each of the plurality of restriction factors by a corresponding weight, and calculates a total value obtained by summing the addition values multiplied by the weights for all of the plurality of restriction factors. Further, for each of the plurality of log sets, the priority calculation unit 46 divides the total value by the number of one or more detectable logs to calculate a priority.
For example, as illustrated in
The priority calculation unit 46 then calculates, as a priority of log set #1, a value (28.75) obtained by dividing the total value (57.5) by 2, which is the number of logs included in log set #1. Note that, in a case where the number of logs to be analyzed increases, it is assumed that the analysis difficulty becomes higher, the data generation amount becomes larger, and the analysis cost becomes higher. Therefore, the priority calculation unit 46 divides the total value by the number of logs to convert the total value into a value per log, so that a comparison can be made in terms of the priority between log sets regardless of the number of log sets. Also, in a case where the option of making the data generation amount very small is received, the priority calculation unit 46 executes calculation in a similar manner for log set #2 to calculate a priority (33.75).
Also, for example, as illustrated in
Note that the priority calculation unit 46 may calculate the priority by another calculation method. In addition, the priority may be an order indicating the degree of priority of monitoring. For example, a machine learning model trained in advance may be prepared as the priority calculation unit 46, and a plurality of log sets and restriction information may be provided to the machine learning model so that the machine learning model can output the priority of each of the plurality of log sets. Also, the priority calculation unit 46 may calculate the priority by performing an arithmetic operation using a parameter by which a higher priority is given to a log set having a smaller number of logs.
The output unit 48 outputs the plurality of log sets generated by the log set generation unit 40 and the priorities of the plurality of log sets calculated by the priority calculation unit 46. Note that the output unit 48 may select and output one or more log sets each having a higher priority from among the plurality of log sets. In a case where one or more log sets each having a higher priority are selected and output, the output unit 48 does not have to output the priority.
First, in S11, the log recommendation device 20 acquires threat information indicating one or more threat events.
Subsequently, in S12, the log recommendation device 20 determines whether or not there is an unprocessed threat event among one or more threat events indicated in the threat information. In a case where there is an unprocessed threat event (Yes in S12), the log recommendation device 20 advances the processing to S13.
In S13, the log recommendation device 20 sets one of one or more threat events indicated in the threat information as a processing target threat event, and acquires procedure information indicating an attack procedure of one or more attacks for the processing target threat event. Subsequently, in S14, the log recommendation device 20 specifies one or more detection target attacks to be detected in order to detect the processing target threat event from among one or more attacks indicated in the acquired procedure information, and adds the one or more detection target attacks to attack information. Upon completion of the processing of S14, the log recommendation device 20 returns the processing to S12, and repeats the processing of S13 and S14 until there is no unprocessed threat event. In a case where there is no unprocessed threat event (No in S12), the log recommendation device 20 advances the processing to S15.
In S15, the log recommendation device 20 refers to an attack-log database and acquires a detectable log enabling to detect each of the plurality of detection target attacks indicated in the attack information to generate an attack-log table.
Subsequently, in S16, the log recommendation device 20 generates a plurality of log sets each indicating a combination of one or more detectable logs enabling to detect all of the plurality of detection target attacks on the basis of the attack-log table.
Subsequently, in S17, the log recommendation device 20 receives a weight of each of a plurality of restriction factors from the user. In this case, the log recommendation device 20 may cause the user to select any one option from among a plurality of options in each of which weights are respectively assigned to the plurality of restriction factors.
Subsequently, in S18, the log recommendation device 20 determines whether or not there is an unprocessed log set among the plurality of generated log sets. In a case where there is an unprocessed log set (Yes in S18), the log recommendation device 20 advances the processing to S19.
In S19, the log recommendation device 20 sets one of the plurality of generated log sets as a processing target log set, and calculates a priority for the processing target log set. Upon completion of the processing of S19, the log recommendation device 20 returns the processing to S18, and repeats the processing of S19 until there is no unprocessed log set. In a case where there is no unprocessed log set (No in S18), the log recommendation device 20 advances the processing to S20.
In S20, the log recommendation device 20 outputs the plurality of generated log sets and the priorities of the plurality of log sets calculated by the priority calculation unit 46 in association with the plurality of log sets. Alternatively, the log recommendation device 20 may select one or more log sets each having a higher priority from among the plurality of generated log sets, and output the selected one or more log sets. When the processing of S20 ends, the log recommendation device 20 ends this flow.
The aforementioned log recommendation device 20 according to the first embodiment can mechanically output a log set, indicating one or more logs, that efficiently detects a threat event. Also, the log recommendation device 20 can output a log set that reduces the influence of a plurality of restriction factors that impose a restriction on the monitoring processing. Further, the log recommendation device 20 can adjust weights representing the influences of the plurality of restriction factors according to the setting by the user. As a result, the log recommendation device 20 can output a log set in consideration of system-specific requirements such as analysis difficulty, a data generation amount, and an analysis cost. Therefore, the log recommendation device 20 can execute a maximum security measure using limited functions on a social infrastructure system or the like in which resources for generating or adding logs are significantly restricted, and in which it is difficult to significantly add functions.
Note that the log recommendation device 20 can be used not only to detect a threat event such as a cyberattack in advance, but also to analyze an attack called a forensic, for example. In this case, the log recommendation device 20 has only to output, as a detectable log enabling to detect an attack, a log in which information obtained from the log at the time of performing the forensic is sufficient. The log recommendation device 20 may also be used to detect a threat event to be caused by a failure before the threat event occurs or analyze a threat event that has caused by a failure. In this case, the log recommendation device 20 may change each of the databases and the priority calculation algorithm according to the purpose of using the logs.
Next, the control system 10 according to a second embodiment will be described. Since the control system 10 according to the second embodiment has substantially the same function and configuration as those of the first embodiment described with reference to
The log recommendation device 20 according to the second embodiment includes an attack execution unit 62 and a log detection unit 64 instead of the attack-log database storage unit 38.
The attack execution unit 62 executes a plurality of attacks on the monitoring target system 12 in operation. For example, the attack execution unit 62 acquires an attack program and the like registered in advance in the database, and executes the acquired attack program to execute an attack on the monitoring target system 12. Also, in a case where there are a plurality of attack methods for a first attack among the plurality of attacks, the attack execution unit 62 may simultaneously execute the plurality of attack methods when executing the first attack.
The log detection unit 64 detects a detectable log among a plurality of logs recorded during the operation of the monitoring target system 12 for each of the plurality of executed attacks and generates an attack-log table. The log detection unit 64 analyzes each of the plurality of logs acquired from the monitoring target system 12 during the attack by the attack execution unit 62, and determines whether or not the attack has been detected. For example, the log detection unit 64 may detect a log in which a specific character string is detected during the attack by the attack execution unit 62 as a detectable log. Also, the log detection unit 64 may learn data output at the time of the normal operation by each of the plurality of logs and detect, as a detectable log, a log that outputs data that has not been learned during the attack by the attack execution unit 62. Further, in a case where the attack execution unit 62 simultaneously executes a plurality of attack methods in the first attack, the log detection unit 64 may detect a log in which all of the plurality of attack methods can be detected as a detectable log.
First, from S11 to S14, the log recommendation device 20 executes the same processing as the processing in the first embodiment illustrated in
In S31, the log recommendation device 20 determines whether or not there is an unexecuted detection target attack among a plurality of detection target attacks indicated in the attack information. In a case where there is an unexecuted detection target attack (Yes in S31), the log recommendation device 20 advances the processing to S32.
In S32, the log recommendation device 20 sets one of the unexecuted detection target attacks as a target attack, and executes the target attack on the monitoring target system 12 in operation. Subsequently, in S33, the log recommendation device 20 detects a detectable log among a plurality of logs recorded during the operation of the monitoring target system 12 during execution of the target attack. In a case where the detectable log can be detected, the log recommendation device 20 registers the detectable log in the attack-log table. Upon completion of the processing of S33, the log recommendation device 20 returns the processing to S31, and repeats the processing of S32 and S33 until there is no unexecuted detection target attack. In a case where there is no unexecuted detection target attack (No in S31), the log recommendation device 20 advances the processing to S17.
Then, from S17 to S20, the log recommendation device 20 executes the same processing as the processing in the first embodiment illustrated in
In the first embodiment, the attack-log table is generated with reference to the attack-log database. However, it may be difficult to identify a detectable log in advance depending on the attack. The log recommendation device 20 according to the second embodiment can reliably mechanically output a log set indicating one or more logs for detecting a threat event even in a case where there is an attack for which it is difficult to determine a detectable log in advance.
Hardware Configuration
The CPU 301 is a processor that executes arithmetic processing, control processing, and the like according to a program. The CPU 301 uses a predetermined area of the RAM 302 as a work area, and executes various kinds of processing in cooperation with programs stored in the ROM 303, the storage device 306, and the like.
The RAM 302 is a memory such as a synchronous dynamic random access memory (SDRAM). The RAM 302 functions as a work area for the CPU 301. The ROM 303 is a memory that stores programs and various types of information in a non-rewritable manner.
The operation input device 304 is an input device such as a mouse and a keyboard. The operation input device 304 receives information input from the user as an instruction signal, and outputs the instruction signal to the CPU 301.
The display device 305 is a display device such as a liquid crystal display (LCD). The display device 305 displays various types of information on the basis of a display signal from the CPU 301.
The storage device 306 is a device that writes and reads data in and from a semiconductor storage medium such as a flash memory, a magnetically or optically recordable storage medium, or the like. The storage device 306 writes and reads data in and from the storage medium under the control of the CPU 301. The communication device 307 communicates with an external device via a network under the control of the CPU 301.
The program executed by the computer has a module configuration including a threat input module, an attack information generation module, a log set generation module, a restriction input module, a priority calculation module, and an output module. The program may also include an attack execution module and a log detection module.
This program is loaded onto the RAM 302 and executed by the CPU 301 (processor), to cause the computer to function as the threat input unit 32, the attack information generation unit 36, the log set generation unit 40, the restriction input unit 44, the priority calculation unit 46, and the output unit 48. Further, this program may further cause the computer to function as the attack execution unit 62 and the log detection unit 64. Note that some or all of the threat input unit 32, the attack information generation unit 36, the log set generation unit 40, the restriction input unit 44, the priority calculation unit 46, the output unit 48, the attack execution unit 62, and the log detection unit 64 may be achieved by a hardware circuit. Also, the RAM 302 and the storage device 306 function as the procedure database storage unit 34, the attack-log database storage unit 38, and the restriction database storage unit 42.
Also, the program executed by the computer is provided by being recorded in a computer-readable recording medium such as a CD-ROM, a flexible disk, a CD-R, and a digital versatile disk (DVD) as a file in a format that can be installed or executed in the computer.
Also, the program may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. Also, the program may be provided or distributed via a network such as the Internet. Also, the program executed by the log recommendation device 20 may be provided by being incorporated in the ROM 303 or the like in advance.
While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel embodiments described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the embodiments described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.
Number | Date | Country | Kind |
---|---|---|---|
2022-017652 | Feb 2022 | JP | national |