IP Library Granted Patent US 11,386,181
Granted Patent B2
US 11,386,181 · App. 14/214,935 · Granted Jul 12, 2022

Detecting a change to the content of information displayed to a user of a website

Inventors: Marco Giuliani (Bastia Umbra, IT); Davide Tortoioli (San Biagio della Valle-Marsciano, IT); Riccardo Vandoni (Perugia, IT); Jacques Etienne Erasmus (Derby, GB)
Assignee: WEBROOT, INC.
G06F16/957
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,386,181
App. No.
14/214,935
Granted
Jul 12, 2022
Kind
B2
Abstract

Methods and systems are provided for detecting a change in web content of a web page. In particular, executable instructions may be inserted into a web page such that a first fingerprint of the web page is created when viewed on a client device. The first fingerprint may then be compared to a previously created fingerprint to determine if the web page has been modified. The fingerprints may be based on one or more elements of the web page.

Claims (42)

1. A method for detecting a change in content of a web page, comprising:

identifying a first combination of first and second different types of objects on a web page for protection, wherein the first and second different types of objects are a subset of objects comprising the web page;

creating a first fingerprint based on the first combination of first and second different types of objects;

receiving an instance of the web page, wherein the instance of the web page includes a second combination of objects corresponding to the first combination of first and second different types of objects that are the subset of objects comprising the web page;

injecting executable instructions into the instance of the web page before the web page reaches a user, such that, upon execution, the executable instructions create a second fingerprint based upon the second combination of objects;

receiving the second fingerprint; and

determining whether one or more objects of the second combination of objects have been modified by comparing the second fingerprint to the first fingerprint.

2. The method of claim 1 , wherein a modification of the one or more objects of the second combination of objects is detected if the first fingerprint and the second fingerprint do not match.

3. The method of claim 2 , further comprising:

providing a second web page when the modification of the one or more objects of the second combination of objects is detected.

4. The method of claim 1 , wherein the first fingerprint is based on a combination of two or more objects of the instance of the web page and the second fingerprint is based on the same combination of two or more objects.

5. The method of claim 1 , wherein one or more objects of the second combination of objects include at least one of a Document Object Model (DOM) object, an iFrame, a Hyper Text Mark-up Language (HTML) tag, an HTML object, an HTML attribute, and HTML content.

6. The method of claim 1 , further comprising:

receiving an indication of a number of values sent from a client, wherein a modification of the one or more objects of the second combination of objects is detected based on the first fingerprint and the second fingerprint not matching and the indication of the number of values sent from the client.

7. The method of claim 1 , wherein creating the first fingerprint includes generating a hash value based on the first combination of first and second different types of objects.

8. The method of claim 1 , wherein the first combination of first and second different types of objects is a random subset of objects on the web page.

9. A method comprising:

identifying a first combination of first and second different types of objects on a web page for protection, wherein the first and second different types of objects are a subset of objects comprising the web page;

generating a first fingerprint of the web page, wherein the first fingerprint is based on the first combination of first and second different types of objects of the web page;

receiving an instance of the web page, wherein the instance of the web page includes a second combination of objects corresponding to the first combination of first and second different types of objects that are the subset of objects comprising the web page;

injecting executable instructions into the received instance of the web page before the web page reaches a user such that, upon execution at a client device, the executable instructions create a second fingerprint of the instance of the web page based upon the second combination of objects; and

determining whether one or more objects of the second combination of objects have been modified by comparing the first fingerprint to the second fingerprint.

10. The method of claim 9 , wherein a modification of the one or more objects of the second combination of objects is detected if the first fingerprint and the second fingerprint do not match.

11. The method of claim 10 , further comprising:

providing a second web page when the modification of the one or more objects of the second combination of objects is detected.

12. The method of claim 9 , wherein the first fingerprint is based on a combination of two or more objects of the instance of the web page and the second fingerprint is based on the same combination of two or more objects.

13. The method of claim 9 , wherein one or more objects of the second combination of objects include at least one of a Document Object Model (DOM) object, an iFrame, a Hyper Text Mark-up Language (HTML) tag, an HTML object, an HTML attribute, and HTML content.

14. The method of claim 9 , wherein generating the first fingerprint includes generating a hash value based on the first combination of first and second different types of objects.

15. A system comprising:

at least one processor; and

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

identifying a first combination of first and second different types of objects on a web page for protection, wherein the first and second different types of objects are a subset of objects comprising the web page;

generating a first fingerprint of the web page, wherein the first fingerprint is based on the first combination of first and second different objects;

receiving an instance of the web page, wherein the instance of the web page includes a second combination of objects corresponding to the first combination of first and second different types of objects that are the subset of objects comprising the web page;

injecting executable instructions into the received instance of the web page before the web page reaches a user;

receiving a second fingerprint of the instance of the web page based upon the second combination of objects and the executable instructions; and

determining whether one or more objects of the second combination of objects have been modified by comparing the first fingerprint to the second fingerprint.

16. The system of claim 15 , wherein a modification of the one or more objects of the second combination of objects is detected if the first fingerprint and the second fingerprint do not match.

17. The system of claim 16 , wherein the method further comprises providing a second web page when the modification of the one or more objects of the second combination of objects is detected.

18. The system of claim 15 , wherein the first fingerprint is based on a combination of two or more objects of the instance of the web page and the second fingerprint is based on the same combination of two or more objects.

19. The system of claim 15 , wherein one or more objects of the second combination of objects include at least one of a Document Object Model (DOM) object, an iFrame, a Hyper Text Mark-up Language (HTML) tag, an HTML object, an HTML attribute, and HTML content.

20. The system of claim 15 , wherein the first combination of first and second different types of objects is a subset of objects on the web page.

Assignments (8)
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 →
RELEASE OF SECURITY INTEREST Recorded Mar 22, 2019
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: WEBROOT INC.
Reel/Frame 050454/0102 →
SECURITY INTEREST Recorded Jan 6, 2015
From: WEBROOT INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 034742/0085 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2014
From: GIULIANI, MARCO; TORTOIOLI, DAVIDE; VANDONI, RICCARDO; ERASMUS, JACQUES
To: WEBROOT INC.
Reel/Frame 032543/0203 →
Continuity (2)
Provisional Application 61802348 · Mar 15, 2013
Related Publication 20140281919A1 · Sep 18, 2014