IP Library Granted Patent US 11,140,136
Granted Patent B1
US 11,140,136 · App. 17/006,870 · Granted Oct 5, 2021

Systems and methods for enhancing user privacy

Inventors: Qing Li (Cupertino, CA); Chris Ciborowski (San Jose, CA)
Assignee: NortonLifeLock Inc.
H04L63/0281H04L63/101H04L63/1408H04L63/1475
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,140,136
App. No.
17/006,870
Granted
Oct 5, 2021
Kind
B1
Abstract

The disclosed computer-implemented method for enhancing user privacy may include (i) intercepting, by a privacy-protecting network proxy, network traffic between a client device and a server device, the client device being protected by a network-based privacy solution that inhibits browser fingerprinting through the privacy-protecting network proxy, (ii) detecting, at the privacy-protecting network proxy, that the network traffic indicates an attempt by a browser fingerprinting service to perform browser fingerprinting on the client device, and (iii) modifying, at the privacy-protecting network proxy based on the detecting of the attempt to perform browser fingerprinting, the intercepted network traffic such that browser fingerprinting performed by the browser fingerprinting service is at least partially inhibited. Various other methods, systems, and computer-readable media are also disclosed.

Claims (51)

1. A computer-implemented method for enhancing user privacy, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

intercepting, by a privacy-protecting network proxy, network traffic between a client device and a server device, the client device being protected by a network-based privacy solution that inhibits browser fingerprinting through the privacy-protecting network proxy;

detecting, at the privacy-protecting network proxy, that the network traffic indicates an attempt by a browser fingerprinting service to perform browser fingerprinting on the client device; and

modifying, at the privacy-protecting network proxy based on the detecting of the attempt to perform browser fingerprinting, the intercepted network traffic such that browser fingerprinting performed by the browser fingerprinting service is at least partially inhibited;

wherein:

the detecting comprises at least one of:

detecting that the client device is attempting to upload data, through at least one unencrypted packet, to the browser fingerprinting service at a network location that is previously categorized as being directed to collecting browser fingerprinting data; or

examining an outer layer of a network packet with an encrypted payload, the outer layer identifying the network location that is previously categorized as being directed to collecting browser fingerprinting data;

the modifying comprises at least one of:

injecting a script into a network payload that is directed to the client device, the script overriding an application programming interface call that is configured to collect fingerprinting information; or

modifying the intercepted network traffic by obfuscating a fingerprinting object that the client device is attempting to upload to the browser fingerprinting service.

2. The computer-implemented method of claim 1 , wherein the network location comprises a uniform resource locator for the browser fingerprinting service.

3. The computer-implemented method of claim 2 , wherein the network location comprises a domain for the browser fingerprinting service.

4. The computer-implemented method of claim 2 , wherein the network location is listed on a crowdsourced list of network locations that are categorized as being substantially directed to collecting browser fingerprinting data.

5. The computer-implemented method of claim 1 , wherein intercepting the network traffic between the client device and the server device comprises intercepting the network traffic through a Hypertext Transfer Protocol proxy.

6. The computer-implemented method of claim 5 , wherein the script corresponds to JavaScript code.

7. The computer-implemented method of claim 6 , wherein the network payload comprises a Hypertext Markup Language payload.

8. The computer-implemented method of claim 6 , wherein the script overrides a canvas function.

9. The computer-implemented method of claim 5 , wherein modifying the intercepted network traffic comprises obfuscating a fingerprinting object that the client device is attempting to upload to the server device.

10. The computer-implemented method of claim 1 , wherein inhibiting fingerprinting performed by the browser fingerprinting service is performed in a manner that is browser-agnostic.

11. A system for enhancing user privacy, the system comprising:

an interception module, stored in a memory, that intercepts, as a part of a privacy-protecting network proxy, network traffic between a client device and a server device, the client device being protected by a network-based privacy solution that inhibits browser fingerprinting through the privacy-protecting network proxy;

a detection module, stored in the memory, that detects, as a part of the privacy-protecting network proxy, that the network traffic indicates an attempt by a browser fingerprinting service to perform browser fingerprinting on the client device;

a modification module, stored in the memory, that modifies, at the privacy-protecting network proxy based on the detecting of the attempt to perform browser fingerprinting, the intercepted network traffic such that browser fingerprinting performed by the browser fingerprinting service is at least partially inhibited; and

at least one physical processor configured to execute the interception module, the detection module, and the modification module;

wherein:

the detection module is configured to perform the detecting by performing at least one of:

detecting that the client device is attempting to upload data, through at least one unencrypted packet, to the browser fingerprinting service at a network location that is previously categorized as being directed to collecting browser fingerprinting data; or

examining an outer layer of a network packet with an encrypted payload, the outer layer identifying the network location that is previously categorized as being directed to collecting browser fingerprinting data;

the modification module is configured to perform the modifying by performing at least one of:

injecting a script into a network payload that is directed to the client device, the script overriding an application programming interface call that is configured to collect fingerprinting information; or

modifying the intercepted network traffic by obfuscating a fingerprinting object that the client device is attempting to upload to the browser fingerprinting service.

12. The system of claim 11 , wherein the network location comprises a uniform resource locator for the browser fingerprinting service.

13. The system of claim 12 , wherein the network location comprises a domain for the browser fingerprinting service.

14. The system of claim 12 , wherein the network location is listed on a crowdsourced list of network locations that are categorized as being substantially directed to collecting browser fingerprinting data.

15. The system of claim 11 , wherein the interception module intercepts the network traffic between the client device and the server device at least in part by intercepting the network traffic through a Hypertext Transfer Protocol proxy.

16. The system of claim 15 , wherein the script corresponds to JavaScript code.

17. The system of claim 16 , wherein the network payload comprises a Hypertext Markup Language payload.

18. The system of claim 16 , wherein the script overrides a canvas function.

19. The system of claim 15 , wherein the detection module detects that the network traffic indicates the attempt by the browser fingerprinting service to perform browser fingerprinting based at least in part on the detection module detecting an instance of common technological DNA that has been previously detected in multiple different and independent browser fingerprinting scripts.

20. A non-transitory computer-readable medium comprising one or more computer-readable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

intercept, by a privacy-protecting network proxy, network traffic between a client device and a server device, the client device being protected by a network-based privacy solution that inhibits browser fingerprinting through the privacy-protecting network proxy;

detect, at the privacy-protecting network proxy, that the network traffic indicates an attempt by a browser fingerprinting service to perform browser fingerprinting on the client device; and

modify, at the privacy-protecting network proxy based on the detecting of the attempt to perform browser fingerprinting, the intercepted network traffic such that browser fingerprinting performed by the browser fingerprinting service is at least partially inhibited;

wherein:

the detecting comprises at least one of:

detecting that the client device is attempting to upload data, through at least one unencrypted packet, to the browser fingerprinting service at a network location that is previously categorized as being directed to collecting browser fingerprinting data; or

examining an outer layer of a network packet with an encrypted payload, the outer layer identifying the network location that is previously categorized as being directed to collecting browser fingerprinting data;

the modifying comprises at least one of:

injecting a script into a network payload that is directed to the client device, the script overriding an application programming interface call that is configured to collect fingerprinting information; or

modifying the intercepted network traffic by obfuscating a fingerprinting object that the client device is attempting to upload to the browser fingerprinting service.

Assignments (3)
CHANGE OF NAME Recorded Feb 6, 2023
From: NORTONLIFELOCK INC.
To: GEN DIGITAL INC.
Reel/Frame 062714/0605 →
SECURITY AGREEMENT Recorded Sep 13, 2022
From: NORTONLIFELOCK INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062220/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2020
From: LI, QING; CIBOROWSKI, CHRIS
To: NORTONLIFELOCK, INC.
Reel/Frame 054608/0727 →
Cited By (2)
US 12,267,325 US 12,368,756