WO2023089669A1 - 攻撃ルート抽出システム、攻撃ルート抽出方法及び、プログラム - Google Patents

攻撃ルート抽出システム、攻撃ルート抽出方法及び、プログラム Download PDF

Info

Publication number
WO2023089669A1
WO2023089669A1 PCT/JP2021/042120 JP2021042120W WO2023089669A1 WO 2023089669 A1 WO2023089669 A1 WO 2023089669A1 JP 2021042120 W JP2021042120 W JP 2021042120W WO 2023089669 A1 WO2023089669 A1 WO 2023089669A1
Authority
WO
WIPO (PCT)
Prior art keywords
attack
information
cost
route
graph
Prior art date
Application number
PCT/JP2021/042120
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/JP2021/042120 priority Critical patent/WO2023089669A1/ja
Priority to JP2023561960A priority patent/JPWO2023089669A1/ja
Publication of WO2023089669A1 publication Critical patent/WO2023089669A1/ja

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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Definitions

  • the present invention relates to an attack route extraction system, an attack route extraction method, and a program.
  • the attack route including information such as attack means and attack conditions from the intrusion point to the attack target, and the hosts that pass through.
  • the attack graph is extracted by collecting the configuration information of the diagnosis target system, extracting the system information, and performing risk analysis by the inference engine.
  • An attack graph obtained by risk analysis includes attack conditions and means of attack, and each stage leading to another state by the means of attack is called an attack step.
  • An attack route is a connection of attack steps (sides indicating means of attack).
  • Patent Document 1 relates to a risk analysis result display device that can grasp changes in risks in a system.
  • Patent Document 2 relates to an information processing device that designates a combination of candidate countermeasures to be applied for each combination of attack activities.
  • Patent Document 3 relates to an incident analysis device that can identify a presumed attack even if multiple presumed attacks are found.
  • a system to be diagnosed includes hosts A, B, C, D, E, and F, and hosts A and B, C and D, and E and F are connected by networks, A firewall FW is provided between (A and B), (C and D), and (E and F), respectively, and access from A and B to C and D is permitted, and access to C and D is permitted. , access to E and F is allowed.
  • the attack graph is extracted by analyzing the configuration information of the diagnosis target system. It is assumed that attack source and attack target nodes A, B, C, D, E, and F in the attack graph correspond to hosts A, B, C, D, E, and F in the system to be diagnosed.
  • attack route is obtained by extracting all attack routes connecting attack steps (edges) from the attack graph.
  • attack means are omitted.
  • the purpose of the present invention is to provide an attack route extraction system, an attack route extraction method, and a program that contribute to extracting attack routes suitable for security risk diagnosis from attack graphs.
  • a functional unit that extracts attack steps that can be executed in a system to be diagnosed according to configuration information of the system to be diagnosed; a cost setting unit for setting a cost for the attack step based on at least one of threat information, attack content information, and countermeasure possibility information based on countermeasure information corresponding to means of attack; Priority of each attack route obtained by connecting one or more of the attack steps from the entrance of the system to be diagnosed to the attack target based on the cost of the attack step set by the cost setting unit It is possible to provide an attack route extraction system including an attack route extraction unit that determines the degree of attack and extracts the attack routes in order of the priority.
  • an attack route extraction method executed by a computer comprising a processor and a recording device, comprising: Extracting attack steps that can be performed in the system to be diagnosed according to the configuration information of the system to be diagnosed; a cost setting step of setting a cost for the attack step based on at least one of threat information, attack content information, and countermeasure possibility information based on countermeasure information corresponding to means of attack; Each attack route obtained by connecting one or more of the attack steps from the entrance of the system to be diagnosed to the attack target based on the cost of the attack step set in the cost setting step It is possible to provide an attack route extraction method including an attack route extraction step of determining priorities and extracting the attack routes in descending order of priority.
  • the computer A process of extracting attack steps that can be executed in the system to be diagnosed according to the configuration information of the system to be diagnosed; a cost setting process for setting a cost for the attack step based on at least one of threat information, attack content information, and countermeasure possibility information based on countermeasure information corresponding to means of attack;
  • This program can be recorded in a computer-readable storage medium.
  • the storage medium can be non-transient such as semiconductor memory, hard disk, magnetic recording medium, optical recording medium, and the like.
  • the invention can also be embodied as a computer program product.
  • an attack route extraction system it is possible to provide an attack route extraction system, an attack route extraction method, and a program that contribute to extracting attack routes suitable for security risk diagnosis from attack graphs.
  • FIG. 1 is a diagram showing an overview of a system that performs security risk diagnosis of a diagnosis target system
  • FIG. It is a figure which shows an example of the attack graph obtained by the risk analysis. It is a figure which shows an example of a simplified attack graph.
  • FIG. 3 is a diagram showing the relationship between an example configuration of a diagnosis target system, an example attack graph, and all attack routes; BRIEF DESCRIPTION OF THE DRAWINGS It is a figure which shows an example of schematic structure of the attack route extraction system of the 1st Embodiment of this invention.
  • DB cost setting information database
  • FIG. 10 is a diagram showing an outline of a method for extracting attack routes according to the second embodiment of the present invention. It is a figure which shows the structure of the computer which comprises the attack route extraction system of this invention.
  • connection lines between blocks in drawings and the like referred to in the following description include both bidirectional and unidirectional connections.
  • the unidirectional arrows schematically show the flow of main signals (data) and do not exclude bidirectionality.
  • FIG. 1 is a diagram showing an example of a schematic configuration of an attack route extraction system 500 according to one embodiment of the present invention.
  • An attack route extraction system 500 according to an embodiment of the present invention includes an attack graph generation unit 510, a cost setting unit 530, and an attack route extraction unit 540.
  • FIG. 2 is a diagram showing an overview of a system that performs security risk diagnosis of a system to be diagnosed.
  • the configuration information of the diagnosis target system 110 is collected (120), the system information 130 is extracted, the inference engine 140 performs the risk analysis 150, and the attack graph 160 is extracted.
  • Fig. 3 is a diagram showing an example of an attack graph obtained by risk analysis.
  • the parts surrounded by thin-line rectangles are attack conditions
  • the parts surrounded by ellipses are means of attack
  • the parts surrounded by thick-line rectangles indicate states (nodes).
  • each stage leading to another state (node) by means of an attack is called an attack step.
  • the attack route is, as indicated by the dashed line in FIG. 3, a connection of attack steps (sides indicating means of attack). That is, here, the attack graph means a chart or a graphical representation showing a flow (attack route) of possible combinations of each attack step.
  • FIG. 4 is a diagram showing an example of a simplified attack graph.
  • the same reference numerals as those described in FIG. 3 denote the same constituent elements.
  • FIG. 4 shows, from the attack graph obtained in the risk analysis described in FIG.
  • An example of a simplified attack graph obtained by deleting the attack conditions in the squared portions and making the attack means correspond to each side (215, 225, 226, 235, 245, 246, 255, 265) is shown below. show.
  • a simplified attack graph will be referred to as an attack graph for simplification of the description, and the means of attack may be omitted as appropriate.
  • FIG. 5 is a diagram showing an example configuration of the diagnosis target system 410, an example image of the attack graph 420 corresponding thereto, and a relationship 400 of all attack routes 430.
  • A, B, C, D, E, and F in the system to be diagnosed 410 indicate hosts, and FW indicates a firewall.
  • a and B, C and D, and E and F are connected by a network, respectively, FW is provided between (A and B), (C and D), and (E and F), and A and Access to C and D from B is permitted, and access to E and F from C and D is permitted.
  • the attack graph 420 is extracted by analyzing the configuration information of the diagnosis target system 410.
  • the attack source and attack destination nodes A, B, C, D, E, and F of the attack graph 420 are the diagnosis target system.
  • 410 correspond to hosts A, B, C, D, E, F in 410;
  • Nodes A, B, C, D, E, and F in the attack graph are simple representations of states reached by some means of attack (states where code can be executed, etc.) on the corresponding host of the diagnosis target system 410.
  • a total attack route 430 is obtained by extracting all attack routes connecting attack steps (edges) from the attack graph 420, and indicates each attack route by listing nodes in order.
  • the attack graph generation unit 510 of the attack route extraction system 500 indicates each attack step corresponding to each edge indicating the means of attack and the state (node) reached by the attack step according to the inputted configuration information 501 of the system to be diagnosed. Generate an attack graph. That is, the attack graph generation unit 510 is a functional unit that extracts attack steps that can be executed in the diagnosis target system according to the configuration information of the diagnosis target system. For example, the attack graph 420 is generated from the configuration information of one diagnosis target system 410 shown in FIG.
  • the cost setting unit 530 sets a cost for each step of the attack graph based on at least one piece of threat information, attack content information, and countermeasure possibility information based on countermeasure information corresponding to the means of attack.
  • the attack route extraction unit 540 connects one or more attack steps from the entrance of the system to be diagnosed to the attack target.
  • the priority of attack routes is determined, and attack routes are extracted in descending order of priority.
  • the priority of each attack route is determined from among all attack routes included in the attack graph obtained from the configuration information of the diagnosis target system, and the attack route is extracted based on the priority.
  • FIG. 6 is a diagram showing an example of the schematic configuration of the attack route extraction system according to the first embodiment of this invention.
  • An attack route extraction system 500 according to the first embodiment of this invention includes an attack graph generation unit 510 , a cost setting information database (DB) 520 , a cost setting unit 530 and an attack route extraction unit 540 .
  • An overview of the operation of the attack route extraction system 500 according to the first embodiment of the present invention is as follows.
  • the attack graph generation unit 510 of the attack route extraction system 500 indicates each attack step corresponding to each edge indicating the means of attack and the state (node) reached by the attack step according to the inputted configuration information 501 of the system to be diagnosed. Generate an attack graph.
  • the attack graph 420 is generated from the configuration information of the diagnosis target system 410 shown in FIG.
  • the cost setting information database 520 stores countermeasure information corresponding to threat information and means of attack.
  • the cost setting unit 530 extracts attack step information (attack content information) based on the attack graph, and converts it into at least one of threat information, attack content information, and countermeasure possibility information based on countermeasure information corresponding to the means of attack. Based on this, a cost is set for each edge of the attack graph.
  • the attack route extraction unit 540 determines the priority of each attack route from the entrance of the system to be diagnosed to the attack target, Extract attack routes.
  • the priority of each attack route may be determined by the attack route extraction unit 540 based on the total cost of each side on each attack route from the entrance to the attack target. Also, the smaller the total cost of each side, the higher the priority may be set.
  • FIG. 7 is a diagram showing an example of a schematic configuration of the attack graph generator 510 according to the first embodiment of this invention.
  • the attack graph generation unit 510 generates the attack graph 420 from the configuration information of the diagnostic target system 410 shown in FIG. 5, for example.
  • the attack graph generation unit 510 includes a vulnerability information database (DB) 512, an analysis rule storage unit 513, an inference unit 514, and an attack graph information output unit 515.
  • the collected configuration information 501 of the diagnosis target system includes host information included in the diagnosis target system, network configuration, OS (operating system) and software installed in each host, vulnerability information of each OS and software, data flow including information.
  • the vulnerability information DB 512 stores attack conditions for each vulnerability, attack results, and the like.
  • the analysis rule storage unit 513 stores analysis rules that describe information about what kind of attack can be executed under what conditions.
  • the inference unit 514 stores the collected configuration information 501 of the diagnostic target system, the attack conditions and attack results of each vulnerability stored in the vulnerability information database (DB) 512, and the analysis rule storage unit 513.
  • the attack graph information output unit 515 outputs attack graph information 502 by linking information indicating what kind of attack is possible from which host to which host, inferred by the inference unit 514 .
  • An example of the attack graph information 502 may be, for example, the attack graph (simplified attack graph) shown in FIG.
  • FIG. 8 is a diagram showing an example of the contents of information stored in the cost setting information database (DB) 520 according to the first embodiment of this invention.
  • the cost setting information DB 520 stores vulnerability information 521, threat levels 523 corresponding to means of attack, countermeasure information 522 corresponding to means of attack, and the like.
  • the information included in the vulnerability information 521 and the information included in the threat level 523 are called threat information.
  • the vulnerability identifier (ID) of the vulnerability information 521 may be, for example, a common vulnerability identifier CVE (Common Vulnerabilities and Exposures).
  • the score of CVSS Common Vulnerability Scoring System
  • the presence or absence of attack cases and the presence or absence of PoC (Proof-of-Concept) code (proof of concept code) may be stored.
  • a threat level may be set for each means of attack.
  • possible countermeasure methods may be specified for each attack means.
  • FIG. 9 is a diagram showing an example of a schematic configuration of the cost setting unit 530 of the attack route extraction system 500 according to the first embodiment of this invention.
  • the cost setting section 530 includes an attack step information extraction section 531 , a cost calculation section 532 and a cost allocation section 533 .
  • the attack step information extraction unit 531 receives the attack graph information 502 output from the attack graph generation unit 510 and extracts each piece of attack step information (attack content information) included in the attack graph information 502 .
  • the cost calculation unit 532 calculates at least one piece of countermeasure possibility information based on the attack content information extracted by the attack step information extraction unit 531, the threat information stored in the cost setting information DB 520, and the countermeasure information 522 corresponding to the means of attack. Calculate the cost of each edge based on The cost allocation unit 533 allocates and sets the cost calculated by the cost calculation unit 532 to each side of the attack graph shown in FIG. Setting the cost of each edge is described in detail below.
  • FIG. 10 is a diagram showing an example of an overview of an operation of extracting attack step information (attack content information) using an attack graph by the attack step information extractor 531 of the cost setting unit 530.
  • the attack graph shown in FIG. 10 is the same attack graph as the attack graph shown in FIG. 4 for simplification of explanation.
  • the attack step on edge 215 is determined to be a remote attack because the attack source host (PC A) and the attack target host (PC B) are different. do.
  • the attack by the edge 246 connecting from the part of the attack graph indicating that arbitrary code can be executed on the server G (node 270) to the last node 270 of the attack graph the attack target is the attack target (node 270). It is judged that it is a different attack step.
  • the attack step information extraction unit 531 of the cost setting unit 530 can extract attack step information (attack content information) using an attack graph.
  • cost setting based on attack content information In setting costs based on attack content information, more natural attack routes are preferentially extracted (a natural attack route means one that is simple and consistent). Based on the attack content information extracted using the attack graph as described above, the cost of each side of the attack graph is set by the cost allocation unit 533 of the cost setting unit 530 as follows. (3-1) Cost setting based on attack condition (remote or local) As a result of extracting attack content information using the attack graph, it is determined that the attack condition is a remote attack. If so, set remote attacks (attacks from another host) to a higher cost than local attacks (attacks within the same host).
  • (3-2) Cost Setting Based on Attack Scenario Information As a result of extracting attack content information using an attack graph, if the attack destination is the attack target, the cost is set low. (3-3) Cost setting based on host to be attacked By adding a small cost based on the identifier of the host to be attacked, the same host is set to be more likely to be selected when other conditions are the same. (3-4) Cost setting based on authority before and after attack for each attack step As a result of extracting information on each attack step using the attack graph, the lower the authority required for the attack source host before the attack step, the lower the cost. set. Also, the higher the authority that becomes executable after the attack in the attack step, the lower the cost is set. In particular, it is preferable to set the extracted attack route so that it becomes natural.
  • FIG. 11 is a diagram showing an outline of extraction of countermeasure possibility information using the attack graph of the cost calculation unit 532 according to the first embodiment of this invention.
  • the countermeasure possibility information can be extracted as follows, for example, using the attack graph shown in FIG. 11 and the countermeasure information 522 corresponding to the means of attack stored in the cost setting information DB 520 .
  • the attack graph shown in FIG. 11 is the same attack graph as the attack graph shown in FIG. 4, and the countermeasure information 522 corresponding to the attack means shown in FIG. 522.
  • the attack means that can use the installation of anti-virus software is "attacking vulnerability” five times and "executing unauthorized file” once, for a total of six times.
  • the following means of attack are counted as appearing the corresponding number of times.
  • ⁇ Vulnerability attack 6 times
  • ⁇ Regular login 1 time
  • ⁇ Unauthorized file spread 1 time
  • ⁇ Unauthorized file execution 6 times
  • PC B ⁇ once (edge 215 and node 220) ⁇ vulnerability attack
  • server C ⁇ once (edge 235 and node 240) - ⁇ vulnerability attack
  • server D ⁇ once (edge 226 and node 260) ⁇ vulnerability attack
  • server G ⁇ twice (edge 246 and node 270, edge 265 and node 270) ⁇ regular login
  • server C ⁇ once (edge 225 and node 230) ⁇ illegal file spread
  • server G ⁇ once (edge 245 and node 250) ⁇ illegal file execution
  • server G ⁇ once (edge 255 and node 270)
  • the cost of each side of the attack graph based on each piece of countermeasure possibility information extracted as described above is set as follows, as an example, by the cost allocation unit 533 .
  • attack routes that are easier to countermeasure (there are more candidate countermeasures or the countermeasures are highly effective) are preferentially extracted.
  • (5-2) Cost setting based on the number of appearances of the same attack method in the attack graph Based on the number of appearances of the same attack method in the attack graph extracted as described above, The more appearing in the attack graph, the lower the cost of the edge is set.
  • (3-53) Cost setting based on the number of occurrences of attack means that can use the same countermeasure The cost of the edge is set lower as the number of occurrences of the attack means that can reduce the risk in the attack graph is larger.
  • (-4) Cost setting based on the number of occurrences of the combination of attack destination host and attack means The cost of an edge is set lower as the number of appearances of a combination of a destination host and an attack method increases.
  • FIG. 12 is a diagram showing an example of the cost of each side set by the cost setting unit 530 of the attack route extraction system 500 according to the first embodiment of this invention.
  • the cost 1100 can be set, for example, by associating each element of the cost setting with each decimal digit.
  • a cost 1100 in FIG. 12 shows an example in which the cost is set to each digit 1101 to 1103 of the cost 1100 based on threat information, and the cost is set to each digit 1104 to 1109 of the cost 1100 based on attack content information. . Note that, for example, digits 1101 to 1109 of the cost 1100 are initially set to 0, but the present invention is not limited to this.
  • CVSS score vulnerability information of threat information
  • presence or absence of attack cases presence or absence of PoC code (proof of concept code)
  • threat level of attack means are integrated, If the threat level is 1, set the digit 1101 to 1; if the threat level is 2, set the digit 1102 to 1; if the threat level is 3, set the digit 1103 to 1. be able to.
  • Digit 1104 of the cost 1100 in FIG. 12 is set to 1 in the case of a remote attack, for example, based on the attack conditions of the attack details information, and digit 1105 is set to 1 based on the attack scenario information of the attack details information.
  • 1 is set if the target of the attack is not the target of the attack.
  • minute costs are set based on the identifier of the target host of the attack content information.
  • a value corresponding to the authority before and after the attack of the attack content information is set. That is, if the authority of attack source - attack target is general authority - administrator authority, set 0; if administrator authority - administrator authority, set 1; if general authority - general authority, set 2; Administrator rights - set to 3 for general rights.
  • FIG. 13 is a diagram showing another example of costs set by the cost setting unit 530 of the attack route extraction system 500 according to the first embodiment of this invention.
  • a cost 1200 in FIG. 13 is an example in which costs are set in the digits 1101 to 1103 of the cost 1200 based on threat information, and costs are set in the digits 1201 and 1202 of the cost 1200 based on countermeasure possibility information. indicates Note that the digits 1101 to 1103 of the cost 1200 in FIG. 13 are the same as the digits 1101 to 1103 of the cost 1100 set based on the threat information in FIG. In FIG. 13, costs can be set in the digits 1201 and 1202 of the cost 1200 using countermeasure possibility information.
  • countermeasure feasibility information includes the number of possible countermeasures, the number of appearances of the same attack method in the attack graph, the number of appearances of attacks for which the same countermeasure can be used, the number of appearances of combinations of attack destination hosts and attack methods, and the number of nodes. It can be set based on any of the in-orders, or by combining some of the countermeasure possibility information, or by synthesizing the countermeasure possibility information.
  • the number of times when setting the cost higher as the number of times increases, the number of times may be set with 99 as the upper limit. Alternatively, if the higher the number of times, the lower the cost, the lower limit may be 0, and 100 minus the number of times may be set. It should be noted that the method of setting costs is not limited to the above example, and can be appropriately selected based on the object and basic solution principle of the present invention.
  • FIG. 14 is a diagram showing an example of a schematic configuration of the attack route extraction unit 540 of the attack route extraction system 500 according to the first embodiment of this invention.
  • the attack route extractor 540 includes a route calculator 541 and an attack route output unit 542 .
  • the path calculation unit 541 of the attack route extraction unit 540 shown in FIG. 14 receives the cost-set attack graph 503 set by the cost setting unit 530 shown in FIG. based on the cost set by the cost setting unit 530 of ", the cost of each side on each attack route from the entrance to the attack target is totaled, and the priority of the attack route ( priority).
  • the attack route output unit 542 outputs a predetermined number of attack routes whose priorities have been determined as attack routes according to the priority, ie, in descending order of priority.
  • FIG. 15 is a diagram showing an output image of the attack route 504 of the attack route extraction system according to the first embodiment of the present invention in tabular format.
  • the output image in the table format shown in FIG. 15 shows, as an example, a column 1401 indicating attack numbers, a column 1402 indicating information types related to attacks, a column 1403 indicating specific information contents for each information type, and an outline of attacks.
  • the arrows indicate the progress of the attack, and as the attack progresses like the arrow, each column 1402 to 1404 is shifted rightward to represent the attack route.
  • the attack route is branched so that the arrow diverges.
  • FIG. 15 shows that it is possible to attack the numbers 3 to 4 indicated by the numbers in the number column 1401 on the left side of the table, and to attack the numbers 3 to 5 as well.
  • the attack route extraction system of the first embodiment of the present invention sets the cost of each attack route from all attack routes included in the attack graph obtained from the configuration information of the diagnosis target system, and sets the cost of each attack route. By determining the priority and extracting attack routes based on the priority, attack routes suitable for security risk diagnosis can be extracted from the attack graph without listing all attack routes. .
  • FIG. 16 is a diagram showing an example of the result of extracting attack routes from the attack graph according to the second embodiment of this invention.
  • the result may be that attack routes using low-risk attack steps are not extracted.
  • the route of each side of side 1542) is assumed to be a high risk route.
  • the high-risk route consisting of nodes A, C, E, F, the route consisting of nodes A, C, F, and the route consisting of nodes A, C, D, E, F are detected, but the routes consisting of nodes A, C, D, E, F are detected. other routes may not be detected.
  • FIG. 17 is a diagram showing an outline of a method for extracting attack routes according to the second embodiment of the present invention.
  • the second embodiment of the present invention is an embodiment in which, when extracting an attack route, an attack route is extracted such that the attack step is used for each attack step.
  • the algorithm works as follows.
  • the costs set for each side in the first embodiment are used to calculate the shortest path, and the shortest path means the minimum cost path calculated using the costs. do.
  • Step (2) Calculate the shortest path P passing through edge e from entrance s (node A) to attack target g (node F). Step (2) includes the following steps (2-1) to (2-3).
  • Step (2-1) Compute the shortest path P1 that does not include g (node F) from the entry point s (node A) to v1. As a result, if the shortest path P1 does not exist, it is determined that the shortest path P passing through the side e does not exist.
  • Step (2-2) Calculate the shortest path P2 that does not include the nodes included in P1 on the path from v2 to g (node F). If the shortest path P2 does not exist, it is determined that the shortest path P passing through the side e does not exist.
  • Step (3) Finally, add the shortest path P to the set of attack routes.
  • all attack steps that can be used for attacks can be included in any attack route.
  • the costs set for each side in the first embodiment are used to calculate the shortest path, and the shortest path means the minimum cost path calculated using the costs. do.
  • Step (2) Calculate the shortest path P passing through edge e from entrance s (node A) to attack target g (node F). Step (2) includes the following steps (2-1) to (2-3).
  • Step (2-1) Compute the shortest path P1 that does not include g (node F) from the entry point s (node A) to v1. As a result, if the shortest path P1 does not exist, it is determined that the shortest path P passing through the side e does not exist.
  • Step (2-2) Calculate the shortest path P2 that does not include the nodes included in P1 on the path from v2 to g (node F). If the shortest path P2 does not exist, it is determined that the shortest path P passing through the side e does not exist.
  • Step (3) Add the shortest path P to the set of attack routes.
  • step (4) A cost ⁇ is added to the paths of the sides included in the shortest path P. That is, the cost of each edge is changed so that the priority of each edge included in the extracted shortest path (minimum cost attack route) is lowered.
  • the procedures shown in the above-described first to third embodiments can be realized by a program that causes the computer (9000 in FIG. 18) functioning as the attack route extraction system 500 to realize the function as the attack route extraction system 500.
  • a computer is exemplified by a configuration comprising a CPU (Central Processing Unit) 9010, a communication interface 9020, a memory 9030, and an auxiliary storage device 9040 in FIG. That is, the CPU 9010 in FIG. 18 may execute the attack route extraction program to update each calculation parameter held in the auxiliary storage device 9040 or the like.
  • a CPU Central Processing Unit
  • the memory 9030 is RAM (Random Access Memory), ROM (Read Only Memory), or the like.
  • each part (processing means, function) of the attack route extraction system shown in the first to third embodiments described above is a computer that causes the processor of the computer to execute each process described above using its hardware. It can be implemented by a program.
  • the cost setting unit extracts the attack content information based on the attack graph from which the attack steps are extracted, Preferably, the attack route extraction unit determines the priority of each attack route based on the total cost of each side on each attack route from the entrance to the attack target.
  • the threat information includes vulnerability information, information on the presence or absence of attack cases, information on the presence or absence of PoC (Proof-of-Concept) codes, threats of means of attack It preferably includes at least one of the levels.
  • the attack content information includes at least one of attack conditions, attack scenario information, an attack target host identifier, and pre- and post-attack authority for each attack step. is preferred.
  • the countermeasure possibility information is the number of countermeasures that can be introduced calculated based on the countermeasure information corresponding to the attack means, the attack steps of the same attack means in the extracted attack graph, the number of appearances of attack methods that can use the same countermeasure in the attack graph, the number of appearances of combinations of attack destination hosts and attack methods in the attack graph, and the number of appearances in the attack graph.
  • the attack route extracting unit for each attack step of all attack steps in the attack graph from which the attack steps have been extracted, It is preferable to further extract the least-cost attack route that contains attack steps and does not contain duplicate attack steps.
  • the attack route extraction system according to the sixth aspect preferably changes the cost of each side so that the priority of each side included in the extracted minimum cost attack route is lowered.
  • the cost setting step includes extracting the attack content information based on the attack graph from which the attack steps are extracted,
  • the attack route extraction step includes a step of determining the priority of each attack route based on the total cost of each side on each attack route from the entrance to the attack target.
  • the above eighth and tenth modes can be developed into the second to seventh modes in the same manner as the first mode.
  • attack route extraction system 501 Configuration information of diagnostic target system 502 Attack graph information 503 Cost-set attack graph 510 Attack graph generator 512 Vulnerability information database (DB) 513 Analysis rule storage unit 514 Inference unit 515 Attack graph information output unit 520 Cost setting information database (DB) 521 vulnerability information 522 countermeasure information corresponding to attack means 523 threat level corresponding to attack means 530 cost setting unit 531 attack step information extraction unit 532 cost calculation unit 533 cost allocation unit 540 attack route extraction unit 541 route calculation unit 542 attack route Output units 1100, 1200 Cost 9000 Computer 9010 CPU 9020 Communication interface 9030 Memory 9040 Auxiliary storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

