IP Library Granted Patent US 11,797,653
Granted Patent B2
US 11,797,653 · App. 17/379,495 · Granted Oct 24, 2023

Hash-based dynamic restriction of content on information resources

Inventors: Matthew Burriesci (Mountain View, CA); Harrison Gordon (Mountain View, CA)
Assignee: GOOGLE LLC
G06F21/128G06F16/2255G06F16/955G06F16/9577G06F21/6218H04L63/0428G06F2221/0713
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,797,653
App. No.
17/379,495
Granted
Oct 24, 2023
Kind
B2
Abstract

Systems and methods restrict content inserted into information resources. A computing device can identify a content element included in an information resource. The computing device can identify a bit stream corresponding to the content element included in the information resource. The computing device can hash the identified bit stream to generate an element identifier corresponding to the content element. The computing device can access a restricted content database using the element identifier. The computing device can modify, responsive to finding the element identifier in the restricted content database, the presentation of the content element on the information resource in accordance with the content restriction policy.

Claims (52)

1. A method of deploying countermeasures against scripts interfering with the integrity of information resources, comprising:

identifying, by a data processing system having one or more processors, a first content element on an information resource previously transmitted to a client device, the first content element having a first bit stream;

determining, by the data processing system, an interference to a rendering of the first content element on the information resource;

generating, by the data processing system responsive to determining the interference to the rendering of the first content element on the information resource, a second content element for a subsequent information resource based on the first content element, the second content element having a second bit stream different from the first bit stream; and

transmitting, by the data processing system, to the client device, the subsequent information resource including the second content element, receipt of the second content element causing a content restriction script executing on the client device to apply a rendering-based restriction policy responsive to the second bit stream differing from the first bit stream.

2. The method of claim 1 , wherein determining the interference to the rendering of the first content element on the information resource further comprises:

identifying, by the data processing system, a first time corresponding to a transmission of the first content element to the client device;

identifying, by the data processing system, a second time corresponding to a receipt of an acknowledgment response for the first content element from the client device; and

determining, by the data processing system, that a time elapsed between the first time and the second time is greater than a predetermined threshold.

3. The method of claim 1 , wherein determining the interference to the rendering of the first content element on the information resource further comprises:

identifying, by the data processing system, a first elapsed time between a first transmission of the first content element and a first receipt of a first acknowledgment for the first content element;

identifying, by the data processing system, a second elapsed time between a second transmission of the first content element and a second receipt of a second acknowledgment for the first content element, the second transmission subsequent to the first transmission, the second receipt subsequent to the first receipt; and

determining, by the data processing system, that the second elapsed time is less than the first elapsed time by a predetermined threshold.

4. The method of claim 1 , wherein determining the interference to the rendering of the first content element on the information resource further comprises:

determining, by the data processing system subsequent to transmitting the information resource to the client device, an expected time of a receipt of a request for content to insert as the first content element into the information resource;

identifying, by the data processing system, an actual time of the receipt of the request for content to insert as the first content element into the information resource; and

determining, by the data processing system, that the expected time and the actual time of the receipt of the request for content differ by more than a predetermined threshold.

5. The method of claim 1 , wherein determining the interference to the rendering of the first content element on the information resource further comprises:

determining, by the data processing system subsequent to transmitting the information resource to the client device, an expected time of a receipt of an acknowledgment response for the first content element into the information resource;

identifying, by the data processing system, an actual time of the acknowledgment response for the first content element into the information resource; and

determining, by the data processing system, that the expected time and the actual time of receipt of the acknowledgment response differ by more than a predetermined threshold.

6. The method of claim 1 , wherein determining the interference to the rendering of the first content element on the information resource further comprises determining, by the data processing system, that no request for content was transmitted by the client device for insertion as the first content element into the information resource.

7. The method of claim 1 , wherein generating the second content element further comprises modifying a visual characteristic of the first content element to generate the second content element to cause a change from the first bit stream to the second bit stream.

8. The method of claim 1 , wherein generating the second content element further comprises modifying a file pathname of the first content element to generate the second content element to cause a change from the first bit stream to the second bit stream.

9. The method of claim 1 , wherein generating the second content element further comprises modifying an acknowledgment response code of the first content element to generate the second content element to cause a change from the first bit stream to the second bit stream.

10. The method of claim 1 , wherein generating the second content element further comprises inserting appendage code into the first content element to generate the second content element, the appendage code configured to generate the second bit stream to cause a change from the first bit stream to the second bit stream.

11. A data processing system for deploying countermeasures against scripts interfering with the integrity of information resources, the data processing system comprising one or more hardware processors and being configured to:

identify a first content element on an information resource previously transmitted to a client device, the first content element having a first bit stream;

determine an interference to a rendering of the first content element on the information resource;

generate, responsive to determining the interference to the rendering of the first content element on the information resource, a second content element for a subsequent information resource based on the first content element, the second content element having a second bit stream different from the first bit stream; and

transmit, to the client device, the subsequent information resource including the second content element, receipt of the second content element causing a content restriction script executing on the client device to apply a rendering-based restriction policy responsive to the second bit stream differing from the first bit stream.

12. The data processing system of claim 11 , wherein the data processing system is further configured to:

identify a first time corresponding to a transmission of the first content element to the client device;

identify a second time corresponding to a receipt of an acknowledgment response for the first content element from the client device; and

determine that a time elapsed between the first time and the second time is greater than a predetermined threshold.

13. The data processing system of claim 11 , wherein the data processing system is further configured to:

identify a first elapsed time between a first transmission of the first content element and a first receipt of a first acknowledgment for the first content element;

identify a second elapsed time between a second transmission of the first content element and a second receipt of a second acknowledgment for the first content element, the second transmission subsequent to the first transmission, the second receipt subsequent to the first receipt; and

determine that the second elapsed time is less than the first elapsed time by a predetermined threshold.

14. The data processing system of claim 11 , wherein the data processing system is further configured to:

determine, subsequent to transmitting the information resource to the client device, an expected time of a receipt of a request for content to insert as the first content element into the information resource;

identify an actual time of the receipt of the request for content to insert as the first content element into the information resource; and

determine that the expected time and the actual time of the receipt of the request for content differ by more than a predetermined threshold.

15. The data processing system of claim 11 , wherein the data processing system is further configured to:

determine, subsequent to transmitting the information resource to the client device, an expected time of a receipt of an acknowledgment response for the first content element into the information resource;

identify an actual time of the acknowledgment response for the first content element into the information resource; and

determine that the expected time and the actual time of receipt of the acknowledgment response differ by more than a predetermined threshold.

16. The data processing system of claim 11 , wherein the data processing system is further configured to determine that no request for content was transmitted by the client device for insertion as the first content element into the information resource.

17. The data processing system of claim 11 , wherein the data processing system is further configured to modify a visual characteristic of the first content element to generate the second content element to cause a change from the first bit stream to the second bit stream.

18. The data processing system of claim 11 , wherein the data processing system is further configured to modify a file pathname of the first content element to generate the second content element to cause a change from the first bit stream to the second bit stream.

19. The data processing system of claim 11 , wherein the data processing system is further configured to modify an acknowledgment response code of the first content element to generate the second content element to cause a change from the first bit stream to the second bit stream.

20. The data processing system of claim 11 , wherein the data processing system is further configured to insert appendage code into the first content element to generate the second content element, the appendage code configured to generate the second bit stream to cause a change from the first bit stream to the second bit stream.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2022
From: GORDON, HARRISON; BURRIESCI, MATTHEW
To: GOOGLE INC.
Reel/Frame 060491/0293 →
CHANGE OF NAME Recorded Jul 13, 2022
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 060649/0906 →
Continuity (3)
Division 16086277
Provisional Application 62440792 · Dec 30, 2016
Related Publication 20210349976A1 · Nov 11, 2021