WO2021156966A1 - 分析システム、方法およびプログラム - Google Patents

分析システム、方法およびプログラム Download PDF

Info

Publication number
WO2021156966A1
WO2021156966A1 PCT/JP2020/004311 JP2020004311W WO2021156966A1 WO 2021156966 A1 WO2021156966 A1 WO 2021156966A1 JP 2020004311 W JP2020004311 W JP 2020004311W WO 2021156966 A1 WO2021156966 A1 WO 2021156966A1
Authority
WO
WIPO (PCT)
Prior art keywords
fact
unconfirmed
analysis
facts
attack
Prior art date
Application number
PCT/JP2020/004311
Other languages
English (en)
French (fr)
Inventor
峻一 木下
真樹 井ノ口
太田 和伸
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to US17/794,366 priority Critical patent/US20230056552A1/en
Priority to JP2021575152A priority patent/JP7424395B2/ja
Priority to PCT/JP2020/004311 priority patent/WO2021156966A1/ja
Publication of WO2021156966A1 publication Critical patent/WO2021156966A1/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
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • 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

Definitions

  • the present invention relates to an analysis system, an analysis method, and an analysis program that analyze information that can be used as a judgment material for dealing with an attack on a system to be diagnosed.
  • Security measures include diagnosing vulnerabilities in the target system and removing the vulnerabilities as necessary.
  • the system subject to security diagnosis is referred to as the system subject to diagnosis.
  • a system that collects data such as the system configuration of the system to be diagnosed, grasps the vulnerabilities hidden in the devices in the system, and instructs countermeasures is referred to as a security diagnosis system.
  • Patent Documents 1 and 2 describe examples of security diagnostic systems.
  • Patent Document 1 describes a security management system capable of performing integrated security management such as risk analysis, establishment of security measures and security policies, and practice of security monitoring based on vulnerability information collected from the device to be inspected. ing.
  • Patent Document 2 describes a diagnostic device that can reduce the load of vulnerability diagnosis on the information processing device.
  • Another reason is that some of the devices in the system to be diagnosed are not scanned because the period during which the scan of the system to be diagnosed can be executed is limited due to operational restrictions. As a result, the security diagnostic system may not be able to analyze the attack potential in the system being diagnosed.
  • an object of the present invention is to provide an analysis system, an analysis method and an analysis program capable of analyzing the possibility of attack in the diagnosis target system even when information cannot be sufficiently collected from each device included in the diagnosis target system. And.
  • the analysis system generates undetermined facts indicating unknown information of the system to be diagnosed or the device among the facts indicating the security-related state of the system to be diagnosed or the device included in the system to be diagnosed. It is characterized by having a fact generation unit.
  • the analysis method according to the present invention generates, as an unconfirmed fact, a fact indicating unknown information of the system to be diagnosed or the device among the facts indicating a security-related state in the system to be diagnosed or the device included in the system to be diagnosed. It is a feature.
  • the analysis program generates, as an unconfirmed fact, a fact indicating unknown information of the system to be diagnosed or the device among the facts indicating the security-related state of the system to be diagnosed or the device included in the system to be diagnosed. It is characterized in that an undetermined fact generation process is executed.
  • the present invention it is possible to analyze the possibility of attack in the diagnosis target system even when sufficient information cannot be collected from each device included in the diagnosis target system.
  • FIG. 1 is a block diagram showing a configuration example of an analysis system according to the first embodiment of the present invention.
  • the analysis system 100 of the first embodiment includes a scanner 101, a scan result storage unit 102, a confirmed fact generation unit 103, an unconfirmed fact generation unit 104, a fact generation information storage unit 105, and an initial fact storage unit 106.
  • the analysis unit 107, the analysis result storage unit 108, the visualization unit 109, the countermeasure planning unit 110, the extraction unit 111, and the instruction unit 112 are provided.
  • the analysis system 100 is communicably connected to the diagnosis target system 200.
  • the analysis system 100 in this embodiment is a system for analyzing the security status of the diagnosis target system 200.
  • the diagnosis target system 200 is a system that is a target of security diagnosis by the analysis system 100.
  • the diagnosis target system 200 is mainly an IT (Information Technology) system in a company. That is, in the diagnosis target system 200, a plurality of devices are connected via a communication network.
  • the diagnosis target system 200 is not limited to the above example, and may be, for example, a system for controlling an OT (Operational Technology) system.
  • Examples of devices included in the system 200 to be diagnosed include personal computers, servers, switches, routers, and the like. However, the devices included in the diagnosis target system 200 are not limited to these examples.
  • the diagnostic target system 200 also includes other types of devices connected to the communication network. Further, the device included in the diagnosis target system 200 may be a physical device or a virtual device.
  • the number of devices included in the diagnosis target system 200 is not limited to the example shown in FIG. 1, and is not particularly limited.
  • the analysis system 100 may be one of the devices included in the diagnosis target system 200.
  • the analysis system 100 may be provided outside the diagnosis target system 200 in a form such as cloud computing, and may be connected to the diagnosis target system 200 via a communication network.
  • the scanner 101 has a function of collecting configuration information of devices included in the diagnosis target system 200 by scanning the inside of the diagnosis target system 200.
  • the analysis system 100 may use a dedicated scanner existing outside the analysis system 100 instead of the scanner 101.
  • the scanner 101 collects each configuration information of the device at a predetermined timing.
  • the predetermined timing includes a predetermined time every day, a device startup time, and the like. Further, the predetermined timing may include other timings.
  • the timing and interval at which the scanner 101 collects each configuration information may be appropriately determined according to the scale of the system 200 to be diagnosed, the specific function of the device, and the like. Further, the scanner 101 may collect each configuration information of the device at a timing other than the timing determined as such.
  • the configuration information collected by the scanner 101 is the vulnerability contained in the device, the OS (Operating System) and OS version installed in the device, the configuration information of the hardware installed in the device, and the configuration information installed in the device. Software, software version, software settings, etc.
  • the configuration information collected by the scanner 101 includes user accounts and account privileges, connected networks and IP (Internet Protocol) addresses, devices that are connected to and communicate with devices, and communication destinations that are communicating.
  • IP Internet Protocol
  • the device, communication content, and CPU (Central Processing Unit) model may be included.
  • the configuration information collected by the scanner 101 includes communication data exchanged with and from the device to which the device communicates, information on the communication protocol used for exchanging the communication data, and information indicating the state of the port of the device ( Which port is open), or may contain data flow information.
  • the communication data includes, for example, information on the source and destination of the communication data.
  • the data flow information is information indicating what kind of data is transferred from which device to which device.
  • the data flow information includes not only information corresponding to communication data but also information related to data transferred via removable media or the like.
  • the example of the configuration information collected by the scanner 101 is not limited to the above example.
  • the scanner 101 may collect other information necessary for analyzing an attack that can be executed in the diagnosis target system 200 as the configuration information of the device.
  • the scanner 101 stores the collected configuration information as a scan result in the scan result storage unit 102.
  • the scan result storage unit 102 has a function of storing configuration information.
  • the configuration information stored in the scan result storage unit 102 is not limited to the information input from the scanner 101.
  • the scan result storage unit 102 may store information on devices (not shown) in advance.
  • the definite fact generation unit 103 has a function of generating one or more initial facts by referring to the configuration information stored in the scan result storage unit 102.
  • the fact is a state in the diagnosis target system 200 or the device included in the diagnosis target system 200, which is described in a format that can be referred to by the analysis unit 107 described later.
  • the fact mainly indicates a state related to security in the diagnosis target system 200 or the device included in the diagnosis target system 200.
  • the initial fact is a general term for facts generated by the definite fact generation unit 103 and facts generated by the unconfirmed fact generation unit 104, which will be described later.
  • the definite fact generation unit 103 generates an initial fact in the diagnosis target system 200 based on the collected configuration information.
  • the fact generated from the configuration information obtained by scanning is also referred to as a definite fact.
  • the definite fact generation unit 103 generates the fact indicated by the configuration information as a definite fact.
  • FIG. 2 is an explanatory diagram showing an example of initial facts generated by the definite fact generation unit 103.
  • FIG. 2A shows a diagnosis target system 200 assumed in this example.
  • the diagnosis target system 200 in this example includes the device A, the device B, and the device C.
  • Device A and device C are connected to the Internet.
  • the device B is connected to the device A and the device C via a network.
  • the scanner 101 collects the configuration information of each of the devices A, B, and C from each device. Next, the scanner 101 stores each of the collected configuration information in the scan result storage unit 102.
  • the definite fact generation unit 103 generates an initial fact using the configuration information about each device stored in the scan result storage unit 102.
  • the final fact generation unit 103 refers to, for example, the OS installed in a certain device and the version of the OS from the configuration information, and initially represents a situation in which the version of the OS referenced in the target device is installed. Generate facts.
  • the confirmation fact generator 103 refers to a certain software installed in a certain device and a version of the software from the configuration information, and determines that the referenced version of the software is installed in the target device. You may generate an initial fact to represent.
  • the final fact generation unit 103 refers to the second device communicably connected to a certain first device from the configuration information, and the first device and the second device are communicably connected to each other. You may generate an initial fact that represents the situation.
  • the initial facts generated by the definite fact generation unit 103 are not limited to the above example.
  • the definite fact generation unit 103 may generate arbitrary information included in the configuration information as an initial fact.
  • FIG. 2B shows an example of initial facts generated by the definite fact generation unit 103 with respect to the above-mentioned diagnosis target system 200.
  • each of the elements represented by the rounded quadrangle represents one initial fact.
  • the definite fact generation unit 103 generates, as initial facts, "device A is connected to the Internet", "software X is installed in device A", and the like. There is.
  • the initial facts to be generated are not limited to the example shown in FIG. 2B, and may be appropriately generated according to the system to be diagnosed 200 or each device.
  • the final fact generation unit 103 stores one or more generated initial facts in the initial fact storage unit 106.
  • the initial fact storage unit 106 has a function of storing initial facts.
  • the analysis unit 107 has a function of generating an attack graph based on one or more stored initial facts.
  • FIG. 3 is an explanatory diagram showing an example of an attack graph generated by the analysis unit 107.
  • the attack graph in this embodiment is a graph that can represent the flow of attacks that can be executed in the diagnosis target system 200. That is, the attack graph can represent the state of the system 200 to be diagnosed, such as the presence or absence of vulnerabilities in a certain device, and the relationship between an attack that can be executed in a certain device and an attack that can be executed in the device or another device. can.
  • the attack graph is represented as a directed graph with facts as nodes and relationships between facts as edges.
  • the fact is the above-mentioned initial fact or a fact representing an attack that can be executed in each device included in the system 200 to be diagnosed.
  • the analysis unit 107 When the analysis unit 107 generates an attack graph, it becomes possible to analyze an attack that may occur in the diagnosis target system 200.
  • the analysis unit 107 can derive an attack that can be executed in the diagnosis target system 200.
  • the analysis unit 107 generates an attack graph using analysis rules based on one or more initial facts.
  • An analysis rule is a rule for deriving another fact from one or more facts.
  • the analysis rules are predetermined in the analysis system 100.
  • the analysis unit 107 determines whether or not the security-related state represented by the initial fact meets the conditions indicated by the analysis rules. If the initial facts meet all the conditions indicated by the analysis rules, the analysis unit 107 derives a new fact.
  • the new fact represents, for example, the content of an attack that can be executed by each device included in the system to be diagnosed 200.
  • the derivation of a new fact indicating that an attack is possible is derived when the device included in the system to be diagnosed 200 is in the state represented by the initial fact used for deriving the new fact. It indicates that the attack represented by the new fact is feasible. In other words, the fact used to derive the new fact is a prerequisite for the attack represented by the new fact to be feasible.
  • the analysis unit 107 repeatedly executes the derivation of the new fact by using the analysis rule on the precondition of the newly derived fact as described above.
  • Derivation of new facts is repeatedly executed, for example, until new facts are no longer derived.
  • the analysis unit 107 generates an attack graph by using the initial fact or the new fact as a node and connecting the facts including the initial fact, which is the premise of the new fact, to the new fact with an edge. do.
  • the analysis unit 107 classifies the initial facts into facts that contribute to the execution of the attack and facts that do not contribute to the execution of the attack.
  • the facts that contribute to the execution of the attack are the facts used to generate the attack graph among the initial facts.
  • the facts that do not contribute to the execution of the attack are the facts that were not used to generate the attack graph among the initial facts.
  • the analysis unit 107 derives a new fact that "an attacker can execute the code on the device A".
  • the analysis unit 107 generates an attack graph showing the attack path from the initial fact to the new fact derived. Specifically, the analysis unit 107 connects each of the two initial facts with the fact representing the attack at the edge from each of the two initial facts toward the fact representing the feasible attack.
  • the software Y installed in the device B has a vulnerability that allows remote code execution" and "the device A and the device B are communicably connected”. It turns out that it is. Further, as described above, it has been derived that "an attacker can execute code on device A”. That is, it can be seen that all the conditions included in the analysis rule are satisfied. In other words, it can be seen that "an attacker can execute code on device B”.
  • the analysis unit 107 derives a new fact that "an attacker can execute code on device B". In addition, the analysis unit 107 generates an attack graph showing the attack path from the initial fact to the new fact derived.
  • the analysis unit 107 attacks each of the three facts with each of the two initial facts and the edge from the fact that "an attacker can execute code on device A" to the fact that represents a feasible attack. Connect with the representing fact.
  • the attack graph shown in FIG. 3 is generated. That is, a series of flows from the initial fact to "the attacker can execute the code on the device B" is expressed as an attack path.
  • the analysis unit 107 classifies the initial facts into facts that contribute to the execution of the attack and facts that do not contribute to the execution of the attack.
  • the initial facts "device A is connected to the Internet”, "the OS of device A has a vulnerability that allows remote code execution”, and “device A and device B can communicate with each other”.
  • “Connected” and "There is a remote code execution vulnerability in software Y installed in device B” are used to generate an attack graph.
  • the analysis unit 107 states that "device A is connected to the Internet", “the OS of device A has a vulnerability that allows remote code execution”, and “device A and device B are communicably connected”. , And "There is a remote code execution vulnerability in software Y installed in device B" is classified as a fact that contributes to the execution of an attack.
  • the procedure for the analysis unit 107 to generate the attack graph is not limited to the procedure described above.
  • the analysis unit 107 may generate an attack graph based on the initial facts according to a procedure other than the procedure described above. Further, the analysis unit 107 may analyze using a method other than the above method for obtaining the attack or the flow of the attack that can be executed in the diagnosis target system 200 from the initial fact.
  • the analysis unit 107 cannot generate an attack graph including an attack path. For example, if sufficient security measures are implemented for each device of the system 200 to be diagnosed and an initial fact indicating the premise that an attack can be executed is not generated, an attack graph containing a meaningful attack path is displayed. It is expected that it will not be generated.
  • the analysis unit 107 generates an attack graph.
  • the analysis unit 107 stores the information indicating the generated attack graph in the analysis result storage unit 108.
  • the analysis result storage unit 108 has a function of storing information indicating an attack graph.
  • the configuration information that the scanner 101 can collect is limited.
  • One of the reasons is that it is difficult for the scanner 101 to perform an active scan such as transmitting arbitrary data because the system 200 to be diagnosed is heavily loaded.
  • a PLC Programmable Logic Controller
  • the scanner 101 cannot perform a port scan that transmits a packet to the PLC and analyzes the response content.
  • Another reason is that when the scanner 101 collects configuration information by passive scanning that receives business traffic flowing through a communication network, not all business traffic flows during the collection period. Because. For example, it is highly possible that the scanner 101 cannot collect business traffic indicating the content of troubleshooting, business traffic indicating the content of monthly update, and the like within a predetermined period.
  • the scanner 101 cannot collect sufficient information when the scanner products and scanning methods that can be used are limited due to operational restrictions and the like. For example, for convenience of contract, the administrator may be able to use only a specific type of scanner as the scanner 101.
  • FIG. 4 is an explanatory diagram showing another example of the attack graph generated by the analysis unit 107.
  • the initial facts 60 to 62 shown in FIG. 4 are definite facts generated by the definite fact generation unit 103.
  • the initial fact 63 is a fact indicating the state of the device included in the diagnosis target system 200, although the configuration information obtained by the scan is not shown and is not generated by the definite fact generation unit 103.
  • the analysis unit 107 cannot derive the attack path of the feasible attack from the initial fact 62 and the initial fact 63 to the attack 65. Also, the attack path of a viable attack from fact 64 and fact 65 to attack 66 cannot be derived.
  • the dashed arrow shown in FIG. 4 means that the attack path including the arrow cannot be derived.
  • the unconfirmed fact generation unit 104 of the present embodiment has a function of generating the diagnosis target system 200 or a fact (hereinafter, referred to as an unconfirmed fact) indicating unknown information of the device included in the diagnosis target system 200.
  • the unconfirmed fact is, for example, a fact that is difficult to generate from the configuration information obtained by scanning with the scanner 101.
  • the diagonally shaded fact shown in FIG. 4 means that it is an unconfirmed fact.
  • the analysis unit 107 also classifies unconfirmed facts into facts that contribute to the execution of an attack and facts that do not contribute to the execution of an attack.
  • the unconfirmed fact generation unit 104 generates, for example, a generally considered state as undetermined facts.
  • the unconfirmed fact generation unit 104 generates an unconfirmed fact that the software is installed with respect to the software installed by default.
  • the unconfirmed fact generation unit 104 generates an unconfirmed fact that the .NET Framework (registered trademark) is installed on a PC whose OS is Windows (registered trademark).
  • the unconfirmed fact generation unit 104 generates unconfirmed facts corresponding to default settings and settings that are not default settings but are often used.
  • the unconfirmed fact generation unit 104 searches the external database for a host, OS, or software having a configuration similar to the configuration of the device included in the diagnosis target system 200, and corresponds to the information about the searched host and the like. Generate facts.
  • the fact generation information storage unit 105 has a function of storing fact generation information.
  • the fact generation information is information indicating the above-mentioned generally considered state. Specifically, the fact generation information indicates the software installed by default, the contents of the default settings, the general configuration of the host, and the like.
  • the unconfirmed fact generation unit 104 generates an unconfirmed fact by referring to the fact generation information stored in the fact generation information storage unit 105.
  • the fact generation information storage unit 105 may exist outside the analysis system 100.
  • the unconfirmed fact generation unit 104 calculates the probability that the state indicated by the generated unconfirmed fact is true as a score, and uses the calculated score to include the unconfirmed fact in one or more initial facts. You may decide whether or not.
  • the unconfirmed fact generation unit 104 may include unconfirmed facts having a score equal to or higher than the threshold value in one or more initial facts. Further, the unconfirmed fact generation unit 104 uses one value N (N is an integer of 1 or more) separately given by the administrator or the like to generate one N unconfirmed fact having a score from the top 1 to the Nth. It may be included in the above initial facts.
  • analysis unit 107 may treat the calculated score as the probability that the state indicated by the fact is true, and calculate the feasibility of the attack using the score when analyzing the attack path.
  • FIG. 5 is an explanatory diagram showing an example of a score indicating the probability that the state indicated by the undetermined fact is true.
  • the administrator defines in advance the possibility that a default value or a well-known value is set for each setting item of each software as a score. For example, the possibility that the default value is set in the setting X of the software A is "0.9".
  • the administrator may set a score indicating the probability that the state indicated by the unconfirmed fact is true as a rank instead of a value.
  • ranks are set as higher scores in the order of rank A, rank B, and rank C.
  • the unconfirmed fact generation unit 104 generates unconfirmed facts by estimating environment information not included in the scan results based on the scan results. That is, the unconfirmed fact generation unit 104 generates unconfirmed facts based on the configuration information of the device.
  • the unconfirmed fact generation unit 104 may generate an unconfirmed fact that a data flow exists between hosts from a scan result regarding a free port of each host and reachability between each host.
  • a data flow for example, file sharing can be considered.
  • the reachability scan result indicates whether or not each host can communicate with each other host. Further, the scan result regarding reachability may include information such as a source port and a destination port through which communication is possible.
  • the scan result regarding reachability specifically shows the network configuration, the rules of the network firewall, the rules of the host firewall, and the like.
  • the unconfirmed fact generation unit 104 may generate unconfirmed facts based on the similarity of the components included in the diagnosis target system 200 or the relevance of the components.
  • the components include a host, an OS, software, and the like.
  • the unconfirmed fact generator 104 has obtained the last update date of the OS and software installed on a certain host, the same date is the last on the same date for the OS and software installed on the host or another host. You may generate an indeterminate fact that it is an update date.
  • the unconfirmed fact generation unit 104 determines that the scan result of the host A is obtained but the scan result of the host B is not obtained for the host A and the host B having similar configurations and functions.
  • An unconfirmed fact regarding host B may be generated based on the content of the scan result of.
  • Host A and host B are, for example, two hosts targeted by the load balancer.
  • the unconfirmed fact generation unit 104 indicates the data flow of file sharing between hosts when the same file such as a PDF (Portable Document Format) file exists on two hosts for which no data flow has been observed. You may generate a definite fact. The reason is that file sharing may have taken place.
  • PDF Portable Document Format
  • the unconfirmed fact generation unit 104 does not have to generate the unconfirmed fact. The reason is that the files in the system directory are originally files that the system has, and it is unlikely that file sharing has taken place.
  • the unconfirmed fact generation unit 104 calculates the probability that the state indicated by the generated unconfirmed fact is true as a score, and uses the calculated score to include the unconfirmed fact in one or more initial facts. You may decide whether or not.
  • the score indicating the probability that the state indicated by the unconfirmed fact is true may be preset by the administrator.
  • FIG. 6 is an explanatory diagram showing another example of the score indicating the probability that the state indicated by the undetermined fact is true.
  • the administrator sets a predetermined score in advance for each estimation method. For example, the probability that a data flow estimated from free ports and reachability exists is "0.5".
  • the administrator may set a score indicating the probability that the state indicated by the unconfirmed fact is true as a rank instead of a value.
  • ranks are set as higher scores in the order of rank C and rank D.
  • the unconfirmed fact generator 104 statistically determines the possibility of containing an unknown vulnerability based on the scan result, thereby generating unconfirmed facts. It may be generated.
  • the unconfirmed fact generator 104 determines whether or not an unknown vulnerability exists based on the following statistical information regarding the installed software known from the scan results, and if so, what kind of vulnerability it has. Determine if there is.
  • the types of vulnerabilities are, for example, arbitrary code execution, information leakage, and DoS (Denial of Service).
  • the unconfirmed fact generator 104 makes a statistical judgment based on the software suite of installed software and the frequency of finding vulnerabilities of vendors.
  • the unconfirmed fact generator 104 refers to statistical information on the frequency of finding vulnerabilities for each software suite or vendor, and based on the software suite or vendor of each software in the system to be diagnosed 200, the software concerned. Calculate the probability that a vulnerability is included in.
  • the unconfirmed fact generator 104 refers to statistical information on the frequency of finding vulnerabilities for each software suite and vendor, and is vulnerable to the software based on the software suite and vendor of each software in the system to be diagnosed 200. You may calculate the probability that the sex is included.
  • the unconfirmed fact generation unit 104 determines that the software is vulnerable when the calculated probability exceeds a predetermined threshold value. The reason is that there is a high possibility that unknown vulnerabilities exist in software for which many vulnerabilities have been discovered in the past and software in which at least one of the software suite and the vendor is the same. That is, the unconfirmed fact generation unit 104 generates unconfirmed facts based on the frequency of finding vulnerabilities in software suites and vendors.
  • the unconfirmed fact generation unit 104 makes a statistical judgment based on the update frequency of the installed software. For example, the undetermined fact generation unit 104 determines that the software has an unknown vulnerability when the update frequency of the software exceeds a predetermined threshold value. The reason is that software that is updated more frequently is more likely to contain new vulnerabilities. That is, the unconfirmed fact generation unit 104 generates unconfirmed facts based on the update frequency of the software indicated by the configuration information.
  • the undetermined fact generation unit 104 makes a statistical judgment based on the software bug convergence curve (also simply referred to as a bug curve) related to the installed software. Based on the number of bugs detected in the target software and the software bug convergence curve, the undetermined fact generation unit 104 determines whether or not there is an unknown vulnerability in the software. That is, the unconfirmed fact generation unit 104 generates unconfirmed facts based on the bug curve related to the software indicated by the configuration information.
  • the software bug convergence curve also simply referred to as a bug curve
  • the unconfirmed fact generation unit 104 makes a statistical judgment based on the scale of the installed software.
  • the unconfirmed fact generation unit 104 refers to statistical information regarding the scale of the software and the presence or absence of the contained vulnerabilities, and based on the scale of each software in the system to be diagnosed 200, the software is vulnerable. Calculate the probability of inclusion.
  • the unconfirmed fact generation unit 104 determines that the software is vulnerable when the calculated probability exceeds a predetermined threshold value. The reason is that the larger the scale, the more likely it is that the software will contain vulnerabilities. That is, the unconfirmed fact generation unit 104 generates unconfirmed facts based on the scale of the software.
  • the unconfirmed fact generation unit 104 statistically determines based on the number of people in the OSS development community.
  • the unconfirmed fact generation unit 104 refers to the number of software development communities and statistical information regarding the presence or absence of contained vulnerabilities, and based on the number of software development communities in the system 200 to be diagnosed. Calculate the probability that the software contains a vulnerability.
  • the unconfirmed fact generation unit 104 determines that the software is vulnerable when the calculated probability exceeds a predetermined threshold value. This is because the larger the number of software OSS development communities, the higher the probability that debugging and maintenance will be performed sufficiently.
  • the unconfirmed fact generation unit 104 statistically determines based on the elapsed time from the end of support. At the end of support, the software will no longer be managed by the vendor. In addition, the longer the elapsed time from the end of support, the higher the probability that a vulnerability has been found in the software. Therefore, when the elapsed time exceeds the threshold value, the undetermined fact generation unit 104 determines that the software has an unknown vulnerability.
  • the unconfirmed fact generation unit 104 may also statistically determine the type of unknown vulnerability contained in the software. For example, the undetermined fact generation unit 104 may use statistical information related to the above-mentioned vulnerabilities, and further aggregated statistical information for each type of vulnerabilities.
  • the unconfirmed fact generation unit 104 calculates the probability that each software in the system 200 to be diagnosed contains a vulnerability for each type of vulnerability. Next, the undetermined fact generation unit 104 determines that the software has a vulnerability related to the calculated probability when the calculated probability exceeds a predetermined threshold value.
  • the fact generation information storage unit 105 stores the above-mentioned statistical information and a predetermined threshold value in advance.
  • Statistical information includes the correspondence between the target of statistical judgment and unknown vulnerabilities.
  • the undetermined fact generation unit 104 determines an existing unknown vulnerability by referring to the stored correspondence.
  • the unconfirmed fact generation unit 104 calculates the probability that the state indicated by the generated unconfirmed fact is true as a score, and uses the calculated score to include the unconfirmed fact in one or more initial facts. You may decide whether or not.
  • the unconfirmed fact generation unit 104 generates unconfirmed facts by the above method.
  • the method of generating undetermined facts by the undetermined fact generation unit 104 is not limited to the above method.
  • the unconfirmed fact generation unit 104 may generate unconfirmed facts by combining the above methods.
  • the undetermined fact generation unit 104 may use, for example, a value N (N is an integer of 1 or more) separately given by an administrator or the like.
  • N is an integer of 1 or more
  • the unconfirmed fact generation unit 104 calculates the probability that each software contains a vulnerability based on the statistical information, and determines that the software having the highest calculated probability from the first to the Nth contains a vulnerability. May be good.
  • One or more initial facts stored in the initial fact storage unit 106 of the present embodiment may include unconfirmed facts generated by the unconfirmed fact generation unit 104.
  • the analysis unit 107 of the present embodiment analyzes the attack path on the assumption that unconfirmed facts also exist.
  • the analysis unit 107 has an analysis rule in which the state indicated by one or more facts out of a plurality of facts including a confirmed fact and an undetermined fact satisfying a predetermined condition is a rule for deriving another fact. Judge whether or not the conditions shown are met.
  • the predetermined condition is, for example, that the probability that the state indicated by the undetermined fact is true is equal to or greater than a predetermined threshold.
  • the analysis unit 107 derives a feasible attack based on at least one of the confirmed fact and the unconfirmed fact and the analysis rule. Further, the analysis unit 107 derives a new feasible attack based on the derived attack, at least one of the generated confirmed fact and the generated undetermined fact, and the analysis rule.
  • attack graph generated by the analysis unit 107 is provided with information indicating whether each fact is a confirmed fact or an unconfirmed fact.
  • the visualization unit 109 has a function of displaying the generated attack graph indicated by the information stored in the analysis result storage unit 108 on the display means (not shown).
  • the visualization unit 109 does not have to be provided in the analysis system 100.
  • the countermeasure planning unit 110 has a function of planning where and what countermeasure should be taken in the diagnosis target system 200 in order to make the attack infeasible based on the derived attack path. That is, the countermeasure planning unit 110 plans countermeasures against attacks determined to be feasible by the analysis unit 107.
  • the countermeasure planning unit 110 outputs countermeasures such as updating the OS of a predetermined host and adding a firewall to a predetermined network boundary.
  • the countermeasure planning unit 110 may not be provided in the analysis system 100.
  • the extraction unit 111 has a function of extracting unconfirmed facts that contribute to the execution of an attack from among the unconfirmed facts included in one or more initial facts. Specifically, the extraction unit 111 extracts unconfirmed facts from the confirmed facts and unconfirmed facts constituting the attack path indicated by the attack graph stored in the analysis result storage unit 108.
  • Extraction unit 111 presents the extracted unconfirmed facts. For example, the extraction unit 111 asks the administrator to confirm the extracted unconfirmed facts. If the content of the unconfirmed fact is operation-related, the administrator may be able to determine the authenticity of the unconfirmed fact.
  • the extraction unit 111 selects an unconfirmed fact to be an additional scan from the extracted unconfirmed facts, and instructs the scanner 101 to scan the selected unconfirmed facts.
  • the extraction unit 111 designates a particularly important fact among the undetermined facts that contribute to the execution of the attack as the target of the additional scan, and instructs the scanner 101 to scan.
  • an unconfirmed fact in which the probability that the state indicated by the unconfirmed fact is true is equal to or more than a certain first threshold value and equal to or less than a second threshold value can be considered.
  • Indeterminate facts with a sufficiently high probability that the state is true are excluded from the additional scan because they are considered true even if they are not additionally scanned.
  • unconfirmed facts with a sufficiently low probability that the state is true are also excluded from the additional scan because the state is considered false even if they are not additionally scanned.
  • the first threshold value and the second threshold value are values separately given by the administrator or the like.
  • unconfirmed facts whose success or failure of an attack changes depending on the presence or absence that is, unconfirmed facts related to the success or failure of an attack, or unconfirmed facts affecting a predetermined number or more of attack paths.
  • unconfirmed facts for example, with respect to an undetermined fact that is the other condition of the OR condition in which one condition is a definite fact, the OR condition is satisfied regardless of the presence or absence, so that the extraction unit 111 does not have to be designated as an important fact.
  • the OR condition is a condition in which each condition is ORed in the attack path, that is, the attack can be executed when at least one of the conditions is satisfied, and the attack cannot be executed when all the conditions are not satisfied. Means.
  • the extraction unit 111 suppresses the instruction of additional scanning for a fact that cannot be scanned or is extremely difficult to scan, such as an unknown vulnerability.
  • the extraction unit 111 may determine whether or not the truth of the unconfirmed fact can be clarified by the new information obtained in consideration of the characteristics of the scanner 101. If the scanner 101 is an agent installed in the host, which is a device included in the diagnosis target system 200, the extraction unit 111 determines that the settings of the software installed in the host can be acquired.
  • the extraction unit 111 may set the software installed on the host. Judge that acquisition is difficult.
  • the extraction unit 111 outputs an additional scan instruction to the scanner which is likely to be able to clarify the truth of the unconfirmed fact with the new information obtained. May be instructed to the indicating unit 112.
  • the instruction unit 112 inputs the scanning instruction of the unconfirmed fact selected by the extraction unit 111 to the scanner 101.
  • FIG. 7 is a flowchart showing the operation of the attack graph generation process by the analysis system 100 of the first embodiment.
  • the scanner 101 scans the system to be diagnosed 200 (step S101).
  • step S101 the scanner 101 collects the configuration information of the device included in the diagnosis target system 200.
  • step S102 the scanner 101 stores the collected configuration information in the scan result storage unit 102.
  • the definite fact generation unit 103 generates a definite fact by referring to the configuration information stored in the scan result storage unit 102.
  • the definite fact generation unit 103 stores the generated definite fact in the initial fact storage unit 106 (step S103).
  • the unconfirmed fact generation unit 104 generates unconfirmed facts.
  • the unconfirmed fact generation unit 104 stores the generated unconfirmed fact in the initial fact storage unit 106 (step S104).
  • the unconfirmed fact generation unit 104 When the unconfirmed fact generation unit 104 generates an unconfirmed fact, the unconfirmed fact generation unit 104 refers to the configuration information stored in the scan result storage unit 102 and the fact generation information stored in the fact generation information storage unit 105. May be good.
  • the analysis unit 107 generates an attack graph by deriving an attack path of a feasible attack based on one or more initial facts stored in the initial fact storage unit 106 (step S105).
  • the analysis unit 107 stores the information indicating the generated attack graph in the analysis result storage unit 108 (step S106).
  • the visualization unit 109 displays the attack graph indicated by the information stored in the analysis result storage unit 108 on the display means (step S107).
  • the countermeasure planning unit 110 generates a countermeasure plan including items that should be preferentially addressed based on the derived attack path indicated by the information stored in the analysis result storage unit 108 (step S108). ).
  • the analysis system 100 After generating the countermeasure plan, the analysis system 100 ends the attack graph generation process.
  • the processes of steps S107 and S108 may be omitted.
  • FIG. 8 is a flowchart showing the operation of the additional scan execution process by the analysis system 100 of the first embodiment.
  • the extraction unit 111 extracts unconfirmed facts from the facts constituting the attack path indicated by the attack graph stored in the analysis result storage unit 108 (step S201).
  • step S202 the extraction unit 111 presents the extracted unconfirmed facts to the administrator (step S202).
  • the process of step S202 may be omitted.
  • the extraction unit 111 selects the unconfirmed facts to be additionally scanned from the extracted unconfirmed facts (step S203).
  • the extraction unit 111 inputs to the instruction unit 112 that the selected unconfirmed fact is the target of the additional scan (step S204).
  • the instruction unit 112 instructs the scanner 101 to collect information including the input target unconfirmed fact (step S205).
  • the scanner 101 collects information including the target unconfirmed fact (step S206).
  • the scanner 101 additionally collects information and stores the collected information in the scan result storage unit 102 (step S207). After storing, the analysis system 100 ends the additional scan execution process.
  • the confirmed fact generation unit 103 may generate the confirmed fact again.
  • the analysis unit 107 may derive the attack path again.
  • the analysis system 100 of the present embodiment can perform comprehensive analysis targeting unknown conditions. That is, the analysis system 100 of the present embodiment can analyze the possibility of attack in the diagnosis target system 200 even when information cannot be sufficiently collected from each device included in the diagnosis target system 200.
  • the analysis system 100 of the present embodiment cannot scan the devices in the diagnosis target system 200 in detail, cannot collect all business traffic, or has a limited number of scanner products and scanning methods that can be used. Alternatively, even when an unknown vulnerability is included, the possibility of attack in the diagnosis target system 200 can be analyzed.
  • FIG. 9 is a block diagram showing another configuration example of the analysis system according to the first embodiment of the present invention.
  • the analysis system 100A shown in FIG. 9 includes a scanner 101, a scan result storage unit 102, a confirmed fact generation unit 103, an unconfirmed fact generation unit 104, a fact generation information storage unit 105, and an initial fact storage unit 106. It includes an analysis unit 107, an analysis result storage unit 108, a visualization unit 109, and a countermeasure planning unit 110. That is, unlike the analysis system 100 shown in FIG. 1, the analysis system 100A does not include an extraction unit 111 and an instruction unit 112.
  • the analysis system 100A executes the attack graph generation process shown in FIG. 7, but does not execute the additional scan execution process shown in FIG. That is, the analysis system 100A performs from the execution of the scan to the analysis of the attack path.
  • FIG. 10 is an explanatory diagram showing a hardware configuration example of the analysis system according to the present invention.
  • the analysis system shown in FIG. 10 includes a CPU 11, a main storage unit 12, a communication unit 13, and an auxiliary storage unit 14.
  • an input unit 15 for the user to operate and an output unit 16 for presenting the processing result or the progress of the processing content to the user are provided.
  • the analysis system is realized by software when the CPU 11 shown in FIG. 10 executes a program that provides the functions of each component.
  • each function is realized by software by loading and executing the program stored in the auxiliary storage unit 14 by the CPU 11 in the main storage unit 12 and controlling the operation of the analysis system.
  • the main storage unit 12 is used as a data work area or a data temporary save area.
  • the main storage unit 12 is, for example, RAM (Random Access Memory).
  • the scan result storage unit 102, the fact generation information storage unit 105, the initial fact storage unit 106, and the analysis result storage unit 108 are realized by the main storage unit 12.
  • the communication unit 13 has a function of inputting and outputting data to and from peripheral devices via a wired network or a wireless network (information communication network).
  • the scanner 101 may be realized by the communication unit 13.
  • the auxiliary storage unit 14 is a non-temporary tangible storage medium.
  • non-temporary tangible storage media for example, magnetic disks, magneto-optical disks, CD-ROMs (Compact Disk Read Only Memory), DVD-ROMs (Digital Versatile Disk Read) Only Memory), semiconductor memory can be mentioned.
  • the input unit 15 has a function of inputting data and processing instructions.
  • the input unit 15 is an input device such as a keyboard or a mouse.
  • the output unit 16 has a function of outputting data.
  • the output unit 16 is a display device such as a liquid crystal display device.
  • each component is connected to the system bus 17.
  • the auxiliary storage unit 14 is for realizing, for example, a scanner 101, a confirmed fact generation unit 103, an unconfirmed fact generation unit 104, an analysis unit 107, a visualization unit 109, a countermeasure planning unit 110, an extraction unit 111, and an instruction unit 112. I remember the program.
  • the analysis system may be realized by any combination of an information processing device and a program that are separate for each component.
  • a plurality of components included in the analysis system may be realized by any combination of one information processing device and a program.
  • each component may be realized by a general-purpose circuit (circuitry), a dedicated circuit, a processor, or a combination thereof. These may be composed of a single chip or may be composed of a plurality of chips connected via a bus. A part or all of each component may be realized by a combination of the above-mentioned circuit or the like and a program.
  • the plurality of information processing devices and circuits may be centrally arranged or distributed.
  • the information processing device, the circuit, and the like may be realized as a form in which each is connected via a communication network, such as a client-and-server system and a cloud computing system.
  • FIG. 11 is a block diagram showing an outline of the analysis system according to the present invention.
  • the analysis system 20 according to the present invention does not generate unconfirmed facts indicating unknown information of the diagnosis target system or the device among the facts indicating the security-related state of the diagnosis target system or the device included in the diagnosis target system.
  • a confirmed fact generation unit 21 (for example, an undetermined fact generation unit 104) is provided.
  • the analysis system can analyze the possibility of attack in the diagnosis target system even when sufficient information cannot be collected from each device included in the diagnosis target system.
  • the unconfirmed fact generation unit is the analysis system described in Appendix 1 that generates unconfirmed facts based on the configuration information of the device.
  • the unconfirmed fact generation unit is the analysis system according to Appendix 2 that generates unconfirmed facts based on the update frequency of software indicated by the configuration information, the bug curve of the software, or the scale of the software.
  • Appendix 4 The analysis system according to any one of Appendix 1 to Appendix 3 including a definite fact generation unit that generates a fact indicated by configuration information as a definite fact among the facts.
  • Appendix 5 The state indicated by one or more facts out of a plurality of facts including a confirmed fact and an unconfirmed fact satisfying a predetermined condition is a condition indicated by an analysis rule, which is a rule for deriving another fact.
  • the analysis system according to Appendix 4 which includes an analysis unit for determining whether or not it conforms.
  • Appendix 6 The analysis system according to Appendix 5, wherein the predetermined condition is that the probability that the state indicated by the unconfirmed fact is true is equal to or greater than the predetermined threshold value.
  • Appendix 7 The analysis unit according to Appendix 5 or Appendix 6 derives a feasible attack based on at least one of a confirmed fact and an unconfirmed fact and an analysis rule.
  • the analysis unit is the analysis system described in Appendix 7 that derives a new feasible attack based on the derived attack, at least one of the confirmed fact and the unconfirmed fact, and the analysis rule.
  • Appendix 9 The analysis system according to Appendix 7 or Appendix 8 including a countermeasure planning unit for planning countermeasures against derived attacks.
  • Appendix 10 The analysis system according to any one of Appendix 1 to Appendix 9, which includes a scanner that collects configuration information from a device.
  • the present invention is suitably applied to an analysis system used in cooperation with an asset management system.

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)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