攻撃グラフから、セキュリティリスク診断を行うのに好適な攻撃ルートを抽出することに貢献する、攻撃ルート抽出システムを提供する。診断対象のシステムの構成情報に従って、診断対象システムで実施され得る攻撃ステップを抽出する機能部と、脅威情報、攻撃内容情報、攻撃手段に対応する対策情報に基づいた対策可能性情報の少なくとも一つの情報に基づいて、前記攻撃ステップに、コストを設定するコスト設定部と、前記コスト設定部の設定した前記攻撃ステップの前記コストに基づいて、前記診断対象のシステムの侵入口から攻撃目標までの、一つ以上の前記攻撃ステップを接続することで得られる各攻撃ルートの優先度を決定し、前記優先度の高い順に、前記攻撃ルートを抽出する攻撃ルート抽出部を含む。

Description

攻撃ルート抽出システム、攻撃ルート抽出方法及び、プログラム
 本発明は、攻撃ルート抽出システム、攻撃ルート抽出方法及び、プログラムに関する。
 診断対象システムのリスク分析では、分析時点での各種構成情報をもとに、侵入口から攻撃目標に至るまでの攻撃手段や攻撃条件、経由するホストなどの情報を含む攻撃ルートを抽出することが行われる。攻撃グラフは、診断対象システムの構成情報を、情報取集し、システム情報を抽出し、推論エンジンによりリスク分析を行い、抽出される。リスク分析で得られた攻撃グラフは、攻撃条件と、攻撃手段を含み、攻撃手段により別の状態に至る各段階を攻撃ステップと呼ぶ。攻撃ルートは、各攻撃ステップ(攻撃手段を示す辺)をつなげたものである。
 特許文献1は、システムにおけるリスクの変化を把握可能な、リスク分析結果表示装置に関するものである。
 特許文献2は、攻撃活動の組合せごとに、適用する対策候補の組合せを指定する情報処理装置に関するものである。
 特許文献3は、複数の推定される攻撃が見つかっても、推定攻撃を特定できるインシデント分析装置に関するものである。
