IP Library Granted Patent US 8,528,091
Granted Patent B2
US 8,528,091 · App. 12/982,984 · Granted Sep 3, 2013

Methods, systems, and media for detecting covert malware

Inventors: Brian M. Bowen (New York, NY); Pratap V. Prabhu (New York, NY); Vasileios P. Kemerlis (New York, NY); Stylianos Sidiroglou (Astoria, NY); Salvatore J. Stolfo (Ridgewood, NJ); Angelos D. Keromytis (New York, NY)
Assignee: The Trustees of Columbia University in the City of New York
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,528,091
App. No.
12/982,984
Granted
Sep 3, 2013
Kind
B2
Abstract

Methods, systems, and media for detecting covert malware are provided. In accordance with some embodiments, a method for detecting covert malware in a computing environment is provided, the method comprising: generating simulated user activity outside of the computing environment; conveying the simulated user activity to an application inside the computing environment; and determining whether a decoy corresponding to the simulated user activity has been accessed by an unauthorized entity.

Claims (69)

1. A method for detecting covert malware in a computing environment, the method comprising:

generating simulated user activity outside of the computing environment;

conveying the simulated user activity to an application inside the computing environment;

determining whether state information of the application matches an expected state after the simulated user activity is conveyed to the application;

determining whether a decoy corresponding to the simulated user activity has been accessed by an unauthorized entity, wherein the decoy includes at least part of the simulated user activity and wherein the decoy is inside the computing environment; and

in response to determining that the decoy has been accessed by the unauthorized entity, determining that covert malware is present in the computing environment.

2. The method of claim 1 , further comprising monitoring the actual user activity, wherein the actual user activity comprises mouse and keyboard events.

3. The method of claim 2 , further comprising replaying at least a portion of the monitored user activity along with conveying the simulated user activity.

4. The method of claim 2 , wherein generating the simulated user activity further comprises recording, modifying, and replaying the mouse and keyboard events based on the monitored user activity.

5. The method of claim 1 , further comprising monitoring network traffic that comprises conversation summaries to determine the actual user activity over a network.

6. The method of claim 1 . wherein the simulated user activity is generated outside of a virtual environment and wherein the simulated user activity is conveyed from outside of the virtual environment to the application inside the virtual environment.

7. The method of claim 1 . wherein the simulated user activity is generated by modifying the actual user activity and translating the modified user activity using a wireless protocol.

8. The method of claim 1 , wherein the simulated user activity is conveyed to the computing environment using a remote access protocol.

9. The method of claim 1 , further comprising monitoring a response of the application to the simulated user activity to determine the presence of covert malware in the application.

10. The method of claim 1 , wherein determining the state information further comprises performing a visual verification that determines whether a screen output changed as expected in response to the simulated user activity.

11. The method of claim 1 , wherein determining the state information further comprises:

analyzing network traffic to determine message characteristics that include at least one of: a number of conversations, a number of messages exchanged, and a number of bytes in each message; and

comparing the state information that includes current message characteristics with the analyzed network traffic that includes determined message characteristics.

12. The method of claim 1 , further comprising determining whether traffic indicates the presence of covert malware in the application subsequent to conveying the simulated user activity.

13. The method of claim 12 , further comprising;

monitoring account activity relating to the decoy to determine whether the decoy has been accessed by the unauthorized entity; and

transmitting an alert in response to determining that the decoy has been accessed and determining that the traffic indicates the presence of covert malware and originates from the computing environment.

14. A method for detecting covert malware in a computing environment, the method comprising:

defining simulated user activity by a formal language, wherein actual user activity is mapped to constructs of the formal language and wherein the formal language comprises carry actions for the simulation and the conveyance of a decoy and cover actions that support believability of the simulated user activity and the decoy;

generating the simulated user activity outside of the computing environment;

conveying the simulated user activity to an application inside the computing environment; and

determining whether the decoy correspondig to the simulated user activity has been accessed by an unauthorized entity.

15. The method of claim 1 , further comprising generating the simulated user activity using a model of actual user activity, wherein the model of actual user activity includes a model of at least one of: keystroke speed, mouse speed, mouse distance, keystroke error rate, and frequency of errors made during typing.

16. A system for detecting covert malware in a computing environment, the system comprising:

a hardware processor that:

generates simulated user activity outside of the computing environment;

conveys the simulated user activity to an application inside the computing environment;

determines whether state information 0 f the application matches an expected state after the simulated user activity is conveyed to the application;

determines whether a decoy corresponding to the simulated user activity has been accessed by an unauthorized entity, wherein the decoy includes at least part of the simulated user activity and wherein the decoy is inside the computing environment; and

in response to determining that the decoy has been accessed by the unauthorized entity, determines that covert malware is present in the computing environment.

17. The system of claim 16 , wherein the processor is further configured to monitor the actual user activity, wherein the actual user activity comprises mouse and keyboard events.

18. The system of claim 17 , wherein the processor is further configured to replay at least a portion of the monitored user activity along, with conveying the simulated user activity.

19. The system of claim 17 , wherein the processor is further configured to record, modify, and replay the mouse and keyboard events based on the monitored user activity.

20. The system of claim 16 , wherein the processor is further configured to monitor network traffic that comprises conversation summaries to determine the actual user activity over a network.

21. The system of claim 16 , wherein the simulated user activity is generated outside of a virtual environment and wherein the simulated user activity is conveyed from outside of the virtual environment to the application inside the virtual environment.

22. The system of claim 16 , wherein the simulated user activity is generated by modifying the actual user activity and translating the modified user activity using a wireless protocol.

23. The system of claim 16 , wherein the simulated user activity is conveyed to the computing environment using a remote access protocol.

24. The system of claim 16 , wherein the processor is further configured to generate the simulated user activity using a model of actual user activity, wherein the model of actual user activity includes a model of at least one of: keystroke speed., mouse speed, mouse distance, keystroke error rate, and frequency of errors made during typing.

25. The system of claim 16 , wherein the processor is further configured to monitor a response of the application to the simulated user activity to determine the presence of covert malware in the application.

26. The system of claim 16 , wherein the processor is further configured to perform a visual verification that determines whether a screen output changed as expected in response to the simulated user activity.

27. The system of claim 16 , wherein the processor is further configured to:

analyze network traffic to determine message characteristics that include at least one of: a number of conversations, a number of messages exchanged, and a number of bytes M each message; and

compare the state information that includes current message characteristics with the analyzed network traffic that includes determined message characteristics.

28. The system of claim 16 , wherein the processor is further configured to determine whether traffic indicates the presence of covert malware in the application subsequent to conveying the simulated user activity.

29. The system of claim 28 , wherein the processor is further configured to:

monitor account activity relating to the decoy to determine whether the decoy has been accessed by the unauthorized entity; and

transmit an alert in response to determining that the decoy has been accessed and determining that the traffic indicates the presence of covert malware and originates from the computing environment.

30. A system for detecting covert malware in a computing environment, the system comprising:

a hardware processor that:

defines simulated user activity by a formal language, wherein actual user activity is mapped to constructs of the formal language and wherein the formal language comprises carry actions for the simulation and the conveyance of a decoy and cover actions that support believability of the simulated user activity and the decoy;

generates the simulated user activity outside of the computing environment;

conveys the simulated user activity to an application inside the computing environment; and

determines whether the decoy corresponding to the simulated user activity has been accessed by an unauthorized entity.

31. A non-transitory computer-readable medium containing computer-executable instructions that, when executed by a processor, cause the processor to perform a method for detecting covert malware in a computing environment, the method comprising:

generating simulated user activity outside of the computing environment;

conveying the simulated user activity to an application inside the computing environment;

determining whether state information of the application matches an expected state after the simulated user activity is conveyed to the application;

determining whether a decoy corresponding to the simulated user activity has been accessed by an unauthorized entity, wherein the decoy includes at least part of the simulated user activity and wherein the decoy is inside the computing environment; and

in response to determining that the decoy has been accessed by the unauthorized entity, determining that covert malware is present in the computing environment.

32. A non-transitory computer-readable medium containing computer-executable instructions that, when executed by a processor, cause the processor to perform a method for detecting covert malware in a computing environment, the method comprising:

defining simulated user activity by a formal language, wherein actual user activity is mapped to constructs of the formal language and wherein the formal language comprises carry actions for the simulation and the conveyance of a decoy and cover actions that support believability of the simulated user activity and the decoy;

generating the simulated user activity outside of the computing environment;

conveying the simulated user activity to an application inside the computing environment; and

determining whether the decoy corresponding to the simulated user activity has been accessed by an unauthorized entity.

Assignments (2)
CONFIRMATORY LICENSE Recorded May 24, 2012
From: COLUMBIA UNIVERSITY NEW YORK MORNINGSIDE
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 028274/0856 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2011
From: BOWEN, BRIAN M.; PRABHU, PRATAP V.; KEMERLIS, VASILEIOS P.; SIDIROGLOU, STYLIANOS; STOLFO, SALVATORE J.; KEROMYTIS, ANGELOS D.
To: THE TRUSTEES OF COLUMBIA UNIVERSITY IN THE CITY OF NEW YORK
Reel/Frame 026022/0666 →
Continuity (2)
Provisional Application 61291712 · Dec 31, 2009
Related Publication 20110167494A1 · Jul 7, 2011