System for cyber-attack simulation using artificial intelligence modeling

Information

  • Patent Grant
  • 12032681
  • Patent Number
    12,032,681
  • Date Filed
    Friday, August 26, 2022
    2 years ago
  • Date Issued
    Tuesday, July 9, 2024
    5 months ago
Abstract
The methods and systems disclosed herein generally relate to automated execution and evaluation of computer network training exercises, such as in a virtual environment. A server executes a first attack action by a virtual attack machine against a virtual target machine based on a cyber-attack scenario, wherein the virtual target machine is configured to be controlled by the user computer. The server receives a user response to the first attack action, determines, using a decision tree, a first proposed attack action based on the user response, and executes an artificial intelligence model to determine a second proposed attack action based on the user response. The server selects a subsequent attack action from the first proposed attack action and the second proposed attack action and executes the subsequent attack action by the virtual attack machine against the virtual target machine.
Description
TECHNICAL FIELD

This application relates generally to cyber-attack simulations and training. More specifically, this application relates to artificial intelligence modeling of cyber-attack simulation protocols.


BACKGROUND

As the sophistication of cyber-adversaries continues to grow, cyber-security experts and technicians must continually train and practice to adapt to more sophisticated and novel cyber-attack techniques. However, existing cyber-security training methodologies and systems do not adequately engage cyber-security experts and technicians, thereby failing to motivate them to maintain their proficiency. For instance, some existing training method and systems that provide independent training typically use “canned” and “pre-scripted” exercises. These exercises execute the same cyber-attack scenarios every time and are not effective because users typically anticipate these pre-scripted scenarios. Therefore, trainees may not be fully engaged. Some other existing training systems use “live” exercises that utilize subject matter experts in the role of adversary (e.g., “red team exercises”). These methods are highly dynamic and immersive. However, even though these exercises are effective and engaging, these exercises require significant time and money to plan and execute, which is undesirable.


SUMMARY

For the aforementioned reasons, there is a need to develop an immersive, adaptive, and unpredictable cyber-security training system and method. The simulated red team exercises disclosed herein perform/simulate real-world cyber-attack activities including network scanning, phishing, and direct attack (e.g., denial of service), monitor trainee responses, and modify its actions (e.g., the method of attack) based on the trainee's performance. Methods, systems, and embodiments disclosed herein save time and money because subject matter experts only need to define initial exercise conditions. Once an exercise is initiated, the disclosed training methods and systems can function autonomously adapting the training exercise based on trainee performance.


In an embodiment, a method comprises executing, by a server, a cyber-attack simulation protocol causing a virtual attack machine to engage in a simulated cyber-attack against a virtual target machine, where a user computer is configured to input a response to the execution of the cyber-attack simulation protocol on the virtual target machine, and the simulated cyber-attack corresponding to an electronic file comprising a set of rules; collecting, by the server, data associated with the cyber-attack simulation protocol by continuously monitoring the virtual target machine, virtual attack machine, and responses inputted by the user computer; executing, by the server, an artificial intelligence model using the collected data, the artificial intelligence model configured to receive the collected data, analyze the collected data using historical cyber-attack data and the set of rules, and determine a subsequent cyber-attack action for the virtual attack machine in the cyber-attack simulation protocol; and executing, by the server, the subsequent cyber-attack action by the virtual attack machine against the virtual target machine.


In another embodiment, a computer system comprises a virtual target machine; a virtual attack machine; a user computer in communication with the virtual target machine; a server configured to instantiate the virtual target machine and the virtual attack machine, the server in communication with the user computer, wherein the server is configured to: execute a cyber-attack simulation protocol causing the virtual attack machine to engage in a simulated cyber-attack against the virtual target machine, where the user computer is configured to input a response to the execution of the cyber-attack simulation protocol on the virtual target machine, the simulated cyber-attack corresponding to an electronic file comprising a set of rules; collect data associated with the cyber-attack simulation protocol by continuously monitoring the virtual target machine, virtual attack machine, and responses inputted by the user computer; execute an artificial intelligence model using the collected data, the artificial intelligence model configured to receive the collected data, analyze the collected data using historical cyber-attack data and the set of rules, and determine a subsequent cyber-attack action for the virtual attack machine in the cyber-attack simulation protocol; and execute the subsequent cyber-attack action by the virtual attack machine against the virtual target machine.





BRIEF DESCRIPTION OF THE DRAWINGS

Non-limiting embodiments of the present disclosure are described by way of example with reference to the accompanying figures, which are schematic and are not intended to be drawn to scale. Unless indicated as representing the background art, the figures represent aspects of the disclosure.



FIGS. 1A-B illustrates components of a cyber-attack training computer system, according to an embodiment.



FIG. 2 is a flow diagram of a process executed by a cyber-attack training computer system, according to an embodiment.



FIGS. 3A-B are conceptual diagrams illustrating a non-limiting example of actions and corresponding responses that may be performed by a cyber-attack training computer system, according to one embodiment.





DETAILED DESCRIPTION

Reference will now be made to the illustrative embodiments depicted in the drawings, and specific language will be used here to describe the same. It will nevertheless be understood that no limitation of the scope of the claims or this disclosure is thereby intended. Alterations and further modifications of the inventive features illustrated herein, and additional applications of the principles of the subject matter illustrated herein, which would occur to one skilled in the relevant art and having possession of this disclosure, are to be considered within the scope of the subject matter disclosed herein. Other embodiments may be used and/or other changes may be made without departing from the spirit or scope of the present disclosure. The illustrative embodiments described in the detailed description are not meant to be limiting of the subject matter presented.



FIG. 1A is a block diagram illustrating a cyber-attack training computer system 100 that includes a monitoring computer 160, a virtual attack machine 140, a virtual target machine 150, trainee computers 170, and an analytics server 110 and its database 130 according to one embodiment. The above-mentioned components may be connected to each other through a networks 120a-b (collectively, networks 120). Non-limiting examples of the networks 120 may include private or public LAN, WLAN, MAN, WAN, and the Internet.


The networks 120 may include both wired and wireless communications according to one or more standards and/or via one or more transport mediums. The communication over the networks 120 may be performed in accordance with various communication protocols such as Transmission Control Protocol and Internet Protocol (TCP/IP), User Datagram Protocol (UDP), and IEEE communication protocols. In one example, the networks 120 may include wireless communications according to Bluetooth specification sets, or another standard or proprietary wireless communication protocol. In another example, the networks 120 may also include communications over a cellular network, including, e.g., a GSM (Global System for Mobile Communications), CDMA (Code Division Multiple Access), and EDGE (Enhanced Data for Global Evolution) network. As described below, the network connecting the monitoring computer 160 to the analytics server 110 (network 120a) may be different than the network connecting the virtual target machine 150, virtual attack machine 140, and/or trainee computers 170 to the analytics server 110 (network 120b).


In an embodiment of the cyber-attack training computer system 100, virtual attack machine 140 may be configured to engage in a simulated cyber-attack of the virtual target machine 150. One or more trainees operate the trainee computers 170 that are operatively connected to the virtual target machine 150. The trainees are tasked with protecting, or otherwise managing, the virtual target machine 150 during the simulated cyber-attack protocol executed by the analytics server 110. The virtual attack machine 140 may automatically respond to actions taken by the trainee in an intelligent fashion. Throughout the simulated cyber-attack, the analytics server 110 may continuously and/or periodically collect trainee behaviors and interactions (e.g., responses submitted/performed by the trainees). Furthermore, the analytics server 110 may evaluate the collected data during the exercise and score each trainee's skills. Trainees may include network administrators, first responders, and/or digital forensics investigators.


In some configurations, the monitoring computer 160, virtual attack machine 140, and virtual target machine 150 are housed within a common computing device, such as a personal computer or a virtual server (e.g., the analytics server 110). In some configurations, the monitoring computer 160, virtual attack machine 140, and virtual target machine 150 are housed within two or more separate computing devices. For instance, a trainee computer 170 may instantiate the virtual target machine 150. As shown in FIG. 1A, trainee computers 170 are communicatively coupled to the virtual target machine 150 via the network 120b. In some embodiments, the analytics server 110 may connect the trainee computers 170 using a secure and isolated network 120b (e.g., sandboxing) to ensure that trainee actions are contained and do not affect other computing systems connected to the analytics server 110.


The trainee computers 170 and virtual target machine 150 may be housed in a common computing device, while in another embodiment, trainee computers 170 and virtual target machine 150 are housed in separate computing devices. Trainee computers 170 may also be communicatively coupled to the virtual target machine 150 through a public network, such as the Internet, such that the trainee may remotely log into virtual target machine 150 during a training exercise. Trainee computers 170 are capable of sending commands and instructions to virtual target machine 150 to control various functions of virtual target machine 150. Trainee computers 170 are also capable of receiving information from virtual target machine 150 via the analytic server 110. For instance, the analytics server 110 may generate and transmit a status report (during the simulated attack) of the virtual target machine 150 to the trainee computers 170.


Because the monitoring computer 106 is coupled to the analytics server 110 via the network 120a, it is able to access resources that may be used during training exercises. The monitoring computer 160 may control various aspects of cyber-attack training computer system 100 and the training exercises that are performed. Monitoring computer 160 may also be capable of controlling and/or monitoring one or more functions of the virtual attack machine 140 and the virtual target machine 150. The monitoring computer 160 may also be capable of configuring these systems prior to initiation of training exercises. Monitoring computer 160 may include one or more control machines each comprising virtual machines that are part of, and operate in conjunctions with, the monitoring computer 160.


Virtual attack machine 140 may be configured to initiate one or more simulated cyber-attacks of the virtual target machine 150. The virtual attack machine 140 may include one or more attack machines 142A-142N. In one embodiment, attack machines 142A-142N each comprise physical machines within virtual attack machine 140, while in another embodiment, attack machines 142A-142N each comprise virtual machines that are part of, or operate within, virtual attack machine 140 or the analytics server 110. Therefore, the virtual attack machine 140, as used herein, may refer to a collection of physical and/or virtual machines configured to simulate a computing system attacking the virtual target machine.