国際公開第2021/130943号 再公表特許第2018/134909号 特開2019-050477号公報
 以下の分析は、本発明によって与えられたものである。例えば、図5に一例として示す如く、診断対象システムが、ホストA、B、C、D、E、Fを含み、ホストAとB、CとD、及びEとFがそれぞれネットワークにより接続され、(AとB)、(CとD)、及び(EとF)の間には、それぞれファイアーウォールFWが設けられ、AとBからの、CとDへのアクセスは許可され、CとDからの、EとFへのアクセスは許可される構成であるとする。攻撃グラフは、診断対象システムの構成情報を分析して抽出される。攻撃グラフの攻撃元及び攻撃先のノードA、B、C、D、E、Fは、診断対象システム内のホストA、B、C、D、E、Fに対応するとする。この場合、攻撃ルートは、以下に示すように、攻撃グラフから、攻撃ステップ(辺)をつなげた全攻撃ルートを抽出したものである。なお、この例では、攻撃手段を省略している。
A、B、C、D、E、F
A、B、C、D、F
A、B、C、E、F
A、B、C、F
A、B、D、C、E、F
A、B、D、C、F
A、B、D、E、F
A、B、D、F
A、C、D、E、F
A、C、D、F
A、C、E、F
A、C、F
A、D、C、E、F
A、D、C、F
A、D、E、F
A、D、F
このように、ノードを順次に列挙することにより、各攻撃ルートを示すことができる。
 セキュリティリスク診断を行うためには、攻撃グラフではなく攻撃ルートの形式で出力したいという要求がある。しかしながら、診断対象システムの構成情報から得られた攻撃グラフに含まれる全攻撃ルートを列挙すると、攻撃ルートの数が膨大になり、列挙した攻撃ルートから、セキュリティリスクの全てを把握することが困難となる。
 本発明は、攻撃グラフから、セキュリティリスク診断を行うのに好適な攻撃ルートを抽出することに貢献する、攻撃ルート抽出システム、攻撃ルート抽出方法及び、プログラムを提供することを目的とする。
 本発明の第1の視点によれば、診断対象のシステムの構成情報に従って、診断対象システムで実施され得る攻撃ステップを抽出する機能部と、
 脅威情報、攻撃内容情報、攻撃手段に対応する対策情報に基づいた対策可能性情報の少なくとも一つの情報に基づいて、前記攻撃ステップに、コストを設定するコスト設定部と、
 前記コスト設定部の設定した前記攻撃ステップの前記コストに基づいて、前記診断対象のシステムの侵入口から攻撃目標までの、一つ以上の前記攻撃ステップを接続することで得られる各攻撃ルートの優先度を決定し、前記優先度の高い順に、前記攻撃ルートを抽出する攻撃ルート抽出部を含む、攻撃ルート抽出システムを提供することができる。
 本発明の第2の視点によれば、プロセッサと記録装置とを備えるコンピュータが実行する攻撃ルート抽出方法であって、
 診断対象のシステムの構成情報に従って、診断対象システムで実施され得る攻撃ステップを抽出するステップと、
 脅威情報、攻撃内容情報、攻撃手段に対応する対策情報に基づいた対策可能性情報の少なくとも一つの情報に基づいて、前記攻撃ステップに、コストを設定するコスト設定ステップと、
 前記コスト設定ステップで設定された前記攻撃ステップの前記コストに基づいて、前記診断対象のシステムの侵入口から攻撃目標までの、一つ以上の前記攻撃ステップを接続することで得られる各攻撃ルートの優先度を決定し、前記優先度の高い順に、前記攻撃ルートを抽出する攻撃ルート抽出ステップを含む、攻撃ルート抽出方法を提供することができる。
 本発明の第3の視点によれば、コンピュータに、
 診断対象のシステムの構成情報に従って、診断対象システムで実施され得る攻撃ステップを抽出する処理と、
 脅威情報、攻撃内容情報、攻撃手段に対応する対策情報に基づいた対策可能性情報の少なくとも一つの情報に基づいて、前記攻撃ステップに、コストを設定するコスト設定処理と、
 前記コスト設定処理で設定された前記攻撃ステップの前記コストに基づいて、前記診断対象のシステムの侵入口から攻撃目標までの、一つ以上の前記攻撃ステップを接続することで得られる各攻撃ルートの優先度を決定し、前記優先度の高い順に、前記攻撃ルートを抽出する攻撃ルート抽出処理を実行させるプログラムを提供することができる。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non-transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
 本発明によれば、攻撃グラフから、セキュリティリスク診断を行うのに好適な攻撃ルートを抽出することに貢献する、攻撃ルート抽出システム、攻撃ルート抽出方法及び、プログラムを提供することができる。