分析システム20は、診断対象システムまたは診断対象システムに含まれる機器におけるセキュリティに関連する状態を示すファクトのうち診断対象システムまたは機器の未知の情報を示すファクトを未確定ファクトとして生成する未確定ファクト生成部21を備える。

Description

分析システム、方法およびプログラム
 本発明は、診断対象システムへの攻撃に対する対処に関する判断材料となる情報を分析する分析システム、分析方法および分析プログラムに関する。
 複数のコンピュータ等を含む情報処理システムにおいて、情報資産をサイバー攻撃等から守るためのセキュリティ対策をとることが求められている。セキュリティ対策としては、対象となるシステムの脆弱性等を診断し、必要に応じて脆弱性を取り除くこと等が挙げられる。
 セキュリティ診断の対象となるシステムを、診断対象システムと記す。また、診断対象システムのシステム構成等のデータを収集して、システム内の機器に潜む脆弱性を把握し対策を指示するシステムを、セキュリティ診断システムと記す。特許文献1~2には、セキュリティ診断システムの例が記載されている。
 特許文献1には、検査対象装置から収集された脆弱性情報をもとにリスク分析、セキュリティ対策やセキュリティポリシーの策定、セキュリティ監視の実践といった統合的なセキュリティ管理を実施できるセキュリティ管理システムが記載されている。
 また、特許文献2には、情報処理装置に対する脆弱性診断の負荷を低減できる診断装置が記載されている。
