Infection vector and malware tracking with an interactive user display

According to one embodiment, a computerized method comprises detecting a malicious attack on an enterprise network, where the enterprise network comprises a plurality of network devices. Upon detection of a malicious attack, information (metadata) associated with the malicious attack is gathered. Examples of the information may include at least a geographic location associated with each of the plurality of network devices. Thereafter, an interactive display of a propagation of malware associated the malicious attack is generated. The interactive display includes a plurality of display items representative of the plurality of network devices, each of the plurality of display items is selectable to provide information as to at least one of (i) an origin of the malware, (ii) an entry point of the malware into an enterprise network, or (iii) a targeted destination of the malware.

Embodiments of the disclosure relate to the field of network security. More specifically, one embodiment of the disclosure relates to a system and method for generating an interactive user display that illustrates information representing the infection vector for malware and the propagation of the malware over one or more networks and network devices.

2. GENERAL BACKGROUND

Over the last decade or so, malicious software has become a pervasive problem for Internet users as most computers include vulnerabilities that are subject to attack. For instance, over the past few years, more and more vulnerabilities are being discovered, especially in software that is loaded onto a networked computer or other electronic device. While some vulnerabilities may be addressed through software patches (e.g., operating system “OS” vulnerabilities), electronic devices will continue to be targeted for attack in efforts to acquire sensitive information or adversely affect operations of various enterprises.

Currently, the origin and target of malware attacks can be determined and displayed in order to illustrate a trajectory of the malware attack, namely an illustration of the country-based geographic origin of the malware attack and its entry point into an enterprise network. However, this display does not provide any further information regarding the infection vector and fails to provide a holistic view of the entire malware attack, most notably the enterprise network, which would be highly valued by network security personnel.

DETAILED DESCRIPTION

Various embodiments of the disclosure relate to a threat detection system that improves an existing technological process of malware detection. In the form of a security appliance or security cloud services for example, the threat detection system includes virtualization logic that generates one or more displays (hereinafter, “display(s)”) that are adapted to illustrate, alone or collectively, the propagation of malware associated with a malware attack as well as the method of propagation referred to as the “infection vector”. These display(s) provide network security personnel with an ability to trace, by viewing geographical depictions, the propagation of malware within the enterprise network and/or its propagation path outside of the enterprise network. These display(s) also improve the speed and accuracy of diagnostics by network security personnel as well as improve the speed and accuracy in identifying targeted malicious attacks.

More specifically, the virtualization logic may be activated automatically in response to an alert condition that signifies detection of a malicious attack by a threat detection system within the enterprise network. Alternatively, the virtualization logic may be activated in accordance with a time-based schedule or manually by a user. For instance, the virtualization logic may be activated manually upon selecting a particular alert associated with the malicious attack, where one or more alerts may be concurrently presented on a malware display screen, and then subsequently selecting a prescribed item on the display screen (e.g., “infection vector” button).

After activation, the virtualization logic may be adapted to obtain metadata from a correlation engine, where the metadata may include metadata associated with malicious objects detected by a particular threat detection system having the virtualization logic as well as metadata associated with other malicious objects detected by other systems within the enterprise network and/or metadata gathered from endpoint devices. The virtualization logic generates a chronological, holistic view of the propagation of a particular malware infection, where each node (e.g., network device or collection of network devices) of the enterprise network represents a “hop” in the propagation. This provides network security personnel with one or more displays directed to the origination of the alert (e.g., continent, country, state/region, city, street, address, or other location) along with every “hop” on the geographic propagation path to identify which network device(s) within the enterprise may have been infected by the particular malware. Metadata associated with hops outside the enterprise network may be retrieved by accessing traffic origination geo-servers, namely dedicated or third party servers that monitor traffic through public networks.

By illustration, each hop may be selected to display additional information, including (1) metadata directed to at least one network device of the hop and/or (2) metadata associated with the malware. For instance, with respect to selection of a network device associated with a particular hop, any or all of the following metadata directed to that network device may be gathered and accessible for use by the virtualization logic for display: (1) host name for the network device; (2) address information such as Internet Protocol “IP” address or Media Access Control “MAC” address of the network device; (3) connection type and/or speed used by the network device; (4) determined geographic location of the network device based on the assigned IP address for example; (5) mode of operation (e.g., detection or prevention mode); (6) subnet membership; and/or (7) particulars regarding characteristics of the network device such as storage size. With respect to metadata associated with the malware, any or all of the following may be gathered and accessible for use by the virtualization logic for display: (a) time of receipt of the malware; (b) known family of the malware; (c) types of malicious activity conducted such as information compromised or stolen via call-back, etc.; and/or (d) information that identifies the infection vector and represents the lateral spread of the infection (e.g., sequence of images and/or video of changes in operational state of the network device(s)).

In the following description, certain terminology is used to describe aspects of the invention. For example, in certain situations, both terms “logic” and “engine” are representative of hardware, firmware and/or software that is configured to perform one or more functions. As hardware, logic (or engine) may include circuitry having data processing or storage functionality. Examples of such processing or storage circuitry may include, but is not limited or restricted to a processor; one or more processor cores; a programmable gate array; a microcontroller; an application specific integrated circuit; receiver, transmitter and/or transceiver circuitry; semiconductor memory; or combinatorial logic.

Logic (or engine) may be in the form of one or more software modules, such as executable code in the form of an executable application, an application programming interface (API), a subroutine, a function, a procedure, an applet, a servlet, a routine, source code, object code, a shared library/dynamic load library, or one or more instructions. These software modules may be stored in any type of a suitable non-transitory storage medium, or transitory storage medium (e.g., electrical, optical, acoustical or other form of propagated signals such as carrier waves, infrared signals, or digital signals). Examples of a “non-transitory storage medium” may include, but are not limited or restricted to a programmable circuit; a semiconductor memory; non-persistent storage such as volatile memory (e.g., any type of random access memory “RAM”); persistent storage such as non-volatile memory (e.g., read-only memory “ROM”, power-backed RAM, flash memory, phase-change memory, etc.), a solid-state drive, hard disk drive, an optical disc drive, or a portable memory device. As firmware, the executable code is stored in persistent storage.