本発明の一実施形態の攻撃ルート抽出システムの概略構成の一例を示す図である。 診断対象システムのセキュリティリスク診断を行うシステムの概要を示す図である。 リスク分析で得られた攻撃グラフの一例を示す図である。 簡略化した攻撃グラフの一例を示す図である。 診断対象システムの一例の構成と、攻撃グラフの一例と、全攻撃ルートの関係を示す図である。 本発明の第1の実施形態の攻撃ルート抽出システムの概略構成の一例を示す図である。 本発明の第1の実施形態の攻撃ルート抽出システムの攻撃グラフ生成部の概略構成の一例を示す図である。 本発明の第1の実施形態のコスト設定情報データベース(DB)に格納する情報の内容の一例を示す図である。 本発明の第1の実施形態の攻撃ルート抽出システムのコスト設定部の概略構成の一例を示す図である。 本発明の第1の実施形態のコスト設定部の攻撃グラフを用いた攻撃内容情報の抽出の概要の一例を示す図である。 本発明の第1の実施形態のコスト設定部の攻撃グラフを用いた対策可能性情報の抽出の概要を示す図である。 本発明の第1の実施形態の攻撃ルート抽出システムのコスト設定部により設定したコストの一例を示す図である。 本発明の第1の実施形態の攻撃ルート抽出システムのコスト設定部により設定したコストの別の一例を示す図である。 本発明の第1の実施形態の攻撃ルート抽出システムの攻撃ルート抽出部の概略構成の一例を示す図である。 本発明の第1の実施形態の攻撃ルート抽出システムの攻撃ルートの出力イメージを示す図である。 本発明の第2の実施形態の攻撃グラフから攻撃ルートを抽出した結果の一例を示す図である。 本発明の第2の実施形態の攻撃ルートの抽出する方法の概要を示す図である。 本発明の攻撃ルート抽出システムを構成するコンピュータの構成を示す図である。
 はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。また、以降の説明で参照する図面等のブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号(データ)の流れを模式的に示すものであり、双方向性を排除するものではない。
 図1は、本発明の一実施形態の攻撃ルート抽出システム500の概略構成の一例を示す図である。本発明の一実施形態の攻撃ルート抽出システム500は、攻撃グラフ生成部510と、コスト設定部530と、攻撃ルート抽出部540を含む。
 最初に、攻撃グラフ生成部510の動作について説明する。図2は、診断対象システムのセキュリティリスク診断を行うシステムの概要を示す図である。診断対象システム110の構成情報を、情報取集し(120)、システム情報130を抽出し、推論エンジン140によりリスク分析150を行い、攻撃グラフ160を抽出する。
 図3は、リスク分析で得られた攻撃グラフの一例を示す図である。図3において、細線の四角で囲まれた部分が攻撃条件であり、楕円で囲まれた部分が攻撃手段であり、太線の四角で囲まれた部分(ノード210、220、230、240、250、260、270)が状態(ノード)を示している。ここで、攻撃手段により別の状態(ノード)に至る各段階を攻撃ステップと呼ぶ。攻撃ルートは、図3の破線で示すように、各攻撃ステップ(攻撃手段を示す辺)をつなげたものである。即ち、ここに、攻撃グラフとは、各攻撃ステップの可能な組み合わせによる流れ(攻撃ルート)を示すチャートないし、図式表現を言う。
 図4は、簡略化した攻撃グラフの一例を示す図である。図4において、図3で記載した参照符号と同一の参照符号は、同一の構成要素を示すものとする。図4は、図3に記載されたリスク分析で得られた攻撃グラフから、太線の四角で囲まれた部分の状態(ノード210、220、230、240、250、260、270)以外の細線の四角で囲まれた部分の攻撃条件を削除し、攻撃手段を各辺(215、225、226、235、245、246、255、265)に対応させて得られた簡略化した攻撃グラフの一例を示す。以下の説明では、記載の簡潔化のために、簡略化した攻撃グラフを、攻撃グラフと称して使用するものとし、攻撃手段については、適宜省略する場合もある。
 図5は、診断対象システム410の一例の構成と、これに対応する攻撃グラフ420のイメージの一例と、全攻撃ルート430の関係400を示す図である。図5において、診断対象システム410内のA、B、C、D、E、Fはそれぞれ、ホストを示し、FWはファイアーウォールを示す。AとB、CとD、及びEとFがそれぞれネットワークにより接続され、(AとB)、(CとD)、及び(EとF)の間には、それぞれFWが設けられ、AとBからの、CとDへのアクセスは許可され、CとDからの、EとFへのアクセスは許可される構成である。攻撃グラフ420は、診断対象システム410の構成情報を分析して抽出されたものであり、攻撃グラフ420の攻撃元及び攻撃先のノードA、B、C、D、E、Fは、診断対象システム410内のホストA、B、C、D、E、Fに対応する。攻撃グラフ内のノードA、B、C、D、E、Fは、診断対象システム410の対応するホスト上での、何らかの攻撃手段によって到達する状態(コード実行可能な状態など)を簡易表現している。全攻撃ルート430は、攻撃グラフ420から、攻撃ステップ(辺)をつなげた全攻撃ルートを抽出したものであり、ノードを順次に列挙することにより、各攻撃ルートを示したものである。
 攻撃ルート抽出システム500の攻撃グラフ生成部510は、入力される診断対象のシステムの構成情報501に従って、攻撃手段を示す各辺に対応する各攻撃ステップと攻撃ステップにより到達する状態(ノード)を示す攻撃グラフを生成する。即ち、攻撃グラフ生成部510は、診断対象のシステムの構成情報に従って、診断対象システムで実施され得る攻撃ステップを抽出する機能部である。例えば、図5に記載の一診断対象システム410の構成情報から攻撃グラフ420を生成する。コスト設定部530は、脅威情報、攻撃内容情報、攻撃手段に対応する対策情報に基づいた対策可能性情報の少なくとも一つの情報に基づいて、攻撃グラフの各ステップに、コストを設定する。攻撃ルート抽出部540は、コスト設定部530の設定した各攻撃手段のコストに基づいて、診断対象のシステムの侵入口から攻撃目標までの、一つ以上の攻撃ステップを接続することで得られる各攻撃ルートの優先度を決定し、優先度の高い順に、攻撃ルートを抽出する。
 本発明の一実施形態により、診断対象システムの構成情報から得られた攻撃グラフに含まれる全攻撃ルートの中から、各攻撃ルートの優先度を決定し、優先度に基づいて、攻撃ルートを抽出することにより、攻撃グラフから、全攻撃ルートを列挙することなく、セキュリティリスク診断を行うのに好適な攻撃ルートを抽出することができる。
 [第1の実施形態]
 次に、本発明の第1の実施形態の攻撃ルート抽出システムの構成について、図面を参照して説明する。図6は、本発明の第1の実施形態の攻撃ルート抽出システムの概略構成の一例を示す図である。本発明の第1の実施形態の攻撃ルート抽出システム500は、攻撃グラフ生成部510と、コスト設定情報データベース(DB)520と、コスト設定部530と、攻撃ルート抽出部540を含む。本発明の第1の実施形態の攻撃ルート抽出システム500の動作の概要は、以下の通りである。
 攻撃ルート抽出システム500の攻撃グラフ生成部510は、入力される診断対象のシステムの構成情報501に従って、攻撃手段を示す各辺に対応する各攻撃ステップと攻撃ステップにより到達する状態(ノード)を示す攻撃グラフを生成する。例えば、図5に記載の診断対象システム410の構成情報から攻撃グラフ420を生成する。コスト設定情報データベース520は、脅威情報と攻撃手段に対応する対策情報を格納する。コスト設定部530は、攻撃グラフに基づいて攻撃ステップ情報(攻撃内容情報)を抽出し、脅威情報、攻撃内容情報、攻撃手段に対応する対策情報に基づいた対策可能性情報の少なくとも一つの情報に基づいて、攻撃グラフの各辺に、コストを設定する。攻撃ルート抽出部540は、コスト設定部530の設定した各辺のコストに基づいて、診断対象のシステムの侵入口から攻撃目標までの各攻撃ルートの優先度を決定し、優先度の高い順に、攻撃ルートを抽出する。なお、各攻撃ルートの優先度は、攻撃ルート抽出部540により、侵入口から攻撃目標までの各攻撃ルート上の、各辺のコストを合計した値に基づいて決定されてもよい。また、各辺のコストを合計した値が小さいほど、優先度を高く設定するようにしてもよい。
 次に、本発明の第1の実施形態の攻撃ルート抽出システム500の各部の構成と動作の詳細について、以下に説明する。図7は、本発明の第1の実施形態の攻撃グラフ生成部510の概略構成の一例を示す図である。攻撃グラフ生成部510は、例えば、図5に記載の診断対象システム410の構成情報から攻撃グラフ420を生成する。
 攻撃グラフ生成部510は、脆弱性情報データベース(DB)512、分析ルール格納部513、推論部514、攻撃グラフ情報出力部515を含む。収集した診断対象システムの構成情報501には、診断対象システムに含まれるホスト情報、ネットワーク構成、各ホストにインストールされているOS(オペレーションシステム)やソフトウェア、各OSやソフトウェアの脆弱性情報、データフロー情報などが含まれる。脆弱性情報DB512は、各脆弱性の攻撃条件と、攻撃結果等を格納する。分析ルール格納部513は、どのような攻撃がどのような条件のもとで実施可能かの情報を記述する分析ルールを格納する。推論部514は、収集した診断対象システムの構成情報501と、脆弱性情報データベース(DB)512に格納された各脆弱性の攻撃条件と、攻撃結果等と、分析ルール格納部513に格納された分析ルールを基に、どのホストからどのホストに対してどのような攻撃が可能かを推論する。攻撃グラフ情報出力部515は、推論部514で推論した、どのホストからどのホストに対してどのような攻撃が可能かを示す情報をつなぎ合わせることにより、攻撃グラフ情報502を出力する。攻撃グラフ情報502の一例としては、例えば、図4に示した攻撃グラフ(簡略化した攻撃グラフ)でもよい。
 図8は、本発明の第1の実施形態のコスト設定情報データベース(DB)520に格納する情報の内容の一例を示す図である。コスト設定情報DB520は、脆弱性情報521と、攻撃手段に対応する脅威レベル523、攻撃手段に対応する対策情報522等を格納する。ここで、脆弱性情報521に含まれる情報と脅威レベル523に含まれる情報を脅威情報と呼ぶ。なお、脆弱性情報521の脆弱性識別子(ID)は、例えば、共通脆弱性識別子CVE(Common Vulnerabilities and Exposures)でもよい。また、脆弱性IDに対応して、CVSS(Common Vulnerability Scoring System)のスコア、攻撃事例の有無、PoC(Proof-of-Concept)コード(概念実証コード)の有無が格納されてもよい。攻撃手段に対応する脅威レベル523では、攻撃手段ごとに脅威レベルが設定されてもよい。また、攻撃手段に対応する対策情報522では、攻撃手段ごとに可能な対策方法が規定されてもよい。
 図9は、本発明の第1の実施形態の攻撃ルート抽出システム500のコスト設定部530の概略構成の一例を示す図である。コスト設定部530は、攻撃ステップ情報抽出部531、コスト計算部532、コスト割当部533を含む。攻撃ステップ情報抽出部531は、攻撃グラフ生成部510から出力された攻撃グラフ情報502を入力とし、攻撃グラフ情報502に含まれている各攻撃ステップ情報(攻撃内容情報)を抽出する。コスト計算部532は、攻撃ステップ情報抽出部531の抽出した攻撃内容情報と、コスト設定情報DB520に格納された脅威情報及び、攻撃手段に対応する対策情報522に基づいた対策可能性情報の少なくとも1つに基づいて、各辺のコストを計算する。コスト割当部533は、例えば図4に示した攻撃グラフの各辺に、コスト計算部532の計算したコストをコスト割当部533により割り当てて設定し、コスト設定済み攻撃グラフ503を出力する。各辺のコストの設定については、以下に詳細に説明する。
 次に、脅威情報、攻撃内容情報、攻撃手段に対応する対策情報522に基づいた対策可能性情報に基づく、攻撃グラフの各辺のコストの設定について順に説明する。なお、各辺のコストの設定では、優先的に出力することが好ましい攻撃ステップ(攻撃グラフの辺)のコストを低く設定するものとして以下に、説明するが、この内容に限定されるものではない。
 [1.脅威情報等に基づくコストの設定]
 最初に、脅威情報等に基づく攻撃グラフの各辺のコストの設定について説明する。脅威情報に基づくコストの設定ではより危険な攻撃ルートを優先して抽出する。図8に示すように、脆弱性情報521と攻撃手段に対応する脅威レベル523が、コスト設定情報DB520に格納されており、脆弱性情報521と攻撃手段に対応する脅威レベル523に基づいて、攻撃グラフの各辺のコストを、コスト設定部530のコスト割当部533により、以下のように設定する。