特開2005-242754号公報 特開2017-68691号公報
 セキュリティ診断システムが診断対象システムのシステム構成や診断対象システム内の機器に潜む脆弱性を全て把握することは困難である。その理由は、脆弱性を把握するために行われる診断対象システムのスキャンは診断対象システムにとって負荷が高く、頻繁に行われる処理ではないためである。
 また、運用上の制約により診断対象システムのスキャンを実行可能な期間が制限されているため、診断対象システム内の機器のうちスキャンされていない機器が生じてしまうという理由もある。その結果、セキュリティ診断システムが診断対象システムにおける攻撃可能性を分析できない場合がある。
 そこで、本発明は、診断対象システムに含まれる各機器から情報を十分に収集できない場合であっても診断対象システムにおける攻撃可能性を分析できる分析システム、分析方法および分析プログラムを提供することを目的とする。
 本発明による分析システムは、診断対象システムまたは診断対象システムに含まれる機器におけるセキュリティに関連する状態を示すファクトのうち診断対象システムまたは機器の未知の情報を示すファクトを未確定ファクトとして生成する未確定ファクト生成部を備えることを特徴とする。
 本発明による分析方法は、診断対象システムまたは診断対象システムに含まれる機器におけるセキュリティに関連する状態を示すファクトのうち診断対象システムまたは機器の未知の情報を示すファクトを未確定ファクトとして生成することを特徴とする。
 本発明による分析プログラムは、コンピュータに、診断対象システムまたは診断対象システムに含まれる機器におけるセキュリティに関連する状態を示すファクトのうち診断対象システムまたは機器の未知の情報を示すファクトを未確定ファクトとして生成する未確定ファクト生成処理を実行させることを特徴とする。
 本発明によれば、診断対象システムに含まれる各機器から情報を十分に収集できない場合であっても診断対象システムにおける攻撃可能性を分析できる。
