WO2020136837A1 - アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム - Google Patents

アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム Download PDF

Info

Publication number
WO2020136837A1
WO2020136837A1 PCT/JP2018/048282 JP2018048282W WO2020136837A1 WO 2020136837 A1 WO2020136837 A1 WO 2020136837A1 JP 2018048282 W JP2018048282 W JP 2018048282W WO 2020136837 A1 WO2020136837 A1 WO 2020136837A1
Authority
WO
WIPO (PCT)
Prior art keywords
tree
attack
root
descendant
attack tree
Prior art date
Application number
PCT/JP2018/048282
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 PCT/JP2018/048282 priority Critical patent/WO2020136837A1/ja
Priority to PCT/JP2019/050000 priority patent/WO2020137847A1/ja
Priority to JP2020558642A priority patent/JP6847330B2/ja
Priority to CN201980085372.XA priority patent/CN113228017B/zh
Publication of WO2020136837A1 publication Critical patent/WO2020136837A1/ja
Priority to US17/244,515 priority patent/US11899788B2/en

Links

Images

Classifications

    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Definitions

  • the present invention relates to a technique of generating an attack tree of a system which is a target of security measures.
  • Non-Patent Document 1 discloses a description about an attack tree.
  • Non-Patent Documents 2 and 3 propose a logic inference type attack tree automatic generation tool.
  • a logical reasoning type attack tree automatic generation tool the condition that a cyber attack occurs is defined as a logical proposition. This tool converts the configuration information of the system to be analyzed into a logical expression and generates an attack tree by formal inference.
  • Non-Patent Document 3 proposes an attack tree automatic generation tool called MulVAL.
  • MalVAL uses a logic programming language called Prolog.
  • MalVAL performs first-order predicate logic-based inference to generate attack trees. The calculation amount is on the order of N 2 to N 3 with respect to the system size N.
  • Patent Document 1 will be referred to in the embodiment.
  • FIG. 1 is a configuration diagram of an attack tree generation device 100 according to Embodiment 1.
  • FIG. 3 is a configuration diagram of a storage unit 190 according to the first embodiment.
  • FIG. 3 is a flowchart of an attack tree generation method (outline) according to the first embodiment.
  • FIG. 3 is a diagram showing a root tree 910 according to the first embodiment. The figure which shows the child tree 920_1 in Embodiment 1.
  • FIG. 6 is a diagram showing another example of the root tree 910 according to the first embodiment. The figure which shows the attack tree 900 in Embodiment 1.
  • FIG. 6 is a diagram showing another example of the attack tree 900 according to the first embodiment.
  • 3 is a flowchart of an attack tree generation method (details) according to the first embodiment.
  • FIG. 6 is a flowchart of a sub attack tree group generation process (S130) according to the first embodiment. 6 is a flowchart of a descendent tree group generation process (S133) according to the first embodiment. 6 is a configuration diagram of an attack tree generation device 200 according to Embodiment 2. FIG. 6 is a configuration diagram of a storage unit 290 according to the second embodiment. FIG. 9 is a flowchart of an attack tree generation method according to the second embodiment. 6 is a configuration diagram of an attack tree generation device 300 according to a third embodiment. FIG. 9 is a flowchart of an attack tree generation method (details) according to the third embodiment. 3 is a hardware configuration diagram of the attack tree generation device (100, 200, 300) according to the embodiment. FIG.
  • Embodiment 1 The attack tree generation device 100 will be described with reference to FIGS. 1 to 11.
  • the attack tree generation device 100 generates an attack tree of each of the plurality of subsystems and integrates the plurality of attack trees corresponding to the plurality of subsystems. This gives an attack tree for the entire system.
  • the auxiliary storage device 103 stores an attack tree generation program for causing a computer to function as the system division unit 110, the intrusion route prediction unit 120, the sub attack tree generation unit 130, and the sub attack tree integration unit 140.
  • the attack tree generation program is loaded into the memory 102 and executed by the processor 101.
  • the auxiliary storage device 103 stores an OS (Operating System). At least a part of the OS is loaded into the memory 102 and executed by the processor 101. That is, the processor 101 executes the attack tree generation program while executing the OS.
  • OS Operating System
  • the operation of the attack tree generation device 100 corresponds to the attack tree generation method. Further, the procedure of the attack tree generation method corresponds to the procedure of the attack tree generation program.
  • step S101 the system division unit 110 divides the target system into a plurality of subsystems based on the system configuration data 191.
  • the system configuration data 191 is data indicating the configuration of the target system.
  • the subsystem is a system that constitutes a part of the target system.
  • step S102 the root system selection unit 122 selects the subsystem in which the target threat occurs from the plurality of subsystems based on the threat data indicating the content of the target threat.
  • the selected subsystem is called the "root system”.
  • Threat data indicating the content of the target threat is included in the threat list 192.
  • the root tree generator 131 generates a root tree as follows.
  • the root tree generation unit 131 generates an attack tree having a root node representing the target threat.
  • the generated attack tree is the root tree.
  • the root tree generation unit 131 sets the node representing the target threat as the root node and starts the attack tree generation process. Then, the root tree generation unit 131 detects the intrusion nodes appearing in the respective routes when the intrusion nodes meaning the invasion of the root system appear in each of the one or more routes included in the attack tree being generated.
  • the attack tree generation process is interrupted by setting a terminal node in each path.
  • the attack tree at the time of interruption is the root tree.
  • the root tree 910 has a root node 911.
  • the root node 911 represents the target threat.
  • the root tree 910 has end nodes (213_1 to 213_3). When the end nodes (213_1 to 213_3) are not specified, they are referred to as end nodes 913. Each terminal node 913 represents an attack activity that means intrusion into the target system.
  • the root tree 910 has logic gates (214_1, 214_2). When the logic gates (214_1, 214_2) are not specified, each is called a logic gate 914. Each logic gate 914 is located between a parent node and a plurality of child nodes and represents a logical operation (such as OR or AND). The logic gate 914_1 is located between the node (211) of the first layer and the two nodes (212, 213_3) of the second layer, and represents the logical sum of the internal node 912 and the end node 913_3. The logic gate 914_2 is located between the node (212) of the second layer and the two nodes (213_1, 213_2) of the third layer, and represents the logical product of the end node 913_1 and the end node 913_2.
  • step S104 the descendant system selection unit 132 selects one or more subsystems located on the intrusion route to the root system in the target system from the plurality of subsystems based on the intrusion route data.
  • the selected one or more subsystems are referred to as “one or more descendant systems”.
  • the intrusion route data is included in the intrusion route list 194.
  • the descendant system selection unit 132 selects one or more descendant systems as follows.
  • the descendant system selection unit 132 treats the root system as a parent system and selects the subsystem located immediately before the parent system in the intrusion route.
  • the selected subsystem is called a "child system”.
  • the descendant system selection unit 132 treats the previous child system as the current parent system, and selects the subsystem located immediately before the current parent system in the intrusion route.
  • the selected subsystem is referred to as “this child system”.
  • the descendant tree generation unit 133 treats each of the one or more child trees of the previous time as the parent tree of this time, and sets the one or more terminal nodes of the parent tree of this time as a root node to start the attack tree generation process. .. Then, the descendant tree generation unit 133, when an intrusion node that means the invasion of the child system this time appears in each of one or more routes included in the attack tree being generated, the intrusion that appears in each route.
  • the attack tree generation process is interrupted by making the node a terminal node in each path.
  • the one or more attack trees at the time of suspension that is, the one or more attack trees corresponding to the one or more end nodes of the current parent tree are the one or more child trees for the current parent tree.
  • the child tree 920_1 will be described with reference to FIG.
  • the child tree 920_1 is an example of an attack tree of the child system (1).
  • the child system (1) is a subsystem located immediately before the target system in the intrusion route to the target system. That is, the child system (1) is a child system for the target system (parent system).
  • the child tree 920_1 corresponds to a child tree for the root tree 910 (parent tree).
  • the child tree 920_1 has a root node 921.
  • the root node 921 represents the same attack activity as the terminal node 913_1 of the root tree 910 (see FIG. 4).
  • the child tree 920_1 has one or more logic gates (224_1), one or more internal nodes, and one or more end nodes (223_1 to 223_N), similarly to the root tree 910 (see FIG. 4). ..
  • Each end node 923 represents an attack activity that means intrusion into the child system (1).
  • Each child tree (220_2, 220_3) is an attack tree of the child system (1).
  • Each child tree (220_2, 220_3) corresponds to a child tree for the root tree 910 (parent tree).
  • the root node represents the same attack activity as the terminal node 913_2 of the root tree 910 (see FIG. 4).
  • the root node represents the same attack activity as the terminal node 913_3 of the root tree 910 (see FIG. 4).
  • Each grandchild tree is an attack tree of the child system (2).
  • the child system (2) is a subsystem located immediately before the child system (1) in the intrusion route to the target system. That is, the child system (2) is a child system to the child system (1).
  • Each grandchild tree corresponds to a child tree for the child trees (220_1 to 220_3).
  • the root node represents the same attack activity as the end nodes of the child trees (220_1 to 220_3).
  • the terminal node represents an attack activity that means invasion of the child system (2).
  • the previous child system is treated as the current parent system
  • the previous child tree is treated as the current parent tree
  • descendant trees are generated until the previous child system becomes the first subsystem in the intrusion route to the target system. Is repeated.
  • the descendant tree generation unit 133 may divide one or more end nodes of the (current) parent tree into one or more end node groups. In this case, the descendant tree generation unit 133 uses one or more terminal node groups of the (current) parent tree as root nodes to generate one or more child trees for the (current) parent tree.
  • the descendant tree generation unit 133 operates as follows. As illustrated in FIG. 6, the descendant tree generation unit 133 collects the terminal nodes 913_1 and 913_2 to generate the terminal node 913_G. Then, the descendant tree generation unit 133 generates a child tree having a root node representing the same attack activity as the end node 913_G.
  • step S106 the sub attack tree integrating unit 140 integrates the root tree and one or more descendant trees. As a result, the attack tree of the target system is generated.
  • the attack tree 900 will be described with reference to FIG. 7.
  • the attack tree 900 is an example of an attack tree of the target system.
  • the attack tree 900 includes a root tree 910 and a descendant tree group 901.
  • the descendant tree group 901 is one or more descendant trees.
  • the root node of each descendant tree is the same as the terminal node of the parent tree.
  • the attack tree generation device 100 When there are multiple intrusion routes to the root system in the target system, the attack tree generation device 100 operates as follows.
  • the descendant system selection unit 132 selects a descendant system group for each intrusion route. Thereby, a plurality of descendant system groups corresponding to a plurality of intrusion routes are selected.
  • the descendant system group is one or more descendant systems.
  • the descendant tree generator 133 generates a descendant tree group for each descendant system group. As a result, a plurality of descendant tree groups corresponding to a plurality of intrusion routes are generated.
  • the sub attack tree integration unit 140 finds a sibling tree by searching a plurality of descendant tree groups corresponding to a plurality of intrusion routes.
  • Sibling trees are child trees that have the same root node as a common leaf node of a common parent tree. Then, the sub attack tree integration unit 140 connects each root node of the sibling trees to a common terminal node via the OR gate. That is, the sub attack tree integration unit 140 connects the logical sum gate to the common terminal node of the common parent tree, and connects each root node of the sibling trees to the logical sum gate.
  • the logical sum gate represents the logical sum.
  • Each of the sibling trees 903 has the same root node as the common node 904.
  • the common node 904 is a common end node of the common parent tree (root tree 910).
  • Each root node of the sibling tree 903 is connected to the common node 904 via the OR gate 902.
  • step S110 the system division unit 110 divides the target system into a plurality of subsystems based on the system configuration data 191.
  • the system division unit 110 divides the target system into a plurality of subsystems as follows.
  • the system configuration data 191 indicates the configuration of the target system.
  • the configuration of the target system is represented by a logical expression suitable for the inference rule 193.
  • the configuration of the target system may be represented by information other than the logical expression.
  • the system dividing unit 110 converts the configuration information of the target system into a logical expression.
  • the system dividing unit 110 converts the configuration information of the target system into a logical expression by the attack tree automatic generation tool disclosed in Non-Patent Document 2 or Non-Patent Document 3.
  • the system dividing unit 110 divides the system configuration data 191 into a plurality of subsystem configuration data.
  • the system configuration data 191 corresponds to the target system, and the plurality of subsystem configuration data corresponds to the plurality of subsystems.
  • Each subsystem configuration data indicates the configuration of the subsystem by a logical expression.
  • the system dividing unit 110 divides the logical expression shown in the system configuration data 191 into a plurality of logical expressions according to the division standard.
  • a plurality of logical expressions correspond to a plurality of subsystem configuration data.
  • the division criterion is specified by the user.
  • the division standard is an arbitrary standard. Specific examples of the division standard are division by subnet, division at a network boundary (for example, firewall), grouping based on device type, and the like.
  • the device type is, for example, the type of OS.
  • the same OS is installed in a plurality of user terminals connected to the same subnet.
  • the user may judge the division of the target system based on the division standard and may instruct the attack tree generation device 100 to divide the target system.
  • the system dividing unit 110 divides the target system into a plurality of subsystems according to the user's instruction. Note that the larger the number of divisions (the number of subsystems), the larger the amount of calculation for generating the attack tree of the target system. Therefore, it is recommended that the number of divisions should not be too large.
  • the intrusion data acquisition unit 121 acquires target threat data from the threat list 192.
  • the threat list 192 includes a plurality of threat data. Each threat data indicates the content of the security threat in the target system. The content of the threat is represented by a logical expression suitable for the inference rule 193.
  • the target threat data is threat data regarding the target threat.
  • the intrusion data acquisition unit 121 acquires the first threat data from the threat list 192.
  • the acquired threat data is the target threat data.
  • the intrusion data acquisition unit 121 may acquire the target threat data by another method. For example, the user selects the target threat data from the plurality of threat data included in the threat list 192, and specifies the target threat data to the attack tree generation device 100. Then, the intrusion data acquisition unit 121 acquires the designated target threat data from the threat list 192.
  • step S122 the root system selection unit 122 selects a root system from the plurality of subsystems based on the target threat data.
  • the root system is a subsystem in which the target threat occurs.
  • the route system selection unit 122 selects a route system as follows.
  • the target threat data indicates the system element in which the target threat occurs.
  • the system element is a device (computer), an application program installed in the device, or other information asset.
  • the root system selection unit 122 identifies the system element in which the target threat occurs by referring to the target threat data.
  • the identified system element is called a target element.
  • the route system selection unit 122 refers to the system configuration data 191, and identifies the subnet to which the target element is connected.
  • the subsystem corresponding to the identified subnet is the root system.
  • the intrusion route list generation unit 123 makes a list of intrusion routes from the base system to the route system.
  • the intrusion route list 194 is generated.
  • the intrusion route list 194 includes one or more intrusion route data.
  • the intrusion route list 194 includes two intrusion route data.
  • the base system is a subsystem that is the starting point of an attack in the target system.
  • the terminal that is the starting point of the attack is called the starting point terminal.
  • the origin system is the subsystem corresponding to the subnet to which the origin terminal is connected, that is, the subsystem to which the origin terminal belongs.
  • the origin system is a subsystem capable of communicating with the outside of the target system, that is, a subsystem connected to an external network.
  • step S130 the sub attack tree generation unit 130 generates a sub attack tree group for each intrusion route shown in the intrusion route list 194.
  • the sub-attack tree group is one or more sub-attack trees.
  • the sub-attack tree is a subsystem attack tree.
  • the root tree generation unit 131 uses the inference rule 193 to generate a root tree.
  • the inference rule 193 is an inference rule for generating an attack tree of the target system.
  • the inference rule 193 is a logical rule relating to the execution order of various security threats and various cyber attack techniques, and is defined so that it is possible to determine the occurrence conditions of various threats and the establishment conditions of various cyber attack techniques. ing.
  • the inference system of the inference rule 193 and the data format of the inference rule 193 are arbitrary.
  • the number of rules defined in the inference rule 193 is also arbitrary.
  • the root tree generation unit 131 inputs the root system configuration data, the target threat data, and the inference rule 193, and executes the attack tree automatic generation tool.
  • the route system configuration data is subsystem configuration data indicating the configuration of the route system.
  • the attack tree automatic generation tool used may be a conventional tool. For example, it is possible to use the attack tree automatic generation tool disclosed in Non-Patent Document 2 or Non-Patent Document 3.
  • the root tree generation unit 131 suspends the execution of the attack tree automatic generation tool when the root system intrusion node appears on each path of the attack tree being generated.
  • the root system intrusion node is a node that means intrusion into the root system. This gives the root tree.
  • the root tree generation unit 131 stores the root tree as data in the storage unit 190.
  • step S132 the descendant system selection unit 132 selects one unselected intrusion route data from the intrusion route list 194.
  • the selected intrusion route data is referred to as selected route data, and the intrusion route indicated in the selected route data is referred to as a selected route.
  • step S133 the descendent tree generator 133 generates a descendant tree group for the selected route.
  • the descendant tree group is one or more descendant trees.
  • the procedure of the descendant tree group generation process (S133) will be described later.
  • step S134 the descendant system selection unit 132 determines whether there is an intrusion route that has not been selected in step S132 (an unselected intrusion route). If there is an unselected intrusion route, the process proceeds to step S132. If there is no unselected intrusion route, the sub attack tree group generation process (S130) ends.
  • step S132 to step S134 may be realized by parallel processing. That is, a plurality of descendant tree groups for a plurality of intrusion routes may be simultaneously generated by parallel processing.
  • step S1331 the descendant system selecting unit 132 sets the root system as the parent system and specifies the child system for the parent system.
  • a child system is a subsystem located immediately before the parent system in the selection path.
  • step S1332 the descendant tree generation unit 133 generates a child tree using the inference rule 193 for each terminal node of the parent tree.
  • the parent tree is the attack tree of the parent system.
  • the child tree is the attack tree of the child system.
  • the descendant tree generation unit 133 executes the attack tree automatic generation tool by inputting the child system configuration data and the inference rule 193.
  • the child system configuration data is subsystem configuration data indicating the configuration of the child system.
  • the attack tree automatic generation tool used is the same as the tool used in step S131.
  • the descendant tree generation unit 133 suspends the execution of the attack tree automatic generation tool at the stage where the child system intrusion node appears on each path of the attack tree being generated.
  • the child system intrusion node is a node that means intrusion into the child system. This gives a child tree.
  • the descendant tree generation unit 133 stores the child tree in the storage unit 190 as data.
  • Step S1332 may be realized by parallel processing. That is, a plurality of child trees for a plurality of end nodes of the parent tree may be simultaneously generated by parallel processing.
  • step S1333 the descendant system selection unit 132 determines whether the child system is the starting system.
  • the origin system is the first subsystem in the selection path. If the child system is the origin system, the descendant tree group generation process (S133) ends. If the child system is not the starting system, the process proceeds to step S1334.
  • step S1334 the descendant system selection unit 132 sets the child system as the parent system and specifies the child system for the parent system. After step S1334, the process proceeds to step S1332.
  • step S141 the sub attack tree integration unit 140 integrates all the sub attack tree groups. As a result, the attack tree of the target system is obtained.
  • the sub attack tree integration unit 140 stores the attack tree of the target system in the storage unit 190 as data.
  • the sub attack tree integration unit 140 operates as follows.
  • the sub attack tree integration unit 140 finds a sibling tree by searching all the sub attack tree groups.
  • a sibling tree is a plurality of child trees that have the same root node as a common end node of a common parent tree. Then, the sub attack tree integration unit 140 connects each root node of the sibling trees to a common terminal node via the OR gate.
  • step S142 the sub attack tree integration unit 140 outputs the attack tree of the target system.
  • the sub attack tree integration unit 140 displays the attack tree of the target system on the display.
  • the logic inference type automatic attack tree generation tool has a problem that the amount of calculation increases in polynomial order with respect to the scale of the system.
  • the attack tree of the target system is generated by combining the plurality of sub attack trees after the plurality of sub attack trees corresponding to the plurality of subsystems are generated. Since the subsystem size is smaller than the target system size, the amount of calculation for generating the sub attack tree does not increase. As a result, the amount of calculation required to generate the attack tree of the target system can be reduced.
  • Embodiment 2 The attack tree generation device 200 will be described mainly on the points different from the first embodiment with reference to FIGS. 12 to 14.
  • the attack tree generation device 200 generates a dedicated inference rule for the target system, and generates an attack tree for the target system using the dedicated inference rule.
  • the attack tree generation device 200 is a computer including hardware such as a processor 201, a memory 202, an auxiliary storage device 203, and an input/output interface 204. These pieces of hardware are connected to each other via signal lines.
  • the processor 201 is an IC that performs arithmetic processing, and controls other hardware.
  • the processor 201 is a CPU, DSP or GPU.
  • the memory 202 is a volatile storage device.
  • the memory 202 is also called a main storage device or a main memory.
  • the memory 202 is RAM.
  • the data stored in the memory 202 is saved in the auxiliary storage device 203 as needed.
  • the auxiliary storage device 203 is a non-volatile storage device.
  • the auxiliary storage device 203 is a ROM, HDD, or flash memory.
  • the data stored in the auxiliary storage device 203 is loaded into the memory 202 as needed.
  • the input/output interface 204 is a port to which an input device and an output device are connected.
  • the input/output interface 204 is a USB terminal
  • the input device is a keyboard and a mouse
  • the output device is a display.
  • the attack tree generation device 200 includes elements such as a dedicated basic information acquisition unit 210, a dedicated inference rule generation unit 220, and an attack tree generation unit 230. These elements are realized by software.
  • the auxiliary storage device 203 stores an attack tree generation program for causing a computer to function as the dedicated basic information acquisition unit 210, the dedicated inference rule generation unit 220, and the attack tree generation unit 230.
  • the attack tree generation program is loaded into the memory 202 and executed by the processor 201.
  • the OS is stored in the auxiliary storage device 203. At least a part of the OS is loaded in the memory 202 and executed by the processor 201. That is, the processor 201 executes the attack tree generation program while executing the OS.
  • Input/output data of the attack tree generation program is stored in the storage unit 290.
  • the memory 202 functions as the storage unit 290.
  • a storage device such as the auxiliary storage device 203, a register in the processor 201, and a cache memory in the processor 201 may function as the storage unit 290 instead of the memory 202 or together with the memory 202.
  • the attack tree generation device 200 may include a plurality of processors that replace the processor 201.
  • the plurality of processors share the role of the processor 201.
  • the attack tree generation program can be recorded (stored) in a computer-readable manner on a non-volatile recording medium such as an optical disk or a flash memory.
  • the configuration of the storage unit 290 will be described with reference to FIG.
  • the storage unit 290 stores system configuration data 291, threat list 292, inference rules 293, intrusion route list 294, rule basic information database 295, and the like.
  • the system configuration data 291, the threat list 292, the inference rule 293, and the intrusion route list 294 are the same as the data (191, 192, 193, 194) in the first embodiment.
  • the rule basic information database 295 includes a threat database 2951 and an attack technique database 2952.
  • the dedicated basic information acquisition unit 210 acquires the type information of the target system from the system configuration data 291.
  • the system configuration data 291 includes type information of the target system.
  • the target system type information indicates the type of the target system.
  • the type of the target system is the type of system element included in the target system.
  • the system element is a device (computer), an OS installed in the device, an application program installed in the device, and other information assets.
  • the system type is a device type, an OS type, an application type, and an information asset type.
  • step S212 the dedicated basic information acquisition unit 210 acquires the rule basic information corresponding to the type of the target system from the rule basic information database 295.
  • the acquired rule basic information is referred to as "dedicated basic information”.
  • the rule basic information database 295 a plurality of system types and a plurality of rule basic information are associated with each other.
  • the rule basic information is information for generating an inference rule.
  • the rule basic information database 295 is a threat database 2951 and an attack technique database 2952.
  • Various threat templates are registered in the threat database 2951.
  • a type tag is added to each threat template.
  • the threat template is an instance of threat data registered in the threat list.
  • the threat template defines pre-conditions for causing a threat.
  • the precondition is defined by a logical expression or an expression that can be converted into a logical expression.
  • Target threat data is generated by setting information (system name or information asset name) of the system element of the target system in the threat template.
  • the target threat data is generated by, for example, the dedicated basic information acquisition unit 210 or the attack tree generation unit 230.
  • the attack method database 2952 stores cyber attack methods.
  • a type tag is added to each attack method.
  • the attack technique defines a precondition for using the technique and an effect (attack effect) generated by the attack.
  • the precondition and the attack effect are defined by a logical expression or an expression that can be converted into a logical expression.
  • the dedicated inference rule generation unit 220 executes the inference rule generation process using only the dedicated basic information of the plurality of rule basic information. As a result, a dedicated inference rule for the target system is generated.
  • the generated inference rule is the inference rule 293.
  • the inference rule generation process is an arbitrary process for generating an inference rule. For example, it is possible to use the method disclosed in Patent Document 1.
  • Patent Document 1 discloses a method for automatically generating an inference rule for deriving an attack scenario. In this method, the inference rule is automatically generated using the definition of the attack method (precondition and attack effect).
  • the dedicated inference rule generation unit 220 operates as follows.
  • the dedicated inference rule generation unit 220 identifies a combination of attack methods having an attack effect that satisfies a precondition of a threat (or attack method).
  • the dedicated inference rule generation unit 220 specifies the execution order of threats (or attack methods) based on the specified combination.
  • the dedicated inference rule generation unit 220 generates a dedicated inference rule based on the specified execution order.
  • step S231 the attack tree generation unit 230 executes the attack tree generation process using the dedicated inference rule. As a result, the attack tree of the target system is generated.
  • the attack tree generation process is an arbitrary process for generating an attack tree (same as in the first embodiment).
  • step S232 the attack tree generation unit 230 outputs the attack tree of the target system.
  • the attack tree generation unit 230 displays the attack tree of the target system on the display.
  • the logic inference type automatic attack tree generation tool has a problem that the amount of calculation increases in polynomial order with respect to the scale of the inference rule.
  • the attack tree of the target system is generated using the dedicated inference rule. Since the dedicated inference rules limited to the rules regarding the type of the target system are used, the amount of calculation required to generate the attack tree of the target system can be reduced.
  • Embodiment 3 The attack tree generation device 300 will be described mainly on the points different from the first embodiment with reference to FIGS. 15 and 16.
  • the attack tree generation device 300 is a combination of the attack tree generation device 200 (first embodiment) and the attack tree generation device 300 (second embodiment).
  • the attack tree generation device 300 is a computer including hardware such as a processor 301, a memory 302, an auxiliary storage device 303, and an input/output interface 304. These pieces of hardware are connected to each other via signal lines.
  • the processor 301 is an IC that performs arithmetic processing, and controls other hardware.
  • the processor 301 is a CPU, DSP or GPU.
  • the memory 302 is a volatile storage device.
  • the memory 302 is also called a main storage device or a main memory.
  • the memory 302 is RAM.
  • the data stored in the memory 302 is stored in the auxiliary storage device 303 as needed.
  • the auxiliary storage device 303 is a non-volatile storage device.
  • the auxiliary storage device 303 is a ROM, HDD, or flash memory.
  • the data stored in the auxiliary storage device 303 is loaded into the memory 302 as needed.
  • the input/output interface 304 is a port to which an input device and an output device are connected.
  • the input/output interface 304 is a USB terminal
  • the input device is a keyboard and a mouse
  • the output device is a display.
  • the attack tree generation device 300 includes elements such as a dedicated basic information acquisition unit 210, a dedicated inference rule generation unit 220, and an attack tree generation unit 310. These elements are realized by software.
  • the attack tree generation unit 310 includes a system division unit 110, an intrusion route prediction unit 120, a sub attack tree generation unit 130, and a sub attack tree integration unit 140. Each of the system division unit 110, the intrusion route prediction unit 120, the sub attack tree generation unit 130, and the sub attack tree integration unit 140 is an element in the first embodiment.
  • Each of the dedicated basic information acquisition unit 210 and the dedicated inference rule generation unit 220 is an element in the second embodiment.
  • the auxiliary storage device 303 stores an attack tree generation program for causing a computer to function as the dedicated basic information acquisition unit 210, the dedicated inference rule generation unit 220, and the attack tree generation unit 310.
  • the attack tree generation program is loaded into the memory 302 and executed by the processor 301.
  • the OS is stored in the auxiliary storage device 303. At least a part of the OS is loaded in the memory 302 and executed by the processor 301. That is, the processor 301 executes the attack tree generation program while executing the OS.
  • Input/output data of the attack tree generation program is stored in the storage unit 290.
  • the storage unit 290 is an element in the second embodiment.
  • the memory 302 functions as the storage unit 290.
  • a storage device such as the auxiliary storage device 303, a register in the processor 301, and a cache memory in the processor 301 may function as the storage unit 290 instead of the memory 302 or together with the memory 302.
  • the attack tree generation device 300 may include a plurality of processors that replace the processor 301.
  • the plurality of processors share the role of the processor 301.
  • the attack tree generation program can be recorded (stored) in a computer-readable manner on a non-volatile recording medium such as an optical disk or a flash memory.
  • step S310 the system division unit 110 divides the target system into a plurality of subsystems based on the system configuration data 191.
  • Step S310 is the same as step S110 in the first embodiment.
  • step S320 the dedicated inference rule generation unit 220 generates a dedicated inference rule for each subsystem.
  • a plurality of dedicated inference rules corresponding to the plurality of subsystems are generated.
  • the plurality of generated special inference rules is called a special inference rule group.
  • the method of generating the dedicated inference rule of the subsystem is the same as the method (steps S211 to S232) in the second embodiment.
  • step S330 the attack tree generation unit 310 uses the dedicated inference rule group to generate the attack tree of the target system.
  • the method of generating the attack tree of the target system is the same as the method (steps S121 to S141) in the first embodiment.
  • the subsystem inference rules are used to generate the subsystem attack tree.
  • step S340 the attack tree generation unit 310 outputs the attack tree of the target system.
  • the attack tree generation unit 310 displays the attack tree of the target system on the display.
  • An attack tree automatic generation tool has been proposed as a technology that supports security measures. This tool can generate an attack tree simply by inputting the information of the target system. The system developer can examine the security countermeasure plan by checking the generated attack tree. In short, Attack Tree is useful for secure system development. Conventionally, there is a logical inference type attack tree automatic generation tool. This tool compares the occurrence conditions of cyber attacks with the configuration information of the target system to make inferences. As a result, an attack tree is generated. However, the logic inference type automatic attack tree generation tool has a problem that the amount of calculation increases in polynomial order with respect to the scale of the system. The embodiment streamlines the attack tree generation task by the following two techniques.
  • the target system is divided into a plurality of subsystems, and a plurality of sub attack trees corresponding to the plurality of subsystems are integrated.
  • the attack tree or sub attack tree
  • the inference rule limited to the system type is automatically generated to reduce the size of the inference rule.
  • an attack tree can be generated at a polynomial multiple speed according to the number of divisions of the target system. As a result, the system development period including security measures can be expected to be shortened.
  • the attack tree generation device 100 includes a processing circuit 109.
  • the processing circuit 109 is hardware that realizes the system division unit 110, the intrusion route prediction unit 120, the sub attack tree generation unit 130, and the sub attack tree integration unit 140.
  • the processing circuit 109 may be dedicated hardware or the processor 101 that executes a program stored in the memory 102.
  • the attack tree generation device 200 includes a processing circuit 209.
  • the processing circuit 209 is hardware that realizes the dedicated basic information acquisition unit 210, the dedicated inference rule generation unit 220, and the attack tree generation unit 230.
  • the processing circuit 209 may be dedicated hardware or the processor 201 that executes a program stored in the memory 202.
  • the attack tree generation device 300 includes a processing circuit 309.
  • the processing circuit 309 is hardware that realizes the dedicated basic information acquisition unit 210, the dedicated inference rule generation unit 220, and the attack tree generation unit 310.
  • the processing circuit 309 may be dedicated hardware or may be the processor 301 that executes a program stored in the memory 302.
  • the processing circuit may be, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC, an FPGA, or a combination thereof. is there.
  • ASIC is an abbreviation for Application Specific Integrated Circuit
  • FPGA is an abbreviation for Field Programmable Gate Array.
  • the attack tree generation device (100, 200, 300) may include a plurality of processing circuits that replace the processing circuits (109, 209, 309). The plurality of processing circuits share the role of the processing circuits (109, 209, 309).
  • attack tree generation device 100, 200, 300
  • some functions may be realized by dedicated hardware and the remaining functions may be realized by software or firmware.
  • processing circuits (109, 209, 309) can be realized by hardware, software, firmware, or a combination thereof.
  • the embodiment is an exemplification of a preferred embodiment, and is not intended to limit the technical scope of the present invention.
  • the embodiment may be partially implemented or may be implemented in combination with other embodiments.
  • the procedure described using the flowcharts and the like may be changed as appropriate.
  • the attack tree generation device (100, 200, 300) may be realized by a plurality of devices. That is, the attack tree generation device may be realized as a system. "Part" which is an element of the attack tree generation device (100, 200, 300) may be read as “process” or "process”.
  • attack tree generation device 101 processor, 102 memory, 103 auxiliary storage device, 104 input/output interface, 109 processing circuit, 110 system division unit, 120 intrusion route prediction unit, 121 intrusion data acquisition unit, 122 root system selection unit, 123 Intrusion route list generation unit, 130 sub attack tree generation unit, 131 root tree generation unit, 132 descendant system selection unit, 133 descendant tree generation unit, 140 sub attack tree integration unit, 190 storage unit, 191 system configuration data, 192 threat list , 193 inference rule, 194 intrusion route list, 200 attack tree generation device, 201 processor, 202 memory, 203 auxiliary storage device, 204 input/output interface, 209 processing circuit, 210 dedicated basic information acquisition unit, 220 dedicated inference rule generation unit, 230 attack tree generation unit, 290 storage unit, 291 system configuration data, 292 threat list, 293 inference rule, 294 intrusion route list, 295 rule basic information database, 2951 threat database, 2952 attack method database, 300 attack tree generation device, 301 Processor, 302 memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