(1-1)脆弱性情報(CVSSスコア)に基づくコストの設定
 各辺の脆弱性IDに対応するCVSSスコアが高いほど、各辺のコストを低く設定する。
(1-2)攻撃事例の有無に基づくコストの設定
 各辺の脆弱性IDに対応する攻撃事例がある場合は、各辺のコストを低く設定する。
(1-3)PoCコード(概念実証コード)の有無に基づくコストの設定
 各辺の脆弱性IDに対応するPoCコードが存在する場合は、各辺のコストを低く設定する。
(1-4)攻撃手段の脅威レベルに基づくコストの設定
 攻撃手段に対応する脅威レベル523では、攻撃手段ごとに脅威レベルが設定されている。各辺に対応する攻撃手段の脅威レベルが高いほど、各辺のコストを低く設定する。
 [2.攻撃内容情報の抽出]
次に、攻撃内容情報に基づくコストの設定の説明に先立ち、攻撃グラフを用いて攻撃ステップ情報(攻撃内容情報)を抽出する動作の概要の一例を説明する。図10は、コスト設定部530の攻撃ステップ情報抽出部531により、攻撃グラフを用いて攻撃ステップ情報(攻撃内容情報)を抽出する動作の概要の一例を示す図である。なお、図10に示す攻撃グラフは、説明の簡略化のため、図4で示した攻撃グラフと同一の攻撃グラフを示す。
 (2-1)攻撃条件の判断
図10の攻撃グラフにおいて、PC Aに侵入し(ノード210)、PC Bの脆弱性XXXを攻撃し(辺215)、PC Bで任意コードを実行可能(ノード220)であるとの攻撃グラフの部分から、辺215の攻撃ステップは、攻撃元のホスト(PC A)と攻撃先のホスト(PC B)が異なるので、リモート(Remote)の攻撃であると判断する。
 (2-2)各攻撃ステップの攻撃前後の権限の判断
また、図10の攻撃グラフにおいて、サーバCで任意コードを実行可能(一般権限)であり(ノード230)、サーバCで脆弱性ZZZを攻撃し(辺235)、サーバCで任意コードを実行可能(管理者権限)である(ノード240)との攻撃グラフの部分から、権限ごとにノードを分けて攻撃グラフを構成することで、辺235による攻撃の前後の権限を判断する。
 (2-3)攻撃シナリオ情報の判断
さらに、図10の攻撃グラフにおいて、サーバCで任意コードを実行可能(管理者権限)であり(ノード240)、サーバGの脆弱性VVVを攻撃し(辺246)、サーバGで任意コードを実行可能である(ノード270)との攻撃グラフの部分から、攻撃グラフの最後のノード270につながる辺246による攻撃は、攻撃先が攻撃目標(ノード270)となる攻撃ステップであると判断する。このように、コスト設定部530の攻撃ステップ情報抽出部531は、攻撃グラフを用いた攻撃ステップ情報(攻撃内容情報)の抽出を行うことができる。
 [3.攻撃内容情報に基づくコストの設定]
次に、攻撃内容情報に基づくコストの設定について説明する。攻撃内容情報に基づくコストの設定では、より自然な攻撃ルートを優先して抽出する(自然な攻撃ルートとは簡潔なものや一貫性のあるものをいう)。上記のように攻撃グラフを用いて抽出した攻撃内容情報に基づき、攻撃グラフの各辺のコストを、コスト設定部530のコスト割当部533により、以下のように設定する。
(3-1)攻撃条件(リモート(remote)又はローカル(local))に基づくコストの設定
攻撃グラフを用いた攻撃内容情報の抽出の結果、攻撃条件がリモート(remote)の攻撃であると判断された場合には、リモートの攻撃(別のホストからの攻撃)をローカルの攻撃(同じホスト内の攻撃)よりも高いコストに設定する。
(3-2)攻撃シナリオ情報に基づくコストの設定
攻撃グラフを用いた攻撃内容情報の抽出の結果、攻撃先が攻撃目標の場合、コストを低く設定する。
(3-3)攻撃先ホストに基づくコストの設定
攻撃先ホストの識別子をもとに微小なコストを加算することで他の条件が同じ時に同じホストを選ばれやすく設定する。
(3-4)各攻撃ステップの攻撃前後の権限に基づくコストの設定
攻撃グラフを用いた各攻撃ステップ情報の抽出の結果、攻撃ステップの前の攻撃元ホストで必要な権限が低いほどコストを低く設定する。また、攻撃ステップの攻撃後に実行可能となる権限が高いほどコストを低く設定する。特に、抽出された攻撃ルートが、自然となるように、設定することが好ましい。
 次に、対策可能性情報に基づくコストの設定の説明に先立ち、コスト設定部530のコスト計算部532による、攻撃グラフと攻撃手段に対応する対策情報522基づく対策可能性情報の抽出動作の概要を説明する。図11は、本発明の第1の実施形態のコスト計算部532の攻撃グラフを用いた対策可能性情報の抽出の概要を示す図である。対策可能性情報は、例えば、図11に記載の攻撃グラフと、コスト設定情報DB520に格納された攻撃手段に対応する対策情報522を用いて以下のように抽出することができる。なお、図11に示す攻撃グラフは、図4で示した攻撃グラフと同一の攻撃グラフを示し、図11に示す攻撃手段に対応する対策情報522は、図8に示す攻撃手段に対応する対策情報522と同一である。
 [4.対策可能性情報の抽出動作の概要]