本発明の第1の実施形態の分析システムの構成例を示すブロック図である。 確定ファクト生成部103により生成される初期ファクトの例を示す説明図である。 分析部107により生成される攻撃グラフの例を示す説明図である。 分析部107により生成される攻撃グラフの他の例を示す説明図である。 未確定ファクトが示す状態が真である確率を示すスコアの例を示す説明図である。 未確定ファクトが示す状態が真である確率を示すスコアの他の例を示す説明図である。 第1の実施形態の分析システム100による攻撃グラフ生成処理の動作を示すフローチャートである。 第1の実施形態の分析システム100による追加スキャン実行処理の動作を示すフローチャートである。 本発明の第1の実施形態の分析システムの他の構成例を示すブロック図である。 本発明による分析システムのハードウェア構成例を示す説明図である。 本発明による分析システムの概要を示すブロック図である。
 以下、図面を参照して、本発明の実施形態を説明する。
第1の実施形態.
 図1は、本発明の第1の実施形態の分析システムの構成例を示すブロック図である。第1の実施形態の分析システム100は、スキャナ101と、スキャン結果記憶部102と、確定ファクト生成部103と、未確定ファクト生成部104と、ファクト生成情報記憶部105と、初期ファクト記憶部106と、分析部107と、分析結果記憶部108と、可視化部109と、対策計画部110と、抽出部111と、指示部112とを備える。
 また、図1に示すように、分析システム100は、診断対象システム200と通信可能に接続されている。
 本実施形態における分析システム100は、診断対象システム200のセキュリティに関する状況を分析するためのシステムである。診断対象システム200は、分析システム100によるセキュリティ診断の対象になるシステムである。
 以下の実施形態において、診断対象システム200は、主に企業内のIT(Information Technology)システムであることを想定する。すなわち、診断対象システム200では、複数の機器が通信ネットワークを介して接続されている。なお、診断対象システム200は上記の例に限られず、例えば、OT(Operational Technology)システムを制御するためのシステムでもよい。
 診断対象システム200に含まれる機器として、パーソナルコンピュータ、サーバ、スイッチ、ルータ等が挙げられる。ただし、診断対象システム200に含まれる機器は、これらの例に限定されない。診断対象システム200には、通信ネットワークに接続される他の種類の機器も含まれる。また、診断対象システム200に含まれる機器は、物理的な機器であっても、仮想的な機器であってもよい。
 診断対象システム200に含まれる機器の数は、図1に示す例に限られず、特に限定されない。また、分析システム100は、診断対象システム200に含まれる機器の一つであってもよい。また、分析システム100は、クラウドコンピューティングのような形態で診断対象システム200の外部に設けられ、通信ネットワークを介して診断対象システム200と接続されてもよい。
 スキャナ101は、診断対象システム200内をスキャンすることによって、診断対象システム200に含まれる機器の構成情報を収集する機能を有する。なお、分析システム100は、スキャナ101の代わりに、分析システム100の外部に存在する専用スキャナを使用してもよい。
 スキャナ101は、一例として、予め定められたタイミングで機器の各構成情報を収集する。予め定められたタイミングには、毎日の予め定められた時刻や、機器の起動時等が含まれる。また、予め定められたタイミングには、その他のタイミングが含まれてもよい。
 スキャナ101が各構成情報を収集するタイミングや間隔は、診断対象システム200の規模や機器の具体的な機能等に応じて適宜定められればよい。また、そのように定められたタイミング以外のその他のタイミングで、スキャナ101が機器の各構成情報を収集してもよい。
 スキャナ101が収集する構成情報は、機器に含まれている脆弱性、機器に搭載されているOS(Operating System)およびOSのバージョン、機器に搭載されているハードウェアの構成情報、機器に搭載されているソフトウェア、ソフトウェアのバージョンおよびソフトウェアの設定等である。
 また、スキャナ101が収集する構成情報には、ユーザアカウントおよびアカウント権限、接続しているネットワークやIP(Internet Protocol) アドレス、機器と通信可能に接続されている機器や通信を行っている通信先の機器および通信内容、およびCPU(Central Processing Unit)の機種が含まれてもよい。
 さらに、スキャナ101が収集する構成情報には、機器の通信先の機器との間で授受する通信データやその通信データの授受に用いられた通信プロトコルの情報、機器のポートの状態を示す情報(どのポートが開いているか)、またはデータフロー情報が含まれてもよい。
 なお、通信データには、例えばその通信データの送信元や送信先の情報が含まれている。また、データフロー情報は、どの機器からどの機器にどのようなデータが転送されているかを示す情報である。データフロー情報には、通信データに相当する情報の他に、リムーバブルメディア等を介して転送されるデータに関する情報も含まれる。
 なお、スキャナ101が収集する構成情報の例は、上記の例に限定されない。スキャナ101は、機器の構成情報として、診断対象システム200において実行可能な攻撃を分析するために必要となる他の情報を収集してもよい。
 スキャナ101は、収集された構成情報をスキャン結果として、スキャン結果記憶部102に格納する。スキャン結果記憶部102は、構成情報を記憶する機能を有する。
 なお、スキャン結果記憶部102が記憶する構成情報は、スキャナ101から入力される情報に限られない。例えば、スキャン結果記憶部102には、図示しない機器の情報が予め格納されていてもよい。
 確定ファクト生成部103は、スキャン結果記憶部102に記憶されている構成情報を参照して、1つ以上の初期ファクトを生成する機能を有する。
 本実施形態において、ファクトは、後述する分析部107により参照可能な形式で記述された、診断対象システム200または診断対象システム200に含まれる機器における状態である。ファクトは、主に診断対象システム200または診断対象システム200に含まれる機器におけるセキュリティに関連する状態を示す。
 また、初期ファクトは、確定ファクト生成部103により生成されるファクト、および後述する未確定ファクト生成部104により生成されるファクトの総称である。
 すなわち、確定ファクト生成部103は、収集された構成情報を基に、診断対象システム200において初期ファクトを生成する。以下、スキャンで得られた構成情報から生成されたファクトを、確定ファクトとも呼ぶ。確定ファクト生成部103は、構成情報が示すファクトを確定ファクトとして生成する。
 図2は、確定ファクト生成部103により生成される初期ファクトの例を示す説明図である。図2(a)は、本例において想定する診断対象システム200を示す。
 図2(a)に示すように、本例における診断対象システム200は、機器Aと、機器Bと、機器Cとを含むことを想定する。機器Aと機器Cは、インターネットに接続されている。また、機器Bは、機器Aと機器Cにネットワークを介して接続されている。
 スキャナ101は、機器A、B、C各々の構成情報をそれぞれの機器から収集する。次いで、スキャナ101は、収集された各構成情報をスキャン結果記憶部102に格納する。確定ファクト生成部103は、スキャン結果記憶部102に記憶されている各機器に関する構成情報を用いて初期ファクトを生成する。
 確定ファクト生成部103は、例えば、ある機器にインストールされているOSおよびOSのバージョンを構成情報から参照して、対象の機器に参照されたバージョンのOSがインストールされている、という状況を表す初期ファクトを生成する。
 同様に、確定ファクト生成部103は、ある機器にインストールされているあるソフトウェアおよびソフトウェアのバージョンを構成情報から参照して、対象の機器に参照されたバージョンのソフトウェアがインストールされている、という状況を表す初期ファクトを生成してもよい。
 または、確定ファクト生成部103は、ある第一の機器と通信可能に接続されている第二の機器を構成情報から参照して、第一の機器と第二の機器が通信可能に接続されている、という状況を表す初期ファクトを生成してもよい。
 なお、確定ファクト生成部103が生成する初期ファクトは、上記の例に限られない。確定ファクト生成部103は、構成情報に含まれる任意の情報を初期ファクトとして生成してもよい。
 図2(b)は、上述した診断対象システム200に関して、確定ファクト生成部103が生成する初期ファクトの例を示す。図2(b)に示す例では、角丸四角形で表される要素の各々が、一つの初期ファクトを表す。
 図2(b)に示すように、確定ファクト生成部103は、初期ファクトとして、「機器Aがインターネットに接続されている」、「機器AにソフトウェアXがインストールされている」等を生成している。なお、生成される初期ファクトは、図2(b)に示す例に限られず、診断対象システム200または各機器に応じて適宜生成されればよい。
 確定ファクト生成部103は、生成された1つ以上の初期ファクトを、初期ファクト記憶部106に格納する。初期ファクト記憶部106は、初期ファクトを記憶する機能を有する。
 分析部107は、記憶されている1つ以上の初期ファクトを基に、攻撃グラフを生成する機能を有する。図3は、分析部107により生成される攻撃グラフの例を示す説明図である。
 本実施形態における攻撃グラフは、診断対象システム200において実行可能な攻撃の流れを表すことができるグラフである。すなわち、攻撃グラフは、診断対象システム200における、ある機器の脆弱性の有無等の状態や、ある機器において実行可能な攻撃から当該機器または他の機器において実行可能になる攻撃の関係を表すことができる。
 攻撃グラフは、ファクトをノードとし、ファクト間の関係をエッジとする有向グラフとして表される。有向グラフとして表される攻撃グラフにおいて、ファクトは、上述した初期ファクトであるか、または診断対象システム200に含まれる各機器において実行可能な攻撃を表すファクトである。分析部107が攻撃グラフを生成することによって、診断対象システム200において発生する可能性がある攻撃が分析可能になる。
 生成される攻撃グラフが用いられると、初期ファクトから攻撃の可能性を表すファクトまでの一連の流れを表す攻撃パスが導出可能になる。すなわち、分析部107は、診断対象システム200において実行可能な攻撃を導出できる。
 そして、攻撃パスが用いられると、診断対象システム200における攻撃の流れや、優先的に対策が求められる機器等、個々の機器をスキャンして脆弱性情報等を得るだけでは判断することが困難なセキュリティ上の事象が分析可能になる。
 分析部107は、一例として、1つ以上の初期ファクトを基に、分析ルールを用いて攻撃グラフを生成する。分析ルールは、1つ以上のファクトから別のファクトを導き出すためのルールである。分析ルールは、分析システム100に予め定められている。
 分析部107は、初期ファクトで表されるセキュリティに関連した状態が、分析ルールが示す条件に適合するか否かを判断する。分析ルールが示す全ての条件に初期ファクトが適合する場合、分析部107は、新たなファクトを導き出す。新たなファクトは、例えば、診断対象システム200に含まれる各機器で実行可能な攻撃の内容を表す。
 攻撃が可能であることを表す新たなファクトが導出されることは、診断対象システム200に含まれる機器が、新たなファクトの導出に用いられた初期ファクトで表される状態である場合に導出された新たなファクトで表される攻撃が実行可能であることを示している。換言すると、新たなファクトの導出に用いられたファクトは、新たなファクトで表される攻撃が実行可能になるための前提条件である。
 また、ある攻撃が実行可能であることを起因として、別の攻撃が実行可能になる場合がある。その場合、分析部107は、初期ファクトに加えて、上述したように新たに導出されたファクトを前提条件として、分析ルールを用いて新たなファクトの導出を繰り返し実行する。
 新たなファクトの導出は、例えば新たなファクトが導出されなくなるまで繰り返し実行される。新たなファクトの導出と共に、分析部107は、初期ファクトまたは新たなファクトをノードとし、新たなファクトの前提である初期ファクトを含むファクトから新たなファクトまでをエッジで接続することによって攻撃グラフを生成する。
 また、分析部107は、初期ファクトを、攻撃の実行に寄与するファクトと、攻撃の実行に寄与しないファクトに分類する。攻撃の実行に寄与するファクトは、初期ファクトのうち、攻撃グラフの生成に用いられたファクトである。また、攻撃の実行に寄与しないファクトは、初期ファクトのうち、攻撃グラフの生成に用いられなかったファクトである。
 以下、分析部107による攻撃グラフの生成例を、図3を参照して具体的に説明する。診断対象システム200において、図3に示す初期ファクトが生成されていることを想定する。
 また、「ある機器がインターネットに接続されている」かつ「インターネットに接続されている機器のOSにリモートコード実行可能な脆弱性が存在する」場合に、「攻撃者が当該インターネットに接続されている機器上でコードを実行可能である」という関係が分析ルールとして予め定められていると想定する。
 図3を参照すると、初期ファクトから、機器Aに関して上記の分析ルールの条件が全て満たされることが分かる。よって、分析部107は、「攻撃者が機器Aにおいてコード実行可能」という新たなファクトを導出する。
 また、分析部107は、初期ファクトから導出された新たなファクトまでの攻撃パスを表す攻撃グラフを生成する。具体的には、分析部107は、2つの初期ファクトそれぞれから実行可能な攻撃を表すファクトへ向かうエッジで、2つの初期ファクトそれぞれと攻撃を表すファクトとを接続する。
 次に、攻撃が実行可能になったために別の攻撃が実行可能になる場合の分析部107による攻撃グラフの生成例を説明する。
 図3に示す例で、初期ファクト、および「攻撃者が機器Aにおいてコード実行可能」というファクトが生成されていることを想定する。また、「ある第一の機器にインストールされているソフトウェアYにリモートコード実行可能な脆弱性が存在」かつ、「第一の機器と第二の機器が通信可能に接続されている」かつ、「攻撃者が第二の機器においてコード実行可能」である場合、「攻撃者が第一の機器においてコード実行可能」という関係が分析ルールとして予め定められていると想定する。
 図3を参照すると、診断対象システム200において、初期ファクトから、「機器BにインストールされているソフトウェアYにリモートコード実行可能な脆弱性が存在」、「機器Aと機器Bが通信可能に接続されている」ことが分かる。また、上述したように「攻撃者が機器Aにおいてコード実行可能」なことが導き出されている。すなわち、分析ルールに含まれる条件が全て満たされることが分かる。換言すると、「攻撃者が機器Bにおいてコード実行可能」であることが分かる。
 よって、分析部107は、「攻撃者が機器Bにおいてコード実行可能」という新たなファクトを導出する。また、分析部107は、初期ファクトから導出された新たなファクトまでの攻撃パスを表す攻撃グラフを生成する。
 具体的には、分析部107は、2つの初期ファクトそれぞれと、「攻撃者が機器Aにおいてコード実行可能」というファクトから実行可能な攻撃を表すファクトへ向かうエッジで、3つのファクトそれぞれと攻撃を表すファクトとを接続する。
 以上の処理により、図3に示す攻撃グラフが生成される。すなわち、初期ファクトから「攻撃者が機器Bにおいてコード実行可能」までの一連の流れが攻撃パスとして表される。
 次に、分析部107は、初期ファクトを、攻撃の実行に寄与するファクトと、攻撃の実行に寄与しないファクトに分類する。図3を参照すると、初期ファクトのうち、「機器Aがインターネットに接続されている」、「機器AのOSにリモートコード実行可能な脆弱性が存在」、「機器Aと機器Bが通信可能に接続されている」、および「機器BにインストールされているソフトウェアYにリモートコード実行可能な脆弱性が存在」が、攻撃グラフの生成に用いられている。
 よって、分析部107は、「機器Aがインターネットに接続されている」、「機器AのOSにリモートコード実行可能な脆弱性が存在」、「機器Aと機器Bが通信可能に接続されている」、および「機器BにインストールされているソフトウェアYにリモートコード実行可能な脆弱性が存在」を攻撃の実行に寄与するファクトに分類する。
 同様に、図3を参照すると、初期ファクトのうち、「機器AにソフトウェアXがインストールされている」、および「機器Cがインターネットに接続されている」は、攻撃グラフの生成に用いられていない。よって、分析部107は、「機器AにソフトウェアXがインストールされている」、および「機器Cがインターネットに接続されている」を攻撃の実行に寄与しないファクトに分類する。
 なお、分析部107が攻撃グラフを生成する手順は、上述した手順に限られない。分析部107は、上述した手順以外の手順に従って、初期ファクトを基に攻撃グラフを生成してもよい。また、分析部107は、初期ファクトから診断対象システム200において実行可能な攻撃または攻撃の流れを求めるための上記の手法以外の別の手法を用いて分析してもよい。
 なお、診断対象システム200によっては、分析部107が攻撃パスを含む攻撃グラフを生成できない場合が想定される。例えば、診断対象システム200の各機器に対して十分なセキュリティ対策が実行されており、攻撃が実行可能となる前提を表す初期ファクトが生成されない場合、意味のある攻撃パスを含むような攻撃グラフが生成されないことが想定される。
 以上のような手順に従って、分析部107は、攻撃グラフを生成する。分析部107は、生成された攻撃グラフを示す情報を分析結果記憶部108に格納する。分析結果記憶部108は、攻撃グラフを示す情報を記憶する機能を有する。
 以下、上記の課題を解決する本実施形態の特徴を説明する。上述したように、診断対象システム200の構成情報のうち、スキャナ101が収集可能な構成情報は限られている。その理由の1つは、診断対象システム200に大きな負荷がかかるため、スキャナ101が任意のデータを送信するようなアクティブスキャンを実行することが困難であるからである。
 例えば、工場内のバルブの開閉等を制御するために使用されているPLC(Programmable Logic Controller)では、多少負荷がかかるだけでも不具合が発生する可能性がある。よって、スキャナ101は、PLC に対してパケットを送信して応答内容を分析するポートスキャンを実行できない。
 また、例えば負荷が軽微である簡易なスキャンであればスキャン可能な機器に対しても、詳細な情報を取得するためのスキャンの実行は、負荷が重いため、機器のユーザに許容されない場合がある。ユーザに許容されない場合、スキャナ101は、機器を詳細にスキャンできない。
 また、他の理由は、スキャナ101が通信ネットワークを流れている業務トラフィック等を受信するパッシブスキャンで構成情報を収集する場合、収集が行われる期間中に、全ての業務トラフィックが流れるとは限らないためである。例えば、スキャナ101は、障害対応の内容を示す業務トラフィックや月次更新の内容を示す業務トラフィック等を、所定の期間中に収集できない可能性が高い。
 また、他の理由は、運用上の制約等のため使用可能なスキャナ製品やスキャン方式が限られている場合、スキャナ101が十分な情報を収集できないためである。例えば、契約の都合上、管理者がスキャナ101として特定の種類のスキャナしか使用できない場合がある。
 また、他の理由は、未知の脆弱性や修正プログラムが未提供である脆弱性をスキャナ101が検知できないためである。以上のように、収集される構成情報が限られている場合、攻撃パスが網羅的に得られない可能性がある。
 図4は、分析部107により生成される攻撃グラフの他の例を示す説明図である。図4に示す初期ファクト60~62は、確定ファクト生成部103により生成された確定ファクトである。また、初期ファクト63は、スキャンで得られた構成情報が示さず確定ファクト生成部103により生成されなかったが、診断対象システム200に含まれる機器の状態を示すファクトである。
 初期ファクト63が生成されないと、分析部107は、初期ファクト62と初期ファクト63から攻撃65へ至る実行可能な攻撃の攻撃パスを導出できない。また、ファクト64とファクト65から攻撃66へ至る実行可能な攻撃の攻撃パスも導出できない。図4に示す破線の矢印は、矢印が含まれる攻撃パスが導出不可能であることを意味する。
 本実施形態の未確定ファクト生成部104は、診断対象システム200、または診断対象システム200に含まれる機器の未知の情報を示すファクト(以下、未確定ファクトと呼ぶ。)を生成する機能を有する。未確定ファクトは、例えば、スキャナ101によるスキャンで得られた構成情報から生成することが困難なファクトである。
 図4に示す斜線模様のファクトは、未確定ファクトであることを意味する。なお、分析部107は、未確定ファクトも、攻撃の実行に寄与するファクトと、攻撃の実行に寄与しないファクトに分類する。
 未確定ファクトを生成する1つ目の方法として、未確定ファクト生成部104は、例えば一般的に考えられる状態を未確定ファクトとして生成する。例えば、未確定ファクト生成部104は、デフォルトでインストールされているソフトウェアに関して、ソフトウェアがインストールされているという未確定ファクトを生成する。
 具体例として、未確定ファクト生成部104は、OSがWindows (登録商標)であるPCに関して、.NET Framework(登録商標)がインストールされているという未確定ファクトを生成する。
 また、未確定ファクト生成部104は、デフォルト設定や、デフォルト設定ではないがよく用いられる設定に対応する未確定ファクトを生成する。
 また、未確定ファクト生成部104は、診断対象システム200に含まれる機器の構成と類似した構成のホスト、OS、またはソフトウェアを外部データベースにおいて検索し、検索されたホスト等に関する情報に対応する未確定ファクトを生成する。
 ファクト生成情報記憶部105は、ファクト生成情報を記憶する機能を有する。ファクト生成情報は、上述した一般的に考えられる状態を示す情報である。具体的には、ファクト生成情報は、デフォルトでインストールされているソフトウェア、デフォルト設定の内容、ホストの一般的な構成等を示す。
 未確定ファクト生成部104は、ファクト生成情報記憶部105に記憶されているファクト生成情報を参照して未確定ファクトを生成する。なお、ファクト生成情報記憶部105は、分析システム100の外部に存在していてもよい。
 なお、未確定ファクト生成部104は、生成された未確定ファクトが示す状態が真である確率をスコアとして算出し、算出されたスコアを用いて未確定ファクトを1つ以上の初期ファクトに含めるか否かを判断してもよい。
 例えば、未確定ファクト生成部104は、スコアが閾値以上の未確定ファクトを1つ以上の初期ファクトに含めてもよい。また、未確定ファクト生成部104は、別途管理者等から与えられる値N(Nは1以上の整数)を用いて、スコアが上位1番目からN番目までのN個の未確定ファクトを1つ以上の初期ファクトに含めてもよい。
 なお、分析部107は、算出されたスコアをファクトが示す状態が真である確率として扱い、攻撃パスを分析する時にスコアを用いて攻撃の実現可能性を計算してもよい。
 また、未確定ファクトが示す状態が真である確率を示すスコアは、管理者により予め設定されていてもよい。図5は、未確定ファクトが示す状態が真である確率を示すスコアの例を示す説明図である。
 図5(a)に示すように、管理者は、各ソフトウェアの各設定項目に関して、デフォルト値やよく知られた値が設定されている可能性を、予めスコアとして定義する。例えば、ソフトAの設定Xにデフォルト値が設定されている可能性は「0.9 」である。
 また、図5(b)に示すように、管理者は、未確定ファクトが示す状態が真である確率を示すスコアを、値ではなくランクとして設定してもよい。図5(b)に示す例では、ランクA、ランクB、ランクCの順に高いスコアとしてランクが設定されている。
 未確定ファクトを生成する2つ目の方法として、未確定ファクト生成部104は、スキャン結果を基にスキャン結果に含まれていない環境の情報を推定することによって、未確定ファクトを生成する。すなわち、未確定ファクト生成部104は、機器の構成情報を基に未確定ファクトを生成する。
 例えば、未確定ファクト生成部104は、各ホストの空きポート、および各ホスト間の到達性に関するスキャン結果から、ホスト間にデータフローが存在するという未確定ファクトを生成してもよい。データフローとして、例えばファイル共有が考えられる。
 なお、到達性に関するスキャン結果は、各ホストから別の各ホストに対して通信が可能な状態であるか否かを示す。さらに、到達性に関するスキャン結果は、通信が可能である送信元ポート、送信先ポート等の情報を含んでもよい。到達性に関するスキャン結果は、具体的にはネットワーク構成、ネットワークファイアウォールのルール、ホストファイアウォールのルール等を示す。
 また、未確定ファクト生成部104は、診断対象システム200に含まれる構成要素の類似性、または構成要素の関連性に基づいて未確定ファクトを生成してもよい。なお、構成要素には、ホスト、OS、ソフトウェア等が含まれる。
 例えば、未確定ファクト生成部104は、あるホストにインストールされているOS、ソフトウェアの最終更新日が得られている場合、当該ホストまたは他のホストにインストールされているOS、ソフトウェアも同じ日が最終更新日である、という未確定ファクトを生成してもよい。
 また、未確定ファクト生成部104は、構成や機能が類似しているホストAとホストBに関して、ホストAのスキャン結果は得られているがホストBのスキャン結果が得られていない場合、ホストAのスキャン結果の内容を基にホストBに関する未確定ファクトを生成してもよい。ホストAとホストBは、例えばロードバランサの対象の2つのホストである。
 また、未確定ファクト生成部104は、データフローが観測されていない2つのホストにPDF(Portable Document Format) ファイル等の同一のファイルが存在する場合、ホスト間でのファイル共有のデータフローを示す未確定ファクトを生成してもよい。その理由は、ファイル共有が行われた可能性があるためである。
 ただし、同一のファイルがシステムディレクトリ内のファイルである場合、未確定ファクト生成部104は、未確定ファクトを生成しなくてもよい。その理由は、システムディレクトリ内のファイルは元々システムが備えるファイルであり、ファイル共有が行われた可能性が低いためである。
 なお、未確定ファクト生成部104は、生成された未確定ファクトが示す状態が真である確率をスコアとして算出し、算出されたスコアを用いて未確定ファクトを1つ以上の初期ファクトに含めるか否かを判断してもよい。
 また、未確定ファクトが示す状態が真である確率を示すスコアは、管理者により予め設定されていてもよい。図6は、未確定ファクトが示す状態が真である確率を示すスコアの他の例を示す説明図である。
 図6(a)に示すように、管理者は、推定の方法ごとに、予め所定のスコアを設定する。例えば、空きポートと到達性から推定されたデータフローが存在する確率は「0.5 」である。
 また、図6(b)に示すように、管理者は、未確定ファクトが示す状態が真である確率を示すスコアを、値ではなくランクとして設定してもよい。図6(b)に示す例では、ランクC、ランクDの順に高いスコアとしてランクが設定されている。
 未確定ファクトを生成する3つ目の方法として、未確定ファクト生成部104は、スキャン結果を基に未知の脆弱性が含まれている可能性を統計的に判断することによって、未確定ファクトを生成してもよい。
 例えば、未確定ファクト生成部104は、スキャン結果から判明しているインストール済みのソフトウェアに関して、以下に示す統計情報から未知の脆弱性が存在するか否か、存在する場合にどのような脆弱性であるかを判断する。脆弱性の種類は、例えば任意コード実行、情報漏洩、DoS(Denial of Service)である。
 例えば、未確定ファクト生成部104は、インストール済みのソフトウェアのソフトウェアスイートやベンダの脆弱性の発見頻度を基に統計的に判断する。例えば、未確定ファクト生成部104は、ソフトウェアスイートごと、またはベンダごとの脆弱性の発見頻度に関する統計情報を参照して、診断対象システム200内の各ソフトウェアのソフトウェアスイートまたはベンダを基に、当該ソフトウェアに脆弱性が含まれる確率を算出する。
 また、未確定ファクト生成部104は、ソフトウェアスイートおよびベンダごとの脆弱性の発見頻度に関する統計情報を参照して、診断対象システム200内の各ソフトウェアのソフトウェアスイートおよびベンダを基に、当該ソフトウェアに脆弱性が含まれる確率を算出してもよい。
 次いで、未確定ファクト生成部104は、算出された確率が所定の閾値を超えている場合に当該ソフトウェアに脆弱性が存在すると判断する。その理由は、過去に多くの脆弱性が発見されているソフトウェアと、ソフトウェアスイートとベンダのうち少なくともいずれかが同じソフトウェアには、未知の脆弱性が存在している可能性が高いためである。すなわち、未確定ファクト生成部104は、ソフトウェアスイートやベンダの脆弱性の発見頻度に基づいて未確定ファクトを生成する。
 また、未確定ファクト生成部104は、インストール済みのソフトウェアの更新頻度を基に統計的に判断する。例えば、未確定ファクト生成部104は、当該ソフトウェアの更新頻度が所定の閾値を超えている場合に、当該ソフトウェアに未知の脆弱性が存在すると判断する。その理由は、頻繁に更新が行われているソフトウェアほど、新たな脆弱性が混入されている可能性が高いためである。すなわち、未確定ファクト生成部104は、構成情報が示すソフトウェアに関する更新頻度に基づいて未確定ファクトを生成する。
 また、未確定ファクト生成部104は、インストール済みのソフトウェアに関するソフトウェアバグ収束曲線(単にバグ曲線とも呼ぶ。)を基に統計的に判断する。対象のソフトウェアから検出されたバグの数とソフトウェアバグ収束曲線とを基に、未確定ファクト生成部104は、ソフトウェアに未知の脆弱性が存在するか否かを判断する。すなわち、未確定ファクト生成部104は、構成情報が示すソフトウェアに関するバグ曲線に基づいて未確定ファクトを生成する。
 また、未確定ファクト生成部104は、インストール済みのソフトウェアの規模を基に統計的に判断する。例えば、未確定ファクト生成部104は、ソフトウェアの規模と内包されていた脆弱性の有無に関する統計情報を参照して、診断対象システム200内の各ソフトウェアの規模を基に、当該ソフトウェアに脆弱性が含まれる確率を算出する。
 次いで、未確定ファクト生成部104は、算出された確率が所定の閾値を超えている場合に当該ソフトウェアに脆弱性が存在すると判断する。その理由は、規模が大きくなるほど、ソフトウェアには脆弱性が含まれやすくなるためである。すなわち、未確定ファクト生成部104は、ソフトウェアに関する規模に基づいて未確定ファクトを生成する。
 また、未確定ファクト生成部104は、インストール済みのソフトウェアがOSS(Open Source Software) である場合、OSS 開発コミュニティの人数を基に統計的に判断する。
 例えば、未確定ファクト生成部104は、ソフトウェアの開発コミュニティの人数と内包されていた脆弱性の有無に関する統計情報を参照して、診断対象システム200内の各ソフトウェアの開発コミュニティの人数を基に、当該ソフトウェアに脆弱性が含まれる確率を算出する。
 次いで、未確定ファクト生成部104は、算出された確率が所定の閾値を超えている場合に当該ソフトウェアに脆弱性が存在すると判断する。ソフトウェアのOSS 開発コミュニティの人数が多いほど、デバッグやメンテナンスが十分行われている確率が高いためである。
 また、未確定ファクト生成部104は、インストール済みのソフトウェアのサポートが終了している場合、サポート終了からの経過時間を基に統計的に判断する。サポートが終了すると、ソフトウェアは、ベンダにより管理されなくなる。また、サポート終了からの経過時間が長くなるほど、ソフトウェアに脆弱性が発見されている確率が高くなる。よって、経過時間が閾値を超えたら、未確定ファクト生成部104は、ソフトウェアに未知の脆弱性が存在すると判断する。
 なお、未確定ファクト生成部104は、ソフトウェアに含まれている未知の脆弱性の種類も統計的に判断してもよい。例えば、未確定ファクト生成部104は、上述したような脆弱性に関する統計情報であって、さらに脆弱性の種類ごとに集計された統計情報を用いてもよい。
 脆弱性の種類ごとに集計された統計情報を用いる場合、未確定ファクト生成部104は、診断対象システム200内の各ソフトウェアに脆弱性が含まれている確率を脆弱性の種類ごとに算出する。次いで、未確定ファクト生成部104は、算出された確率が所定の閾値を超えている場合に算出された確率に関する脆弱性が当該ソフトウェアに存在すると判断する。
 ファクト生成情報記憶部105には、上述したような統計情報と所定の閾値が予め記憶されている。統計情報には、統計的な判断の対象と、未知の脆弱性との対応関係が含まれている。未確定ファクト生成部104は、記憶されている対応関係を参照して、存在する未知の脆弱性を判断する。
 なお、未確定ファクト生成部104は、生成された未確定ファクトが示す状態が真である確率をスコアとして算出し、算出されたスコアを用いて未確定ファクトを1つ以上の初期ファクトに含めるか否かを判断してもよい。
 未確定ファクト生成部104は、上記の方法で未確定ファクトを生成する。しかし、未確定ファクト生成部104による未確定ファクトの生成方法は、上記の方法に限られない。例えば、未確定ファクト生成部104は、上記の方法を組み合わせて未確定ファクトを生成してもよい。
 また、未確定ファクト生成部104は、例えば別途管理者等から与えられる値N(Nは1以上の整数)を用いてもよい。未確定ファクト生成部104は、統計情報を基に各ソフトウェアに脆弱性が含まれる確率を計算し、計算された確率が上位1番目からN番目までのソフトウェアに脆弱性が含まれると判断してもよい。
 なお、上述したような未確定ファクトを生成する条件が満たされるか否かは、診断対象システム200等に依存する。条件が満たされない場合、未確定ファクトは、生成されない可能性もある。
 本実施形態の初期ファクト記憶部106に記憶されている1つ以上の初期ファクトには、未確定ファクト生成部104により生成された未確定ファクトが含まれ得る。また、本実施形態の分析部107は、未確定ファクトも存在していると仮定して攻撃パスを分析する。
 すなわち、分析部107は、確定ファクトと所定の条件を満たす未確定ファクトとが含まれる複数のファクトのうち1つ以上のファクトが示す状態が、別のファクトを導き出すためのルールである分析ルールが示す条件に適合するか否かを判断する。所定の条件は、例えば未確定ファクトが示す状態が真である確率が所定の閾値以上であることである。
 別のファクトを導き出す処理を繰り返し実行することによって、分析部107は、確定ファクトと未確定ファクトの少なくともいずれか1つと、分析ルールとを基に、実行可能な攻撃を導出する。さらに、分析部107は、導出された攻撃と、生成された確定ファクトと生成された未確定ファクトの少なくともいずれか1つと、分析ルールとを基に、実行可能な新たな攻撃を導出する。
 また、分析部107が生成する攻撃グラフには、各ファクトが確定ファクトと未確定ファクトのいずれであるかを示す情報が付与されている。
 可視化部109は、分析結果記憶部108に記憶されている情報が示す、生成された攻撃グラフを表示手段(図示せず)に表示する機能を有する。なお、可視化部109は、分析システム100に備えられていなくてもよい。
 対策計画部110は、導出された攻撃パスに基づいて、攻撃を実行不可能にするために、診断対象システム200のどこにどのような対策を施せばよいか計画する機能を有する。すなわち、対策計画部110は、分析部107により実行可能と判定された攻撃に対する対策を計画する。
 例えば、対策計画部110は、所定のホストのOSを更新する、所定のネットワーク境界にファイアウォールを追加する等の対策を出力する。なお、対策計画部110は、分析システム100に備えられていなくてもよい。
 抽出部111は、1つ以上の初期ファクトに含められた未確定ファクトのうち、攻撃の実行に寄与する未確定ファクトを抽出する機能を有する。具体的には、抽出部111は、分析結果記憶部108に記憶されている攻撃グラフが示す攻撃パスを構成する確定ファクトと未確定ファクトのうち、未確定ファクトを抽出する。
 抽出部111は、抽出された未確定ファクトを提示する。例えば、抽出部111は、抽出された未確定ファクトの確認を管理者に依頼する。未確定ファクトの内容が運用に関する内容である場合、管理者は、未確定ファクトの真偽を判断できる可能性がある。
 また、抽出部111は、抽出された未確定ファクトのうち追加スキャンの対象とする未確定ファクトを選択して、選択された未確定ファクトのスキャンをスキャナ101に指示する。例えば、抽出部111は、攻撃の実行に寄与する未確定ファクトのうち、特に重要なファクトを追加スキャンの対象に指定して、スキャンをスキャナ101に指示する。
 重要なファクトとして、例えば未確定ファクトが示す状態が真である確率が、ある第一の閾値以上かつ第二の閾値以下である未確定ファクトが考えられる。状態が真である確率が十分に大きい未確定ファクトは、追加スキャンされなくとも状態が真であるとみなされるため、追加スキャンの対象から除外される。また、状態が真である確率が十分に小さい未確定ファクトは、追加スキャンされなくとも状態が偽であるとみなされるため、やはり追加スキャンの対象から除外される。なお、第一の閾値および第二の閾値は、別途管理者等から与えられる値である。
 また、重要なファクトとして、例えば存在の有無により攻撃の成否が変化する未確定ファクト、すなわち攻撃の成否に関わる未確定ファクトや、所定の数以上の攻撃パスに影響を与えている未確定ファクトが考えられる。例えば、一方の条件が確定ファクトであるOR条件の他方の条件である未確定ファクトに関して、有無によらずOR条件が成立するので、抽出部111は、重要ファクトに指定しなくてもよい。
 なお、OR条件は、攻撃パスにおいて各条件が論理和の関係、すなわち各条件が少なくとも1つ成立するときに攻撃が実行可能となり、各条件が全て成立しないときに攻撃が実行不可能となる条件を意味する。
 また、重要なファクトとして、例えば追加スキャンにより取得される新たな情報で真偽が明らかになることが予測される未確定ファクトが考えられる。抽出部111は、未知の脆弱性のようにスキャンが不可能、またはスキャンが著しく困難なファクトに対する追加スキャンの指示を抑制する。
 さらに、抽出部111は、スキャナ101の特性を考慮して、得られる新たな情報で未確定ファクトの真偽を明らかにできるか否かを判断してもよい。スキャナ101が診断対象システム200に含まれる機器であるホスト内にインストールされているエージェントであれば、抽出部111は、ホストにインストールされているソフトウェアの設定等が取得できると判断する。
 また、スキャナ101が診断対象システム200に含まれる機器であるホストに通信ネットワークを介して通信可能に接続されたアプライアンス等であれば、抽出部111は、ホストにインストールされているソフトウェアの設定等の取得が困難であると判断する。
 また、複数のスキャナが使用可能である場合、抽出部111は、得られる新たな情報で未確定ファクトの真偽を明らかにできる可能性が高いスキャナに対して、追加スキャンの指示を出力するように指示部112に指示してもよい。
 指示部112は、抽出部111により選択された未確定ファクトのスキャンの指示をスキャナ101に入力する。