The term “object” generally refers to a collection of data, such as a group of related packets, normally having a logical structure or organization that enables classification for purposes of analysis. For instance, an object may be a self-contained element, where different types of such objects may include an executable file, non-executable file (such as a document or a dynamically link library), a Portable Document Format (PDF) file, a JavaScript™ file, Zip™ file, a Flash file, a document (for example, a Microsoft Office® document), an email, downloaded web page, an instant messaging element in accordance with Session Initiation Protocol (SIP) or another messaging protocol, or the like.

The term “flow” generally refers to a collection of related objects, communicated during a single communication session (e.g., Transport Control Protocol “TCP” session), perhaps between a source device and a destination device. An endpoint device may be one of the source, intermediary, or destination devices.

A “message” generally refers to information transmitted as information in a prescribed format, where each message may be in the form of one or more packets or frames, a Hypertext Transfer Protocol (HTTP) based transmission, or any other series of bits having the prescribed format. “Metadata” is information that describes data (e.g., a particular object, message, flow, etc.).

The term “transmission medium” is a physical or logical communication path with an endpoint device, which is an electronic device with data processing and/or network connectivity such as, for example, a server; a stationary or portable computer including a desktop computer, laptop, electronic reader, netbook or tablet; a smart phone; a video-game console; wearable technology (e.g., watch phone, etc.). For instance, the communication path may include wired and/or wireless segments. Examples of wired and/or wireless segments include electrical wiring, optical fiber, cable, bus trace, or a wireless channel using infrared, radio frequency (RF), or any other wired/wireless signaling mechanism.

In certain instances, the term “exploit” may be construed as information (e.g., executable code, data, command(s), etc.) that attempts to take advantage of any type of vulnerability in a network. For instance, an exploit may be a vulnerability associated with human activity or may be a software vulnerability. One type of software vulnerability may be a coding error or artifact of software (e.g., computer program) that allows an attacker to alter legitimate control flow during processing of the software (computer program) by an electronic device, and thus, causes the electronic device to experience undesirable or unexpected behaviors.

The term “computerized” generally represents that any corresponding operations are conducted by hardware in combination with software and/or firmware.

As this invention is susceptible to embodiments of many different forms, it is intended that the present disclosure is to be considered as an example of the principles of the invention and not intended to limit the invention to the specific embodiments shown and described.

II. General Architectures

Referring toFIG. 1, an exemplary block diagram of a network100deploying a plurality of threat detection systems (TDSes)1101-110N(N>1, where N=3 for this embodiment) communicatively coupled to a management system120via a network125is shown. In general, the management system120is adapted to manage each TDS1101-1103. For instance, the management system120may be configured to perform content updates (e.g., upload new rules or modified rules, delete rules, modify parameters that are utilized by the rules, or upload metadata stored within other TDSes or certain metadata associated with the one or more endpoint devices130) within a static analysis engine140, a dynamic analysis engine160, a classification engine175, a correlation engine180, and/or a user interface (UI) rendering subsystem190.

As shown inFIG. 1, a first threat detection system (TDS)1101is an electronic device that is adapted to analyze information associated with network traffic over a communication network132from/to one or more endpoint devices130. The communication network132may include a public network such as the Internet, a private network such as a wireless data telecommunication network, wide area network, a type of local area network (LAN), or a combination of networks.

As shown, the first TDS1101may be communicatively coupled with the communication network132via a network interface136. In general, the network interface136operates as a data capturing device (sometimes referred to as a “tap” or “network tap”) that is configured to receive data propagating to/from one or more endpoint devices130(hereinafter, “endpoint device(s)”) and provide at least some of this data to the first TDS1101or a duplicated copy of the data. This data includes metadata.

More specifically, the network interface136is configured to capture metadata from network traffic associated with one or more endpoint device(s)130. According to one embodiment of the disclosure, the metadata may be used, at least in part, to determine protocols, application types and other information that may be used by logic within the first TDS1101to determine particular software profile(s). The software profile(s) are used for selecting and/or configuring a run-time environment in which one or more virtual machines are selected or configured as part of the virtual execution logic164within the dynamic analysis engine160, as described below. These software profile(s) may be directed to different software or different versions of the same software application extracted from software image(s) fetched from storage device155. Additionally, the metadata may provide information about the origin of the network traffic and characteristics of the network traffic (e.g., communication speed, etc.), which can be used in the generation of one or more displays that, alone or collectively, provide a holistic view of the propagation of detected malware.

In some embodiments, although not shown, network interface136may be contained within the first TDS1101. In other embodiments, the network interface136can be integrated into an intermediary device in the communication path (e.g., a firewall, router, switch or other networked electronic device) or can be a standalone component, such as an appropriate commercially available network tap.

As further shown inFIG. 1, the first TDS1101includes static analysis engine140, a scheduler150, storage device155, dynamic analysis engine160, classification engine175, correlation engine180, and UI rendering subsystem190. Herein, the static analysis engine140may include one or more controllers141(e.g., processing circuitry such as one or more processors) that are configured to process metadata capture logic142and static analysis logic143. Of course, it is contemplated that the controller(s)141may be separate from the static analysis engine140but having access to logic within the static analysis engine140.