システム分割部(110)は、対象システムを複数のサブシステムに分割する。ルートシステム選択部(122)は、前記複数のサブシステムからセキュリティの脅威が発生するサブシステムをルートシステムとして選択する。ルートツリー生成部(131)は、前記ルートシステムのアタックツリーをルートツリーとして生成する。子孫システム選択部(132)は、前記複数のサブシステムから、前記ルートシステムへの侵入経路に位置する1つ以上のサブシステムを1つ以上の子孫システムとして選択する。子孫ツリー生成部(133)は、前記1つ以上の子孫システムに対応する1つ以上のアタックツリーを1つ以上の子孫ツリーとして生成する。サブアタックツリー統合部(140)は、前記ルートツリーと前記1つ以上の子孫ツリーとを統合することによって、前記対象システムのアタックツリーを生成する。

Description

アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム
 本発明は、セキュリティ対策の対象となるシステムのアタックツリーを生成する技術に関するものである。
 近年、各企業において、情報システムおよび制御システムに対するサイバー攻撃が深刻化しており、十分なセキュリティ対策が求められている。
 セキュリティ対策を支援する技術として、アタックツリー自動生成ツールが提案されている。このツールは、分析の対象となるシステムの構成情報を入力にして、サイバー攻撃が発生するまでのシナリオ(攻撃シナリオ)を分析する。例えば、システムの構成情報は、装置、通信路、アプリケーションおよびセキュリティ対策などの情報である。
 アタックツリー自動生成ツールから出力される1つ以上の攻撃シナリオがツリー状に統合されたものがアタックツリーである。
 アタックツリーの中には、攻撃される装置、攻撃されるアプリケーションおよび攻撃手法などの攻撃情報が記載されている。そのため、アタックツリーを参照することにより、システムの開発者はセキュリティ対策を検討することができる。
 非特許文献1には、アタックツリーに関する記載が開示されている。
 非特許文献2および非特許文献3には、論理推論型のアタックツリー自動生成ツールが提案されている。
 論理推論型のアタックツリー自動生成ツールでは、サイバー攻撃が発生する条件が論理的な命題として定義される。このツールは、分析対象システムの構成情報を論理式に変換し、形式的な推論によってアタックツリーを生成する。
 非特許文献2は、2013年までに提案されたアタックツリー自動生成ツールのサーベイ論文である。
 非特許文献2において、TABLE 1. Attack Graph Generation and Visualization Tools Comparison中のAttack Graph TypeがLogical attack graphであるものが、論理推論型のアタックツリー自動生成ツールに相当する。
 非特許文献3では、MulVALと呼ばれるアタックツリー自動生成ツールが提案されている。
 MalVALでは、Prologと呼ばれる論理プログラミング言語が用いられる。MalVALは、一階述語論理ベースの推論を行い、アタックツリーを生成する。計算量は、システムの規模Nに対し、Nの2乗からNの3乗のオーダーとされている。
 特許文献1については、実施の形態で言及する。