The virtual attack machine 140 may also include one or more network bridge devices 141A-141N. In one embodiment, network bridge devices 141A-141N may each comprise virtual bridges that are part of, and operate within, virtual attack machine 140. Similarly, the virtual target machine 150 may include one or more target machines 152A-152N. In one embodiment, target machines 152A-152N may each comprise physical machines, while in another embodiment, target machines 152A-152N may each comprise virtual machines that are part of, or operate within, virtual target machine 150 or the analytics server 110. Therefore, the virtual target machine 150, as used herein, may refer to a collection of physical and/or virtual machines configured to simulate a computing system being attack by the virtual attack machine. The virtual target machine 150 may include one or more network bridge devices 115A-115N. In one embodiment, network bridge devices 151A-151N each comprise virtual bridges that are part of, and operate within the virtual target machine 150.


During a given training exercise operated within the cyber-attack training computer system 100, scenario traffic may be exchanged between the analytics server 110 (virtual attack machine 140 and/or the virtual target machine 150), trainee computers 170, and monitoring computer. For example, the analytics server 110 may send configuration information as scenario traffic to the virtual attack machine 140 and/or virtual target machine 150. The virtual attack machine 140 may then send scenario traffic in the form of attack information to the virtual target machine 150. The analytics server 110 may then generate and transmit a status report notifying of the above-mentioned actions to the trainee computers 170. In response, the trainee computers 170 (through the virtual target machine 150) may send response or other scenario traffic back to virtual attack machine 140.


In some configurations, scenario traffic that is exchanged between the analytics server 110, attack computing system 140, virtual target machine 150, and the trainee computers 170 is exchanged across a first communication channel that is separate and distinct from the network 120b. This first communication channel may utilize one or a mix of physical and virtual networking features that are set up for sending or receiving scenario traffic on the analytics server 110, virtual attack machine 140, and virtual target machine 150. Physical network cards and crossover cables may link physical machines, and virtual network interfaces and virtual bridges may link virtual machines inside a physical machine. As described above, the monitoring computer 160 may monitor the scenario traffic.


Scenario traffic may include both hostile and benign background traffic. For example, the virtual attack machine 140 may send both hostile and benign traffic to virtual target machine 150 during the course of an exercise. The trainee may be responsible for correctly identifying and discriminating between the hostile and benign traffic in order to properly defend the virtual target machine 150.


During the training exercise within cyber-attack training computer system 100, out-of-band data is also exchanged between the analytics server 110, virtual attack machine 140, virtual target machine 150, and trainee computers 170. This out-of-band data may include observation and control data. In one embodiment, the out-of-band data is not visible to a trainee and does not interfere with scenario traffic that is exchanged between systems 110, 140, and 150. The analytics server 110 may monitor and observe the progress, events, responses, or status of virtual attack machine 140 and virtual target machine 150 by processing portions of the out-of-band data. Both virtual attack machine 140 and virtual target machine 150 may transmit out-of-band data pertaining to the training exercise to the analytics server 110 for processing. The analytics server 110 may also provide control information to virtual attack machine 140 and virtual target machine 150 as out-of-band data. For example, based upon observation of a training exercise, the analytics server 110 may modify one or more aspects of the exercise by sending control information (e.g., subsequent steps) to one or both of virtual attack machine 140 and virtual target machine 150 using out-of-band data. In another example, the analytics server 110 may modify the attack scenario in real-time or in near real-time based on training responses and the monitored/collected data.


Out-of-band data may be exchanged across a second communication channel that is separate and distinct from network 120b. In one embodiment, this second communication channel for out-of-band data may utilize predefined or preconfigured ports that are set up for sending or receiving out-of-band data from the analytics server 110 and/or monitoring computer 160. For example, monitoring computer 160 may use a predefined physical (e.g., serial) or logic port that is reserved for sending or receiving out-of-band data.


The virtual attack machine 140 (via the analytics server 110) may be capable of dynamically and/or intelligently responding to actions taken by target computer system 150. For example, if, in one training scenario or exercise, the virtual attack machine 140 initiates one type of a simulated attack, such as a denial-of-service attack, on the target computer system 150, a trainee operating one of the trainee computers 170 may cause the virtual target machine 150 to respond, or take action, in a particular fashion in an attempt to handle the denial-of-service attack. After an exchange of scenario traffic between target computer system 150 and virtual attack machine 140, the virtual attack machine 140 may use one or more of its attack machines 142A-142N to dynamically counter the particular actions taken by virtual target machine 150. In such fashion, the virtual attack machine 140 is capable of adapting its behavior and attack actions based upon the responses of virtual target machine 150 using both scenario traffic data and out-of-band observation data. This functionality will be described in more detail below.


The analytics server 110 may provide, at least partially, automated evaluation and feedback control, which may be visible via a dashboard displayed on the monitoring computer 160. During, or at the end of, a training exercise, cyber-attack training computer system 100 is capable of providing evaluation and feedback to the trainee and/or to the instructor based upon actions taken and results achieved. The analytics server 110 may be capable of providing such feedback to trainee computers 170 as well.


Thus, cyber-attack training computer system 100 may provide tactical-level training exercises for computer network defense activities. Potential trainees may include network administrators, first responders, and/or digital forensics investigators. Cyber-attack training computer system 100 may be used for various purposes, such as to train students, to test skills of applicants during examination, to evaluate certain network communication protocols, to rehearse certain scenarios, or to provide a training system for team exercises.



