EP4154144A1 - Cyber attack coverage - Google Patents
Cyber attack coverageInfo
- Publication number
- EP4154144A1 EP4154144A1 EP21720122.7A EP21720122A EP4154144A1 EP 4154144 A1 EP4154144 A1 EP 4154144A1 EP 21720122 A EP21720122 A EP 21720122A EP 4154144 A1 EP4154144 A1 EP 4154144A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- parameters
- threat type
- attack
- user interface
- selection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 239000013598 vector Substances 0.000 claims abstract description 75
- 230000006870 function Effects 0.000 claims abstract description 18
- 230000004044 response Effects 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 claims description 60
- 238000010801 machine learning Methods 0.000 claims description 12
- 238000004088 simulation Methods 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000000844 transformation Methods 0.000 description 4
- 238000013475 authorization Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000009249 intrinsic sympathomimetic activity Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000007123 defense Effects 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000002716 delivery method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 229920000638 styrene acrylonitrile Polymers 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/22—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Definitions
- attackers typically differ in two aspects: their targets, and the attack techniques that are used. Relatively few attackers develop entirely new approaches, while the vast majority use well-known techniques with some minor modifications.
- the present disclosure describes a framework for defending against attackers by building and managing end-to-end attack vectors based on these assumptions so that defenses can be verified against the attack vectors.
- the framework allows users to specify a particular attack vector based on tags or individual techniques and generate atomic payloads for testing.
- variants of each attack vector may be automatically generated based on existing implementations.
- Some embodiments describe technologies for fuzzing on known techniques to generate new attack scenarios and identify gaps in threat coverage. Additionally, the described techniques enable the attack vectors to be focused on a particular known adversary by using tags to define and test possible techniques per a region or advanced persistent threat (APT) groups to enable users to build a customized security suite.
- the techniques can allow networks and data centers to provide improved security, more effectively adhere to operational objectives, and improve operating efficiencies.
- generated attack scenarios may be represented as an atomic binary that are limited to the tested logic without actual risk. Additionally, the attack scenarios may be extendable by applying fuzzing in multiple dimensions to generate a larger set of potential scenarios. Interfaces may be provided to allow users to generate their own attack scenarios without the need for deep knowledge of threat scenarios. By providing a way to quickly and easily generate attack scenarios, security functions may be tested by generating a large number of attack vectors against various products, identifying vulnerabilities, and grouping missed threats into categories. The disclosed techniques may also be used to compare and rank security products by comparing success rates and weaknesses.
- the disclosed techniques provide a single framework for creating a set of predefined attack vectors and payloads.
- the framework provides an orchestrator that can mix and match a variety of techniques to generate vectors. By providing such a mechanism for generating attack vectors and identifying potential threats, loss of data and services may be avoided or mitigated, reducing downtime and impact to end users and providing for improved security and operational efficiency for computing networks and service providers.
- This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended that this Summary be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.
- FIG. 1 is a diagram illustrating an example system implementing an attack vector infrastructure in accordance with the present disclosure
- FIG. 2 is a diagram illustrating an example attack vector infrastructure in accordance with the present disclosure
- FIG. 3 is a diagram illustrating an example process for an attack vector infrastructure in accordance with the present disclosure
- FIG. 4 is a diagram illustrating example tags for an attack vector infrastructure in accordance with the present disclosure
- FIG. 5 is a diagram illustrating an example payload for an attack vector infrastructure in accordance with the present disclosure
- FIG. 6 is a diagram illustrating an example process for building a payload for an attack vector infrastructure in accordance with the present disclosure
- FIG. 7 is a diagram illustrating a data center in accordance with the present disclosure.
- FIG. 8 is a flowchart depicting an example procedure for verifying a target system against one or more security threats in accordance with the present disclosure
- FIG. 9 is a flowchart depicting an example procedure for verifying a target system against one or more security threats in accordance with the present disclosure
- FIG. 10 is an example computing device in accordance with the present disclosure.
- the present disclosure provides systems and techniques for generating attack vectors that can be increasingly complex without the need for increased resources, infrastructure, and setup time to test the vectors against a target system.
- the disclosure describes a framework configured to build and manage end-to-end attack vectors that can include generation of the payloads and the victim machine as well as the delivery of the payload (e.g., macro, zip file, email, etc.).
- a user may specify an attack vector based on tags or individual techniques to generate an atomic payload, as well as automatically generate variants of each attack vector based on existing implementations.
- the system for managing and generating the attack vectors may be referred to herein as a cyber vector infrastructure, attack vector infrastructure, or vector infrastructure.
- the attack vectors may be generated based on high level and user-readable tags or labels that identify one or more properties for generating samples or attack simulations.
- the labels can be specific APT groups, techniques, or software that can be associated with any program or target to be tested.
- the vector infrastructure may further provide templates to automatically generate different implementation combinations.
- the vector infrastructure may generate a pre-compiled, single execution file with an adjustable execution workflow that can be externally injected using selected delivery methods and other selectable parameters such as which model to run and in which order, for example.
- the vector infrastructure may further provide a user interface configured to facilitate selection of vector parameters.
- the user interface may provide a graphical tool for selecting pre-defmed inputs and templates for various attack scenarios. By providing a pipeline of tools that facilitate selection of parameters, a user can quickly and easily chain together a number of parameters to generate a specific attack scenario.
- the vector infrastructure may implement tags to facilitate selection of parameters.
- a tag may be a label which can be attached to one or more templates and can map techniques into buckets (e.g., adversary name, attack phase, etc.).
- buckets e.g., adversary name, attack phase, etc.
- a user may select a series of templates to generate an MS Office application file, select a delivery payload, and create a macro dropper. The generated macro dropper can be injected into the Office application.
- a template may represent a specified attack vector which can be assigned to a specific adversary or APT group.
- the vector infrastructure may include a number of tools that can include one or more programs or scripts.
- the vector infrastructure may further include libraries to facilitate tools development (e.g., templates, formats).
- a template can define a chain of payload tools which, after processing by the vector infrastructure, may become a single binary file.
- a template may be described using JavaScript Object
- JSON Java Notation
- JSON may be used to specify which tools to be run and which parameters should be tested. For example, a user may specify a Windows 10 operating system environment and an evasive dropper payload.
- the vector infrastructure may generate an email message as an .eml file that has a compressed zip file that can be used for the simulated attack.
- Tags can be divided into two categories. A group tag may be mapped to one or more tags, e.g., specific APT groups, or to check for specific techniques. Tagging enables users to input to the vector infrastructure what is to be tested and to select templates, samples, and scenarios. A functional tag may be mapped to one or more templates. Templates may be represented as a JSON, and can represent an attack vector.
- the output of the vector infrastructure can be a single binary that implements the select attack scenario.
- the output can also comprise multiple binaries when enabling fuzzing features.
- the vector infrastructure may implement template fuzzing which uses a given template to generate multiple variants of the attack vector. In one embodiment, this may be achieved by automatically modifying the template at three levels.
- the first level may be the tool parameters.
- the vector infrastructure may automatically change the parameters for a tool (e.g., change buffer size, etc.). For example, the vector infrastructure may change the batch file dropper, the size of the buffer in each iteration, and the like.
- the second level may be the implementation. Different tools in the vector infrastructure may have the same input and output and differ only in the implementation. Different kinds of input may also be selected, such as a payload with a VBScript file or a different tool with the same input and output.
- a template can also be modified at a third level that can include additional layers. For example, new tools may be added to the chain which do not change the overall flow. For instance, a packer input/output that can be defined as EXE->EXE can be added after a tool that generates an independent EXE file.
- additional layers can be added to increase the number of adjustable parameters.
- various degrees of variability may be implemented for parameters, implementations, and layers, and the degree and type of variations may be adjustable.
- a random generator may be implemented to determine the specific parameters for each fuzzed payload. For example, for each tag, variants may be randomly generated. In other embodiments, for each set of selected inputs and/or outputs, the adjustable parameters may be selected using a deterministic selection method.
- the vector infrastructure may include an atomic payload builder.
- the vector infrastructure may be configured to implement native code implementations for the target system.
- a precompiled binary may be generated for the target system.
- the generation of binary payloads may include the insertion of dynamic-link libraries (DLLs) that are injected into the binary as well as the workflow that defines how the DLLs should be run, which parameters to include, and in which order.
- DLLs dynamic-link libraries
- the framework configured to build the payload may be referred to herein as an atomic payload builder.
- the atomic payload builder may include payload functionality modules that are implemented as DLLs.
- the DLLs may be embedded as resources in the final payload.
- the execution order and parameters may be embedded using a JSON configuration file contained in the executable.
- the main logic in the payload may execute the workflow.
- the vector infrastructure may link together at least three tools to generate the payload.
- the process may begin with a skeleton input binary into which macro dropper code may be inserted.
- Arguments may be added for a particular target system. For example, for Office, a “Document Open” parameter may be selected for the autorun function name in the delivery tool. Additionally, the “document” template may be selected for the injectmacro tool.
- the resulting payload may be an email message “payload. eml.”
- the described techniques may be used to verify target system defenses against various attack vectors.
- the described techniques may further be used to detect and identify gaps in threat coverage for the target system.
- a machine learning model may be implemented to generate payloads for testing a target system.
- the machine learning model may be configured to utilize supervised, unsupervised, or reinforcement learning techniques to generate payloads.
- the machine learning model may utilize supervised machine learning techniques by training on the collected threat data.
- the machine learning model may also, or alternatively, utilize unsupervised machine learning techniques to determine correlations including, but not limited to, a clustering-based model, a forecasting-based model, a smoothing-based model, or another type of unsupervised machine learning model.
- the machine learning model may also, or alternately, utilize reinforcement learning techniques to generate results.
- the model may be trained using the input data and, based on feedback, the model may be rewarded based on its output.
- FIG. 1 illustrates an example environment 100 in which attack vector payloads may be generated as described herein.
- one or more devices 110 may access a network 170 that may include a target function or system.
- the network 170 may include accounts 175 or physical/virtual machines 177 hosted within the network 170 that may be the subject of an attack.
- the devices 110 may connect to the network 170 via a gateway 120 which is in communication with the authentication server 130.
- the authentication server 130 may be configured to handle the authorization or rejection of login attempts carried in authentication traffic.
- various servers and intermediaries in a distributed network may be implemented between the devices 110 and the gateway 120 to route a message between the user and the network 170.
- multiple copies of those components may be deployed, for example, for load balancing purposes, redundancy, or offering multiple services.
- updating or creation of payloads may be enabled within a contextual environment of an application such as a word processing application for creating or editing payloads.
- the updating or creation of models may be enabled using a separate user interface application.
- application 141 in this example. Auser can interact with an application 141 to create and edit payloads, and view and add or edit content.
- the application 141 may each be configured to display a tool/template pane 191 on a UI 190.
- the tool/template pane 191 may be used to view available tools, templates, or other parameters for selection and insertion into a payload.
- the content provided using the tool/template pane 191 can be used to generate inputs for generating a payload by vector infrastructure 180.
- the inputs to the vector infrastructure 180 can be in the form of a text strings, files, or any other suitable format.
- vector infrastructure 180 is shown as a separate platform, vector infrastructure 180 may be implemented as a shared platform with other aspects of network 170.
- the devices 110 are illustrative of various computing systems including, without limitation, desktop computer systems, wired and wireless computing systems, mobile computing systems (e.g., mobile telephones, netbooks, tablet or slate type computers, notebook computers, and laptop computers), hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, printers, and mainframe computers.
- mobile computing systems e.g., mobile telephones, netbooks, tablet or slate type computers, notebook computers, and laptop computers
- multiprocessor systems e.g., microprocessor-based or programmable consumer electronics
- minicomputers printers
- mainframe computers e.g., mainframe computers
- the devices 110 may be accessed locally and/or by a network, which may include the Internet, a Local Area Network (LAN), a private distributed network for an entity (e.g., a company, a university, a government agency), a wireless ad hoc network, a Virtual Private Network (VPN) or other direct data link (e.g., Bluetooth connection, a direct wired link).
- a network may include the Internet, a Local Area Network (LAN), a private distributed network for an entity (e.g., a company, a university, a government agency), a wireless ad hoc network, a Virtual Private Network (VPN) or other direct data link (e.g., Bluetooth connection, a direct wired link).
- a malicious party may attempt to obtain a certificate for accessing restricted resources which may be done without the knowledge or consent of the devices' owners.
- the gateway 120 may be a hardware device, such as a network switch, or a software service that links the devices 110 from the external network (e.g., the Internet) to the authentication server 130 over the network 170 (e.g., an intranet).
- the gateway device 120 may provide a firewall and may regulate the flow of communications traffic into and out of the local network 170.
- the gateway 120 may be configured to forward messages to the authentication server 130 from the devices 110 (as well as other devices on the internal network).
- the authentication server 130 may receive authorization requests from the devices 110 and determine whether to grant access to accounts served by the network 170.
- the authentication server 130 may be a physical machine or a virtual machine that handles the authentication requests for the network 170 and acts as a domain controller.
- the authentication server 130 may use various authentication protocols including, but not limited to, PAP (Password Authentication Protocol), CHAP (Challenge-Handshake Authentication Protocol), EAP (Extensible Authentication Protocol), Kerberos, or an AAA (Authentication, Authorization, Accounting) architecture protocol, to allow a user access to one or more systems within a network 170.
- PAP Password Authentication Protocol
- CHAP Challenge-Handshake Authentication Protocol
- EAP Extensible Authentication Protocol
- Kerberos Kerberos
- AAA Authentication, Authorization, Accounting
- the vector infrastructure 200 may include a pipeline of tools that facilitate selection of parameters to generate an attack vector.
- the tools may be implemented as programs or scripts with predefined inputs and outputs.
- the vector infrastructure 200 may include tags 210 to facilitate selection of a threat type.
- the vector infrastructure 200 may further include a set of technique templates 220 and tools 230 that provide a pipeline of tools that, when chained together, generate a specific attach scenario.
- the tags 210 may be labels that, when attached to one or more templates, map techniques into buckets (e.g., adversary name, attack phase, etc.).
- a template may be a collection of tools and parameters that, when chained together, implement an attack technique.
- the template may be described in a JSON file 305 which may be consumed by the framework to generate the final payload.
- a JSON file 305 may be provided to a process that may be executed in vector infrastructure 200.
- a first chain 310 may include a payload generator 315 and an executable dropper wrapper 320.
- a second chain 325 may include a compress file tool 330 and an EML embedding tool 335.
- the output of the two chains may be an EML file 340.
- FIG. 4 further illustrates an example of tags which may include group tags 410 that are mapped to one or more tags and functional tags 420 that are mapped to one or more templates.
- payload functionality modules may be implemented as DLLs.
- the DLLs 530 may be embedded as resources in the final payload 500.
- the execution order and parameters may be embedded as a JSON configuration file 520 inside the executable.
- the framework logic 510 in the payload may execute the workflow.
- the framework logic 510 may handle the execution of each command and the command chain during the execution on the target system.
- the payload functionality may be added by embedding DLLs optionally in packed format and editing the workflow configuration to execute the selected functionality.
- An Initialize Base Payload tool 610 may be configured to create a basic payload with no specific threat functionality that includes the main logic and the core DLLs. As each functionality is added 620 the DLL may be an embedded resource in packed form and the JSON may be updated to add the tool to the execution chain.
- the payload may be built in steps where each step adds/removes/replaces a single DLL/JSON file as embedded content to/from the payload.
- the payload 630 may be a single self-contained executable that embeds all dependency libraries and files. The logic may be executed when the payload is executed on the target system.
- FIG. 7 illustrates an example computing environment in which the embodiments described herein may be implemented.
- FIG. 7 illustrates a data center 700 that is configured to provide computing resources to users 700a, 700b, or 700c (which may be referred herein singularly as “a user 700” or in the plural as “the users 700") via user computers 702a, 702b, and 702c (which may be referred herein singularly as "a computer 702" or in the plural as “the computers 702") via a communications network 730.
- the computing resources provided by the data center 700 may include various types of resources, such as computing resources, data storage resources, data communication resources, and the like. Each type of computing resource may be general-purpose or may be available in a number of specific configurations.
- computing resources may be available as virtual machines.
- the virtual machines may be configured to execute applications, including Web servers, application servers, media servers, database servers, and the like.
- Data storage resources may include file storage devices, block storage devices, and the like.
- Each type or configuration of computing resource may be available in different configurations, such as the number of processors, and size of memory and/or storage capacity.
- the resources may in some embodiments be offered to clients in units referred to as instances, such as virtual machine instances or storage instances.
- a virtual computing instance may be referred to as a virtual machine and may, for example, comprise one or more servers with a specified computational capacity (which may be specified by indicating the type and number of CPUs, the main memory size and so on) and a specified software stack (e.g., a particular version of an operating system, which may in turn run on top of a hypervisor).
- a specified computational capacity which may be specified by indicating the type and number of CPUs, the main memory size and so on
- a specified software stack e.g., a particular version of an operating system, which may in turn run on top of a hypervisor.
- Data center 700 may include servers 716a, 716b, and 716c (which may be referred to herein singularly as “a server 716" or in the plural as “the servers 716") that provide computing resources available as virtual machines 718a and 718b (which may be referred to herein singularly as “a virtual machine 718” or in the plural as “the virtual machines 718”).
- the virtual machines 718 may be configured to execute applications such as Web servers, application servers, media servers, database servers, and the like. Other resources that may be provided include data storage resources (not shown on FIG. 7) and may include file storage devices, block storage devices, and the like.
- Servers 716 may also execute functions that manage and control allocation of resources in the data center, such as a controller 715. Controller 715 may be a fabric controller or another type of program configured to manage the allocation of virtual machines on servers 716.
- communications network 730 may, for example, be a publicly accessible network of linked networks and may be operated by various entities, such as the Internet. In other embodiments, communications network 730 may be a private network, such as a corporate network that is wholly or partially inaccessible to the public. [0053] Communications network 730 may provide access to computers 702.
- Computers 702 may be computers utilized by users 700.
- Computer 702a, 702b or 702c may be a server, a desktop or laptop personal computer, a tablet computer, a smartphone, a set top box, or any other computing device capable of accessing data center 700.
- User computer 702a or 702b may connect directly to the Internet (e.g., via a cable modem).
- User computer 702c may be internal to the data center 700 and may connect directly to the resources in the data center 700 via internal networks. Although only three user computers 702a, 702b, and 702c are depicted, it should be appreciated that there may be multiple user computers.
- Computers 702 may also be utilized to configure aspects of the computing resources provided by data center 700.
- data center 700 may provide a Web interface through which aspects of its operation may be configured through the use of a Web browser application program executing on user computer 702.
- a stand-alone application program executing on user computer 702 may be used to access an application programming interface (API) exposed by data center 700 for performing the configuration operations.
- API application programming interface
- Servers 716 may be configured to provide the computing resources described above.
- One or more of the servers 716 may be configured to execute a manager 720a or 720b (which may be referred herein singularly as “a manager 720" or in the plural as “the managers 720") configured to execute the virtual machines.
- the managers 720 may be a virtual machine monitor (VMM), fabric controller, or another type of program configured to enable the execution of virtual machines 718 on servers 716, for example.
- VMM virtual machine monitor
- a network device 711 may be utilized to interconnect the servers 716a and 716b.
- Network device 711 may comprise one or more switches, routers, or other network devices.
- Network device 711 may also be connected to gateway 740, which is connected to communications network 730.
- Network device 711 may facilitate communications within networks in data center 700, for example, by forwarding packets or other data communications as appropriate based on characteristics of such communications (e.g., header information including source and/or destination addresses, protocol identifiers, etc.) and/or the characteristics of the private network (e.g., routes based on network topology, etc.).
- characteristics of such communications e.g., header information including source and/or destination addresses, protocol identifiers, etc.
- the characteristics of the private network e.g., routes based on network topology, etc.
- FIG. 7 has been greatly simplified and that many more networks and networking devices may be utilized to interconnect the various computing systems disclosed herein. These network topologies and devices should be apparent to those skilled in the art.
- data center 700 described in FIG. 7 is merely illustrative and that other implementations might be utilized. Additionally, it should be appreciated that the functionality disclosed herein might be implemented in software, hardware or a combination of software and hardware. Other implementations should be apparent to those skilled in the art. It should also be appreciated that a server, gateway, or other computing device may comprise any combination of hardware or software that can interact and perform the described types of functionality, including without limitation desktop or other computers, database servers, network storage devices and other network devices, PDAs, tablets, smartphone, Internet appliances, television-based systems (e.g., using set top boxes and/or personal/digital video recorders), and various other consumer products that include appropriate communication capabilities. In addition, the functionality provided by the illustrated modules may in some embodiments be combined in fewer modules or distributed in additional modules. Similarly, in some embodiments the functionality of some of the illustrated modules may not be provided and/or other additional functionality may be available.
- FIG. 8 illustrated is an example operational procedure for verifying a target system against one or more security threats in accordance with the present disclosure.
- the operational procedure may be implemented in a system comprising one or more computing devices.
- the logical operations described herein are implemented (1) as a sequence of computer implemented acts or program modules running on a computing system such as those described herein and/or (2) as interconnected machine logic circuits or circuit modules within the computing system.
- the implementation is a matter of choice dependent on the performance and other requirements of the computing system. Accordingly, the logical operations may be implemented in software, in firmware, in special purpose digital logic, and any combination thereof.
- operation 801 illustrates instantiating a user interface for communicating with an attack vector infrastructure configured to generate attack vectors in a controlled environment.
- Operation 801 may be followed by operation 803.
- Operation 803 illustrates receiving, via the user interface, a selection of a threat type.
- Operation 803 may be followed by operation 805.
- Operation 805 illustrates receiving, via the user interface, a selection of one or more selectable parameters for delivery of the threat type to the target system.
- Operation 805 may be followed by operation 807.
- Operation 807 illustrates communicating, by the user interface to the attack vector infrastructure, data indicative of the selected threat type and the selected parameters.
- Operation 807 may be followed by operation 809.
- Operation 809 illustrates, in response to receiving the data, accessing a base binary executable and a library comprising functions for generating attack vectors.
- Operation 809 may be followed by operation 811.
- Operation 811 illustrates adding, to the base binary executable, one or more functions from the library based on the selected threat type and the selected parameters.
- Operation 811 may be followed by operation 813.
- Operation 813 illustrates generating a payload that implements the selected threat type and the selected parameters in a delivery format based on the selected parameters.
- the selected threat type and the selected parameters are defined using JavaScript Object Notation (JSON).
- JSON JavaScript Object Notation
- the selectable parameters comprise templates defining predetermined attack scenarios.
- the method further comprises generating fuzzed payloads that are variants of the generated payload.
- the fuzzed payloads are generated by randomly varying the selectable parameters.
- the fuzzed payloads are generated by deterministically varying the selectable parameters.
- the fuzzed payloads are generated based on machine learning.
- operation 901 illustrates receiving, via a user interface, a selection of a threat type for an attack vector for verifying defensive capabilities of a target system.
- Operation 901 may be followed by operation 903.
- Operation 903 illustrates receiving, via the user interface, a selection of one or more selectable parameters for delivery of the threat type to the target system.
- Operation 903 may be followed by operation 905.
- Operation 905 illustrates in response to selection of the threat type and the selected parameters, accessing a base binary executable and a library comprising functions for generating attack vectors.
- Operation 905 may be followed by operation 907.
- Operation 907 illustrates adding, to the base binary executable, one or more functions from the library based on the selected threat type and the selected parameters.
- Operation 907 may be followed by operation 909.
- Operation 909 illustrates generating a payload that implements the selected threat type and the selected parameters in a delivery format based on the selected parameters.
- the user interface is a graphical user interface comprising an interactive area configured to enable selection of the selectable parameters.
- the selectable parameters comprise tags or labels that identify one or more properties for generating samples or attack simulations.
- the delivery format comprises one or more of a macro, zip file, or email.
- the selectable parameters comprise templates defining predetermined attack scenarios.
- the acts comprise generating fuzzed payloads that are variants of the generated payload.
- the fuzzed payloads are generated by randomly varying the selectable parameters.
- the fuzzed payloads are generated by deterministically varying the selectable parameters.
- the fuzzed payloads are generated based on machine learning.
- Networks established by or on behalf of a user to provide one or more services (such as various types of cloud-based computing or storage) accessible via the Internet and/or other networks to a distributed set of clients may be referred to as a service provider.
- a service provider may include one or more data centers such as data center 300 illustrated in FIG. 3, which are configured to host physical and/or virtualized computer servers, storage devices, networking equipment and the like, that may be used to implement and distribute the infrastructure and services offered by the service provider.
- a computing device that implements a portion or all of one or more of the technologies described herein, including the techniques to verify a target system against one or more security threats may include a general-purpose computer system that includes or is configured to access one or more computer-accessible media.
- FIG. 10 illustrates such a general-purpose computing device 1000.
- computing device 1000 includes one or more processors 1010a, 1010b, and/or 1010h (which may be referred herein singularly as “a processor 1010" or in the plural as “the processors 1010") coupled to a system memory 1020 via an input/output (I/O) interface 1030.
- Computing device 1000 further includes a network interface 1040 coupled to I/O interface 1030.
- computing device 1000 may be a uniprocessor system including one processor 1010 or a multiprocessor system including several processors 1010 (e.g., two, four, eight, or another suitable number).
- Processors 1010 may be any suitable processors capable of executing instructions.
- processors 1010 may be general-purpose or embedded processors implementing any of a variety of instruction set architectures (IS As), such as the xl 010, PowerPC, SPARC, or MIPS ISAs, or any other suitable ISA.
- IS As instruction set architectures
- each of processors 1010 may commonly, but not necessarily, implement the same ISA.
- System memory 1020 may be configured to store instructions and data accessible by processor(s) 1010.
- system memory 1020 may be implemented using any suitable memory technology, such as static random access memory (SRAM), synchronous dynamic RAM (SDRAM), nonvolatile/Flash-type memory, or any other type of memory.
- SRAM static random access memory
- SDRAM synchronous dynamic RAM
- program instructions and data implementing one or more desired functions, such as those methods, techniques and data described above, are shown stored within system memory 1020 as code 1025 and data 1026.
- I/O interface 1030 may be configured to coordinate I/O traffic between the processor 1010, system memory 1020, and any peripheral devices in the device, including network interface 1040 or other peripheral interfaces.
- I/O interface 1030 may perform any necessary protocol, timing, or other data transformations to convert data signals from one component (e.g., system memory 1020) into a format suitable for use by another component (e.g., processor 1010).
- I/O interface 1030 may include support for devices attached through various types of peripheral buses, such as a variant of the Peripheral Component Interconnect (PCI) bus standard or the Universal Serial Bus (USB) standard, for example.
- PCI Peripheral Component Interconnect
- USB Universal Serial Bus
- the function of I/O interface 1030 may be split into two or more separate components. Also, in some embodiments some or all of the functionality of I/O interface 1030, such as an interface to system memory 1020, may be incorporated directly into processor 1010.
- Network interface 1040 may be configured to allow data to be exchanged between computing device 1000 and other device or devices 1080 attached to a network or network(s)1050, such as other computer systems or devices as illustrated in FIGS. 1 through 4, for example.
- network interface 1040 may support communication via any suitable wired or wireless general data networks, such as types of Ethernet networks, for example.
- network interface 1040 may support communication via telecommunications/telephony networks such as analog voice networks or digital fiber communications networks, via storage area networks such as Fibre Channel SANs or via any other suitable type of network and/or protocol.
- system memory 1020 may be one embodiment of a computer-accessible medium configured to store program instructions and data as described above for FIGS. 1-9 for implementing embodiments of the corresponding methods and systems.
- program instructions and/or data may be received, sent or stored upon different types of computer-accessible media.
- a computer- accessible medium may include non-transitory storage media or memory media, such as magnetic or optical media, e.g., disk or DVD/CD coupled to computing device 1000 via EO interface 1030.
- a non-transitory computer-accessible storage medium may also include any volatile or non-volatile media, such as RAM (e.g.
- a computer-accessible medium may include transmission media or signals such as electrical, electromagnetic or digital signals, conveyed via a communication medium such as a network and/or a wireless link, such as may be implemented via network interface 1040.
- a communication medium such as a network and/or a wireless link, such as may be implemented via network interface 1040.
- Portions or all of multiple computing devices, such as those illustrated in FIG. 10, may be used to implement the described functionality in various embodiments; for example, software components running on a variety of different devices and servers may collaborate to provide the functionality.
- portions of the described functionality may be implemented using storage devices, network devices, or special-purpose computer systems, in addition to or instead of being implemented using general-purpose computer systems.
- the term "computing device,” as used herein, refers to at least all these types of devices and is not limited to these types of devices.
- Computer-readable media as discussed herein may refer to a mass storage device, such as a solid-state drive, a hard disk or CD-ROM drive. However, it should be appreciated by those skilled in the art that computer-readable media can be any available computer storage media that can be accessed by a computing device.
- computer storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data.
- computer media includes, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, digital versatile disks (“DVD”), HD-DVD, BLU-RAY, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computing devices discussed herein.
- DVD digital versatile disks
- HD-DVD high definition digital versatile disks
- BLU-RAY blue ray
- computer storage medium does not include waves, signals, and/or other transitory and/or intangible communication media, per se.
- Encoding the software modules presented herein also may transform the physical structure of the computer-readable media presented herein.
- the specific transformation of physical structure may depend on various factors, in different implementations of this description. Examples of such factors may include, but are not limited to, the technology used to implement the computer-readable media, whether the computer-readable media is characterized as primary or secondary storage, and the like.
- the computer-readable media is implemented as semiconductor-based memory
- the software disclosed herein may be encoded on the computer-readable media by transforming the physical state of the semiconductor memory.
- the software may transform the state of transistors, capacitors, or other discrete circuit elements constituting the semiconductor memory.
- the software also may transform the physical state of such components in order to store data thereupon.
- the computer-readable media disclosed herein may be implemented using magnetic or optical technology.
- the software presented herein may transform the physical state of magnetic or optical media, when the software is encoded therein. These transformations may include altering the magnetic characteristics of particular locations within given magnetic media. These transformations also may include altering the physical features or characteristics of particular locations within given optical media, to change the optical characteristics of those locations. Other transformations of physical media are possible without departing from the scope and spirit of the present description, with the foregoing examples provided only to facilitate this discussion.
- any reference to “first,” “second,” etc. items and/or abstract concepts within the description is not intended to and should not be construed to necessarily correspond to any reference of “first,” “second,” etc. elements of the claims.
- items and/or abstract concepts such as, for example, individual computing devices and/or operational states of the computing cluster may be distinguished by numerical designations without such designations corresponding to the claims or even other paragraphs of the Summary and/or Detailed Description.
- any designation of a “first operational state” and “second operational state” of the computing cluster within a paragraph of this disclosure is used solely to distinguish two different operational states of the computing cluster within that specific paragraph - not any other paragraph and particularly not the claims.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/882,367 US20210367956A1 (en) | 2020-05-22 | 2020-05-22 | Cyber attack coverage |
PCT/US2021/024748 WO2021236232A1 (en) | 2020-05-22 | 2021-03-30 | Cyber attack coverage |
Publications (2)
Publication Number | Publication Date |
---|---|
EP4154144A1 true EP4154144A1 (en) | 2023-03-29 |
EP4154144B1 EP4154144B1 (en) | 2024-08-28 |
Family
ID=75581683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP21720122.7A Active EP4154144B1 (en) | 2020-05-22 | 2021-03-30 | Cyber attack coverage |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210367956A1 (en) |
EP (1) | EP4154144B1 (en) |
WO (1) | WO2021236232A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11995191B2 (en) * | 2021-06-25 | 2024-05-28 | FortifyIQ, Inc. | Side-channel attack on HMAC-SHA-2 and associated testing |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8793360B1 (en) * | 2003-05-23 | 2014-07-29 | Verizon Laboratories Inc. | Systems and methods for testing denial of service attacks |
US9483648B2 (en) * | 2013-07-26 | 2016-11-01 | Sap Se | Security testing for software applications |
US10764319B2 (en) * | 2017-10-05 | 2020-09-01 | Honeywell International Inc. | Intelligent automated security vulnerability detection and analysis for industrial internet of things (IIOT) devices |
US11985157B2 (en) * | 2020-01-24 | 2024-05-14 | The Aerospace Corporation | Interactive interfaces and data structures representing physical and/or visual information using smart pins |
-
2020
- 2020-05-22 US US16/882,367 patent/US20210367956A1/en not_active Abandoned
-
2021
- 2021-03-30 WO PCT/US2021/024748 patent/WO2021236232A1/en unknown
- 2021-03-30 EP EP21720122.7A patent/EP4154144B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP4154144B1 (en) | 2024-08-28 |
US20210367956A1 (en) | 2021-11-25 |
WO2021236232A1 (en) | 2021-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9621592B2 (en) | System and method for software defined deployment of security appliances using policy templates | |
US11483354B2 (en) | System and method for reasoning about the optimality of a configuration parameter of a distributed system | |
CN109716729B (en) | Dynamic load-based automatic scaling network security microservice method and device | |
US9894090B2 (en) | Penetration test attack tree generator | |
US10073974B2 (en) | Generating containers for applications utilizing reduced sets of libraries based on risk analysis | |
EP2822248B1 (en) | Methods and systems for use in analyzing cyber-security threats in an aviation platform | |
US11029975B2 (en) | Automated container image assembly | |
US20190294778A1 (en) | Method and system to securely run applications using containers | |
CN110022311B (en) | Attack graph-based automatic generation method for cloud outsourcing service data leakage safety test case | |
US8990387B2 (en) | Automatic completeness checks of network device infrastructure configurations during enterprise information technology transformation | |
US10769277B2 (en) | Malicious application detection and prevention system for stream computing applications deployed in cloud computing environments | |
Surantha et al. | Secure kubernetes networking design based on zero trust model: A case study of financial service enterprise in indonesia | |
US11531763B1 (en) | Automated code generation using analysis of design diagrams | |
Rubio et al. | Tracking apts in industrial ecosystems: A proof of concept | |
US9838274B2 (en) | Method for enhancing security access to a node in a homogenous cloud computing environment | |
EP4154144B1 (en) | Cyber attack coverage | |
Ooi et al. | Intent-driven secure system design: Methodology and implementation | |
US11494488B2 (en) | Security incident and event management use case selection | |
Rygielski et al. | Model-based throughput prediction in data center networks | |
Holik et al. | Industrial network protection by SDN-based IPS with AI | |
US9398041B2 (en) | Identifying stored vulnerabilities in a web service | |
Alnaim et al. | Threats against the virtual machine environment of NFV | |
US11520866B2 (en) | Controlling processor instruction execution | |
Chu | NFV and NFV‐based Security Services | |
US9858423B2 (en) | Application modification based on a security vulnerability |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20221108 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) | ||
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: GRANT OF PATENT IS INTENDED |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: H04L 9/40 20220101ALI20240228BHEP Ipc: G06F 21/57 20130101AFI20240228BHEP |
|
INTG | Intention to grant announced |
Effective date: 20240321 |
|
P01 | Opt-out of the competence of the unified patent court (upc) registered |
Effective date: 20240408 |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE PATENT HAS BEEN GRANTED |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 602021017928 Country of ref document: DE |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D |