The metadata capture logic142is responsible for extracting and/or generating metadata145contained with and/or associated with network traffic. The metadata145may be identified as being associated with a particular object under analysis (e.g., assigned an identifier “object_ID” or stored in a specific storage location to identify that the metadata145corresponds to the particular object), temporarily stored in a first data store146, and subsequently provided to a second (metadata) data store184that is maintained by correlation engine180. Examples of types of metadata may include, but is not restricted or limited to the host name of a network device (e.g., network device134) that is sending the flow, its IP or MAC address, type and/or speed of connection used by the network device134to network132, time of original transmission of the flow (e.g., date/time from a first timestamp), time of detection of the flow (e.g., date/time from a timestamp made by the first TDS1101), and/or any geographic information obtained from the flow (e.g., domain name country designation, etc.).

Besides the metadata described above, it is contemplated that additional metadata may be provided with the network traffic, including information associated with endpoint devices that have received the incoming network traffic prior to monitoring by the first TDS1101. Examples of the information may include the network device name, device type, MAC address, date/time of receipt, and/or its subnet. Of course, as described below, this metadata may be obtained through sideband communications with these and other endpoint devices130. The sideband communications are managed by metadata reporting/retrieval logic182in the correlation engine180, as described below.

While the metadata145may be provided directly to the second (metadata) data store184and later associated with results from the static and/or dynamic analysis of the particular object as described above, as an alternative embodiment, the metadata145may be provided to the classification engine175. According to this embodiment, information pertaining to the particular object (e.g., metadata145, static analysis results149and VM-based results172) is aggregated to formulate analysis results178(described below), which is subsequently provided to the second (metadata) data store184.

Referring still toFIG. 1, the static analysis logic143includes one or more software modules that, when executed by one or more controllers141, analyzes characteristics for one or more objects within an incoming flow, which may be a portion of network traffic according to this embodiment of the disclosure. Such analysis may involve a static analysis of the characteristics of each object under analysis, where the static analysis includes one or more checks being conducted on the object without its execution. Examples of the checks may include signature matching144-1, heuristics144-2, determinative rule-based analysis144-3that may include blacklist or whitelist checking, or the like.

For instance, the static analysis engine140may handle heuristics144-2, where one or more portions of an object are analyzed to determine whether such portions correspond to a “suspicious identifier”. An example of a suspicious identifier may include a particular Uniform Resource Locator (URL) that is associated with known exploits, or a particular source or destination address (e.g., IP addresses, Media Access Control “MAC” addresses, etc.) that may be associated with known exploits. Other examples of a suspicious identifier may include, but are not limited or restricted to one or more exploit patterns or one or more particular shell code patterns.

Additionally or in the alternative, the static analysis engine140may be communicatively coupled to receive one or more objects from network traffic which may be related or unrelated to each other. For instance, one object may be a series of HTTP packets operating as a flow routed over the network. The static analysis engine140includes one or more controllers that may be configured to conduct signature matching analysis144-1, such as exploit signature checks that involve a comparison of at least a portion of the object under analysis with one or more pre-stored exploit signatures (pre-configured and predetermined attack patterns) from signature database (not shown). Alternatively or in combination with exploit signature checks, the signature matching analysis144-1may include vulnerability signature checks, namely a process for uncovering deviations in messaging practices set forth in applicable communication protocols (e.g., HTTP, TCP, etc.). As an illustrative example, HTTP messages may be analyzed to determine compliance with certain message formats established for the protocol (e.g., out-of-order commands). Furthermore, payload parameters of the HTTP messages may be analyzed to determine further compliance.

Upon detecting a match during the signature matching analysis (e.g., an object under analysis has characteristics that suggest the object is an exploit), the static analysis engine140determines that the object is “suspicious,” namely has characteristics that suggest the object is an exploit, and routes this suspect object to the dynamic analysis engine160for more in-depth analysis.

In general, referring still toFIG. 1, the static analysis engine140is communicatively coupled to receive network traffic such as a series of HTTP messages. The static analysis engine140may be configured to parse the incoming network traffic, and thereafter, conduct a static analysis of one or more objects within the network traffic (e.g., within the flow). The results of the static analysis149for one or more objects that appear to be “suspicious” may be stored within the first data store146. The static analysis results149may include (i) a static analysis score (described below) and/or (ii) metadata that at least includes (a) characteristics associated with malware (e.g., matched signature patterns, certain heuristic or statistical information, etc.), and/or (b) other types of metadata associated with the object under analysis (e.g., name of malware or its family based on the detected exploit signature, anticipated malicious activity associated with this type of malware, etc.).

According to one embodiment of the disclosure, in addition (or in the alternative) to being stored in the first data store146, some or all of the static analysis results149may be subsequently routed to classification engine175for storage as part of analysis results178. Of course, when the metadata145is provided to the classification engine175in lieu of being provided directly to the correlation engine180, the metadata uncovered for that object during static and/or virtual processing may be combined with the metadata145to produce the analysis results178. The analysis results178are subsequently routed to correlation engine180for storage within the second (metadata) data store184. As identified by a dashed line, the classification engine175may also notify virtualization logic194within the UI rendering subsystem190of the detection of malware (and storage of corresponding metadata), especially where the generation of displays outlining the propagation of malware is triggered by detection of malware.

According to another embodiment of the disclosure, in addition (or in the alternative) to the metadata145being stored in the first data store146, a portion of the static analysis results149, such as the metadata gathered during the static analysis for example, may be directly routed from the static analysis engine140to the correlation engine180for storage within the second (metadata) data store184. According to this embodiment, some or all of the VM-based results172(described below) would constitute the analysis results178, where certain metadata associated with the results may be provided to correlation engine180and stored in the second (metadata) data store184along with its corresponding metadata from the static analysis results149.

When implemented within the static analysis engine140, a score determination logic147may be configured to determine a probability (or level of confidence) that a suspect object148is part of a malicious attack. More specifically, based on the static analysis, the score determination logic147may be configured to generate a value (referred to as a “static analysis score”) that may be used to identify the likelihood that the suspect object148is part of a malicious attack.