[動作の説明]
 以下、本実施形態の分析システム100の攻撃グラフを生成する動作を図7を参照して説明する。図7は、第1の実施形態の分析システム100による攻撃グラフ生成処理の動作を示すフローチャートである。
 最初に、スキャナ101は、診断対象システム200をスキャンする(ステップS101)。
 ステップS101で、スキャナ101は、診断対象システム200に含まれる機器の構成情報を収集する。次いで、スキャナ101は、収集された構成情報をスキャン結果記憶部102に格納する(ステップS102)。
 次いで、確定ファクト生成部103は、スキャン結果記憶部102に記憶されている構成情報を参照して、確定ファクトを生成する。次いで、確定ファクト生成部103は、生成された確定ファクトを、初期ファクト記憶部106に格納する(ステップS103)。
 また、未確定ファクト生成部104は、未確定ファクトを生成する。次いで、未確定ファクト生成部104は、生成された未確定ファクトを、初期ファクト記憶部106に格納する(ステップS104)。
 なお、未確定ファクト生成部104は、未確定ファクトを生成する時、スキャン結果記憶部102に記憶されている構成情報と、ファクト生成情報記憶部105に記憶されているファクト生成情報を参照してもよい。
 次いで、分析部107は、初期ファクト記憶部106に記憶されている1つ以上の初期ファクトを基に、実行可能な攻撃の攻撃パスを導出することによって攻撃グラフを生成する(ステップS105)。次いで、分析部107は、生成された攻撃グラフを示す情報を、分析結果記憶部108に格納する(ステップS106)。
 次いで、可視化部109は、分析結果記憶部108に記憶されている情報が示す攻撃グラフを表示手段に表示する(ステップS107)。
 次いで、対策計画部110は、分析結果記憶部108に記憶されている情報が示す導出された攻撃パスに基づいて、優先的に対策した方が好ましい項目が含まれる対策計画を生成する(ステップS108)。
 対策計画を生成した後、分析システム100は、攻撃グラフ生成処理を終了する。なお、ステップS107、S108の各処理は、省略されてもよい。
 次に、本実施形態の分析システム100の追加スキャンを実行する動作を図8を参照して説明する。図8は、第1の実施形態の分析システム100による追加スキャン実行処理の動作を示すフローチャートである。
 最初に、抽出部111は、分析結果記憶部108に記憶されている攻撃グラフが示す攻撃パスを構成するファクトのうち、未確定ファクトを抽出する(ステップS201)。
 次いで、抽出部111は、抽出された未確定ファクトを管理者に向けて提示する(ステップS202)。なお、ステップS202の処理は、省略されてもよい。
 次いで、抽出部111は、抽出された未確定ファクトのうち追加スキャンの対象とする未確定ファクトを選択する(ステップS203)。
 次いで、抽出部111は、選択された未確定ファクトが追加スキャンの対象であることを指示部112に入力する(ステップS204)。
 次いで、指示部112は、入力された対象の未確定ファクトを含む情報の収集を実行するようにスキャナ101に指示する(ステップS205)。
 次いで、スキャナ101は、対象の未確定ファクトを含む情報を収集する(ステップS206)。スキャナ101は、追加で情報を収集し、収集された情報をスキャン結果記憶部102に格納する(ステップS207)。格納した後、分析システム100は、追加スキャン実行処理を終了する。
 なお、追加スキャン実行処理が終了した後、確定ファクト生成部103は、再度確定ファクトを生成してもよい。再度確定ファクトが生成された後、分析部107は、再度攻撃パスを導出してもよい。