特許第6058246号公報
Schneier, Bruce (December 1999). "Attack Trees", <https://www.schneier.com/academic/archives/1999/12/attack_trees.html> Shengwei Yi, Yong Peng, Qi Xiong, Ting Wang, Zhonghua Dai, Haihui Gao, Junfeng Xu, Jiteng Wang, Lijuan Xu , "Overview on attack graph generation and visualization technology.," International Conference on Anti-Counterfeiting, Security and Identification (ASID), 2013. X. Ou, S. Govindavajhala, and A. Appel., "MulVAL: A logicbased network security analyzer.," 14th USENIX Security Symposium, pages 113-128, 2005
 論理推論型のアタックツリー自動生成ツールには、システムの規模に対して多項式オーダーで計算量が増大する、という課題がある。
 そのため、アタックツリーを用いた対策の検討作業に時間がかかり、システム開発のコストが増加してしまう。
 本発明は、アタックツリーの生成に要する計算量を削減できるようにすることを目的とする。
 本発明のアタックツリー生成装置は、
 セキュリティ対策の対象となる対象システムの構成を示すシステム構成データに基づいて、前記対象システムを複数のサブシステムに分割するシステム分割部と、
 前記対象システムにおけるセキュリティの脅威の内容を示す脅威データに基づいて、前記複数のサブシステムから前記脅威が発生するサブシステムをルートシステムとして選択するルートシステム選択部と、
 前記ルートシステムに対してアタックツリー生成処理を実行することにより、前記ルートシステムのアタックツリーをルートツリーとして生成するルートツリー生成部と、
 前記対象システムにおける前記ルートシステムへの侵入経路を示す侵入経路データに基づいて、前記複数のサブシステムから、前記侵入経路に位置する1つ以上のサブシステムを1つ以上の子孫システムとして選択する子孫システム選択部と、
 前記1つ以上の子孫システムのそれぞれに対して前記アタックツリー生成処理を実行することにより、前記1つ以上の子孫システムに対応する1つ以上のアタックツリーを1つ以上の子孫ツリーとして生成する子孫ツリー生成部と、
 前記ルートツリーと前記1つ以上の子孫ツリーとを統合することによって、前記対象システムのアタックツリーを生成するサブアタックツリー統合部と、を備える。
 本発明によれば、対象システムのアタックツリーの生成に要する計算量を削減することができる。