(4-1)可能な対策数の抽出
対策可能性情報として、攻撃グラフの各辺の攻撃手段に対応する導入可能な対策数を、コスト設定情報DB520に格納された攻撃手段に対応する対策情報522に基づいて算出する。図11の例では、攻撃手段が「脆弱性を攻撃」の場合には、対策は、「アンチウイルスソフトウェアの導入」や、「ソフトウェア(SW)アップデート」等があり、その対策の数を、辺の攻撃手段に対応する可能な対策数とする。また、図11の例では、攻撃手段が「通信改ざん」の場合には、対策は、「暗号化」や、「安全なプロトコル利用」等があり、その対策の数を、辺の攻撃手段に対応する可能な対策数とする。
 (4-2)同じ攻撃手段の攻撃グラフ中の出現回数の抽出
対策可能性情報として、攻撃グラフ中の各辺に対し、同じ攻撃手段が何回出現するかをカウントする。図11の攻撃グラフにおいては、以下の攻撃手段が、その対応する回数分、出現している。
・脆弱性を攻撃:5回(辺215、226、235、246、265)
・正規ログイン:1回(辺225)
・不正ファイル拡散:1回(辺245)
・不正ファイル実行:1回(辺255)
 (4-3)同じ対策を利用可能な攻撃手段の出現回数の抽出
対策可能性情報として、攻撃グラフ中の各辺について、同じ対策を利用可能な攻撃手段の出現回数を抽出する。攻撃グラフ中の各辺に示された攻撃手段に対応する、コスト設定情報DB520に格納された攻撃手段に対応する対策情報522の内容をもとに算出する。本第1の実施形態においては、例えば、脆弱性を攻撃することと不正ファイル実行はどちらもアンチウイルスソフトウェアの導入で対策可能であるものとして以下の説明を行うが、これに限定されるものではない。例えば、図11においては、アンチウイルスソフトウェアの導入を利用可能な攻撃手段は、「脆弱性を攻撃」が5回と「不正ファイル実行」が1回の合計6回となる。図11においては、以下の攻撃手段が、対応する回数分、出現しているとカウントする。
・脆弱性を攻撃:6回
・正規ログイン:1回
・不正ファイル拡散:1回
・不正ファイル実行:6回
 (4-4)攻撃先ホストと攻撃手段の組み合わせの出現回数の抽出
対策可能性情報として、攻撃グラフ中で、攻撃先ホストと攻撃手段の組み合わせが何回出現しているかを抽出する。図11の攻撃グラフにおいては、以下の組み合わせが、一例として示す対応する回数分、出現しているとカウントされる。以下の説明では、攻撃先ホストと攻撃手段の組み合わせを{攻撃手段、攻撃先ホスト}と記載する。
・{脆弱性を攻撃、PC B}:1回(辺215及びノード220)
・{脆弱性を攻撃、サーバC}:1回(辺235及びノード240)
・{脆弱性を攻撃、サーバD}:1回(辺226及びノード260)
・{脆弱性を攻撃、サーバG}:2回(辺246及びノード270、辺265及びノード270)
・{正規ログイン、サーバC}:1回(辺225及びノード230)
・{不正ファイル拡散、サーバG}:1回(辺245及びノード250)
・{不正ファイル実行、サーバG}:1回(辺255及びノード270)
 (4-5)攻撃先ノードの入次数の抽出
対策可能性情報として、攻撃グラフ中で、攻撃先ノードの入次数を抽出する。図11の攻撃グラフにおいては、以下の攻撃先ノードとその攻撃手段の組み合わせに対する入次数が、対応する回数分、出現している。
・PC Bの脆弱性XXXを攻撃:入1回(ノード220)
・サーバDの脆弱性XXXを攻撃:入1回(ノード260)
・サーバCのログイン(Login Server C):入1回(ノード230)
・サーバCで脆弱性ZZZを攻撃:入1回(ノード240)
・サーバGの脆弱性XXXを攻撃:入3回(ノード270)
・サーバGの脆弱性VVVを攻撃:入3回(ノード270)
・不正ファイルの拡散:入1回(ノード250)
・サーバGで不正な実行ファイルを開かせる:入3回(ノード270)
 [5.対策可能性情報に基づくコストの設定]
上記のように抽出した対策可能性情報の各々に基づく攻撃グラフの各辺のコストは、コスト割当部533により、一例として、以下のように設定する。対策可能性情報に基づくコストの設定では、より対策しやすい(対策の候補が多いまたは対策の効果が高い)攻撃ルートを優先して抽出する。
(5-1)可能な対策数に基づくコストの設定
上記の様に抽出された可能な対策数に基づいて、攻撃グラフ中で、当該攻撃手段のリスクを低減できる可能な対策数が多いほど、辺のコストを高く設定する。
(5-2)同じ攻撃手段の攻撃グラフ中の出現回数に基づくコストの設定
上記の様に抽出された同じ攻撃手段の攻撃グラフ中の出現回数に基づいて、攻撃グラフ中で、同じ攻撃手段が攻撃グラフ中に多数出現しているほど、辺のコストを低く設定する。
(5-3)同じ対策を利用可能な攻撃手段の出現回数に基づくコストの設定
上記の様に抽出された同じ対策を利用可能な攻撃手段の出現回数に基づいて、攻撃グラフ中で、同じ対策でリスクを低減できる攻撃手段の攻撃グラフ中の出現回数が多いほど、辺のコストを低く設定する。
(5-4)攻撃先ホストと攻撃手段の組み合わせの出現回数に基づくコストの設定
上記の様に抽出された攻撃先ホストと攻撃手段の組み合わせの出現回数に基づいて、攻撃グラフ中で、同じ攻撃先ホストと攻撃手段の組み合わせの出現回数が多いほど、辺のコストを低く設定する。
(5-5)攻撃先ノードの入次数に基づくコストの設定
上記の様に抽出された攻撃先ノードの入次数に基づいて、攻撃グラフ中で、攻撃先ノードの入次数が大きいほど、辺のコストを低く設定する。即ち、多くの攻撃で利用されるノードに関連する攻撃ステップ(辺)を選ばれやすく設定する。
 図12は、本発明の第1の実施形態の攻撃ルート抽出システム500のコスト設定部530により設定した各辺のコストの一例を示す図である。コスト1100は、例えば、10進数の各桁にコスト設定の各要素を対応させて設定することができる。
 図12のコスト1100は、コスト1100の各桁1101から1103に脅威情報に基づいてコストを設定し、コスト1100の各桁1104から1109に攻撃内容情報に基づいてコストを設定した場合の一例を示す。なお、例えば、コスト1100の各桁1101から1109には、初期状態として、0が設定されているものとするが、これに限定されるものではない。
 図12のコスト1100の各桁1101から1103には、脅威情報の脆弱性情報(CVSSスコア)、攻撃事例の有無、PoCコード(概念実証コード)の有無、攻撃手段の脅威レベルを総合して、脅威レベルが1の場合には、桁1101に1を設定し、脅威レベルが2の場合には、桁1102に1を設定し、脅威レベルが3の場合には、桁1103に1を設定することができる。
 図12のコスト1100の桁1104には、攻撃内容情報の攻撃条件に基づいて、例えば、リモートの攻撃である場合には1を設定し、桁1105には、攻撃内容情報の攻撃シナリオ情報に基づいて、攻撃先が攻撃目標でない場合には1を設定する。桁1106から1108には、攻撃内容情報の攻撃先ホストの識別子をもとに微小なコストを設定する。また、桁1109には、攻撃内容情報の攻撃前後の権限に応じた値を設定する。即ち、攻撃元-攻撃先の権限が、一般権限-管理者権限の場合には0を、管理者権限-管理者権限の場合には1を、一般権限-一般権限の場合には2を、管理者権限-一般権限の場合には3を設定する。
 図13は、本発明の第1の実施形態の攻撃ルート抽出システム500のコスト設定部530により設定したコストの別の一例を示す図である。図13のコスト1200は、コスト1200の各桁1101から1103に脅威情報に基づいてコストを設定し、コスト1200の各桁1201と1202には対策可能性情報に基づいてコストを設定した場合の一例を示す。なお、図13において、コスト1200の桁1101から1103は、図12において脅威情報に基づいて設定したコスト1100の桁1101から1103と同一である。図13において、コスト1200の桁1201と1202には、対策可能性情報を用いてコストを設定することができる。すなわち、対策可能性情報の、可能な対策数、同じ攻撃手段の攻撃グラフ中の出現回数、同じ対策を利用可能な攻撃手段の出現回数、攻撃先ホストと攻撃手段の組み合わせの出現回数、ノードの入次数のいずれかに基づいて、又は対策可能性情報の幾つかを組み合わせて、あるいは対策可能性情報を総合して、設定することができる。なお、回数が多いほどコストを高く設定する場合には、99を上限として回数を設定してもよい。又は、回数が多いほどコストを低く設定する場合には、0を下限として100-回数を設定してもよい。なお、コストの設定の仕方は、本発明の目的、基本的解決原理に基づいて、上述の例に限らず、適宜選択可能である。
 次に、本発明の第1の実施形態の攻撃ルート抽出システム500の攻撃ルート抽出部540の動作について説明する。図14は、本発明の第1の実施形態の攻撃ルート抽出システム500の攻撃ルート抽出部540の概略構成の一例を示す図である。攻撃ルート抽出部540は、経路計算部541と、攻撃ルート出力部542を含む。
 図14に示す攻撃ルート抽出部540の経路計算部541は、図9に示すコスト設定部530により設定されたコスト設定済み攻撃グラフ503を入力とし、攻撃グラフのノードとノードを結ぶそれぞれの「辺」のコスト設定部530により設定されたコストに基づいて、侵入口から攻撃目標までの各攻撃ルート上の、各辺のコストを合計して、合計した値の小さい順に、攻撃ルートの優先度(優先順位)を決定する。攻撃ルート出力部542は、優先度が決定された攻撃ルートを、優先度にしたがって、即ち、優先度の高い順に、所定の決められた数だけ、攻撃ルートとして出力する。
 図15は、本発明の第1の実施形態の攻撃ルート抽出システムの攻撃ルート504の、表形式による出力イメージを示す図である。図15に示す表形式による出力イメージは、一例として、攻撃の番号を示す欄1401、攻撃に関する情報種別を示す欄1402、情報種別ごとの具体的な情報内容を示す欄1403と、攻撃概要を示す欄1404を含む。図15においては、矢印は攻撃の進行を示し、矢印のように攻撃が進行するにしたがって、右方向に各欄1402から1404をずらして攻撃ルートを表している。また、途中まで同じ攻撃ルートとなる場合には、矢印が分岐するように、分岐して攻撃ルートを表している。図15では、表の左側の番号欄1401の番号が示す3番から4番への攻撃を行うことも、3番から5番への攻撃を行うことも可能であることを示している。
 本発明の第1の実施形態の攻撃ルート抽出システムにより、診断対象システムの構成情報から得られた攻撃グラフに含まれる全攻撃ルートの中から、各攻撃ルートのコストを設定し、各攻撃ルートの優先度を決定し、優先度に基づいて、攻撃ルートを抽出することにより、攻撃グラフから、全攻撃ルートを列挙することなく、セキュリティリスク診断を行うのに好適な攻撃ルートを抽出することができる。
 [第2の実施形態]
 次に本発明の第2の実施形態の攻撃ルート抽出システムの構成について、図面を参照して説明する。図16は、本発明の第2の実施形態の攻撃グラフから攻撃ルートを抽出した結果の一例を示す図である。図16においては、抽出される経路が特定のリスクが高い攻撃ルートに偏った場合に、リスクの低い攻撃ステップを用いた攻撃ルートが抽出されない結果となることもある。例えば、図16においては、太い矢印で示された、ノードAからノードC(辺1511)、ノードCからノードE(辺1531)、ノードEからノードF(辺1551)、ノードDからノードE(辺1542)の各辺のルートは、リスクの高いルートであるとする。この場合、高リスクの、ノードA、C、E、Fからなるルート、ノードA、C、Fからなるルート、ノードA、C、D、E、Fからなるルートは検出されるが、低リスクの他のルートは、検出されない可能性がある。
 図17は、本発明の第2の実施形態の攻撃ルートを抽出する方法の概要を示す図である。本発明の第2の実施形態は、攻撃ルートを抽出する際に、攻撃ステップごとに当該攻撃ステップを利用するような攻撃ルートを抽出する実施形態である。本アルゴリズムは、以下のように動作する。
 ステップ(1)
