IP Library Granted Patent US 10,848,521
Granted Patent B1
US 10,848,521 · App. 15/912,455 · Granted Nov 24, 2020

Malicious content analysis using simulated user interaction without user involvement

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 10,848,521
App. No.
15/912,455
Granted
Nov 24, 2020
Kind
B1
Abstract

Techniques for detecting malicious content using simulated user interactions are described herein. In one embodiment, a monitoring module monitors activities of a malicious content suspect executed within a sandboxed operating environment. In response to detection of a predetermined event triggered by the malicious content suspect requesting a user action on a graphical user interface (GUI) presented by the malicious content suspect, simulating, a user interaction module simulates a user interaction with the GUI without user intervention. An analysis module analyzes activities of the malicious content suspect in response to the simulated user interaction to determine whether the malicious content suspect should be declared as malicious.

Claims (74)

1. A computer-implemented method for detecting malicious content, the method comprising:

monitoring, by a monitoring module executed by a processor, activities of content during execution;

after detecting an event triggered by the content requesting a user action on a graphical user interface (GUI) presented by the content, simulating, by a user interaction module, a user interaction with the GUI without user intervention, the simulating of the user interaction being conducted by a script that is created dependent on the detected event and provided from the monitoring module; and

analyzing, by an analysis module, activities of the malicious content suspect in response to the simulated user interaction to determine whether the content should be declared as malicious.

2. The method of claim 1 , wherein the simulating of the user interaction comprises:

detecting a message dialog box being displayed to display a message to a user based on an attribute of the content; and

automatically, without user intervention of the user, sending a command representing an activation of a predetermined button of the message dialog box to an operating system to respond to the message dialog box, wherein the activation of the predetermined button to dismiss the message dialog box.

3. The method of claim 1 , wherein the simulating of the user interaction being conducted by the script that is dynamically created dependent upon at least the user action requested on the GUI by the content.

4. The method of claim 1 , wherein the simulating of the user interaction comprises:

detecting a dialog box being configured to prompt a user for a confirmation of executing or storing an attached file; and

automatically, without user intervention of the user, sending a command representing an activation of a RUN button or a SAVE button to an operating system to allow the operating system to execute or store the attached file.

5. The method of claim 4 , further comprising monitoring activities of the content with respect to the attached file or execution of the attached file to determine whether the attached file is a malicious content related file.

6. The method of claim 1 , wherein the simulating of the user interaction comprises:

intercepting a system call received from the content to an operating system for displaying the GUI; and

returning a return code to the content without sending the system call to the operating system, the returning code indicating a user action representing a CLOSE command to prevent the GUI from being displayed.

7. The method of claim 1 , wherein the simulating of the user interaction comprises:

intercepting a system call received from the content to an operating system for displaying the GUI;

forwarding the system call to the operating system to display the GUI;

transmitting without user intervention a command to the operating system simulating a user activation of a CLOSE button of the GUI to terminating the GUI; and

returning a return code received from the operating system to the content, the returning code representing a status of executing the simulated CLOSE command by the operating system.

8. The method of claim 1 , wherein the simulating of the user interaction comprises:

intercepting a system call received from the content to an operating system for displaying the GUI, the GUI prompting a user to select a file for access;

automatically, without user intervention, selecting a file based on a type of the file being requested based on the system call; and

populating and returning a returning structure of selecting the file without sending the system call to the operating system.

9. The method of claim 1 , wherein the simulating of the user interaction comprises invoking an automated scripting environment to simulate user interactions on the GUI.

10. The method of claim 1 , wherein the simulating of user interaction with the GUI comprises (i) intercepting signaling directed to the GUI and (ii) returning a response that an operating system would have returned back to content.

11. The method of claim 1 , wherein the execution of the content is conducted within a sandboxed operating environment.

12. The method of claim 1 wherein the simulating of the user interaction being further conducted by the user interaction module registering with one or more graphic user interface application programming interfaces (GUI APIs) of an operating system utilized by the processor and, in response to content attempting to display a graphic user interface via the GUI APIs, intercepting calls and manipulating user interactions with the graphic user interface without requiring user involvement.

13. A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations comprising:

monitoring, by a monitoring module, activities of a content during execution;

after detecting an event triggered by the content requesting a user action on a graphical user interface (GUI) presented by the content, simulating, by a user interaction module, a user interaction with the GUI without user intervention, the simulating of the user interaction being conducted by a script that is created dependent on the detected event and provided from the monitoring module; and

analyzing, by an analysis module, activities of the content in response to the simulated user interaction to determine whether the content should be declared as malicious.

14. The medium of claim 13 , wherein the simulating of the user interaction comprises:

detecting a message dialog box being displayed to display a message to a user based on an attribute of the content; and

automatically, without user intervention of the user, sending a command representing an activation of a predetermined button of the message dialog box to an operating system to respond to the message dialog box, the activation of the predetermined button to dismiss the message dialog box.

15. The medium of claim 13 , wherein the simulating of the user interaction being conducted by the script that is dynamically created dependent upon at least the user action requested on the GUI by the content.

16. The medium of claim 13 , wherein the simulating of the user interaction comprises:

detecting a dialog box being configured to prompt a user for a confirmation of executing or storing an attached file; and

automatically, without user intervention of the user, sending a command representing an activation of a RUN button or a SAVE button to an operating system to allow the operating system to execute or store the attached file.

17. The medium of claim 16 , wherein the operations performed by the executed instructions further comprises monitoring activities of the content with respect to the attached file or execution of the attached file to determine whether the attached file is a malicious content related file.

18. The medium of claim 13 , wherein the simulating of the user interaction comprises:

intercepting a system call received from the content to an operating system for displaying the GUI; and

returning a return code to the content without sending the system call to the operating system, the returning code indicating a user action representing a CLOSE command to prevent the GUI from being displayed.

19. The medium of claim 13 , wherein simulating a user interaction comprises:

intercepting a system call received from the content to an operating system for displaying the GUI;

forwarding the system call to the operating system to display the GUI;

transmitting without user intervention a command to the operating system simulating a user activation of a CLOSE button of the GUI to terminating the GUI; and

returning a return code received from the operating system to the content, the returning code representing a status of executing the simulated CLOSE command by the operating system.

20. The medium of claim 13 , wherein the simulating of the user interaction comprises:

intercepting a system call received from the content to an operating system for displaying the GUI, the GUI prompting a user to select a file for access;

automatically, without user intervention, selecting a file based on a type of the file being requested based on the system call; and

populating and returning a returning structure of selecting the file without sending the system call to the operating system.

21. The medium of claim 13 , wherein the simulating of the user interaction comprises invoking an automated scripting environment to simulate user interactions on the GUI.

22. The medium of claim 13 , wherein the monitoring is conducted on the activities of the content executed within a sandboxed operating environment.

23. The medium of claim 13 , wherein the simulating of the user interaction further comprises registering with one or more graphic user interface application programming interfaces (GUI APIs) of an operating system utilized by the processor and, in response to content attempting to display a graphic user interface via the GUI APIs, intercepting calls and manipulating user interactions with the graphic user interface without requiring user involvement.

24. A malicious content detection system, comprising:

a processor; and

a memory accessible by the processor, the memory comprising

a monitoring module, executed by the processor, to monitor activities of a content during execution and to maintain at least one user interaction script that is dynamically created dependent upon at least one specific monitored activity,

a user interaction module communicatively coupled to the monitoring module, the user interaction module, in response to detection of an event triggered by the content requesting a user action on a graphical user interface (GUI) presented by the content, to simulate a user interaction with the GUI without user intervention, the user interaction module being a script that is created for handling the detected event and provided by the monitoring module and is dynamically created dependent upon at least the user action requested on the GUI by the content, and

an analysis module in communication with the monitoring module and operating, when executed by the processor, in accordance with a set of rules selected to determine whether content is malicious, the analysis module to analyze activities of the content that occur during execution of the content within the sandboxed operating environment and in response to the simulated user interaction to determine whether the content should be declared as malicious.

25. The system of claim 24 , wherein the user interaction module is configured to:

detect a message dialog box being displayed to display a message to a user based on an attribute of the content, and

automatically, without user intervention of the user, send a command representing an activation of a predetermined button of the message dialog box to an operating system to respond to the message dialog box.

26. The system of claim 24 , wherein the monitoring module is configured to monitor the activities of the content executed within a sandboxed operating environment.

27. The system of claim 24 , wherein the user interaction module being further configured to register one or more graphic user interface application programming interfaces (GUI APIs) of an operating system utilized by the processor and, in response to content attempting to display a graphic user interface via the GUI APIs, intercept calls and manipulate user interactions with the graphic user interface without requiring user involvement.

28. A computer-implemented method for detecting malicious content within a system, the method comprising:

registering, by a user interaction module, with an operating system to detect one or more events associated with prescribed signaling directed to a graphical user interface;

in response to detection of the one or more predetermined events triggered by content requesting a user action on the graphical user interface, simulating, by the user interaction module, a user interaction with the graphical user interface without user intervention, the simulating of the user interaction being conducted building an internal data structure that represents content and layout of a portion of the graphical user interface upon which the user action is requested; and

analyzing, by an analysis module being part of the logic within the system, activities of the content in response to the simulated user interaction to determine whether the content should be declared as malicious.

29. The method of claim 28 , wherein the one or more predetermined events include an attempt to display the graphical user interface.

30. The method of claim 28 , wherein the portion of the graphical user interface corresponds to a dialog box.

31. The method of claim 28 , wherein the registering with the operating system includes registering by the user interaction module, with one or more graphic user interface application programming interfaces (GUI APIs) of the operating system.

32. The method of claim 31 , wherein in response to content attempting to display a graphic user interface via the GUI APIs, the user interaction module intercepts calls and manipulates user interactions with the graphic user interface without requiring user involvement.

Assignments (13)
RELEASE OF SECURITY INTEREST Recorded Aug 16, 2024
From: STG PARTNERS, LLC
To: MUSARUBRA US LLC; SKYHIGH SECURITY LLC
Reel/Frame 068671/0435 →
INTELLECTUAL PROPERTY ASSIGNMENT AGREEMENT Recorded Aug 15, 2024
From: MUSARUBRA US LLC
To: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
Reel/Frame 068656/0098 →
INTELLECTUAL PROPERTY ASSIGNMENT AGREEMENT Recorded Aug 15, 2024
From: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
To: MAGENTA SECURITY HOLDINGS LLC
Reel/Frame 068656/0920 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2024
From: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
To: MAGENTA SECURITY HOLDINGS LLC
Reel/Frame 068657/0843 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Aug 15, 2024
From: MAGENTA SECURITY HOLDINGS LLC; SKYHIGH SECURITY LLC
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 068657/0666 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2024
From: MUSARUBRA US LLC
To: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
Reel/Frame 068657/0764 →
MERGER Recorded Aug 13, 2024
From: FIREEYE SECURITY HOLDINGS US LLC
To: MUSARUBRA US LLC
Reel/Frame 068581/0279 →
SECURITY INTEREST Recorded Aug 1, 2024
From: MUSARUBRA US LLC; SKYHIGH SECURITY LLC
To: STG PARTNERS, LLC
Reel/Frame 068324/0731 →
CHANGE OF NAME Recorded Mar 16, 2023
From: FIREEYE, INC.
To: MANDIANT, INC.
Reel/Frame 063287/0771 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2023
From: FIREEYE, INC.
To: FIREEYE SECURITY HOLDINGS US LLC
Reel/Frame 063287/0776 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Oct 11, 2021
From: FIREEYE SECURITY HOLDINGS US LLC
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 057772/0681 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 11, 2021
From: FIREEYE SECURITY HOLDINGS US LLC
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 057772/0791 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2018
From: THIOUX, EMMANUEL; AMIN, MUHAMMAD; KINDLUND, DARIEN; PILPENKO, ALEX; VINCENT, MICHAEL
To: FIREEYE, INC.
Reel/Frame 046147/0398 →