実施の形態1におけるアタックツリー生成装置100の構成図。 実施の形態1における記憶部190の構成図。 実施の形態1におけるアタックツリー生成方法(概要)のフローチャート。 実施の形態1におけるルートツリー910を示す図。 実施の形態1における子ツリー920_1を示す図。 実施の形態1におけるルートツリー910の別例を示す図。 実施の形態1におけるアタックツリー900を示す図。 実施の形態1におけるアタックツリー900の別例を示す図。 実施の形態1におけるアタックツリー生成方法(詳細)のフローチャート。 実施の形態1におけるサブアタックツリー群生成処理(S130)のフローチャート。 実施の形態1における子孫ツリー群生成処理(S133)のフローチャート。 実施の形態2におけるアタックツリー生成装置200の構成図。 実施の形態2における記憶部290の構成図。 実施の形態2におけるアタックツリー生成方法のフローチャート。 実施の形態3におけるアタックツリー生成装置300の構成図。 実施の形態3におけるアタックツリー生成方法(詳細)のフローチャート。 実施の形態におけるアタックツリー生成装置(100,200,300)のハードウェア構成図。
 実施の形態および図面において、同じ要素または対応する要素には同じ符号を付している。説明した要素と同じ符号が付された要素の説明は適宜に省略または簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。
 実施の形態1.
 アタックツリー生成装置100について、図1から図11に基づいて説明する。
 アタックツリー生成装置100は、複数のサブシステムのそれぞれのアタックツリーを生成し、複数のサブシステムに対応する複数のアタックツリーを統合する。これにより、システム全体のアタックツリーが得られる。
***構成の説明***
 図1に基づいて、アタックツリー生成装置100の構成を説明する。
 アタックツリー生成装置100は、プロセッサ101とメモリ102と補助記憶装置103と入出力インタフェース104といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
 プロセッサ101は、演算処理を行うIC(Integrated Circuit)であり、他のハードウェアを制御する。例えば、プロセッサ101は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、またはGPU(Graphics Processing Unit)である。
 メモリ102は揮発性の記憶装置である。メモリ102は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ102はRAM(Random Access Memory)である。メモリ102に記憶されたデータは必要に応じて補助記憶装置103に保存される。
 補助記憶装置103は不揮発性の記憶装置である。例えば、補助記憶装置103は、ROM(Read Only Memory)、HDD(Hard Disk Drive)、またはフラッシュメモリである。補助記憶装置103に記憶されたデータは必要に応じてメモリ102にロードされる。
 入出力インタフェース104は入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース104はUSB端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。USBはUniversal Serial Busの略称である。
 アタックツリー生成装置100は、システム分割部110と侵入経路予測部120とサブアタックツリー生成部130とサブアタックツリー統合部140といった要素を備える。これらの要素はソフトウェアで実現される。
 侵入経路予測部120は、侵入データ取得部121とルートシステム選択部122と侵入経路リスト生成部123とを備える。
 サブアタックツリー生成部130は、ルートツリー生成部131と子孫システム選択部132と子孫ツリー生成部133とを備える。
 補助記憶装置103には、システム分割部110と侵入経路予測部120とサブアタックツリー生成部130とサブアタックツリー統合部140としてコンピュータを機能させるためのアタックツリー生成プログラムが記憶されている。アタックツリー生成プログラムは、メモリ102にロードされて、プロセッサ101によって実行される。
 さらに、補助記憶装置103にはOS(Operating System)が記憶されている。OSの少なくとも一部は、メモリ102にロードされて、プロセッサ101によって実行される。
 つまり、プロセッサ101は、OSを実行しながら、アタックツリー生成プログラムを実行する。
 アタックツリー生成プログラムの入出力データは記憶部190に記憶される。
 メモリ102は記憶部190として機能する。但し、補助記憶装置103、プロセッサ101内のレジスタおよびプロセッサ101内のキャッシュメモリなどの記憶装置が、メモリ102の代わりに、又は、メモリ102と共に、記憶部190として機能してもよい。
 アタックツリー生成装置100は、プロセッサ101を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ101の役割を分担する。
 アタックツリー生成プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。
 図2に基づいて、記憶部190の構成を説明する。
 記憶部190には、システム構成データ191、脅威リスト192、推論ルール193および侵入経路リスト194などが記憶される。これらのデータの内容については後述する。