After analysis of objects within the flow, the static analysis engine140may route one or more “suspect” objects (e.g., suspect object148) to the dynamic analysis engine160, which is configured to provide more in-depth analysis by analyzing the behavior of the suspect object148in a VM-based operating environment. Although not shown, the suspect object148may be buffered by the first data store146until ready for processing by virtual execution logic164. As stated above, metadata associated with the suspect object148may be routed to the classification engine175for collective storage with results from its VM analysis (analysis results178) prior to placement within the second data store184or to the data store184of the correlation engine180directly. The metadata is accessible by the virtualization logic194.

More specifically, after analysis of the characteristics of the suspect object148has been completed, the static analysis engine140may provide some or all of the suspect object148, which may be identified by an assigned object_ID, to the dynamic analysis engine160for in-depth dynamic analysis by one or more virtual machines (VMs)1671-167M(M≥1) of the virtual execution logic164. For instance, the virtual execution logic164, operating in combination with processing logic162(described below), is adapted to simulate the transmission and/or receipt of signaling by a destination device represented by VM1671. Of course, if the object under analysis is not suspected of being part of a malicious attack, the static analysis engine140may simply denote that the object is benign and refrain from passing the object to the dynamic analysis engine160for analysis.

According to one embodiment, the scheduler150may be adapted to configure the VMs1671-167Mbased on metadata associated with the flow received by the static analysis engine140. For instance, the VMs1671-167Mmay be configured with software profiles corresponding to the software images stored within storage device155. As an alternative embodiment, the VMs1671-167Mmay be configured according to one or more software configurations that are being used by electronic devices connected to a particular enterprise network (e.g., endpoint device(s)130) or prevalent types of software configurations (e.g., a Windows® 7 OS; a certain version of a particular web browser such as Internet Explorer®; Adobe® PDF™ reader application). As yet another alternative embodiment, the VMs1671-167Mmay be configured to support concurrent virtual execution of a variety of different software configurations in efforts to verify that the suspect object is part of a malicious attack (e.g., reconnaissance operations, entry-point testing, exploit, etc.). Of course, it is contemplated that the VM configuration described above may be handled by logic other than the scheduler150.

According to one embodiment of the disclosure, the dynamic analysis engine160is adapted to execute one or more VMs1671-167Mto simulate the receipt and execution of content associated with the suspect object148within a run-time environment as expected by the type of object. For instance, dynamic analysis engine160may optionally include processing logic162to emulate and provide anticipated signaling to the VM(s)1671, . . . , and/or167Mduring virtual processing.

As an example, the processing logic162may be adapted to provide, and sometimes modify information associated with the suspect object148(e.g., IP address, etc.) in order to control return signaling back to the virtual execution environment166. Hence, the processing logic162may suppress (e.g., discard) the return network traffic so that the return network traffic is not transmitted to the communication network132. According to one embodiment of the disclosure, for a particular suspect object148being multiple related flows such as TCP or UDP flows, the processing logic162may be configured to send one or more packets to the virtual execution environment166via a TCP connection or UDP session. Furthermore, the processing logic162synchronizes return network traffic by terminating the TCP connection or UDP session.

As further shown inFIG. 1, the monitoring logic168within the virtual execution logic164may be configured to monitor behaviors of one or more VMs1671, . . . , and/or167M, such as VM1671that is responsible for executing the suspect object148. This monitoring is conducted to detect anomalous activity indicative that the suspect object148is part of a malicious attack. When anomalous activity is detected, the monitoring logic168operating with an optional score determination logic169may route the VM-based results172to the classification engine175. The VM-based results172may include computed score, information associated with the detected anomalous behaviors; additional metadata pertaining to the malware and/or targeted network device learned through virtual processing such as malware name, malware family, type of malicious activity (e.g., email phishing, callback, etc.), date of detection, targeted application and/or version, operating system, attempt to laterally spread malware, and/or any other information associated with the detected malicious activity by the suspect object148.

It is noted that the score determination logic169may not be implemented within the dynamic analysis engine160so that the VM-based results172exclude any scores, but rather includes information associated with the detected anomalous behaviors that are analyzed by the monitoring logic168. Certain portions of the VM-based results172(e.g., scores and/or anomalous behaviors) may be subsequently weighted by the prioritization logic176and analyzed by the score determination logic177implemented within the classification engine175.

According to one embodiment of the disclosure, the classification engine175may be configured to receive the static analysis results149((perhaps metadata145as described above) and/or the VM-based results172. According to one embodiment of the disclosure, the classification engine175includes prioritization logic176and/or score determination logic177. The prioritization logic176may be configured to apply weighting to a portion of the VM-based172provided from dynamic analysis engine160and/or a portion of the static analysis results149provided from static analysis engine140. For instance, the weighting may be applied to a “dynamic analysis score” produced by score determination logic169and/or a “static analysis score” produced by score determination logic145. It is contemplated that some or all of the other information within the VM-based results, such as metadata within the static analysis results149and/or information associated with anomalous behaviors detected by monitoring logic168for example, may be stored as analysis results178and subsequently routed to the second (metadata) data store184without being operated upon by the prioritization logic176and/or the score determination logic177.

According to one embodiment of the disclosure, the score determination logic177includes one or more software modules that are used to determine a final probability as to whether the suspect object is part of a malicious attack. The resultant (final) score representative of this final probability may be included as part of analysis results178, which may be subsequently stored with metadata corresponding to that suspect object in the second (metadata) data store184of the correlation engine180. Where the score determination logic177has failed to determine that the suspect object148is malicious based on the static analysis results149(e.g., static analysis score, etc.) and/or the VM-based results172(e.g., dynamic analysis score, etc.), the classification engine175may refrain from providing the results to data store184.

Referring still toFIG. 1, the correlation engine180includes metadata reporting/retrieval logic182and second (metadata) data store184. The metadata reporting/retrieval logic182may be configured to establish communications with cloud computing services138, management system120, and/or correlation engines within other TDSes (e.g., TDSes1102and1103). These communications enable the correlation engine180to receive metadata associated with malicious objects detected outside the first TDS1101and to output metadata associated with malicious objects detected by the first TDS1101.

It is contemplated that, in order to establish communications, the metadata reporting/retrieval logic182needs necessary network address information to contact the other TDSes and uniquely identify the correlation engine operating on each of these TDSes. If the metadata reporting/retrieval logic182is unable to uniquely identify the correlation engine, then it will be unable to correctly organize the gathered metadata for accurate geographical depiction of the network and the characteristics associated with each network device. Furthermore, these communications may be established upon issuance of the request by the virtualization logic194or even prior to issuance of the request through automatic or manual triggering events such as a scheduled, time-based metadata exchange. According to one embodiment, some of the functionality of the correlation engine180may be consistent with controller-based operations as described in U.S. patent application Ser. No. 13/073,357 filed Mar. 28, 2011 and incorporated herewith by reference.

Additionally, the metadata reporting/retrieval logic182may be further configured to establish communications with endpoint device(s)130in order to receive metadata associated with the endpoint device(s)130so that the virtualization logic194can provide an interactive display of the network100, which may be used to provide a holistic view of an entire malware attack. For instance, the metadata reporting/retrieval logic182may communication with each endpoint device130to obtain its audit log. An audit log may include prior and/or current state information for that endpoint device and other metadata that may be used to identify the endpoint device, which may have become infected by receipt of an object of the network traffic determined to be malicious. For instance, where the endpoint device(s)130is implemented with signature matching logic for use in malware detection at the endpoint, the metadata associated with the audit log may include a detected malware signature and/or a malware name for the detected malware.

Herein, according to one embodiment of the disclosure, the UI rendering subsystem190includes display generation logic192which, under control of the virtualization logic194, is adapted to generate one or more geographical displays that illustrate the infection vector and the propagation of the malware across the network100. Additionally, the propagation of the malware prior to its entry into and/or exit from the network100may be geographically displayed. The virtualization logic194may be activated manually via user interface196. Alternatively, the virtualization logic194may be activated automatically (without user intervention) upon detection of a malicious attack by display generation logic192. Such detection may be accomplished by the display generation logic192monitoring at least a portion of the metadata (e.g., final score value computed by score determination logic177) received from the second data store184and activating the virtualization logic194when this score value signifies an extremely high probability (e.g., greater than 99% likelihood) of a malicious attack. As yet another alternative, the virtualization logic194may be activated by a real-time clock (not shown) upon occurrence of a time-based scheduled event.

Upon activation, the virtualization logic194may issue a request for metadata to the correlation engine180in order to generate display(s) that illustrates the propagation of a particular malware associated with a malware attack as well as the infection vector, where the metadata may include metadata associated with malicious objects detected by TDS1101as well as metadata associated with malicious objects detected by other network devices such as TDS1102and1103or metadata associated with the endpoint device(s)130for example. The operations by the metadata reporting/retrieval logic182in obtaining metadata from other network devices may be performed prior to issuance of the request by the virtualization logic194through automatic or manual triggering events such as a scheduled, time-based metadata exchange.

Herein, the virtualization logic194may be pre-loaded with (i) metadata for accessing certain web-based information (e.g., Google® maps for map generation, etc.), (ii) metadata associated with the network device(s) of the network100, and/or (iii) logic that is adapted to gather metadata from the correlation engine180. This particular metadata may be used in the generation of geographical displays for illustrating the propagation of the malware as well as the characteristics of the detected malware.

Referring now toFIG. 2, a block diagram of a second embodiment of an exemplary network adapted with another configuration for the first TDS1101is shown. According to one embodiment of the disclosure, the first TDS1101may be communicatively coupled in-line with the endpoint device(s)130. As shown, the first TDS1101may be communicatively coupled with the network132via an interface unit220, which directs signaling210on communication network132to static analysis engine140and/or classification engine175, given that the dynamic analysis engine160may be deployed with the first TDS1101(as inFIG. 1) or may be deployed in cloud computing services138as shown. Hence, one or more objects along with metadata in the network traffic are routed to the static analysis engine140via communication path225. The suspect objects may be routed via communication path240to the dynamic analysis engine160in cloud computing services138. Similarly, objects that are not determined to be at least “suspicious” may be returned via communication path240for continued routing to endpoint device(s)130. The results of the dynamic analysis engine160(e.g., exploit information) may be routed via communication paths250and260for prioritization before storage within a database as analysis results178for subsequent use by the display generation logic192.

Referring now toFIG. 3, an exemplary embodiment of a logical representation of the first TDS1101is shown. The first TDS1101includes one or more processors300that are coupled to communication interface logic310via a first transmission medium320. Communication interface logic310enables communications with other TDS1102-1103and management system120ofFIG. 1. According to one embodiment of the disclosure, communication interface logic310may be implemented as a physical interface including one or more ports for wired connectors. Additionally, or in the alternative, communication interface logic310may be implemented with one or more radio units for supporting wireless communications with other electronic devices.

Processor(s)300is further coupled to persistent storage330via transmission medium325. According to one embodiment of the disclosure, persistent storage330may include (a) static analysis engine140, including controller141, static analysis logic143and/or score determination logic145; (b) the dynamic analysis engine160that includes the processing logic162and the virtual execution logic164(e.g., the virtual execution environment166, the monitoring logic168and/or an optional score determination logic169); (c) classification engine175including prioritization logic176, score determination logic177and analysis results178; (d) correlation engine180including metadata reporting/retrieval logic182; (e) the UI rendering subsystem190including display generation logic192and/or virtualization logic194; and (f) data stores142,184and170. Of course, when implemented as hardware, one or more of these logic units could be implemented separately from each other.

IV. Display Screens of Detected Malware

Referring now toFIG. 4, an exemplary embodiment of a malware detection screen that lists potential malware attacks detected by one or more of the TDSes deployed with the network is shown. Herein, rendered by the UI rendering subsystem190, the display screen400features a plurality of display areas410and430that illustrate information directed to exploits uncovered over a selected time period by the one or more TDSes1101-3and/or management system120.

According to one embodiment of the disclosure, a first area410displays a plurality of entries4201-420R(R≥1, R=9 for this embodiment) that provides information directed to detected malware infections. As shown, each row of entries (e.g., row4201) rendered by the UI rendering subsystem190features a plurality of fields, including one or more of the following: (1) a date of the detection421; (2) a malware name422; (3) a point from which the detected malware infection originated423(e.g., device name, MAC address, IP address, etc.); (4) a point at which malware infection was detected424(e.g., an email address, an IP address, a MAC address, etc.); and/or (5) the one or more portions of the TDS1101by which malware infection was detected (e.g., email TDS, web TDS, file TDS, mobile TDS).

A second area430may be configured to allow selection of one or more detected malware infection for viewing on a visual representation (e.g., a static or dynamic picture or a video representation). In one embodiment, when a detected malware infection has been selected, the row may appear highlighted as is seen inFIG. 4. The button440labeled “Infection vector” enables viewing of the visual representation of the selected entries. For example, based on the exemplary embodiment ofFIG. 4in which entry4202is selected, activation of the button440labeled “Infection vector” would subsequently present a visual representation of the detected malware infections represented in entry4201.

The visual representation may be comprised of, among other things, a static picture of a map providing a visual illustration of the one or more hops from its point of origin to the point at which it was detected. Metadata associated with hops outside an enterprise network (e.g., enterprise network503ofFIG. 5) may be retrieved from servers external to the enterprise network while metadata associated with the hops within the enterprise network may be accessible from a selected TDS. In other embodiments, the visual representation may also include hops traveled from the point of detection (e.g., to endpoint devices and/or to external callback locations). Furthermore, the visual representation may be a dynamic picture in which a portion of the visual representation becomes animated upon selection (e.g., expanding to illustrate endpoint devices to which the detected malware infection has traveled). The visual representation may also be portrayed as a video which details one or more hops the detected malware infection has traveled from its point of origin. Additionally, the visual representation may be a nested interactive display screen.

Referring now toFIG. 5, an exemplary embodiment of a first nested interactive display screen500for display of an infection vector associated with malware and the propagation of malware is shown. Herein, rendered by the UI rendering subsystem190, display screen500features an illustration of the plurality of hops taken by a detected malware infection from its point of origin501to an entry point into an enterprise network503to a location of a callback505overlaid on a portion of a world map.

In the embodiment shown inFIG. 5, the detected malware infection is seen to originate in the Ukraine (e.g., the point of origin501) travel along hop path1745to New York State (e.g., an entry point into the enterprise network503) and subsequently along hop path4760to Chile (e.g., the location of a callback505). The callback resulting in hop path4is seen as “Callback C&C Server Data/Information Steal”760. In some embodiments, a user viewing the display screen500(e.g., a network analyst employed by the enterprise infected by the malware and/or infection) may select (e.g., click with a pointer or touch via a touch screen) an item on the display screen500to view further information on one or more nested interactive display screens as shown inFIGS. 6A-6Cdescribed below.

Referring toFIG. 6A, an exemplary embodiment of a second nested interactive display screen600for display of a country associated with an origin for the detected malware and/or particulars associated with the origin for the detected malware ofFIG. 5is shown. By selecting the point of origin501inFIG. 5(e.g., Ukraine), a viewer may obtain a more focused view of the country associated with an origin for the detected malware and/or particulars associated with the origin for the detected malware. As seen inFIG. 6A, a pinpoint610appears on a map of Ukraine, the country associated with an origin of the detected malware. The view represented byFIG. 6Aallows the viewer to obtain a visual understanding of the geographic location of the origin of the malware within the country associated with the origin for the detected malware. In one embodiment, a viewer may select the pinpoint610or a pop-up display615to view infection details as described below and illustrated inFIG. 8A.

Referring toFIG. 6B, an exemplary embodiment of a third nested interactive display screen620for display of an area of an entry point of the detected malware in the enterprise network ofFIG. 5is shown. By selecting the entry503inFIG. 5(e.g., New York State), a viewer may obtain a more focused view of the area of an entry point of the detected malware in the enterprise network. As seen inFIG. 6B, a pinpoint630appears on a map of New York State, the area of an entry point of the detected malware. The view represented byFIG. 6Ballows the viewer to obtain a visual understanding of the geographic location of the area of an entry point of the detected malware. In one embodiment, a viewer may select the pinpoint630or a pop-up display635to view infection details of the enterprise network at the entry point as described below and illustrated inFIG. 8B.

Referring toFIG. 6C, an exemplary embodiment of another nested interactive display screen640for display of an area associated with a targeted destination505of a command and control (CnC) server that illicitly extracted information from the enterprise network is shown. By selecting the entry505inFIG. 5(e.g., Santiago, Chile), a viewer may obtain a more focused view of the area of a destination point for information obtained by the detected malware in the enterprise network. As seen inFIG. 6C, a pinpoint650appears on a city Santiago in the country of Chile. The view represented byFIG. 6Callows the viewer to select the pinpoint650or a pop-up display655to view infection details associated with the targeted destination, which includes some or all of the information as set forth inFIG. 8Aalong with filename, document name, size, date created and other metadata associated with the extracted file or document.

Referring toFIG. 7, an exemplary embodiment of a fourth nested interactive display screen for display of one or more TDSes deployed within the enterprise network and the propagation paths of the detected malware ofFIGS. 5-7is shown. Pinpoint630represents an entry point of the detected malware in the enterprise network of Company ABC. The detected malware may spread laterally throughout the enterprise network. InFIG. 7, the malware travels via hop path2750to TDS (web-based traffic)710. The TDS (web-based traffic)710may be positioned as a tap and only obtain a copy of the web-based traffic containing the malware while permitting the web-based traffic to spread laterally to a one or more endpoint devices (e.g., a plurality of enterprise laptops)720via hop path3755.

From the endpoint devices720, a callback may be made to an external server at pinpoint650(e.g., in Santiago, Chile) via hop path4760. The callback may be due to, for example, an automatic execution of executable code (e.g., a portion of the malware) that may open a communication port between one of the endpoint devices720(e.g., endpoint device7201) and the server in Santiago, Chile and/or send data from the endpoint device7201to the server in Santiago, Chile. Alternatively, the callback may enable the server to upload code (such as more malware) onto the endpoint device7201. The metadata associated with this information may be obtained from the endpoint device7201responsible for the callback or from web-based traffic being monitored by the TDS710for example.

The malware may also spread laterally through peer-to-peer communication within the enterprise network, where metadata of the lateral infection may be provided by an infected endpoint device7202or an endpoint device7211being infected. For example, a document may be transferred (through email, Bluetooth® and/or a flash drive) via hop path5765from the endpoint device7202to one or more endpoint devices (e.g., enterprise laptop7211). The malware may travel to TDS (file)711via hop path6770from the endpoint device7211and subsequently from TDS (file)711to one or more endpoint devices720via hop path7775. Alternatively, the malware may travel to one or more endpoint devices720from TDS (email)712via hop path8780. Furthermore, the TDS (mobile)713may spread the malware to one or more endpoint devices (e.g., tablets)722or one or more endpoint devices (e.g., mobile phones)723along hop path9785and hop path10790, respectively.

It is contemplated that metadata associated with the propagation of the malware is stored within correlation engines of TDS (web-based traffic)710, TDS (file)711, TDS (email)712and TDS (mobile)713, where the metadata may be exchanged between these correlation engines. As a result, independent of which TDS710-713is queried by the network analyst, each TDS710-713has an ability to provide one or more geographical displays that illustrate the infection vector and the propagation of the malware within the enterprise network. Combined with access to traffic origination geo-servers or third party servers monitoring traffic through public networks outside the enterprise network and metadata gathered from endpoint devices involved in these communications, each TDS710-713may provide the entire propagation path for the malware. Of course, it is contemplated that the TDSes710-713may be organized in a master-slave orientation in which a master TDS aggregates the collective metadata and handles the holistic geographical displays.

Referring toFIGS. 8A-8E, exemplary embodiments of display screens listing parameters of which some or all are displayable upon selection of the origin of the detected malware, the entry point area and endpoint devices of the enterprise network are shown. Referring toFIG. 8A, an exemplary embodiment of a display screen listing parameters of the origin of the detected malware is shown. Herein, rendered by the UI rendering subsystem190, display screen800features a plurality of buttons805-808and a display area810, where buttons806and812are highlighted to identify the origin display. According to one embodiment of the disclosure, the display area810features a plurality of entries8111-811Q(Q≥1, Q=7 for this embodiment) that provide information directed to the selected hop (e.g., origin) in the propagation of the malware. As shown inFIG. 8A, the display area810features entries such as, but not limited or restricted to: (1) a date of the original transmission of the malware8111; (2) a malware name8112; (3) the host name of the originating network device8113; (4) the IP address of the originating network device8114; (5) the MAC address of the originating network device8115; (6) the connection speed of the originating network device8116(e.g., dial-up, broadband, T1/T2, etc.); and/or (7) the geographic location of the originating network device8117(e.g., country, region/state, and/or street address).

The entry directed a connection speed of the originating network device8116may give the viewer information from which one may imply a nature of the malware attack. For instance, if the connection speed of the originating network device is a high-speed such as a T1 or T2 connection, this may allow for the inference that a government entity is behind the propagation of the malware. A slower connection speed, such as a dial-up or cable modem connection for example, may denote that the malicious attack is initiated by an individual.

Buttons805-808and812-814provide additional functionalities for the viewer. For instance, in the embodiment ofFIGS. 8A-8E, button814appears as an icon of a floppy disk representing a “save” option. By selecting button814, the viewer may save the information listed on display screen801. In one instance, selecting button805labeled “Infection vector” enables the viewer to return to the nested interactive display screen ofFIG. 5, and in yet another embodiment, selecting button805enables the viewer to return to the nested interactive display screen ofFIG. 6A. Selecting one of buttons806-808enables a viewer to alternate between display screens listing parameters of which some or all are displayable upon selection of the origin of the detected malware, the entry point area and endpoint devices of the enterprise network. Selecting one of buttons812or813enables the viewer to see the particulars for the selected network device (e.g., at the point of origin, at the entry point, or for one or more endpoint devices) or for the detected malware respectively.

Referring toFIG. 8B, an exemplary embodiment of a display screen listing parameters of the entry point of the detected malware in the enterprise network is shown, where buttons807and812are highlighted to identify the entry point display. Herein, rendered by the UI rendering subsystem190, display screen801features a plurality of buttons805-808and812-814, and a display area820. According to one embodiment of the disclosure, the display area820features a plurality of entries8211-821S(S≥1, S=10 for this embodiment) that provide information directed to the selected hop of the propagation of the malware. As shown inFIG. 8B, the display area820features entries such as, but not limited or restricted to: (1) the date of the detection8211; (2) the network device name8212; (3) the IP address of the detecting network device8213; (4) the MAC address of the detecting network device8214; (5) the type of network device8215; (6) the connectivity status of the detecting network device8216; (7) a proxy behind which the detecting network device resides or reports to8217(e.g., reporting via X-Forwarded-For “XFF” protocol); (8) a subnet to which the detecting network belongs8218; (9) the mode of operation of the detecting network device at the time of detection8219and/or (10) the portion of the TDS that detected the malware (e.g., web TDS, email TDS, file TDS, mobile TDS). Examples of other entries that may appear in display screen801include, but are not limited or restricted to, the size of the detecting device, other network devices to which the detecting device was connected at the time of detection and/or endpoint devices the detecting device was serving at the time of detection.

The network device type entry8215may inform the viewer of whether the detecting network device is a firewall, router, switch or other networked electronic device) or a standalone component, such as an appropriate commercially available network tap. The connectivity status entry8216may inform the viewer whether there exists current, active communications with a CnC server or other malicious server. The proxy entry8217may inform the viewer of the proxy behind which the detecting network device was operating at the time of detection (if applicable) or the proxy to which the detecting network device was reporting at the time of detection (if applicable). The subnet entry8218may inform the viewer of the subnet with which the detecting network device was associated at the time of detection (if applicable). The mode of operation entry8219may inform the viewer of whether the detecting network device was operating in a detection mode (e.g., detection and reporting findings of malicious attacks) or in prevention mode (e.g., detection and remediation of malicious attacks) at the time of detection. If the detecting network device was in prevention mode and therefore actively preventing malware from entering and spreading throughout the enterprise network, but subsequently allowed the malware to infect one or more electronic devices connected to the enterprise network, an update is likely needed to increase the effectiveness of the TDS (e.g., a software patch identifying the malware that is currently infecting one or more electronic devices connected to the enterprise network).

Referring toFIG. 8C, an exemplary embodiment of a malware detection screen that lists one or more endpoint devices infected by the malware attack illustrated inFIG. 5is shown. Herein, rendered by the UI rendering subsystem190, the display screen802features a plurality of buttons805-808and812-814, and a display area830.

According to one embodiment of the disclosure, the display area830displays a plurality of entries8311-831U(U≥1, U=4 for this embodiment) that provide information directed to detected malware infections. As shown, each row of entries (e.g.,8311) represents a date832and a device name833of an infected endpoint device. The date832represents the date on which the malware was received by the endpoint device and the device name833represents a unique name of the endpoint device (e.g., MAC address or a name, if applicable). In some embodiments, the selection of an endpoint device within the display screen830(e.g., “ABC_Mobile_Device_1” 833) may enable a viewer to see further details regarding the selected endpoint device.

Referring toFIG. 8D, an exemplary embodiment of a display screen listing parameters of a selected, infected endpoint device is shown, where buttons808and812are highlighted to identify the endpoint device display. Herein, rendered by the UI rendering subsystem190, display screen803features a plurality of buttons805-808and812-814and a display area840. According to one embodiment of the disclosure, the display area840features a plurality of entries8411-841V(V≥1, V=9 for this embodiment) that provide information directed to the selected hop of the propagation of the malware. As shown inFIG. 8D, the display area840features entries such as, but not limited or restricted to: (1) the date of the detection8411; (2) the device name8412; (3) the IP address of the infected endpoint device8413; (4) the MAC address of the infected endpoint device8414; (5) the type of endpoint device8415; (6) the software version running on the infected network device8416; (7) a network device association of the infected endpoint device8417; (8) a subnet to which the infected endpoint device belongs8418; and/or (9) any callbacks made by the infected endpoint device as a result of the malware8419.

