US20170054754A1 - Malware and exploit campaign detection system and method - Google Patents

Malware and exploit campaign detection system and method Download PDF

Info

Publication number
US20170054754A1
US20170054754A1 US15/346,358 US201615346358A US2017054754A1 US 20170054754 A1 US20170054754 A1 US 20170054754A1 US 201615346358 A US201615346358 A US 201615346358A US 2017054754 A1 US2017054754 A1 US 2017054754A1
Authority
US
United States
Prior art keywords
uniform resource
malicious
victim
tier
stack
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.)
Abandoned
Application number
US15/346,358
Inventor
Mohamed SAHER
Jayendra PATHAK
Ahmed ELGARHY
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NSS Labs Inc
Original Assignee
NSS Labs Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NSS Labs Inc filed Critical NSS Labs Inc
Priority to US15/346,358 priority Critical patent/US20170054754A1/en
Publication of US20170054754A1 publication Critical patent/US20170054754A1/en
Assigned to NSS Labs, Inc. reassignment NSS Labs, Inc. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ELGARHY, AHMED, PATHAK, JAYENDRA, SAHER, MOHAMED
Priority to PCT/US2017/060456 priority patent/WO2018089380A1/en
Assigned to SILICON VALLEY BANK reassignment SILICON VALLEY BANK SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NSS Labs, Inc.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1491Countermeasures against malicious traffic using deception as countermeasure, e.g. honeypots, honeynets, decoys or entrapment
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • G06F17/30864
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks

Definitions

  • Anti-virus (AV) systems such as endpoint protection platforms (EPPs), as well as breach detection services (BDS) employ virtual “sandboxes” or “honey nets” that operate in a cloud (virtual) network construct. These sandboxes attempt to identify malware and virus programs by incubating the suspect software until such time as the malware executes and its activities can be monitored and analyzed.
  • EPPs endpoint protection platforms
  • BDS breach detection services
  • malware can be considered to be “cognitive” and completely aware that it is currently being incubated within a trap (monitored system), and will continue to hibernate and therefore will not present itself as malicious software.
  • the sandbox system will fail to identify the suspect file as being malicious, and therefore will allow all similar programs to bypass future testing.
  • Another shortcoming is that they rely on monitoring traffic that is already affecting the victim machine or network, and because these sandbox systems are incapable of operating in-line due to performance limitations, they are unable to actually prevent the attack.
  • the best the conventional systems can do is to inform when a breach has already occurred and thus can never be predictive.
  • BaitNET The system and method for malware and exploit campaign detection (that may be known as “BaitNET”) is different than known systems since the system has technology that prevents detection of the system by the malware/exploit.
  • BaitNET cannot be detected by modern malware/exploits and thus the operations/actions of the malware/exploits can be collected and analyzed without restriction.
  • the collected malware/exploit is replayed/tested against various operating system and application configurations within BaitNET's private cloud infrastructure to determine what other system footprints are susceptible to the malware campaign.
  • BaitNET is able to successfully incubate, track, and inventory the malware/exploit.
  • BaitNET Due to the transparency of BaitNET to the malware/exploit, BaitNET is able to perform live analysis that that can track threat actors, identify where they are truly located, and what other similar malware/exploit campaigns they have been launching and against whom. All of this is done while BaitNET produces threat forecasts that indicate viable and potential targets of the threat actors. BaitNET can also be used to measure and test the effectiveness of commercially available EPPs, AVs, in-line network security appliances, and BDS systems. This is done by injecting malware/exploits into BaitNET's construct, where these commercial products have already been installed, and then monitoring the delta between what BaitNET knows was injected, and detected itself, and what the commercial product claims to have detected. E.g., BaitNET is an advancement in technology so far beyond modern AV, EPP, and BDS that it is used to test the efficacy of these commercial products.
  • BaitNET is the conglomerate of a number of software applications, processes, and innovations as outlined herein which afford BaitNET the ability to shim into the operating system and the virtual machine architecture (both guest and host) enabling BaitNET to obfuscate the fact that the machine itself is a virtual/unmanned computer.
  • the system utilizes a multitude of virtual private networks (VPNs) allowing a near-unlimited number of unique Internet IP addresses from all across the world to be used. These disparate IP addresses afford two primary advantages to BaitNET.
  • VPNs virtual private networks
  • BaitNET utilizes VPNs throughout the world to mimic dispersed geo-location and map out malware campaigns in different regions. Other techniques, while not proprietary to BaitNET, may also be used to emulate potential target qualification data points such as varying the language pack and keyboard language configuration on the host operating system.
  • BaitNET After finding new malware, done by crawling URLs provided through various channels, BaitNET records the attack vector, payload, critical information on exploitation, and other relevant metadata and then “replays” this attack against thousands of other hosts on the BaitNET network. “Replay” is achieved through the use of BaitNET's proxy services, as outlined later in this document, and may be done against a singular image when testing the efficacy of a 3 rd party security system or against limitless iterations of operating systems, application configurations, and versions of software tools when mapping the effectiveness of the exploit/malware. Each of the hosts used during the replay has a different combination of web browser, suite of installed applications, various program and operating system patch levels, installed language packages, etc.
  • BaitNET is also capable of emulating mobile device operating systems, and uses the same technology to detect and inventory malware/exploits. All of this allows researchers to understand the true target landscape/scope for the malware/exploit, and the malware/exploit can be tested against anti virus (AV) and in-line security systems such as intrusion prevention systems (IPS), next generation firewalls (NGFs), and breach detection systems (BDS.)
  • AV anti virus
  • IPS intrusion prevention systems
  • NMFs next generation firewalls
  • BDS breach detection systems
  • the BaitNET Framework is a distributed automation framework for testing URLs in real time to detect drive-by-exploitation attacks and malware dropped by said attacks, and gather data from said attacks to aid in their further analysis and prevention.
  • URLs are tested using various operating system and application configurations within BaitNET's cloud infrastructure to determine if they are maliciously serving exploits. If a URL is found to be malicious, BaitNET is able to successfully incubate, track, and inventory the attack.
  • BaitNET Due to the transparency of BaitNET to the exploit and any malware it drops, BaitNET is able to perform live analysis that that can track threat actors and fully enumerate their capabilities (i.e. which exploit kits they are using, which specific exploits are employed, which applications are being targeted, and full details of the exploits themselves). BaitNET therefore produces accurate predictions of which applications are being targeted in current campaigns by threat actors, providing predictive threat analysis AHEAD of any breach.
  • BaitNET can also be used to measure and test the effectiveness of commercially available security products, both network and host-based. This is done by replaying captured exploits using the same BaitNET infrastructure in which commercial security products have been installed. BaitNET is capable of monitoring the delta between what BaitNET detected during the initial capture process, and what the commercial product claims to have detected.
  • BaitNET has the concept of a Controller that acts as both a unit of work ventilator, or producer, and a lightweight in-memory message pump.
  • Worker nodes referred to as Victims
  • Victims register themselves with the Controller to process units of work.
  • the unit of work in BaitNET is a URL.
  • Subscriber nodes referred to as Notification Sinks
  • Notification Sinks register themselves with the Controller to receive notifications about a URL's result as a Victim is processing it.
  • the Controller through a series of steps, distributes URLs to registered Victims to be processed, receives the results, and publishes them to registered Notification Sinks.
  • BaitNET's cloud infrastructure is composed of a one or more Controllers and thousands of Victims preferably deployed in a virtualized environment. The exact number of Victims is based on the scope and scale of the testing and research being performed. Victims are machines with a unique operating system and application configuration that are responsible for testing URLs assigned to them by a Controller.
  • BaitNET is capable of running on “bare metal” machines however due to its nature in testing potentially malicious URLs, a virtualized environment is preferred such as that when a Victim is comprised, it can be automatically reset to a clean state.
  • BaitNET is not limited to a specific hypervisor thanks to its modular design. Its default virtual adapter is for VMware ESXi but it was originally designed to work with Microsoft Hyper-V. Additions can be made in the form of additional adapters, which would allow it to run on any hypervisor, thus supporting multiple hypervisor communication channels, possibly within the same deployment if needed.
  • BaitNET provides a malware and exploit campaign detection system and method that cannot be detected by the malware or exploit campaign.
  • the system may provide threat feed data to the vendors that produce in-line network security and endpoint protection technologies.
  • the system may also be used as a testing platform for 3rd party products. Due to the massive footprint of the system's cloud infrastructure and disparate network connections and geolocation obfuscation techniques, NSS can locate and monitor malware across the globe and provide detailed threat analysis for each specific region, as they often support and host different malware/cybercrime campaigns.
  • FIG. 1 shows the high-level architecture of the major components of a system for malware and exploit campaign detection that may be known as BaitNET.
  • FIGS. 2A-2D illustrates the process control and internal operations of the BaitNET Controller Process and its interoperability with the Capture, Replay, and Proxy processes.
  • FIGS. 3-6 are examples of the user interface of the BaitNET system of FIG. 1 .
  • BaitNET The system and method for malware and exploit campaign detection (known as BaitNET) is designed to seek out, detect, itemize, and retest active URLs serving drive-by exploits.
  • BaitNET is a multi-leveled application operating within the kernel and user layers of the operating system that make it unique when compared to similar technologies utilized to detect and prevent malware.
  • malware is the payload that is delivered by an exploit.
  • malware samples There are literally hundreds of thousands of malware samples in the wild, and it is a trivial matter to obfuscate these or morph them into something new.
  • the exploit is the mechanism whereby the threat actor compromises the system in order to deliver and execute the malware.
  • BaitNET moves further up the kill chain from traditional malware protection products and provides much more effective and far-reaching predictive capabilities.
  • BaitNET's core technology could be used to prevent exploitation as well as detect, but that is not its primary function. By operating out of band, BaitNET is freed from the usual restrictions of real-time or in-line protection technologies, allowing it to be much more accurate and thorough in its detection capabilities. BaitNET supports various types of operating systems as a threat forecast system. BaitNET's virtual machines (VMs) can simulate servers, workstations, even mobile computing devices such as smartphones and tablets.
  • VMs virtual machines
  • a system 100 may utilize three arrays of servers and networking hardware known as “stacks.” Each stack is any number of physical servers that host virtual machines (“guests”.) The exact number of servers and guests is based on the scope and scale of the testing and research being performed. Typically, within “Live Testing” this will be many tens of thousands of guests.
  • FIG. 1 illustrates the interoperation/communication of the various stacks of servers and guests with the infrastructure support servers, as well as which components have Internet 102 connectivity.
  • the system may be implemented using the computing resources shown in FIG. 1 including the stacks.
  • the system may be implemented with a capture stack 104 , a replay stack 106 , a proxy stack 108 .
  • the system may also have a master hypervisor controller 110 that controls each of the stacks as well as one or more data stores 112 (for storage of data and the like).
  • the capture stack 104 and the proxy stack 108 have access to a computer network 102 , such as the Internet.
  • the capture stack 104 implements the capture process 204 described below
  • the replay stack 106 implements the replay process 206 described below
  • the proxy stack 108 implements the proxy process 208 described below.
  • Each of the stacks may be implemented using one or more computing resources, such as one or more cloud computing resources or one or more server computer resources.
  • Each of the one or more computing resources may have a processor and memory and a plurality of lines of computer code that may be stored in the memory and executed by the processor to implement the capture, replay and proxy processes described below.
  • Each of the stacks also may be implemented as one or more virtual machines that are controlled by the hypervisor controller 110 .
  • FIGS. 2A-2D illustrates the process control and internal operations of the BaitNET Controller Process (implemented by the master hypervisor controller 110 ) and its interoperability with the Capture, Replay, and Proxy processes.
  • Each of the processes shown in FIGS. 2A-2D may be implemented as a module/unit/device that is part of the respective stacks shown in FIG. 1 and each process may be implemented in software (a plurality of lines of instructions/computer code executed using a processor) or as a hardware device that is part of the respective stack shown in FIG. 1 .
  • a controller process 210 and part of a replay process 206 are shown in FIG. 2A with the replay process 206 also being shown in FIGS.
  • FIGS. 2B and 2C as shown by the reference designators (A and E) that show how FIGS. 2A, 2B and 2C connect to each other to show the replay process 206 .
  • FIGS. 2B and 2C also show the details of the capture process 204 as shown by the reference designator D that shows how FIGS. 2B and 2C connect to each other to show the capture process 204 .
  • FIGS. 2B and 2C also show a ZeroDay process 220 as shown by the reference designator B that shows how FIGS. 2B and 2C connect to each other to show the ZeroDay process 220 .
  • FIGS. 2B and 2C also show the proxy process 208 as shown by the reference designator C that shows how FIGS. 2B and 2C connect to each other to show the proxy process 208 .
  • FIG. 2 D shows the details of an Obfuscation Engine 222 with references F and G showing the interchange between the capture process 204 and the Obfuscation Engine 222 . Also illustrated are the interchanges with the Obfuscation Engine, Exploit Feed, and ZeroDAY modules.
  • FIGS. 2A-2C show an enumeration process as shown by the reference designators (I and H) that show how FIGS. 2A, 2B and 2C connect to each other to show the enumeration process.
  • the system and method for malware and exploit campaign detection shown in FIGS. 1-2D and described above may be typically operated by an entity, such as NSS Labs (“NSS”), as a cloud-based system that is used by the entity to perform the malware and exploit campaign detection as shown in FIG. 1 .
  • NSS NSS Labs
  • the system and method for malware and exploit campaign detection may also be installed on a premises of a customer and perform the same malware and exploit campaign detection.
  • BaitNET's process begins with the correlation and normalization of multiple threat feeds for information regarding potentially malicious websites. This normalized data is presented to BaitNET's Capture Process 204 and is queued as targets for each of the configured operating system variations that are assigned to series of testing.
  • BaitNET using the Capture Process 204 , issues the URL to each of the thousands of Victims, utilizing thousands of variations in configurations, and each Victim in turn visits the URL using disparate VPN tunnels, upstream HTTP proxies, and even physical data centers, located around the world, to obfuscate their true geographical location as well as to explore the geolocation filtering that may be employed by the malicious URL.
  • BaitNET monitors the progress of the exploit and records the network traffic, creates a copy of the malicious code, and catalogs all changes to the operating system made by the malicious code during the capture process 204 . Any malware dropped on the Victim is also captured, as are the effects of executing that malware on the Victim.
  • BaitNET may record any and all outbound communications from the now infected/compromised Victim. This outbound traffic will include any command and control (C&C) communications, often identifying the true threat actor, as well as any data being exfiltrated from the now infected Victim.
  • C&C command and control
  • BaitNET When infection is confirmed, BaitNET provides information such as the URL where the attack originated, the type of URI/attack used, the IP address of the server that hosted the malicious URL, and the country of origin of the IP address (aka “geolocation.”).
  • FIG. 6 shows detailed information on the URI and network behavior of the malicious website when accessed by the guest systems inside of BaitNET Further detail is presented on the operable target platform(s) that were successfully infected with the malicious content.
  • the hashes (MD5) of the malicious executables (files) along with the exact size of each file are also made available.
  • the network packet capture (PCAP) data as well as the decoded HTTP traffic that is relevant to understanding the attack vector is also available. Provided are the full URI, protocol of the attack (i.e.
  • HTTP/1.1 HyperText Transfer Protocol/1.1
  • the specific web browser used i.e. Internet Explorer 11
  • the actual URL of the drop i.e. .DE, Germany, domain
  • information about the server such as the web server operating platform (i.e. Apache 2.0.59 running on a UNIX operating system with Open SSL).
  • This information can be used by end-users to write firewall rules as well as other rules within in-line systems such as IPS, IDS, WAF, and NGFW.
  • the information can also be used to update endpoint products such as anti-virus to now identify the hash values of the now known malicious content and block it from either being downloaded or executed.
  • the exact vector of the attack being provided; which includes hosting, transmission, and target configuration are vital pieces of information that are uniquely provided by BaitNET.
  • BaitNET is modular enough to support any number of different storage technologies, including everything from traditional relational databases, NoSQL databases, and even graph-based databases.
  • the infected URL is now queued up for the Replay Process 206 using data from the data store.
  • Victims matching the configuration of the Victim that successfully was infected during the Capture Process 204 are prepared for testing of the malicious code.
  • all recent versions of products being tested in-line security devices to endpoint protection products
  • Copies of the workstation used during the Capture Process 204 are configured with the latest versions of any and all endpoint protection products being tested.
  • In-line security products such as intrusion prevention systems and next generation firewalls stand in wait on the network between the Victims and the Replay Servers.
  • the Victims visit an internal (LAN-based) URL that has been created by BaitNET as a perfect copy of the malicious URL that was validated during the Capture Process. As each copy of the Victim is presented the internal URL, BaitNET once again monitors the Victim capturing all metadata related to the malicious code. If the code is successful in reaching the Victim and then executing properly, the endpoint protection product being tested has failed to identify and/or stop the malicious code. If, during the visit to the internal URL, the drop is prevented, thus malicious code is prevented from ever reaching the Victim, then the in-line security product was successful in identifying the exploit and worked as designed.
  • the effectiveness of the malicious code is tested in a live environment. For example, all major makes and versions of web browsers are tested to determine which are susceptible to the exploitation during a drive-by-exploitation attack (i.e. an attack that executes within the browser and does not require the end-user to manually execute the malicious code). Different versions of application systems, language packs (localization data), base operating system revision, and even different architectures can be checked against the copy of the malicious URL and the malicious code itself.
  • an emulated HTTP proxy is generated and utilized.
  • This HTTP proxy facilitates the ability of BaitNET to perform continual testing against the malicious URL that was collected during the Capture Process without the need of the original/actual malicious URL. This is important due to the short lifespan of most malware campaigns, security features within the malware campaign to identify and prevent drops of malicious code to systems on the same network, and to obfuscate/protect the research and investigation into the malware campaign.
  • the HTTP proxy uses the original source code of the malicious website as recorded by the Capture Process 204 .
  • the HTTP proxy emulates the remote server, source code of the website, and will serve (hand-out) the malware in the same way that the original website did. Note that an HTTP proxy, as a technology, is not in itself unique.
  • the Capture 204 and Replay 206 Processes can be used to continue to check localization configurations and geolocation exit points on the Internet to determine the full scope of the attack vector, provide intelligence on the threat actor(s), and harvest as much viable metadata as possible. These processes are key in enumerating the various configurations of operating system, browser, applications, security products, etc. that the malware can use to successfully execute itself. The collation of this intelligence allows modeling to be performed, as well as direct risk assessments, so that consumers understand if their systems, networks, and tools are at risk—and what to do, if anything, to protect them against active exploit/malware campaigns.
  • the system and method shown in FIGS. 1-2D may define a messaging protocol, dubbed as Horus, that is an application level protocol and consists of a set of rules for messages that are exchanged between a Controller 110 , a set of Victims, and a set of Notification Sinks. Each message has a special sematic meaning and is meant to provoke a certain behavior.
  • Horus consists of two sub-protocols: Horus/Victim which defines how a Controller communicates with Victims and Horus/Notification which defines how a Controller and Victims communicate with Notification Sinks.
  • Horus/Victim is a synchronous and stateful request-reply protocol, more commonly referred to as an RPC protocol, for two endpoints, a client and a service, to communicate with one another.
  • the client sends a request.
  • the service reads the request and sends a response.
  • the client reads the response.
  • Both the client and the service are responsible for maintaining state for the duration of a session.
  • BaitNET the client is a Controller and the services are the Victims.
  • Horus/Notification is an asynchronous and stateless publisher-subscriber protocol for one endpoint, a publisher, to communicate with a set of endpoints that is of an undefined size, the subscribers. Subscribers register with the publisher their interest in receiving messages. The publisher broadcasts messages to the subscribers. Subscribers receive all messages broadcast by the publisher that they are interested in. The publisher expects no response from the subscribers. In Horus/Notification, the subscribers are the Notification Sinks. Both a Controller and Victims in different parts of Horus' topology fulfill the role of the publisher.
  • a Controller is a producer, or ventilator, that MUST produce URLs to be distributed to interested Victims.
  • a Controller is also a message pump that MUST collect results that are produced by Victims and MUST publish them to interested Notification Sinks.
  • Traditional middleware brokers are too complex, too stateful, complicate an application's deployment model, and are usually meant to serve as a shared entity between many different disparate systems.
  • the Controller as a message pump thus acts more like an intermediary to push data downstream to interested Notification Sinks, like a switch, to avoid a mesh topology between them and Victims.
  • a Victim is a consumer, or worker, that MUST consume URLs and process them.
  • a Victim MUST either publish its results to a Controller or it MUST maintain its results as state until a Controller explicitly polls it for them, depending on the topology deployed. In either case, the Controller MUST always forward the results downstream to interested Notification Sinks.
  • a Notification Sink is a collector, or subscriber, that SHOULD collect results produced by Victims.
  • a Notification Sink SHOULD register with a Controller its interest in receiving results produced by Victims. In Horus, Notification Sink interest is referred to as a Subscription.
  • Hybrid discovery is a mix between traditional static and dynamic discovery methods.
  • Static discovery refers to Victims being known beforehand. This is analogous to a having a configuration data store of some sort, such as a configuration file, a configuration database, or even a hard coded in-memory collection, which contains relevant information about available Victims within a network. This form of discovery is relatively easy to implement but obviously requires Victims to be deployed manually beforehand.
  • Dynamic discovery refers to Victims dynamically being deployed and providing a notification to a beacon that they are available. This form of discovery is incredibly difficult to implement but offers the most flexibility for certain use cases.
  • Victims are usually deployed in a virtualized environment so that they can be reset to a clean state after they process a URL. BaitNET recognizes the importance of running in a virtualized environment for that very reason and thus has first class support for it.
  • virtualized Victims can be deployed, and in some advanced uses cases even provisioned, dynamically. Because complete control over the environment is possible, Victims do not need to notify a beacon on when they are available.
  • hybrid discovery its static in the sense that the virtualized environment is known before hand and dynamic in the sense that Victims can be deployed or provisioned dynamically in that environment.
  • Victims are implemented as finite state machines, with each state representing a step in its progress in processing a URL. This allows the Controller, with high level of accuracy and without the dependency on third party middleware products, to track the Victims and to distribute URLs to them as they become available.
  • the different states are:
  • Booting Indicates the Victim has received a URL from a Controller and is in the process of booting
  • FIG. 3 is an output from the system, which illustrates validated exploits that have been discovered by the BaitNET system.
  • the capture date e.g. the date and time the malware or exploit was downloaded, is shown along with the corresponding source URL (Universal Record Locator) which shows the full path to the file on the infected/malicious website, the exact operating system that was used on the guest (virtual) workstation that the malware/exploit executed upon, and the exact application that the malware/exploit targeted (needed to be successful.)
  • the first exploit in the list uses Java version 6 update 27 on Microsoft Windows 7 and was downloaded from a URL which was redirected (linked) on a google.com website. A user of the system can click any of these fields to drill-down into more detailed information.
  • the “Source” section provides IP addresses, packet capture data, geo-location information, etc.
  • FIG. 4 is output from the system which illustrates detailed information on the “drop” or malicious file that was downloaded and has been validated to be malware/exploit code. Again the pertinent date and time is displayed, a unique filename is presented which was generated by the system when the malware/exploit was captured. This file contains the malicious content and can been downloaded in its archived (safe) version for inspection and reverse engineering. The hash value (MD5) of the archived file is presented so that the end-user can validate the file from the repository has not been altered. The system will indicate, as presented in this example, that the malware/exploit has been validated. Validation occurs when the BaitNET system utilizes the Proxy and Replay Processes to confirm infection and execution of the captured malware/exploit.
  • the center section of the page reflects the URI where the file was collected from (This matches the data on FIG. 3 ) the type of URI/attack used, the IP address of the server that hosted the malicious file, and the country of origin of the IP address (aka “geo-location.”) Further detail is presented on the operable target platform(s) that were successfully infected with the malicious content.
  • FIG. 5 is more detailed information from the system with regard to malicious content (malware/exploit code) that was captured.
  • malicious content malware/exploit code
  • the end-user can find the hash (MD5) of the malicious executables (files) along with the exact size of each file.
  • MD5 hash
  • This information can be used to update in-line security systems such as an IPS, NGFW, or even endpoint products such as anti virus to now identify the hash values of the now known malicious content and block it from either being downloaded (in-line devices) or executed (end point products.)
  • the Enumeration Process/scout algorithm can be used to continue to check localization configurations and geolocation exit points on the Internet to determine the full scope of the attack vector, provide intelligence on the threat actor(s), and harvest as much viable metadata as possible. This process is key in enumerating the various configurations of operating system, browser, applications, etc. that the malware can use to successfully execute itself.
  • the collation of this intelligence allows modeling to be performed, as well as direct risk assessments, so that consumers understand if their systems, networks, and tools are at risk—and what to do, if anything, to protect them against active malware/exploit campaigns.
  • the entire BaitNET suite of processes may take place in parallel, currently utilizing four parallel threads that are responsible for managing each of the aforementioned processes (Capture, Replay, and Proxy) along with their sub-processes such as the Obfuscation Engine shown in FIG. 2D and modules covered within this document such as ZeroDAY and are collectively controlled from the Control Process. Additionally monitoring of the virtual machines (VMs) and the setup and tear down (establishment and reverting) of the VMs along with their guest operating system and application configurations take place from within the Controller Process.
  • VMs virtual machines
  • setup and tear down establishment and reverting
  • BaitNET's Controller Process (implemented by the Master Hypervisor Controller in FIG. 1 ), which is modified to operate natively. This control is automated and functions as a separate thread during the Control Process and works in parallel with the Capture, Replay, and Proxy processes. BaitNET can procure, configure, and operate VMs on demand, autonomously, and scale resources during testing.
  • BaitNET is a system of custom developed applications, application program interfaces (APIs), and kernel-level modification, such as the AT Module of the system, the Obfuscation Module of the system, the ZeroDAY module of the system and the capture process, for example which are applications.
  • the applications are for both the hypervisor host and the guest functionality as well as the operating systems.
  • BaitNET currently supports all versions of Microsoft Windows operating system, all Intel-based versions of OS X, iOS, and Android.
  • One key feature for BaitNET is its ability to render the “VM Detection System” (e.g. ability to discern a virtual machine from a physical/real machine by malware) found in modern malware/exploits useless. This thwarts the ability of malware to detect a VM, which would normally prevent it from deploying its payload as VMs are often used in anti virus systems to incubate suspected executable files.
  • VM Detection System e.g. ability to discern a virtual machine from a physical/real machine by malware
  • BaitNET's functions are expanded and complimented through the use of modular components (Modules) described below in more detail, each of which provides functionality used in threat forecasting and the evaluation of 3 rd party security product effectiveness as shown in FIG. 2 .
  • BaitNET's Capture Process 204 may be implemented using a scout process (that may be implemented as an algorithm when this process is implemented in software.)
  • the scout process may also be referred to as an enumeration process.
  • the scout process is designed to seek out, by testing, as many URLs as possible to determine if they are malicious. The intelligence gathered is thus which URLs are worth spending precious computing resources against to determine the capabilities of the threat actors.
  • URLs are gathered from a variety of different sources from around the globe.
  • the system correlates and normalizes URLs from multiple threat feeds for information regarding potentially malicious websites. These URLs are then queued up for testing.
  • Tiers are sets of victims that are configured to test URLs using an operating system, browser, and application(s) combinations.
  • Each victim may be a virtual machine having an operating system, browser, and one or more application(s) configuration with different strategies against which an exploit may be tested to determine if the URL is malicious with respect to each particular configuration of each victim.
  • the Scout process may define three Tiers, each representing a different strategy.
  • Tier 1 defines a set of victims that have a combination of operating systems, browsers, and applications that are highly targeted by exploit kits. More than one application can be installed on the victim but only one operating system and one browser can be installed. The configured combination is reinforced through ongoing research of the threat landscape and will change when the thread landscape changes.
  • Tier 1 The purpose of Tier 1 is to test as many URLs as quickly as possible and determine if they are malicious. Identifying the full capabilities of the threat actor on Tier 1 is not important. Malicious URLs are normally live, that is to say they are either infected or publicly accessible, for a short amount of time. And they usually represent a small percentage of the overall number of URLs that will be tested. It is thus imperative that they are tested as quickly as possible. Multiple applications are usually installed on Tier 1 Victims, though that is not absolutely necessary, to maximize the possibility of a drive-by-exploitation attack taking place.
  • the URL distribution algorithm on Tier 1 is a simple load balancing or round-robin algorithm. Essentially the URLs that are queued up for testing are distributed to each available Tier 1 Victim, in parallel.
  • Tier 1 Victim As each Tier 1 Victim completes testing one URL (by accessing the URL to determine if the URL is malicious), it is assigned the next URL in the queue until the queue is exhausted. Once the queue is exhausted, the Tier 1 Victims remain idle until more URLs are queued up. The more Tier 1 Victims that are available the more URLs that can be tested. When a URL is found to be malicious by a Tier 1 Victim, it is queued up for further testing on Tier 2.
  • Tier 2 defines a set of victims that have a combination of operating systems, browsers, and applications that are also highly targeted by exploit kits. Unlike Tier 1 however, only one application can be installed on the Victim. The configured combination is reinforced through ongoing research of the threat landscape and will change when the thread landscape changes. The Tier 2 combination of operating systems, browsers, and applications is a superset of the Tier 1 combination.
  • Tier 2 This is where the benefit of Tier 2 comes in, and the primarily difference between it and Tier 1.
  • the URL was identified as malicious but there is no strong indication on the full extent of the capabilities of the threat actor.
  • two Victims one with Microsoft Silverlight only and one Adobe Flash Player only, will be instructed to test the URL.
  • testing the URL again on Tier 2 will derive a possible addition of two more exploits, bringing the total number of exploits potentially being served by a single URL to three.
  • the total number of exploits is three because the operating system and the browser are also considered as attack vectors in addition to the two installed applications. This is also why it is imperative that, similar to Tier 1, the URL must be live when it is tested on Tier 2.
  • Tier 2 it is not only applications that are tested on Tier 2 but also different operating systems and browsers.
  • the below matrix is an example of the possible different combinations a URL can be tested against if it is found to be malicious on Tier 1 and queued up on Tier 2:
  • Tier 1 Tier 2 Operating Operating System Browser Applications System Browser Application Windows 7 Internet Adobe Flash Windows XP Internet N/A Explorer 9 Player, Explorer 8 Microsoft Windows 7 Internet N/A Silverlight Explorer 9 Windows 7 Internet Adobe Flash Explorer 9 Player Windows 7 Internet Microsoft Explorer 9 Silverlight Windows 7 Internet N/A Explorer 10 Windows 7 Internet Adobe Flash Explorer 10 Player Windows 7 Internet Microsoft Explorer 10 Silverlight Windows 7 Internet N/A Explorer 11 Windows 7 Internet Adobe Flash Explorer 11 Player Windows 7 Internet Microsoft Explorer 11 Silverlight Windows 8 Internet N/A Explorer 10 Windows 8 Internet Adobe Flash Explorer 10 Player Windows 8 Internet Microsoft Explorer 10 Silverlight Windows 8.1 Internet N/A Explorer 11 Windows 8.1 Internet Adobe Flash Explorer 11 Player Windows 8.1 Internet Microsoft Explorer 11 Silverlight Windows 10 Microsoft N/A Edge Windows 10 Internet N/A Explorer 11 Windows 10 Internet Adobe Flash Explorer 11 Player Windows 10 Internet Microsoft Explorer 11 Silverlight
  • This matrix is just a small example of the many combinations that can be tested and does not even include different mainstream browsers like Google Chrome and Mozilla Firefox.
  • the large number of possible combinations that need to be tested is the primary reason for having different Tiers in the scout process.
  • Tier 3 defines a set of Victims that have the same combination of operating systems and browsers as Tier 2 but with different versions of the applications. For example, if Tier 2 is configured to test Microsoft Silverlight 1, and there are ten versions of Microsoft Silverlight released, Tier 3 will have Victims with the remaining Microsoft Silverlight 2 through Microsoft Silverlight 10.
  • Tier 3 Normally, a single exploit will take advantage of a vulnerability that impacts multiple different versions of an application. It's important to note however that for Tier 3, the Victim does not need to test the URL while it is live. Once a session of the attack has been recorded on either Tier 1 or Tier 2, it can be tested against multiple different version of the same application. Since the attack has been recorded and it impacts multiple versions, Tier 3 does not need as much computing resources as Tiers 1 and 2 since there is no longer a requirement to test the URL as quickly as possible.
  • BaitNET's cloud infrastructure requires that its design take into consideration the fact that computing resources are both precious and costly. With the massive number of combinations that a single URL needs to be tested against across all three Tiers, it is simply not realistic to require a single Victim per combination. Even if that was the case, as the number of URLs that need to be tested grows, a single Victim will not be able to test them all fast enough. Recall, that on Tier and Tier 2, a URL must be tested as quickly as possible while it is live. For this reason, Victims can be provisioned dynamically, based on the target number of URLs that need to be tested in a time period. Similarly, browsers and applications can be installed dynamically on the victims such that there doesn't need to be one dedicated Victim for each combination.
  • BaitNET's Scout process is evident by the large number of URLs that can be processed in a 24-hour period using relatively little computing resources. With a mere 400 Victims, BaitNET can successfully process in excess of 250,000 URLs in a 24-hour period which is absolutely phenomenal in comparison to other threat forecasting systems.
  • This module 220 is a state of the art plugin for the BaitNET system allowing it to detect any type of exploitation attack, and was developed to identify 0day attacks, e.g., exploits and malware that have yet to be categorized or identified within the security community, often meaning there is no currently known defense to these attacks as the maintainers of the commercial or open source products being targeted are themselves unaware of the flaw being exploited.
  • This module 220 is capable of dissecting the attack and recording the smallest components, uncovering how every intricate step and security mitigation tactic was used to achieve the attack. This module is based on unique knowledge that the owner of BaitNET has developed through various research projects.
  • the ZeroDAY module 220 is effective when presented with the most complex and customized/never before seen malware as used in advanced persistent threat (APT) attacks.
  • the module can be set to detect and catalog the attack, or detect and block the attack.
  • the ZeroDAY module utilizes the combined filtration of KERNEL32, KERNELBASE and NTDLL.
  • the ZeroDAY module may perform any or all of the following industry recognized tasks for recognition and cataloging of exploits:
  • the ZeroDAY module can monitor and protect any application in user-land (ring-three e.g., “r3”), but can only monitor and not protect against kernel-land (ring-zero e.g., “r0”) exploits affecting the operating system services directly. It will still, however, be able to protect against kernel-based exploits being served through user-land and any other application that utilizes this attack vector.
  • the ZeroDAY module provides stack validation and monitoring that includes the protection from direct access to KERNEL32, KERNELBASE and NTDLL APIs.
  • the module may also have a CODE/TEXT section permission change monitor.
  • This monitor is a novel process/mechanism. This mechanism allows the detection and monitoring of privilege escalation through a process whereby the system monitors for CODE/TEXT changes. This is possible due to the way that the ZeroDAY module integrates into the kernel and ties directly into primary system sub processes.
  • the ZeroDAY module was designed to not only to detect and stop the attack, but also to gather information post the attack. This information may include communication with a command and control (C&C) server and the downloading of malware. It serves well to automate the detection, post-automated analysis of the attack and gathering in-depth information for data analysis (i.e. briefs and blog posts) that other individuals or companies do not have.
  • C&C command and control
  • malware detects the presence of/if it is hosted by an operating system managed as a virtual machine (VM.) aka “SandBox” and will avoid execution and revealing their control-flow (CF) to be dynamically analyzed.
  • VM. virtual machine
  • CF control-flow
  • This module is responsible in generating artificial human activity in the VM. As some malware will check for the lack of mouse activity or keyboard activity or even processes being spawned. The absence of activity from these human interface devices, along with the absence of ancillary processes and applications are indicative of a automated machine, and therefore a trap.
  • the AT Module corrects this oversight in other incubation systems by injecting randomized mouse movements and usage, keyboard input to include realistic typing patterns, mistakes variations in speed, etc. All of this produces a very realistic usage of the machine.
  • the AT module and Sandbox modules may be part of the system (like the ZeroDay module) in FIGS. 1 and 2 , but is not shown in these figures.
  • All the VM images being used across the stacks are created from custom made templates, which use the underpinning of the Control Process, which integrates the virtual machine controls into the base operating system, thus hiding the Guest OSes and appearing like a normal bare-metal machine. This includes options such as:
  • the system and method for malware and exploit campaign detection is a technical solution to a technical problem that did not exist prior to the Internet and computer networks. Specifically, the technical problem is trying to detect malware and exploit campaigns on a computer and computer networks. This technical problem did not exist prior to computer networks and the Internet.
  • the system and method for malware and exploit campaign detection addresses this problem as disclosed using the capture stack that is configured to issue a uniform resource locator to each computer system to download a piece of malicious code, the replay stack that is configured to test the piece of malicious code in a live environment and generate data about the replay of the piece of malicious code, the proxy stack that is configured to perform testing of the piece of malicious code without accessing the uniform resource locator and the master hypervisor controller that controls the capture stack, the replay stack and the proxy stack. Furthermore, the system and method for malware and exploit campaign detection overcomes the limitations of the conventional systems and methods as described above.
  • the system and method for malware and exploit campaign detection use rules and the capture stack, the replay stack and the proxy stack (and their corresponding processes) to perform the malware and exploit campaign detection. Furthermore, the system and method provide an improved technical result for malware and exploit campaign detection using the capture stack, the replay stack and the proxy stack (and their corresponding processes) which are an advance and are an inventive concept over the conventional system as described above.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

A malware and exploit campaign detection system and method are provided that cannot be detected by the malware or exploit campaign. The system may provide threat feed data to the vendors that produce in-line network security and end point protection (anti virus) technologies. The system may also be used as a testing platform for 3rd party products. Due to the massive footprint of the system's cloud infrastructure and disparate network connections and geo-location obfuscation techniques, NSS can locate and monitor malware across the globe and provide detailed threat analysis for each specific region, as they often support and host different malware/cybercrime campaigns.

Description

    PRIORITY CLAIMS/RELATED APPLICATIONS
  • This application claims priority under 35 USC 120 and is a continuation in part of U.S. patent application Ser. No. 14/482,696, filed Sep. 10, 2014 and titled “MALWARE AND EXPLOIT CAMPAIGN DETECTION SYSTEM AND METHOD” that in turn claims priority under 35 USC 120 and the benefit under 35 USC 119(e) to U.S. Provisional Patent Application Ser. No. 61/876,704 filed Sep. 11, 2013 and entitled “Malware And Exploit Campaign Detection System And Method”, the entirety of both of which are incorporated herein by reference.
  • BACKGROUND
  • Intrinsically modern drive-by-exploitation and malware campaigns are growing in sophistication related to obfuscation, deployment, and execution in an effort to avoid detection and analysis by security researchers, and modern security systems and software. Anti-virus (AV) systems, such as endpoint protection platforms (EPPs), as well as breach detection services (BDS) employ virtual “sandboxes” or “honey nets” that operate in a cloud (virtual) network construct. These sandboxes attempt to identify malware and virus programs by incubating the suspect software until such time as the malware executes and its activities can be monitored and analyzed.
  • These systems often fail to identify previously unknown malware due to the evolution within malware development that allows the malware to recognize when it is sitting in such a system/trap. Modern malware can be considered to be “cognitive” and completely aware that it is currently being incubated within a trap (monitored system), and will continue to hibernate and therefore will not present itself as malicious software.
  • Thus the sandbox system will fail to identify the suspect file as being malicious, and therefore will allow all similar programs to bypass future testing. Another shortcoming is that they rely on monitoring traffic that is already affecting the victim machine or network, and because these sandbox systems are incapable of operating in-line due to performance limitations, they are unable to actually prevent the attack. The best the conventional systems can do is to inform when a breach has already occurred and thus can never be predictive.
  • BRIEF SUMMARY
  • The system and method for malware and exploit campaign detection (that may be known as “BaitNET”) is different than known systems since the system has technology that prevents detection of the system by the malware/exploit. Unlike other technologies, BaitNET cannot be detected by modern malware/exploits and thus the operations/actions of the malware/exploits can be collected and analyzed without restriction. The collected malware/exploit is replayed/tested against various operating system and application configurations within BaitNET's private cloud infrastructure to determine what other system footprints are susceptible to the malware campaign. BaitNET is able to successfully incubate, track, and inventory the malware/exploit. Due to the transparency of BaitNET to the malware/exploit, BaitNET is able to perform live analysis that that can track threat actors, identify where they are truly located, and what other similar malware/exploit campaigns they have been launching and against whom. All of this is done while BaitNET produces threat forecasts that indicate viable and potential targets of the threat actors. BaitNET can also be used to measure and test the effectiveness of commercially available EPPs, AVs, in-line network security appliances, and BDS systems. This is done by injecting malware/exploits into BaitNET's construct, where these commercial products have already been installed, and then monitoring the delta between what BaitNET knows was injected, and detected itself, and what the commercial product claims to have detected. E.g., BaitNET is an advancement in technology so far beyond modern AV, EPP, and BDS that it is used to test the efficacy of these commercial products.
  • In one implementation, BaitNET is the conglomerate of a number of software applications, processes, and innovations as outlined herein which afford BaitNET the ability to shim into the operating system and the virtual machine architecture (both guest and host) enabling BaitNET to obfuscate the fact that the machine itself is a virtual/unmanned computer. The system utilizes a multitude of virtual private networks (VPNs) allowing a near-unlimited number of unique Internet IP addresses from all across the world to be used. These disparate IP addresses afford two primary advantages to BaitNET. One, in order to force re-infection, as many malware system will not “drop” (deploy) malware to the same IP address more than once, it is necessary to have BaitNET obfuscate its Internet presence. Two, many malware campaigns limit their targets by geo-location, which is often tracked via IP Address. E.g., Malware-infected servers often limit themselves to only infecting one (1) computer from any given masked IP address, and may limit the country of origin of the IP addresses that they will infect. BaitNET utilizes VPNs throughout the world to mimic dispersed geo-location and map out malware campaigns in different regions. Other techniques, while not proprietary to BaitNET, may also be used to emulate potential target qualification data points such as varying the language pack and keyboard language configuration on the host operating system.
  • After finding new malware, done by crawling URLs provided through various channels, BaitNET records the attack vector, payload, critical information on exploitation, and other relevant metadata and then “replays” this attack against thousands of other hosts on the BaitNET network. “Replay” is achieved through the use of BaitNET's proxy services, as outlined later in this document, and may be done against a singular image when testing the efficacy of a 3rd party security system or against limitless iterations of operating systems, application configurations, and versions of software tools when mapping the effectiveness of the exploit/malware. Each of the hosts used during the replay has a different combination of web browser, suite of installed applications, various program and operating system patch levels, installed language packages, etc. The representation of systems of nearly all possible combinations, Windows and OS X, from 2005 to present day. BaitNET is also capable of emulating mobile device operating systems, and uses the same technology to detect and inventory malware/exploits. All of this allows researchers to understand the true target landscape/scope for the malware/exploit, and the malware/exploit can be tested against anti virus (AV) and in-line security systems such as intrusion prevention systems (IPS), next generation firewalls (NGFs), and breach detection systems (BDS.)
  • The BaitNET Framework is a distributed automation framework for testing URLs in real time to detect drive-by-exploitation attacks and malware dropped by said attacks, and gather data from said attacks to aid in their further analysis and prevention. URLs are tested using various operating system and application configurations within BaitNET's cloud infrastructure to determine if they are maliciously serving exploits. If a URL is found to be malicious, BaitNET is able to successfully incubate, track, and inventory the attack.
  • Due to the transparency of BaitNET to the exploit and any malware it drops, BaitNET is able to perform live analysis that that can track threat actors and fully enumerate their capabilities (i.e. which exploit kits they are using, which specific exploits are employed, which applications are being targeted, and full details of the exploits themselves). BaitNET therefore produces accurate predictions of which applications are being targeted in current campaigns by threat actors, providing predictive threat analysis AHEAD of any breach.
  • BaitNET can also be used to measure and test the effectiveness of commercially available security products, both network and host-based. This is done by replaying captured exploits using the same BaitNET infrastructure in which commercial security products have been installed. BaitNET is capable of monitoring the delta between what BaitNET detected during the initial capture process, and what the commercial product claims to have detected.
  • BaitNET has the concept of a Controller that acts as both a unit of work ventilator, or producer, and a lightweight in-memory message pump. Worker nodes, referred to as Victims, register themselves with the Controller to process units of work. The unit of work in BaitNET is a URL. Subscriber nodes, referred to as Notification Sinks, register themselves with the Controller to receive notifications about a URL's result as a Victim is processing it. The Controller, through a series of steps, distributes URLs to registered Victims to be processed, receives the results, and publishes them to registered Notification Sinks. BaitNET's cloud infrastructure is composed of a one or more Controllers and thousands of Victims preferably deployed in a virtualized environment. The exact number of Victims is based on the scope and scale of the testing and research being performed. Victims are machines with a unique operating system and application configuration that are responsible for testing URLs assigned to them by a Controller.
  • BaitNET is capable of running on “bare metal” machines however due to its nature in testing potentially malicious URLs, a virtualized environment is preferred such as that when a Victim is comprised, it can be automatically reset to a clean state. BaitNET is not limited to a specific hypervisor thanks to its modular design. Its default virtual adapter is for VMware ESXi but it was originally designed to work with Microsoft Hyper-V. Additions can be made in the form of additional adapters, which would allow it to run on any hypervisor, thus supporting multiple hypervisor communication channels, possibly within the same deployment if needed.
  • BaitNET provides a malware and exploit campaign detection system and method that cannot be detected by the malware or exploit campaign. The system may provide threat feed data to the vendors that produce in-line network security and endpoint protection technologies. The system may also be used as a testing platform for 3rd party products. Due to the massive footprint of the system's cloud infrastructure and disparate network connections and geolocation obfuscation techniques, NSS can locate and monitor malware across the globe and provide detailed threat analysis for each specific region, as they often support and host different malware/cybercrime campaigns.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 shows the high-level architecture of the major components of a system for malware and exploit campaign detection that may be known as BaitNET.
  • FIGS. 2A-2D illustrates the process control and internal operations of the BaitNET Controller Process and its interoperability with the Capture, Replay, and Proxy processes.
  • FIGS. 3-6 are examples of the user interface of the BaitNET system of FIG. 1.
  • DETAILED DESCRIPTION OF ONE OR MORE EMBODIMENTS AND IMPLEMENTATIONS OF THE SYSTEM AND METHOD
  • The system and method for malware and exploit campaign detection (known as BaitNET) is designed to seek out, detect, itemize, and retest active URLs serving drive-by exploits. BaitNET is a multi-leveled application operating within the kernel and user layers of the operating system that make it unique when compared to similar technologies utilized to detect and prevent malware.
  • Note that the distinction is important—malware is the payload that is delivered by an exploit. There are literally hundreds of thousands of malware samples in the wild, and it is a trivial matter to obfuscate these or morph them into something new. In contrast, there are only a few hundred active exploits in the wild at any given point in time—the exploit is the mechanism whereby the threat actor compromises the system in order to deliver and execute the malware. By identifying and blocking exploits, BaitNET moves further up the kill chain from traditional malware protection products and provides much more effective and far-reaching predictive capabilities.
  • BaitNET's core technology could be used to prevent exploitation as well as detect, but that is not its primary function. By operating out of band, BaitNET is freed from the usual restrictions of real-time or in-line protection technologies, allowing it to be much more accurate and thorough in its detection capabilities. BaitNET supports various types of operating systems as a threat forecast system. BaitNET's virtual machines (VMs) can simulate servers, workstations, even mobile computing devices such as smartphones and tablets.
  • As shown in FIG. 1, a system 100 may utilize three arrays of servers and networking hardware known as “stacks.” Each stack is any number of physical servers that host virtual machines (“guests”.) The exact number of servers and guests is based on the scope and scale of the testing and research being performed. Typically, within “Live Testing” this will be many tens of thousands of guests. FIG. 1 illustrates the interoperation/communication of the various stacks of servers and guests with the infrastructure support servers, as well as which components have Internet 102 connectivity.
  • Specifically, the system may be implemented using the computing resources shown in FIG. 1 including the stacks. As shown in FIG. 1, the system may be implemented with a capture stack 104, a replay stack 106, a proxy stack 108. The system may also have a master hypervisor controller 110 that controls each of the stacks as well as one or more data stores 112 (for storage of data and the like). As shown in FIG. 1, the capture stack 104 and the proxy stack 108 have access to a computer network 102, such as the Internet. The capture stack 104 implements the capture process 204 described below, the replay stack 106 implements the replay process 206 described below and the proxy stack 108 implements the proxy process 208 described below. Each of the stacks may be implemented using one or more computing resources, such as one or more cloud computing resources or one or more server computer resources. Each of the one or more computing resources may have a processor and memory and a plurality of lines of computer code that may be stored in the memory and executed by the processor to implement the capture, replay and proxy processes described below. Each of the stacks also may be implemented as one or more virtual machines that are controlled by the hypervisor controller 110.
  • FIGS. 2A-2D illustrates the process control and internal operations of the BaitNET Controller Process (implemented by the master hypervisor controller 110) and its interoperability with the Capture, Replay, and Proxy processes. Each of the processes shown in FIGS. 2A-2D may be implemented as a module/unit/device that is part of the respective stacks shown in FIG. 1 and each process may be implemented in software (a plurality of lines of instructions/computer code executed using a processor) or as a hardware device that is part of the respective stack shown in FIG. 1. A controller process 210 and part of a replay process 206 are shown in FIG. 2A with the replay process 206 also being shown in FIGS. 2B and 2C as shown by the reference designators (A and E) that show how FIGS. 2A, 2B and 2C connect to each other to show the replay process 206. FIGS. 2B and 2C also show the details of the capture process 204 as shown by the reference designator D that shows how FIGS. 2B and 2C connect to each other to show the capture process 204. FIGS. 2B and 2C also show a ZeroDay process 220 as shown by the reference designator B that shows how FIGS. 2B and 2C connect to each other to show the ZeroDay process 220. FIGS. 2B and 2C also show the proxy process 208 as shown by the reference designator C that shows how FIGS. 2B and 2C connect to each other to show the proxy process 208. Finally, FIG. 2D shows the details of an Obfuscation Engine 222 with references F and G showing the interchange between the capture process 204 and the Obfuscation Engine 222. Also illustrated are the interchanges with the Obfuscation Engine, Exploit Feed, and ZeroDAY modules. FIGS. 2A-2C show an enumeration process as shown by the reference designators (I and H) that show how FIGS. 2A, 2B and 2C connect to each other to show the enumeration process.
  • The system and method for malware and exploit campaign detection shown in FIGS. 1-2D and described above may be typically operated by an entity, such as NSS Labs (“NSS”), as a cloud-based system that is used by the entity to perform the malware and exploit campaign detection as shown in FIG. 1. However, the system and method for malware and exploit campaign detection may also be installed on a premises of a customer and perform the same malware and exploit campaign detection. Using sources from around the globe, BaitNET's process begins with the correlation and normalization of multiple threat feeds for information regarding potentially malicious websites. This normalized data is presented to BaitNET's Capture Process 204 and is queued as targets for each of the configured operating system variations that are assigned to series of testing.
  • BaitNET, using the Capture Process 204, issues the URL to each of the thousands of Victims, utilizing thousands of variations in configurations, and each Victim in turn visits the URL using disparate VPN tunnels, upstream HTTP proxies, and even physical data centers, located around the world, to obfuscate their true geographical location as well as to explore the geolocation filtering that may be employed by the malicious URL.
  • If successful, a visit to the URL will result in exploitation of the Victim (the “exploit”) sometimes (but not always) followed by a “drop” of malicious code (the “malware”) to the target workstation. BaitNET monitors the progress of the exploit and records the network traffic, creates a copy of the malicious code, and catalogs all changes to the operating system made by the malicious code during the capture process 204. Any malware dropped on the Victim is also captured, as are the effects of executing that malware on the Victim.
  • Note that one of the unique features of BaitNET is that, unlike traditional anti-malware security solutions, even if no malware is dropped, the exploit is still detected and captured. Additionally, the Capture Process 204 may record any and all outbound communications from the now infected/compromised Victim. This outbound traffic will include any command and control (C&C) communications, often identifying the true threat actor, as well as any data being exfiltrated from the now infected Victim.
  • Validation of the recorded data occurs by analyzing the events that were generated on the Victim. Note that this process occurs in seconds, not minutes, hours, or even days. This is possible because BaitNET analyzes the contextual relationship between the events that were generated to confirm infection. Furthermore, as a threat forecast system, the longer BaitNET is online and the more data it gathers, the more efficient its analysis becomes.
  • When infection is confirmed, BaitNET provides information such as the URL where the attack originated, the type of URI/attack used, the IP address of the server that hosted the malicious URL, and the country of origin of the IP address (aka “geolocation.”). For example, FIG. 6 shows detailed information on the URI and network behavior of the malicious website when accessed by the guest systems inside of BaitNET Further detail is presented on the operable target platform(s) that were successfully infected with the malicious content. The hashes (MD5) of the malicious executables (files) along with the exact size of each file are also made available. The network packet capture (PCAP) data as well as the decoded HTTP traffic that is relevant to understanding the attack vector is also available. Provided are the full URI, protocol of the attack (i.e. HTTP/1.1) the specific web browser used (i.e. Internet Explorer 11), the actual URL of the drop (i.e. .DE, Germany, domain), as well as information about the server such as the web server operating platform (i.e. Apache 2.0.59 running on a UNIX operating system with Open SSL). This information can be used by end-users to write firewall rules as well as other rules within in-line systems such as IPS, IDS, WAF, and NGFW. The information can also be used to update endpoint products such as anti-virus to now identify the hash values of the now known malicious content and block it from either being downloaded or executed. The exact vector of the attack being provided; which includes hosting, transmission, and target configuration are vital pieces of information that are uniquely provided by BaitNET.
  • The Victim that was successfully infected is now reset to its virgin state, thus preparing it to be reused for the next URL in the queue. All the data collected is stored in a data store used for logging and intelligence. BaitNET is modular enough to support any number of different storage technologies, including everything from traditional relational databases, NoSQL databases, and even graph-based databases.
  • The infected URL is now queued up for the Replay Process 206 using data from the data store. During the Replay Process 206, Victims matching the configuration of the Victim that successfully was infected during the Capture Process 204 are prepared for testing of the malicious code. To prepare the Victims, all recent versions of products being tested (in-line security devices to endpoint protection products) are automatically configured. Copies of the workstation used during the Capture Process 204 are configured with the latest versions of any and all endpoint protection products being tested. In-line security products such as intrusion prevention systems and next generation firewalls stand in wait on the network between the Victims and the Replay Servers. The Victims visit an internal (LAN-based) URL that has been created by BaitNET as a perfect copy of the malicious URL that was validated during the Capture Process. As each copy of the Victim is presented the internal URL, BaitNET once again monitors the Victim capturing all metadata related to the malicious code. If the code is successful in reaching the Victim and then executing properly, the endpoint protection product being tested has failed to identify and/or stop the malicious code. If, during the visit to the internal URL, the drop is prevented, thus malicious code is prevented from ever reaching the Victim, then the in-line security product was successful in identifying the exploit and worked as designed.
  • During the Replay Process 206, the effectiveness of the malicious code is tested in a live environment. For example, all major makes and versions of web browsers are tested to determine which are susceptible to the exploitation during a drive-by-exploitation attack (i.e. an attack that executes within the browser and does not require the end-user to manually execute the malicious code). Different versions of application systems, language packs (localization data), base operating system revision, and even different architectures can be checked against the copy of the malicious URL and the malicious code itself.
  • During the Replay Process 206, an emulated HTTP proxy is generated and utilized. This HTTP proxy facilitates the ability of BaitNET to perform continual testing against the malicious URL that was collected during the Capture Process without the need of the original/actual malicious URL. This is important due to the short lifespan of most malware campaigns, security features within the malware campaign to identify and prevent drops of malicious code to systems on the same network, and to obfuscate/protect the research and investigation into the malware campaign. The HTTP proxy uses the original source code of the malicious website as recorded by the Capture Process 204. The HTTP proxy emulates the remote server, source code of the website, and will serve (hand-out) the malware in the same way that the original website did. Note that an HTTP proxy, as a technology, is not in itself unique. The use of an HTTP proxy that is generated dynamically to emulate recorded network traffic in order to test the effectiveness of security products without depending on a live malware campaign and mimicking real live network traffic, as opposed to a dummy network traffic generated by network penetration tools, is the unique advantage provided by BaitNET.
  • The Capture 204 and Replay 206 Processes can be used to continue to check localization configurations and geolocation exit points on the Internet to determine the full scope of the attack vector, provide intelligence on the threat actor(s), and harvest as much viable metadata as possible. These processes are key in enumerating the various configurations of operating system, browser, applications, security products, etc. that the malware can use to successfully execute itself. The collation of this intelligence allows modeling to be performed, as well as direct risk assessments, so that consumers understand if their systems, networks, and tools are at risk—and what to do, if anything, to protect them against active exploit/malware campaigns.
  • All data are retained in the data stores and can be reused by BaitNET at any time. New Victim configurations can be presented to the captured malicious URL for future testing. All tested products can be retested to confirm that patches/updates supplied by the vendor are working as designed, to outline exactly which systems provided by 3rd parties are susceptible to the attack (“Gold Images”), and to validate attack data captured during the Capture Process.
  • The system and method shown in FIGS. 1-2D may define a messaging protocol, dubbed as Horus, that is an application level protocol and consists of a set of rules for messages that are exchanged between a Controller 110, a set of Victims, and a set of Notification Sinks. Each message has a special sematic meaning and is meant to provoke a certain behavior. Horus consists of two sub-protocols: Horus/Victim which defines how a Controller communicates with Victims and Horus/Notification which defines how a Controller and Victims communicate with Notification Sinks.
  • Horus/Victim is a synchronous and stateful request-reply protocol, more commonly referred to as an RPC protocol, for two endpoints, a client and a service, to communicate with one another. The client sends a request. The service reads the request and sends a response. The client reads the response. Both the client and the service are responsible for maintaining state for the duration of a session. In BaitNET, the client is a Controller and the services are the Victims.
  • Horus/Notification is an asynchronous and stateless publisher-subscriber protocol for one endpoint, a publisher, to communicate with a set of endpoints that is of an undefined size, the subscribers. Subscribers register with the publisher their interest in receiving messages. The publisher broadcasts messages to the subscribers. Subscribers receive all messages broadcast by the publisher that they are interested in. The publisher expects no response from the subscribers. In Horus/Notification, the subscribers are the Notification Sinks. Both a Controller and Victims in different parts of Horus' topology fulfill the role of the publisher.
  • A Controller is a producer, or ventilator, that MUST produce URLs to be distributed to interested Victims. A Controller is also a message pump that MUST collect results that are produced by Victims and MUST publish them to interested Notification Sinks. We refrain from using the term “broker” to describe a Controller in its role as a message pump even though its purpose seems analogous to one. Traditional middleware brokers are too complex, too stateful, complicate an application's deployment model, and are usually meant to serve as a shared entity between many different disparate systems. The Controller as a message pump thus acts more like an intermediary to push data downstream to interested Notification Sinks, like a switch, to avoid a mesh topology between them and Victims.
  • A Victim is a consumer, or worker, that MUST consume URLs and process them. A Victim MUST either publish its results to a Controller or it MUST maintain its results as state until a Controller explicitly polls it for them, depending on the topology deployed. In either case, the Controller MUST always forward the results downstream to interested Notification Sinks. A Notification Sink is a collector, or subscriber, that SHOULD collect results produced by Victims. A Notification Sink SHOULD register with a Controller its interest in receiving results produced by Victims. In Horus, Notification Sink interest is referred to as a Subscription.
  • Victims are discovered using a method we refer to as hybrid discovery. Hybrid discovery is a mix between traditional static and dynamic discovery methods.
  • Static discovery refers to Victims being known beforehand. This is analogous to a having a configuration data store of some sort, such as a configuration file, a configuration database, or even a hard coded in-memory collection, which contains relevant information about available Victims within a network. This form of discovery is relatively easy to implement but obviously requires Victims to be deployed manually beforehand.
  • Dynamic discovery refers to Victims dynamically being deployed and providing a notification to a beacon that they are available. This form of discovery is incredibly difficult to implement but offers the most flexibility for certain use cases. In BaitNET however, Victims are usually deployed in a virtualized environment so that they can be reset to a clean state after they process a URL. BaitNET recognizes the importance of running in a virtualized environment for that very reason and thus has first class support for it. In a virtualized environment, virtualized Victims can be deployed, and in some advanced uses cases even provisioned, dynamically. Because complete control over the environment is possible, Victims do not need to notify a beacon on when they are available. Thus, we refer to this mode of discovery as hybrid discovery: its static in the sense that the virtualized environment is known before hand and dynamic in the sense that Victims can be deployed or provisioned dynamically in that environment.
  • Victims are implemented as finite state machines, with each state representing a step in its progress in processing a URL. This allows the Controller, with high level of accuracy and without the dependency on third party middleware products, to track the Victims and to distribute URLs to them as they become available. The different states are:
  • Available—Indicates the Victim is available and ready to process a URL
  • Booting—Indicates the Victim has received a URL from a Controller and is in the process of booting
  • Acquired—Indicates the Victim has successfully launched a browser and navigated to the URL
  • Completed—Indicates the Victim has successfully completed monitoring the system and collected relevant data
  • Error—Indicates the Victim has encountered an error and might need to be reset
  • FIG. 3 is an output from the system, which illustrates validated exploits that have been discovered by the BaitNET system. The capture date, e.g. the date and time the malware or exploit was downloaded, is shown along with the corresponding source URL (Universal Record Locator) which shows the full path to the file on the infected/malicious website, the exact operating system that was used on the guest (virtual) workstation that the malware/exploit executed upon, and the exact application that the malware/exploit targeted (needed to be successful.) In this example, the first exploit in the list uses Java version 6 update 27 on Microsoft Windows 7 and was downloaded from a URL which was redirected (linked) on a google.com website. A user of the system can click any of these fields to drill-down into more detailed information. E.g., The “Source” section provides IP addresses, packet capture data, geo-location information, etc.
  • FIG. 4 is output from the system which illustrates detailed information on the “drop” or malicious file that was downloaded and has been validated to be malware/exploit code. Again the pertinent date and time is displayed, a unique filename is presented which was generated by the system when the malware/exploit was captured. This file contains the malicious content and can been downloaded in its archived (safe) version for inspection and reverse engineering. The hash value (MD5) of the archived file is presented so that the end-user can validate the file from the repository has not been altered. The system will indicate, as presented in this example, that the malware/exploit has been validated. Validation occurs when the BaitNET system utilizes the Proxy and Replay Processes to confirm infection and execution of the captured malware/exploit. The center section of the page reflects the URI where the file was collected from (This matches the data on FIG. 3) the type of URI/attack used, the IP address of the server that hosted the malicious file, and the country of origin of the IP address (aka “geo-location.”) Further detail is presented on the operable target platform(s) that were successfully infected with the malicious content.
  • FIG. 5 is more detailed information from the system with regard to malicious content (malware/exploit code) that was captured. Here the end-user can find the hash (MD5) of the malicious executables (files) along with the exact size of each file. This information can be used to update in-line security systems such as an IPS, NGFW, or even endpoint products such as anti virus to now identify the hash values of the now known malicious content and block it from either being downloaded (in-line devices) or executed (end point products.)
  • For Threat Forecasting, the Enumeration Process/scout algorithm can be used to continue to check localization configurations and geolocation exit points on the Internet to determine the full scope of the attack vector, provide intelligence on the threat actor(s), and harvest as much viable metadata as possible. This process is key in enumerating the various configurations of operating system, browser, applications, etc. that the malware can use to successfully execute itself. The collation of this intelligence allows modeling to be performed, as well as direct risk assessments, so that consumers understand if their systems, networks, and tools are at risk—and what to do, if anything, to protect them against active malware/exploit campaigns.
  • In one implementation, the entire BaitNET suite of processes may take place in parallel, currently utilizing four parallel threads that are responsible for managing each of the aforementioned processes (Capture, Replay, and Proxy) along with their sub-processes such as the Obfuscation Engine shown in FIG. 2D and modules covered within this document such as ZeroDAY and are collectively controlled from the Control Process. Additionally monitoring of the virtual machines (VMs) and the setup and tear down (establishment and reverting) of the VMs along with their guest operating system and application configurations take place from within the Controller Process.
  • Full control of the VM architecture is done through BaitNET's Controller Process (implemented by the Master Hypervisor Controller in FIG. 1), which is modified to operate natively. This control is automated and functions as a separate thread during the Control Process and works in parallel with the Capture, Replay, and Proxy processes. BaitNET can procure, configure, and operate VMs on demand, autonomously, and scale resources during testing.
  • Additional cloaking technologies that prevent detection of BaitNET are covered herein within the model overviews.
  • As outlined herein, BaitNET is a system of custom developed applications, application program interfaces (APIs), and kernel-level modification, such as the AT Module of the system, the Obfuscation Module of the system, the ZeroDAY module of the system and the capture process, for example which are applications. The applications are for both the hypervisor host and the guest functionality as well as the operating systems. BaitNET currently supports all versions of Microsoft Windows operating system, all Intel-based versions of OS X, iOS, and Android. One key feature for BaitNET is its ability to render the “VM Detection System” (e.g. ability to discern a virtual machine from a physical/real machine by malware) found in modern malware/exploits useless. This thwarts the ability of malware to detect a VM, which would normally prevent it from deploying its payload as VMs are often used in anti virus systems to incubate suspected executable files.
  • BaitNET's functions are expanded and complimented through the use of modular components (Modules) described below in more detail, each of which provides functionality used in threat forecasting and the evaluation of 3rd party security product effectiveness as shown in FIG. 2.
  • Capture Process 204
  • BaitNET's Capture Process 204 may be implemented using a scout process (that may be implemented as an algorithm when this process is implemented in software.) The scout process may also be referred to as an enumeration process. Like classical battle strategies in which a small scout party is detached from the main fighting force and sent out to gather intelligence about the enemy fighting force and the intelligence gathered helps in formulating a strategy for winning the battle, the scout process is designed to seek out, by testing, as many URLs as possible to determine if they are malicious. The intelligence gathered is thus which URLs are worth spending precious computing resources against to determine the capabilities of the threat actors.
  • URLs are gathered from a variety of different sources from around the globe. The system correlates and normalizes URLs from multiple threat feeds for information regarding potentially malicious websites. These URLs are then queued up for testing.
  • The Scout process may define what may be referred to as Tiers. Tiers are sets of victims that are configured to test URLs using an operating system, browser, and application(s) combinations. Each victim may be a virtual machine having an operating system, browser, and one or more application(s) configuration with different strategies against which an exploit may be tested to determine if the URL is malicious with respect to each particular configuration of each victim. The Scout process may define three Tiers, each representing a different strategy.
  • Tier 1 defines a set of victims that have a combination of operating systems, browsers, and applications that are highly targeted by exploit kits. More than one application can be installed on the victim but only one operating system and one browser can be installed. The configured combination is reinforced through ongoing research of the threat landscape and will change when the thread landscape changes.
  • The purpose of Tier 1 is to test as many URLs as quickly as possible and determine if they are malicious. Identifying the full capabilities of the threat actor on Tier 1 is not important. Malicious URLs are normally live, that is to say they are either infected or publicly accessible, for a short amount of time. And they usually represent a small percentage of the overall number of URLs that will be tested. It is thus imperative that they are tested as quickly as possible. Multiple applications are usually installed on Tier 1 Victims, though that is not absolutely necessary, to maximize the possibility of a drive-by-exploitation attack taking place. The URL distribution algorithm on Tier 1 is a simple load balancing or round-robin algorithm. Essentially the URLs that are queued up for testing are distributed to each available Tier 1 Victim, in parallel. As each Tier 1 Victim completes testing one URL (by accessing the URL to determine if the URL is malicious), it is assigned the next URL in the queue until the queue is exhausted. Once the queue is exhausted, the Tier 1 Victims remain idle until more URLs are queued up. The more Tier 1 Victims that are available the more URLs that can be tested. When a URL is found to be malicious by a Tier 1 Victim, it is queued up for further testing on Tier 2.
  • Similar to Tier 1, Tier 2 defines a set of victims that have a combination of operating systems, browsers, and applications that are also highly targeted by exploit kits. Unlike Tier 1 however, only one application can be installed on the Victim. The configured combination is reinforced through ongoing research of the threat landscape and will change when the thread landscape changes. The Tier 2 combination of operating systems, browsers, and applications is a superset of the Tier 1 combination.
  • Drive-by-exploitation exploit kits usually fingerprint the Victim when a malicious URL is tested. Based on the configuration of the Victim, a different exploit might be served. Consider, for example, a Tier 1 Victim that has both Microsoft Silverlight and Adobe Flash Player installed. When such a Victim tests a malicious URL, the exploit kit might fingerprint the Victim and determined that both Microsoft Silverlight and Adobe Flash Player are installed. It's entirely possible that the exploit kit supports both Microsoft Silverlight and Adobe Flash Player. However, randomly at runtime, the malicious URL might decide that it will only serve an exploit targeting one of the applications.
  • This is where the benefit of Tier 2 comes in, and the primarily difference between it and Tier 1. On Tier 1, the URL was identified as malicious but there is no strong indication on the full extent of the capabilities of the threat actor. When the URL is queued up on Tier 2, two Victims, one with Microsoft Silverlight only and one Adobe Flash Player only, will be instructed to test the URL. Now, if the exploit kit supports both applications, testing the URL again on Tier 2 will derive a possible addition of two more exploits, bringing the total number of exploits potentially being served by a single URL to three. The total number of exploits is three because the operating system and the browser are also considered as attack vectors in addition to the two installed applications. This is also why it is imperative that, similar to Tier 1, the URL must be live when it is tested on Tier 2.
  • Of course, it is not only applications that are tested on Tier 2 but also different operating systems and browsers. The below matrix is an example of the possible different combinations a URL can be tested against if it is found to be malicious on Tier 1 and queued up on Tier 2:
  • Tier 1 Tier 2
    Operating Operating
    System Browser Applications System Browser Application
    Windows
    7 Internet Adobe Flash Windows XP Internet N/A
    Explorer
    9 Player, Explorer 8
    Microsoft Windows 7 Internet N/A
    Silverlight Explorer
    9
    Windows 7 Internet Adobe Flash
    Explorer
    9 Player
    Windows
    7 Internet Microsoft
    Explorer
    9 Silverlight
    Windows
    7 Internet N/A
    Explorer
    10
    Windows 7 Internet Adobe Flash
    Explorer
    10 Player
    Windows
    7 Internet Microsoft
    Explorer
    10 Silverlight
    Windows
    7 Internet N/A
    Explorer 11
    Windows 7 Internet Adobe Flash
    Explorer 11 Player
    Windows
    7 Internet Microsoft
    Explorer 11 Silverlight
    Windows 8 Internet N/A
    Explorer
    10
    Windows 8 Internet Adobe Flash
    Explorer
    10 Player
    Windows 8 Internet Microsoft
    Explorer
    10 Silverlight
    Windows 8.1 Internet N/A
    Explorer 11
    Windows 8.1 Internet Adobe Flash
    Explorer 11 Player
    Windows 8.1 Internet Microsoft
    Explorer 11 Silverlight
    Windows
    10 Microsoft N/A
    Edge
    Windows
    10 Internet N/A
    Explorer 11
    Windows 10 Internet Adobe Flash
    Explorer 11 Player
    Windows
    10 Internet Microsoft
    Explorer 11 Silverlight
  • This matrix is just a small example of the many combinations that can be tested and does not even include different mainstream browsers like Google Chrome and Mozilla Firefox. The large number of possible combinations that need to be tested is the primary reason for having different Tiers in the scout process.
  • Ongoing research has suggested for quite some time now that only about 10% of URLs are malicious at any given point in time. BaitNET's design takes into consideration that computing resources are precious and thus does not attempt to test a URL using every possible combination simply to determine if it is malicious. Instead, on Tier 1 it simply identifies the 10% that are relevant and throws away the remaining 90%. It is only those 10% that are tested against the remaining combinations. This means not only massive savings in time but also in the costs associated in running BaitNET. It is also a precursor for Tier 3.
  • Tier 3 defines a set of Victims that have the same combination of operating systems and browsers as Tier 2 but with different versions of the applications. For example, if Tier 2 is configured to test Microsoft Silverlight 1, and there are ten versions of Microsoft Silverlight released, Tier 3 will have Victims with the remaining Microsoft Silverlight 2 through Microsoft Silverlight 10.
  • Normally, a single exploit will take advantage of a vulnerability that impacts multiple different versions of an application. It's important to note however that for Tier 3, the Victim does not need to test the URL while it is live. Once a session of the attack has been recorded on either Tier 1 or Tier 2, it can be tested against multiple different version of the same application. Since the attack has been recorded and it impacts multiple versions, Tier 3 does not need as much computing resources as Tiers 1 and 2 since there is no longer a requirement to test the URL as quickly as possible.
  • The enormous size of BaitNET's cloud infrastructure requires that its design take into consideration the fact that computing resources are both precious and costly. With the massive number of combinations that a single URL needs to be tested against across all three Tiers, it is simply not realistic to require a single Victim per combination. Even if that was the case, as the number of URLs that need to be tested grows, a single Victim will not be able to test them all fast enough. Recall, that on Tier and Tier 2, a URL must be tested as quickly as possible while it is live. For this reason, Victims can be provisioned dynamically, based on the target number of URLs that need to be tested in a time period. Similarly, browsers and applications can be installed dynamically on the victims such that there doesn't need to be one dedicated Victim for each combination.
  • The success of BaitNET's Scout process is evident by the large number of URLs that can be processed in a 24-hour period using relatively little computing resources. With a mere 400 Victims, BaitNET can successfully process in excess of 250,000 URLs in a 24-hour period which is absolutely phenomenal in comparison to other threat forecasting systems.
  • ZeroDAY Module/Process 220
  • This module 220 is a state of the art plugin for the BaitNET system allowing it to detect any type of exploitation attack, and was developed to identify 0day attacks, e.g., exploits and malware that have yet to be categorized or identified within the security community, often meaning there is no currently known defense to these attacks as the maintainers of the commercial or open source products being targeted are themselves unaware of the flaw being exploited.
  • This module 220 is capable of dissecting the attack and recording the smallest components, uncovering how every intricate step and security mitigation tactic was used to achieve the attack. This module is based on unique knowledge that the owner of BaitNET has developed through various research projects.
  • The ZeroDAY module 220 is effective when presented with the most complex and customized/never before seen malware as used in advanced persistent threat (APT) attacks. The module can be set to detect and catalog the attack, or detect and block the attack. Unlike EMET, Microsoft's current security mitigation technology, the ZeroDAY module utilizes the combined filtration of KERNEL32, KERNELBASE and NTDLL.
  • The ZeroDAY module may perform any or all of the following industry recognized tasks for recognition and cataloging of exploits:
  • In-memory shellcode detection
  • Raw shellcode dumping (raw output of shell code to file)
  • Raw shellcode disassembly (post analysis)
  • Shellcode emulation
  • Identify APIs used in the shellcode
  • Log API parameter information:
      • Network
      • Memory
      • File
      • Process
  • ROP detection
  • ROP gadgets detection
  • ROP gadgets dumping with backward disassembly (module+function)
  • Heap spray detection
  • NOP sled detection
  • NULL page allocation detection
  • In general, the ZeroDAY module can monitor and protect any application in user-land (ring-three e.g., “r3”), but can only monitor and not protect against kernel-land (ring-zero e.g., “r0”) exploits affecting the operating system services directly. It will still, however, be able to protect against kernel-based exploits being served through user-land and any other application that utilizes this attack vector.
  • The ZeroDAY module provides stack validation and monitoring that includes the protection from direct access to KERNEL32, KERNELBASE and NTDLL APIs. The module may also have a CODE/TEXT section permission change monitor. This monitor is a novel process/mechanism. This mechanism allows the detection and monitoring of privilege escalation through a process whereby the system monitors for CODE/TEXT changes. This is possible due to the way that the ZeroDAY module integrates into the kernel and ties directly into primary system sub processes.
  • A semi control-flow-transfer (CFT) check is part of the system and all system calls (r3) will still tunnel back to the original one in the kernel (r0). Therefore, calls will be filtered through KiFastSystemCall [SystemCallStub] (triggered by interrupt vector int 0x2E).
  • The ZeroDAY module was designed to not only to detect and stop the attack, but also to gather information post the attack. This information may include communication with a command and control (C&C) server and the downloading of malware. It serves well to automate the detection, post-automated analysis of the attack and gathering in-depth information for data analysis (i.e. briefs and blog posts) that other individuals or companies do not have.
  • VM+SandBox Detection Avoidance and Circumvention Module
  • Almost all malware detects the presence of/if it is hosted by an operating system managed as a virtual machine (VM.) aka “SandBox” and will avoid execution and revealing their control-flow (CF) to be dynamically analyzed. This was developed to circumvent this anti-detection capability in modern malware; it will detect whether the dropped malware is a result of an exploit or was simply the result of typical drive-by's that attempt to avoid execution within a VM or a Sandbox. There are multiple options for circumvention of the anti-detection technology within malware:
  • 1) Direct in-memory patching based on signatures developed in the lab using advanced regular expressions and Boolean algebra
  • 2) Hijacking the system calls made by the malware through a proxy stub, trampolining the original code with the new one and feeding the malware the wrong results tricking it to run as expected on a bare-metal machine.
  • AI Module
  • This module is responsible in generating artificial human activity in the VM. As some malware will check for the lack of mouse activity or keyboard activity or even processes being spawned. The absence of activity from these human interface devices, along with the absence of ancillary processes and applications are indicative of a automated machine, and therefore a trap. The AT Module corrects this oversight in other incubation systems by injecting randomized mouse movements and usage, keyboard input to include realistic typing patterns, mistakes variations in speed, etc. All of this produces a very realistic usage of the machine.
  • The AT module and Sandbox modules may be part of the system (like the ZeroDay module) in FIGS. 1 and 2, but is not shown in these figures.
  • VM Templates
  • All the VM images being used across the stacks are created from custom made templates, which use the underpinning of the Control Process, which integrates the virtual machine controls into the base operating system, thus hiding the Guest OSes and appearing like a normal bare-metal machine. This includes options such as:
  • Getting the PTR location
  • Setting the PTR location
  • Direct Exec
  • NT Reloc
  • Self Modification
  • Reloc
  • BT Segment
  • BT Privilege
  • BT Mem Space
  • BT IN Port
  • BT Out Port
  • The system and method for malware and exploit campaign detection is a technical solution to a technical problem that did not exist prior to the Internet and computer networks. Specifically, the technical problem is trying to detect malware and exploit campaigns on a computer and computer networks. This technical problem did not exist prior to computer networks and the Internet. The system and method for malware and exploit campaign detection addresses this problem as disclosed using the capture stack that is configured to issue a uniform resource locator to each computer system to download a piece of malicious code, the replay stack that is configured to test the piece of malicious code in a live environment and generate data about the replay of the piece of malicious code, the proxy stack that is configured to perform testing of the piece of malicious code without accessing the uniform resource locator and the master hypervisor controller that controls the capture stack, the replay stack and the proxy stack. Furthermore, the system and method for malware and exploit campaign detection overcomes the limitations of the conventional systems and methods as described above.
  • The system and method for malware and exploit campaign detection use rules and the capture stack, the replay stack and the proxy stack (and their corresponding processes) to perform the malware and exploit campaign detection. Furthermore, the system and method provide an improved technical result for malware and exploit campaign detection using the capture stack, the replay stack and the proxy stack (and their corresponding processes) which are an advance and are an inventive concept over the conventional system as described above.

