IP Library › Granted Patent US 11,245,731
Granted Patent B1
US 11,245,731 · App. 17/081,941 · Granted Feb 8, 2022

Protecting web applications from untrusted endpoints using remote browser isolation

Inventors: Kowsik Guruswamy (Mountain View, CA); Stephen John Stanley Thornhill (Chalfont St. Giles, GB); Andrew Peter Edward Prince (Chippenham, GB); Joshua Frank Wharton (Reading, GB)
Assignee: Menlo Security, Inc.
H04L63/20G06F16/116G06F21/602H04L63/0272
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,245,731
App. No.
17/081,941
Granted
Feb 8, 2022
Kind
B1
Abstract

Disclosed herein are techniques for protecting web applications from untrusted endpoints using remote browser isolation. In an example scenario, a browser isolation system receives a request from a client browser executing on a client device to connect with a remote application accessible via a private network. A surrogate browser is provided to facilitate communications between the client browser and the remote application. A security policy is enforced against the communications.

Claims (51)

1. A system, comprising:

a processor configured to:

receive at a browser isolation system, a request from a client browser executing on a client device to connect with a remote application, wherein access by the client device to the remote application requires that the client device connect with the remote application via a private network; and

provide, by the browser isolation system, a surrogate browser to facilitate communications between the client browser and the remote application through the private network and in accordance with enforcement of a security policy, wherein the browser isolation system is configured to facilitate the communications at least in part by:

receiving a first data transmission from the client device and determining, based on the security policy, whether to transmit the first data transmission, on behalf of the client device, to the remote application; and

receiving a second data transmission from the remote application and determining, based on the security policy, whether to transmit the second data transmission, on behalf of the remote application, to the client device;

wherein:

the remote application provides a set of remote site features;

enforcing the security policy includes preventing, by the browser isolation system, the client device from using a first feature included in the set of remote site features while allowing the client device to use a second feature included in the set of remote site features; and

preventing the client device from using the first feature includes blocking transmission of at least one of: (1) the first data transmission or (2) the second data transmission; and

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

2. The system of claim 1 wherein enforcing the security policy includes preventing the client browser from performing a text-field POST to the remote application.

3. The system of claim 1 wherein enforcing the security policy includes preventing a file upload by the client device to the remote application.

4. The system of claim 1 wherein enforcing the security policy includes preventing a file download by the client device from the remote application.

5. The system of claim 1 wherein enforcing the security policy includes converting a file attachment, by the browser isolation system, from a first format to a second format.

6. The system of claim 1 wherein the processor is further configured to prompt a user to provide a credential associated with a file the user is attempting to upload.

7. The system of claim 1 wherein the processor is further configured to obfuscate URLs provided to the client browser.

8. The system of claim 1 wherein the browser isolation system is further configured to provide the client device with a thin client that executes in the client browser.

9. The system of claim 1 wherein the remote application comprises an ssh web application.

10. The system of claim 1 wherein the private network is within an enterprise network and wherein the client device is not connected to the enterprise network.

11. The system of claim 5 wherein the first format is not HTML and the second format is HTML.

12. The system of claim 6 wherein the processor is further configured to decrypt the file using the credential.

13. A method, comprising:

receiving at a browser isolation system, a request from a client browser executing on a client device to connect with a remote application, wherein access by the client device to the remote application requires that the client device connect with the remote application via a private network; and

providing, by the browser isolation system, a surrogate browser to facilitate communications between the client browser and the remote application through the private network and in accordance with enforcement of a security policy, wherein the browser isolation system is configured to facilitate the communications at least in part by:

receiving a first data transmission from the client device and determining, based on the security policy, whether to transmit the first data transmission, on behalf of the client device, to the remote application; and

receiving a second data transmission from the remote application and determining, based on the security policy, whether to transmit the second data transmission, on behalf of the remote application, to the client device;

wherein:

the remote application provides a set of remote site features;

enforcing the security policy includes preventing, by the browser isolation system, the client device from using a first feature included in the set of remote site features while allowing the client device to use a second feature included in the set of remote site features; and

preventing the client device from using the first feature includes blocking transmission of at least one of: (1) the first data transmission or (2) the second data transmission.

14. The method of claim 13 wherein enforcing the security policy includes preventing the client browser from performing a text-field POST to the remote application.

15. The method of claim 13 wherein enforcing the security policy includes preventing a file upload by the client device to the remote application.

16. The method of claim 13 wherein enforcing the security policy includes preventing a file download by the client device from the remote application.

17. The method of claim 13 wherein enforcing the security policy includes converting a file attachment, by the browser isolation system, from a first format to a second format.

18. The method of claim 13 further comprising prompting a user to provide a credential associated with a file the user is attempting to upload.

19. The method of claim 13 further comprising obfuscating URLs provided to the client browser.

20. The method of claim 13 wherein the browser isolation system is further configured to provide the client device with a thin client that executes in the client browser.

21. The method of claim 13 wherein the remote application comprises an ssh web application.

22. The method of claim 13 wherein the private network is within an enterprise network and wherein the client device is not connected to the enterprise network.

23. The method of claim 17 wherein the first format is not HTML and the second format is HTML.

24. The method of claim 18 further comprising decrypting the file using the credential.

25. A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:

receiving at a browser isolation system, a request from a client browser executing on a client device to connect with a remote application, wherein access by the client device to the remote application requires that the client device connect with the remote application via a private network; and

providing, by the browser isolation system, a surrogate browser to facilitate communications between the client browser and the remote application through the private network and in accordance with enforcement of a security policy, wherein the browser isolation system is configured to facilitate the communications at least in part by:

receiving a first data transmission from the client device and determining based on the security policy, whether to transmit the first data transmission, on behalf of the client device, to the remote application; and

receiving a second data transmission from the remote application and determining, based on the security policy, whether to transmit the second data transmission, on behalf of the remote application, to the client device;

wherein:

the remote application provides a set of remote site features;

enforcing the security policy includes preventing, by the browser isolation system, the client device from using a first feature included in the set of remote site features while allowing the client device to use a second feature included in the set of remote site features; and

preventing the client device from using the first feature includes blocking transmission of at least one of: (1) the first data transmission or (2) the second data transmission.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2020
From: GURUSWAMY, KOWSIK; THORNHILL, STEPHEN JOHN STANLEY; PRINCE, ANDREW PETER EDWARD; WHARTON, JOSHUA FRANK
To: MENLO SECURITY, INC.
Reel/Frame 054708/0109 →
Continuity (1)
Provisional Application 62992958 · Mar 21, 2020
Cited By (6)
US 12,299,133 US 12,335,351 US 12,348,528 US 12,399,981 US 12,488,060 US 12,634,284