***動作の説明***
 アタックツリー生成装置100の動作はアタックツリー生成方法に相当する。また、アタックツリー生成方法の手順はアタックツリー生成プログラムの手順に相当する。
 セキュリティ対策の対象となるシステムを「対象システム」と称する。
 対象システムにおけるセキュリティの脅威を「対象脅威」と称する。
 図3に基づいて、アタックツリー生成方法の概要を説明する。
 ステップS101において、システム分割部110は、システム構成データ191に基づいて、前記対象システムを複数のサブシステムに分割する。
 システム構成データ191は、対象システムの構成を示すデータである。
 サブシステムは、対象システムの一部を構成するシステムである。
 ステップS102において、ルートシステム選択部122は、対象脅威の内容を示す脅威データに基づいて、複数のサブシステムから、対象脅威が発生するサブシステムを選択する。選択されるサブシステムを「ルートシステム」と称する。
 対象脅威の内容を示す脅威データは、脅威リスト192に含まれる。
 ステップS103において、ルートツリー生成部131は、ルートシステムに対してアタックツリー生成処理を実行することにより、ルートシステムのアタックツリーを生成する。生成されるアタックツリーを「ルートツリー」と称する。
 アタックツリー生成処理は、アタックツリーを生成するための任意の処理である。
 アタックツリーは、システムセキュリティにおける脅威が発生するまでの攻撃過程を表すツリー状のグラフである。
 ルートツリー生成部131は、ルートツリーを以下のように生成する。
 ルートツリー生成部131は、対象脅威を表すルートノードを持つアタックツリーを生成する。生成されるアタックツリーがルートツリーである。
 ルートツリー生成部131は、対象脅威を表すノードをルートノードにしてアタックツリー生成処理を開始する。そして、ルートツリー生成部131は、生成中のアタックツリーに含まれる1つ以上の経路のそれぞれにルートシステムへの侵入を意味する侵入ノードが現れた段階で、それぞれの経路に現れた侵入ノードをそれぞれの経路における末端ノードにしてアタックツリー生成処理を中断する。中断時のアタックツリーがルートツリーである。
 図4に基づいて、ルートツリー910を説明する。
 ルートツリー910は、対象システムのアタックツリーの一例である。
 ルートツリー910は、ルートノード911を有する。
 ルートノード911は、対象脅威を表す。
 ルートツリー910は、内部ノード912を有する。
 内部ノード912は、ルートノード911から末端ノード913_1までの経路の途中に位置し、攻撃活動(1)を表す。
 ルートツリー910は、末端ノード(213_1~213_3)を有する。末端ノード(213_1~213_3)を特定しない場合、それぞれを末端ノード913と称する。
 それぞれの末端ノード913は、対象システムへの侵入を意味する攻撃活動を表す。
 ルートツリー910は、論理ゲート(214_1、214_2)を有する。論理ゲート(214_1、214_2)を特定しない場合、それぞれを論理ゲート914と称する。
 それぞれの論理ゲート914は、親ノードと複数の子ノードとの間に位置し、論理演算(ORまたはANDなど)を表す。
 論理ゲート914_1は、第1層のノード(211)と第2層の2つのノード(212、213_3)との間に位置し、内部ノード912と末端ノード913_3との論理和を表している。
 論理ゲート914_2は、第2層のノード(212)と第3層の2つのノード(213_1、213_2)との間に位置し、末端ノード913_1と末端ノード913_2との論理積を表している。
 図3に戻り、ステップS104から説明を続ける。
 ステップS104において、子孫システム選択部132は、侵入経路データに基づいて、複数のサブシステムから、対象システムにおけるルートシステムへの侵入経路に位置する1つ以上のサブシステムを選択する。選択される1つ以上のサブシステムを「1つ以上の子孫システム」と称する。
 侵入経路データは、侵入経路リスト194に含まれる。
 子孫システム選択部132は、1つ以上の子孫システムを以下のように選択する。
 子孫システム選択部132は、ルートシステムを親システムとして扱い、侵入経路において親システムの1つ前に位置するサブシステム選択する。選択されるサブシステムを「子システム」と称する。
 子孫システム選択部132は、前回の子システムを今回の親システムとして扱い、侵入経路において今回の親システムの1つ前に位置するサブシステム選択する。選択されるサブシステムを「今回の子システム」と称する。
 ステップS105において、子孫ツリー生成部133は、1つ以上の子孫システムのそれぞれに対してアタックツリー生成処理を実行することにより、1つ以上の子孫システムに対応する1つ以上のアタックツリーを生成する。生成される1つ以上のアタックツリーを「1つ以上の子孫ツリー」と称する。
 子孫ツリー生成部133は、1つ以上の子孫ツリーを以下のように生成する。
 子孫ツリー生成部133は、ルートツリーを親ツリーとして扱い、親ツリーの1つ以上の末端ノードのそれぞれをルートノードにしてアタックツリー生成処理を開始する。そして、子孫ツリー生成部133は、生成中のアタックツリーに含まれる1つ以上の経路のそれぞれに子システムへの侵入を意味する侵入ノードが現れた段階で、それぞれの経路に現れた侵入ノードをそれぞれの経路における末端ノードにしてアタックツリー生成処理を中断する。中断時の1つ以上のアタックツリー、つまり、ルートツリーの1つ以上の末端ノードに対応する1つ以上のアタックツリー、がルートツリーに対する1つ以上の子ツリーである。
 子孫ツリー生成部133は、前回の1つ以上の子ツリーのそれぞれを今回の親ツリーとして扱い、今回の親ツリーの1つ以上の末端ノードのそれぞれをルートノードにしてアタックツリー生成処理を開始する。そして、子孫ツリー生成部133は、生成中のアタックツリーに含まれる1つ以上の経路のそれぞれに今回の子システムへの侵入を意味する侵入ノードが現れた段階で、それぞれの経路に現れた侵入ノードをそれぞれの経路における末端ノードにしてアタックツリー生成処理を中断する。中断時の1つ以上のアタックツリー、つまり、今回の親ツリーの1つ以上の末端ノードに対応する1つ以上のアタックツリー、が今回の親ツリーに対する1つ以上の子ツリーである。
 図5に基づいて、子ツリー920_1を説明する。
 子ツリー920_1は、子システム(1)のアタックツリーの一例である。
 子システム(1)は、対象システムへの侵入経路において対象システムの1つ前に位置するサブシステムである。つまり、子システム(1)は、対象システム(親システム)に対する子システムである。
 子ツリー920_1は、ルートツリー910(親ツリー)に対する子ツリーに相当する。
 子ツリー920_1は、ルートノード921を有する。
 ルートノード921は、ルートツリー910(図4参照)の末端ノード913_1と同じ攻撃活動を表す。
 子ツリー920_1は、ルートツリー910(図4参照)と同様に、1つ以上の論理ゲート(224_1)と、1つ以上の内部ノードと、1つ以上の末端ノード(223_1~223_N)とを有する。
 末端ノード(223_1~223_N)を特定しない場合、それぞれを末端ノード923と称する。
 それぞれの末端ノード923は、子システム(1)への侵入を意味する攻撃活動を表す。
 子ツリー920_1と同様に、子ツリー920_2(図示省略)および子ツリー920_3(図示省略)が生成される。
 それぞれの子ツリー(220_2、220_3)は、子システム(1)のアタックツリーである。
 それぞれの子ツリー(220_2、220_3)は、ルートツリー910(親ツリー)に対する子ツリーに相当する。
 子ツリー920_2において、ルートノードは、ルートツリー910(図4参照)の末端ノード913_2と同じ攻撃活動を表す。
 子ツリー920_3において、ルートノードは、ルートツリー910(図4参照)の末端ノード913_3と同じ攻撃活動を表す。
 さらに、3つの子ツリー(220_1~220_3)の複数の末端ノードに対する複数の孫ツリーが生成される。
 それぞれの孫ツリーは、子システム(2)のアタックツリーである。子システム(2)は、対象システムへの侵入経路において子システム(1)の1つ前に位置するサブシステムである。つまり、子システム(2)は、子システム(1)に対する子システムである。
 それぞれの孫ツリーは、子ツリー(220_1~220_3)に対する子ツリーに相当する。
 それぞれの孫ツリーにおいて、ルートノードは、子ツリー(220_1~220_3)の末端ノードと同じ攻撃活動を表す。
 それぞれの孫ツリーにおいて、末端ノードは、子システム(2)への侵入を意味する攻撃活動を表す。
 以降、前回の子システムを今回の親システムとして扱い、前回の子ツリーを今回の親ツリーとして扱い、前回の子システムが対象システムへの侵入経路における先頭のサブシステムになるまで、子孫ツリーの生成が繰り返される。
 図3に戻り、ステップS105の説明を続ける。
 子孫ツリー生成部133は、(今回の)親ツリーの1つ以上の末端ノードを1つ以上の末端ノードグループに分けてもよい。この場合、子孫ツリー生成部133は、(今回の)親ツリーの1つ以上の末端ノードグループのそれぞれをルートノードにして、(今回の)親ツリーに対する1つ以上の子ツリーを生成する。
 例えば、子孫ツリー生成部133は、以下のように動作する。
 図6に示すように、子孫ツリー生成部133は、末端ノード913_1と末端ノード913_2とをまとめて末端ノード913_Gを生成する。
 そして、子孫ツリー生成部133は、末端ノード913_Gと同じ攻撃活動を表すルートノードを有する子ツリーを生成する。
 図3に戻り、ステップS106を説明する。
 ステップS106において、サブアタックツリー統合部140は、ルートツリーと1つ以上の子孫ツリーとを統合する。
 これにより、対象システムのアタックツリーが生成される。
 図7に基づいて、アタックツリー900を説明する。
 アタックツリー900は、対象システムのアタックツリーの一例である。
 アタックツリー900は、ルートツリー910と子孫ツリー群901とを含む。
 子孫ツリー群901は、1つ以上の子孫ツリーである。
 それぞれの子孫ツリーのルートノードは、親ツリーの端末ノードと同じである。
 対象システムにおけるルートシステムへの侵入経路が複数ある場合、アタックツリー生成装置100は以下のように動作する。
 子孫システム選択部132は、侵入経路毎に子孫システム群を選択する。これにより、複数の侵入経路に対応する複数の子孫システム群が選択される。子孫システム群は、1つ以上の子孫システムである。
 子孫ツリー生成部133は、子孫システム群毎に子孫ツリー群を生成する。これにより、複数の侵入経路に対応する複数の子孫ツリー群が生成される。
 サブアタックツリー統合部140は、複数の侵入経路に対応する複数の子孫ツリー群を検索することによって、兄弟ツリーを見つける。兄弟ツリーは、共通の親ツリーの共通の末端ノードと同じルートノードを持つ複数の子ツリーである。
 そして、サブアタックツリー統合部140は、論理和ゲートを介して兄弟ツリーのそれぞれのルートノードを共通の末端ノードに接続する。つまり、サブアタックツリー統合部140は、共通の親ツリーの共通の末端ノードに論理和ゲートを接続し、兄弟ツリーのそれぞれのルートノードを論理和ゲートに接続する。論理和ゲートは論理和を表す。
 図8に基づいて、対象システムへの複数の侵入経路がある場合のアタックツリー900を説明する。
 兄弟ツリー903のそれぞれは、共通ノード904と同じルートノードを持つ。共通ノード904は、共通の親ツリー(ルートツリー910)の共通の末端ノードである。
 兄弟ツリー903のそれぞれのルートノードは、論理和ゲート902を介して共通ノード904に接続される。
 図9に基づいて、アタックツリー生成方法の詳細を説明する。
 ステップS110において、システム分割部110は、システム構成データ191に基づいて、対象システムを複数のサブシステムに分割する。
 システム分割部110は、以下のように、対象システムを複数のサブシステムに分割する。
 システム構成データ191は、対象システムの構成を示す。対象システムの構成は、推論ルール193に適した論理式で表される。但し、対象システムの構成は、論理式以外の情報で表されてもよい。その場合、システム分割部110は、対象システムの構成情報を論理式に変換する。例えば、システム分割部110は、非特許文献2または非特許文献3に開示されているアタックツリー自動生成ツールによって、対象システムの構成情報を論理式に変換する。
 システム分割部110は、システム構成データ191を複数のサブシステム構成データに分割する。システム構成データ191が対象システムに対応し、複数のサブシステム構成データが複数のサブシステムに対応する。それぞれのサブシステム構成データは、サブシステムの構成を論理式によって示す。
 具体的には、システム分割部110は、分割基準に従って、システム構成データ191に示される論理式を複数の論理式に分割する。複数の論理式が複数のサブシステム構成データに相当する。例えば、分割基準は利用者によって指定される。
 分割基準は任意の基準である。分割基準の具体例は、サブネット単位による分割、ネットワーク境界(例えば、ファイアウォール)での分割、装置種別に基づくグループ分けなどである。装置種別とは、例えば、OSの種類である。同じサブネットに接続される複数の利用者端末には同じOSがインストールされることが想定される。
 但し、利用者が、分割基準に基づいて対象システムの分割を判断し、アタックツリー生成装置100に対して対象システムの分割を指示してもよい。この場合、システム分割部110は、利用者の指示に従って、対象システムを複数のサブシステムに分割する。
 なお、分割数(サブシステムの数)が大きいほど、対象システムのアタックツリーを生成するための計算量が増える。そのため、分割数は闇雲に大きくしないほうがよい。
 ステップS121において、侵入データ取得部121は、脅威リスト192から対象脅威データを取得する。
 脅威リスト192は、複数の脅威データを含む。それぞれの脅威データは、対象システムにおけるセキュリティの脅威の内容を示す。脅威の内容は、推論ルール193に適した論理式で表される。
 対象脅威データは、対象脅威についての脅威データである。
 例えば、侵入データ取得部121は、脅威リスト192から、先頭の脅威データを取得する。取得される脅威データが対象脅威データである。
 但し、侵入データ取得部121は、対象脅威データを別の方法で取得してもよい。例えば、利用者が、脅威リスト192に含まれる複数の脅威データから対象脅威データを選択し、アタックツリー生成装置100に対して対象脅威データを指定する。そして、侵入データ取得部121は、指定された対象脅威データを脅威リスト192から取得する。
 ステップS122において、ルートシステム選択部122は、対象脅威データに基づいて、複数のサブシステムからルートシステムを選択する。
 ルートシステムは、対象脅威が発生するサブシステムである。
 ルートシステム選択部122は、ルートシステムを以下のように選択する。
 対象脅威データは、対象脅威が発生するシステム要素を示す。例えば、システム要素は、装置(コンピュータ)、装置にインストールされているアプリケーションプログラム、または、その他の情報資産である。
 まず、ルートシステム選択部122は、対象脅威データを参照することによって、対象脅威が発生するシステム要素を特定する。特定されるシステム要素を対象要素と称する。
 そして、ルートシステム選択部122は、システム構成データ191を参照し、対象要素が接続されたサブネットを特定する。特定されるサブネットに対応するサブシステムがルートシステムである。
 ステップS123において、侵入経路リスト生成部123は、基点システムからルートシステムまでの侵入経路をリスト化する。これにより、侵入経路リスト194が生成される。
 侵入経路リスト194は、1つ以上の侵入経路データを含む。侵入経路が2つある場合、侵入経路リスト194は2つの侵入経路データを含む。
 基点システムとは、対象システムにおいて攻撃の起点となるサブシステムである。攻撃の起点となる端末を起点端末と称する。起点端末が対象システムの内部の要素である場合、起点システムは、起点端末が接続されたサブネットに対応するサブシステム、つまり、起点端末が属するサブシステムである。起点端末が対象システムの外部の要素である場合、起点システムは、対象システムの外部と通信することが可能なサブシステム、つまり、外部のネットワークに接続されたサブシステムである。
 ステップS130において、サブアタックツリー生成部130は、侵入経路リスト194に示される侵入経路毎に、サブアタックツリー群を生成する。
 サブアタックツリー群は、1つ以上のサブアタックツリーである。
 サブアタックツリーは、サブシステムのアタックツリーである。
 図10に基づいて、サブアタックツリー群生成処理(S130)の手順を説明する。
 ステップS131において、ルートツリー生成部131は、推論ルール193を用いて、ルートツリーを生成する。
 推論ルール193は、対象システムのアタックツリーを生成するための推論ルールである。推論ルール193は、セキュリティの各種の脅威と各種のサイバー攻撃手法の実行順序に関する論理的なルールであり、各種の脅威の発生条件と各種のサイバー攻撃手法の成立条件とを判定できるように定義されている。対象システムに対応するルールを特定することができれば、推論ルール193の推論体系および推論ルール193のデータ形式は任意である。また、推論ルール193の中に定義されているルールの数も任意である。
 具体的には、ルートツリー生成部131は、ルートシステム構成データと対象脅威データと推論ルール193とを入力として、アタックツリー自動生成ツールを実行する。
 ルートシステム構成データは、ルートシステムの構成を示すサブシステム構成データである。
 使用されるアタックツリー自動生成ツールは従来のツールで構わない。例えば、非特許文献2または非特許文献3に開示されているアタックツリー自動生成ツールを使用することが可能である。
 但し、ルートツリー生成部131は、生成中のアタックツリーのそれぞれの経路にルートシステム侵入ノードが現れた段階で、アタックツリー自動生成ツールの実行を中断する。ルートシステム侵入ノードは、ルートシステムへの侵入を意味するノードである。
 これにより、ルートツリーが得られる。ルートツリー生成部131は、ルートツリーをデータとして記憶部190に記憶する。
 ステップS132において、子孫システム選択部132は、侵入経路リスト194から、未選択の侵入経路データを1つ選択する。
 選択される侵入経路データを選択経路データと称し、選択経路データに示される侵入経路を選択経路と称する。
 ステップS133において、子孫ツリー生成部133は、選択経路に対する子孫ツリー群を生成する。子孫ツリー群は1つ以上の子孫ツリーである。
 子孫ツリー群生成処理(S133)の手順については後述する。
 ステップS134において、子孫システム選択部132は、ステップS132で選択されていない侵入経路(未選択の侵入経路)があるか判定する。
 未選択の侵入経路がある場合、処理はステップS132に進む。
 未選択の侵入経路がない場合、サブアタックツリー群生成処理(S130)は終了する。
 但し、ステップS132からステップS134までの処理は、並列処理で実現してもよい。つまり、複数の侵入経路に対する複数の子孫ツリー群を並列処理によって同時に生成してもよい。
 図11に基づいて、子孫ツリー群生成処理(S133)の手順を説明する。
 ステップS1331において、子孫システム選択部132は、ルートシステムを親システムにして、親システムに対する子システムを特定する。
 子システムは、選択経路において親システムの1つ前に位置するサブシステムである。
 ステップS1332において、子孫ツリー生成部133は、親ツリーの末端ノード毎に、推論ルール193を用いて子ツリーを生成する。
 親ツリーは、親システムのアタックツリーである。
 子ツリーは、子システムのアタックツリーである。
 具体的には、子孫ツリー生成部133は、子システム構成データと推論ルール193とを入力として、アタックツリー自動生成ツールを実行する。
 子システム構成データは、子システムの構成を示すサブシステム構成データである。
 使用されるアタックツリー自動生成ツールは、ステップS131で使用されるツールと同じである。
 但し、子孫ツリー生成部133は、生成中のアタックツリーのそれぞれの経路に子システム侵入ノードが現れた段階で、アタックツリー自動生成ツールの実行を中断する。子システム侵入ノードは、子システムへの侵入を意味するノードである。
 これにより、子ツリーが得られる。子孫ツリー生成部133は、子ツリーをデータとして記憶部190に記憶する。
 ステップS1332は並列処理で実現してもよい。つまり、親ツリーの複数の末端ノードに対する複数の子ツリーを並列処理によって同時に生成してもよい。
 ステップS1333において、子孫システム選択部132は、子システムが起点システムであるか判定する。
 起点システムは、選択経路における先頭のサブシステムである。
 子システムが起点システムである場合、子孫ツリー群生成処理(S133)は終了する。
 子システムが起点システムでない場合、処理はステップS1334に進む。
 ステップS1334において、子孫システム選択部132は、子システムを親システムにして、親システムに対する子システムを特定する。
 ステップS1334の後、処理はステップS1332に進む。
 図9に戻り、ステップS141から説明を続ける。
 ステップS141において、サブアタックツリー統合部140は、全てのサブアタックツリー群を統合する。
 これにより、対象システムのアタックツリーが得られる。サブアタックツリー統合部140は、対象システムのアタックツリーをデータとして記憶部190に記憶する。
 但し、サブアタックツリー統合部140は以下のように動作する。
 サブアタックツリー統合部140は、全てのサブアタックツリー群を検索することによって、兄弟ツリーを見つける。兄弟ツリーは、共通の親ツリーの共通の末端ノードを同じルートノードを持つ複数の子ツリーである。
 そして、サブアタックツリー統合部140は、論理和ゲートを介して兄弟ツリーのそれぞれのルートノードを共通の末端ノードに接続する。
 ステップS142において、サブアタックツリー統合部140は、対象システムのアタックツリーを出力する。
 例えば、サブアタックツリー統合部140は、対象システムのアタックツリーをディスプレイに表示する。