Claims (19)

1. A malware and exploit campaign detection system, comprising:
a plurality of computer systems;
a capture stack, implemented on the computer system, that is configured to identify a plurality of malicious uniform resource locators that each have a piece of malicious code;
a replay stack, implemented on the computer systems, that is configured to test each piece of malicious code from the capture stack in a live environment using a victim by accessing the malicious uniform resource locator and to generate data about the replay of each piece of malicious code, each victim having a configuration of an operating system, a browser and at least one application that is exploitable by an exploit; and
wherein the capture stack has a scout process that gathers the plurality of malicious uniform resource locators and that sends each malicious uniform resource locator to a particular victim of the replay stack.
2. The system of claim 1, wherein the scout process defines a first tier comprising a set of victims of the replay stack with each victim having a combination of an operating system, a browser and one or more applications that are targeted by an exploit, each first tier victim testing the uniform resource locators assigned to that first tier victim to identify a plurality of first level malicious uniform resource locators, wherein each first level malicious uniform resource locator exploits the combination of the operating system, the browser and the one or more applications on the first tier victims.
3. The system of claim 2, wherein the scout process defines a second tier comprising a set of victims of the replay stack with each victim having a combination of an operating system, a browser and one application that are targeted by an exploit, each second tier victim testing a first level malicious uniform resource locator identified by the first tier to identify a plurality of second level malicious uniform resource locators from the first level malicious uniform resource locators, wherein each second level malicious uniform resource locator exploits the one application.
4. The system of claim 3, wherein the scout process defines a third tier comprising a set of victims of the replay stack with each victim having a combination of the same operating system and browser as the second tier victim that identified the second level malicious uniform resource locator and a different version of the application of the second tier victim, each third tier victim testing a second level malicious uniform resource locator identified by the second tier to identify a plurality of third level malicious uniform resource locators from the second level malicious uniform resource locators wherein each third level malicious uniform resource locator exploits the different version of the application.
5. The system of claim 1 further comprising a proxy stack that is configured to perform testing of the piece of malicious code without accessing the uniform resource locator and a master hypervisor controller that controls the capture stack, the replay stack and the proxy stack.
6. The system of claim 5, wherein the capture stack, the replay stack and the proxy stack run in parallel.
7. The system of claim 5 further comprising a zero day module that identifies zero day attacks.
8. The system of claim 1, wherein the capture stack is configured to create a copy of the piece of malicious code and catalogs operating system changes caused by the piece of malicious code.
9. The system of claim 1, wherein the capture stack is configured to capture communications with the plurality of computer systems.
10. The system of claim 5, wherein each stack is one or more server computers.
11. The system of claim 10, wherein each stack has a virtual machine.
12. A method for malware and exploit campaign detection, comprising:
identifying a plurality of malicious uniform resource locators wherein each malicious uniform resource locator contains a piece of malicious code;
sending each of the plurality of malicious uniform resource locator to each of a plurality of victims, each victim having a configuration with an operating system, a browser and at least one application that are exploitable by an exploit of a malicious uniform resource locator;
testing, at each victim, each of the plurality of malicious uniform resource locators in a live environment; and
generating data about the replay of the malicious uniform resource locator and the piece of malicious code.
13. The method of claim 12, wherein testing the plurality of uniform resource locators further comprises accessing each uniform resource locator using a first tier victim that has a combination of an operating system, a browser and one or more applications that are targeted by an exploit and identifying a plurality of first level malicious uniform resource locators, wherein each first level malicious uniform resource locator exploits the combination of the operating system, the browser and the one or more applications on the first tier victims.
14. The method of claim 13, wherein testing the plurality of uniform resource locators further comprises accessing each uniform resource locator using a second tier victim that has a combination of an operating system, a browser and one application that are targeted by an exploit and identifying a plurality of second level malicious uniform resource locators from the first level malicious uniform resource locators, wherein each second level malicious uniform resource locator exploits the one application of the second tier victim.
15. The method of claim 14, wherein testing the plurality of uniform resource locators further comprises accessing each uniform resource locator using a third tier victim that has a combination of the same operating system and browser as the second tier victims and a different version of the application of the second tier victim and identifying a plurality of third level malicious uniform resource locators from the second level malicious uniform resource locators wherein each third level malicious uniform resource locator exploits the different version of the application of the third tier victim.
16. The method of claim 12 further comprising performing testing of the piece of malicious code without accessing the uniform resource locator.
17. The method of claim 16 further comprising identifying a zero day attack.
18. The method of claim 12 further comprising creating a copy of the piece of malicious code and cataloging operating system changes caused by the piece of malicious code.
19. The method of claim 12 further comprising capturing communications with the plurality of computer systems.
US15/346,358 2013-09-11 2016-11-08 Malware and exploit campaign detection system and method Abandoned US20170054754A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/346,358 US20170054754A1 (en) 2013-09-11 2016-11-08 Malware and exploit campaign detection system and method
PCT/US2017/060456 WO2018089380A1 (en) 2013-09-11 2017-11-07 Malware and exploit campaign detection system and method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361876704P 2013-09-11 2013-09-11
US14/482,696 US10084817B2 (en) 2013-09-11 2014-09-10 Malware and exploit campaign detection system and method
US15/346,358 US20170054754A1 (en) 2013-09-11 2016-11-08 Malware and exploit campaign detection system and method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US14/482,696 Continuation-In-Part US10084817B2 (en) 2013-09-11 2014-09-10 Malware and exploit campaign detection system and method

