IP Library Granted Patent US 11,281,777
Granted Patent B2
US 11,281,777 · App. 16/036,022 · Granted Mar 22, 2022

Proactive browser content analysis

Inventors: Joe Jaroch (Elk Grove Village, IL); Harry Murphey McCloy, III (Longmont, CO); Robert Edward Adams (Sunnyvale, CA)
Assignee: WEBROOT INC.
G06F21/566
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,281,777
App. No.
16/036,022
Granted
Mar 22, 2022
Kind
B2
Abstract

A protection module operates to analyze threats, at the protocol level (e.g., at the HTML level), by intercepting all requests that a browser engine resident in a computing device sends and receives, and the protection agent completes the requests without the help of the browser engine. And then the protection module analyzes and/or modifies the completed data before the browser engine has access to it, to, for example, display it. After performing all of its processing, removing, and/or adding any code as needed, the protection module provides the HTML content to the browser engine, and the browser engine receives responses from the protection agent as if it was speaking to an actual web server, when in fact, browser engine is speaking to an analysis engine of the protection module.

Claims (40)

1. A content analysis and malware prevention method comprising:

intercepting, by a protection module running on a client device, a request for web content residing on a remote web server, the request made by a web browser application running on the client device; and

completing the request, by the protection module, without the help of the web browser application by:

receiving and caching, by the protection module, the requested web content from the remote web server, wherein the web content comprises data for assembling a web page containing the web content;

analyzing, by the protection module, the cached web content at the protocol level to identify a malware threat of the requested web content, wherein analyzing the cached web content further comprises parsing the cached web content, extracting any scripts in the cached web content, aggregating analyzed cached web content, and verifying the aggregated analyzed cached web content;

in response to identifying the malware threat, modifying, by the protection module, the requested web content at protocol level to remove the malware threat of the web page to create a modified web page containing the web content, wherein the modified web page is free of the malware threat; and

providing, by the protection module, the modified web page containing the web content to the web browser application for rendering and display.

2. The method of claim 1 , wherein providing the modified web page further comprises supplementing the web page with indicators regarding a vulnerability of one or more links within the web page.

3. The method of claim 1 , wherein identifying the malware threat comprises one or more of a URL (Uniform Resource Locator) analysis, an IP (Internet Protocol) analysis, an image analysis, and a script/HTML analysis.

4. The method of claim 1 , further comprising determining whether the request for the web page from the web browser application is a first request.

5. The method of claim 1 , wherein modifying the malware threat further comprises performing one or more of pre-process data decryption, de-chunking, and decompressing.

6. The method of claim 1 , wherein receiving the web content further comprises performing cloud verification of the web content.

7. The method of claim 1 , further comprising allocating memory for caching of the web content.

8. A content analysis and malware prevention system comprising:

at least one processor;

a protection module; and

memory encoding computer executable instructions that, when executed by the at least one processor, perform a method comprising:

intercepting, by a protection module running on a client device, a request for web content residing on a remote web server, the request made by a web browser application on the client device; and

completing the request, by the protection module, without the help of the web browser application by:

receiving and caching, by the protection module, the requested web content from the remote web server, wherein the web content comprises data for assembling a web page containing the web content;

analyzing, by the protection module, the cached web content at protocol level to identify a malware threat of the web page, wherein analyzing the cached web content further comprises parsing the cached web content, extracting any scripts in the cached web content, aggregating analyzed cached web content, and verifying the aggregated analyzed cached web content;

in response to identifying the malware threat, modifying, by the protection module the web content at protocol level to remove the malware threat of the web page to create a modified web page containing the web content, wherein the modified web page is free of the malware threat; and

providing, by the protection module, the modified web page containing the web content to the web browser application on the client device for rendering and display.

9. The system of claim 8 , wherein providing the modified web page further comprises supplementing the web page with indicators regarding a vulnerability of one or more links within the web page.

10. The system of claim 8 , wherein identifying the malware threat comprises one or more of a URL (Uniform Resource Locator) analysis, an IP (Internet Protocol) analysis, an image analysis, and a script/HTML analysis.

11. The system of claim 8 , wherein the method further comprises determining whether a request for the web page from the web browser application is a first request.

12. The system of claim 8 , wherein modifying the malware threat further comprises performing one or more of pre-process data decryption, de-chunking, and decompressing.

13. The system of claim 8 , wherein the method further comprises caching the web page in allocated memory.

14. The method of claim 1 , wherein sending the request to one or more web servers comprises iteratively sending a plurality of requests to the one or more web servers.

15. The method of claim 1 , further comprising processing the web content prior to identifying the malware threat within the web content.

16. The method of claim 1 , wherein the malware threat comprises a Uniform Resource Locator (URL).

17. The system of claim 8 , wherein the malware threat is at a protocol level of the web page.

18. The system of claim 8 , wherein the malware threat comprises a Uniform Resource Locator (URL).

19. A non-transitory computer storage medium encoding computer executable instructions that, when executed by at least one processor, perform a method comprising:

intercepting, by a protection module running on a client device, a request for web content residing on a remote web server, the request made by a web browser application running on the client device; and

completing the request, by the protection module, without the help of the web browser application by:

receiving and caching, by the protection module, the requested web content from the remote web server, wherein the web content comprises data for assembling a web page containing the web content;

analyzing, by the protection module, the cached web content at protocol level to identify a malware threat of the requested web content, wherein analyzing the cached web content further comprises parsing the cached web content, extracting any scripts in the cached web content, aggregating analyzed cached web content, and verifying the aggregated analyzed cached web content;

in response to identifying the malware threat, modifying, by the protection module, the requested web content at protocol level to remove the malware threat of the web page to create a modified web page containing the web content, wherein the modified web page is free of the malware threat; and

providing, by the protection module, the modified web page containing the web content to the web browser application for rendering and display.

Assignments (6)
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Jul 6, 2023
From: CARBONITE, LLC
To: OPEN TEXT INC.
Reel/Frame 064351/0178 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2023
From: WEBROOT LLC
To: CARBONITE, LLC
Reel/Frame 064167/0129 →
CERTIFICATE OF CONVERSION Recorded Jun 29, 2023
From: WEBROOT INC.
To: WEBROOT LLC
Reel/Frame 064176/0622 →
RELEASE OF SECURITY INTEREST IN PATENT RIGHTS RECORDED AT R/F 048723/0612 Recorded Dec 26, 2019
From: BARCLAYS BANK PLC, AS COLLATERAL AGENT
To: WEBROOT INC.
Reel/Frame 051418/0714 →
SECURITY INTEREST Recorded Mar 28, 2019
From: WEBROOT INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 048723/0612 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2019
From: JAROCH, JOE; MCCLOY, HARRY MURPHEY, III; ADAMS, ROBERT EDWARD
To: WEBROOT INC.
Reel/Frame 048422/0921 →
Continuity (3)
Continuation 13633956 · Oct 3, 2012
Provisional Application 61542693 · Oct 3, 2011
Related Publication 20190171817A1 · Jun 6, 2019