***実施の形態1の効果***
 論理推論型のアタックツリー自動生成ツールには、システムの規模に対して多項式オーダーで計算量が増大する、という課題がある。
 実施の形態1では、複数のサブシステムに対応する複数のサブアタックツリーが生成された後に複数のサブアタックツリーを結合することによって、対象システムのアタックツリーが生成される。
 サブシステムの規模は対象システムの規模よりも小さいため、サブアタックツリーを生成するための計算量が増大しない。その結果、対象システムのアタックツリーの生成に要する計算量を削減することができる。
 実施の形態2.
 アタックツリー生成装置200について、主に実施の形態1と異なる点を図12から図14に基づいて説明する。
 アタックツリー生成装置200は、対象システムの専用の推論ルールを生成し、専用の推論ルールを用いて対象システムのアタックツリーを生成する。
***構成の説明***
 図11に基づいて、アタックツリー生成装置200の構成を説明する。
 アタックツリー生成装置200は、プロセッサ201とメモリ202と補助記憶装置203と入出力インタフェース204といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
 プロセッサ201は、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ201はCPU、DSPまたはGPUである。
 メモリ202は揮発性の記憶装置である。メモリ202は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ202はRAMである。メモリ202に記憶されたデータは必要に応じて補助記憶装置203に保存される。
 補助記憶装置203は不揮発性の記憶装置である。例えば、補助記憶装置203は、ROM、HDDまたはフラッシュメモリである。補助記憶装置203に記憶されたデータは必要に応じてメモリ202にロードされる。
 入出力インタフェース204は入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース204はUSB端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。
 アタックツリー生成装置200は、専用基礎情報取得部210と専用推論ルール生成部220とアタックツリー生成部230といった要素を備える。これらの要素はソフトウェアで実現される。
 補助記憶装置203には、専用基礎情報取得部210と専用推論ルール生成部220とアタックツリー生成部230としてコンピュータを機能させるためのアタックツリー生成プログラムが記憶されている。アタックツリー生成プログラムは、メモリ202にロードされて、プロセッサ201によって実行される。
 さらに、補助記憶装置203にはOSが記憶されている。OSの少なくとも一部は、メモリ202にロードされて、プロセッサ201によって実行される。
 つまり、プロセッサ201は、OSを実行しながら、アタックツリー生成プログラムを実行する。
 アタックツリー生成プログラムの入出力データは記憶部290に記憶される。
 メモリ202は記憶部290として機能する。但し、補助記憶装置203、プロセッサ201内のレジスタおよびプロセッサ201内のキャッシュメモリなどの記憶装置が、メモリ202の代わりに、又は、メモリ202と共に、記憶部290として機能してもよい。
 アタックツリー生成装置200は、プロセッサ201を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ201の役割を分担する。
 アタックツリー生成プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。
 図13に基づいて、記憶部290の構成を説明する。
 記憶部290には、システム構成データ291、脅威リスト292、推論ルール293、侵入経路リスト294およびルール基礎情報データベース295などが記憶される。
 システム構成データ291と脅威リスト292と推論ルール293と侵入経路リスト294とのそれぞれは、実施の形態1におけるデータ(191、192、193、194)と同じである。
 ルール基礎情報データベース295は、脅威データベース2951と攻撃手法データベース2952とを含む。
***動作の説明***
 図14に基づいて、アタックツリー生成方法を説明する。
 ステップS211において、専用基礎情報取得部210は、システム構成データ291から、対象システムの種別情報を取得する。
 システム構成データ291は、対象システムの種別情報を含む。
 対象システムの種別情報は、対象システムの種別を示す。
 対象システムの種別は、対象システムに含まれるシステム要素の種別である。
 例えば、システム要素は、装置(コンピュータ)、装置にインストールされているOS、装置にインストールされているアプリケーションプログラム、および、その他の情報資産である。
 例えば、システム種別は、装置種別、OS種別、アプリケーション種別および情報資産種別である。
 ステップS212において、専用基礎情報取得部210は、対象システムの種別に対応するルール基礎情報をルール基礎情報データベース295から取得する。
 取得されるルール基礎情報を「専用基礎情報」と称する。
 ルール基礎情報データベース295には、複数のシステム種別と複数のルール基礎情報とが互いに対応付けられている。
 ルール基礎情報は、推論ルールを生成するための情報である。
 具体的には、ルール基礎情報データベース295は、脅威データベース2951および攻撃手法データベース2952である。
 脅威データベース2951には、各種の脅威テンプレートが登録されている。それぞれの脅威テンプレートには種別タグが付加されている。脅威テンプレートは、脅威リストに登録される脅威データのインスタンスである。脅威テンプレートには、脅威を引き起こすための事前条件が定義されている。事前条件は、論理式、または、論理式に変換可能な表現、で定義されている。対象システムのシステム要素の情報(装置名または情報資産名など)を脅威テンプレートに設定することにより、対象脅威データが生成される。対象脅威データは、例えば、専用基礎情報取得部210またはアタックツリー生成部230によって生成される。
 攻撃手法データベース2952には、サイバー攻撃の手法が登録されている。それぞれの攻撃手法には種別タグが付加されている。攻撃手法は、その手法を使用するための事前条件とその攻撃によって発生する効果(攻撃効果)とが定義されている。事前条件および攻撃効果は、論理式、または論理式に変換可能な表現、で定義されている。
 ステップS230において、専用推論ルール生成部220は、複数のルール基礎情報のうちの専用基礎情報だけを用いて、推論ルール生成処理を実行する。これにより、対象システムの専用推論ルールが生成される。生成される専用推論ルールが推論ルール293である。
 推論ルール生成処理は、推論ルールを生成するための任意の処理である。例えば、特許文献1に開示された方式を使用することが可能である。特許文献1には、攻撃シナリオを導出するための推論ルールを自動生成するための方式が開示されている。この方式では、攻撃手法の定義(事前条件および攻撃効果)を用いて、推論ルールが自動生成される。
 推論ルール生成処理において、専用推論ルール生成部220は次のように動作する。まず、専用推論ルール生成部220は、脅威(または攻撃手法)の事前条件を充足する攻撃効果を持つ攻撃手法の組み合わせを特定する。次に、専用推論ルール生成部220は、特定された組み合わせに基づいて、脅威(または攻撃手法)の実行順序を特定する。そして、専用推論ルール生成部220は、特定された実行順序に基づいて、専用推論ルールを生成する。
 ステップS231において、アタックツリー生成部230は、専用推論ルールを用いて、アタックツリー生成処理を実行する。これにより、対象システムのアタックツリーが生成される。
 アタックツリー生成処理は、アタックツリーを生成するための任意の処理である(実施の形態1と同じ)。
 ステップS232において、アタックツリー生成部230は、対象システムのアタックツリーを出力する。
 例えば、アタックツリー生成部230は、対象システムのアタックツリーをディスプレイに表示する。
***実施の形態2の効果***
 論理推論型のアタックツリー自動生成ツールには、推論ルールの規模に対して多項式オーダーで計算量が増大する、という課題がある。
 実施の形態2では、対象システムの種別に関するルールに限定した専用推論ルールが生成された後に専用推論ルールを用いて対象システムのアタックツリーが生成される。
 対象システムの種別に関するルールに限定された専用推論ルールが使用されるため、対象システムのアタックツリーの生成に要する計算量を削減することができる。
 実施の形態3.
 アタックツリー生成装置300について、主に実施の形態1と異なる点を図15および図16に基づいて説明する。
 アタックツリー生成装置300は、アタックツリー生成装置200(実施の形態1)とアタックツリー生成装置300(実施の形態2)との組み合わせである。
***構成の説明***
 図15に基づいて、アタックツリー生成装置300の構成を説明する。
 アタックツリー生成装置300は、プロセッサ301とメモリ302と補助記憶装置303と入出力インタフェース304といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
 プロセッサ301は、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ301はCPU、DSPまたはGPUである。
 メモリ302は揮発性の記憶装置である。メモリ302は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ302はRAMである。メモリ302に記憶されたデータは必要に応じて補助記憶装置303に保存される。
 補助記憶装置303は不揮発性の記憶装置である。例えば、補助記憶装置303は、ROM、HDDまたはフラッシュメモリである。補助記憶装置303に記憶されたデータは必要に応じてメモリ302にロードされる。
 入出力インタフェース304は入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース304はUSB端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。
 アタックツリー生成装置300は、専用基礎情報取得部210と専用推論ルール生成部220とアタックツリー生成部310といった要素を備える。これらの要素はソフトウェアで実現される。
 アタックツリー生成部310は、システム分割部110と侵入経路予測部120とサブアタックツリー生成部130とサブアタックツリー統合部140とを備える。
 システム分割部110と侵入経路予測部120とサブアタックツリー生成部130とサブアタックツリー統合部140とのそれぞれは、実施の形態1における要素である。
 専用基礎情報取得部210と専用推論ルール生成部220とのそれぞれは、実施の形態2における要素である。
 補助記憶装置303には、専用基礎情報取得部210と専用推論ルール生成部220とアタックツリー生成部310としてコンピュータを機能させるためのアタックツリー生成プログラムが記憶されている。アタックツリー生成プログラムは、メモリ302にロードされて、プロセッサ301によって実行される。
 さらに、補助記憶装置303にはOSが記憶されている。OSの少なくとも一部は、メモリ302にロードされて、プロセッサ301によって実行される。
 つまり、プロセッサ301は、OSを実行しながら、アタックツリー生成プログラムを実行する。
 アタックツリー生成プログラムの入出力データは記憶部290に記憶される。記憶部290は、実施の形態2における要素である。
 メモリ302は記憶部290として機能する。但し、補助記憶装置303、プロセッサ301内のレジスタおよびプロセッサ301内のキャッシュメモリなどの記憶装置が、メモリ302の代わりに、又は、メモリ302と共に、記憶部290として機能してもよい。
 アタックツリー生成装置300は、プロセッサ301を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ301の役割を分担する。
 アタックツリー生成プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。
***動作の説明***
 図16に基づいて、アタックツリー生成方法を説明する。
 ステップS310において、システム分割部110は、システム構成データ191に基づいて、対象システムを複数のサブシステムに分割する。
 ステップS310は、実施の形態1におけるステップS110と同じである。
 ステップS320において、専用推論ルール生成部220は、サブシステム毎に専用推論ルールを生成する。これにより、複数のサブシステムに対応する複数の専用推論ルールが生成される。生成される複数の専用推論ルールを専用推論ルール群と称する。
 サブシステムの専用推論ルールを生成する方法は、実施の形態2における方法(ステップS211~ステップS232)と同様である。
 ステップS330において、アタックツリー生成部310は、専用推論ルール群を用いて、対象システムのアタックツリーを生成する。
 対象システムのアタックツリーを生成する方法は、実施の形態1における方法(ステップS121~ステップS141)と同様である。サブシステムのアタックツリーの生成には、サブシステムの専用推論ルールが使用される。
 ステップS340において、アタックツリー生成部310は、対象システムのアタックツリーを出力する。
 例えば、アタックツリー生成部310は、対象システムのアタックツリーをディスプレイに表示する。