The endpoint device type entry8415may inform the viewer of whether the detecting network device is a laptop, a desktop, a mobile cellular device, a tablet, etc. Examples of a software-type entry8416may include, but are not limited or restricted to, computing operating systems such as Windows® XP, Windows® 7, Windows® 8, Mac OS® X and/or Mac OS® Maverick, and/or a mobile operating system such as Android™ JellyBean or iOS. The network device association entry8417may inform the viewer of to which network device the mobile device was connected at the time of infection. The subnet entry8418may inform the viewer of the subnet with which the infected endpoint device was associated at the time of infection (if applicable). The resultant callbacks entry8419may inform the viewer of whether any callbacks have been made to external locations as a result of the malware infecting the endpoint device.

Referring toFIG. 8E, an exemplary embodiment of a display screen listing parameters of the detected malware in the enterprise network is shown. Herein, rendered by the UI rendering subsystem190, display screen804features a plurality of buttons805-808and812-814, and a display area850. According to one embodiment of the disclosure, the display area850features a plurality of entries8511-851W(W≥1, W=5 for this embodiment) that provide information directed to the detected malware. As shown inFIG. 8E, the display area850features entries such as, but not limited or restricted to: (1) the name of the malware8511; (2) the known family of the malware8512; (3) types of malicious activity conducted such as information compromised or stolen via call-back, etc.8513; (4) information that identifies whether the malware has spread laterally8514; and/or (5) the geographic locations to the malware has been transmitted to/from8515.

Referring toFIG. 9, an exemplary embodiment of a holistic interactive display screen for display of an infection vector associated with malware and the propagation of malware selected in on malware detection screen ofFIG. 4is shown. To accomplish this, the nested interactive display screen ofFIG. 7was overlaid on a portion of a world map.FIG. 9illustrates the propagation of the malware from the country associated with an origin for the detected malware and/or particulars associated with the origin for the detected malware to an area of an entry point of the detected malware in the enterprise network.FIG. 9further illustrates the lateral spread of the malware throughout the enterprise network and, based on the infection of one or more endpoint devices connected to the enterprise network, a resultant call-back to an external server.

In the foregoing description, the invention is described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. For instance, the gathering and storage of metadata may be conducted by a dedicated network device other than a TDS, where the dedicated network device communicates with the TDSes and endpoint devices to acquire metadata. The functionality of the dedicated network device would be consistent with the metadata capture logic, the correlation engine and the UI rendering subsystem190as described above.