Publications (1)

Publication Number Publication Date
US20170054754A1 true US20170054754A1 (en) 2017-02-23

Family

ID=52626902

Family Applications (3)

Application Number Title Priority Date Filing Date
US14/482,696 Expired - Fee Related US10084817B2 (en) 2013-09-11 2014-09-10 Malware and exploit campaign detection system and method
US15/346,358 Abandoned US20170054754A1 (en) 2013-09-11 2016-11-08 Malware and exploit campaign detection system and method
US16/140,490 Abandoned US20190199747A1 (en) 2013-09-11 2018-09-24 Malware and exploit campaign detection system and method

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US14/482,696 Expired - Fee Related US10084817B2 (en) 2013-09-11 2014-09-10 Malware and exploit campaign detection system and method

Family Applications After (1)

Application Number Title Priority Date Filing Date
US16/140,490 Abandoned US20190199747A1 (en) 2013-09-11 2018-09-24 Malware and exploit campaign detection system and method

Country Status (6)

Country Link
US (3) US10084817B2 (en)
EP (1) EP3044684A4 (en)
KR (1) KR20160054589A (en)
CA (1) CA2924066A1 (en)
TW (1) TWI587170B (en)
WO (2) WO2015038775A2 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150326587A1 (en) * 2014-05-07 2015-11-12 Attivo Networks Inc. Distributed system for bot detection
US10075456B1 (en) * 2016-03-04 2018-09-11 Symantec Corporation Systems and methods for detecting exploit-kit landing pages
US20190319972A1 (en) * 2018-03-08 2019-10-17 Zscaler, Inc. Advanced threat detection through historical log analysis
US20190327267A1 (en) * 2018-04-24 2019-10-24 International Business Machines Corporation Phishing detection through secure testing implementation
US10911478B2 (en) 2017-06-29 2021-02-02 Microsoft Technology Licensing, Llc Detection of attacks in the cloud by crowd sourcing security solutions
RU2744438C1 (en) * 2020-08-03 2021-03-09 Акционерное Общество «Эшелон - Северо-Запад» System and method for forming optimal set of tests for identifying software bugs
US20220147379A1 (en) * 2020-11-10 2022-05-12 National Technology & Engineering Solutions Of Sandia, Llc Emulation automation and model checking
US11580218B2 (en) 2019-05-20 2023-02-14 Sentinel Labs Israel Ltd. Systems and methods for executable code detection, automatic feature extraction and position independent code detection
US11579857B2 (en) 2020-12-16 2023-02-14 Sentinel Labs Israel Ltd. Systems, methods and devices for device fingerprinting and automatic deployment of software in a computing network using a peer-to-peer approach
US11616812B2 (en) 2016-12-19 2023-03-28 Attivo Networks Inc. Deceiving attackers accessing active directory data
US11625485B2 (en) 2014-08-11 2023-04-11 Sentinel Labs Israel Ltd. Method of malware detection and system thereof
US11695800B2 (en) 2016-12-19 2023-07-04 SentinelOne, Inc. Deceiving attackers accessing network data
US11716342B2 (en) 2017-08-08 2023-08-01 Sentinel Labs Israel Ltd. Methods, systems, and devices for dynamically modeling and grouping endpoints for edge networking
US11886591B2 (en) 2014-08-11 2024-01-30 Sentinel Labs Israel Ltd. Method of remediating operations performed by a program and system thereof
US11888897B2 (en) 2018-02-09 2024-01-30 SentinelOne, Inc. Implementing decoys in a network environment
US11899782B1 (en) 2021-07-13 2024-02-13 SentinelOne, Inc. Preserving DLL hooks