***実施の形態3の効果***
 実施の形態3では、実施の形態1と実施の形態2との両方の効果が得られるため、アタックツリーの生成に要する計算量をさらに削減することができる。
***実施の形態のまとめ***
 セキュリティ対策を支援する技術として、アタックツリー自動生成ツールが提案されている。このツールは、対象システムの情報を入力するだけで、アタックツリーを生成することができる。システムの開発者は、生成されたアタックツリーを確認することで、セキュリティ対策案を検討することができる。つまり、アタックツリーは安全なシステム開発に役立つ。
 従来、論理推論型のアタックツリー自動生成ツールが存在する。このツールは、サイバー攻撃の発生条件と対象システムの構成情報とを照らし合わせて推論を行う。これにより、アタックツリーが生成される。しかし、論理推論型のアタックツリー自動生成ツールには、システムの規模に対して多項式オーダーで計算量が増大する、という課題がある。
 実施の形態は、次の2つの技術により、アタックツリーの生成タスクを効率化する。(1)対象システムを複数のサブシステムに分割し、複数のサブシステムに対応する複数のサブアタックツリーを統合する。(2)アタックツリー(またはサブアタックツリー)の生成において、システム種別に限定した推論ルールを自動生成し、推論ルールのサイズを縮小する。
 実施の形態により、対象システムの分割数に応じて多項式倍高速にアタックツリーを生成できる。その結果、セキュリティ対策を含めたシステム開発期間の短縮が期待できる。
***実施の形態の補足***
 図17に基づいて、アタックツリー生成装置(100,200,300)のハードウェア構成を説明する。
 アタックツリー生成装置100は処理回路109を備える。
 処理回路109は、システム分割部110と侵入経路予測部120とサブアタックツリー生成部130とサブアタックツリー統合部140とを実現するハードウェアである。
 処理回路109は、専用のハードウェアであってもよいし、メモリ102に格納されるプログラムを実行するプロセッサ101であってもよい。
 アタックツリー生成装置200は処理回路209を備える。
 処理回路209は、専用基礎情報取得部210と専用推論ルール生成部220とアタックツリー生成部230とを実現するハードウェアである。
 処理回路209は、専用のハードウェアであってもよいし、メモリ202に格納されるプログラムを実行するプロセッサ201であってもよい。
 アタックツリー生成装置300は処理回路309を備える。
 処理回路309は、専用基礎情報取得部210と専用推論ルール生成部220とアタックツリー生成部310とを実現するハードウェアである。
 処理回路309は、専用のハードウェアであってもよいし、メモリ302に格納されるプログラムを実行するプロセッサ301であってもよい。
 処理回路(109,209,309)が専用のハードウェアである場合、処理回路は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGAまたはこれらの組み合わせである。
 ASICはApplication Specific Integrated Circuitの略称であり、FPGAはField Programmable Gate Arrayの略称である。
 アタックツリー生成装置(100,200,300)は、処理回路(109,209,309)を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路(109,209,309)の役割を分担する。
 アタックツリー生成装置(100,200,300)において、一部の機能が専用のハードウェアで実現されて、残りの機能がソフトウェアまたはファームウェアで実現されてもよい。
 このように、処理回路(109,209,309)はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することができる。
 実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
 アタックツリー生成装置(100,200,300)は、複数の装置で実現されてもよい。つまり、アタックツリー生成装置は、システムとして実現されてもよい。
 アタックツリー生成装置(100,200,300)の要素である「部」は、「処理」または「工程」と読み替えてもよい。
 100 アタックツリー生成装置、101 プロセッサ、102 メモリ、103 補助記憶装置、104 入出力インタフェース、109 処理回路、110 システム分割部、120 侵入経路予測部、121 侵入データ取得部、122 ルートシステム選択部、123 侵入経路リスト生成部、130 サブアタックツリー生成部、131 ルートツリー生成部、132 子孫システム選択部、133 子孫ツリー生成部、140 サブアタックツリー統合部、190 記憶部、191 システム構成データ、192 脅威リスト、193 推論ルール、194 侵入経路リスト、200 アタックツリー生成装置、201 プロセッサ、202 メモリ、203 補助記憶装置、204 入出力インタフェース、209 処理回路、210 専用基礎情報取得部、220 専用推論ルール生成部、230 アタックツリー生成部、290 記憶部、291 システム構成データ、292 脅威リスト、293 推論ルール、294 侵入経路リスト、295 ルール基礎情報データベース、2951 脅威データベース、2952 攻撃手法データベース、300 アタックツリー生成装置、301 プロセッサ、302 メモリ、303 補助記憶装置、304 入出力インタフェース、309 処理回路、310 アタックツリー生成部、900 アタックツリー、901 子孫ツリー群、902 論理和ゲート、903 兄弟ツリー、904 共通ノード、910 ルートツリー、911 ルートノード、912 内部ノード、913 末端ノード、914 論理ゲート、920 子ツリー、921 ルートノード、923 末端ノード、924 論理ゲート。

Claims (14)

  1.  セキュリティ対策の対象となる対象システムの構成を示すシステム構成データに基づいて、前記対象システムを複数のサブシステムに分割するシステム分割部と、
     前記対象システムにおけるセキュリティの脅威の内容を示す脅威データに基づいて、前記複数のサブシステムから前記脅威が発生するサブシステムをルートシステムとして選択するルートシステム選択部と、
     前記ルートシステムに対してアタックツリー生成処理を実行することにより、前記ルートシステムのアタックツリーをルートツリーとして生成するルートツリー生成部と、
     前記対象システムにおける前記ルートシステムへの侵入経路を示す侵入経路データに基づいて、前記複数のサブシステムから、前記侵入経路に位置する1つ以上のサブシステムを1つ以上の子孫システムとして選択する子孫システム選択部と、
     前記1つ以上の子孫システムのそれぞれに対して前記アタックツリー生成処理を実行することにより、前記1つ以上の子孫システムに対応する1つ以上のアタックツリーを1つ以上の子孫ツリーとして生成する子孫ツリー生成部と、
     前記ルートツリーと前記1つ以上の子孫ツリーとを統合することによって、前記対象システムのアタックツリーを生成するサブアタックツリー統合部と、
    を備えるアタックツリー生成装置。
  2.  前記ルートツリー生成部は、前記脅威を表すルートノードを持つアタックツリーを前記ルートツリーとして生成する
    請求項1に記載のアタックツリー生成装置。
  3.  前記ルートツリー生成部は、前記脅威を表すノードをルートノードにして前記アタックツリー生成処理を開始し、生成中のアタックツリーに含まれる1つ以上の経路のそれぞれに前記ルートシステムへの侵入を意味する侵入ノードが現れた段階でそれぞれの経路に現れた侵入ノードをそれぞれの経路における末端ノードにして前記アタックツリー生成処理を中断する、ことによって前記ルートツリーを生成する
    請求項2に記載のアタックツリー生成装置。
  4.  前記子孫システム選択部は、前記ルートシステムを親システムとして扱い、前記侵入経路において前記親システムの1つ前に位置するサブシステム、を子システムとして選択し、
     前記子孫ツリー生成部は、前記ルートツリーを親ツリーとして扱い、前記親ツリーの1つ以上の末端ノードのそれぞれをルートノードにして前記アタックツリー生成処理を開始し、生成中のアタックツリーに含まれる1つ以上の経路のそれぞれに前記子システムへの侵入を意味する侵入ノードが現れた段階でそれぞれの経路に現れた侵入ノードをそれぞれの経路における末端ノードにして前記アタックツリー生成処理を中断する、ことによって1つ以上の子ツリーを生成する
    請求項3に記載のアタックツリー生成装置。
  5.  前記子孫システム選択部は、前回の子システムを今回の親システムとして扱い、前記侵入経路において前記今回の親システムの1つ前に位置するサブシステム、を今回の子システムとして選択し、
     前記子孫ツリー生成部は、前回の1つ以上の子ツリーのそれぞれを今回の親ツリーとして扱い、今回の親ツリーの1つ以上の末端ノードのそれぞれをルートノードにしてアタックツリー生成処理を開始し、生成中のアタックツリーに含まれる1つ以上の経路のそれぞれに前記今回の子システムへの侵入を意味する侵入ノードが現れた段階でそれぞれの経路に現れた侵入ノードをそれぞれの経路における末端ノードにして前記アタックツリー生成処理を中断する、ことによって前記今回の親ツリーに対する1つ以上の子ツリーを生成する
    請求項4に記載のアタックツリー生成装置。
  6.  前記子孫システム選択部は、前記ルートシステムを親システムとして扱い、前記侵入経路において前記親システムの1つ前に位置するサブシステム、を子システムとして選択し、
     前記子孫ツリー生成部は、前記ルートツリーを親ツリーとして扱い、前記親ツリーの1つ以上の末端ノードを1つ以上の末端ノードグループに分け、前記親ツリーの前記1つ以上の末端ノードグループのそれぞれをルートノードにしてアタックツリー生成処理を開始し、生成中のアタックツリーに含まれる1つ以上の経路のそれぞれに前記子システムへの侵入を意味する侵入ノードが現れた段階でそれぞれの経路に現れた侵入ノードをそれぞれの経路における末端ノードにして前記アタックツリー生成処理を中断する、ことによって1つ以上の子ツリーを生成する
    請求項3に記載のアタックツリー生成装置。
  7.  前記子孫システム選択部は、前回の子システムを今回の親システムとして扱い、前記侵入経路において前記今回の親システムの1つ前に位置するサブシステム、を今回の子システムとして選択し、
     前記子孫ツリー生成部は、前回の1つ以上の子ツリーのそれぞれを今回の親ツリーとして扱い、今回の親ツリーの1つ以上の末端ノードを1つ以上の末端ノードグループに分け、前記今回の親ツリーの前記1つ以上の末端ノードグループのそれぞれをルートノードにしてアタックツリー生成処理を開始し、生成中のアタックツリーに含まれる1つ以上の経路のそれぞれに前記今回の子システムへの侵入を意味する侵入ノードが現れた段階でそれぞれの経路に現れた侵入ノードをそれぞれの経路における末端ノードにして前記アタックツリー生成処理を中断する、ことによって前記今回の親ツリーに対する1つ以上の子ツリーを生成する
    請求項6に記載のアタックツリー生成装置。
  8.  前記子孫システム選択部は、前記対象システムにおける前記ルートシステムへの複数の侵入経路がある場合、侵入経路毎に1つ以上の子孫システムである子孫システム群を選択し、
     前記子孫ツリー生成部は、子孫システム群毎に1つ以上の子孫ツリーである子孫ツリー群を生成し、
     前記サブアタックツリー統合部は、前記複数の侵入経路に対応する複数の子孫ツリー群を検索することによって、共通の親ツリーの共通の末端ノードと同じルートノードを持つ複数の子ツリーである兄弟ツリーを見つけ、論理和ゲートを介して前記兄弟ツリーのそれぞれのルートノードを前記共通の末端ノードに接続する
    請求項4から請求項7のいずれか1項に記載のアタックツリー生成装置。
  9.  前記アタックツリー生成装置は、さらに、
     複数のシステム種別と複数のルール基礎情報とが互いに対応付けられたルール基礎情報データベースから、前記ルートシステムの種別に対応するルール基礎情報をルートシステム用基礎情報として取得し、前記基礎情報データベースから、それぞれの子孫システムの種別に対応するルール基礎情報を子孫システム用基礎情報として取得する専用基礎情報取得部と、
     前記複数のルール基礎情報のうちの前記ルートシステム用基礎情報だけを用いて推論ルール生成処理を実行することにより、ルートシステム用推論ルールを生成し、前記複数のルール基礎情報のうちのそれぞれの子孫システム用基礎情報だけを用いて前記推論ルール生成処理を実行することにより、それぞれの子孫システム用推論ルールを生成する専用推論ルール生成部とを備え、
     前記ルートツリー生成部は、前記ルートシステム用推論ルールを用いて前記アタックツリー生成処理を実行することにより、前記ルートツリーを生成し、
     前記子孫ツリー生成部は、それぞれの子孫システム用推論ルールを用いて前記アタックツリー生成処理を実行することにより、それぞれの子孫ツリーを生成する
    請求項1から請求項8のいずれか1項に記載のアタックツリー生成装置。
  10.  システム分割部が、セキュリティ対策の対象となる対象システムの構成を示すシステム構成データに基づいて、前記対象システムを複数のサブシステムに分割し、
     ルートシステム選択部が、前記対象システムにおけるセキュリティの脅威の内容を示す脅威データに基づいて、前記複数のサブシステムから前記脅威が発生するサブシステムをルートシステムとして選択し、
     ルートツリー生成部が、前記ルートシステムに対してアタックツリー生成処理を実行することにより、前記ルートシステムのアタックツリーをルートツリーとして生成し、
     子孫システム選択部が、前記対象システムにおける前記ルートシステムへの侵入経路を示す侵入経路データに基づいて、前記複数のサブシステムから、前記侵入経路に位置する1つ以上のサブシステムを1つ以上の子孫システムとして選択し、
     子孫ツリー生成部が、前記1つ以上の子孫システムのそれぞれに対して前記アタックツリー生成処理を実行することにより、前記1つ以上の子孫システムに対応する1つ以上のアタックツリーを1つ以上の子孫ツリーとして生成し、
     サブアタックツリー統合部が、前記ルートツリーと前記1つ以上の子孫ツリーとを統合することによって、前記対象システムのアタックツリーを生成する
    アタックツリー生成方法。
  11.  セキュリティ対策の対象となる対象システムの構成を示すシステム構成データに基づいて、前記対象システムを複数のサブシステムに分割するシステム分割処理と、
     前記対象システムにおけるセキュリティの脅威の内容を示す脅威データに基づいて、前記複数のサブシステムから前記脅威が発生するサブシステムをルートシステムとして選択するルートシステム選択処理と、
     前記ルートシステムに対してアタックツリー生成処理を実行することにより、前記ルートシステムのアタックツリーをルートツリーとして生成するルートツリー生成処理と、
     前記対象システムにおける前記ルートシステムへの侵入経路を示す侵入経路データに基づいて、前記複数のサブシステムから、前記侵入経路に位置する1つ以上のサブシステムを1つ以上の子孫システムとして選択する子孫システム選択処理と、
     前記1つ以上の子孫システムのそれぞれに対して前記アタックツリー生成処理を実行することにより、前記1つ以上の子孫システムに対応する1つ以上のアタックツリーを1つ以上の子孫ツリーとして生成する子孫ツリー生成処理と、
     前記ルートツリーと前記1つ以上の子孫ツリーとを統合することによって、前記対象システムのアタックツリーを生成するサブアタックツリー統合処理と、
    をコンピュータに実行させるためのアタックツリー生成プログラム。
  12.  セキュリティ対策の対象となる対象システムの種別とを示すシステム構成データに基づいて、複数のシステム種別と複数のルール基礎情報とが互いに対応付けられたルール基礎情報データベースから、前記対象システムの種別に対応するルール基礎情報を専用基礎情報として取得する専用基礎情報取得部と、
     前記複数のルール基礎情報のうちの前記専用基礎情報だけを用いて推論ルール生成処理を実行することにより、前記対象システムの専用推論ルールを生成する専用推論ルール生成部と、
     前記専用推論ルールを用いてアタックツリー生成処理を実行することにより、前記対象システムのアタックツリーを生成するアタックツリー生成部と、
    を備えるアタックツリー生成装置。
  13.  専用基礎情報取得部が、セキュリティ対策の対象となる対象システムの種別とを示すシステム構成データに基づいて、複数のシステム種別と複数のルール基礎情報とが互いに対応付けられたルール基礎情報データベースから、前記対象システムの種別に対応するルール基礎情報を専用基礎情報として取得し、
     専用推論ルール生成部が、前記複数のルール基礎情報のうちの前記専用基礎情報だけを用いて推論ルール生成処理を実行することにより、前記対象システムの専用推論ルールを生成し、
     アタックツリー生成部が、前記専用推論ルールを用いてアタックツリー生成処理を実行することにより、前記対象システムのアタックツリーを生成する
    アタックツリー生成方法。
  14.  セキュリティ対策の対象となる対象システムの種別とを示すシステム構成データに基づいて、複数のシステム種別と複数のルール基礎情報とが互いに対応付けられたルール基礎情報データベースから、前記対象システムの種別に対応するルール基礎情報を専用基礎情報として取得する専用基礎情報取得処理と、
     前記複数のルール基礎情報のうちの前記専用基礎情報だけを用いて推論ルール生成処理を実行することにより、前記対象システムの専用推論ルールを生成する専用推論ルール生成処理と、
     前記専用推論ルールを用いてアタックツリー生成処理を実行することにより、前記対象システムのアタックツリーを生成するアタックツリー生成処理と、
    をコンピュータに実行させるためのアタックツリー生成プログラム。