[効果の説明]
 上記の構成により、本実施形態の分析システム100は、未知の条件も対象にした網羅的な分析を実行できる。すなわち、本実施形態の分析システム100は、診断対象システム200に含まれる各機器から情報を十分に収集できない場合であっても診断対象システム200における攻撃可能性を分析できる。
 換言すると、本実施形態の分析システム100は、診断対象システム200内の機器を詳細にスキャンできない場合、全ての業務トラフィックを収集できない場合、使用可能なスキャナ製品やスキャン方式が限られている場合、または未知の脆弱性が含まれている場合等であっても、診断対象システム200における攻撃可能性を分析できる。
(変形例)
 以下、本実施形態の変形例を説明する。図9は、本発明の第1の実施形態の分析システムの他の構成例を示すブロック図である。
 図9に示す分析システム100Aは、スキャナ101と、スキャン結果記憶部102と、確定ファクト生成部103と、未確定ファクト生成部104と、ファクト生成情報記憶部105と、初期ファクト記憶部106と、分析部107と、分析結果記憶部108と、可視化部109と、対策計画部110とを備える。すなわち、分析システム100Aは、図1に示す分析システム100と異なり、抽出部111と、指示部112とを備えていない。
 また、分析システム100Aは、図7に示す攻撃グラフ生成処理を実行するが、図8に示す追加スキャン実行処理を実行しない。すなわち、分析システム100Aは、スキャンの実行から、攻撃パスの分析までを行う。
 以下、本実施形態の分析システムのハードウェア構成の具体例を説明する。図10は、本発明による分析システムのハードウェア構成例を示す説明図である。
 図10に示す分析システムは、CPU 11と、主記憶部12と、通信部13と、補助記憶部14とを備える。また、ユーザが操作するための入力部15や、ユーザに処理結果または処理内容の経過を提示するための出力部16を備える。
 分析システムは、一例として、各構成要素が有する機能を提供するプログラムを図10に示すCPU 11が実行することによって、ソフトウェアにより実現される。
 すなわち、CPU 11が補助記憶部14に格納されているプログラムを、主記憶部12にロードして実行し、分析システムの動作を制御することによって、各機能がソフトウェアにより実現される。
 主記憶部12は、データの作業領域やデータの一時退避領域として用いられる。主記憶部12は、例えばRAM(Random Access Memory) である。スキャン結果記憶部102、ファクト生成情報記憶部105、初期ファクト記憶部106、および分析結果記憶部108は、主記憶部12で実現される。
 通信部13は、有線のネットワークまたは無線のネットワーク(情報通信ネットワーク)を介して、周辺機器との間でデータを入力および出力する機能を有する。スキャナ101は、通信部13で実現されてもよい。
 補助記憶部14は、一時的でない有形の記憶媒体である。一時的でない有形の記憶媒体として、例えば磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read Only Memory) 、DVD-ROM(Digital Versatile Disk Read
Only Memory)、半導体メモリが挙げられる。
 入力部15は、データや処理命令を入力する機能を有する。入力部15は、例えばキーボードやマウス等の入力デバイスである。
 出力部16は、データを出力する機能を有する。出力部16は、例えば液晶ディスプレイ装置等の表示装置である。
 また、図10に示すように、分析システムにおいて、各構成要素は、システムバス17に接続されている。
 補助記憶部14は、例えば、スキャナ101、確定ファクト生成部103、未確定ファクト生成部104、分析部107、可視化部109、対策計画部110、抽出部111、および指示部112を実現するためのプログラムを記憶している。
 上述した分析システムの実現方法には、様々な変形例がある。例えば、分析システムは、構成要素毎にそれぞれ別個の情報処理装置とプログラムとの任意の組み合わせにより実現されてもよい。また、分析システムが備える複数の構成要素が、一つの情報処理装置とプログラムとの任意の組み合わせにより実現されてもよい。
 また、各構成要素の一部または全部は、汎用の回路(circuitry )または専用の回路、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
 各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
 次に、本発明の概要を説明する。図11は、本発明による分析システムの概要を示すブロック図である。本発明による分析システム20は、診断対象システムまたは診断対象システムに含まれる機器におけるセキュリティに関連する状態を示すファクトのうち診断対象システムまたは機器の未知の情報を示すファクトを未確定ファクトとして生成する未確定ファクト生成部21(例えば、未確定ファクト生成部104)を備える。
 そのような構成により、分析システムは、診断対象システムに含まれる各機器から情報を十分に収集できない場合であっても診断対象システムにおける攻撃可能性を分析できる。
 以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下に限られない。
 (付記1)診断対象システムまたは前記診断対象システムに含まれる機器におけるセキュリティに関連する状態を示すファクトのうち前記診断対象システムまたは前記機器の未知の情報を示すファクトを未確定ファクトとして生成する未確定ファクト生成部を備えることを特徴とする分析システム。
 (付記2)未確定ファクト生成部は、機器の構成情報を基に未確定ファクトを生成する付記1記載の分析システム。
 (付記3)未確定ファクト生成部は、構成情報が示すソフトウェアに関する更新頻度、前記ソフトウェアに関するバグ曲線、または前記ソフトウェアに関する規模に基づいて未確定ファクトを生成する付記2記載の分析システム。
 (付記4)ファクトのうち構成情報が示すファクトを確定ファクトとして生成する確定ファクト生成部を備える付記1から付記3のうちのいずれかに記載の分析システム。
 (付記5)確定ファクトと所定の条件を満たす未確定ファクトとが含まれる複数のファクトのうち1つ以上のファクトが示す状態が、別のファクトを導き出すためのルールである分析ルールが示す条件に適合するか否かを判断する分析部を備える付記4記載の分析システム。
 (付記6)所定の条件は、未確定ファクトが示す状態が真である確率が所定の閾値以上であることである付記5記載の分析システム。
 (付記7)分析部は、確定ファクトと未確定ファクトの少なくともいずれか1つと、分析ルールとを基に、実行可能な攻撃を導出する付記5または付記6記載の分析システム。
 (付記8)分析部は、導出された攻撃と、確定ファクトと未確定ファクトの少なくともいずれか1つと、分析ルールとを基に、実行可能な新たな攻撃を導出する付記7記載の分析システム。
 (付記9)導出された攻撃に対する対策を計画する対策計画部を備える付記7または付記8記載の分析システム。
 (付記10)機器から構成情報を収集するスキャナを備える付記1から付記9のうちのいずれかに記載の分析システム。
 (付記11)診断対象システムまたは前記診断対象システムに含まれる機器におけるセキュリティに関連する状態を示すファクトのうち前記診断対象システムまたは前記機器の未知の情報を示すファクトを未確定ファクトとして生成することを特徴とする分析方法。
 (付記12)コンピュータに、診断対象システムまたは前記診断対象システムに含まれる機器におけるセキュリティに関連する状態を示すファクトのうち前記診断対象システムまたは前記機器の未知の情報を示すファクトを未確定ファクトとして生成する未確定ファクト生成処理を実行させるための分析プログラム。