攻撃グラフ中のすべての辺e={v1,v2}について以下のステップ(2)とステップ(3)の動作を実行する。なお、図17は、v1をノードD、v2をノードEとした場合の、1つの辺e={v1,v2}について、以下のアルゴリズムを説明する図である。また、以下の記載において、最短経路の計算には、第1の実施形態で各辺に設定されたコストを利用し、最短経路は、コストを利用して計算した最小コスト経路を意味するものとする。
 ステップ(2)
侵入口s(ノードA)から攻撃目標g(ノードF)までの辺eを通る最短経路Pを計算する。ステップ(2)は以下のステップ(2-1)からステップ(2-3)を含む。
 ステップ(2-1)
侵入口s(ノードA)からv1までのg(ノードF)を含まない最短経路P1を計算する。この結果、最短経路P1が存在しない場合は辺eを通る最短経路Pは存在しないと決定する。
 ステップ(2-2)
v2からg(ノードF)までの経路でP1に含まれるノードを含まない最短経路P2を計算する。この最短経路P2が存在しない場合は辺eを通る最短経路Pは存在しないと決定する。
 ステップ(2-3)
辺eを通る最短経路Pが存在する場合には、ステップ(2-3)で、辺eを通る最短経路P={P1,e,P2}とする。
 ステップ(3)
最後に、最短経路Pを攻撃ルート集合に加える。
 以上説明したように、第2の実施形態によれば、攻撃に利用されうる全ての攻撃ステップがいずれかの攻撃ルートに含まれるようにすることができる。
 [第3の実施形態]
 次に、第3の実施形態のアルゴリズムについて説明する。本第3の実施形態のアルゴリズムでは、上記第2の実施形態の最短経路P1とP2の算出において、異なるコスト設定を利用してもよい。即ち、各辺eについての攻撃ルート抽出において、コスト設定を変更することもできる。例えば、上記第2の実施形態のアルゴリズムに以下のようにコストを変更するステップ(4)を加えることで、特定のリスクの高い攻撃ステップに利用が偏重することを抑制できる。
 ステップ(1)
攻撃グラフ中のすべての辺e={v1,v2}について以下のステップ(2)、ステップ(3)及びステップ(4)の動作を実行する。なお、以下の記載において、最短経路の計算には、第1の実施形態で各辺に設定されたコストを利用し、最短経路は、コストを利用して計算した最小コスト経路を意味するものとする。
 ステップ(2)
侵入口s(ノードA)から攻撃目標g(ノードF)までの辺eを通る最短経路Pを計算する。ステップ(2)は以下のステップ(2-1)からステップ(2-3)を含む。
 ステップ(2-1)
侵入口s(ノードA)からv1までのg(ノードF)を含まない最短経路P1を計算する。この結果、最短経路P1が存在しない場合は辺eを通る最短経路Pは存在しないと決定する。
 ステップ(2-2)
v2からg(ノードF)までの経路でP1に含まれるノードを含まない最短経路P2を計算する。この最短経路P2が存在しない場合は辺eを通る最短経路Pは存在しないと決定する。
 ステップ(2-3)
辺eを通る最短経路Pが存在する場合には、ステップ(2-3)で、辺eを通る最短経路P={P1,e,P2}とする。
 ステップ(3)
最短経路Pを攻撃ルート集合に加える。
 ステップ(4)
最短経路Pに含まれる辺の経路に、コストΔを加算する。すなわち、抽出された最短経路(最小コストの攻撃ルート)に含まれる各辺の優先度が低くなるように、各辺のコストを変更する。
 上記第3の実施形態により、特定のリスクの高い攻撃ステップに利用が偏重することを抑制できる。
 以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成、各要素の構成、メッセージの表現形態は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。また、以下の説明において、「A及び/又はB」は、A又はBの少なくともいずれかという意味で用いる。
 また、上記した第1~第3の実施形態に示した手順は、攻撃ルート抽出システム500として機能するコンピュータ(図18の9000)に、攻撃ルート抽出システム500としての機能を実現させるプログラムにより実現可能である。このようなコンピュータは、図18のCPU(Central Processing Unit)9010、通信インタフェース9020、メモリ9030、補助記憶装置9040を備える構成に例示される。すなわち、図18のCPU9010にて、攻撃ルート抽出プログラムを実行し、その補助記憶装置9040等に保持された各計算パラメータの更新処理を実施させればよい。
 メモリ9030は、RAM(Random Access Memory)、ROM(Read Only Memory)等である。
 即ち、上記した第1~第3の実施形態に示した攻撃ルート抽出システムの各部(処理手段、機能)は、上記コンピュータのプロセッサに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することができる。
 最後に、本発明の好ましい形態を要約する。
[第1の形態]
(上記第1の視点による攻撃ルート抽出システム参照)
[第2の形態]
第1の形態1に記載の攻撃ルート抽出システムは、前記コスト設定部は、前記攻撃ステップが抽出された攻撃グラフに基づいて前記攻撃内容情報を抽出し、
 前記攻撃ルート抽出部は、前記侵入口から前記攻撃目標までの各攻撃ルート上の、各辺のコストを合計した値に基づいて各攻撃ルートの優先度を決定することが好ましい。
[第3の形態]
第1または第2の形態に記載の攻撃ルート抽出システムは、前記脅威情報は、脆弱性情報、攻撃事例の有無の情報、PoC(Proof-of-Concept)コードの有無の情報、攻撃手段の脅威レベルの少なくとも1つを含む、ことが好ましい。
[第4の形態]
第1から第3の形態に記載の攻撃ルート抽出システムは、前記攻撃内容情報は、攻撃条件、攻撃シナリオ情報、攻撃先ホストの識別子、各攻撃ステップの攻撃前後の権限の少なくとも1つを含む、ことが好ましい。
[第5の形態]
第1から第4の形態に記載の攻撃ルート抽出システムは、前記対策可能性情報は、前記攻撃手段に対応する対策情報に基づいて算出された導入可能な対策数、同じ攻撃手段の前記攻撃ステップが抽出された攻撃グラフ中の出現回数、前記攻撃グラフ中の同じ対策を利用可能な攻撃手段の出現回数、前記攻撃グラフ中の攻撃先ホストと攻撃手段の組み合わせの出現回数、前記攻撃グラフ中の攻撃先のノードの入次数の少なくとも1つを含む、ことが好ましい。
[第6の形態]
第1から第5の形態に記載の攻撃ルート抽出システムは、前記攻撃ルート抽出部は、前記攻撃ステップが抽出された攻撃グラフ中の全ての攻撃ステップの各々の攻撃ステップに対して、前記各々の攻撃ステップを含み、重複する攻撃ステップを含まない最小コストの攻撃ルートをさらに抽出する、ことが好ましい。
[第7の形態]
第6の形態に記載の攻撃ルート抽出システムは、前記抽出された最小コストの攻撃ルートに含まれる各辺の優先度が低くなるように、各辺のコストを変更する、ことが好ましい。
[第8の形態]
(上記第2の視点による攻撃ルート抽出方法参照)
[第9の形態]
第8の形態に記載の攻撃ルート抽出方法は、前記コスト設定ステップは、前記攻撃ステップが抽出された攻撃グラフに基づいて前記攻撃内容情報を抽出するステップを含み、
 前記攻撃ルート抽出ステップは、前記侵入口から前記攻撃目標までの各攻撃ルート上の、各辺のコストを合計した値に基づいて各攻撃ルートの優先度を決定するステップを含む、ことが好ましい。