Families Citing this family (137)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10805331B2 (en) 2010-09-24 2020-10-13 BitSight Technologies, Inc. Information technology security assessment system
US8555388B1 (en) 2011-05-24 2013-10-08 Palo Alto Networks, Inc. Heuristic botnet detection
US9104870B1 (en) 2012-09-28 2015-08-11 Palo Alto Networks, Inc. Detecting malware
US9215239B1 (en) 2012-09-28 2015-12-15 Palo Alto Networks, Inc. Malware detection based on traffic analysis
US9811665B1 (en) 2013-07-30 2017-11-07 Palo Alto Networks, Inc. Static and dynamic security analysis of apps for mobile devices
US9613210B1 (en) 2013-07-30 2017-04-04 Palo Alto Networks, Inc. Evaluating malware in a virtual machine using dynamic patching
US10019575B1 (en) 2013-07-30 2018-07-10 Palo Alto Networks, Inc. Evaluating malware in a virtual machine using copy-on-write
US9591015B1 (en) 2014-03-28 2017-03-07 Fireeye, Inc. System and method for offloading packet processing and static analysis operations
US10038712B2 (en) 2014-06-02 2018-07-31 Paypal, Inc. Method and apparatus for dynamic detection of geo-location obfuscation in client-server connections through an IP tunnel
US10805340B1 (en) * 2014-06-26 2020-10-13 Fireeye, Inc. Infection vector and malware tracking with an interactive user display
US9489516B1 (en) 2014-07-14 2016-11-08 Palo Alto Networks, Inc. Detection of malware using an instrumented virtual machine environment
US9992225B2 (en) * 2014-09-12 2018-06-05 Topspin Security Ltd. System and a method for identifying malware network activity using a decoy environment
US9692773B1 (en) 2014-12-11 2017-06-27 Symantec Corporation Systems and methods for identifying detection-evasion behaviors of files undergoing malware analyses
US9479531B1 (en) 2014-12-12 2016-10-25 Symantec Corporation Systems and methods for accelerating malware analyses in automated execution environments
US10360371B1 (en) * 2014-12-12 2019-07-23 Symantec Corporation Systems and methods for protecting automated execution environments against enumeration attacks
US9542554B1 (en) * 2014-12-18 2017-01-10 Palo Alto Networks, Inc. Deduplicating malware
US9805193B1 (en) 2014-12-18 2017-10-31 Palo Alto Networks, Inc. Collecting algorithmically generated domains
US9690933B1 (en) 2014-12-22 2017-06-27 Fireeye, Inc. Framework for classifying an object as malicious with machine learning for deploying updated predictive models
US9779239B2 (en) * 2015-03-15 2017-10-03 Fujitsu Limited Detection of malicious software behavior using signature-based static analysis
US9703956B1 (en) * 2015-06-08 2017-07-11 Symantec Corporation Systems and methods for categorizing virtual-machine-aware applications for further analysis
US20170063883A1 (en) * 2015-08-26 2017-03-02 Fortinet, Inc. Metadata information based file processing
US10320828B1 (en) * 2015-09-30 2019-06-11 EMC IP Holding Company LLC Evaluation of security in a cyber simulator
CN106997367B (en) * 2016-01-26 2020-05-08 华为技术有限公司 Classification method, classification device and classification system for program files
IL250797B (en) 2016-02-25 2020-04-30 Cyren Ltd Multi-threat analyzer array system and method of use
US12288233B2 (en) 2016-04-01 2025-04-29 OneTrust, LLC Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design
US11134086B2 (en) 2016-06-10 2021-09-28 OneTrust, LLC Consent conversion optimization systems and related methods
US11354435B2 (en) 2016-06-10 2022-06-07 OneTrust, LLC Data processing systems for data testing to confirm data deletion and related methods
US11366786B2 (en) 2016-06-10 2022-06-21 OneTrust, LLC Data processing systems for processing data subject access requests
US11416589B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11475136B2 (en) 2016-06-10 2022-10-18 OneTrust, LLC Data processing systems for data transfer risk identification and related methods
US11438386B2 (en) 2016-06-10 2022-09-06 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US10318761B2 (en) 2016-06-10 2019-06-11 OneTrust, LLC Data processing systems and methods for auditing data request compliance
US11416798B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing systems and methods for providing training in a vendor procurement process
US10284604B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing and scanning systems for generating and populating a data inventory
US12381915B2 (en) 2016-06-10 2025-08-05 OneTrust, LLC Data processing systems and methods for performing assessments and monitoring of new versions of computer code for compliance
US11366909B2 (en) 2016-06-10 2022-06-21 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US12299065B2 (en) 2016-06-10 2025-05-13 OneTrust, LLC Data processing systems and methods for dynamically determining data processing consent configurations
US11418492B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing systems and methods for using a data model to select a target data asset in a data migration
US10909488B2 (en) 2016-06-10 2021-02-02 OneTrust, LLC Data processing systems for assessing readiness for responding to privacy-related incidents
US11410106B2 (en) 2016-06-10 2022-08-09 OneTrust, LLC Privacy management systems and methods
US10846433B2 (en) 2016-06-10 2020-11-24 OneTrust, LLC Data processing consent management systems and related methods
US10740487B2 (en) 2016-06-10 2020-08-11 OneTrust, LLC Data processing systems and methods for populating and maintaining a centralized database of personal data
US11295316B2 (en) 2016-06-10 2022-04-05 OneTrust, LLC Data processing systems for identity validation for consumer rights requests and related methods
US11586700B2 (en) 2016-06-10 2023-02-21 OneTrust, LLC Data processing systems and methods for automatically blocking the use of tracking tools
US11188862B2 (en) 2016-06-10 2021-11-30 OneTrust, LLC Privacy management systems and methods
US12045266B2 (en) 2016-06-10 2024-07-23 OneTrust, LLC Data processing systems for generating and populating a data inventory
US11544667B2 (en) 2016-06-10 2023-01-03 OneTrust, LLC Data processing systems for generating and populating a data inventory
US11562097B2 (en) 2016-06-10 2023-01-24 OneTrust, LLC Data processing systems for central consent repository and related methods
US11416109B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Automated data processing systems and methods for automatically processing data subject access requests using a chatbot
US11727141B2 (en) 2016-06-10 2023-08-15 OneTrust, LLC Data processing systems and methods for synching privacy-related user consent across multiple computing devices
US11461500B2 (en) 2016-06-10 2022-10-04 OneTrust, LLC Data processing systems for cookie compliance testing with website scanning and related methods
US11416590B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10678945B2 (en) 2016-06-10 2020-06-09 OneTrust, LLC Consent receipt management systems and related methods
US11222142B2 (en) 2016-06-10 2022-01-11 OneTrust, LLC Data processing systems for validating authorization for personal data collection, storage, and processing
US11227247B2 (en) 2016-06-10 2022-01-18 OneTrust, LLC Data processing systems and methods for bundled privacy policies
US11294939B2 (en) 2016-06-10 2022-04-05 OneTrust, LLC Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software
US10685140B2 (en) 2016-06-10 2020-06-16 OneTrust, LLC Consent receipt management systems and related methods
US12136055B2 (en) 2016-06-10 2024-11-05 OneTrust, LLC Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques
US11392720B2 (en) 2016-06-10 2022-07-19 OneTrust, LLC Data processing systems for verification of consent and notice processing and related methods
US11651104B2 (en) 2016-06-10 2023-05-16 OneTrust, LLC Consent receipt management systems and related methods
US11651106B2 (en) 2016-06-10 2023-05-16 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10997318B2 (en) 2016-06-10 2021-05-04 OneTrust, LLC Data processing systems for generating and populating a data inventory for processing data access requests
US11625502B2 (en) 2016-06-10 2023-04-11 OneTrust, LLC Data processing systems for identifying and modifying processes that are subject to data subject access requests
US11188615B2 (en) 2016-06-10 2021-11-30 OneTrust, LLC Data processing consent capture systems and related methods
US11520928B2 (en) 2016-06-10 2022-12-06 OneTrust, LLC Data processing systems for generating personal data receipts and related methods
US11481710B2 (en) 2016-06-10 2022-10-25 OneTrust, LLC Privacy management systems and methods
US11675929B2 (en) 2016-06-10 2023-06-13 OneTrust, LLC Data processing consent sharing systems and related methods
US11222139B2 (en) 2016-06-10 2022-01-11 OneTrust, LLC Data processing systems and methods for automatic discovery and assessment of mobile software development kits
US11403377B2 (en) 2016-06-10 2022-08-02 OneTrust, LLC Privacy management systems and methods
US11636171B2 (en) 2016-06-10 2023-04-25 OneTrust, LLC Data processing user interface monitoring systems and related methods
US10909265B2 (en) 2016-06-10 2021-02-02 OneTrust, LLC Application privacy scanning systems and related methods
US11354434B2 (en) 2016-06-10 2022-06-07 OneTrust, LLC Data processing systems for verification of consent and notice processing and related methods
US12118121B2 (en) 2016-06-10 2024-10-15 OneTrust, LLC Data subject access request processing systems and related methods
US12052289B2 (en) 2016-06-10 2024-07-30 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
KR101676366B1 (en) * 2016-06-23 2016-11-15 국방과학연구소 Attacks tracking system and method for tracking malware path and behaviors for the defense against cyber attacks
US10348755B1 (en) * 2016-06-30 2019-07-09 Symantec Corporation Systems and methods for detecting network security deficiencies on endpoint devices
US10586045B2 (en) 2016-08-11 2020-03-10 The Mitre Corporation System and method for detecting malware in mobile device software applications
US10277625B1 (en) * 2016-09-28 2019-04-30 Symantec Corporation Systems and methods for securing computing systems on private networks
TWI622894B (en) * 2016-12-13 2018-05-01 宏碁股份有限公司 Electronic device and method for detecting malicious file
TWI625642B (en) * 2017-03-08 2018-06-01 廣達電腦股份有限公司 Software risk evaluation system and method thereof
US10013577B1 (en) 2017-06-16 2018-07-03 OneTrust, LLC Data processing systems for identifying whether cookies contain personally identifying information
TWI647585B (en) * 2017-06-27 2019-01-11 關隆股份有限公司 Malicious virus protection method
KR102040929B1 (en) * 2017-08-04 2019-11-27 국방과학연구소 Apparatus and method for the detection of drive-by download using unusual behavior monitoring
US10503898B2 (en) 2017-10-03 2019-12-10 Grand Mate Co., Ltd. Method for defending against malware
US10771482B1 (en) * 2017-11-14 2020-09-08 Ca, Inc. Systems and methods for detecting geolocation-aware malware
US10257219B1 (en) 2018-03-12 2019-04-09 BitSight Technologies, Inc. Correlated risk in cybersecurity
US10956573B2 (en) 2018-06-29 2021-03-23 Palo Alto Networks, Inc. Dynamic analysis techniques for applications
US11010474B2 (en) 2018-06-29 2021-05-18 Palo Alto Networks, Inc. Dynamic analysis techniques for applications
US10986117B1 (en) * 2018-08-07 2021-04-20 Ca, Inc. Systems and methods for providing an integrated cyber threat defense exchange platform
US11138313B2 (en) * 2018-08-13 2021-10-05 Juniper Networks, Inc. Malware detection based on user interactions
US11544409B2 (en) 2018-09-07 2023-01-03 OneTrust, LLC Data processing systems and methods for automatically protecting sensitive data within privacy management systems
US10803202B2 (en) 2018-09-07 2020-10-13 OneTrust, LLC Data processing systems for orphaned data identification and deletion and related methods
US11036856B2 (en) * 2018-09-16 2021-06-15 Fortinet, Inc. Natively mounting storage for inspection and sandboxing in the cloud
US10521583B1 (en) 2018-10-25 2019-12-31 BitSight Technologies, Inc. Systems and methods for remote detection of software through browser webinjects
US11057428B1 (en) * 2019-03-28 2021-07-06 Rapid7, Inc. Honeytoken tracker
US11552929B2 (en) * 2019-06-10 2023-01-10 Fortinet, Inc. Cooperative adaptive network security protection
US11165809B2 (en) * 2019-07-15 2021-11-02 Barak TAWILY Systems methods and computer storage media for detection of potential cyber security vulnerabilities in computer networks by premediated exterior intrusion through log-based pre-mapped entrance points
US10726136B1 (en) 2019-07-17 2020-07-28 BitSight Technologies, Inc. Systems and methods for generating security improvement plans for entities
US11956265B2 (en) 2019-08-23 2024-04-09 BitSight Technologies, Inc. Systems and methods for inferring entity relationships via network communications of users or user devices
US11196765B2 (en) 2019-09-13 2021-12-07 Palo Alto Networks, Inc. Simulating user interactions for malware analysis
US11032244B2 (en) 2019-09-30 2021-06-08 BitSight Technologies, Inc. Systems and methods for determining asset importance in security risk management
CN112580042B (en) * 2019-09-30 2024-02-02 奇安信安全技术(珠海)有限公司 Method and device for combating malicious programs, storage medium and computer equipment
TWI726449B (en) * 2019-10-18 2021-05-01 臺灣銀行股份有限公司 Network attack analysis method
TWI742799B (en) * 2019-10-18 2021-10-11 臺灣銀行股份有限公司 Network attack analysis method
US10893067B1 (en) 2020-01-31 2021-01-12 BitSight Technologies, Inc. Systems and methods for rapidly generating security ratings
US11568053B2 (en) * 2020-03-02 2023-01-31 Intel 471 Inc. Automated malware monitoring and data extraction
US11023585B1 (en) 2020-05-27 2021-06-01 BitSight Technologies, Inc. Systems and methods for managing cybersecurity alerts
US12375527B2 (en) * 2020-06-24 2025-07-29 Fortinet, Inc. Leveraging network security scanning to obtain enhanced information regarding an attack chain involving a decoy file
WO2022011142A1 (en) 2020-07-08 2022-01-13 OneTrust, LLC Systems and methods for targeted data discovery
EP4189569B1 (en) 2020-07-28 2025-09-24 OneTrust LLC Systems and methods for automatically blocking the use of tracking tools
US20230289376A1 (en) 2020-08-06 2023-09-14 OneTrust, LLC Data processing systems and methods for automatically redacting unstructured data from a data subject access request
US11436373B2 (en) 2020-09-15 2022-09-06 OneTrust, LLC Data processing systems and methods for detecting tools for the automatic blocking of consent requests
US11526624B2 (en) 2020-09-21 2022-12-13 OneTrust, LLC Data processing systems and methods for automatically detecting target data transfers and target data processing
US11337177B2 (en) 2020-09-23 2022-05-17 Glowstik, Inc. System and method for generating amorphous dynamic display icons
US12265896B2 (en) 2020-10-05 2025-04-01 OneTrust, LLC Systems and methods for detecting prejudice bias in machine-learning models
US11397819B2 (en) 2020-11-06 2022-07-26 OneTrust, LLC Systems and methods for identifying data processing activities based on data discovery results
CN112491917B (en) * 2020-12-08 2021-05-28 物鼎安全科技(武汉)有限公司 Unknown vulnerability identification method and device for Internet of things equipment
US11122073B1 (en) 2020-12-11 2021-09-14 BitSight Technologies, Inc. Systems and methods for cybersecurity risk mitigation and management
US11687528B2 (en) 2021-01-25 2023-06-27 OneTrust, LLC Systems and methods for discovery, classification, and indexing of data in a native computing system
US11442906B2 (en) 2021-02-04 2022-09-13 OneTrust, LLC Managing custom attributes for domain objects defined within microservices
US20240111899A1 (en) 2021-02-08 2024-04-04 OneTrust, LLC Data processing systems and methods for anonymizing data samples in classification analysis
US11601464B2 (en) 2021-02-10 2023-03-07 OneTrust, LLC Systems and methods for mitigating risks of third-party computing system functionality integration into a first-party computing system
US11775348B2 (en) 2021-02-17 2023-10-03 OneTrust, LLC Managing custom workflows for domain objects defined within microservices
US11546661B2 (en) 2021-02-18 2023-01-03 OneTrust, LLC Selective redaction of media content
WO2022192269A1 (en) 2021-03-08 2022-09-15 OneTrust, LLC Data transfer discovery and analysis systems and related methods
US11562078B2 (en) 2021-04-16 2023-01-24 OneTrust, LLC Assessing and managing computational risk involved with integrating third party computing functionality within a computing system
CN113067840B (en) * 2021-06-03 2021-08-24 江苏天翼安全技术有限公司 Method for realizing cloud plug-in vulnerability response honey net architecture
US12353563B2 (en) 2021-07-01 2025-07-08 BitSight Technologies, Inc. Systems and methods for accelerating cybersecurity assessments
US12153704B2 (en) 2021-08-05 2024-11-26 OneTrust, LLC Computing platform for facilitating data exchange among computing environments
US11818172B1 (en) 2021-08-24 2023-11-14 Amdocs Development Limited System, method, and computer program for a computer attack response service
US12425437B2 (en) 2021-09-17 2025-09-23 BitSight Technologies, Inc. Systems and methods for precomputation of digital asset inventories
US12282564B2 (en) 2022-01-31 2025-04-22 BitSight Technologies, Inc. Systems and methods for assessment of cyber resilience
US11620142B1 (en) 2022-06-03 2023-04-04 OneTrust, LLC Generating and customizing user interfaces for demonstrating functions of interactive user environments
US12287866B2 (en) * 2023-03-30 2025-04-29 Acronis International Gmbh System and method for threat detection based on stack trace and user-mode sensors
TWI866191B (en) * 2023-05-03 2024-12-11 廣達電腦股份有限公司 Email processing device and method
CN117319077B (en) * 2023-11-09 2024-04-16 青海秦楚信息科技有限公司 Network security emergency linkage system and method
CN117610018B (en) * 2023-12-01 2024-06-25 深圳市马博士网络科技有限公司 Vulnerability simulation method and device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110145920A1 (en) * 2008-10-21 2011-06-16 Lookout, Inc System and method for adverse mobile application identification
US20120144492A1 (en) * 2010-12-03 2012-06-07 Microsoft Corporation Predictive Malware Threat Mitigation
US20120331553A1 (en) * 2006-04-20 2012-12-27 Fireeye, Inc. Dynamic signature creation and enforcement
US20130013307A1 (en) * 2004-01-13 2013-01-10 Nuance Communications, Inc. Differential dynamic content delivery with text display in dependence upon simultaneous speech
US20130133072A1 (en) * 2010-07-21 2013-05-23 Ron Kraitsman Network protection system and method
US20150381637A1 (en) * 2010-07-21 2015-12-31 Seculert Ltd. System and methods for malware detection using log based crowdsourcing analysis

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6981279B1 (en) * 2000-08-17 2005-12-27 International Business Machines Corporation Method and apparatus for replicating and analyzing worm programs
US20110238855A1 (en) * 2000-09-25 2011-09-29 Yevgeny Korsunsky Processing data flows with a data flow processor
US9106694B2 (en) * 2004-04-01 2015-08-11 Fireeye, Inc. Electronic message analysis for malware detection
US8793787B2 (en) * 2004-04-01 2014-07-29 Fireeye, Inc. Detecting malicious network content using virtual environment components
US8171553B2 (en) 2004-04-01 2012-05-01 Fireeye, Inc. Heuristic based capture with replay to virtual machine
US8407785B2 (en) * 2005-08-18 2013-03-26 The Trustees Of Columbia University In The City Of New York Systems, methods, and media protecting a digital data processing device from attack
US8196205B2 (en) 2006-01-23 2012-06-05 University Of Washington Through Its Center For Commercialization Detection of spyware threats within virtual machine
US7996836B1 (en) * 2006-12-29 2011-08-09 Symantec Corporation Using a hypervisor to provide computer security
US8060074B2 (en) * 2007-07-30 2011-11-15 Mobile Iron, Inc. Virtual instance architecture for mobile device management systems
US8307443B2 (en) 2007-09-28 2012-11-06 Microsoft Corporation Securing anti-virus software with virtualization
US9098698B2 (en) * 2008-09-12 2015-08-04 George Mason Research Foundation, Inc. Methods and apparatus for application isolation
US8997219B2 (en) * 2008-11-03 2015-03-31 Fireeye, Inc. Systems and methods for detecting malicious PDF network content
US8935773B2 (en) * 2009-04-09 2015-01-13 George Mason Research Foundation, Inc. Malware detector
US8832829B2 (en) 2009-09-30 2014-09-09 Fireeye, Inc. Network-based binary file extraction and analysis for malware detection
US9047441B2 (en) * 2011-05-24 2015-06-02 Palo Alto Networks, Inc. Malware analysis system
US9003532B2 (en) 2011-09-15 2015-04-07 Raytheon Company Providing a network-accessible malware analysis
ES2755780T3 (en) * 2011-09-16 2020-04-23 Veracode Inc Automated behavior and static analysis using an instrumented sandbox and machine learning classification for mobile security
US9519781B2 (en) 2011-11-03 2016-12-13 Cyphort Inc. Systems and methods for virtualization and emulation assisted malware detection
WO2013095572A1 (en) 2011-12-22 2013-06-27 Intel Corporation User controllable platform-level trigger to set policy for protecting platform from malware
US9769123B2 (en) * 2012-09-06 2017-09-19 Intel Corporation Mitigating unauthorized access to data traffic
US9332028B2 (en) * 2013-01-25 2016-05-03 REMTCS Inc. System, method, and apparatus for providing network security
US9355247B1 (en) * 2013-03-13 2016-05-31 Fireeye, Inc. File extraction from memory dump for malicious content analysis
US9251343B1 (en) * 2013-03-15 2016-02-02 Fireeye, Inc. Detecting bootkits resident on compromised computers
US9300686B2 (en) * 2013-06-28 2016-03-29 Fireeye, Inc. System and method for detecting malicious links in electronic messages

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130013307A1 (en) * 2004-01-13 2013-01-10 Nuance Communications, Inc. Differential dynamic content delivery with text display in dependence upon simultaneous speech
US20120331553A1 (en) * 2006-04-20 2012-12-27 Fireeye, Inc. Dynamic signature creation and enforcement
US20110145920A1 (en) * 2008-10-21 2011-06-16 Lookout, Inc System and method for adverse mobile application identification
US20130133072A1 (en) * 2010-07-21 2013-05-23 Ron Kraitsman Network protection system and method
US20150381637A1 (en) * 2010-07-21 2015-12-31 Seculert Ltd. System and methods for malware detection using log based crowdsourcing analysis
US20120144492A1 (en) * 2010-12-03 2012-06-07 Microsoft Corporation Predictive Malware Threat Mitigation

