# Patent

## Title
Electronic device for aggregation, correlation and consolidation of analysis attributes

## Abstract

In communication with security appliances, an electronic device for providing a holistic view of a malware attack is described. The electronic device features one or more processors and a storage device. The storage device includes aggregation logic, correlation logic, consolidation logic, and display logic: The aggregation logic is configured to receive input attributes and analysis attributes from each of the security appliances. The correlation logic attempts to find relationships between analysis attributes provided from each security appliance. The consolidation logic receives at least (i) a first analysis attribute from a first security appliance and (ii) a second analysis attribute from a second security appliance in response to the first analysis attribute corresponding to the second analysis attribute. The display logic generates display information including the consolidated input attributes.

## Background
RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 13/828,785 filed on Mar. 14, 2013, now U.S. Pat. No. 9,311,479 issued Apr. 12, 2016, the entire contents of which are incorporated by reference herein.


FIELD OF THE INVENTION
Embodiments of the disclosure relate to the field of network security. More specifically, one embodiment of the disclosure relates to a system, apparatus and method for correlating analytic data produced by different malware content detection systems, and consolidating portions of this data to provide a holistic view of a malware attack.
BACKGROUND
Over the last decade, malicious software (malware) has become a pervasive problem for Internet users. In some situations, malware is a program or file that is embedded within downloadable content and designed to adversely influence (i.e. attack) normal operations of a computer. Examples of different types of malware may include bots, computer viruses, worms, Trojan horses, spyware, adware, or any other programming that operates within the computer without permission.
For instance, content may be embedded with objects associated with a web page hosted by a malicious web site. By downloading this content, malware causing another web page to be requested from a malicious web site may be unknowingly installed on the computer. Similarly, malware may also be installed on a computer upon receipt or opening of an electronic mail (email) message. For example, an email message may contain an attachment, such as a Portable Document Format (PDF) document, with embedded executable malware. Also, malware may exist in files infected through any of a variety of attack vectors, which are uploaded from the infected computer onto a networked storage device such as a file share.
Over the past few years, various types of security appliances have been deployed at different segments of a network. These security appliances are configured to uncover the presence of malware embedded within ingress content propagating through over these different segments. However, there is no mechanism that operates, in concert with multiple security appliances, to correlate and consolidate information from these security appliances in order to provide a customer with a holistic view of a malware attack.



BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments of the invention are illustrated by way of example and not by way of limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
FIG. 1 is an exemplary block diagram of a communication network deploying a plurality of malware content detection (MCD) systems.
FIG. 2 is an exemplary block diagram of logic implemented within the management system of FIG. 1.
FIG. 3 is an exemplary block diagram of an Analytic Data Response message received by the management system from a MCD system.
FIG. 4 is an exemplary diagram of logic within a MCD system.
FIG. 5A is an exemplary embodiment of a flowchart partially illustrating an operation of populating a data store by a MCD system for subsequent access by the management system.
FIGS. 5B and 5C are exemplary general diagrams of the aggregation of analytic data by a MCD system for supply to the management system.
FIG. 6A is an exemplary embodiment of a flowchart of the general operations for correlating and consolidating analytic data from multiple MCD systems as conducted by the management system.
FIG. 6B is an exemplary embodiment of a more detailed flowchart partially illustrating correlation and consolidation of analytic data by the management system.
FIGS. 7A-7D are exemplary embodiments of a detailed illustrative example of aggregation, correlation and consolidation of analytic data by the management system.
FIG. 8 is an exemplary embodiment of a display screen that includes data produced by the correlation logic and consolidation logic to provide a consumer with a holistic view of a malware attack.



DETAILED DESCRIPTION
Various embodiments of the disclosure relate to a management system configured to correlate analytic data received from multiple malware content detection (MCD) systems. In general, the management system controls the uploading of analytic data from each MCD system. This analytic data enables the management system to (i) determine whether the same malware appears to be present at different MCD systems (i.e. evidence of a malware attack) and (ii) consolidate at least a portion of the analytic data in order to provide a holistic view of the malware attack. This “holistic view” may be accomplished by generating one or more screen displays that provide comprehensive details concerning the network entry point and migration of suspicious network content.
More specifically, the management system is configured to receive, from each of the MCD systems, analytic data associated with suspicious network content that has been analyzed by that MCD system for malware. The analytic data comprises (1) information that identifies the suspicious network content (e.g., a time-stamp value, monotonic count value, or another type of identifier); (2) input attributes; and (3) analysis attributes. In general, “input attributes” include information used in the routing of the content, such as source and/or destination information. “Analysis attributes” include information directed to portions of the suspicious network content that are analyzed for malware (hereinafter referred to as “artifacts”) as well as one or more anomalous behaviors observed during malware detection analysis of the artifacts.
After receipt of analytic data from different MCD systems, the management system correlates the analytic data by recursively comparing analysis attributes recovered from one MCD system with analysis attributes recovered from one or more other MCD systems. Upon determining that at least certain analysis attributes from different MCD systems match, the input attributes corresponding to these compared analysis attributes may be consolidated to provide greater details as to the infection vector for the suspicious network content (e.g. initial source, number of recipients, time of receipt, etc.).
I. Terminology
In the following description, certain terminology is used to describe features of the invention. For example, in certain situations, the terms “logic” and “engine” are representative of hardware, firmware or software that is configured to perform one or more functions. As hardware, logic may include circuitry such as processing circuitry (e.g., a microprocessor, one or more processor cores, a programmable gate array, a microcontroller, an application specific integrated circuit, etc.), wireless receiver, transmitter and/or transceiver circuitry, semiconductor memory, combinatorial logic, or other types of electronic components.
As software, logic 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 non-transitory storage medium may include, but is 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 “network content” generally refers to information transmitted over a network as one or more messages, namely a grouping of information that comprises a header and a payload, such as any of the following: a packet; a frame; a stream being a sequence of packets or frames; an Asynchronous Transfer Mode “ATM” cell; or any other series of bits having a prescribed format. The “payload” is generally defined as including the data associated with the message such as text, software, an image, an object, audio, video, a Uniform Resource Locator (URL), or other types of digital data. The “header” is generally defined as including control information. However, the specific types of control information depend on the network content type.
For data traffic, such as data transmitted in accordance with a Hypertext Transfer Protocol (HTTP), HyperText Markup Language (HTML) protocol, the header may include source and destination Internet Protocol (IP) addresses (e.g., IPv4 or IPv6 addressing) and/or source and destination port information.
Another examples of network content includes email, which may be transmitted using an email protocol such as Simple Mail Transfer Protocol (SMTP), Post Office Protocol version 3 (POP3), or Internet Message Access Protocol (IMAP4). A further example of network content includes an Instant Message, which may be transmitted using Session Initiation Protocol (SIP) or Extensible Messaging and Presence Protocol (XMPP) for example. Yet another example of network content includes one or more files that are transferred using a data transfer protocol such as File Transfer Protocol (FTP) for subsequent storage on a file share. Where the network content is email, Instant Message or a file, the header may include the sender/recipient address, the sender/recipient phone number, or a targeted network location of the file, respectively.
The term “malware” is directed to software that produces an undesirable behavior upon execution, where the behavior is deemed to be “undesirable” based on customer-specific rules, manufacturer-based rules, or any other type of rules formulated by public opinion or a particular governmental or commercial entity. This undesired behavior may include a communication-based anomaly or an execution-based anomaly that (1) alters the functionality of an electronic device executing that application software in a malicious manner; (2) alters the functionality of an electronic device executing that application software without any malicious intent; and/or (3) provides an unwanted functionality which is generally acceptable in other context.
The term “transmission medium” is a communication path between two or more systems (e.g. any electronic devices with data processing functionality such as, for example, a security appliance, server, mainframe, computer, netbook, tablet, smart phone, router, switch, bridge or brouter). 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.
Lastly, the terms “or” and “and/or” as used herein are to be interpreted as inclusive or meaning any one or any combination. Therefore, “A, B or C” or “A, B and/or C” mean “any of the following: A; B; C; A and B; A and C; B and C; A, B and C.” An exception to this definition will occur only when a combination of elements, functions, steps or acts are in some way inherently mutually exclusive.
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 Architecture
Referring to FIG. 1, an exemplary block diagram of a communication network 100 deploying a plurality of malware content detection (MCD) systems 1101-110N (N>1) communicatively coupled to a management system 120 via a network 130 is shown. In general, management system 120 is adapted to manage MCD systems 1101-110N. For instance, management system 120 may be adapted to cause malware signatures generated by any of MCD systems 1101-110N to be shared with one or more of the other MCD systems 1101-110N, for example, on a subscription basis. Furthermore, management system 120 may be adapted to aggregate, correlate and consolidate analytic data provided by MCD systems 1101-110N for subsequent conveyance to an electronic device 125 with display capabilities, as represented by communication paths 115. This analytic data, when correlated and consolidated, provides a network administrator with more information for defending against and preventing a malware attack.
Each MCD system 1101-110N (N=3) is adapted to intercept and analyze network content (e.g., data traffic, email, files, etc.) in real-time so as to determine whether the network content constitutes suspicious network content. The network content is considered to be “suspicious” when a portion of the network content (e.g. payload data) is determined, with a certain level of likelihood, to include malware.
According to this embodiment of the communication network, a first MCD system 1101 may be a web-based security appliance that is configured to inspect ingress data traffic, identify whether any artifacts of the data traffic may include malware, and if so, analyze at least those artifacts. This analysis may be partially conducted in a virtual machine (VM) execution environment to detect anomalous behaviors that would be present if the data traffic was actually processed by an electronic device. The particulars of this analysis are described below.
As shown in FIG. 1, first MCD system 1101 may be deployed as an inline security appliance (not shown) or coupled to network 130 via a network tap 1501 (e.g., a data/packet capturing device), which can be integrated into first MCD system 1101, provided as a standalone component, or integrated into different network components such as a firewall 140, a router, a switch or other type of network relay device. Network tap 1501 may include a digital network tap configured to monitor network content (data traffic) and provide a copy of the data traffic along with its metadata to first MCD system 1101 for analysis. The data traffic may comprise signaling transmitted over network 130, including data from/to a remote server 160.
As further shown in FIG. 1, second MCD system 1102 is a communication-based security appliance that is configured to analyze and report suspicious network content, such as malware within an incoming communication message (e.g., email message, short message service “SMS” message, etc.). As shown, second MCD system 1102 may be positioned within a message transfer agent (MTA) deployed in network 130 as shown, or connected to network 130 via a network tap.
Third MCD system 1103 is a storage-based security appliance that is configured to analyze and report suspicious network content, such as potential malware within a file to be uploaded into one or more file shares 160. As with first MCD system 1101, third MCD system 1103 may be deployed as an inline security appliance (not shown) or coupled to network 130 via a network tap 1502.
It is contemplated that management system 120 may be deployed to provide cloud computing services for correlation and consolidation of the analytic data as described. Furthermore, it is contemplated that the functionality of one or more MCD systems 1101-110N may be incorporated into management system 120 when malware detection is to be conducted at a centralized resource.
Referring now to FIG. 2, an exemplary block diagram of logic that is implemented within management system 120 is shown. Management system 110 comprises one or more processors 200 that are coupled to communication interface logic 210 via a first transmission medium 220. Communication interface 210 enables communications with MCD systems 1101-110N of FIG. 1 as well as other electronic devices over private and/or public networks, such as electronic device 125 used to view the correlated and consolidated analytic results from the malware detection analysis. According to one embodiment of the disclosure, communication interface logic 210 may be implemented as a physical interface including one or more ports for wired connectors. Additionally, or in the alternative, communication interface logic 210 may be implemented with one or more radio units for supporting wireless communications with other electronic devices.
Processor 200 is further coupled to persistent storage 230 via transmission medium 225. According to one embodiment of the disclosure, persistent storage 230 may include configuration logic 240, distribution logic 250, aggregation logic 260, correlation logic 270 and/or consolidation logic 280. Of course, when implemented as hardware, logic 240, 250, 260, 270 and/or 280 would be implemented separately from persistent memory 230.
Configuration logic 240 provides centralized control of the functionality of MCD systems 1101-110N. In particular, configuration logic 240 allows an administrator in a customer environment to alter configuration information within MCD systems 1101-110N as well as other networked electronic devices. For instance, as illustrative examples, configuration logic 240 may be used to alter the Internet Protocol (IP) address assigned to one of the security appliances (e.g., MCD system 1101), alter key information stored within any of MCD systems 1101-110N, alter user access/privileges so that different administrators have different access rights, or the like.
Distribution logic 250 allows management system 120 to influence analysis priorities at one MCD system based on suspicious network content detected at another MCD system. For instance, during analysis of the network content, a second MCD system 1102 may receive an email message for malware detection analysis, where the email message includes an artifact (e.g., URL) within its payload. As second MCD system 1102 is not configured to analyze the URL before access by the end-user, the URL is merely provided to management system 120 as an analysis attribute.
The presence of certain artifacts (e.g., URL) as an analysis attribute within the stored analytic data may prompt distribution logic 250 to transmit a priority message to first MCD system 1101 of FIG. 1. The priority message requests malware detection analysis to be conducted on any network content associated with the URL, where the URL is selected by the end user. Of course, it is contemplated that management system 120 may be adapted to ignore or lessen the analysis priority of network content, especially where the network content is determined to be provided from a trusted source.
Aggregation logic 260 is configured to request (i.e. pull) analytic data from each of the MCD systems 1101-110N for storage within an internal data store 290, where at least a portion of the analytic data is used by correlation logic 270. In particular, according to one embodiment of the disclosure, aggregation logic 260 maintains network addresses (e.g., Internet Protocol “IP” address and/or media access control “MAC” address) for each MCD system 1101-110N. In response to a triggering event, where the event may be scheduled based on an elapsed time or may be aperiodic, aggregation logic 260 sends a message to one or more MCD systems 1101-110N requesting analytic data (hereinafter generally referred to as an “Analytic Data Query message”). Within each Analytic Data Query message, aggregation logic 260 may provide information (e.g. last stored time-stamp value and/or sequence value, etc.) to assist a targeted MCD system (e.g., MCD system 110i, where 1≦i≦N) to identify stored analytic data that has not yet been uploaded to management system 120.
In response to an Analytic Data Query message, management system 120 receives one or more Analytic Data Response messages 300 from targeted MCD system 110i as shown in FIG. 3. Analytic Data Response message 300 comprises (1) a header 310 and (2) a payload 350. Header 310 includes at least a source address 320 identifying MCD system 110i. Payload 350 comprises information associated with suspicious network content analyzed by the targeted MCD system. The information includes at least (i) an identifier for the suspicious network content (e.g., assigned sequence number and/or time-stamp value, etc.), (ii) one or more input attributes associated with the suspicious network content, and/or (iii) one or more analysis attributes associated with the suspicious network content.
It is contemplated that multiple messages may be utilized to provide the information to management system 120, such as the analysis attributes being provided in a first message and input attributes provided in a subsequent message. Also, it is contemplated that MCD system 110i may be adapted to “push” the input attributes and/or analysis attributes in lieu of the “pull” operations as described.
Where different MCD systems are operating on common suspicious network content, these MCD systems 1101-110N of FIG. 1 will provide one or more identical analysis attributes. These analysis attributes are identical, in part, because the malware detection analysis conducted by these MCD systems is in accordance with a common mechanism as described below (static and VM-execution environment). The input attributes are different based on the MCD system analyzing the network content. Examples of analysis and input attributes realized by different types of MCD systems are set forth below in Table A.







TABLE A







Examples of Attributes 








MCD System Type
Attributes (Input “I” and/or Analysis “A”)





Network-based
I: Source IP (and/or MAC) address 



I: Destination IP (and/or MAC) address 



A: URL (website accessed) 



A: Information identifying anomalous behaviors 



detected within the virtual execution environment 



(e.g., file changes, registry changes, process



changes, etc.)


Communications-based
I: Sender identifier (email address, phone number 



for text, etc.) 



I: Recipient identifier (email address, phone 



number for text, etc.) 



I: Subject Line information 



A: URL(s) present in communication message 



A: Attachment present in communication message 



A: Information identifying anomalous behaviors 



detected within the virtual execution environment 



(e.g., file changes, registry changes, process 



changes, etc.)


Storage-based
I: Network location of the file 



I: Source IP (and/or MAC) address of 



downloading source



A: File Share name 



A: File name/File size/File type 



A: File checksum 



A: Information identifying anomalous behaviors 



detected within the virtual execution environment 



(e.g., file changes, registry changes, process 



changes, etc.)









Referring back to FIG. 2, triggered by aggregation logic 260 receiving analytic data from one or more MCD systems, correlation logic 270 attempts to find relationships between analysis attributes provided from different MCD systems. This may be accomplished by comparing similarities between artifacts being part of the analyzed network content (e.g., URLs, PDF attachments, etc.) as well as the anomalous behavior observed during analysis of the artifacts (e.g., registry changes, process changes, file changes, etc.). Time proximity may further be considered.
As an illustrative example, an anomalous behavior (e.g. particular registry change) for a first suspicious network content is detected by the first MCD system. The data associated with the anomalous behavior, namely the registry change in this example, undergoes a hash operation to produce a first hash value that is stored as a first analysis attribute.
Similarly, the second MCD system detects an anomalous behavior during malware analysis on a second suspicious network content, which is related to the first suspicious network content. The data associated with this anomalous behavior, such as the same registry change for example, undergoes a hash operation to produce a second hash value that is stored as a second analysis attribute. As the hash operation is conducted on the identical information, the second hash value would be equivalent to the first hash value.
Continuing this illustrative example, correlation logic 270 determines a match by comparing the first analysis attribute to analysis attributes supplied by the second MCD system, including the second analysis attribute. By determining that the first hash value matches the second hash value, the management system has effectively determined that the first network content is related to the second network content.
Optionally, as a secondary determination, correlation logic 270 may confirm that the first analysis attribute occurred within a prescribed time period (e.g., a few minutes, an hour, etc.) from detection of the second analysis attribute. The temporal proximity of the occurrence of these analysis attributes may provide additional information to confirm that the network contents associated with these attributes are related or the same.
Triggered by correlation logic 270, consolidation logic 280 consolidates input attributes associated with these matched analysis attributes. Continuing the above example, consolidation logic 280 provides consolidated input attributes to GUI logic 285. Based on these consolidated input attributes, GUI logic 285 provides one or more screen displays for conveying a more detailed summary of suspicious network content being detected by different MCD systems.
Although the illustrative embodiments are directed to conducting a hash or transformation operation on one or more analysis attributes prior to comparison with other analysis attributes uncovered elsewhere, it is contemplated that information associated with the analysis attributes (or a portion of such information) may be used in lieu of a hash (or transformation) value. For instance, it is possible to use some or all of information from the analysis attribute itself in a complex comparative algorithm to determine if a match is detected.
Referring now to FIG. 4, an exemplary block diagram of logic within a MCD system (e.g., MCD system 1101 of FIG. 1) is shown. Herein, MCD system 1101 comprises (1) static instrumentation engine 400; (2) dynamic run-time test and observation (RTO) engine 420, (3) priority setting logic 470; (4) an optional hash (transformation) logic 480 and/or (5) local data store 490. As shown, static instrumentation engine 400 and dynamic RTO engine 420 are deployed within the same device. However, it is contemplated that static instrumentation engine 400 and dynamic RTO engine 420 may be employed within different devices and/or executed by different processors when implemented as software.
Static instrumentation engine 400 receives ingress network content 405 and generates a representation of the content 405 that is analyzed with one or more various software analysis techniques (e.g., control information analysis, or data analysis). Static instrumentation engine 400 then modifies content 405 to include within itself special monitoring functions and/or special stimuli functions operable during processing of content 405 in dynamic run-time test and observation engine 420. The monitoring functions report their results to control logic 425 and the stimuli functions are told what stimuli to generate by control logic 425. Also, a time-stamp value may be applied to content 405 through a time-stamp generation unit 427 and provided as an identifier for content 405. During the malware detection analysis by static instrumentation engine 400, upon detection of potential malware within the network content, an alert message is generated where at least a portion of information 410 associated with the alert message is routed to data store 490. Some of information 410, namely analysis attributes and/or identification information, may undergo hashing or some sort of transformation to minimize the amount of data to be stored in data store 490.
It is contemplated that static instrumentation engine 400 may be adapted to receive information from dynamic RTO engine 420 in order to instrument the code to better analyze specific behaviors.
After processing is completed by static instrumentation engine 400, content 405 is then provided to control logic 425 within dynamic RTO engine 420. Control logic 425 operates as a scheduler to dynamically control the malware detection analysis among different applications and/or the same application software among different run-time test and observation environments (“run-time environments”).
In general, dynamic RTO engine 420 acts as an intelligent testing function. According to one approach, dynamic RTO engine 420 recursively collects information describing the current state of network content 405 and selects a subset of rules, perhaps corresponding at least in part to the behaviors set by the user, to be monitored during virtual execution of network content 405. The strategic selection and application of various rules over a number of recursions in view of each new observed operational state permits control logic 425 to resolve a specific conclusion about network content 405, namely if network content 405 constitutes suspicious network content.
As shown in FIG. 4, dynamic RTO engine 420 comprises a virtual machine repository 430 that is configured to store one or more virtual machines 4401-440P (where P≧1). More specifically, virtual machine repository 430 may be adapted to store a single virtual machine (VM) that can be configured by scheduling functionality within control unit 425 to simulate the performance of multiple types of electronic devices. Virtual machine repository 430 also can store any number of distinct VMs each configured to simulate performance of a different electronic device and/or different operating systems (or versions) for such electronic devices.
One or more run-time environments 450 simulate operations of network content 405 to detect one or more anomalous behaviors. For instance, run-time environment 4551 can be used to identify the presence of anomalous behavior during analysis of simulated operations of network content 405 performed on a virtual machine 4401. Of course, there can be multiple run-time test environments 4551-455M (M≧2) to simulate multiple types of processing environments for network content 405.
A virtual machine may be considered a representation of a specific electronic device that is provided to a selected run-time environment by control unit 425. In one example, control unit 425 retrieves virtual machine 4401 from virtual machine repository 430 and configures virtual machine 4401 to mimic a particular type of electronic device, such as a computer operating a certain version of Windows® OS. The configured virtual machine 4401 is then provided to one of the run-time environments 4551-455M (e.g., run-time environment 4551).
As run-time environment 4551 simulates the operations of network content 405, virtual machine 4401 can be closely monitored for any behaviors set by the user or for any prioritized content identified by priority setting logic 470. By simulating the processing of network content 405 and analyzing the response of virtual machine 4401, run-time environment 4551 can detect anomalous behaviors and upload analytic data associated with these behaviors to data store 490. This analytic data may include information identifying process changes, file changes and registry changes (or hash values associated with these changes).
Besides VM 4401, run-time environment 4551 is provided with network content 405 (or an instance 460 of network content) along with an instance 465 of the type of operating system on which target content 405 will run if deemed sufficiently safe during the dynamic anomalous behavior detection process. Here, the use of virtual machines (VMs) permits the instantiation of multiple additional run-time environments 4551-455M each handling specific network content and the OS instance, where the various run-time environments 4551-455M are isolated from one another.
As previously described, the simultaneous existence of multiple run-time environments 4551-455M permits different types of observations/tests to be run on particular network content. That is, different instances of the same network content may be provided in different run-time environments so that different types of tests/observances can be concurrently performed on the same content. Alternatively, different network content can be concurrently tested/observed.
For instance, a first packet-based data stream associated with network content may be tested/observed in a first run-time environment (e.g., environment 4551) while a second packet-based data stream is tested/observed in another run-time environment (e.g., environment 455M). Notably, instances of different operating system types and even different versions of the same type of operating system may be located in different run-time environments. For example, a Windows® 8 operating system (OS) instance 465 may be located in first run-time test environment 4551 while another instance of a different version of Windows® OS or Linux® OS (not shown) may be located in a second run-time test environment 455M. Concurrent testing of one or more packet-based data streams (whether different instances of the same packet-based data stream or respective instances of different packet-based data streams or some combination thereof) enhances the overall performance of the communication network.
III. Anomalous Behavior Analysis and Generation/Aggregation of Analytic Data
Referring to FIG. 5A, an exemplary diagram of a flowchart partially illustrating populating of a data store by a MCD system for subsequent access by the management system is shown. Prior to conducting the malware detection analysis, however, ingress network content is received by the MCD system. Upon determining that this content constitutes suspicious network content, a first identifier is assigned to the suspicious network content (blocks 500, 502 and 505). Input attributes associated with the ingress network content (e.g., source and/or destination) are extracted for subsequent storage in the data store of the MCD system (block 510). Also, malware detection analysis is conducted on the artifacts associated with the ingress network content (block 515).
Upon completion of the malware detection analysis, the MCD system stores the artifacts and information associated with any detected anomalous behavior as analysis attributes within a data store. With these analysis artifacts, the MCD system further stores an identifier associated with the content along with the input attributes (blocks 520 and 525). However, if anomalous behavior is not detected, the input attributes along with the identifier associated with the content and the artifacts are collectively stored in the data store (block 530).
Referring now to FIGS. 5B and 5C, exemplary diagrams of the generation and aggregation of analytic data from a MCD system is illustrated. Herein, as shown in FIG. 5B, a plurality of MCD systems 1101-110N are communicatively coupled to management system 120 via transmission mediums 5351-535N. MCD systems 1101-1103 are adapted to intercept and analyze, in real-time, different types of network content (e.g., data traffic, email messages, uploaded files for storage, etc.) so as to determine whether the network content constitutes suspicious network content.
As shown in FIG. 5C, each MCD system 110i (i=1, 2 or 3 in FIG. 1) is configured to receive a first type of network content 540, including header 542 and a payload 544. Upon receipt of network content 540, MCD system 110i assigns an identifier 550 for network content 540 and extracts at least a portion of information within header 542 as the input attributes 555. Both identifier 550 and input attributes 555 are stored in an entry 580 in data store 490. Data store 490 may be situated as a local data store (as shown) or remotely located from MCD system 110i.
Upon performing malware detection analysis on payload 544, a determination is made whether any artifacts 560 (e.g. text, objects, etc.) within payload 544 are “suspicious,” namely that data may constitute malware. If one or more artifacts 560 within payload 544 is “suspicious,” MCD system 110i analyzes artifact(s) 560 in a virtual machine (VM) execution logic (as described above) to detect any anomalous behavior(s) 565. Hence, artifacts 560 along with any detected anomalous behavior(s) 565 are stored as analysis attributes 570 and 575, respectively. However, if none of the artifacts within payload 544 is determined to be “suspicious,” these artifact(s) 560 are merely stored as analysis attribute(s) 570.
Also, it is contemplated that MCD system 110i may conduct a transformation on artifacts and/or recorded anomalous behaviors associated with network content 540 (e.g., one-way hash operation in accordance with a message-digest algorithm such as “MD5”) to produce results having a lesser byte size than the artifact/behavior itself (e.g. hash value or digest). Of course, in lieu of a one-way hash operation, other transformations may be performed on payload artifacts 560 such as a checksum operation, for example. The hash values would be stored as analysis attributes 570 and 575 along with input attributes 555 and identifier 550.
Hence, content identifier 550 along with input attributes 555 and analysis attributes 570-575 are stored in data store 490, which is accessible by management system 120 on a periodic or aperiodic basis. More specifically, according to one embodiment of the disclosure, after a prescribed time has elapsed, management system 120 sends a query (e.g. Analytic Data Query message) for analytic data within local store 490 which has been recently stored since the last query. Upon receipt of the query, with perhaps successful authentication of management system 120 through a challenge/response scheme or another authentication scheme, analytic data from one or more entries within data store 490 are uploaded to management system 120.
IV. Correlation/Consolidation of Analytic Data
Referring to FIG. 6A, an exemplary embodiment of a flowchart of the operations for correlating and consolidating the analytic data from multiple MCD systems is shown. Herein, correlation logic within the management system compares analysis attributes associated with a first MCD system to analysis attributes associated with a second MCD system (block 600). If a match is detected for any of these attributes, the input attributes associated with the compared attributes are consolidated to collectively provide additional information concerning a malware attack associated with the network content (blocks 605 and 610). If a match is not detected, a determination is made whether all comparisons between the incoming analysis attributes have been conducted (block 615). If not, the correlation and consolidation operations continue (block 620). Otherwise, the correlation and consolidation process completes.
Referring now to FIG. 6B, an exemplary diagram of a flowchart partially illustrating correlation and consolidation of analytic data by the management system is shown. Herein, in response to a triggering event to commence acquisition of analytic data from a targeted MCD system (e.g., elapse of a prescribed time period, signaling of the presence of an alert message, etc.), the management system retrieves stored analytic data from the targeted MCD system (blocks 650 and 655). Thereafter, as an optional feature, the MCD system may perform a hash operation on each analysis attribute in the analytic data (block 660).
Thereafter, a recursive comparison scheme is conducted as to whether an analysis attribute associated with the targeted MCD system matches an analysis attribute associated with another MCD system (block 665). For example, the comparison may involve determining whether the hash value associated with an analysis attribute uploaded by the targeted MCD system matches a hash value associated with an analysis attribute uploaded by another MCD system.
If a match is detected, the management system consolidates the input attributes associated with the compared analysis attributes (block 670). Otherwise, a determination is made whether all of the newly received analysis attributes have been analyzed (block 675). If not, the correlation and consolidation analysis is recursive and returns to the operations set forth in operation 680. Otherwise, the analysis is completed (operation 685).
V. Illustration of Aggregation/Correlation/Consolidation of Analytic Data
Referring to FIG. 7, a detailed illustrative example of aggregation, correlation and consolidation of analytic data to provide a more detailed elaboration of a malware attack is shown. Operating as a communication-based security appliance, a second MCD system is configured to receive a first type of network content such as an email message including a header and a payload (block 700). Upon receipt of email message, the second MCD system assigns a content identifier to the email message and extracts at least a portion of information within header as the input attributes (blocks 702 and 704). Both the content identifier and the input attributes are stored within an entry associated with a data store associated with the second MCD system (block 706).
Thereafter, a determination is made as to whether the payload of the email message includes a first artifact such as an attachment (block 708). If so, the second MCD system conducts a malware detection analysis on the first artifact (attachment) by conducting static and dynamic malware analysis as described in FIG. 4 to detect any anomalous behaviors (block 712). Prior to performing the malware detection analysis, however, the second MCD system may conduct a one-way hash operation on the attachment to produce a hash value for storage as the analysis attribute or store the artifact as an analysis attribute (block 710).
Thereafter, any anomalous behaviors uncovered during the virtual processing of the artifact (e.g., detachment and opening of the attachment) within the VM-based run-time environment. The anomalous behaviors, if any, are stored as analysis attributes within the corresponding entry (block 714).
Besides determining whether the payload of the email message includes a first type of artifact, another determination is made as to whether the payload includes a second type of artifact such as a URL (block 716). If so, the URL is not analyzed in the VM-base run-time environment. Rather, the URL (or a hash value of the URL) is added as an analysis attributes within the entry (block 718).
Operating as a web-based security appliance contemporaneously with the second MCD system, a first MCD system is configured to receive a second type of network content such as a network data traffic including a header and a payload (block 720). Upon receipt of data traffic, the first MCD system assigns a content identifier and extracts at least a portion of information within header as the input attributes (blocks 722 and 724). Both the content identifier and the input attributes are stored within an entry within a data store associated with the first MCD system (block 726).
Thereafter, a malware detection analysis is performed on the data traffic by at least analyzing artifacts of the payload by conducting static and dynamic malware analysis as described in FIG. 4 to detect any anomalous behaviors (block 730). These artifacts may include a single frame or series of video frames, audio, text, images, etc. The first MCD system also stores the one or more artifacts as analysis attributes, where such artifacts may be stored as hash values (block 728).
Thereafter, any anomalous behaviors uncovered during analysis of the artifact(s) in a VM-based run-time environment are also stored as analysis attributes within the corresponding entry (block 732).
Lastly, operating as a storage-based security appliance, the third MCD system is configured to receive a third type of network content, such as a file being part of the data payload (block 740). Upon receipt of the file, the first MCD system assigns a content identifier and extracts at least a portion of information within header as the input attributes (blocks 742 and 744). This information may include a network location for storage of the file. Both the content identifier and the input attributes are stored as an entry within a local store associated with the third MCD system (block 746).
Thereafter, a malware detection analysis is performed on the file by at least analyzing artifacts in the file by conducting static and dynamic malware analysis as described in FIG. 4 to detect any anomalous behaviors (block 750). The third MCD system also stores the one or more artifacts as analysis attributes, where such artifacts may be transformed as hash values (block 748).
Any anomalous behaviors uncovered during analysis of the file artifact(s) in a VM-based run-time environment are also stored as analysis attributes within the corresponding entry (block 752).
Periodically, the management system queries each of the MCD systems for recently stored analytic data (block 760). The entries within the data store for a corresponding MCD system that include analytic data (e.g. at least input and analysis attributes) recently stored since the last query are uploaded to the management system (block 762). According to one embodiment, the analytic data from each MCD system remains segregated within the local store of the management system.
The management system compares the analysis attributes associated with the first MCD system, the second MCD system and the third MCD system to determine if any of these analysis attributes match to denote that the network content was detected by multiple MCD systems (blocks 764 and 766).
Presuming for this illustrative example that the URL within the email message was selected, which caused a file (FILE-1) to be downloaded from a malicious server and FILE-1 was subsequently stored on the file share. For this example, the management system correlates the analytic data and determines that the URL associated with the email message matches the URL associated with the network data traffic (block 768). Hence, the input attributes associated with these analysis attributes are consolidated so that the management system may now convey that the URL associated with FILE-1 was received via an email message at time t1 from sender (SENDER-1) to multiple recipients, including RECEPIENT-1 who selected the URL (and received FILE-1 at time t2) as a download while RECIPIENTS-2 . . . 5 who have not yet activated the URL (block 770).
Furthermore, upon further correlation of analysis attributes associated with the URLs, a determination is made that FILE-1 detected by the first MCD system as being downloaded upon selecting the URL also was detected by the third MCD system as being uploaded into a file share (block 772). Hence, the input attributes associated with these analysis attributes are consolidated so that the management system may convey that the URL associated with FILE-1 was received via an email message at time t1 from SENDER-1 to RECEPIENTS-1 . . . 5, where RECIPIENT-1 activated the URL while RECIPIENTS-2 . . . 5 have not yet activated the URL, and FILE_1 was downloaded to RECIPIENT-1 at time t2 and uploaded by RECIPIENT-1 to the file share at network location 0011xx at time t3 (block 774). Such an analysis continues until no further matches are determined for the associated analysis attributes for this particular network content thread.
This information enables the network administrator to further monitor whether the migration of FILE-1 (e.g., was it downloaded by any electronic devices from file share, etc.) and enables the network administrator to not only remove the malicious file from the file share, but also send advisories to USERS 2-5 of the presence of malware and to avoid activating the URL on the particular email message.
Referring now to FIG. 8, an exemplary embodiment of a display screen 800 that includes data produced by the correlation logic and consolidation logic to provide a consumer with a holistic view of a malware attack is shown. In particular, display screen 800 illustrates a first display portion 810 that identifies alerts from first MCD system 1101 of FIG. 1 and a second display portion 820 that identifies alerts from second MCD system 1102 of FIG. 1.
As shown, second display portion 820 provides one or more entries that identify recipients of analyzed email messages. For instance, as shown, a first entry 825 comprises a first field 830 identifying a recipient (XYZ@fireeye.com) to which email messages have been sent. The recipient may correspond to any type of system such as an employee's computer, a server accessible to multiple employees, etc. First entry 825 of second display portion 820 further comprises a second field 831 identifying the total number of email messages (e.g. forty email messages) received by the recipient; a third field 832 identifying a number of attachments in the email messages (e.g., 92 attachments) as well as the number of attachments that are deemed either “malicious” or at least “suspicious” (e.g. no attachments); a fourth field 833 identifying a number of URLS detected in the email messages (e.g. 615 URLs) and the number of suspicious (or malicious) URLs (e.g., 9 suspicious URLs); a fifth field 834 identifying the last malware detected for the suspicious (or malicious) URLs; and a sixth field 835 identifying a time of last detection of the email messages.
An image 840, which is represented by a globe for this illustrative example, is produced by the correlation logic and/or the consolidation logic and displayed within display screen in one of the fields of second display portion 820 (e.g., fourth field 833). Image 840 identifies that at least some of these URLs have been selected by users of downstream electronic devices based on the correlation and consolidation of input attributes for matching analysis attributes detected by both first and second MCD systems 1102 and 1102 of FIG. 1.
First display portion 810 provides one or more entries that identify electronic devices that have received ingress traffic with suspicious network content. For instance, as shown, a first entry 850 comprises a first field 860 identifying an IP address of a first electronic device (10.10.101.93) from which suspicious (or malicious) network content has been detected. First entry 850 in first display portion 810 further comprises a second field 861 identifying a severity rating of suspicious (or malicious) activity detected for the first electronic device. The severity rating may be based, at least in part, on a total number of suspicious (or malicious) activities detected and the type of activities (e.g. infections of malware, callbacks, blocks, etc.) set forth in fields 862-865.
As further shown in FIG. 8, field 866 identifies the last malware detected for the suspicious (or malicious) network content (e.g., malicious code such as Trojan Generic, Exploit.Browser, etc.). Additional malware detected for network content may be displayed by selecting an element within field 866. A final field 867 identifies a time of last detection of the network content.
An image 870, which is represented by an envelope for this illustrative example, is produced by the correlation logic and/or the consolidation logic and displayed within display screen in one of the fields (e.g., field 862) of first display portion 810. Image 870 identifies that the suspicious network content resulted from an email message received by the host electronic devices, where such generation is based on the correlation and consolidation of input attributes for matching analysis attributes detected by both first and second MCD systems 1102 and 1102 of FIG. 1.
The same general layout is provided for second entry 852 and other entries within first display portion 810. It is contemplated that the layout may be provided through other viewpoints besides alerts and e-alerts, such as by specific MCD systems where the granularity of the correlation and consolidation information may represent which MCD system detected which suspicious activity.
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, in lieu of or in addition to the MCD system 1101-1103 of FIG. 1, a malware analysis system (MAS) system may be communicatively coupled to management system 120 of FIG. 1. The MAS system operates as a forensic workbench by receiving, based on user interaction, suspicious network content from at least one of MCD systems 1101-1103. The MAS system can be adapted with capabilities for a user to conduct a more in-depth analysis of suspicious network content, where such analysis may be uploaded to management system 120 as well.

## Claims

1. An electronic device for detecting a malware attack and controlling a display of information associated with a migration of suspicious network content during the malware attack, the electronic device comprising:
a processor;
a communication interface logic communicatively coupled to the processor; and
a storage device communicatively coupled to the processor, the storage device comprises
aggregation logic that, when processed by the processor, receives analytic data from each of a plurality of systems via the communication interface logic, the analytic data from each system of the plurality of systems comprises one or more input attributes being information used in routing of the suspicious network content over a network and one or more analysis attributes being (a) a portion of the suspicious network content or (b) at least one anomalous behavior observed during prior analysis of the portion of the suspicious network content,
correlation logic that, when processed by the processor and responsive to receiving the analytic data from each of the plurality of systems, attempts to find relationships between the one or more analysis attributes provided from each system of the plurality of systems based on determined similarities between the one or more analysis attributes,
consolidation logic that, when processed by the processor, consolidates input attributes of the one or more input attributes associated with at least (i) a first analysis attribute of the one or more analysis attributes from a first system of the plurality of systems and (ii) a second analysis attribute of the one or more analysis attributes from a second system of the plurality of systems in response to detected similarities between the first analysis attribute and the second analysis attribute, and
display logic that, when processed by the processor, generates display information including the consolidated input attributes.

2. The electronic device of claim 1, wherein the correlation logic attempts to find relationships between the one or more analysis attributes by at least determining whether the first analysis attribute matches the second analysis attribute.

3. The electronic device of claim 2, wherein the consolidation logic attempts to find relationships between the one or more analysis attributes provided from each system of the plurality of systems by at least identifying that a first network content including the first analysis attribute received from the first system is the same as or related to a second network content including the second analysis attribute received from the second system.

4. The electronic device of claim 1, wherein the first analysis attribute comprises at least one of (i) information directed to a portion of the network content that is analyzed for malware within the first system and (ii) one or more anomalous behaviors observed during malware detection analysis of the information.

5. The electronic device of claim 3, wherein the first network content includes an electronic mail (email) message that is analyzed for malware by the first system and the second network content includes network traffic that is analyzed for malware by the second system.

6. The electronic device of claim 1, wherein the one or more input attributes associated with the first analysis attribute comprises at least one of (i) information identifying a destination of the first network content and (ii) information identifying a source of the first network content.

7. The electronic device of claim 1, wherein the correlation logic attempts to find the relationships between the one or more analysis attributes by at least comparing similarities between an artifact being part of the one or more analysis attributes and anomalous behavior observed during analysis of the artifacts, the artifact including a Uniform Resource Locator (URL) or a document while the observed anomalous behavior includes a registry change or a file change.

8. The electronic device of claim 3, wherein the display logic, when executed by the processor, generates the display information that includes one or more images representing that the first analysis attribute detected by the first system originated from the second network content analyzed by the second system.

9. The electronic device of claim 1, wherein the first system comprises a web-based security appliance to inspect ingress data traffic and to provide at least the first attribute to based on an analysis of the ingress data traffic.

10. The electronic device of claim 9, wherein the second system comprises a communication-based security appliance to analyze an incoming communication message and to provide at least the second attribute to the electronic device, the incoming communication message includes an electronic mail message or a text message.

11. The electronic device of claim 9, wherein the second system comprises a storage-based security appliance to analyze a file and to provide at least the second attribute associated with the file to the electronic device.

12. In communication with a plurality of security appliances, an electronic device for providing a holistic view of a malware attack, the electronic device comprising:
a processor;
a storage device communicatively coupled to the processor, the storage device comprises
aggregation logic that, when processed by the processor, receives one or more input attributes being information used in routing of suspicious network content over a network and one or more analysis attributes from each of the plurality of security appliances, wherein the one or more analysis attributes being (a) a portion of the suspicious network content or (b) at least one anomalous behavior observed during analysis of the portion of the suspicious network content in the plurality of security appliances,
correlation logic that, when processed by the processor, attempts to find relationships between the one or more analysis attributes provided from each security appliance of the plurality of security appliances,
consolidation logic that, when processed by the processor, receives at least (i) a first analysis attribute from a first security appliance of the plurality of security appliances and (ii) a second analysis attribute of the one or more analysis attributes from a second security appliance of the plurality of security appliances in response to the first analysis attribute corresponding to the second analysis attribute, and consolidates input attributes of the one or more input attributes associated with the first analysis attribute and the second analysis attribute, and
display logic that, when processed by the processor, generates display information including the consolidated input attributes.

13. The electronic device of claim 12, wherein the correlation logic attempts to find relationships between the one or more analysis attributes by at least determining whether the first analysis attribute matches the second analysis attribute.

14. The electronic device of claim 13, wherein the consolidation logic attempts to find relationships between the one or more analysis attributes provided from each security appliance of the plurality of security appliances by at least identifying that a first network content including the first analysis attribute received from the first security appliance is the same as or related to a second network content including the second analysis attribute received from the second security appliance.

15. The electronic device of claim 14, wherein the first security appliance includes a first malware content detection system and the second security appliance includes a second malware content detection system.

16. The electronic device of claim 12, wherein the first security appliance comprises a web-based security appliance to inspect ingress data traffic and to provide at least the first attribute to the electronic device based on a result of an inspection of the ingress data traffic by the web-based security appliance.

17. The electronic device of claim 12, wherein the second security appliance comprises a communication-based security appliance to analyze an incoming communication message and to provide at least the second attribute to the electronic device, the incoming communication message includes an electronic mail message or a text message.

18. The electronic device of claim 12, wherein the second security appliance comprises a storage-based security appliance to analyze a file to be stored in a file server and to provide at least the second attribute associated with the file to the electronic device.