IP Library › Granted Patent US 11,210,391
Granted Patent B2
US 11,210,391 · App. 16/205,051 · Granted Dec 28, 2021

Application-level sandboxing on devices

Inventors: Zhi Xu (Cupertino, CA); Cong Zheng (San Jose, CA); Tongbo Luo (Santa Clara, 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,210,391
App. No.
16/205,051
Granted
Dec 28, 2021
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 (41)

1. A system, comprising:

a processor configured to:

receive, by an operating system executing on a device and in response to a user election, a request to launch an application;

determine, based at least in part on the user election, that a stored copy of the application should be executed within an application-level sandbox provided by a third party host application; and

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, wherein the application-level sandbox is configured to provide artificial data to the application while the application is executing in the application-level sandbox, and wherein the artificial data provided to the application is configurable by the user; 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 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 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 the request to launch the application is a first request, and wherein, at a time subsequent to the first request, a second request to launch the application is received, and a determination is made that the stored copy of the application need not be executed in the application-level sandbox.

14. A method, comprising:

receiving, by an operating system executing on a device and in response to a user election, a request to launch an application;

determining, based at least in part on the user election, that a stored copy of the application should be executed within an application-level sandbox provided by a third party host application; and

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, wherein the application-level sandbox is configured to provide artificial data to the application while the application is executing in the application-level sandbox, and wherein the artificial data provided to the application is configurable by the user.

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 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 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 the request to launch the application is a first request, and wherein, at a time subsequent to the first request, a second request to launch the application is received, and a determination is made that the stored copy of the application need not be executed in the application-level sandbox.

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 and in response to a user election, a request to launch an application;

determining, based at least in part on the user election, that a stored copy of the application should be executed within an application-level sandbox provided by a third party host application; and

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, wherein the application-level sandbox is configured to provide artificial data to the application while the application is executing in the application-level sandbox, and wherein the artificial data provided to the application is configurable by the user.

28. The computer program product of claim 27 , 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 executed within the application-level sandbox includes determining that a security verdict for the application has not yet been received at the device.

29. The computer program product of claim 28 , wherein determining that the security verdict has not been received includes determining that a security assessment by the device has not been performed.

30. The computer program product of claim 28 , wherein determining that the security verdict has not been received includes determining that a security assessment by a remote server has not been received.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2019
From: XU, ZHI; ZHENG, CONG; LUO, TONGBO; HU, WENJUN
To: PALO ALTO NETWORKS, INC.
Reel/Frame 048396/0956 →
Continuity (1)
Related Publication 20200175152A1 · Jun 4, 2020