Cited By (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9769204B2 (en) * 2014-05-07 2017-09-19 Attivo Networks Inc. Distributed system for Bot detection
US20150326587A1 (en) * 2014-05-07 2015-11-12 Attivo Networks Inc. Distributed system for bot detection
US11625485B2 (en) 2014-08-11 2023-04-11 Sentinel Labs Israel Ltd. Method of malware detection and system thereof
US12026257B2 (en) 2014-08-11 2024-07-02 Sentinel Labs Israel Ltd. Method of malware detection and system thereof
US11886591B2 (en) 2014-08-11 2024-01-30 Sentinel Labs Israel Ltd. Method of remediating operations performed by a program and system thereof
US12235962B2 (en) 2014-08-11 2025-02-25 Sentinel Labs Israel Ltd. Method of remediating operations performed by a program and system thereof
US10075456B1 (en) * 2016-03-04 2018-09-11 Symantec Corporation Systems and methods for detecting exploit-kit landing pages
US11695800B2 (en) 2016-12-19 2023-07-04 SentinelOne, Inc. Deceiving attackers accessing network data
US12261884B2 (en) 2016-12-19 2025-03-25 SentinelOne, Inc. Deceiving attackers accessing active directory data
US11997139B2 (en) 2016-12-19 2024-05-28 SentinelOne, Inc. Deceiving attackers accessing network data
US12418565B2 (en) 2016-12-19 2025-09-16 SentinelOne, Inc. Deceiving attackers accessing network data
US11616812B2 (en) 2016-12-19 2023-03-28 Attivo Networks Inc. Deceiving attackers accessing active directory data
US12432253B2 (en) 2016-12-19 2025-09-30 SentinelOne, Inc. Deceiving attackers accessing network data
US10911478B2 (en) 2017-06-29 2021-02-02 Microsoft Technology Licensing, Llc Detection of attacks in the cloud by crowd sourcing security solutions
US11838305B2 (en) 2017-08-08 2023-12-05 Sentinel Labs Israel Ltd. Methods, systems, and devices for dynamically modeling and grouping endpoints for edge networking
US11876819B2 (en) 2017-08-08 2024-01-16 Sentinel Labs Israel Ltd. Methods, systems, and devices for dynamically modeling and grouping endpoints for edge networking
US11716341B2 (en) 2017-08-08 2023-08-01 Sentinel Labs Israel Ltd. Methods, systems, and devices for dynamically modeling and grouping endpoints for edge networking
US11722506B2 (en) 2017-08-08 2023-08-08 Sentinel Labs Israel Ltd. Methods, systems, and devices for dynamically modeling and grouping endpoints for edge networking
US12363151B2 (en) 2017-08-08 2025-07-15 Sentinel Labs Israel Ltd. Methods, systems, and devices for dynamically modeling and grouping endpoints for edge networking
US12244626B2 (en) 2017-08-08 2025-03-04 Sentinel Labs Israel Ltd. Methods, systems, and devices for dynamically modeling and grouping endpoints for edge networking
US12177241B2 (en) 2017-08-08 2024-12-24 Sentinel Labs Israel Ltd. Methods, systems, and devices for dynamically modeling and grouping endpoints for edge networking
US11973781B2 (en) 2017-08-08 2024-04-30 Sentinel Labs Israel Ltd. Methods, systems, and devices for dynamically modeling and grouping endpoints for edge networking
US11716342B2 (en) 2017-08-08 2023-08-01 Sentinel Labs Israel Ltd. Methods, systems, and devices for dynamically modeling and grouping endpoints for edge networking
US12206698B2 (en) 2017-08-08 2025-01-21 Sentinel Labs Israel Ltd. Methods, systems, and devices for dynamically modeling and grouping endpoints for edge networking
US11838306B2 (en) 2017-08-08 2023-12-05 Sentinel Labs Israel Ltd. Methods, systems, and devices for dynamically modeling and grouping endpoints for edge networking
US11888897B2 (en) 2018-02-09 2024-01-30 SentinelOne, Inc. Implementing decoys in a network environment
US12341814B2 (en) 2018-02-09 2025-06-24 SentinelOne, Inc. Implementing decoys in a network environment
US11627148B2 (en) * 2018-03-08 2023-04-11 Zscaler, Inc. Advanced threat detection through historical log analysis
US20190319972A1 (en) * 2018-03-08 2019-10-17 Zscaler, Inc. Advanced threat detection through historical log analysis
US10826935B2 (en) * 2018-04-24 2020-11-03 International Business Machines Corporation Phishing detection through secure testing implementation
US20190327267A1 (en) * 2018-04-24 2019-10-24 International Business Machines Corporation Phishing detection through secure testing implementation
US12169556B2 (en) 2019-05-20 2024-12-17 Sentinel Labs Israel Ltd. Systems and methods for executable code detection, automatic feature extraction and position independent code detection
US11790079B2 (en) 2019-05-20 2023-10-17 Sentinel Labs Israel Ltd. Systems and methods for executable code detection, automatic feature extraction and position independent code detection
US11580218B2 (en) 2019-05-20 2023-02-14 Sentinel Labs Israel Ltd. Systems and methods for executable code detection, automatic feature extraction and position independent code detection
RU2744438C1 (en) * 2020-08-03 2021-03-09 Акционерное Общество «Эшелон - Северо-Запад» System and method for forming optimal set of tests for identifying software bugs
US11720391B2 (en) * 2020-11-10 2023-08-08 National Technology & Engineering Solutions Of Sandia, Llc Emulation automation and model checking
US20220147379A1 (en) * 2020-11-10 2022-05-12 National Technology & Engineering Solutions Of Sandia, Llc Emulation automation and model checking
US11748083B2 (en) 2020-12-16 2023-09-05 Sentinel Labs Israel Ltd. Systems, methods and devices for device fingerprinting and automatic deployment of software in a computing network using a peer-to-peer approach
US11579857B2 (en) 2020-12-16 2023-02-14 Sentinel Labs Israel Ltd. Systems, methods and devices for device fingerprinting and automatic deployment of software in a computing network using a peer-to-peer approach
US12423078B2 (en) 2020-12-16 2025-09-23 Sentinel Labs Israel Ltd. Systems, methods and devices for device fingerprinting and automatic deployment of software in a computing network using a peer-to-peer approach
US11899782B1 (en) 2021-07-13 2024-02-13 SentinelOne, Inc. Preserving DLL hooks
US12259967B2 (en) 2021-07-13 2025-03-25 SentinelOne, Inc. Preserving DLL hooks

Also Published As

Publication number Publication date
EP3044684A4 (en) 2017-04-26
KR20160054589A (en) 2016-05-16
EP3044684A2 (en) 2016-07-20
US10084817B2 (en) 2018-09-25
WO2015038775A2 (en) 2015-03-19
WO2015038775A3 (en) 2015-04-09
US20150074810A1 (en) 2015-03-12
WO2018089380A1 (en) 2018-05-17
US20190199747A1 (en) 2019-06-27
TW201528034A (en) 2015-07-16
TWI587170B (en) 2017-06-11
WO2015038775A9 (en) 2015-05-21
CA2924066A1 (en) 2015-03-19

Similar Documents

Publication Publication Date Title
US20170054754A1 (en) Malware and exploit campaign detection system and method
US11960605B2 (en) Dynamic analysis techniques for applications
US11604878B2 (en) Dynamic analysis techniques for applications
US10630643B2 (en) Dual memory introspection for securing multiple network endpoints
Trajanovski et al. An automated and comprehensive framework for IoT botnet detection and analysis (IoT-BDA)
US9405899B2 (en) Software protection mechanism
Bierma et al. Andlantis: Large-scale Android dynamic analysis
AU2014330136A1 (en) Complex scoring for malware detection
EP3053087A1 (en) Complex scoring for malware detection
US11880465B2 (en) Analyzing multiple CPU architecture malware samples
Botacin et al. The other guys: automated analysis of marginalized malware
Di Pietro et al. CloRExPa: Cloud resilience via execution path analysis
Yonamine et al. Design and implementation of a sandbox for facilitating and automating IoT malware analysis with techniques to elicit malicious behavior: case studies of functionalities for dissecting IoT malware
Alptekin et al. Trapdroid: Bare-metal android malware behavior analysis framework
Mogicato et al. Design and implementation of a collaborative lightweight malware analysis sandbox using container virtualization
Gutierrez Malware Sandbox Deployment, Analysis and Development
Clark et al. Empirical evaluation of the a3 environment: evaluating defenses against zero-day attacks
ayendra PATHAK SAHER et al.(43) Pub. Date: Mar. 12, 2015
Bistarelli et al. A Classification of Malware Sandboxes and Their Architectures
Pektaş Classification des logiciels malveillants basée sur le comportement à l'aide de l'apprentissage automatique en ligne
Besken Automatic and Policy-based Framework to Detect Ransomware Affecting Linux-based and Resource-constrained Devices

Legal Events

Date Code Title Description
AS Assignment

Owner name: NSS LABS, INC., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SAHER, MOHAMED;PATHAK, JAYENDRA;ELGARHY, AHMED;SIGNING DATES FROM 20170323 TO 20170324;REEL/FRAME:042130/0201

AS Assignment

Owner name: SILICON VALLEY BANK, CALIFORNIA

Free format text: SECURITY INTEREST;ASSIGNOR:NSS LABS, INC.;REEL/FRAME:045400/0631

Effective date: 20180326

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STCV Information on status: appeal procedure

Free format text: NOTICE OF APPEAL FILED

STCV Information on status: appeal procedure

Free format text: APPEAL BRIEF (OR SUPPLEMENTAL BRIEF) ENTERED AND FORWARDED TO EXAMINER

STCV Information on status: appeal procedure

Free format text: EXAMINER'S ANSWER TO APPEAL BRIEF MAILED

STCV Information on status: appeal procedure

Free format text: APPEAL READY FOR REVIEW

STCV Information on status: appeal procedure

Free format text: ON APPEAL -- AWAITING DECISION BY THE BOARD OF APPEALS

STCV Information on status: appeal procedure

Free format text: BOARD OF APPEALS DECISION RENDERED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION