IP Library › Granted Patent US 11,720,666
Granted Patent B2
US 11,720,666 · App. 17/507,574 · Granted Aug 8, 2023

Application-level sandboxing on devices

Inventors: Zhi Xu (Cupertino, CA); Cong Zheng (San Jose, CA); Tongbo Luo (Newark, CA); Wenjun Hu (Santa Clara, CA)
Assignee: Palo Alto Networks, Inc.
G06F21/53G06F21/14G06F21/552G06F21/56
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 11,720,666
App. No.
17/507,574
Granted
Aug 8, 2023
Kind
B2
Abstract

Execution of an application in an application-level sandbox is disclosed. A request to launch an application is received by an operating system executing on a device. A determination is made that a stored copy of the application should be executed within an application-level sandbox. The stored copy of the application is executed in the application-level sandbox.

Claims (47)

1. A system, comprising:

a processor configured to:

receive, by an operating system executing on a device, a request to launch an application;

determine that a stored copy of the application should be automatically executed within an application-level sandbox provided by a third party host application each time it is launched, until a triggering event takes place;

execute the stored copy of the application in the application-level sandbox provided by the third party host application, wherein the third party host application provides a framework layer that provides hooking functionality for monitoring system calls made by the application; and

determine that the triggering event has taken place and take an appropriate action, wherein the triggering event comprises receiving a notification from an external entity, and wherein the action comprises one of the following:

in the event the notification indicates that the application is benign, in response to receiving a subsequent request to launch the application, execute the stored copy of the application outside of the application-level sandbox, or

in the event the notification indicates that the application is malicious, prevent execution of the application; and

a memory coupled to the processor and configured to provide the processor with instructions.

2. The system of claim 1 , wherein the request to launch the application is a first request to launch the application after installation of the application on the device, and wherein determining that the stored copy of the application should be automatically executed within the application-level sandbox includes determining that a security verdict for the application has not yet been received at the device.

3. The system of claim 2 , wherein determining that the security verdict has not been received includes determining that a security assessment by the device has not been performed.

4. The system of claim 2 , wherein determining that the security verdict has not been received includes determining that a security assessment by a remote server has not been received.

5. The system of claim 1 , wherein the application-level sandbox is configured to monitor behavior of the application during execution of the application in the application-level sandbox.

6. The system of claim 1 , wherein the application-level sandbox is configured to log data during execution of the application in the application-level sandbox.

7. The system of claim 6 , wherein the system is configured to transmit collected log data to a remote server for analysis.

8. The system of claim 1 , wherein the processor is further configured to detect malicious behavior during monitored execution of the application in the application-level sandbox.

9. The system of claim 8 , wherein the processor is configured to detect the malicious behavior at least in part by detecting attempted malicious network activity.

10. The system of claim 9 , wherein the processor is further configured to block at least a portion of the attempted malicious network activity.

11. The system of claim 9 , wherein the attempted malicious network activity includes an unauthorized attempt to exfiltrate data from the device.

12. The system of claim 9 , wherein the attempted malicious network activity includes an attempt to contact a known malicious domain.

13. The system of claim 1 , wherein preventing the execution of the application includes uninstalling the application.

14. A method, comprising:

receiving, by an operating system executing on a device, a request to launch an application;

determining that a stored copy of the application should be automatically executed within an application-level sandbox provided by a third party host application each time it is launched, until a triggering event takes place;

executing the stored copy of the application in the application-level sandbox provided by the third party host application, wherein the third party host application provides a framework layer that provides hooking functionality for monitoring system calls made by the application; and

determining that the triggering event has taken place and taking an appropriate action, wherein the triggering event comprises receiving a notification from an external entity, and wherein the action comprises one of the following:

in the event the notification indicates that the application is benign, in response to receiving a subsequent request to launch the application, executing the stored copy of the application outside of the application-level sandbox, or

in the event the notification indicates that the application is malicious, preventing execution of the application.

15. The method of claim 14 , wherein the request to launch the application is a first request to launch the application after installation of the application on the device, and wherein determining that the stored copy of the application should be automatically executed within the application-level sandbox includes determining that a security verdict for the application has not yet been received at the device.

16. The method of claim 15 , wherein determining that the security verdict has not been received includes determining that a security assessment by the device has not been performed.

17. The method of claim 15 , wherein determining that the security verdict has not been received includes determining that a security assessment by a remote server has not been received.

18. The method of claim 14 , wherein the application-level sandbox is configured to monitor behavior of the application during execution of the application in the application-level sandbox.

19. The method of claim 14 , wherein the application-level sandbox is configured to log data during execution of the application in the application-level sandbox.

20. The method of claim 19 , further comprising transmitting collected log data to a remote server for analysis.

21. The method of claim 14 , further comprising detecting malicious behavior during monitored execution of the application in the application-level sandbox.

22. The method of claim 21 , wherein detecting the malicious behavior includes detecting attempted malicious network activity.

23. The method of claim 22 , further comprising blocking at least a portion of the attempted malicious network activity.

24. The method of claim 22 , wherein the attempted malicious network activity includes an unauthorized attempt to exfiltrate data from the device.

25. The method of claim 22 , wherein the attempted malicious network activity includes an attempt to contact a known malicious domain.

26. The method of claim 14 , wherein preventing the execution of the application includes uninstalling the application.

27. A computer program product embodied in a tangible, non-transitory computer readable storage medium and comprising computer instructions for:

receiving, by an operating system executing on a device, a request to launch an application;

determining that a stored copy of the application should be automatically executed within an application-level sandbox provided by a third party host application each time it is launched, until a triggering event takes place;

executing the stored copy of the application in the application-level sandbox provided by the third party host application, wherein the third party host application provides a framework layer that provides hooking functionality for monitoring system calls made by the application; and

determining that the triggering event has taken place and taking an appropriate action, wherein the triggering event comprises receiving a notification from an external entity, and wherein the action comprises one of the following:

in the event the notification indicates that the application is benign, in response to receiving a subsequent request to launch the application, executing the stored copy of the application outside of the application-level sandbox, or

in the event the notification indicates that the application is malicious, preventing execution of the application.

Continuity (2)
Continuation 16205051 · Nov 29, 2018
Related Publication 20220043906A1 · Feb 10, 2022
Cited By (1)
US 12,705,382