[第10の形態]
(上記第3の視点によるプログラム参照)
 なお、上記第8、第10の形態は、第1の形態と同様に、第2~第7の形態に展開することが可能である。
 なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
110、410 診断対象システム
130 システム情報
140 推論エンジン
150 リスク分析
160、420 攻撃グラフ
210、220、230、240、250、260、270 ノード
215、225、226、235、245、246、255、265 辺
430 全攻撃ルート
500 攻撃ルート抽出システム
501 診断対象システムの構成情報
502 攻撃グラフ情報
503 コスト設定済み攻撃グラフ
510 攻撃グラフ生成部
512 脆弱性情報データベース(DB)
513 分析ルール格納部
514 推論部
515 攻撃グラフ情報出力部
520 コスト設定情報データベース(DB)
521 脆弱性情報
522 攻撃手段に対応する対策情報
523 攻撃手段に対応する脅威レベル
530 コスト設定部
531 攻撃ステップ情報抽出部
532 コスト計算部
533 コスト割当部
540 攻撃ルート抽出部
541 経路計算部
542 攻撃ルート出力部
1100、1200 コスト
9000 コンピュータ
9010 CPU
9020 通信インタフェース
9030 メモリ
9040 補助記憶装置

Claims (10)

  1.  診断対象のシステムの構成情報に従って、診断対象システムで実施され得る攻撃ステップを抽出する機能部と、
     脅威情報、攻撃内容情報、攻撃手段に対応する対策情報に基づいた対策可能性情報の少なくとも一つの情報に基づいて、前記攻撃ステップに、コストを設定するコスト設定部と、
     前記コスト設定部の設定した前記攻撃ステップの前記コストに基づいて、前記診断対象のシステムの侵入口から攻撃目標までの、一つ以上の前記攻撃ステップを接続することで得られる各攻撃ルートの優先度を決定し、前記優先度の高い順に、前記攻撃ルートを抽出する攻撃ルート抽出部を含む、攻撃ルート抽出システム。
  2.  前記コスト設定部は、前記攻撃ステップが抽出された攻撃グラフに基づいて前記攻撃内容情報を抽出し、
     前記攻撃ルート抽出部は、前記侵入口から前記攻撃目標までの各攻撃ルート上の、各辺のコストを合計した値に基づいて各攻撃ルートの優先度を決定する、請求項1に記載の攻撃ルート抽出システム。
  3.  前記脅威情報は、脆弱性情報、攻撃事例の有無の情報、PoC(Proof-of-Concept)コードの有無の情報、攻撃手段の脅威レベルの少なくとも1つを含む、請求項1または2に記載の攻撃ルート抽出システム。
  4.  前記攻撃内容情報は、攻撃条件、攻撃シナリオ情報、攻撃先ホストの識別子、各攻撃ステップの攻撃前後の権限の少なくとも1つを含む、請求項1から3のいずれか一項に記載の攻撃ルート抽出システム。
  5.  前記対策可能性情報は、前記攻撃手段に対応する対策情報に基づいて算出された導入可能な対策数、同じ攻撃手段の前記攻撃ステップが抽出された攻撃グラフ中の出現回数、前記攻撃グラフ中の同じ対策を利用可能な攻撃手段の出現回数、前記攻撃グラフ中の攻撃先ホストと攻撃手段の組み合わせの出現回数、前記攻撃グラフ中の攻撃先のノードの入次数の少なくとも1つを含む、請求項1から4のいずれか一項に記載の攻撃ルート抽出システム。
  6.  前記攻撃ルート抽出部は、前記攻撃ステップが抽出された攻撃グラフ中の全ての攻撃ステップの各々の攻撃ステップに対して、前記各々の攻撃ステップを含み、重複する攻撃ステップを含まない最小コストの攻撃ルートをさらに抽出する、請求項1から5のいずれか一項に記載の攻撃ルート抽出システム。
  7.  前記抽出された最小コストの攻撃ルートに含まれる各辺の優先度が低くなるように、各辺のコストを変更する、請求項6に記載の攻撃ルート抽出システム。
  8.  プロセッサと記録装置とを備えるコンピュータが実行する攻撃ルート抽出方法であって、
     診断対象のシステムの構成情報に従って、診断対象システムで実施され得る攻撃ステップを抽出するステップと、
     脅威情報、攻撃内容情報、攻撃手段に対応する対策情報に基づいた対策可能性情報の少なくとも一つの情報に基づいて、前記攻撃ステップに、コストを設定するコスト設定ステップと、
     前記コスト設定ステップで設定された前記攻撃ステップの前記コストに基づいて、前記診断対象のシステムの侵入口から攻撃目標までの、一つ以上の前記攻撃ステップを接続することで得られる各攻撃ルートの優先度を決定し、前記優先度の高い順に、前記攻撃ルートを抽出する攻撃ルート抽出ステップを含む、攻撃ルート抽出方法。
  9.  前記コスト設定ステップは、前記攻撃ステップが抽出された攻撃グラフに基づいて前記攻撃内容情報を抽出するステップを含み、
     前記攻撃ルート抽出ステップは、前記侵入口から前記攻撃目標までの各攻撃ルート上の、各辺のコストを合計した値に基づいて各攻撃ルートの優先度を決定するステップを含む、請求項8に記載の攻撃ルート抽出方法。
  10.  コンピュータに、
     診断対象のシステムの構成情報に従って、診断対象システムで実施され得る攻撃ステップを抽出する処理と、
     脅威情報、攻撃内容情報、攻撃手段に対応する対策情報に基づいた対策可能性情報の少なくとも一つの情報に基づいて、前記攻撃ステップに、コストを設定するコスト設定処理と、
     前記コスト設定処理で設定された前記攻撃ステップの前記コストに基づいて、前記診断対象のシステムの侵入口から攻撃目標までの、一つ以上の前記攻撃ステップを接続することで得られる各攻撃ルートの優先度を決定し、前記優先度の高い順に、前記攻撃ルートを抽出する攻撃ルート抽出処理を実行させるプログラム。
PCT/JP2021/042120 2021-11-16 2021-11-16 攻撃ルート抽出システム、攻撃ルート抽出方法及び、プログラム WO2023089669A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2021/042120 WO2023089669A1 (ja) 2021-11-16 2021-11-16 攻撃ルート抽出システム、攻撃ルート抽出方法及び、プログラム
JP2023561960A JPWO2023089669A1 (ja) 2021-11-16 2021-11-16

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/042120 WO2023089669A1 (ja) 2021-11-16 2021-11-16 攻撃ルート抽出システム、攻撃ルート抽出方法及び、プログラム

Publications (1)

Publication Number Publication Date
WO2023089669A1 true WO2023089669A1 (ja) 2023-05-25

Family

ID=86396358

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/042120 WO2023089669A1 (ja) 2021-11-16 2021-11-16 攻撃ルート抽出システム、攻撃ルート抽出方法及び、プログラム

Country Status (2)

Country Link
JP (1) JPWO2023089669A1 (ja)
WO (1) WO2023089669A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020189668A1 (ja) * 2019-03-20 2020-09-24 パナソニックIpマネジメント株式会社 リスク分析装置及びリスク分析方法
WO2020189669A1 (ja) * 2019-03-20 2020-09-24 パナソニックIpマネジメント株式会社 リスク分析装置及びリスク分析方法
WO2020195228A1 (ja) * 2019-03-28 2020-10-01 日本電気株式会社 分析システム、方法およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020189668A1 (ja) * 2019-03-20 2020-09-24 パナソニックIpマネジメント株式会社 リスク分析装置及びリスク分析方法
WO2020189669A1 (ja) * 2019-03-20 2020-09-24 パナソニックIpマネジメント株式会社 リスク分析装置及びリスク分析方法
WO2020195228A1 (ja) * 2019-03-28 2020-10-01 日本電気株式会社 分析システム、方法およびプログラム

Also Published As

Publication number Publication date
JPWO2023089669A1 (ja) 2023-05-25

Similar Documents

Publication Publication Date Title
CN110933101B (zh) 安全事件日志处理方法、装置及存储介质
Sheyner et al. Tools for generating and analyzing attack graphs
US10972490B2 (en) Specifying system, specifying device, and specifying method
WO2014112185A1 (ja) 攻撃分析システム及び連携装置及び攻撃分析連携方法及びプログラム
JP6774881B2 (ja) 業務処理システム監視装置および監視方法
JP4773332B2 (ja) セキュリティ管理装置及びセキュリティ管理方法及びプログラム
JP2003108521A (ja) 脆弱性評価プログラム、方法及びシステム
JP7107432B2 (ja) 分析システム、方法およびプログラム
JP6592196B2 (ja) 悪性イベント検出装置、悪性イベント検出方法および悪性イベント検出プログラム
Wang et al. Threat Analysis of Cyber Attacks with Attack Tree+.
EP3688950B1 (en) Intrusion detection
JP7396371B2 (ja) 分析装置、分析方法及び分析プログラム
US10462158B2 (en) URL selection method, URL selection system, URL selection device, and URL selection program
WO2023089669A1 (ja) 攻撃ルート抽出システム、攻撃ルート抽出方法及び、プログラム
Wang et al. A Network Security Risk Assessment Method Based on a B_NAG Model.
US12034761B2 (en) Analysis system, method, and program
WO2021059471A1 (ja) セキュリティリスク分析支援装置、方法、及びコンピュータ可読媒体
JP2005316779A (ja) 不正アクセス検出装置ならびに検知ルール生成装置、検知ルール生成方法および検知ルール生成プログラム
KR102497865B1 (ko) 사이버 공세적 대응 방책 추천 장치 및 방법
JP7164016B2 (ja) 分析システム、方法およびプログラム
Rencelj Ling et al. Estimating time-to-compromise for industrial control system attack techniques through vulnerability data
JP7334794B2 (ja) 分析システム、方法およびプログラム
JP7255679B2 (ja) 攻撃グラフ加工装置、方法およびプログラム
Irfan et al. A Malware Detection Framework Based on Forensic and Unsupervised Machine Learning Methodologies
RU2813239C1 (ru) Способ фильтрации событий для передачи на удаленное устройство

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023561960

Country of ref document: JP

Kind code of ref document: A