FIG. 1B illustrates operations of the analytics server 110, as described in FIG. 1A. In addition to the virtual target machine 150 and the virtual attack machine 140 described above, the analytics server 110 may comprise three separate modules: the AI model 181, expert system 182, and actor manager module 190. In operation, the analytics server 110 may collect/monitor data associated with the simulated cyber-attack (e.g., trainee actions in response to the simulated cyber-attack). Using the collected data, the analytics server 110 may evaluate the trainee (e.g., generate a score for the trainee's actions) and/or identify a next step for the simulated cyber-attack. The analytics server 110 may execute the AI model 181, the expert system 182, or both to accomplish this task.


As described below, the AI model 181 may comprise one or more neural networks arranged and configured in accordance with a dataset representing historical data. The analytics server 110 may generate the AI model 181 to codify responses to known defenses to cyber-attack actions. For instance, when training the AI model 181, the analytics server 110 may generate a training dataset comprising historical data, such as previous cyber-attacks (real or simulated). The analytics server 110 may then train (e.g., arrange or configure) the neural network accordingly. In some embodiments, each node within the neural network may correspond to an attribute/action of the cyber-attack or responses performed by subject matter experts and/or trainees. When executing the AI model 181, the analytics server 110 may input the monitored data (e.g., trainee actions) whereby the AI model 181 can identify a subsequent step (e.g., a next action to be performed by the virtual attack machine). In some embodiments, the AI model 181 can also evaluate the collected data and generate a score corresponding to the trainee actions.


As described below, the expert system 182 may represent one or more decision trees and/or predetermined algorithms. The decision tree may be a pre-generated list of rules and algorithms describing a progression of a simulated cyber-attack. For instance, the expert system 182 may be a decision tree where each node/leaf represents a cyber-attack action performed by the virtual attack machine or a response performed/submitted by a trainee computer 170. The nodes/leafs of the decision trees may be interconnected in accordance with a predetermined algorithm logic that simulate one or more cyber-attack scenarios.


In embodiments where the analytics server 110 executes the AI model 181 and the expert system 182, the analytics server 110 may also utilize the actor manager module 190. For instance, the actor manager module 190 may receive input from the AI model 181 and expert system 182 to determine a final course of action for the red team simulation (e.g., the actors). The analytics server 110 may utilize the actor manager module 190 to reconcile a difference between incompatible results achieved as a result of executing the AI model 181 and the expert system 182. For instance, when the AI model 181 and the expert system 182 generate different subsequent actions (or different scores), the analytics server 110 may input the generated subsequent actions into the actor manager module 190, whereby the actor manager module 190 determines a single subsequent action (e.g., final subsequent action). The actor manager module 190 may use additional AI techniques such as machine-learning algorithms to evaluate the trainee performance and/or generate trainee scores. As illustrated, the out of the actor manager module 190 may be fed back into the AI model 181, thereby reconfiguring the AI model 181 or “training” the model.



FIG. 2 illustrates a flow diagram of a process executed by a cyber-attack training computer system, according to an embodiment. The method 200 includes steps 210-260. However, other embodiments may include additional or alternative execution steps, or may omit one or more steps altogether. Furthermore, the method 200 is described as being executed by a server, similar to the analytics server described in FIGS. 1A-B. However, in some embodiments, steps may be executed by any number of computing devices operating in the distributed computing system described in FIGS. 1A-B. For instance, part or all the steps described in FIG. 2, may be locally performed by one or more user computing devices (e.g., trainee computing device).


At step 210, the analytics server may execute a cyber-attack training protocol. The analytics server may execute, in a training computer system, a cyber-attack simulation protocol, the training computer system comprising a monitoring system, a virtual attack machine, and a virtual target machine that are each executable by one or more processors, the cyber-attack simulation protocol causing the virtual attack machine to engage in a simulated cyber-attack against the virtual target machine, the virtual target machine being operated by one or more trainee computers, the simulated cyber-attack corresponding to an electronic file comprising a set of rules. An example of a simulated cyber-attack is further described in FIGS. 3A-B.


In order to efficiently execute the cyber-attack training protocol, the analytics server may first generate (e.g., instantiate and/or model) the training computer system. The training computer system may include a virtual target machine and virtual attack machine. For instance, the analytics server may virtually model a virtual target machine and a virtual attack machine. The virtual target machine may be the system that is to be defended by the trainee computers, according to one embodiment. The virtual attack machine may be the virtual system that generates attacks and benign background traffic against the virtual target machine. Thus, systems specific to the cyber-attack protocol exercise may be modeled differently each time. The target and virtual attack machines may be modeled to include various machines, bridges, network connections, or other components. Furthermore, as described above, the analytics server may operatively/functionally control the virtual target machine and/or virtual attack machine. For instance, the analytics server may host/execute these systems. In some other configurations, the systems may be hosted locally on a trainee computer and/or other computers.


Different cyber-attack scenarios may be stored on a database in different electronic files having a sequence of steps simulating a cyber-attack. Any given training exercise may include one or more training scenarios. These electronic files may include various scenarios in which the virtual attack machine engages in a simulated cyber-attack of the virtual target machine. For instance, different scenarios define different data packets to be transmitted (or simulated to be transmitted) where these data packets may be hostile and/or benign to the virtual target machine. The training computer system may also implement free-form exercises. In this embodiment, the analytics server may support defining and executing a scenario as a state machine with rules that are mapped into real actions inside of a virtual machine. The concept supports multi-staged attacks and attack changes that can be made in response to real-time user actions.


In some configurations, the analytics server may generate the virtual training system using virtual network of the virtual machines overlaid on a physical network of physical host(s). The analytics server may also identify/create a network topology of target machines, target bridges of the virtual target machine, attack machines, and attack bridges. The virtual training system may be linearly scalable, heterogeneous, and recoverable from errors due to mistakes or intentional misuse. Furthermore, the virtual training system can be configured, modified, and managed through a GUI (graphical user interface) front-end interface to which virtualization-level details are transparent. In some configurations, the analytics server may provide a monitor/observer the option to customize the scenario and/or monitor the progression of the scenario by viewing/monitoring the scenario in real-time or near real-time. Furthermore, the analytics server may also isolate the virtual system from other networks when executing potentially dangerous scenarios.


In operation, the analytics server may receive a selection of a scenario from an administrator computer or a monitoring computer where the selection identifies an electronic file having at least an initial scenario that describes a cyber-attack simulation. In some embodiments, the analytics server may automatically select scenario based on predetermined attributes, for example, received from an administrator or a user of the monitoring computer. Upon identifying a simulated attack scenario, the analytics server may execute the simulated attack whereby the virtual attack machine transmits data packets (hostile and/or benign) to the virtual target machine in accordance with the predetermined rules of the electronic file.


As step 220, the analytics sever may monitor user interactions in response to execution of the cyber-attack simulation protocol. The analytics server may collect information associated with the cyber-attack simulation protocol by continuously monitoring the training computer system and responses submitted from the one or more trainee computers. As a part of the execution of the cyber-attack protocol, the analytics server may monitor how the trainee computers react (e.g., by monitoring inputs and interactions of the trainees) in response to execution of different cyber-attack scenarios.


The analytics server may also process one or more monitored actions. As described previously, the trainees use trainee computers during the training exercise to perform actions on the virtual target machine. These actions are monitored and processed by the analytics server. In one embodiment, the analytics server causes the one or attack machines to process the trainee actions. The analytics sever may capture, record, or otherwise store the monitored trainee actions in one or more databases as an audit log or the database illustrated in FIG. 1.


The actual scenario traffic may be transmitted by virtual target machine to virtual attack machine or vice versa. In addition to the analytics server recording this information, which is based upon the trainee's actions, the trainee may also record feedback in the trainee's computer or a local database. For instance, a trainee may record notes regarding a response to a simulated cyber-attack. In a non-limiting example, the analytics server may display a GUI having one or more inputs fields specifically inquiring reasoning behind a specific user action in response to a simulated attack. As described below, the analytics server may analyze this information when evaluating the cyber-attack protocol, the trainees' skills, and/or determining a next step for the cyber-attack simulation.


The information collected by the analytics server may include actively collected information (active feedback data) and passively collected information (passive feedback data). Actively collected information may include information about a trainee's actions, such as logs of the trainee's activities or user history, the direct consequences of the trainee's actions on system state (e.g., virtual training system and/or the virtual target machine), and the indirect consequences of the trainee's actions as captured by system metrics. The analytics server may collect the actively collected information by gathering data directly from machines (e.g., attack machines and target machines), by collecting data packets transmitted using the networks (e.g., data in and out of the virtual training system, such as the virtual target machine and the virtual attack machine), and/or by collecting data inputted by the monitoring computer.


Passively collected data may include information related to direct state knowledge based upon receipt of information from automated participant(s) (e.g., by knowing an automated attacker's state), and includes observations and conclusions from human participant(s) monitoring the cyber-attack protocol or the trainees. A trainee's state of mind may include the trainee's observations and conclusions during an exercise. This type of information is gathered using a generalized “electronic lab notebook,” similar in concept to incident reports commonly used by security professionals, according to one embodiment. The lab notebook may provide both novice and expert interfaces, which are linked to a back-end database (e.g., the database shown in FIG. 1) that ensures data integrity and supports the queries necessary for auto-evaluation, according to one embodiment. In one embodiment, the analytics server may collect the passively collected information by gathering data directly from machines or by collecting data of the data packets within the networks (e.g., data in and out of the virtual system) or by collecting data from the trainee computers.


In a non-limiting example, the analytics server may use dissolvable software agents to collect information about the way the attack/target machines change and operate, as a trainee performs tasks and modifies system settings. For example, changing an insecure web server to use encryption (e.g., HTTPS) requires changing both the web server software configuration and the network firewall, because HTTPS uses a different network port than HTTPS. In addition to verifying that port 443 is accessible and uses HTTPS, the analytics server can also verify that port 80 either does not respond or responds with a redirect to the HTTPS site.


At steps 230 and 240, the analytics server may evaluate the monitored actions. The analytics server may also execute an artificial intelligence model using the collected information, the artificial intelligence model configured to receive the collected information, analyze the collected information using historical cyber-attack data and the set of rules, and determine a subsequent cyber-attack action. The analytics server may also execute an evaluation protocol that does not involve artificial intelligence modeling. In some embodiments, the analytics server may use both of the above-described evaluation processes in order to evaluate the trainees' response and the collected data.


At step 230, the analytics server may execute an evaluation protocol/model to valuate the collected/monitored data. The evaluation protocol may be a set of predetermined rules. For instance, the analytics server may execute a program that automatically evaluates the trainees' responses to a simulated cyber-attack. In some configurations, the analytics server may use a live method where a human user monitors the trainees' actions and inputs an evaluation score. In one embodiment, participant evaluator is capable of monitoring, and also recording, various aspects of the trainees' performance during a training exercise. Participant evaluator is capable of evaluating both the performance of human participants as well as the performance of automated participants (such as an automated attacker or defender) during one or more training exercises. Performance evaluation of automated participants may aid in the evaluation of automated protocols that are used by such automated participants. Real-time monitoring of network-based training exercises have been fully described in U.S. Pat. No. 10,083,624, which is fully incorporated herein.


The analytics server may use monitored/collected information, which may include one or more portions of actively collected information and/or one or more portions of passively collected information, to provide automated evaluation functionality. As described above, an expert system module of the analytics server may execute the evaluation model. The expert system module of the analytics server (also referred to herein as the expert system) may use an evaluation protocol to emulate the decision-making process of the red team. When creating a new exercise (e.g., when generating different scenarios in the electronic files), the analytics server can define simulated red team actions as well as expected responses from the trainees. The actions and expected trainee responses are translated into observer and actor agents during the exercise. As the trainee responds to various attacks or takes actions that improve the security of the virtual target machine, the expert system determines possible responses that the simulated red team will take. The expert system may also evaluate trainee performances and generate a score based on a set of predetermined rules.


The expert system may be an auto-assessment protocol that executes various scripts to generate real-time feedback and evaluations based on the collected data. In one embodiment, the expert system considers multiple types of assessment data about the trainee during a training exercise, including information about the trainees' actions as well as information about the trainees' state of mind (e.g., situational awareness and the diagnostic process), as recorded by the trainee during the exercise. In addition to using assessment data for auto-evaluation purposes, the expert system may also save a log of all collected data as an audit record, allowing the trainees to appeal auto-evaluation results, if necessary (according to one embodiment).


In a non-limiting example, the expert system may comprise a decision tree having multiple nodes where each node is predefined in accordance with a cyber-attack scenario. For instance, a parent node may refer to a certain action simulating an attack or a benign action performed by the virtual attack machine. The parent note may also include multiple child nodes where each child node corresponds to a predetermined and predefined response to the attack or the benign action performed by the virtual attack machine. Each child node may also correspond to a subsequent action to be performed by the virtual attack machine. Furthermore, each child node may also correspond to an evaluation/score of the trainees' response. Using the decision trees described herein, the analytics server may evaluate the trainee's actions and determine a subsequent step to be performed by the virtual attack machine (e.g., red team counter responses).


At step 240, the analytics server may execute an artificial intelligence model using the collected/monitored data to evaluate a trainee's actions. In some embodiments, the counter-responses may not be directly actionable. For instance, the output of the AI model may be a description (e.g., evaluation) of the input it received and a list of possible counter-responses. When creating a simulated cyber-attack scenario, subject matter experts cannot enumerate all of the possible responses a trainee may have to a given simulated red team action. Furthermore, subject matter expert cannot enumerate all of the ways a trainee could solve a specific problem. Therefore, the decision tree of the expert system may not include all possible responses. For example, if the trainee's network is experiencing a denial of service attack, there may be different ways the trainee could configure the firewall to remedy the attack. As a result, the analytics server may also utilize the AI model in conjunction with the expert system to evaluate trainee performance (e.g., actions) and identify red team counter-response.


As described above, the AI model may comprise one or more neural networks that receive input from the analytics server (e.g., collected/monitored data) to evaluate the trainees' actions and to identify possible red team counter-responses. The one or more neural network may comprise multiple interconnected nodes where each node represents and attributes of a cyber-attack action or a response to one or more cyber-attack actions. The analytics server may generate the neural network using historical training datasets that comprise previously performed cyber-attacks and responses to cyber-attacks. The training data set may correspond to a simulated cyber-attack or a real cyber-attack. While generating the neural network, the analytics server may feed known and historical data (e.g., training data set) to the AI model where the AI model uses machine learning techniques to allocate different attributes and actions to different notes (e.g., fir the curve).


To build the neural network, the analytics server may use industry-standard security tools as well as custom-built actor agents to perform network reconnaissance and attacks against a test network. The analytics server may use observer agents to monitor the effect those tools have on the system under attack. This information will then be normalized and used as input to the neural network and/or the expert system.


In an embodiment, the analytics server may use a random forest modeling technique. Random forest modeling may include several nodal hierarchical structures (e.g., trees). Random forest models for classification may work by fitting an ensemble of decision tree classifiers on sub samples of the data. Each tree may only see a portion of the data, drawing samples of equal size with replacement. Each tree may be configured to only use a limited number of features. By averaging the output of classification across the ensemble, the random forests model can limit over-fitting that might otherwise occur in a decision tree model. In other embodiments, the AI model may incorporate other machine learning techniques, such as gradient boosting, support vector machines, deep neural networks, and logistic regression.


In some configurations, the analytics server may use various techniques to train the neural network and to adapt to various data points and improve the neural network's efficiency and accuracy. For instance, the analytics server may use a supervised machine learning method to train the neural network. Supervised learning is the machine-learning task of learning a function that maps an input to an output based on example input-output pairs. A supervised learning algorithm analyzes the training data and produces an inferred function, which can be used for mapping new examples. In some embodiments, the analytics server may use a linear regression model-to-model cyber-attack actions and responses. This technique is a linear approach to modelling the relationship between a scalar response (dependent variable) and one or more explanatory variables (independent variables). In linear regression modeling, the relationships are modeled using linear predictor functions whose unknown model parameters are estimated from the data.


The analytics server may also use a boosting tree regression technique to evaluate trainee actions. Gradient boosting is a machine-learning technique for regression and classification problems, which produces a prediction model in the form of decision trees. For instance, the analytics server may build binary trees by partitioning the data into two samples at each split node where each node represents a data point corresponding to a simulated cyber-attack. Using the tree (e.g., traversing the tree) the analytics server may predict and evaluate a trainee's action or predict a best subsequent action to be performed by the virtual attack machine when presented with a trainee's action in response to a cyber-attack.


In a non-limiting example, the analytics server may execute the AI model using the collected and monitored data where the AI model analyzes attributes of the already simulated cyber-attack step and actions taken by the trainees. The AI model may also identify a response to the trainees' actions (e.g., counter response). For instance, the virtual target machine may simulate a denial of service scenario by flooding the virtual target machine. In response, a trainee may identify and block the origin of the attack by blocking an IP address associated with a virtual machine of the virtual attack machines. This information may be monitored and collected by the analytics server and may be used to execute the AI model. In response to executing the AI model, the analytics server may identify a best subsequent step to be forging an IP address of the virtual attack machine (e.g., IP address spoofing) and sending additional data packages to the virtual target machine using the new IP address.


At step 250, the analytics server may execute a subsequent cyber-attack simulation protocol (e.g., red team counter-response). The analytics server may determine the subsequent cyber-attack simulation protocol based on the result of executing the evaluation model and/or executing the artificial intelligence model. In some embodiments, the output of the AI model and the evaluation model may be both considered. For instance, as described above an actor manager module of the analytics server may consider the subsequent step identified by the AI model and the subsequent step identified by the evaluation model to determine an appropriate read team counter-response (final course of action). In some embodiments, the actor manager module of the analytics server may use additional AI techniques such as machine-learning algorithms to evaluate the trainee performance, assign the student points, and invoke actors to perform an appropriate response.


In order to determine the final course of action the analytics server may use a set of predetermined rules and preferences when analyzing the subsequent step identified by the AI model and the evaluation model. For instance, when the subsequent step identified by the evaluation model and the AI model are the same, the analytics server executes the subsequent step as the final course of action. However, when the subsequent step identified by the evaluation model is different from the subsequent step identified by the AI model, the analytics server may use the predetermined algorithms and preferences to execute the final course of action.


In some embodiments, a live expert may determine a final course of action. For instance, the analytics server may display an indication corresponding to the subsequent steps identified by the AI model and the evaluation model on a dashboard of the monitoring computer. A subject matter expert may view/analyze the subsequent steps identified and displayed on the dashboard and select a final course of action. The live expert may also input a new course of action to be performed or modify/revise the subsequent steps generated using the AI model and/or the evaluation model.


Upon determining a final course of action, the analytics server may execute the final course of action. As described in step 210, the analytics server may cause/reconfigure the virtual attack machine to execute another cyber-attack simulation protocol and simulate another attack of the virtual target machine.


At step 260, the analytics server may train the AI model based on the final course of action executed. As described above the AI model may use various machine-learning techniques to refine and reconfigure its neural network. When the AI model identifies a subsequent step that is overruled by the analytics server and/or the live subject matter expert, the analytics server may feed the final course of action chosen to the AI model. In this way, the analytics server can reconfigure and back propagate the neural network (e.g., determine an optimal arrangement of neurons), thereby improving the strength and accuracy of the AI model. The data used to train the AI model may include actively and passively collected data during the exercise and data inputted by the subject matter expert.



FIGS. 3A-3B are conceptual diagrams illustrating non-limiting examples of actions and corresponding responses that may be taken by one or more of the systems described herein. In FIGS. 3A-3B, the analytics server executes a cyber-attack training exercise that includes one or more scenarios related to a denial-of-service (DoS) attack by a virtual attack machine against a virtual target machine. For example, the DoS attack may start as a single-source attack against one server. Depending on trainee responses monitored and collected by the analytics server, the virtual attack machine may upgrade the DoS attack to a distributed DoS attack.


In this example, the virtual attack machine may provide an attack network that controls one or more attack machines to route traffic between the virtual attack machine and the virtual target machine. The attack machines may route both malicious traffic and benign background traffic. In this example, benign traffic remains at a constant level but malicious traffic patterns are dynamically changed. The analytics server may model the virtual target machine to include a firewall/router and multiple web servers in a subnet that are to be protected.


In the example of a DoS attack, the trainee may have various objectives or missions to complete during the exercise. For example, the trainee may need to detect the attack and/or make specific observations about the attack. The trainee may also attempt to re-establish any lost connectivity and/or block the attack at the firewall or at the web server sites. In addition, the trainee may also try to avoid taking any negative actions that would break any existing connections. Actions taken and responses inputted by the trainee computer may occur within the virtual system within (e.g., instantiated by) the analytics server. This ensures that other computing systems operatively connected to the analytics server are not harmed by any actions performed by the trainee or the virtual attack machine.



FIG. 3A illustrates an example synchronization state chart demonstrating how a change in state in one system causes a synchronized state change in another system. Portion 300 of the chart conceptually shows actions that may be taken by the trainee during the DoS attack exercise. These actions, which are labeled α, β, and γ, affect the state of the virtual target machine that is being protected by the trainee. When the exercise begins, the virtual target machine has an initial state. In this initial state, the virtual target machine includes a firewall (implemented by one or more of virtual machines) that allows communication from an external IP address provided by an attack machine of the virtual attack machine. The virtual target machine also includes a low queue length to process incoming traffic, and disables SYN cookies in the initial state. In this example, SYN cookies are used to guard against SYN flood attacks when TCP (Transmission Control Protocol) connections are used.


However, as noted above, the trainee can take one or more actions α, β, and γ during the course of the training exercise, which will affect the state of virtual target machine. Portion 300 of state chart shows an updated (or final) state that results from the trainee taking one or more of these actions. For example, if the trainee performs action α to cause the firewall to block a particular IP address within virtual attack machine, the trainee has caused the virtual target machine to change state. If the trainee performs action β to cause the queue to have a high queue length, the virtual target machine accordingly has a new “updated” state. Moreover, if the trainee performs action γ to enable SYN cookies, the virtual target machine will accordingly reflect this updated state. As described above, the analytics server continuously monitors trainee actions and updates the virtual attack machine state and virtual target machine state in real-time or near real-time.


Portion 302 of the state chart shown in FIG. 3A shows the counter-responses identified by the analytics server and performed by the virtual attack machine. The synchronization of these responses to the trainees' actions are labeled by α′, β′, and γ′ in portion 302. These responses affect the state of the virtual attack machine. In an initial state, the virtual attack machine uses a single IP address and uses a low burst rate of traffic for a DoS attack. If the trainee performs act α (block traffic from the IP address of the virtual attack machine), the analytics server executes the evaluation model and the AI model to identify a counter-response (e.g., subsequent step). As a result, the analytics server causes the virtual attack machine to respond by performing response α′, which causes the virtual attack machine to use multiple, random IP addresses during the attack. If the trainee performs act β and/or γ (to reconfigure one or more machines of virtual target machine), the analytics server may use the evaluation methodologies described above to cause the virtual attack machine to respond by performing response β′ and/or γ′, respectively, and change from a low burst rate to a high burst rate of traffic.


The virtual attack machine is capable of dynamically and automatically using the AI model and the evaluation model to identify a best response to actions performed by the virtual target machine during the course of a DoS attack exercise. The virtual attack machine may initiate the attack in a particular fashion, but using the techniques described in FIG. 2, may intelligently respond to any corrective or preventive actions taken by the virtual target machine. In some configurations, the virtual attack machine may have different rule sets of varying difficulty levels. Thus, depending on the scenario or difficulty level selected by an instructor/administrator, the virtual attack machine may select an appropriate script to use during one or more scenarios of the training exercise.



FIG. 3B illustrates an example of a state diagram that conceptually shows the attack counter-responses of the virtual attack machine in response to actions taken by the virtual target machine. This diagram conveys information similar to FIG. 3A but in a different format. FIG. 3B illustrates state transitions and responses within the virtual attack machine in response to actions α, β, and γ that may be taken by the virtual target machine. Initially, the virtual attack machine starts by sending benign background traffic to virtual target machine (step 304). Then, the virtual attack machine starts sending initial malicious DoS traffic, comprising low-burst traffic from a single IP address associated with one of attack machines (step 306). If the virtual target machine performs act α in this state, to block traffic from the IP address, the analytics server execute the AI model and/or the evaluation model and determines a best counter response to act α. As a result, the virtual attack machine moves to a new state to begin sending low-burst traffic from multiple random IP addresses that are associated with multiple attack machine (step 310 or 312). However, if the virtual target machine performs acts β and/or γ in this state, to reconfigure one or more machines, the virtual attack machine moves to a state to send high-burst traffic from a single IP address (step 308).


To summarize FIGS. 3A-3B, if the virtual attack machine is in the state of sending low-burst traffic from multiple IP addresses, and virtual target machine performs acts β and/or γ, the virtual attack machine responds by sending high-burst traffic from random, multiple IP addresses. If the virtual attack machine is in the state of sending high-burst traffic from a single IP address, and the virtual target machine performs act α, the virtual attack machine responds by sending high-burst traffic from random, multiple IP addresses. Thus, as the trainees use the trainee computer to defend the virtual target machine and cause the virtual target machine to perform various corrective or preventive actions, these actions are detected and analyzed by the analytics server. In turn, the analytics server triggers a counter response that is dynamically generated and is not pre-scripted. As a result of the methods, systems, and embodiments described herein, the virtual attack machine is able to adapt its behavior based upon the actions taken by the trainee thereby creating a more immersive and realistic cyber-attack training exercise.


The foregoing method descriptions and the process flow diagrams are provided merely as illustrative examples and are not intended to require or imply that the steps of the various embodiments must be performed in the order presented. The steps in the foregoing embodiments may be performed in any order. Words such as “then,” “next,” etc. are not intended to limit the order of the steps; these words are simply used to guide the reader through the description of the methods. Although process flow diagrams may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, and the like. When a process corresponds to a function, the process termination may correspond to a return of the function to a calling function or a main function.


The various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of this disclosure or the claims.


Embodiments implemented in computer software may be implemented in software, firmware, middleware, microcode, hardware description languages, or any combination thereof. A code segment or machine-executable instructions may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc.


The actual software code or specialized control hardware used to implement these systems and methods is not limiting of the claimed features or this disclosure. Thus, the operation and behavior of the systems and methods were described without reference to the specific software code being understood that software and control hardware can be designed to implement the systems and methods based on the description herein.


When implemented in software, the functions may be stored as one or more instructions or code on a non-transitory computer-readable or processor-readable storage medium. The steps of a method or algorithm disclosed herein may be embodied in a processor-executable software module, which may reside on a computer-readable or processor-readable storage medium. A non-transitory computer-readable or processor-readable media includes both computer storage media and tangible storage media that facilitate transfer of a computer program from one place to another. A non-transitory processor-readable storage media may be any available media that may be accessed by a computer. By way of example, and not limitation, such non-transitory processor-readable media may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other tangible storage medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer or processor. Disk and disc, as used herein, include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and/or instructions on a non-transitory processor-readable medium and/or computer-readable medium, which may be incorporated into a computer program product.


The preceding description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the embodiments described herein and variations thereof. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the principles defined herein may be applied to other embodiments without departing from the spirit or scope of the subject matter disclosed herein. Thus, the present disclosure is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the following claims and the principles and novel features disclosed herein.


While various aspects and embodiments have been disclosed, other aspects and embodiments are contemplated. The various aspects and embodiments disclosed are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the following claims.

Claims
  • 1. A method comprising: executing, by a server, an attack action by a virtual attack machine against a virtual target machine of a user computer based on a cyber-attack scenario;selecting, by the server, a decision tree comprising nodes representing attack actions and responses associated with the cyber-attack scenario;generating, by the server, using the decision tree, a first attack action by identifying a node of the decision tree corresponding to a user response from the user computer;generating, by the server, a second attack action by applying an artificial intelligence model on the user response;selecting, by the server, a subsequent attack action from the first attack action and the second attack action, by applying a second artificial intelligence model on the first attack action and the second attack action; andexecuting, by the server, the subsequent attack action by the virtual attack machine against the virtual target machine.
  • 2. The method of claim 1, further comprising transmitting, by the server, results data to a monitoring computer, the results data configured for display at a graphical user interface and including at least one of a state of the virtual attack machine, a state of the virtual target machine, an indication of the user response, the first attack action, or the second attack action.
  • 3. The method of claim 2, further comprising receiving, at the server, the cyber-attack scenario from the monitoring computer.
  • 4. The method of claim 1, further comprising feeding, at the server, the subsequent attack action to the artificial intelligence model.
  • 5. The method of claim 4, wherein the subsequent attack action is fed to the artificial intelligence model based on the subsequent attack action not being the second attack action.
  • 6. The method of claim 1, further comprising configuring, by the server, the artificial intelligence model using a random forest modeling technique.
  • 7. The method of claim 1, further comprising generating, by the server, a score based on the user response.
  • 8. The method of claim 1, further comprising receiving, at the server, from a monitoring computer, a score based on the user response.
  • 9. The method of claim 8, wherein the artificial intelligence model determines the second attack action based on the received score.
  • 10. A system comprising: a server comprising a hardware processor, configured to: execute an attack action by a virtual attack machine against a virtual target machine of a user computer based on a cyber-attack scenario;select a decision tree comprising nodes representing attack actions and responses associated with the cyber-attack scenario;generate, using the decision tree, a first attack action by identifying a node of the decision tree corresponding to a user response from the user computer;generate a second attack action by applying an artificial intelligence model on the user response;select a subsequent attack action from the first attack action and the second attack action by applying a second artificial intelligence model on the first attack action and the second attack action; andexecute the subsequent attack action by the virtual attack machine against the virtual target machine.
  • 11. The system of claim 10, wherein the server is further configured to transmit results data to a monitoring computer, the results data configured for display at a graphical user interface and including at least one of a state of the virtual attack machine, a state of the virtual target machine, an indication of the user response, the first attack action, or the second attack action.
  • 12. The system of claim 11, wherein the server is further configured to receive the cyber-attack scenario from the monitoring computer.
  • 13. The system of claim 10, wherein the server is further configured to feed the subsequent attack action to the artificial intelligence model.
  • 14. The system of claim 13, wherein the server is further configured to feed the subsequent attack action to the artificial intelligence model based on the subsequent attack action not being the second attack action.
  • 15. The system of claim 10, wherein the server is further configured to configure the artificial intelligence model using a random forest modeling technique.
  • 16. The system of claim 10, wherein the server is further configured to generate a score based on the user response.
  • 17. The system of claim 10, wherein the server is further configured to receive from a monitoring computer, a score based on the user response.
  • 18. The system of claim 17, wherein the server is further configured to execute the artificial intelligence model to determine the second attack based on the received score.
CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. application Ser. No. 16/256,810, entitled “Artificial Intelligence Modeling for Cyber-Attack Simulation Protocols,” filed Jan. 24, 2019, which is incorporated by reference in its entirety. This application is related to U.S. Pat. Nos. 10,083,624 and 9,076,342, each of which is incorporated by reference in its entirety.

US Referenced Citations (240)
Number Name Date Kind
4895518 Arnold et al. Jan 1990 A
5115433 Baran et al. May 1992 A
5440723 Arnold et al. Aug 1995 A
5601432 Bergman Feb 1997 A
5805893 Sproul et al. Sep 1998 A
5944783 Nieten Aug 1999 A
5974549 Golan Oct 1999 A
5974579 Lepejian et al. Oct 1999 A
6088804 Hill et al. Jul 2000 A
6345283 Anderson Feb 2002 B1
6477683 Killian et al. Nov 2002 B1
6658481 Basso et al. Dec 2003 B1
6985476 Elliott et al. Jan 2006 B1
7043663 Pittelkow et al. May 2006 B1
7058968 Rowland et al. Jun 2006 B2
7107347 Cohen Sep 2006 B1
7228566 Caceres et al. Jun 2007 B2
7234168 Gupta et al. Jun 2007 B2
7257630 Cole et al. Aug 2007 B2
7317733 Olsson et al. Jan 2008 B1
7325252 Bunker et al. Jan 2008 B2
7372809 Chen et al. May 2008 B2
7496959 Adelstein et al. Feb 2009 B2
7522908 Hrastar Apr 2009 B2
7694328 Joshi et al. Apr 2010 B2
7743074 Parupudi et al. Jun 2010 B1
7748040 Adelstein et al. Jun 2010 B2
7818804 Marceau Oct 2010 B2
7886049 Adelstein et al. Feb 2011 B2
7925984 Awe et al. Apr 2011 B2
7930353 Chickering et al. Apr 2011 B2
7962961 Griffin et al. Jun 2011 B1
8079080 Borders Dec 2011 B2
8156483 Berg et al. Apr 2012 B2
8176557 Adelstein et al. May 2012 B2
8250654 Kennedy et al. Aug 2012 B1
8266320 Bell et al. Sep 2012 B1
8296848 Griffin et al. Oct 2012 B1
8307444 Mayer et al. Nov 2012 B1
8321437 Lim Nov 2012 B2
8341732 Croft et al. Dec 2012 B2
8407801 Ikegami et al. Mar 2013 B2
8433768 Bush et al. Apr 2013 B1
8458805 Adelstein et al. Jun 2013 B2
8490193 Sarraute Yamada et al. Jul 2013 B2
8495229 Kim Jul 2013 B2
8495583 Bassin et al. Jul 2013 B2
8499354 Satish et al. Jul 2013 B1
8554536 Adelman et al. Oct 2013 B2
8615807 Higbee Dec 2013 B1
8862803 Powers et al. Oct 2014 B2
8869235 Qureshi et al. Oct 2014 B2
8893278 Chechik Nov 2014 B1
9076342 Brueckner et al. Jul 2015 B2
9081911 Powers et al. Jul 2015 B2
9083741 Powers Jul 2015 B2
9137325 Muhunthan et al. Sep 2015 B2
9197649 Carvalho Nov 2015 B2
9208323 Karta et al. Dec 2015 B1
9225637 Ramanujan et al. Dec 2015 B2
9246936 Belani Jan 2016 B1
9280911 Sadeh-Koniecpol et al. Mar 2016 B2
9325728 Kennedy et al. Apr 2016 B1
9344444 Lippmann May 2016 B2
9344445 Burns et al. May 2016 B2
9384677 Brueckner et al. Jul 2016 B2
9626414 Kanjirathinkal et al. Apr 2017 B2
9742803 Kras Aug 2017 B1
9749360 Irimie Aug 2017 B1
9836598 Iyer et al. Dec 2017 B2
9882912 Joo Jan 2018 B2
10079850 Patil et al. Sep 2018 B1
10083624 Brueckner et al. Sep 2018 B2
10223760 Ananthanpillai et al. Mar 2019 B2
10291634 Arzi et al. May 2019 B2
10291638 Chandana et al. May 2019 B1
10409995 Wasiq et al. Sep 2019 B1
10467419 Youngberg et al. Nov 2019 B1
10469519 Irimie et al. Nov 2019 B2
10540502 Joyce et al. Jan 2020 B1
10558809 Joyce et al. Feb 2020 B1
10581868 Kras et al. Mar 2020 B2
10659488 Rajasooriya et al. May 2020 B1
10686811 Ehle Jun 2020 B1
10749890 Aloisio et al. Aug 2020 B1
10803766 Donovan et al. Oct 2020 B1
10817604 Kimball et al. Oct 2020 B1
10868825 Dominessy et al. Dec 2020 B1
10949338 Sirianni et al. Mar 2021 B1
11063967 Rego et al. Jul 2021 B2
11128654 Joyce et al. Sep 2021 B1
11158207 Sadeh-Koniecpol et al. Oct 2021 B1
11257393 Atencio et al. Feb 2022 B2
11258806 Berninger et al. Feb 2022 B1
11277203 McLinden et al. Mar 2022 B1
11652839 Aloisio et al. May 2023 B1
20020038430 Edwards et al. Mar 2002 A1
20020073204 Dutta et al. Jun 2002 A1
20020078382 Sheikh et al. Jun 2002 A1
20020129264 Rowland et al. Sep 2002 A1
20020162017 Sorkin et al. Oct 2002 A1
20030056116 Bunker et al. Mar 2003 A1
20030182582 Park et al. Sep 2003 A1
20030236993 McCreight et al. Dec 2003 A1
20040039921 Chuang Feb 2004 A1
20040133672 Bhattacharya Jul 2004 A1
20050132225 Gearhart Jun 2005 A1
20050138413 Lippmann et al. Jun 2005 A1
20050165834 Nadeau et al. Jul 2005 A1
20050193173 Ring et al. Sep 2005 A1
20050193430 Cohen et al. Sep 2005 A1
20050203921 Newman et al. Sep 2005 A1
20060037076 Roy Feb 2006 A1
20060104288 Yim et al. May 2006 A1
20060109793 Kim et al. May 2006 A1
20060167855 Ishikawa et al. Jul 2006 A1
20060191010 Benjamin Aug 2006 A1
20060248525 Hopkins Nov 2006 A1
20060253906 Rubin et al. Nov 2006 A1
20060271345 Kasuya Nov 2006 A1
20070055766 Petropoulakis et al. Mar 2007 A1
20070112714 Fairweather May 2007 A1
20070143852 Keanini Jun 2007 A1
20070192863 Kapoor et al. Aug 2007 A1
20080010225 Gonsalves et al. Jan 2008 A1
20080167920 Schmidt et al. Jul 2008 A1
20080183520 Cutts et al. Jul 2008 A1
20080222734 Redlich et al. Sep 2008 A1
20090007270 Futoransky et al. Jan 2009 A1
20090113201 Mackey et al. Apr 2009 A1
20090144827 Peinado et al. Jun 2009 A1
20090150998 Adelstein et al. Jun 2009 A1
20090158430 Borders Jun 2009 A1
20090164522 Fahey Jun 2009 A1
20090208910 Brueckner Aug 2009 A1
20090254572 Redlich et al. Oct 2009 A1
20090288164 Adelstein et al. Nov 2009 A1
20090319247 Ratcliffe et al. Dec 2009 A1
20090319249 White et al. Dec 2009 A1
20090319647 White et al. Dec 2009 A1
20090319906 White et al. Dec 2009 A1
20090320137 White et al. Dec 2009 A1
20090328033 Kohavi et al. Dec 2009 A1
20100010968 Redlich et al. Jan 2010 A1
20100058114 Perkins et al. Mar 2010 A1
20100082513 Liu Apr 2010 A1
20100138925 Barai et al. Jun 2010 A1
20100146615 Locasto et al. Jun 2010 A1
20100284282 Golic Nov 2010 A1
20100319069 Granstedt et al. Dec 2010 A1
20110154471 Anderson et al. Jun 2011 A1
20110177480 Menon et al. Jul 2011 A1
20110282715 Nguyen et al. Nov 2011 A1
20120198513 Maida-Smith et al. Aug 2012 A1
20120210017 Muhunthan et al. Aug 2012 A1
20120210427 Bronner et al. Aug 2012 A1
20120258437 Sadeh-Koniecpol Oct 2012 A1
20130014264 Kennedy et al. Jan 2013 A1
20130019312 Bell et al. Jan 2013 A1
20130055404 Khalili Feb 2013 A1
20130191919 Basavapatna et al. Jul 2013 A1
20130273514 Tambe Oct 2013 A1
20130347085 Hawthorn et al. Dec 2013 A1
20130347104 Raber et al. Dec 2013 A1
20130347116 Flores et al. Dec 2013 A1
20140046645 White et al. Feb 2014 A1
20140099622 Arnold et al. Apr 2014 A1
20140137257 Martinez et al. May 2014 A1
20140165138 Maida-Smith et al. Jun 2014 A1
20140287383 Willingham et al. Sep 2014 A1
20140321735 Zhang et al. Oct 2014 A1
20140337971 Casassa Mont et al. Nov 2014 A1
20150033346 Hebert et al. Jan 2015 A1
20150050623 Falash et al. Feb 2015 A1
20150106324 Puri et al. Apr 2015 A1
20150163088 Anschutz Jun 2015 A1
20150193695 Cruz Mota et al. Jul 2015 A1
20150213260 Park Jul 2015 A1
20150213730 Brueckner et al. Jul 2015 A1
20150269383 Lang et al. Sep 2015 A1
20150339477 Abrams et al. Nov 2015 A1
20160028764 Vasseur et al. Jan 2016 A1
20160099953 Hebert et al. Apr 2016 A1
20160173495 Joo Jun 2016 A1
20160188814 Raghavan et al. Jun 2016 A1
20160205122 Bassett Jul 2016 A1
20160219024 Verzun et al. Jul 2016 A1
20160234242 Knapp et al. Aug 2016 A1
20160246662 Meng et al. Aug 2016 A1
20160285907 Nguyen Sep 2016 A1
20160307199 Patel et al. Oct 2016 A1
20160330228 Knapp et al. Nov 2016 A1
20160337400 Gupta Nov 2016 A1
20170006055 Strom Jan 2017 A1
20170032694 Brueckner et al. Feb 2017 A1
20170032695 Brueckner Feb 2017 A1
20170104778 Shabtai et al. Apr 2017 A1
20170171230 Leiderfarb et al. Jun 2017 A1
20170251010 Irimie Aug 2017 A1
20180048534 Banga et al. Feb 2018 A1
20180068244 Vashistha Mar 2018 A1
20180121657 Hay et al. May 2018 A1
20180124108 Irimie et al. May 2018 A1
20180129805 Samuel May 2018 A1
20180139181 Weinberger et al. May 2018 A1
20180150554 Le et al. May 2018 A1
20180159894 Reddy et al. Jun 2018 A1
20180191763 Hillard et al. Jul 2018 A1
20180191770 Nachenberg et al. Jul 2018 A1
20180219887 Luo et al. Aug 2018 A1
20180225471 Goyal et al. Aug 2018 A1
20180295154 Crabtree et al. Oct 2018 A1
20180330253 Gottschlich et al. Nov 2018 A1
20180367563 Pfleger de Aguiar et al. Dec 2018 A1
20180375892 Ganor Dec 2018 A1
20190014153 Lang et al. Jan 2019 A1
20190034623 Lowry et al. Jan 2019 A1
20190083876 Morton Mar 2019 A1
20190102564 Li et al. Apr 2019 A1
20190164015 Jones, Jr. et al. May 2019 A1
20190171822 Sjouwerman Jun 2019 A1
20190182273 Walsh Jun 2019 A1
20190188615 Liu Jun 2019 A1
20190222593 Craig et al. Jul 2019 A1
20190238583 Vaidya Aug 2019 A1
20190258953 Lang Aug 2019 A1
20190289029 Chawla et al. Sep 2019 A1
20190312890 Perilli Oct 2019 A1
20190356684 Sinha et al. Nov 2019 A1
20190370473 Matrosov et al. Dec 2019 A1
20190379705 Murphy Dec 2019 A1
20200050770 Inagaki et al. Feb 2020 A1
20200177617 Hadar Jun 2020 A1
20200184053 Kursun Jun 2020 A1
20200184847 Gabay Jun 2020 A1
20200201992 Hadar Jun 2020 A1
20200233955 Ramzan Jul 2020 A1
20200358803 Roelofs et al. Nov 2020 A1
20210168170 Asai et al. Jun 2021 A1
20210203682 Bajpai Jul 2021 A1
Foreign Referenced Citations (4)
Number Date Country
101075917 Nov 2007 CN
106709613 May 2017 CN
WO-02071192 Sep 2002 WO
WO-2017105383 Jun 2017 WO
Non-Patent Literature Citations (102)
Entry
“Cybersecurity”, U.S. Department of Defense Instruction, No. 8500.01, Mar. 14, 2014, incorporating change effective Oct. 7, 2019, accessible at URL: https://www.esd.whs.mil/Portals/54/Documents/DD/issuances/dodi/850001_2014.pdf (58 pages).
“Cybersecurity,” U.S. Department of Defense Instruction, No. 8500.01, Mar. 14, 2014, 58 pages, accessible via.https://www.esd.whs.mil/Portals/54/Documents/DD/issuances/dodi/850001_2014.pdf.
“Cyberspace Operations”, U.S. Air Force, Air Force Policy Directive 10-17, Jul. 31, 2012, retrieved from URL: https://fas.org/irp/doddir/usaf/afpd10-17.pdf (9 pages).
“CYDEST: CYber DEfense Simulation Trainer”, Air Force SBIR/STTR Award Details, Phase I, Award Details Status: Completed (Invited for Phase II) Start: Apr. 13, 2005 End Jan. 13, 2006, retrieved on Aug. 30, 2020 from URL: http://www.itfsbirsttr.com/award/AWARDDetails.aspx?pk=12036 (2 pages).
“Identification and Significance of the Problem or Opportunity”, Architecture Technology Corporation, Proposal No. F172-D12-0184, Topic No. OSD172-D12, 10 pages (undated).
2015 DFRWS Forensics Challenge, “Submitted Solutions and Source Code Released”, GPU Malware Research, retrieved on Mar. 22, 2020 from http://www.cs.uno.edu/-golden/gpumalware-research.html, 5 pages.
Architecture Technology Corporation et al.“, Cydest (Cyber Defense Simulation Trainer),” http://web.archive.org/web/2006110701024 7/www.atcorp.com/securesystems/cydest.html, Dec. 2005, 1 page.
ATC-NY et al., “Cyber Defense Simulation Trainer (CYDEST)”, CYDEST Congressional Briefing, Feb. 19, 2007, 1 page.
ATC-NY, OSD172-D11, F172-D11-0024, Phase 1 SBIR Proposal, “SilverlineRT”, Jul. 20, 2017, 16 pages.
ATC-NY, SB172-007, D172-007-0014, Phase I SBIR Proposal, Silverline Human Performance Detection (Silverline-HPD), Jul. 20, 2017 (17 pages).
Atighetchi et al., “Metrinome-Continuous Monitoring and Security Validation of Distributed Systems”, Journal of Cyber Security and Information Systems vol. II, No. 1, Knowledge Management, Mar. 2014, pp. 20-26.
Baloch et al., “Comparative Study of Risk Management in Centralized and Distributed Software Development Environment”, Sci. Int. (Lahore), vol. 26, No. 4, 2014, pp. 1523-1528.
Balzarotti et al., “The Impact of GPU-Assisted Malware on Memory Forensics: A Case Study”, DFRWS 2015, Elsevier, Digital Investigation, vol. 14, 2015, pp. S16-S24.
Becker et al., “Applying Game Theory to Analyze Attacks and Defenses in Virtual Coordinate Systems,” 41st International Conference on Dependable Systems & Networks (DSN), Jun. 2011, pp. 133-142.
Bergstromb et al., “The Distributed Open Network Emulator: Using Relativistic Time for Distributed Scalable Simulation”, Proceedings of the 20th Workshop on Principles of Advanced and Distributed Simulation, May 23-26, 2006, 7 pages.
Brueckner et al., “CYDEST Cyber Defense Simulation Trainer”, ATC-NY a subsidiary of Architecture Technology Corporation, Oct. 29, 2007, 20 pages.
C.M.U. Entertainment Technology Center, “CyberSecurity”, found at http://www.etc.cmu.edu/projects/cybersecurity/, Feb. 2000, 16 pages.
Carson et al., “NIST NET: A Linux-based network emulation tool” ACM SIGCOMM, Computer Communication Review, vol. 33, Issue 3, Jul. 2003, 16 pages.
Carver et al., “Military Academy Attack/Defense Network”, IEEE Systems, Man, and Cybernetics Information Assurance and Security Workshop, West Point, NY, Jun. 17-19, 2002, 6 pages.
Challagulla et al., “Empirical Assessment of Machine Learning based Software Defect Prediction Techniques”, Proceedings of the 10th IEEE International Workshop on Object-Oriented Real-Time Dependable Systems (WORDS'05), Feb. 2-4, 2005, 8 pages.
Crumb, Francis L., “Cyber Security Boot Camp graduates Class of '06”, Academy Spirit, vol. 46, No. 33, Aug. 18, 2006, U.S. Air Force Academy, Colorado (1 page).
Crumb, Francis L., “Hackfest Highlights Cyber Security Boot Camp”, Air Force Research Laboratory (AFRL) Information Directorate document, Oct./Nov. 2004 (1 page).
Davoli, “Virtual Square: all the virtuality you always wanted but you were afraid to ask,” http://virtualsguare.org/copyright Renzo Davoli, May 27, 2004, 3 pages.
Davoli, “Virtual Square”, Proceedings of the First International Conference on Open Source Systems, Genova, Jul. 11-15, 2005, 6 pages.
De Gusmao et al., “Abstract of Cybersecurity risk analysis model using fault tree analysis and fuzzy decision theory”, 2018, International Journal of Information Management, pp. 1-3.
Duggirala et al., “Open Network Emulator”, Jan. 15, 2005, available at URL: https://web.archive.org/web/2010*/http://csrl.cs.vt.edu/net_emulation.html (5 pages).
Edwards et al., “Hajime: Analysis of a decentralized internet worm for IoT devices”, RapidityNetworks, Security Research Group, Oct. 16, 2016, pp. 1-18.
Final Office Action for U.S. Appl. No. 16/256,810 dated Jan. 24, 2022 (19 pages).
Final Office Action on US Appl. U.S. Appl. No. 16/256,810 dated Jun. 3, 2021 (16 pages).
Fisher, “Developing Software in a Multicore & Multiprocessor World,” Klocwork White Paper, Klocwork.com., Sep. 2010, pp. 1-11.
Home Invasion 2.0, “Attacking Network-Connected Embedded Devices”, retrieved from the internet on Jun. 20, 2018, https://media.blackhat.com/us-13/us-13-Crowley-Home-Invasion-2-0-WP.pdf, 15 pages.
Honeynet Project, “Know Your Enemy: Defining Virtual Honeynets,” http://old.honeynel.org/papers.virtual/, Jan. 27, 2003, 7 pages.
Howard et al., “A Common Language for Computer Security Incidents,” Sandia National Laboratories Report, SAND9B 8667, Oct. 1998, 32 pages.
Ingoldsby, T. “Attack Tree-based Threat Risk Analysis” (2010) Amenaza Technologies Limited (2010): 3-9 (62 pages).
Jones, “Software Defect Origins and Removal Methods,” International Function Point Users Group, Capers Jones, Dec. 28, 2012, pp. 1-31.
Joyce et al., “MEGA: A Tool for Mac OS X Operating System and Application Forensics,” Digital Investigation, vol. 5, Elsevier, Proceedings of the Digital Forensic Research Conference, Aug. 11-13, 2008, pp. 583-590.
Joyce, “TrestleHSM: Hierarchical Security Modeling for Naval Control Systems”, Phase 1 SBIR Proposal, Topic: N181-051, Unified Cybersecurity System Modeling of Naval Control Systems, Architecture Technology Corporation, 25 pages.
Keshav, “REAL: A Network Simulator,” Computer Science Division, Department of Electrical Engineering and Computer Science, University of California, Berkeley, Dec. 1988, 16 pages.
Kimball, “Silverline Human Performance Detection (Silverline-HPD)”, Phase 1 SBIR Proposal, Architecture Technology Corporation, SB172-007, D172-007-0014, Jul. 20, 2017, 17 pages.
Krishna et al., “V-Netlab: A Cost-Effective Platform to Support Course Projects in Computer Security”, Department of Computer Science, Stony Brook University, Jun. 2005, 7 pages.
Lathrop et al., “Information Warfare in the Trenches: Experiences from the Firing Range, ” U.S. Military Academy, Security education and critical infrastructures, Kluwer Academic Publishers Norwell, Ma, USA .copyright, Jun. 23-26, 2003, 21 pages.
Lathrop et al., “Modeling Network Attacks”, 12th Conference on Behavior Representation in Modeling and Simulation, 2003, pp. 401-407 (8 pages).
Lathrop et al., “Modeling Network Attacks”, 12th Conference on Behavior Representation in Modeling and Simulation, May 2003, pp. 19-26 (8 pages).
Li, et al., “Unified threat model for analyzing and evaluating software threats,” Security and Communication Networks; vol. 7; Jul. 5, 2012; pp. 1454-1466.
Libicki, “Cyberdeterrence and Cyberwar,” Rand Corporation, Project Air Force, 2009, 240 pages.
Liljenstam et al., “RINSE: The Real-Time Immersive Network Simulation Environment for Network Security Exercises”, Proceedings of the 19th Workshop on Principles of Advanced and Distributed Simulation (PADS), Jun. 2005, 10 pages.
Maciel, et al. “Impact of a DDoS Attack on Computer Systems: An approach based on an Attack Tree Model,” 2018 Annual IEEE International Systems Conference (SysCon), Vancouver, BC, 2018, pp. 1-8.
Mcdonald, Chris, “A Network Specification Language and Execution Environment for Undergraduate Teaching”, ACM SIGCSE Bulletin, vol. 23, Issue 1, Mar. 1991, DOI: 10.1145/107005.107012 (10 pages).
Mcgrath et al., “NetSim: A Distributed Network Simulation to Support Cyber Exercises”, Institute for Security Technology Studies, Dartmouth College, Huntsville Simulation Conference, Mar. 9-11, 2004, Huntsville, Alabama, 6 pages.
Mchale, “The Aegis Combat System's continuous modernization”, Military Embedded Systems, Retrieved on Mar. 22, 2020 from http://mil-Embedded.com/articles/the-aegis-combat-systems-continuous-modernization/, 8 pages.
Mclinden, “Segmented Attack Prevention System for IoT Networks (SAPSIN)”, Abstract—SBIR Phase 1 Proposal, DoD SBIR 2017.2, Proposal No. F172-D12-0184, Topic No. OSD172-D12, 1 page (undated).
Non-Final Office Action for U.S. Appl. No. 16/012,695 dated Mar. 20, 2020 (11 pages).
Non-Final Office Action for U.S. Appl. No. 16/256,810 dated Feb. 10, 2021 (18 pages).
Non-Final Office Action for U.S. Appl. No. 16/256,810 dated Sep. 29, 2021 (19 pages).
Non-Final Office Action for U.S. Appl. No. 16/661,513 dated Nov. 29, 2021 (15 pages).
Non-Final Office Action for U.S. Appl. No. 16/741,953 dated Mar. 7, 2022 (16 pages).
Non-Final Office Action on U.S. Appl. No. 16/995,458 mailed Mar. 23, 2022 (18 pages).
Notice of Allowance for U.S. Appl. No. 16/012,651 dated Apr. 8, 2020 (8 pages).
Notice of Allowance for U.S. Appl. No. 16/012,651 dated Feb. 20, 2020 (12 pages).
Notice of Allowance for U.S. Appl. No. 16/012,695 dated Jun. 29, 2020 (7 pages).
Notice of Allowance for U.S. Appl. No. 16/267,304 dated May 26, 2021 (9 pages).
Notice of Allowance on U.S. Appl. No. 16/455,254 Dtd Mar. 29, 2022.
Notice of Allowance on U.S. Appl. No. 16/256,810 mailed Apr. 26, 2022 (13 pages).
Notice of Allowance on U.S. Appl. No. 16/661,513 dated Apr. 29, 2022 (7 pages).
Notice of Allowance on U.S. Appl. No. 16/741,953 dated Jul. 13, 2022 (9 pages).
Padman et al., “Design of a Virtual Laboratory for Information Assurance Education and Research”, Proceedings of the 2002 IEEE, Workshop on Information Assurance and Security, U.S. Military Academy, West Point, Jun. 2002, 7 pages.
Porche III et al., “A Cyberworm that Knows No. Boundaries”, RAND Corporation, National Defense Research Institute, 2011, 55 pages.
PR Newswire, “ATCorp Releases CSAS—Cloud Security Analysis Suite for Applications in the Cloud”, Architecture Technology Corporation, Feb. 26, 2016, 4 pages.
Proposal Author: Matthew Donovan; Topic Name and No. N182-131: Red Team in a Box for Embedded and Non-IP Devices; Title: Automated Cyber Evaluation System, Jun. 30, 2018, 24 pages.
Quinlan et al., “ROSE User Manual: A Tool for Building Source-to-Source Translators”, Draft User Manual, Version 0.9.11.115, Lawrence Livermore National Laboratory, Sep. 12, 2019 (337 pages).
Quinlan et al., “Rose User Manual: A Tool for Building Source-to-Source Translators”, Draft User Manual, Version D.9.6a, Lawrence Livermore National Laboratory, Dec. 16, 2015 (169 pages).
Rahman et al., “Defect Management Life Cycle Process for Software Quality Improvement,” World Academy of Science, Engineering and Technology International Journal of Computer and Information Engineering, vol. 9, No. 12, 2015 3rd International Conference on Artificial Intelligence, Modelling and Simulation, Nov. 24, 2015, pp. 241-244.
Richard III, “Memory Analysis, Meet GPU Malware”, University of New Orleans, CERIAS, Oct. 22, 2014, retrieved from URL: http://www.cerias.purdue.edu/news_and_events/events/security_seminar/details/index/popenihmencsf2v5mggg5ulfd4 (2 pages).
Richard III, Golden G., “Memory Analysis, Meet GPU Malware”, CERIAS, Oct. 22, 2014, retrieved 2021 from URL: https://www.cerias.purdue.edu/news_and_events/events/security_seminar/details/index/popenihmencsf2v5mggg5ulfd4 (3 pages).
Robbio, “How Will A1 Impact Software Development?”, Forbes Technology Council, Aug. 31, 2017, retrieved on Mar. 23, 2020 from https://www.forbes.com/sites/forbestechcouncil/2017/08/31/how-will-ai-impact-software-development/#325be7e7264d, 16 pages.
ROSE: Main Page, Lawrence Livermore National Laboratory, retrieved on Mar. 23, 2020 from http://rosecompiler.org/ROSE_HTML_Reference/, 3 pages.
Saic et al., “TeamDefend, A White Paper on Strengthening the Weakest Link: Organizational Cyber Defense Training”, 17th Annual FIRST Conference, Jun. 26-Jul. 1, 2005, 6 pages.
Saunders, “Simulation Approaches in Information Security Education”, Proceedings of the Sixth National Colloquium for Information Systems Security Education, Redmond, Washington, Jun. 4-6, 2002, 15 pages.
Schafer et al., “The IWAR Range: A Laboratory for Undergraduate Information Assurance Education”, Military Academy West Point, NY, Research paper, found at http://handle.dtic.mil/100.2/ADM08301, Nov. 7, 2000, 7 pages.
Schepens et al., “The Cyber Defense Exercise: an Evaluation of the Effectiveness of Information Assurance Education”, 2003, 14 pages.
Schneier, B., “Attack Trees—Schneier on Security”, Dr. Dobb's Journal, Dec. 1999, retrieved Mar. 23, 2020 from URL: https://www.schneier.com/academic/archives/1999/12/attack_trees.html (9 pages).
Shiva et al., “Game Theory for Cyber Security,” Proceedings of the Sixth Annual Workshop on Cyber Security and Information Intelligence Research, Article No. 34, Apr. 2010, 10 pages.
Sirianni, “A19-080 Cyber Security Tool Kits for Engineers and Soldiers,” Phase 1 SBIR Proposal, Architecture Technology Corporation, 24 pages (undated).
Sironi et al., “Metronome: Operating System Level Performance Management via Self-Adaptive Computing”, DAC 2012, Jun. 3-7, 2012, pp. 856-865.
Snyder et al., “Ensuring U.S. Air Force Operations During Cyber Attacks Against Combat Support Systems—Guidance for Where to Focus Mitigation Efforts,” RAND Corporation, 2015, 37 pages.
Stumpf et al., “NoSE-building virtual honeynets made easy”, Darmstadt University of Technology, Department of Computer Science, D-64289 Darmstadt, Germany, 2005, 11 pages.
Stytz et al., “Realistic and Affordable Cyberware Opponents for the Information Warfare BattleSpace,” Jun. 2003, 42 pages.
US Notice of Allowance on U.S. Appl. No. 16/995,458 dated Jul. 14, 2022 (11 pages).
Varga, “The OMNeT ++ Discrete Event Simulation System”, Department of Telecommunications, Budapest University of Technology and Economics, Proceedings of the European Simulation Multiconference, Jun. 2001, 7 pages.
Vasiliadis et al., “GPU-Assisted Malware”, 2010 5th International Conference on Malicious and Unwanted Software, 2010, pp. 1-6.
Vrable et al., “Scalability, Fidelity, and Containment in the Potemkin Virtual Honeyfarm,” SOSP, Oct. 23-26, 2005, 15 pages.
Wang et al., “The design and implementation of the NCTUns 1.0 network simulator”, Computer Networks, vol. 42, Issue 2, Jun. 2003, 23 pages.
White et al., “Cyber Security Exercises: Testing an Organization's Ability to Prevent, Detect and Respond to Cyber Security Events,” Proceeding of the 37th Hawaii International Conference on System Sciences, Jan. 2004, 10 pages.
Wikipedia—OpenCL, Mar. 29, 2017, Retrieved from https://en.wikipedia.org/wiki/OpenCL, 23 pages.
Wu et al., “An Attack Modeling Based on Hierarchical Colored Petri Nets”, 2008 International Conference on Computer and Electrical Engineering, Phuket, 2008, pp. 918-921.
Xie et al., “Security Analysis on Cyber-Physical System Using Attack Tree”, 2013 Ninth International Conference on Intelligent Information Hiding and Multimedia Signal Processing, IEEE Computer Society, IEEE, 2013, pp. 429-432, DOI: 10.1109/IIH-MSP.2013.113 (4 pages).
Xu et al., “A Minimum Defense Cost Calculation Method for Cyber Physical System”, 2019 Seventh International Conference on Advanced Cloud and Big Data (CBD), IEEE, 2019, pp. 192-197, DOI: 10.1109/CBD.2019.00043 (6 pages).
Xu et al., “Attack Identification for Software-Defined networking based on attack trees and extension innovation methods,” 2017 9th IEEE Intl. Conf. on Intelligent Data Acquisition and Advanced Computing Systems: Technology and Applications (IDAACS), Bucharest, 2017, pp. 485-489.
Zeng et al., “GloMoSim: A Library for Parallel Simulation of Large-scale Wireless Networks” ACM SIGSIM Simulation Digest, vol. 28, Issue 1, Jul. 1998, 8 pages.
Haque, Md Shariful, and Travis Atkison. “An evolutionary approach of attack graph to attack tree conversion.” International Journal of Computer Network and Information Security 11.11 (2017): 1. (Year: 2017).
Homer, John, et al. “Aggregating vulnerability metrics in enterprise networks using attack graphs.” Journal of Computer Security 21.4 (2013): 561-597. (Year: 2013).
Machine Translation of CN108780480 (Year: 2018).
Continuations (1)
Number Date Country
Parent 16256810 Jan 2019 US
Child 17896974 US