PCT/JP2018/048282 2018-12-27 2018-12-27 アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム WO2020136837A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
PCT/JP2018/048282 WO2020136837A1 (ja) 2018-12-27 2018-12-27 アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム
PCT/JP2019/050000 WO2020137847A1 (ja) 2018-12-27 2019-12-20 アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム
JP2020558642A JP6847330B2 (ja) 2018-12-27 2019-12-20 アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム
CN201980085372.XA CN113228017B (zh) 2018-12-27 2019-12-20 攻击树生成装置、攻击树生成方法以及计算机可读取的记录介质
US17/244,515 US11899788B2 (en) 2018-12-27 2021-04-29 Attack tree generation device, attack tree generation method, and computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/048282 WO2020136837A1 (ja) 2018-12-27 2018-12-27 アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム

Publications (1)

Publication Number Publication Date
WO2020136837A1 true WO2020136837A1 (ja) 2020-07-02

Family

ID=71125921

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP2018/048282 WO2020136837A1 (ja) 2018-12-27 2018-12-27 アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム
PCT/JP2019/050000 WO2020137847A1 (ja) 2018-12-27 2019-12-20 アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/050000 WO2020137847A1 (ja) 2018-12-27 2019-12-20 アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム

Country Status (4)

Country Link
US (1) US11899788B2 (ja)
JP (1) JP6847330B2 (ja)
CN (1) CN113228017B (ja)
WO (2) WO2020136837A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022091207A1 (ja) * 2020-10-27 2022-05-05 日本電気株式会社 リスク分析装置、分析対象要素決定装置、方法、及びコンピュータ可読媒体

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7175427B2 (ja) * 2020-08-18 2022-11-18 三菱電機株式会社 攻撃手段評価装置、攻撃手段評価方法、および、攻撃手段評価プログラム
CN115484105B (zh) * 2022-09-19 2024-02-02 北京犬安科技有限公司 攻击树的建模方法、装置、电子设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011519435A (ja) * 2007-10-10 2011-07-07 テレフオンアクチーボラゲット エル エム エリクソン(パブル) セキュリティ解析に基づいて技術システムの再構成を行なうための装置、並びに対応する技術的意思決定支援システム及びコンピュータプログラム製品
US20170019421A1 (en) * 2015-07-14 2017-01-19 Sap Se Penetration test attack tree generator
WO2018134909A1 (ja) * 2017-01-18 2018-07-26 三菱電機株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04302364A (ja) 1991-03-29 1992-10-26 Nippon Telegr & Teleph Corp <Ntt> 故障解析方式
JP2556814B2 (ja) 1993-08-25 1996-11-27 株式会社日立製作所 知識ベースの構築方法および知識ベースによる故障診断方法
JP3040912B2 (ja) 1994-04-22 2000-05-15 核燃料サイクル開発機構 フォールトツリーの展開方法
US7162741B2 (en) * 2001-07-30 2007-01-09 The Trustees Of Columbia University In The City Of New York System and methods for intrusion detection with dynamic window sizes
JP4649080B2 (ja) 2001-09-17 2011-03-09 株式会社東芝 ネットワーク侵入検知システム、装置及びプログラム
US7194769B2 (en) * 2003-12-11 2007-03-20 Massachusetts Institute Of Technology Network security planning architecture
JP2006023916A (ja) 2004-07-07 2006-01-26 Laurel Intelligent Systems Co Ltd 情報保護方法、情報セキュリティ管理装置、情報セキュリティ管理システム、情報セキュリティ管理プログラム
US8429708B1 (en) * 2006-06-23 2013-04-23 Sanjay Tandon Method and system for assessing cumulative access entitlements of an entity in a system
US8099787B2 (en) * 2007-08-15 2012-01-17 Bank Of America Corporation Knowledge-based and collaborative system for security assessment of web applications
CN102082780B (zh) 2009-11-30 2014-03-05 国际商业机器公司 安全验证的方法和装置
CN105515776A (zh) * 2010-03-05 2016-04-20 交互数字专利控股公司 给设备提供安全性的方法和装置
CN102640161B (zh) * 2010-10-28 2015-10-21 松下电器产业株式会社 篡改监视系统、保护控制模组及检测模组
US9305169B2 (en) * 2012-12-18 2016-04-05 Tinfoil Security, Inc. System and methods for scalably identifying and characterizing structural differences between document object models
JP6047463B2 (ja) 2013-08-21 2016-12-21 日立オートモティブシステムズ株式会社 セキュリティ上の脅威を評価する評価装置及びその方法
US9497206B2 (en) * 2014-04-16 2016-11-15 Cyber-Ark Software Ltd. Anomaly detection in groups of network addresses
EP3203378B1 (en) * 2014-11-10 2019-07-17 Nippon Telegraph and Telephone Corporation Optimization device, optimization method, and optimization program
JP6058246B2 (ja) 2014-11-14 2017-01-11 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム
US10841332B2 (en) * 2015-12-14 2020-11-17 Siemens Industry, Inc. System and method for passive assessment of industrial perimeter security
CN109074453B (zh) * 2016-04-26 2021-10-26 三菱电机株式会社 入侵检测装置、入侵检测方法以及计算机能读取的存储介质
US10430581B2 (en) * 2016-12-22 2019-10-01 Chronicle Llc Computer telemetry analysis
US11652839B1 (en) * 2019-05-02 2023-05-16 Architecture Technology Corporation Aviation system assessment platform for system-level security and safety

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011519435A (ja) * 2007-10-10 2011-07-07 テレフオンアクチーボラゲット エル エム エリクソン(パブル) セキュリティ解析に基づいて技術システムの再構成を行なうための装置、並びに対応する技術的意思決定支援システム及びコンピュータプログラム製品
US20170019421A1 (en) * 2015-07-14 2017-01-19 Sap Se Penetration test attack tree generator
WO2018134909A1 (ja) * 2017-01-18 2018-07-26 三菱電機株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022091207A1 (ja) * 2020-10-27 2022-05-05 日本電気株式会社 リスク分析装置、分析対象要素決定装置、方法、及びコンピュータ可読媒体
JP7517454B2 (ja) 2020-10-27 2024-07-17 日本電気株式会社 リスク分析装置、分析対象要素決定装置、方法、及びプログラム

Also Published As

Publication number Publication date
WO2020137847A1 (ja) 2020-07-02
JP6847330B2 (ja) 2021-03-24
JPWO2020137847A1 (ja) 2021-02-18
CN113228017A (zh) 2021-08-06
US20210248231A1 (en) 2021-08-12
CN113228017B (zh) 2024-05-14
US11899788B2 (en) 2024-02-13

Similar Documents

Publication Publication Date Title
KR101780233B1 (ko) 소프트웨어의 코드 클론 탐지 장치 및 방법
Gao et al. Checking smart contracts with structural code embedding
WO2020137847A1 (ja) アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム
US20210117556A1 (en) Verification of bitstreams
Capretta et al. Formal correctness of conflict detection for firewalls
JP6692281B2 (ja) テストケース生成装置、及びテストケース生成方法
JP2007109016A (ja) アクセスポリシ生成システム、アクセスポリシ生成方法及びアクセスポリシ生成用プログラム
US11416230B2 (en) Smart contract mapping to trusted hardware in a data confidence fabric
CN116896468A (zh) 网络攻击事件的防护策略确定方法及相关设备
TW201933165A (zh) 安全設計裝置、安全設計方法及安全設計程式產品
US20220101336A1 (en) Compliant and auditable data handling in a data confidence fabric
Zheng et al. Be careful with pypi packages: You may unconsciously spread backdoor model weights
JP7259932B2 (ja) 仮説検証装置、仮説検証方法、及びプログラム
JP6602511B2 (ja) プログラムコード生成装置およびプログラムコード生成プログラム
WO2021255841A1 (ja) 情報検索装置、情報検索方法、及びコンピュータ読み取り可能な記録媒体
JP7259436B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理システム
JP7292505B1 (ja) 攻撃シナリオ生成装置、攻撃シナリオ生成方法、および、攻撃シナリオ生成プログラム
KR102569264B1 (ko) 캐시모듈을 이용한 인공지능 기반의 고속 번역방법 및 시스템
EP3869731B1 (en) Data management program, data management apparatus, and data management method
CN118153035A (zh) 基于沙箱的智能合约保护方法、装置和电子设备
WO2024171423A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
US20230283615A1 (en) Access decision device, access decision method and computer readable medium
JP6554764B2 (ja) 改変領域抽出システム、改変領域抽出方法、及び、改変領域抽出プログラム
WO2020136793A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
Shaaban et al. Rule-Based Threat Analysis and Mitigation for the Automotive Domain

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18944239

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP