System and method for detecting time-bomb malware

Information

  • Patent Grant
  • 9536091
  • Patent Number
    9,536,091
  • Date Filed
    Monday, June 24, 2013
    11 years ago
  • Date Issued
    Tuesday, January 3, 2017
    7 years ago
Abstract
According to one embodiment, a system comprises one or more counters; comparison logic; and one or more hardware processors communicatively coupled to the one or more counters and the comparison logic. The one or more hardware processors are configured to instantiate one or more virtual machines that are adapted to analyze received content, where the one or more virtual machines are configured to monitor a delay caused by one or more events conducted during processing of the content and identify the content as including malware if the delay exceed a first time period.
Description
FIELD

Embodiments of the disclosure relate to the field of data security. More specifically, one embodiment of the disclosure relates to a system, apparatus and method that enhances detection of time-bomb malware, namely malware with delayed activation.


GENERAL BACKGROUND

Over the last decade, malicious software (malware) attacks have become a pervasive problem for Internet users and enterprise network administrators. In most situations, malware is a program or file that is embedded within downloadable content and designed to adversely influence or attack normal operations of an electronic device (e.g. computer, tablet, smartphone, server, router, wearable technology, or other types of products with data processing capability). Examples of different types of malware may include bots, computer viruses, worms, Trojan horses, spyware, adware, or any other programming that operates within an electronic device without permission by the user or a system administrator.


Over the past few years, various types of security appliances have been deployed within an enterprise network in order to detect behaviors that signal the presence of malware. Some of these security appliances conduct dynamic analysis on suspicious content within a sandbox environment in order to determine if malware is present. As a result, some malware is now being coded to evade analysis within a sandbox environment.


Currently, there are various techniques that malware is using to evade sandboxed malware analysis. They can be broadly categorized as:

  • [1] Environment checking: Malware checks for several environmental facts to identify whether it is being run in a sandbox. In response, the malware may halt its execution to avoid detection upon sandbox detection. This may be accomplished by the malware querying for a CPUID string;
  • [2] User Interaction: Malware will not perform any malicious activity until some user interaction is provided, contrary to capabilities of most sandbox environments.
  • [3] Presence of AV/Detection tool: Malware checks for specific artifacts that indicate an anti-virus or sandboxed detection is in effect (e.g. if certain system APIs are hooked); and
  • [4] Stalling: Malware delays execution for substantial time such that the malicious activity is not performed within run-time of sandbox.


As a result, mechanisms are necessary to detect all types of malware, even malware that is specifically configured to evade detection within a sandbox environment such as a virtual machine (VM) based environment.





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 a first exemplary block diagram of a malware content detection (MCD) system with for multiple VMs deployed within a communication network.



FIG. 2 is a detailed exemplary embodiment of the MCD system of FIG. 1.



FIG. 3 is a second exemplary block diagram of the MCD system of FIG. 1.



FIG. 4 is a detailed exemplary block diagram of components within the hardware architecture of the MCD system of FIG. 1.



FIG. 5 is an exemplary embodiment of a flowchart illustrating operations for monitoring sleep operations conducted within the VM-based analysis environment of FIG. 2.



FIG. 6 is an exemplary embodiment of a flowchart illustrating operations in monitoring call operations conducted within the VM-based analysis environment of FIG. 2.



FIG. 7 is an exemplary embodiment of a flowchart illustrating operations in monitoring an instruction profile associated with operation conducted within the VM-based analysis environment of FIG. 2.





DETAILED DESCRIPTION

Various embodiments of the disclosure relate to a system, apparatus and method for enhancing detection of malware that is configured to avoid detection within a sandbox environment, such as a virtual machine based (VM-based) analysis environment for example, through delayed activation. Such malware is commonly referred to as a “time-bomb malware”. This enhanced detection may be conducted by tracking call site time delays and access frequency, which may be captured inside a VM in user-mode or kernel mode, inside of the virtual (execution) environment, or even external to the VM environment (e.g., frequency based threshold detection logic) and utilized to evade automated analysis environments.


One embodiment of the disclosure is directed to logic that is configured to monitor one or more operations within a VM-based analysis environment and, where applicable, adjusts one or more parameters associated with such operations. These operating parameters may involve requests and/or calls that delay further processing of content loaded into the VM-based analysis environment. For example, the operating parameter may include, but are not limited or restricted to (i) the number of Sleep request messages; (ii) an amount of time requested for a particular Sleep request message; (iii) the cumulative amount of Sleep time requested over a predetermined run time; (iv) the number of function calls from a particular call site to an API (e.g., addressed function such as a specific Application Programming Interface “API”); (v) the total frequency of the instruction pointer remaining within a particular address range; (vi) processor utilization level; or the like.


Hence, according to one embodiment of the disclosure, one or more counters may be deployed for monitoring the number of Sleep request messages initiated by the content under analysis. The content is determined to be associated with time-bomb malware if the number of Sleep request messages initiated by content under analysis exceeds a first threshold value (e.g. predetermined time value). Similarly, one or more counters may be deployed for monitoring whether the cumulative Sleep time for multiple Sleep request messages initiated by the content under analysis exceeds a second threshold value. If so, the content is determined to be associated with time-bomb malware.


Also, in the alternative or in combination with the sleep counter(s), one or more counters may be deployed for monitoring the total number of function calls initiated by the content under analysis. The content is determined to be associated with time-bomb malware if the total number of function calls exceeds a third threshold value. Similarly, one or more counters may be deployed for monitoring the number of function calls directed from a particular call site to an API by the content under analysis, where the content is determined to be associated with time-bomb malware if the number of function calls to the particular API exceed a fourth threshold.


According to a further embodiment of the disclosure, logic may be deployed to work in concert with each VM to monitor whether the content under analysis is repeatedly executing instructions located at a specific address or address range, which denotes a programming “loop” operation. If so, the content is determined to be associated with time-bomb malware.


In summary, multiple APIs and certain assembly instructions may be utilized by time-bomb malware to get OS time information. Also, the API access patterns for time delay purposes may vary from one malicious sample to another. For instance, the time-bomb malware may be a tightly loop execution, repeatedly performing GetLocalTime, Compare and/or Sleep calls, where detonation of the time-bomb malware occurs upon reaching a desired date. Other time-bomb malware may be a mixture of Sleep calls, Floating-Point Math calls, and/or subroutines that also stall and sleep. Yet another time-bomb malware may involve a tight execution loop of GetLocalTime, Compare, Sleep, and/or Cut-and-Paste operations, which identifies the importance of identifying the accessed call-site of the delay-execution code, so that proper threshold based statistics logic may be applied to multiple variants.


Herein, the disclosure describes different embodiments for addressing certain types of stall technique such as Sleep calls or the like. It is contemplated that the scope of the invention is directed to a mechanism that detects time-bomb malware associated with not only repeated Sleep calls but with any event or call variant adapted to stall malware execution to evade a sandbox environment.


I. Terminology


In the following description, certain terminology is used to describe features 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 circuitry may include, but are not limited or restricted to a microprocessor; one or more processor cores; a programmable gate array; a microcontroller; an application specific integrated circuit; receiver, transmitter and/or transceiver circuitry; semiconductor memory; combinatorial circuitry; or the like.


Logic (or engine) also 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 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 “content” generally refers to information, such as text, software, images, audio, metadata and/or other digital data for example, that is transmitted as one or more messages. Each message(s) may be in the form of a packet, a frame, an Asynchronous Transfer Mode “ATM” cell, or any other series of bits having a prescribed format. The content may be received as a data flow, namely a group of related messages, being part of ingress data traffic.


One illustrative example of content includes web content, namely data traffic that may be transmitted using a Hypertext Transfer Protocol (HTTP), Hypertext Markup Language (HTML) protocol, or any other manner suitable for display on a Web browser software application. Another example of content includes one or more electronic mail (email) messages, 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). Yet another example of content includes an Instant Message, which may be transmitted using Session Initiation Protocol (SIP) or Extensible Messaging and Presence Protocol (XMPP) for example. A final example of 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.


The term “time-bomb malware” is software that includes at least one exploit, namely a particular portion of software that, after intentional delayed execution, takes advantage of one or more vulnerabilities within system software and produces an undesired behavior. The behavior is deemed to be “undesired” 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. Examples of an undesired behavior may include a communication-based anomaly or an execution-based anomaly that (i) alters the functionality of an electronic device and/or (ii) provides an unwanted functionality which may be 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.


In general, a “virtual machine” (VM) is a simulation of an electronic device (abstract or real) that is usually different from the electronic device conducting the simulation. VMs may be based on specifications of a hypothetical electronic device or emulate the architecture and functions of a real world computer. A VM can be one of many different types such as, for example, hardware emulation, full virtualization, para-virtualization, and/or operating system-level virtualization virtual machines.


A “software profile” is information that is used for virtualization of an operating environment (e.g. instantiation of a VM) that is adapted to receive content for malware analysis. The software profile may identify a guest operating system “OS” type; a particular version of the guest OS; one or more different application types; particular version(s) of the application type(s); virtual device(s); or the like.


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. Time-Bomb Malware Detection Architecture


Referring to FIG. 1, an exemplary block diagram of a communication system 100 deploying a plurality of malware content detection (MCD) systems 1101-110N (N>1, e.g. N=3) communicatively coupled to a management system 120 via a network 125 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 as a result of time-bomb malware detection by any of MCD systems 1101-110N (e.g. MCD system 1102) to be shared with one or more of the other MCD systems 1101-110N (e.g. MCD system 1101) including where such sharing is conducted on a subscription basis.


Herein, according to this embodiment of the disclosure, first MCD system 1101 is an electronic device that is adapted to (i) intercept data traffic routed over a communication network 130 between at least one server device 140 and at least one client device 150 and (ii) monitor, in real-time, content within the data traffic. More specifically, first MCD system 1101 may be configured to inspect content received via communication network 130 and identify “suspicious” content. The incoming content is identified as “suspicious” when it is assessed, with a certain level of likelihood, that at least one characteristic identified during inspection of the content indicates the presence of an exploit.


Herein, according to one embodiment of the disclosure, the first MCD system 1101 is a web-based security appliance configured to inspect ingress data traffic and identify whether content associated with the data traffic includes time-bomb malware. The communication network 130 may include a public computer network such as the Internet, in which case an optional firewall 155 (represented by dashed lines) may be interposed between communication network 130 and client device(s) 150. Alternatively, the communication network 130 may be a private computer network such as a wireless telecommunication network, wide area network, or local area network, or a combination of networks.


The first MCD system 1101 is shown as being coupled with the communication network 130 (behind the firewall 155) via a network interface 160. The network interface 160 operates as a data capturing device (referred to as a “network tap”) that is configured to receive data traffic propagating to/from the client device(s) 150 and provide some or all of the content associated with the data traffic (e.g. objects) to the first MCD system 1101.


In general, the network interface 160 receives and copies the content that is received from and provided to client device 150. Alternatively, the network interface 160 may copy only a portion of the content, for example, a particular number of objects associated with the content. For instance, in some embodiments, the network interface 160 may capture metadata from data traffic intended for client device 150, where the metadata is used to determine (i) whether content within the data traffic includes any exploits and/or (ii) the software profile used instantiating the VM(s) for exploit detection on the content.


It is contemplated that, for any embodiments where the first MCD system 1101 is implemented as an dedicated appliance or a dedicated computer system, the network interface 160 may include an assembly integrated into the appliance or computer system that includes network ports, network interface card and related logic (not shown) for connecting to the communication network 130 to non-disruptively “tap” data traffic propagating therethrough and provide a copy of the data traffic to the heuristic engine 170 of MCD system 1101. In other embodiments, the network interface 160 can be integrated into an intermediary device in the communication path (e.g. firewall 155, router, switch or other network device) or can be a standalone component, such as an appropriate commercially available network tap. In virtual environments, a virtual tap (vTAP) can be used to copy traffic from virtual networks.


Referring to both FIGS. 1 and 2, first MCD system 1101 comprises a heuristic engine 170, a heuristics database 175, an analysis engine 180, a scheduler 185, a storage device 190, and a reporting module 195. In some embodiments, the network interface 160 may be contained within the first MCD system 1101. Also, heuristic engine 170, analysis engine 180 and/or scheduler 185 may be hardware logic implemented with a processor or other types of circuitry. Alternatively, this logic may be configured as software modules executed by the same or different processors. As an example, the heuristic engine 170 may be one or more software modules executed by a first hardware processor implemented within the first MCD system 1101, while the analysis engine 180 and/or scheduler 185 may be executed by a second hardware processor. These processors may be located at geographically remote locations and communicatively coupled via a network.


In general, the heuristic engine 170 serves as a filter to permit subsequent malware analysis on portion(s) of incoming content that may have time-bomb malware. As an ancillary benefit, by analyzing only the portion of the incoming content that may have such malware, various system resources may be conserved and a faster response time may be provided in determining the presence of malware within analyzed content.


As still shown in FIG. 1, the heuristic engine 170 receives the incoming content from the network interface 160 and applies heuristics to determine if any of the content is “suspicious”. The heuristics applied by the heuristic engine 170 may be based on data and/or rules stored in the heuristics database 175. Also, the heuristic engine 170 may examine the image of the captured content without executing or opening the captured content.


For example, the heuristic engine 170 may examine the metadata or attributes of the captured content and/or the code image (e.g., a binary image of an executable) to determine whether the captured content matches or has a high correlation with a predetermined pattern of attributes that is associated with a malicious attack, especially time-bomb malware attacks. According to one embodiment of the disclosure, the heuristic engine 170 flags content from one or more data flows as suspicious after applying this heuristic analysis.


It is contemplated that the heuristic engine 170 may comprise a static analysis tool 175 that is configured to parse malware binaries and specifically identify delay hotspots. A “delay hotspot” could be an API call or Sleep request with large timeout values or it could be a loop with high repeat counter. Such analysis can complement dynamic analysis technique and lead to more definitive detection of time-bomb malwares.


Thereafter, according to one embodiment of the disclosure, the heuristic engine 170 may be adapted to transmit at least a portion of the metadata or attributes of the suspicious content 172, which may identify attributes of the client device 150, to a control logic 182 implemented within analysis engine 180. Such metadata or attributes are used to identify software profile information used to instantiate at least one VM for subsequent malware analysis. In another embodiment of the disclosure, the control logic 182 may be adapted to receive one or more messages (e.g. data packets) from the heuristic engine 170 and analyze the message(s) to identify the software profile information for instantiating the VM(s) subsequently used for malware analysis.


Control logic 182 is adapted to control formation of one or more VM-based analysis environments 2001-200M as shown in FIG. 2. As shown herein, at least one analysis environment 2001 comprises a VM 2101 with corresponding sleep analysis logic 220 (e.g., one or more sleep counters, etc.) and call analysis logic 230 (e.g., one or more call counters, etc.), comparison logic 240 (e.g. one or more comparators, etc.) along with instruction pointer analysis logic (profiler) 250 and processor (CPU) statistic monitoring logic 260.


For instance, as an illustrative example, the suspicious content under analysis may include an email message that was generated, under control of Windows® 7 Operating System, using a Windows® Outlook 2007, version 12. The email message further includes a Portable Document Format (PDF) attachment in accordance with Adobe® Acrobat®, version 9.0. Upon determining that the email message includes suspicious content, heuristic engine 170 and/or control logic 182 may be adapted to provide software profile information to scheduler 185 in order to identify a particular type of VM needed to conduct dynamic analysis of the suspicious content. According to this illustrative example, the software profile information would identify the VM software as (1) Windows® 7 Operating System (OS); (2) Windows® Outlook 2007, version 12; and (3) Adobe® Acrobat® PDF reader that allows viewing of the above-identified PDF document.


The control logic 182 supplies the software profile information to the scheduler 185, which conducts a search of information within storage device 190 to determine if a VM image 192 identified by the software profile information resides within storage device 190. The VM image 192 supports the appropriate OS (e.g. Windows® 7 OS) and one or more applications (e.g., Windows® Outlook 2007, version 12; and Adobe® Acrobat® PDF reader). If so, the scheduler 185 uses that the VM image 192 to instantiate a VM within analysis environment 2001 in order to analyze the suspicious content and determine if such content is associated with time-bomb malware.


Of course, it is contemplated that if the storage device 190 does not feature a software profile supporting the above-identified OS/application(s), the scheduler 185 may simply ignore the VM request from control logic 182 or may obtain an VM image directed to similar software. For example, the scheduler 185 may be adapted to obtain a VM image based on the same OS but a different version(s) of the targeted application(s). Alternatively, the scheduler 185 may be adapted to obtain the same OS (e.g. Windows® OS 7) along with an application different from the targeted application but having similar functionality. As another alternative, the scheduler 185 may receive a different OS image that supports similar functionality.


In another embodiment of the disclosure, the heuristic engine 170 may determine the software profile information from the data traffic by receiving and analyzing the content from the network interface 160. For instance, according to one embodiment of the disclosure, it is contemplated that the heuristic engine 170 may be adapted to transmit the metadata identifying the client device 150 to the analysis engine 180, where such metadata is used to identify a desired software profile. The heuristic engine 170 may then transmit the software profile information to a scheduler 185 in lieu of such information being provided from control logic 182 within the analysis engine 180.


Alternatively, the control logic 182 may be adapted to receive one or more data packets of a data flow from the heuristic engine 170 and analyze the one or more data packets to identify the software profile without pre-processing by heuristic engine 170. In yet other embodiment of the disclosure, the scheduler 185 may be adapted to receive software profile information, in the form of metadata or data packets, from the network interface 160 or from the heuristic engine 170 directly.


The storage device 190 may be configured to store one or more VM disk files forming a VM profile database 194, where each VM disk file is directed to a different software profile for a VM. In one example, the VM profile database 194 may store a plurality of VM disk files having VM images for multiple software profiles in order to provide the collective capability for simulating the performance of a wide variety of client device(s) 150.


The analysis engine 180 is adapted to execute multiple VMs concurrently to support different VM operating environments that simulate the receipt and/or processing of different data flows of “suspicious” content by different network devices. Furthermore, the analysis engine 180 analyzes the effects of such content during processing. The analysis engine 180 may identify exploits by detecting undesired behavior caused by simulated processing of the suspicious content as carried out by the VM. This undesired behavior may include numerous repeated functions calls, repeated Sleep calls, and other behavior to stall or delay execution of code associated with the incoming content.


The analysis engine 180 may flag the suspicious content as malware according to observed undesired behavior of the VM. Different types of behaviors may be weighted based on the likelihood of system compromise, where suspicious content is determined when the weighted value exceeds a certain threshold.


Of course, it is contemplated that, for deeper analysis to detect exploits, such operations may be conducted within the cloud 165 in lieu of or in addition to operations performed within analysis engine 180.


The reporting module 195 may issue alert messages indicating the presence of one or more exploits to one or more hardware processors executing outside the VM environments, and may use pointers and other reference information to identify what message(s) (e.g. packet(s)) of the suspicious content may contain the exploit(s). Additionally, the server device(s) 140 may be added to a list of malicious network content providers, and future network transmissions originating from the server device(s) 140 may be blocked from reaching their intended destinations, e.g., by firewall 155.


Referring now to FIG. 3, a second exemplary embodiment of MCD system 1101 set forth in FIG. 1 is shown, where the software profile for VM instantiation is not determined through analysis of suspicious content (e.g. metadata, data packets, binary, etc.) by the network interface 160, heuristic engine 170, or analysis engine 180. Rather, this software profile directed to software under test is uploaded by the user and/or network administrator.


More specifically, a user interface 310 allows the user or network administrator (hereinafter referred to as “user/administrator”) to introduce objects 300 of the suspicious content in accordance with one or more prescribed software profiles 320. The prescribed software profile(s) 320 may be preloaded or selected by the user/administrator in order to instantiate one or more VMs based on operations of the scheduler 185 and storage device 190 as described above. The VMs perform dynamic analysis of the objects 300 to monitor for undesired behavior during virtual processing of these objects 300 within the VMs.


Referring now to FIG. 4, an exemplary block diagram of logic that is implemented within MCD system 1101 is shown. MCD system 1101 comprises one or more processors 400 that are coupled to communication interface logic 410 via a first transmission medium 420. Communication interface logic 410 enables communications with MCD systems 1102-110N of FIG. 1 as well as other electronic devices over private and/or public networks. According to one embodiment of the disclosure, communication interface logic 410 may be implemented as a physical interface including one or more ports for wired connectors. Additionally, or in the alternative, communication interface logic 410 may be implemented with one or more radio units for supporting wireless communications with other electronic devices.


Processor 400 is further coupled to persistent storage 430 via transmission medium 425. According to one embodiment of the disclosure, persistent storage 430 may include stalled processing analysis logic 440 and a data store 475. In general, stalled processing analysis logic 440 is configured to monitor and alter operating parameters for one or more VM-based analysis environments in order to improve reliability in detecting time-bomb malware. The results of the analysis are stored within data store 475.


More specifically, stalled processing analysis logic 440 comprises sleep analysis logic 220, call analysis logic 230, comparison logic 240, time adjustment logic 450, instruction pointer analysis logic 250, and processor statistic monitoring logic 260. Herein, both sleep analysis logic 220 and call analysis logic 230 are configured to address an event where a series of successive Sleep function calls are used to stall processing of the incoming content. As an example, sleep analysis logic 220 may be configured to monitor the number of Sleep calls, the Sleep intervals and the cumulative Sleep time. The call analysis logic 230 may be configured to perform the same general functionality in monitoring the number of function calls made globally or to a particular call site as well as the cumulative delay incurred by initiation of function calls.


Optionally working in concert with sleep analysis logic 220 and call analysis logic 230, the time adjustment logic 450 is configured to alter the time interval returned back to the content running in the VM-based analysis environment (e.g., environment 2001). This alteration is performed in order to accelerate the time-bomb malware activity such that “suspicious” behavior can be detected. This is achieved through a shortened time interval while executing successive Sleep calls and/or other types of calls used when processing the content.


More specifically, sleep analysis logic 220 is configured with one or more counters that are used to count the number of Sleep request messages initiated by the content under analysis for subsequent comparison, using comparison logic 240 (e.g. one or more comparators) of the count value with a first threshold value stored in data store 475.


Additionally, the sleep analysis logic 220 may be further configured with one or more counters that are used to compute the cumulative amount of time (e.g. in units of time, clock cycles, etc.) in which the content under analysis would have placed a targeted electronic device into a Sleep state. The cumulative amount of time is subsequently compared, using comparison logic 240, to a second threshold value that is different than the first threshold value. The second threshold value may be set to a time value less than the average amount of time permitted for analysis of the content within a VM-based analysis environment 2101. The content under analysis is considered to be associated with time-bomb malware if the first and/or second thresholds are exceeded.


Call analysis logic 230 is configured with one or more counters that are used to count the number of function calls initiated by the content under analysis, which is subsequently compared with a third threshold value stored in data store 475 using comparison logic 240. The number of function calls may be based on either (i) a global basis (e.g., total number of function calls) or (ii) a per call site basis (e.g. per each caller address). It is contemplated that the third threshold value may differ from the first and second threshold values, and the value may be based at least in part on the type of function call. For instance, the GetLocalTime function call may be analyzed with greater scrutiny as this API function call tends to be a common choice for repetitive call type of evasion. Other such APIs may include SystemTimeToFileTime, GetSystemTime, Process32First, NtYieldExecution, NtDelayExecution, SleepEx, and different Wait variants (e.g., MsgWaitForMultipleObjects, WaitForSingleObject, etc.).


Call analysis logic 230 may be further configured with one or more counters that are used to monitor the cumulative amount of time that the called functions would need for execution of the called function. Using comparison logic 240, the cumulative amount of time is subsequently compared to a fourth threshold value stored in data store 475. The content under analysis is associated with time-bomb malware if the third and/or fourth thresholds are exceeded.


Call analysis logic 230 also has the ability to report the calling module name (EXE/DLL) based on call site addresses. This allows the reporting module (195) to assign weights intelligently (e.g. less weight when a call site is from system module and higher weight when a call site is from the content under analysis).


As further shown in FIG. 4, time adjustment logic 450 is configured to operate in concert with sleep analysis logic 220 and/or call analysis logic 230 in order to compute a shortened time to be used in Sleep so that malware is forced to perform malicious activity within the VM analysis time duration.


The instruction pointer analysis logic 250 is configured to periodically check, during processing of the content under analysis, whether the instruction pointer has remained within one or more prescribed address range(s) over a prolonged period of time. This check is conducted in order to determine if the content includes time-bomb malware adapted to perform an instruction-based loop to evade analysis within the VM-based environment. If the instruction pointer analysis logic 250 determines that the instruction pointer continues to remain within a particular address range, the processor utilization measured by processor statistic monitoring logic 260 is greater than a prescribed value, and no other exploits have been detected, the instruction pointer analysis logic 250 determines that the content under analysis is associated with time-bomb malware.


According to one embodiment of the disclosure, at least the sleep analysis logic 220, call analysis logic 230 and time adjustment logic 450 are implemented as part of the VM. The comparison logic 240, instruction pointer analysis logic 250 and processor statistic monitoring logic 260 may be placed within the VM or outside the VM.


As additional counter measures to time-bomb malware, persistent storage 430 may include dynamic threshold generation logic 480 and/or call site management logic 490. Dynamic threshold generation logic 480 comprises logic that dynamically alters the threshold values utilized by the sleep analysis logic 220 and call analysis logic 230. The dynamic nature of the threshold values prevents malware writers from altering malware to circumvent established thresholds, if such thresholds are discovered.


Another optional logic implemented within MCD system 1101 is the call site management logic 490. The call site management logic 490 is configured to maintain a finite number of call sites as part of a table. If the table is full and a request for a new call site is made, the call site management logic 490 determines if the new call site is associated with a larger processing time requirement than another call site within the table. If so, the new call site is substituted for that call site. If not, the new call site is not placed within the table. However, cumulative threshold is updated accordingly.


III. Time-Bomb Malware Detection Operations


Referring to FIG. 5, a first exemplary flowchart outlining the operations for time-bomb malware detection is shown. Upon receiving content, a determination is made as to whether the content is “suspicious,” namely whether analysis of the content indicates the presence of an exploit (blocks 500 and 510). Where the content is determined to be “suspicious,” the attributes of the content may be used to determine one or more software profiles (block 520). VMs within the analysis environment are based on these software profile(s).


Thereafter, the VM(s) perform operations on the suspicious content and analyzes the results of these operations to determine if any exploits are present (block 530). These operations may include Sleep analysis, Call analysis and profiling (e.g. processor utilization, addressing analysis, etc.) as described above. If no exploits are detected, no further time-bomb analysis is needed (block 540).


Otherwise, according to one embodiment of the disclosure, one or more counters are initiated during run-time of the content under analysis. The counter(s) may monitor (i) the number of Sleep request messages, (ii) the Sleep interval requested and/or (iii) the cumulative Sleep time (herein generally referred to as “Sleep activity”). Where the Sleep activity exceeds a prescribe threshold, a determination is made that the content under analysis includes time-bomb malware (blocks 550 and 560). As a result, the sleep analysis logic is adapted to emulate compliance with requested Sleep calls, where actual duration of the request Sleep time(s) is shortened by the time adjustment logic, in some cases significantly shortened 80%, 90% or more for the allocated sleep time (block 570). Such shortening of the Sleep time, which is unbeknownst to the content under analysis, alters the processing time frame for the VM environment and allows the VM to monitor and report the particulars behind the time-bomb malware attack. If the Sleep activity remains below the prescribed threshold, the VM continues to operate as normal (block 580).


Referring now to FIG. 6, a second exemplary flowchart outlining the operations for time-bomb malware detection is shown. Similarly, upon receiving content, a determination is made as to whether the content is “suspicious” based on a potential presence of an exploit (blocks 600 and 610). Where the content is determined to be “suspicious,” the attributes of the content may be used to determine one or more software profiles, where the VMs within the analysis environment are based on these software profile(s) (block 620).


Thereafter, the VM(s) perform operations on the suspicious content and analyzes the results of these operations to determine if any exploits are present (block 630). If no exploits are detected, no further time-bomb analysis is needed (block 640).


Otherwise, according to one embodiment of the disclosure, one or more counters are initiated during run-time of the content under analysis. The counter(s) may monitor the number of repeated function calls to a particular API. Where the number of function calls exceeds a prescribe threshold, a determination is made that the content under analysis includes time-bomb malware (blocks 650 and 660). As a result, the call analysis logic is adapted to emulate compliance with requested function calls by responding to these function calls, sometimes with a shortened call response wait time (block 670). Such shortened response time, which is unbeknownst to the content under analysis, alters the processing time frame for the VM environment to allow the VM to monitor and report the particulars behind the time-bomb malware attack. If the number of function calls to a particular API does not exceed a prescribed threshold, the VM will continue to operate as normal (block 680).


Referring to FIG. 7, a third exemplary flowchart outlining the operations for time-bomb malware detection is shown. Upon receiving content, a determination is made as to whether the content is “suspicious” based on a potential presence of an exploit (blocks 700 and 710). Where the content is determined to be “suspicious,” the attributes of the content may be used to determine one or more software profiles, where the VMs within the analysis environment are based on these software profile(s) (block 720).


Thereafter, the VM(s) perform operations on the suspicious content and analyzes the results of these operations to determine if any exploits are present (block 730). If no exploits are detected, no further time-bomb analysis is needed (block 740).


Otherwise, according to one embodiment of the disclosure, the instruction pointer analysis logic (profiler) undergoes operations to determine if the instruction pointer utilized during processing of the content under analysis is frequently located into the same memory address or a particular range of memory addresses (block 750). If not, no time-bomb malware is detected by the VM operating within the analysis environment of the analysis engine.


In the event that the profiler detects continued presence of the instruction pointer as described above, a determination is made by the processor statistics monitoring logic profile if processor utilization is greater than a prescribed operating threshold (blocks 760-770). If so, and no other malicious activity is detected, a determination is made that the content under analysis includes time-bomb malware (block 780). If the processor utilization is below the prescribed threshold or other malicious activity is seen, then no time-bomb malware is detected. Hence, the VM will continue to operate as normal (block 790).


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.

Claims
  • 1. A system comprising: an addressable memory; andone or more hardware processors communicatively coupled to the addressable memory, the one or more hardware processors being configured to instantiate one or more virtual machines that are adapted to analyze received content that has been identified as suspicious by the content having a level of likelihood that at least one characteristic identified during inspection of the content indicates a potential presence of malware, the one or more virtual machines being configured to (i) monitor a delay caused by one or more events including, during processing of the suspicious content, an instruction pointer remaining at a specific address in the addressable memory or within a specific address range in the addressable memory that is less than an entire address range-and (ii) determine the suspicious content includes malware when the delay corresponding to the instruction pointer remaining at the specific address or within the specific address range exceeds a first time period.
  • 2. The system of claim 1, wherein the one or more virtual machines being configured to further monitor time intervals for one or more Sleep request messages initiated during processing of the suspicious content and identifying the suspicious content as including malware if a combined delay for the one or more Sleep request messages exceeds the first time period.
  • 3. The system of claim 1, wherein the one or more virtual machines being configured to further monitor time intervals for one or more Sleep request messages initiated during processing of the suspicious content and identifying the suspicious content as including malware if one of the time intervals exceeds the first time period.
  • 4. The system of claim 1, wherein the one or more virtual machines being configured to further monitor the one or more events being a number of function calls initiated during processing of the suspicious content represented by a value contained in one or more counters accessible to the one or more virtual machines and identifying the suspicious content as including malware if the number of function calls exceeds a threshold value in response to a comparison conducted by comparison logic being processed by the one or more hardware processors.
  • 5. A system comprising: an addressable memory; andone or more hardware processors communicatively coupled to the addressable memory, the one or more hardware processors being configured to instantiate one or more virtual machines that are adapted to analyze received content, the one or more virtual machines being configured to (i) monitor a delay caused by one or more events including, during processing of the content, an instruction pointer remaining at a specific address in the addressable memory or within a specific address range in the addressable memory that is less than an entire address range-and (ii) determine the content includes malware when the delay corresponding to the instruction pointer remaining at the specific address or within the specific address range exceeds a first time period and a level of utilization for the one or more hardware processors is greater than a prescribed operating threshold.
  • 6. The system of claim 1, wherein the one or more virtual machines being configured to further maintain and monitor values of time intervals for Sleep calls per call site, initiated during processing of the suspicious content and identifying the suspicious content as including malware if one of the time intervals exceeds a predetermined time period.
  • 7. The system of claim 1, wherein the one or more virtual machines being configured to further maintain and monitor values of call counters for certain functions per call site, initiated during processing of the suspicious content, and identifying the suspicious content as including malware if one of the call counters exceeds the a predetermined count threshold.
  • 8. The system of claim 1 further comprising a reporting module being configured to differentiate call sites based on module names and assign weights accordingly and identifying the suspicious content as including malware if a higher count is associated with a call site residing in the suspicious content under analysis.
  • 9. The system of claim 1 further comprising a heuristic engine being configured to identify delay hotspots and identifying the suspicious content as including malware if one of a plurality of time intervals associated with the delay exceeds a predetermined time period.
  • 10. The system of claim 1, wherein the one or more hardware processors being further configured to process a reporting module that issues an alert message indicating the presence of malware within the suspicious content.
  • 11. The system of claim 1, wherein the one or more virtual machines being configured to determine the content includes malware when the delay corresponding to the instruction pointer remaining at the specific address or within the specific address range exceeds the first time period and no other malicious activity associated with the suspicious content has been detected by the one or more virtual machines.
  • 12. The system of claim 5, wherein the first time period has a duration that is dynamically set.
  • 13. The system of claim 5, wherein the one or more virtual machines being configured to determine the content includes malware when the delay corresponding to the instruction pointer remaining at the specific address or within the specific address range exceeds the first time period, the level of utilization for the one or more hardware processors is greater than the prescribed operating threshold, and no other malicious activity associated with the suspicious content has been detected by the one or more virtual machines.
  • 14. A system comprising: one or more hardware processors;a memory communicatively coupled to the one or more hardware processors, wherein the one or more hardware processors being configured to instantiate one or more virtual machines that are adapted to analyze received content that has been identified as suspicious by having a level of likelihood that at least one characteristic identified during prior inspection of the content indicates a potential presence of malware and the one or more virtual machines determine if the content includes time-bomb malware by monitoring, during processing of the received content within the one or more virtual machines, whether an instruction pointer is being repeatedly directed to a specific address or a specific address range that is less than an entire address space, and identifying the content as including malware when the instruction pointer is repeatedly directed to the specific address or the specific address range.
  • 15. The system of claim 14, wherein the one or more virtual machines being configured to monitor time intervals for one type of event being one or more Sleep request messages initiated during processing of the received content and identifying the content as including malware if a total delay requested by the one or more Sleep request messages exceeds the second threshold being a first predetermined time period.
  • 16. The system of claim 14, wherein the one or more virtual machines being configured to monitor time intervals for one type of event being one or more Sleep request messages initiated during processing of the content and identifying the content as including malware if one of the time intervals exceeds a first predetermined time period.
  • 17. The system of claim 14, wherein the one or more virtual machines being configured to further monitor the number of events being a number of function calls initiated during processing of the content and identifying the content as including malware if the number of function calls exceeds the first threshold.
  • 18. The system of claim 14, wherein the second threshold has a duration that is dynamically set.
  • 19. The system of claim 14, wherein the one or more virtual machines being configured to maintain and monitor time intervals for Sleep calls per call site, initiated during processing of the content and identifying the content as including malware if one of the time intervals exceeds a predetermined time period.
  • 20. The system of claim 14, wherein the memory further comprises a reporting module being configured to differentiate call sites based on module names and assign weights accordingly and identifying the content.
US Referenced Citations (387)
Number Name Date Kind
4292580 Ott et al. Sep 1981 A
5175732 Hendel et al. Dec 1992 A
5440723 Arnold et al. Aug 1995 A
5657473 Killean et al. Aug 1997 A
5842002 Schnurer et al. Nov 1998 A
5978917 Chi Nov 1999 A
6067644 Levine May 2000 A
6088803 Tso et al. Jul 2000 A
6094677 Capek et al. Jul 2000 A
6269330 Cidon et al. Jul 2001 B1
6279113 Vaidya Aug 2001 B1
6298445 Shostack Oct 2001 B1
6357008 Nachenberg Mar 2002 B1
6424627 Sorhaug et al. Jul 2002 B1
6484315 Ziese Nov 2002 B1
6487666 Shanklin et al. Nov 2002 B1
6493756 O'Brien et al. Dec 2002 B1
6550012 Villa et al. Apr 2003 B1
6775657 Baker Aug 2004 B1
6832367 Choi et al. Dec 2004 B1
6895550 Kanchirayappa et al. May 2005 B2
6898632 Gordy et al. May 2005 B2
6907396 Muttik et al. Jun 2005 B1
6981279 Arnold et al. Dec 2005 B1
7007107 Ivchenko et al. Feb 2006 B1
7028179 Anderson et al. Apr 2006 B2
7043757 Hoefelmeyer et al. May 2006 B2
7069316 Gryaznov Jun 2006 B1
7080408 Pak et al. Jul 2006 B1
7093002 Wolff et al. Aug 2006 B2
7093239 van der Made Aug 2006 B1
7100201 Izatt Aug 2006 B2
7159149 Spiegel et al. Jan 2007 B2
7231667 Jordan Jun 2007 B2
7240364 Branscomb et al. Jul 2007 B1
7240368 Roesch et al. Jul 2007 B1
7287278 Liang Oct 2007 B2
7308716 Danford et al. Dec 2007 B2
7356736 Natvig Apr 2008 B2
7376970 Marinescu May 2008 B2
7386888 Liang et al. Jun 2008 B2
7392542 Bucher Jun 2008 B2
7418729 Szor Aug 2008 B2
7428300 Drew et al. Sep 2008 B1
7441272 Durham et al. Oct 2008 B2
7448084 Apap et al. Nov 2008 B1
7458098 Judge et al. Nov 2008 B2
7461403 Libenzi Dec 2008 B1
7464404 Carpenter et al. Dec 2008 B2
7464407 Nakae et al. Dec 2008 B2
7467408 O'Toole, Jr. Dec 2008 B1
7480773 Reed Jan 2009 B1
7487543 Arnold et al. Feb 2009 B2
7490353 Kohavi Feb 2009 B2
7496960 Chen et al. Feb 2009 B1
7496961 Zimmer et al. Feb 2009 B2
7519990 Xie Apr 2009 B1
7523493 Liang et al. Apr 2009 B2
7530104 Thrower et al. May 2009 B1
7530106 Zaitsev et al. May 2009 B1
7540025 Tzadikario May 2009 B2
7555777 Swimmer et al. Jun 2009 B2
7565550 Liang et al. Jul 2009 B2
7603715 Costa et al. Oct 2009 B2
7607171 Marsden et al. Oct 2009 B1
7639714 Stolfo et al. Dec 2009 B2
7644441 Schmid et al. Jan 2010 B2
7676841 Sobchuk et al. Mar 2010 B2
7698548 Shelest et al. Apr 2010 B2
7707633 Danford et al. Apr 2010 B2
7779463 Stolfo et al. Aug 2010 B2
7784097 Stolfo et al. Aug 2010 B1
7832008 Kraemer Nov 2010 B1
7849506 Dansey et al. Dec 2010 B1
7869073 Oshima Jan 2011 B2
7877803 Enstone et al. Jan 2011 B2
7904959 Sidiroglou et al. Mar 2011 B2
7908660 Bahl Mar 2011 B2
7930738 Petersen Apr 2011 B1
7937761 Bennett May 2011 B1
7996556 Raghavan et al. Aug 2011 B2
7996836 McCorkendale et al. Aug 2011 B1
7996905 Arnold et al. Aug 2011 B2
8006305 Aziz Aug 2011 B2
8010667 Zhang et al. Aug 2011 B2
8020206 Hubbard et al. Sep 2011 B2
8028338 Schneider et al. Sep 2011 B1
8045094 Teragawa Oct 2011 B2
8045458 Alperovitch et al. Oct 2011 B2
8069484 McMillan et al. Nov 2011 B2
8087086 Lai et al. Dec 2011 B1
8112483 Emigh et al. Feb 2012 B1
8171553 Aziz et al. May 2012 B2
8201246 Wu et al. Jun 2012 B1
8204984 Aziz et al. Jun 2012 B1
8220055 Kennedy Jul 2012 B1
8225288 Miller et al. Jul 2012 B2
8225373 Kraemer Jul 2012 B2
8233882 Rogel Jul 2012 B2
8234709 Viljoen et al. Jul 2012 B2
8239944 Nachenberg et al. Aug 2012 B1
8286251 Eker et al. Oct 2012 B2
8291499 Aziz et al. Oct 2012 B2
8307435 Mann et al. Nov 2012 B1
8307443 Wang et al. Nov 2012 B2
8312545 Tuvell et al. Nov 2012 B2
8321936 Green et al. Nov 2012 B1
8321941 Tuvell et al. Nov 2012 B2
8365286 Poston Jan 2013 B2
8370938 Daswani et al. Feb 2013 B1
8370939 Zaitsev et al. Feb 2013 B2
8375444 Aziz et al. Feb 2013 B2
8381299 Stolfo et al. Feb 2013 B2
8402529 Green et al. Mar 2013 B1
8510827 Leake et al. Aug 2013 B1
8510842 Amit et al. Aug 2013 B2
8516593 Aziz Aug 2013 B2
8528086 Aziz Sep 2013 B1
8539582 Aziz et al. Sep 2013 B1
8549638 Aziz Oct 2013 B2
8561177 Aziz et al. Oct 2013 B1
8566946 Aziz et al. Oct 2013 B1
8584094 Dadhia et al. Nov 2013 B2
8584234 Sobel et al. Nov 2013 B1
8584239 Aziz et al. Nov 2013 B2
8595834 Xie et al. Nov 2013 B2
8627476 Satish et al. Jan 2014 B1
8635696 Aziz Jan 2014 B1
8689333 Aziz Apr 2014 B2
8713681 Silberman et al. Apr 2014 B2
8763125 Feng Jun 2014 B1
8776229 Aziz Jul 2014 B1
8793787 Ismael et al. Jul 2014 B2
8832829 Manni et al. Sep 2014 B2
8850571 Staniford et al. Sep 2014 B2
8881282 Aziz et al. Nov 2014 B1
8898788 Aziz et al. Nov 2014 B1
8935779 Manni et al. Jan 2015 B2
8984638 Aziz et al. Mar 2015 B1
8990939 Staniford et al. Mar 2015 B2
8990944 Singh et al. Mar 2015 B1
8997219 Staniford et al. Mar 2015 B2
9009822 Ismael et al. Apr 2015 B1
9009823 Ismael et al. Apr 2015 B1
9027135 Aziz May 2015 B1
9071638 Aziz et al. Jun 2015 B1
9104867 Thioux et al. Aug 2015 B1
9106694 Aziz et al. Aug 2015 B2
9118715 Staniford et al. Aug 2015 B2
9159035 Ismael et al. Oct 2015 B1
9171160 Vincent et al. Oct 2015 B2
9176843 Ismael et al. Nov 2015 B1
9189627 Islam Nov 2015 B1
9195829 Goradia et al. Nov 2015 B1
9223972 Vincent et al. Dec 2015 B1
9225740 Ismael et al. Dec 2015 B1
9241010 Bennett et al. Jan 2016 B1
9251343 Vincent et al. Feb 2016 B1
9262635 Paithane et al. Feb 2016 B2
9282109 Aziz et al. Mar 2016 B1
9292686 Ismael et al. Mar 2016 B2
9294501 Mesdaq et al. Mar 2016 B2
9300686 Pidathala et al. Mar 2016 B2
9306960 Aziz Apr 2016 B1
9306974 Aziz et al. Apr 2016 B1
9311479 Manni et al. Apr 2016 B1
9355247 Thioux et al. May 2016 B1
9356944 Aziz May 2016 B1
9363280 Rivlin et al. Jun 2016 B1
9367681 Ismael et al. Jun 2016 B1
9398028 Karandikar et al. Jul 2016 B1
20010005889 Albrecht Jun 2001 A1
20010047326 Broadbent et al. Nov 2001 A1
20020018903 Kokubo et al. Feb 2002 A1
20020038430 Edwards et al. Mar 2002 A1
20020091819 Melchione et al. Jul 2002 A1
20020144156 Copeland, III Oct 2002 A1
20020162015 Tang Oct 2002 A1
20020166063 Lachman et al. Nov 2002 A1
20020184528 Shevenell et al. Dec 2002 A1
20020188887 Largman et al. Dec 2002 A1
20020194490 Halperin et al. Dec 2002 A1
20030074578 Ford et al. Apr 2003 A1
20030084318 Schertz May 2003 A1
20030115483 Liang Jun 2003 A1
20030188190 Aaron et al. Oct 2003 A1
20030200460 Morota et al. Oct 2003 A1
20030212902 Van Der Made Nov 2003 A1
20030237000 Denton et al. Dec 2003 A1
20040003323 Bennett et al. Jan 2004 A1
20040015712 Szor Jan 2004 A1
20040019832 Arnold et al. Jan 2004 A1
20040047356 Bauer Mar 2004 A1
20040083408 Spiegel et al. Apr 2004 A1
20040093513 Cantrell et al. May 2004 A1
20040111531 Staniford et al. Jun 2004 A1
20040165588 Pandya Aug 2004 A1
20040236963 Danford et al. Nov 2004 A1
20040243349 Greifeneder et al. Dec 2004 A1
20040249911 Alkhatib et al. Dec 2004 A1
20040255161 Cavanaugh Dec 2004 A1
20040268147 Wiederin et al. Dec 2004 A1
20050021740 Bar et al. Jan 2005 A1
20050033960 Vialen et al. Feb 2005 A1
20050033989 Poletto et al. Feb 2005 A1
20050050148 Mohammadioun et al. Mar 2005 A1
20050086523 Zimmer et al. Apr 2005 A1
20050091513 Mitomo et al. Apr 2005 A1
20050091533 Omote et al. Apr 2005 A1
20050114663 Cornell et al. May 2005 A1
20050125195 Brendel Jun 2005 A1
20050157662 Bingham et al. Jul 2005 A1
20050183143 Anderholm et al. Aug 2005 A1
20050201297 Peikari Sep 2005 A1
20050210533 Copeland et al. Sep 2005 A1
20050238005 Chen et al. Oct 2005 A1
20050265331 Stolfo Dec 2005 A1
20060010495 Cohen et al. Jan 2006 A1
20060015715 Anderson Jan 2006 A1
20060021054 Costa et al. Jan 2006 A1
20060031476 Mathes et al. Feb 2006 A1
20060047665 Neil Mar 2006 A1
20060070130 Costea et al. Mar 2006 A1
20060075496 Carpenter et al. Apr 2006 A1
20060095968 Portolani et al. May 2006 A1
20060101516 Sudaharan et al. May 2006 A1
20060101517 Banzhof et al. May 2006 A1
20060117385 Mester et al. Jun 2006 A1
20060123477 Raghavan et al. Jun 2006 A1
20060143709 Brooks et al. Jun 2006 A1
20060150249 Gassen et al. Jul 2006 A1
20060161983 Cothrell et al. Jul 2006 A1
20060161987 Levy-Yurista Jul 2006 A1
20060161989 Reshef et al. Jul 2006 A1
20060164199 Gilde et al. Jul 2006 A1
20060173992 Weber et al. Aug 2006 A1
20060179147 Tran et al. Aug 2006 A1
20060184632 Marino et al. Aug 2006 A1
20060191010 Benjamin Aug 2006 A1
20060221956 Narayan et al. Oct 2006 A1
20060236393 Kramer et al. Oct 2006 A1
20060242709 Seinfeld et al. Oct 2006 A1
20060251104 Koga Nov 2006 A1
20060288417 Bookbinder et al. Dec 2006 A1
20070006288 Mayfield et al. Jan 2007 A1
20070006313 Porras et al. Jan 2007 A1
20070011174 Takaragi et al. Jan 2007 A1
20070016951 Piccard et al. Jan 2007 A1
20070033645 Jones Feb 2007 A1
20070038943 FitzGerald et al. Feb 2007 A1
20070064689 Shin et al. Mar 2007 A1
20070094730 Bhikkaji et al. Apr 2007 A1
20070143827 Nicodemus et al. Jun 2007 A1
20070156895 Vuong Jul 2007 A1
20070157180 Tillmann et al. Jul 2007 A1
20070157306 Elrod et al. Jul 2007 A1
20070171824 Ruello et al. Jul 2007 A1
20070174915 Gribble Jul 2007 A1
20070192500 Lum Aug 2007 A1
20070192858 Lum Aug 2007 A1
20070198275 Malden et al. Aug 2007 A1
20070240218 Tuvell et al. Oct 2007 A1
20070240219 Tuvell et al. Oct 2007 A1
20070240220 Tuvell et al. Oct 2007 A1
20070240222 Tuvell et al. Oct 2007 A1
20070250927 Naik Oct 2007 A1
20070250930 Aziz et al. Oct 2007 A1
20070271446 Nakamura Nov 2007 A1
20080005782 Aziz Jan 2008 A1
20080016339 Shukla Jan 2008 A1
20080040710 Chiriac Feb 2008 A1
20080072326 Danford et al. Mar 2008 A1
20080077793 Tan et al. Mar 2008 A1
20080080518 Hoeflin et al. Apr 2008 A1
20080098476 Syversen Apr 2008 A1
20080120722 Sima et al. May 2008 A1
20080134178 Fitzgerald et al. Jun 2008 A1
20080134334 Kim et al. Jun 2008 A1
20080141376 Clausen et al. Jun 2008 A1
20080181227 Todd Jul 2008 A1
20080184373 Traut et al. Jul 2008 A1
20080189787 Arnold et al. Aug 2008 A1
20080215742 Goldszmidt et al. Sep 2008 A1
20080222729 Chen et al. Sep 2008 A1
20080263665 Ma et al. Oct 2008 A1
20080295172 Bohacek Nov 2008 A1
20080301810 Lehane et al. Dec 2008 A1
20080307524 Singh et al. Dec 2008 A1
20080320594 Jiang Dec 2008 A1
20090007100 Field et al. Jan 2009 A1
20090013408 Schipka Jan 2009 A1
20090031423 Liu et al. Jan 2009 A1
20090036111 Danford et al. Feb 2009 A1
20090044024 Oberheide et al. Feb 2009 A1
20090044274 Budko et al. Feb 2009 A1
20090083369 Marmor Mar 2009 A1
20090083855 Apap et al. Mar 2009 A1
20090089879 Wang et al. Apr 2009 A1
20090094697 Provos et al. Apr 2009 A1
20090125976 Wassermann et al. May 2009 A1
20090126015 Monastyrsky et al. May 2009 A1
20090126016 Sobko et al. May 2009 A1
20090133125 Choi et al. May 2009 A1
20090158430 Borders Jun 2009 A1
20090187992 Poston Jul 2009 A1
20090193293 Stolfo et al. Jul 2009 A1
20090199296 Xie et al. Aug 2009 A1
20090228233 Anderson et al. Sep 2009 A1
20090241187 Troyansky Sep 2009 A1
20090241190 Todd et al. Sep 2009 A1
20090265692 Godefroid et al. Oct 2009 A1
20090271867 Zhang Oct 2009 A1
20090300761 Park et al. Dec 2009 A1
20090320011 Chow Dec 2009 A1
20090328185 Berg et al. Dec 2009 A1
20090328221 Blumfield et al. Dec 2009 A1
20100017546 Poo et al. Jan 2010 A1
20100043073 Kuwamura Feb 2010 A1
20100054278 Stolfo et al. Mar 2010 A1
20100058474 Hicks Mar 2010 A1
20100064044 Nonoyama Mar 2010 A1
20100077481 Polyakov et al. Mar 2010 A1
20100083376 Pereira et al. Apr 2010 A1
20100115621 Staniford et al. May 2010 A1
20100132038 Zaitsev May 2010 A1
20100154056 Smith et al. Jun 2010 A1
20100192223 Ismael et al. Jul 2010 A1
20100251104 Massand Sep 2010 A1
20100281102 Chinta et al. Nov 2010 A1
20100281541 Stolfo et al. Nov 2010 A1
20100281542 Stolfo et al. Nov 2010 A1
20100287260 Peterson et al. Nov 2010 A1
20110025504 Lyon et al. Feb 2011 A1
20110041179 Stahlberg Feb 2011 A1
20110047594 Mahaffey et al. Feb 2011 A1
20110047620 Mahaffey et al. Feb 2011 A1
20110078794 Manni et al. Mar 2011 A1
20110093951 Aziz Apr 2011 A1
20110099633 Aziz Apr 2011 A1
20110113231 Kaminsky May 2011 A1
20110145920 Mahaffey et al. Jun 2011 A1
20110167494 Bowen et al. Jul 2011 A1
20110225651 Villasenor Sep 2011 A1
20110247072 Staniford Oct 2011 A1
20110265182 Peinado et al. Oct 2011 A1
20110307954 Melnik et al. Dec 2011 A1
20110307955 Kaplan et al. Dec 2011 A1
20110307956 Yermakov et al. Dec 2011 A1
20110314546 Aziz et al. Dec 2011 A1
20120079596 Thomas et al. Mar 2012 A1
20120084859 Radinsky et al. Apr 2012 A1
20120117652 Manni et al. May 2012 A1
20120174186 Aziz et al. Jul 2012 A1
20120174218 McCoy et al. Jul 2012 A1
20120198279 Schroeder Aug 2012 A1
20120210423 Friedrichs et al. Aug 2012 A1
20120222121 Staniford et al. Aug 2012 A1
20120255012 Sallam Oct 2012 A1
20120265976 Spiers et al. Oct 2012 A1
20120278886 Luna Nov 2012 A1
20120291131 Turkulainen et al. Nov 2012 A1
20120297489 Dequevy Nov 2012 A1
20120304244 Xie Nov 2012 A1
20120330801 McDougal et al. Dec 2012 A1
20120331553 Aziz Dec 2012 A1
20130036472 Aziz Feb 2013 A1
20130047257 Aziz Feb 2013 A1
20130067577 Turbin Mar 2013 A1
20130086684 Mohler Apr 2013 A1
20130097699 Balupari Apr 2013 A1
20130097706 Titonis Apr 2013 A1
20130117741 Prabhakaran et al. May 2013 A1
20130139265 Romanenko May 2013 A1
20130145463 Ghosh Jun 2013 A1
20130160130 Mendelev et al. Jun 2013 A1
20130160131 Madou et al. Jun 2013 A1
20130227691 Aziz et al. Aug 2013 A1
20130246370 Bartram et al. Sep 2013 A1
20130263260 Mahaffey et al. Oct 2013 A1
20130291051 Balinsky Oct 2013 A1
20130291109 Staniford et al. Oct 2013 A1
20130298243 Kumar Nov 2013 A1
20130312098 Kapoor Nov 2013 A1
20130312099 Edwards Nov 2013 A1
20140007228 Ngair Jan 2014 A1
20140053260 Gupta et al. Feb 2014 A1
20140053261 Gupta et al. Feb 2014 A1
Foreign Referenced Citations (8)
Number Date Country
2439806 Jan 2008 GB
2490431 Oct 2012 GB
WO-0206928 Jan 2002 WO
WO-0223805 Mar 2002 WO
WO-2007-117636 Oct 2007 WO
WO-2008041950 Apr 2008 WO
WO-2011084431 Jul 2011 WO
WO-2012145066 Oct 2012 WO
Non-Patent Literature Citations (56)
Entry
Hewlett-Packard, “QuickSpecs—HP Proliant DL360 Generation (G6)”, Apr. 28, 2010, Hewlett-Packard, Version 29, pp. 4.
D. Levinthal, “Performance Analysis Guide for Intel Core i7 Processor and Intel Xeon 5500 processors”, 2009, Intel Corp, Version 1.0, pp. 12.
C. Kolbitsch et al., “The Power of Procrastination: Detection and Mitigation of Execution-Stalling Malicious Code” in Proceedings of the 18th ACM Conference on Computer and Communications Security, 2011, ACM, pp. 1-12.
J. Crandall et al., “Temperal Search: Detecting Hidden Timebombs with Virtual Machines” in Proceedings of 9th International Conference on Architectural Support for Programming Languages and Operating Systems, 2006, ACM, pp. 25-36.
Lastline Labs, The Threat of Evasive Malware, Feb. 25, 2013, Lastline Labs, pp. 1-8.
Hiroshi Shinotsuka, Malware Authors Using New Techniques to Evade Automated Threat Analysis Systems, Oct. 26, 2012, http://www.symantec.com/connect/blogs/, pp. 1-4.
Lindorfer et al., Detecting environment-sensitive malware, 2011, Springer-Verlag Berlin, RAID'11 Proceedings of the 14th international conference on Recent Advances in Intrusion Detection, pp. 1-20.
IEEE Xplore Digital Library Sear Results for “detection of unknown computer worms”. Http//ieeexplore.ieee.org/searchresult.jsp?SortField=Score&SortOrder=desc&ResultC . . . , (Accessed on Aug. 28, 2009).
AltaVista Advanced Search Results. “Event Orchestrator”. Http://www.altavista.com/web/results?Itag=ody&pg=aq&aqmode=aqa=Event+Orchesrator . . . , (Accessed on Sep. 3, 2009).
AltaVista Advanced Search Results. “attack vector identifier”. Http://www.altavista.com/web/results?Itag=ody&pg=aq&aqmode=aqa=Event+Orchestrator . . . , (Accessed on Sep. 15, 2009).
Cisco, Configuring the Catalyst Switched Port Analyzer (SPAN) (“Cisco”),(1992-2003).
Reiner Sailer, Enriquillo Valdez, Trent Jaeger, Roonald Perez, Leendert van Doorn, John Linwood Griffin, Stefan Berger., sHype: Secure Hypervisor Appraoch to Trusted Virtualized Systems (Feb. 2, 2005) (“Sailer”).
Excerpt regarding First Printing Date for Merike Kaeo, Designing Network Security (“Kaeo”), (2005).
The Sniffers's Guide to Raw Traffic available at: yuba.stanford.edu/˜casado/pcap/section1.html, (Jan. 6, 2014).
“Network Security: NetDetector—Network Intrusion Forensic System (NIFS) Whitepaper”, (“NetDetector Whitepaper”), (2003).
“Packet”, Microsoft Computer Dictionary, Microsoft Press, (Mar. 2002), 1 page.
“When Virtual is Better Than Real”, IEEEXplore Digital Library, available at, http://ieeexplore.ieee.org/xpl/articleDetails.jsp?reload=true&arnumber=990073, (Dec. 7, 2013).
Abdullah, et al., Visualizing Network Data for Intrusion Detection, 2005 IEEE Workshop on Information Assurance and Security, pp. 100-108.
Adetoye, Adedayo , et al., “Network Intrusion Detection & Response System”, (“Adetoye”), (Sep. 2003).
Aura, Tuomas, “Scanning electronic documents for personally identifiable information”, Proceedings of the 5th ACM workshop on Privacy in electronic society. ACM, 2006.
Baecher, “The Nepenthes Platform: An Efficient Approach to collect Malware”, Springer-verlag Berlin Heidelberg, (2006), pp. 165-184.
Bayer, et al., “Dynamic Analysis of Malicious Code”, J Comput Virol, Springer-Verlag, France., (2006), pp. 67-77.
Boubalos, Chris , “Extracting syslog data out of raw pcap dumps, seclists.org, Honeypots mailing list archives”, available at http://seclists.org/honeypots/2003/q2/319 (“Boubalos”), (Jun. 5, 2003).
Chaudet, C. , et al., “Optimal Positioning of Active and Passive Monitoring Devices”, International Conference on Emerging Networking Experiments and Technologies, Proceedings of the 2005 ACM Conference on Emerging Network Experiment and Technology, CoNEXT '05, Toulousse, France, (Oct. 2005), pp. 71-82.
Cohen, M.I. , “PyFlag—An advanced network forensic framework”, Digital investigation 5, Elsevier, (2008), pp. S112-S120.
Costa, M. , et al., “Vigilante: End-to-End Containment of Internet Worms”, SOSP '05, Association for Computing Machinery, Inc., Brighton (Oct. 23-26, 2005).
Crandall, J.R. , et al., “Minos:Control Data Attack Prevention Orthogonal to Memory Model”, 37th International Symposium on Microarchitecture, Portland, Oregon, (Dec. 2004).
Deutsch, P. , ““Zlib compressed data format specification version 3.3” RFC 1950, (1996)”.
Distler, “Malware Analysis:An Introduction”, SANS Institute InfoSec Reading Room, SANS Institute, (2007).
Dunlap, George W. , et al., “ReVirt: Enabling Intrusion Analysis through Virtual-Machine Logging and Replay”, Proceeding of the 5th Symposium on Operating Systems Design and Implementation, USENIX Association, (“Dunlap”), (Dec. 9, 2002).
Filiol, Eric , et al., “Combinatorial Optimisation of Worm Propagation on an Unknown Network”, International Journal of Computer Science 2.2 (2007).
Goel, et al., Reconstructing System State for Intrusion Analysis, Apr. 2008 SIGOPS Operating Systems Review, vol. 42 Issue 3, pp. 21-28.
Hjelmvik, Erik , “Passive Network Security Analysis with NetworkMiner”, (IN)SECURE, Issue 18, (Oct. 2008), pp. 1-100.
Kaeo, Merike , “Designing Network Security”, (“Kaeo”), (Nov. 2003).
Kim, H. , et al., “Autograph: Toward Automated, Distributed Worm Signature Detection”, Proceedings of the 13th Usenix Security Symposium (Security 2004), San Diego, (Aug. 2004), pp. 271-286.
Krasnyansky, Max , et al., Universal TUN/TAP driver, available at https://www.kernel.org/doc/Documentation/networking/tuntap.txt (2002) (“Krasnyansky”).
Kreibich, C. , et al., “Honeycomb-Creating Intrusion Detection Signatures Using Honeypots”, 2nd Workshop on Hot Topics in Networks (HotNets-11), Boston, USA, (2003).
Kristoff, J. , “Botnets, Detection and Mitigation: DNS-Based Techniques”, NU Security Day, (2005), 23 pages.
Liljenstam, Michael , et al., “Simulating Realistic Network Traffic for Worm Warning System Design and Testing”, Institute for Security Technology studies, Dartmouth College, (“Liljenstam”), (Oct. 27, 2003).
Marchette, David J., “Computer Intrusion Detection and Network Monitoring: A Statistical Viewpoint”, (“Marchette”), (2001).
Margolis, P.E. , “Random House Webster's ‘Computer & Internet Dictionary 3rd Edition’”, ISBN 0375703519, (Dec. 1998).
Moore, D. , et al., “Internet Quarantine: Requirements for Containing Self-Propagating Code”, INFOCOM, vol. 3, (Mar. 30-Apr. 3, 2003), pp. 1901-1910.
Morales, Jose A., et al., “Analyzing and exploiting network behaviors of malware.”, Security and Privacy in Communication Networks. Springer Berlin Heidelberg, 2010. 20-34.
Natvig, Kurt , “SandboxII: Internet”, Virus Bulletin Conference, (“Natvig”) (Sep. 2002).
NetBIOS Working Group. Protocol Standard for a NetBIOS Service on a TCP/UDP transport: Concepts and Methods. STD 19, RFC 1001, Mar. 1987.
Newsome, J. , et al., “Dynamic Taint Analysis for Automatic Detection, Analysis, and Signature Generation of Exploits on Commodity Software”, In Proceedings of the 12th Annual Network and Distributed System Security, Symposium (NDSS '05), (Feb. 2005).
Newsome, J. , et al., “Polygraph: Automatically Generating Signatures for Polymorphic Worms”, In Proceedings of the IEEE Symposium on Security and Privacy, (May 2005).
Nojiri, D. , et al., “Cooperation Response Strategies for Large Scale Attack Mitigation”, DARPA Information Survivability Conference and Exposition, vol. 1, (Apr. 22-24, 2003), pp. 293-302.
Silicon Defense, “Worm Containment in the Internal Network”, (Mar. 2003), pp. 1-25.
Singh, S. , et al., “Automated Worm Fingerprinting”, Proceedings of the ACM/USENIX Symposium on Operating System Design and Implementation, San Francisco, California, (Dec. 2004).
Spitzner, Lance , “Honeypots: Tracking Hackers”, (“Spizner”), (Sep. 17, 2002).
Thomas H. Ptacek, and Timothy N. Newsham , “Insertion, Evasion, and Denial of Service: Eluding Network Intrusion Detection”, Secure Networks, (“Ptacek”), (Jan. 1998).
Venezia, Paul , “NetDetector Captures Intrusions”, InfoWorld Issue 27, (“Venezia”), (Jul. 14, 2003).
Whyte, et al., “DNS-Based Detection of Scanning Works in an Enterprise Network”, Proceedings of the 12th Annual Network and Distributed System Security Symposium, (Feb. 2005), 15 pages.
Williamson, Matthew M., “Throttling Viruses: Restricting Propagation to Defeat Malicious Mobile Code”, ACSAC Conference, Las Vegas, NV, USA, (Dec. 2002), pp. 1-9.
International Search Report from corresponding PCT/US2014/043727 application dated Sep. 25, 2014, from European Patent Office Officer Marc Meis.
Related Publications (1)
Number Date Country
20140380474 A1 Dec 2014 US