産業上の利用の可能性
 本発明は、資産管理システムと連携して使用される分析システムに好適に適用される。
11 CPU
12 主記憶部
13 通信部
14 補助記憶部
15 入力部
16 出力部
17 システムバス
20、100、100A 分析システム
21、104 未確定ファクト生成部
101 スキャナ
102 スキャン結果記憶部
103 確定ファクト生成部
105 ファクト生成情報記憶部
106 初期ファクト記憶部
107 分析部
108 分析結果記憶部
109 可視化部
110 対策計画部
111 抽出部
112 指示部
200 診断対象システム

Claims (12)

  1.  診断対象システムまたは前記診断対象システムに含まれる機器におけるセキュリティに関連する状態を示すファクトのうち前記診断対象システムまたは前記機器の未知の情報を示すファクトを未確定ファクトとして生成する未確定ファクト生成部を備える
     ことを特徴とする分析システム。
  2.  未確定ファクト生成部は、機器の構成情報を基に未確定ファクトを生成する
     請求項1記載の分析システム。
  3.  未確定ファクト生成部は、構成情報が示すソフトウェアに関する更新頻度、前記ソフトウェアに関するバグ曲線、または前記ソフトウェアに関する規模に基づいて未確定ファクトを生成する
     請求項2記載の分析システム。
  4.  ファクトのうち構成情報が示すファクトを確定ファクトとして生成する確定ファクト生成部を備える
     請求項1から請求項3のうちのいずれか1項に記載の分析システム。
  5.  確定ファクトと所定の条件を満たす未確定ファクトとが含まれる複数のファクトのうち1つ以上のファクトが示す状態が、別のファクトを導き出すためのルールである分析ルールが示す条件に適合するか否かを判断する分析部を備える
     請求項4記載の分析システム。
  6.  所定の条件は、未確定ファクトが示す状態が真である確率が所定の閾値以上であることである
     請求項5記載の分析システム。
  7.  分析部は、確定ファクトと未確定ファクトの少なくともいずれか1つと、分析ルールとを基に、実行可能な攻撃を導出する
     請求項5または請求項6記載の分析システム。
  8.  分析部は、導出された攻撃と、確定ファクトと未確定ファクトの少なくともいずれか1つと、分析ルールとを基に、実行可能な新たな攻撃を導出する
     請求項7記載の分析システム。
  9.  導出された攻撃に対する対策を計画する対策計画部を備える
     請求項7または請求項8記載の分析システム。
  10.  機器から構成情報を収集するスキャナを備える
     請求項1から請求項9のうちのいずれか1項に記載の分析システム。
  11.  診断対象システムまたは前記診断対象システムに含まれる機器におけるセキュリティに関連する状態を示すファクトのうち前記診断対象システムまたは前記機器の未知の情報を示すファクトを未確定ファクトとして生成する
     ことを特徴とする分析方法。
  12.  コンピュータに、
     診断対象システムまたは前記診断対象システムに含まれる機器におけるセキュリティに関連する状態を示すファクトのうち前記診断対象システムまたは前記機器の未知の情報を示すファクトを未確定ファクトとして生成する未確定ファクト生成処理
     を実行させるための分析プログラム。
PCT/JP2020/004311 2020-02-05 2020-02-05 分析システム、方法およびプログラム WO2021156966A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/794,366 US20230056552A1 (en) 2020-02-05 2020-02-05 Analysis system, method, and program
JP2021575152A JP7424395B2 (ja) 2020-02-05 2020-02-05 分析システム、方法およびプログラム
PCT/JP2020/004311 WO2021156966A1 (ja) 2020-02-05 2020-02-05 分析システム、方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/004311 WO2021156966A1 (ja) 2020-02-05 2020-02-05 分析システム、方法およびプログラム

Publications (1)

Publication Number Publication Date
WO2021156966A1 true WO2021156966A1 (ja) 2021-08-12

Family

ID=77199933

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/004311 WO2021156966A1 (ja) 2020-02-05 2020-02-05 分析システム、方法およびプログラム

Country Status (3)

Country Link
US (1) US20230056552A1 (ja)
JP (1) JP7424395B2 (ja)
WO (1) WO2021156966A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11765195B2 (en) * 2021-02-16 2023-09-19 Icf International Distributed network-level probabilistic attack graph generation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6000495B2 (ja) * 2014-02-26 2016-09-28 三菱電機株式会社 攻撃検知装置、攻撃検知方法、及び攻撃検知プログラム
JP2019192101A (ja) * 2018-04-27 2019-10-31 矢崎総業株式会社 脆弱性情報生成装置および脆弱性評価装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9058251B1 (en) * 2013-03-13 2015-06-16 Google Inc. Detecting external software update failure of local application
US9350748B1 (en) * 2013-12-16 2016-05-24 Amazon Technologies, Inc. Countering service enumeration through optimistic response
CN108140091B (zh) * 2015-10-09 2021-12-31 日本电信电话株式会社 漏洞发现装置、漏洞发现方法以及存储介质
KR102189829B1 (ko) * 2018-09-19 2020-12-11 주식회사 맥데이타 네트워크 보안 모니터링 방법, 네트워크 보안 모니터링 장치 및 시스템
US11115431B2 (en) * 2018-10-05 2021-09-07 Rapid7, Inc. Identifying network vulnerabilities

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6000495B2 (ja) * 2014-02-26 2016-09-28 三菱電機株式会社 攻撃検知装置、攻撃検知方法、及び攻撃検知プログラム
JP2019192101A (ja) * 2018-04-27 2019-10-31 矢崎総業株式会社 脆弱性情報生成装置および脆弱性評価装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YAMADA YOSHIYUKI ET AL.: "Security assessment for control systems considering air gap", ABSTRACTS OF 2018, SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY, 23 January 2018 (2018-01-23), pages 1 - 7 *

Also Published As

Publication number Publication date
JPWO2021156966A1 (ja) 2021-08-12
JP7424395B2 (ja) 2024-01-30
US20230056552A1 (en) 2023-02-23

Similar Documents

Publication Publication Date Title
US11194905B2 (en) Affectedness scoring engine for cyber threat intelligence services
US8095984B2 (en) Systems and methods of associating security vulnerabilities and assets
EP4111343A1 (en) An artificial intelligence adversary red team
JP5972401B2 (ja) 攻撃分析システム及び連携装置及び攻撃分析連携方法及びプログラム
TW201937390A (zh) 用於網路資料管理之資料界定架構
US12015631B2 (en) Diagnosing and managing network vulnerabilities
EP3337106B1 (en) Identification system, identification device and identification method
EP3367288B1 (en) Classification method, classification device, and classification program
CN107004088A (zh) 确定装置、确定方法及确定程序
US20210173940A1 (en) Mitigation of external exposure of energy delivery systems
JP2019028891A (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP6977625B2 (ja) 評価プログラム、評価方法および評価装置
JP2018196054A (ja) 評価プログラム、評価方法および情報処理装置
WO2020195228A1 (ja) 分析システム、方法およびプログラム
JP7424470B2 (ja) 分析システム、方法およびプログラム
WO2021156966A1 (ja) 分析システム、方法およびプログラム
RU2481633C2 (ru) Система и способ автоматического расследования инцидентов безопасности
US10623428B2 (en) Method and system for detecting suspicious administrative activity
WO2021156967A1 (ja) 分析システム、方法およびプログラム
Nath Vulnerability assessment methods–a review
WO2020017000A1 (ja) サイバー攻撃情報分析プログラム、サイバー攻撃情報分析方法および情報処理装置
Kotenko et al. Analyzing network security using malefactor action graphs
US20220237303A1 (en) Attack graph processing device, method, and program
WO2021059521A1 (ja) 分析システム、方法およびプログラム
JP7283545B2 (ja) 分析システム、方法およびプログラム

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021575152

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20917581

Country of ref document: EP

Kind code of ref document: A1