CN116158057A - 用于增强用户隐私的系统和方法 - Google Patents
用于增强用户隐私的系统和方法 Download PDFInfo
- Publication number
- CN116158057A CN116158057A CN202180058957.XA CN202180058957A CN116158057A CN 116158057 A CN116158057 A CN 116158057A CN 202180058957 A CN202180058957 A CN 202180058957A CN 116158057 A CN116158057 A CN 116158057A
- Authority
- CN
- China
- Prior art keywords
- network
- browser
- browser fingerprinting
- client device
- network traffic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
- H04L63/0414—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden during transmission, i.e. party's identity is protected against eavesdropping, e.g. by using temporary identifiers, but is known to the other party or parties involved in the communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6263—Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0245—Filtering by information in the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1475—Passive attacks, e.g. eavesdropping or listening without modification of the traffic monitored
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种用于增强用户隐私的计算机实现的方法,该方法可包括:(i)通过隐私保护网络代理拦截客户端设备与服务器设备之间的网络流量,该客户端设备由基于网络的隐私解决方案保护,该基于网络的隐私解决方案通过隐私保护网络代理禁止浏览器指纹识别;(ii)在隐私保护网络代理处检测网络流量指示浏览器指纹识别服务在客户端设备上进行浏览器指纹识别的尝试;以及(iii)在隐私保护网络代理处,基于对进行浏览器指纹识别的尝试的检测而修改所拦截的网络流量,使得至少部分地禁止由浏览器指纹识别服务进行的浏览器指纹识别。本发明还公开了各种其他方法、系统和计算机可读介质。
Description
相关申请的交叉引用
本申请要求于2020年8月30日提交的名称为“用于增强用户隐私的系统和方法(SYSTEMS AND METHODS FOR ENHANCING USER PRIVACY)”的美国非临时申请第17/006,870号的优先权,其全部内容以引用方式并入本文。
背景技术
浏览器指纹识别利用客户端浏览器和操作系统上的多个数据源,以便在不使用cookie的情况下识别和跟踪互联网上的用户。即使用户启用浏览器隐私或隐身模式,web分析公司在相当高的程度上仍然可以通过分析用户的浏览器和操作系统的固定设置而在整个web上跟踪用户。这些数据可以从多个来源收集,每个来源都可以提供不同程度的唯一性。获得这些信息项的主要载体为JavaScript。然而,可以从超文本传输协议(HTTP)内容、TCP/IP协议栈和Flash播放器中获得附加信息。显然,诸如cookie支持等项只提供了极少的唯一性,而诸如画布指纹、用户代理和支持的字体列表等项实际上可以提供大量的熵,可用于识别用户。这种信息采集和关联是对用户隐私的严重挑战。因此,本公开确定并解决了对增强用户隐私的系统和方法的需求。
发明内容
如将在下文更详细描述的,本公开描述了用于增强用户隐私的各种系统和方法。在一个示例中,一种用于增强用户隐私的计算机实现的方法可包括:(i)通过隐私保护网络代理拦截客户端设备与服务器设备之间的网络流量,该客户端设备由基于网络的隐私解决方案保护,该基于网络的隐私解决方案通过隐私保护网络代理禁止浏览器指纹识别;(ii)在隐私保护网络代理处检测网络流量指示浏览器指纹识别服务在客户端设备上进行浏览器指纹识别的尝试;以及(iii)在隐私保护网络代理处,基于对进行浏览器指纹识别的尝试的检测而修改所拦截的网络流量,使得至少部分地禁止由浏览器指纹识别服务进行的浏览器指纹识别。
在一些示例中,检测网络流量指示浏览器指纹识别服务在客户端设备上进行浏览器指纹识别的尝试可包括:检测到客户端设备正尝试将数据上传到先前被分类为主要用于采集浏览器指纹识别数据的网络位置处的浏览器指纹识别服务。在一个实施方案中,网络位置可包括用于浏览器指纹识别服务的域。在一个实施方案中,网络位置被列在被分类为主要用于采集浏览器指纹识别数据的网络位置的众包列表上。
在一些示例中,拦截客户端设备与服务器设备之间的网络流量可包括:通过超文本传输协议代理拦截网络流量。在一些示例中,修改所拦截的网络流量可包括:将脚本注入到针对客户端设备的网络有效负载中。在一个实施方案中,网络有效负载可包括超文本标记语言(HTML)有效负载。在一个实施方案中,脚本覆盖被配置为采集指纹识别信息的应用编程接口调用。
在一些示例中,修改所拦截的网络流量可包括:混淆客户端设备正尝试上传到服务器设备的指纹识别对象。在一个实施方案中,禁止由浏览器指纹识别服务进行的指纹识别是以不针对特定浏览器的方式进行的。
在一个实施方案中,一种用于实现上述方法的系统可包括:(i)拦截模块,其存储在存储器中,作为隐私保护网络代理的一部分,拦截客户端设备与服务器设备之间的网络流量,该客户端设备由基于网络的隐私解决方案保护,该基于网络的隐私解决方案通过隐私保护网络代理禁止浏览器指纹识别;(ii)检测模块,其存储在存储器中,作为隐私保护网络代理的一部分,检测网络流量指示浏览器指纹识别服务在客户端设备上进行浏览器指纹识别的尝试;(iii)修改模块,其存储在存储器中,在隐私保护网络代理处,基于对进行浏览器指纹识别的尝试的检测而修改所拦截的网络流量,使得至少部分地禁止由浏览器指纹识别服务进行的浏览器指纹识别;以及(iv)至少一个物理处理器,其被配置为执行拦截模块、检测模块和修改模块。在一些示例中,检测模块至少部分地基于检测模块检测到先前已经在多个不同且独立的浏览器指纹识别脚本中检测到的公共技术DNA的实例,从而检测网络流量指示浏览器指纹识别服务进行浏览器指纹识别的尝试。
在一些示例中,可将上述方法编码为非暂态计算机可读介质上的计算机可读指令。例如,计算机可读介质可包括一个或多个计算机可执行指令,该一个或多个计算机可执行指令在由计算设备的至少一个处理器执行时,可使计算设备:(i)通过隐私保护网络代理拦截客户端设备与服务器设备之间的网络流量,该客户端设备由基于网络的隐私解决方案保护,该基于网络的隐私解决方案通过隐私保护网络代理禁止浏览器指纹识别;(ii)在隐私保护网络代理处检测网络流量指示浏览器指纹识别服务在客户端设备上进行浏览器指纹识别的尝试;以及(iii)在隐私保护网络代理处,基于对进行浏览器指纹识别的尝试的检测而修改所拦截的网络流量,使得至少部分地禁止由浏览器指纹识别服务进行的浏览器指纹识别。
来自本文所述的实施方案中的任何一者的特征可根据本文所述的一般原理彼此结合使用。通过结合附图和权利要求阅读下面的详细描述,将会更充分地理解这些和其他实施方案、特征和优点。
附图说明
附图示出了多个示例性实施方案并且作为说明书的一部分。这些附图连同下面的描述展示并且说明本公开的各种原理。
图1为用于增强用户隐私的示例性系统的框图。
图2为用于增强用户隐私的附加示例性系统的框图。
图3为用于增强用户隐私的示例性方法的流程图。
图4示出了用于增强用户隐私的示例性工作流。
图5示出了对应于用于增强用户隐私的示例性方法的一组三个时序图。
图6为能够实现本文描述和/或示出的实施方案中的一个或多个实施方案的示例性计算系统的框图。
图7为能够实现本文描述和/或示出的实施方案中的一个或多个实施方案的示例性计算网络的框图。
在全部附图中,相同引用字符和描述指示类似但未必相同的元件。虽然本文所述的示例性实施方案易受各种修改和替代形式的影响,但在附图中以举例的方式示出了特定实施方案并且将在本文详细描述。然而,本文所述的示例性实施方案并非旨在限于所公开的特定形式。相反,本公开涵盖落在所附权利要求范围内的所有修改形式、等同形式和替代形式。
具体实施方式
本公开整体涉及用于增强用户隐私的系统和方法。所公开的主题可以通过将隐私保护解决方案从客户端设备转移到代理设备来改进相关技术。将隐私保护解决方案转移到代理设备可以消除用户在客户端设备配置此类解决方案的繁琐要求。转移过程还可以使多个客户端设备能够被同一代理设备保护,而不是为每个客户端设备配置单独的本地隐私保护解决方案。所公开的主题还可以通过利用新颖和创造性的技术混淆指纹识别过程来改进相关技术。具体地,这些技术可能涉及修改针对客户端设备并且被配置为采集指纹识别信息的web内容,使得实际指纹识别信息变形或毫无价值。这些技术还可涉及修改从客户端设备传输到指纹识别服务的指纹识别对象,从而使对象变形并且防止指纹识别服务成功进行指纹识别操作。
下面将参照图1至图2提供对用于增强用户隐私的示例性系统的详细描述。也将结合图3至图5提供对相应计算机实现的方法的详细描述。此外,将分别结合图6和图7提供能够实现本文描述的实施方案中的一个或多个实施方案的示例性计算系统和网络架构的详细描述。
图1为用于增强用户隐私的示例性系统100的框图。如该图所示,示例性系统100可以包括用于执行一个或多个任务的一个或多个模块102。例如,并且如将在下文更详细描述的,示例性系统100可以包括拦截模块104,其作为隐私保护网络代理的一部分,拦截客户端设备与服务器设备之间的网络流量122,该客户端设备由基于网络的隐私解决方案保护,该基于网络的隐私解决方案通过隐私保护网络代理禁止浏览器指纹识别。示例系统100还可以包括检测模块106,其作为隐私保护网络代理的一部分,检测网络流量122指示浏览器指纹识别服务在客户端设备上进行浏览器指纹识别的尝试。示例系统100还可以包括修改模块108,其在隐私保护网络代理处,基于对进行浏览器指纹识别的尝试的检测而修改所拦截的网络流量122,使得至少部分地禁止由浏览器指纹识别服务进行的浏览器指纹识别。尽管被示为独立元件,但图1中的模块102中的一个或多个模块可以表示单个模块或应用程序的一部分。
在某些实施方案中,图1中的模块102中的一个或多个模块可以表示一个或多个软件应用程序或程序,该一个或多个软件应用程序或程序在被计算设备执行时,可使计算设备执行一个或多个任务。例如,并且如将在下文更详细描述的,模块102中的一个或多个模块可表示存储在一个或多个计算设备上并被配置为在该一个或多个计算设备上运行的模块,该一个或多个计算设备诸如图2中示出的设备(例如,计算设备202和/或服务器206)。图1中的模块102中的一个或多个模块还可以表示被配置为执行一个或多个任务的一台或多台专用计算机的全部或部分。
如图1所示,示例性系统100还可以包括一个或多个存储器设备,诸如存储器140。存储器140通常表示能够存储数据和/或计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。在一个示例中,存储器140可以存储、加载和/或维护模块102中的一个或多个模块。存储器140的示例包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、闪存存储器、硬盘驱动器(HDD)、固态驱动器(SSD)、光盘驱动器、高速缓存、以上各项中的一个或多个的变型或组合、和/或任何其他合适的存储存储器。
如图1所示,示例性系统100还可以包括一个或多个物理处理器,诸如物理处理器130。物理处理器130通常表示能够解译和/或执行计算机可读指令的任何类型或形式的硬件实现的处理单元。在一个示例中,物理处理器130可以访问和/或修改存储在存储器140中的模块102中的一个或多个模块。除此之外或另选地,物理处理器130可以执行模块102中的一个或多个模块以便于增强用户隐私。物理处理器130的示例包括但不限于微处理器、微控制器、中央处理单元(CPU)、实现软核处理器的现场可编程门阵列(FPGA)、专用集成电路(ASIC)、以上各项中的一个或多个的各部分、以上各项中的一个或多个的变型或组合、和/或任何其他合适的物理处理器。
图1中的示例性系统100可以用多种方式来实现。例如,示例性系统100的全部或一部分可以表示图2中的示例性系统200的部分。如图2所示,系统200可包括经由网络204与服务器206通信的计算设备202。在一个示例中,模块102的功能的全部或一部分功能可以由计算设备202、服务器206和/或任何其他合适的计算系统执行。如将在下文更详细描述的,图1的模块102中的一个或多个模块在通过计算设备202和/或服务器206的至少一个处理器执行时,可使计算设备202和/或服务器206能够增强用户隐私。
例如,并且如将在下文更详细描述的,拦截模块104可作为对应于服务器206的隐私保护网络代理的一部分,拦截可对应于计算设备202的客户端设备与可对应于服务器208的服务器设备之间的网络流量122。在这些示例中,计算设备202可由基于网络的隐私解决方案保护,该基于网络的隐私解决方案通过服务器206禁止浏览器指纹识别。检测模块106可作为服务器206的一部分,检测网络流量122指示浏览器指纹识别服务250在计算设备202上进行浏览器指纹识别的尝试。修改模块108可作为服务器206的一部分并且基于对进行浏览器指纹识别的尝试的检测而修改所拦截的网络流量122,使得至少部分地禁止由浏览器指纹识别服务250进行的浏览器指纹识别。
图2示出了模块102被设置在对应于服务器206的典型网络代理设备内的实施方案。然而,在附加或另选示例中,检测模块106和/或修改模块108中的一者或多者被设置在服务器230内,该服务器可代表服务器206执行附加处理。例如,服务器230可以根据互联网内容修改协议与服务器206通信,使得服务器230有效地扩展或补充由服务器206作为代理提供的功能。在这些示例中,服务器206和服务器230中的一者或多者可以对应于方法300的隐私保护网络代理,如下所述。此外,图2还示出了计算设备202可以如何执行应用程序220,该应用程序可以是生成或发起网络流量122的应用程序。
计算设备202通常表示能够读取计算机可执行指令的任何类型或形式的计算设备。在一些例示性示例中,计算设备202可以对应于例如用户在家庭环境内使用的个人或娱乐移动计算设备。计算设备202的附加示例包括但不限于膝上型计算机、平板计算机、台式计算机、服务器、蜂窝电话、个人数字助理(PDA)、多媒体播放器、嵌入式系统、可穿戴设备(例如,智能手表、智能眼镜等)、智能车辆、智能包装(例如,主动或智能包装)、游戏控制台、所谓的物联网设备(例如,智能设备等)、以上各项中的一个或多个的变型或组合、和/或任何其他合适的计算设备。
服务器206通常表示能够执行方法300或便于执行方法300的任何类型或形式的计算设备,如以下结合图3所述。服务器206的附加示例包括但不限于,被配置为运行某些软件应用程序和/或提供各种安全、web、存储和/或数据库服务的安全服务器、应用服务器、web服务器、存储服务器和/或数据库服务器。尽管在图2中示出为单个实体,但服务器206可以包括和/或表示彼此协同工作和/或操作的多个服务器。
网络204通常表示能够促进通信或数据传输的任何介质或架构。在一个实施方案中,网络204可促进计算设备202与服务器206之间的通信。在该示例中,网络204可以使用无线和/或有线连接来促进通信或数据传输。网络204的示例包括但不限于:内联网、广域网(WAN)、局域网(LAN)、个域网(PAN)、互联网、电力线通信(PLC)、蜂窝网络(例如,全球移动通信系统(GSM)网络)、以上各项中的一个或多个的各部分、以上各项中的一个或多个的变型或组合、和/或任何其他合适的网络。
图3为用于增强用户隐私的示例性计算机实现的方法300的流程图。图3中所示的步骤可以由任何合适的计算机可执行代码和/或计算系统执行,该计算系统包括图1中的系统100、图2中的系统200、和/或以上各项中的一个或多个的变型或组合。在一个示例中,图3中所示的步骤中的每一个都可以表示算法,其结构包括多个子步骤和/或由多个子步骤表示,该多个子步骤的示例将在下面更详细地提供。
如图3所示,在步骤302处,本文所述的系统中的一个或多个系统可作为隐私保护网络代理的一部分,拦截客户端设备与服务器设备之间的网络流量,该客户端设备由基于网络的隐私解决方案保护,该基于网络的隐私解决方案通过隐私保护网络代理禁止浏览器指纹识别。例如,拦截模块104可作为服务器206的一部分,拦截客户端设备与服务器设备之间的网络流量,该客户端设备由基于网络的隐私解决方案保护,该基于网络的隐私解决方案通过隐私保护网络代理禁止浏览器指纹识别。
如本文所用,术语“隐私保护网络代理”通常指被配置为提供至少一项功能以保护相应用户的隐私的网络代理。此外,如本文所用,术语“网络代理”通常指中间网络设备,其可以拦截或查看源和目的地之间的网络流量,同时也可以任选地对网络流量施加一个或多个策略,包括用于网络安全和/或隐私保护目的的策略。
如本文所用,术语“浏览器指纹识别”通常指从在客户端设备上运行的浏览器提取识别信息和/或提取有关该浏览器的识别信息,以帮助唯一地识别客户端设备和/或相应的用户。此外,如本文所用,术语“基于网络的隐私解决方案”通常指主要使用网络代理设备(如上所述)至少部分地保护用户隐私的技术解决方案,与主要在源客户端设备和/或服务器目的地设备内执行的隐私解决方案不同。换句话说,用于保护用户隐私的功能可以嵌入在源和目的地之间的一个或多个中间网络节点内,从而将一个或多个隐私保护策略应用到从源到目的地的相应网络流量。与基于客户端的隐私解决方案不同,使用基于网络的隐私解决方案可以提供优于相关技术的许多益处,包括消除用户定制或配置客户端隐私解决方案的繁琐过程,以及使同一个网络代理设备能够提供隐私保护功能,以保护多个不同的客户端设备。具体地,基于客户端的解决方案可能因浏览器类型而异(例如,用于FireFox浏览器的解决方案与针对Internet Explorer浏览器制定的解决方案不完全相同)。这些不同的基于客户端的解决方案的有效性也各不相同。相比之下,基于网络的解决方案可以有效地或基本上不针对特定浏览器,也就是说,无论终端用户使用哪种浏览器,这些解决方案都可以提供基本相同的保护和益处。
拦截模块104可以用多种方式来执行步骤302。一般来说,拦截模块104可以至少部分地通过计算设备202和服务器208之间的网络路径来拦截网络流量,该网络路径被配置为使得服务器206对应于网络流量在前往作为目的地的服务器208的途中经过的内联或中间设备。在一些示例中,这可以通过简单地配置计算设备202将网络流量传输到服务器206并将网络流量路由到诸如服务器208的目的地来实现。除此之外或另选地,可以通过沿着计算设备202与服务器208之间的网络路径物理地或以其他方式设置服务器206来实现。将服务器206设置或配置为沿着计算设备202与服务器208之间的网络路径的中间网络节点可以使服务器206有可能解密相应的网络流量和/或应用一个或多个策略,包括安全专用和/或隐私保护策略,如下文更详细描述的。
在一些示例中,拦截模块104可以至少部分地通过经由超文本传输协议代理拦截网络流量来执行步骤302。例如,如下文结合步骤304-306更详细描述的,在对应于图5的工作流502和工作流504的实施方案中可以涉及超文本传输协议代理的使用。
图4示出了对应于方法300的示例性工作流400,并在可由NortonLifeLock等安全供应商提供的安全解决方案和保护的更大环境中示出。如该图进一步所示,移动设备安全保护产品402可以通过5G/LTE连接414、网关GPRS支持节点(GGSN)或分组数据网络网关(P-GW)连接416和/或直接连接或虚拟专用网络网关连接412连接到互联网或其他网络。例如,移动设备安全保护产品402可以对应于NORTON MOBILE SECURITY。此外,家庭设备安全保护产品404可以类似地通过直接连接或虚拟专用网络网关连接412连接到互联网。通过这些连接操作一个或多个计算设备的用户可以参与用户参与406,并且网络流量可以由一个或多个合作伙伴或安全供应商应用程序408生成或由其监控。应用程序408可以通过公共应用编程接口服务410接收网络流量,该公共应用编程接口服务可以由应用编程接口服务器426提供。
通过上述连接,安全供应商可以应用安全包430,以使相应的用户受益和/或被保护。例如,安全包430可与移动网络运营商服务对接,包括服务质量服务418、计费服务420和/或短消息服务422。此外,安全包430可应用该图中进一步示出的众多不同服务中的一个或多个服务,包括恶意软件检测、广告屏蔽、浏览器指纹识别混淆、移动应用分类、僵尸网络屏蔽、统一资源定位符识别和/或数据分析。这些服务中的一个或多个服务可以通过相应的服务刀片提供。
在本申请的上下文中,模块102中的一个或多个模块可以被设置为图4中所示的浏览器指纹识别混淆服务的一部分。具体地,在步骤302处,设置在服务器206内的拦截模块104可以拦截可能源自网络连接412、414和/或416中的一者或多者的网络流量122,使得由图4中示出的相应服务刀片进行浏览器指纹识别混淆。安全包430还可将一项或多项安全相关信息存储在数据湖424内,如该图中进一步所示。在工作流400结束时,并且在通过上面列出的服务刀片应用一个或多个策略之后,可以允许安全的流量进出互联网。此外,后端安全模块的多个实例可以有助于确保始终保持可扩展性。
在步骤304处,本文所述的一个或多个系统可在隐私保护网络代理处检测网络流量指示浏览器指纹识别服务在客户端设备上进行浏览器指纹识别的尝试。例如,检测模块106可作为服务器206的一部分,检测网络流量122指示浏览器指纹识别服务250在客户端设备上进行浏览器指纹识别的尝试。
检测模块106可以用多种方式来执行步骤304。在一些示例中,检测模块106可以通过检测到客户端设备正尝试将数据上传到先前被分类为主要用于采集浏览器指纹识别数据的网络位置处的浏览器指纹识别服务,从而检测网络流量指示浏览器指纹识别服务在客户端设备上进行浏览器指纹识别的尝试。在这些示例中,修改模块108可以通过简单地屏蔽上传来对将数据上传到浏览器指纹识别服务的尝试的该检测做出响应,如下文结合方法300的步骤306和图5的工作流506的第二步进一步所述的。具体地,在工作流506的第二步,可屏蔽超文本传输协议POST或GET消息或查询。这些消息可以通过使用超文本传输协议代理来屏蔽,在工作流506的该示例中,该超文本传输协议代理可以对应于服务器206。或者,在工作流506的一个示例中,服务器206对应于不需要解密网络有效负载的内联设备,则可以基于传输层安全(TLS)服务器名称指示(SNI)和/或SSL证书公共名称来屏蔽到服务器208的一个或多个连接。此外,在加密网络流量的示例中,在没有解密程序的情况下,用户仍然可以从屏蔽相应的连接中受益,这可以通过检查SSL证书或其他加密证书中的主题字段来执行,从而为检测模块106提供指示连接的统一资源定位符或域的信息,该信息可对照已知浏览器指纹识别域的列表进行检查,如上所述。
图5示出了方法300的各种实施方案的例示性工作流502、例示性工作流504和例示性工作流506。在一些示例中,这些不同工作流中的一者或多者可以在方法300的执行中相互组合或补充,或以其他方式重叠。具体地,工作流506示出了客户端设备正尝试将数据上传到先前被分类为主要用于采集浏览器指纹识别数据的网络位置处的浏览器指纹识别服务的场景中的例示性工作流。在工作流506中,在第一步,计算设备202可以将数据传输到网络目的地,该网络目的地可以对应于服务器208。在通往服务器208的路径上,服务器206可以首先拦截由计算设备202传输的请求。在服务器206处,检测模块106可以检测到在第一步传输的数据是针对服务器208的,并进一步检测到服务器208对应于完全或基本上进行浏览器指纹识别服务的服务器。检测模块106可以简单地通过检查识别服务器208的互联网协议地址或其他识别符的对应网络包的一个或多个外层来执行该检测步骤,而不必解密根据例如SSL或TLS等加密协议在网络包内加密的一个或多个有效负载。在一个实施方案中,网络位置可包括用于浏览器指纹识别服务的域。例如,有些域除了采集分析和/或指纹识别数据外,可能没有其他用途。除此之外或另选地,网络位置可以被列在被分类为主要用于采集浏览器指纹识别数据的网络位置的众包列表上。此类众包列表可以由DISCONNECT或DUCKDUCKGO TRACKER RADAR等服务维护和/或管理。除此之外或另选地,这些公共列表可以由安全分析师或研究人员(诸如NortonLifeLock的那些)识别的指纹识别网络位置的附加列表加以补充。因此,在工作流506的第二步,修改模块108可以有效屏蔽在第一步传输的数据的传输。
鉴于上述情况,在这些示例中,模块102可以简单地基于确定数据已被传输到浏览器指纹识别服务来有效地屏蔽数据(包括完全加密的数据)的上传,而不必解密数据来查看其内容。工作流502由此可在某种意义上与工作流504和工作流506区分开,因为这些附加的工作流可能涉及在服务器206的一个或多个解密程序,以将一个或多个策略应用于解密的网络流量,如下文更详细描述的。此外,工作流502和工作流504可能涉及对网络流量122的实质性修改,而不是简单地屏蔽网络流量122,因此将结合方法300的步骤306重点讨论,如下所述。
在步骤306处,本文所述的一个或多个系统可以在隐私保护网络代理处,基于对进行浏览器指纹识别的尝试的检测而修改所拦截的网络流量,使得至少部分地禁止由浏览器指纹识别服务进行的浏览器指纹识别。例如,修改模块108可以在服务器206处并且基于对进行浏览器指纹识别的尝试的检测而修改所拦截的网络流量122,使得至少部分地禁止由浏览器指纹识别服务250进行的浏览器指纹识别。
修改模块108可以用多种方式来执行步骤306。在一些示例中,修改模块108可以通过将脚本注入到针对客户端设备的网络有效负载中来修改所拦截的网络流量。在一些示例中,脚本可以对应于JavaScript代码,并且该JavaScript代码可以被注入在超文本标记语言有效负载内。回到图5,工作流502示出了修改模块108可以修改所拦截的网络流量的场景。具体地,工作流502可以从第一步开始,由此计算设备202可以从web服务器(诸如服务器208)请求一些web内容。在第二步,服务器206作为代理,可以转发对来自服务器208的web内容的请求。在第三步,服务器208可以通过向计算设备202传输web内容来满足该请求。然而,在到达计算设备202之前,从服务器208传输的web内容可被服务器206拦截。因此,在工作流502的第三步之后,服务器206处的修改模块108可以有效地修改从服务器208接收的web内容。例如,修改模块108可以将脚本注入到针对计算设备202的网络有效负载或web内容中。在一些示例中,网络有效负载可以包括超文本标记语言有效负载(例如,对应于web内容)。除此之外或另选地,在一些示例中,脚本覆盖被配置为采集指纹识别信息的应用编程接口调用。
修改模块108可以实现简单覆盖的多个示例。例如,修改模块108可以覆盖画布函数(例如,toDataUrl()画布函数)。在这些示例中,修改模块108可以任选地使画布指纹随机化和/或以其他方式使画布指纹变形。除此之外或另选地,修改模块108可以调整或改变浏览器的屏幕对象,使相应的尺寸稍微随机化和/或舍入。
在一些示例中,修改模块108可以通过混淆客户端设备正尝试上传到服务器设备的指纹识别对象来修改所拦截的网络流量。工作流504示出了可以对应于该实施方案的场景。工作流504的第一步和第二步可以与工作流502的第一步和第二步并行,并且这些步骤可以示出计算设备202可如何从web服务器(诸如服务器208)请求web内容项。类似地,工作流504的第三步和第四步可以类似于工作流502的第三步和第四步,即由服务器206将web内容转发到计算设备202。然而,在工作流504的示例中,修改模块108可以任选地省略对在第三步和第四步传输的web内容的修改。相反,修改模块108可允许web内容被传输到计算设备202,即使该web内容包括一个或多个功能、脚本和/或特征,可预测地将从计算设备202提取浏览器指纹识别信息。因此,修改模块108可预计该web内容成功地提取一项或多项浏览器指纹识别信息,该信息可以在第五步作为指纹识别对象被传输。安全分析师(例如,在NortonLifeLock)的研究已经确定,可能存在30多种不同的第三方浏览器指纹识别技术来生成此类指纹识别对象。此外,基于这些不同脚本的浏览器指纹识别服务可能会被出售给成千上万的网站。此外,这些脚本中的许多脚本具有公共技术DNA,并且检测模块106可以由此在被拦截模块104拦截时识别这些脚本。如本文所用,术语“公共技术DNA”指在多个不同且独立的浏览器指纹识别服务中已经被分类为先前已经发现(即在方法300执行之前)基本上相同的编码内容。这些脚本通常使用超文本传输协议GET查询字符串(例如,GET消息在统一资源定位符查询字符串中包含浏览器指纹)和/或超文本传输协议POST消息(例如,其包含文本项或JavaScript对象表示法(JSON)文档)上传指纹识别对象。因此,在这些示例中,超文本传输协议代理(诸如服务器206)可以基于因素的组合来识别这些上传,然后修改模块108可以修改有效负载以混淆指纹。识别因素可以包括方法、主机域、路径和/或查询字符串。此外,使用超文本传输协议代理可以有效地解密网络流量,以确定统一资源定位符域、相应的方法和/或是否存在查询字符串。如果是指纹用户已知的域,请求可以被屏蔽,特别是当该请求是通过POST方法或GET查询字符串渗出数据时。
然而,如工作流504中进一步所示,在第五步传输的指纹识别对象可被服务器206拦截,并且修改模块108可以有效地修改指纹识别对象或使指纹识别对象变形,以减小或消除其在唯一识别的计算设备202和/或相应用户方面的价值。第五步中的上传可以通过传输超文本传输协议POST请求来进行。
由修改模块108在第五步之后进行较小和/或较大的修改,即使是较小的修改,也可以有效地破坏由计算设备202传输的指纹识别对象的指纹识别值。在第六步,修改模块108可转发变形的指纹识别对象,而不是转发原始的和未修改的指纹识别对象,使得服务器208接收变形的指纹识别对象,从浏览器指纹识别的角度来看,这可能被证明是没有价值的,如上所述。
由修改模块108在工作流504的第五步之后修改的指纹识别对象的例示性示例可以包括:画布指纹、字体列表、屏幕尺寸、用户代理屏幕、插件列表、webGL指纹和/或AudioContext指纹。画布指纹可指使用超文本标记语言第5版画布应用编程接口绘制的不可见图像的指纹识别脚本,然后使用附加应用编程接口调用(例如,toDataUrl())获得该图像的128位哈希值,其中该哈希值可能是唯一的,并且可用于识别用户的浏览器。字体列表可以指安装在用户系统上的所有字体的列表。近年来,Firefox、Tor和Safari等浏览器通过仅暴露出厂默认字体来降低字体作为浏览器熵源的有效性。屏幕尺寸可以指可以存储在JavaScript屏幕对象中的屏幕属性。用户代理字符串可以指存储在JavaScript导航器对象中的用户代理。插件列表可以指由用户安装的插件的列表。通常,过时的插件可以提高指纹的唯一性。可以通过探测用户系统上的webGL的能力来提取webGL指纹。AudioContext指纹可类似于画布指纹,但可应用于用户系统音频堆栈。为了成功修改和/或屏蔽上面列出的一个或多个指纹识别对象,使相应的指纹识别对象是可拦截的(例如,对象能否被成功识别和/或提取?)和安全的(例如,能否在不会部分或完全破坏相应web内容的功能的情况下进行指纹识别对象的修改或屏蔽?)可能有所帮助。
对于画布指纹,可以将脚本(例如,JavaScript)插入到执行以下步骤的所请求的网页中。脚本可重新实现toDataUrl()画布应用编程接口函数调用。当现在调用这些应用编程接口时,函数(例如,manipulate())可以捕获画布图像。此外,该函数可进一步在两个整数(例如,5与15之间)之间产生一个随机的移位值,对角地步进通过像素图并选择10个像素,更改这10个像素的RGP颜色值,以及/或者调用原始应用编程接口函数(例如,toDataUrl())并返回稍作修改的图像的值。使用该脚本基本上可以保证画布指纹每次都会改变。上面列出的大多数浏览器设置都可以被拦截和修改。
上述主题的各种实施方案可以用多种方式来改进相关技术。目前针对浏览器指纹识别的所有防御措施都可请求终端用户安装扩展和/或对可安装在特定设备上的所有浏览器进行配置更改。相反,对应于方法300的基于网络的解决方案可消除所有这些复杂的软件配置。此外,一些移动应用程序可能包含嵌入式浏览器,只能通过使用对应于方法300的基于网络的服务来防止对用户进行指纹识别,这是因为这些嵌入式浏览器可能防止用户安装和/或配置浏览器扩展或设置以在客户端设备上本地阻止这些程序。换句话说,如果没有上文结合方法300所述的基于网络的解决方案,相关技术就不能通过在终端用户设备上进行如此少量的配置(例如,方法300中涉及的唯一本地客户端设备配置可能包括用户登录和/或注册在线服务,该服务通过服务器206触发方法300的执行)来禁止通过浏览器指纹识别对用户的追踪。在移动应用程序提供的嵌入式浏览器不能被配置的情况下,对应于方法300的解决方案可能是可以防止应用程序提供商对用户进行指纹识别的唯一解决方案。嵌入式web浏览器可通过诸如WEBKIT和ALAMOFIRE的实施方案提供。由于用户很可能已经登录到相应的应用程序,移动应用程序提供商可以共享指纹和相应的身份。一般来说,在一些示例中,对应于方法300的解决方案可构成以云为中心的安全保护部署中的关键技术支柱。
图6为能够实现本文描述和/或示出的实施方案中的一个或多个实施方案的示例性计算系统610的框图。例如,计算系统610的全部或一部分可单独地或与其他元件结合来执行本文所述的步骤中的一个或多个步骤(诸如图3中所示的步骤中的一个或多个步骤)和/或作为用于执行其的装置。计算系统610的全部或一部分也可执行本文描述和/或示出的任何其他步骤、方法或过程和/或作为用于执行其的装置。
计算系统610广义地表示能够执行计算机可读指令的任何单处理器或多处理器计算设备或系统。计算系统610的示例包括但不限于:工作站、膝上型计算机、客户端终端、服务器、分布式计算系统、手持设备或任何其他计算系统或设备。在其最基本的配置中,计算系统610可包括至少一个处理器614和系统存储器616。
处理器614通常表示能够处理数据或解译和执行指令的任何类型或形式的物理处理单元(例如,硬件实现的中央处理单元)。在某些实施方案中,处理器614可接收来自软件应用程序或模块的指令。这些指令可使处理器614执行本文描述和/或示出的示例性实施方案中的一个或多个示例性实施方案的功能。
系统存储器616通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。系统存储器616的示例包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、闪存存储器或任何其他合适的存储器设备。虽然并不是必需的,但在某些实施方案中,计算系统610可包括易失性存储器单元(诸如例如系统存储器616)和非易失性存储设备(诸如例如主存储设备632,如下文详细地描述的)两者。在一个示例中,图1的模块102中的一个或多个模块可被加载到系统存储器616中。
在一些示例中,系统存储器616可存储和/或加载操作系统640以供处理器614执行。在一个示例中,操作系统640可包括和/或表示管理计算机硬件和软件资源和/或向计算系统610上的计算机程序和/或应用程序提供公共服务的软件。操作系统640的示例包括但不限于LINUX、JUNOS、MICROSOFT WINDOWS、WINDOWS MOBILE、MAC OS、APPLE'S IOS、UNIX、GOOGLE CHROME OS、GOOGLE'S ANDROID、SOLARIS、以上各项中的一者或多者的变型和/或任何其他合适的操作系统。
在某些实施方案中,除了处理器614和系统存储器616之外,示例性计算系统610还可包括一个或多个部件或元件。例如,如图6所示,计算系统610可包括存储器控制器618、输入/输出(I/O)控制器620和通信接口622,其中的每一者都可经由通信基础结构612互连。通信基础结构612通常表示能够促进计算设备的一个或多个部件之间的通信的任何类型或形式的基础结构。通信基础结构612的示例包括但不限于通信总线(诸如工业标准体系结构(ISA)、外围部件互连(PCI)、PCI Express(PCIe)或类似的总线)和网络。
存储器控制器618通常表示能够处理存储器或数据或控制计算系统610的一个或多个部件之间的通信的任何类型或形式的设备。例如,在某些实施方案中,存储器控制器618可经由通信基础结构612来控制处理器614、系统存储器616和I/O控制器620之间的通信。
I/O控制器620通常表示能够协调和/或控制计算设备的输入和输出功能的任何类型或形式的模块。例如,在某些实施方案中,I/O控制器620可控制或促进计算系统610的一个或多个元件之间的数据传输,这些元件为诸如处理器614、系统存储器616、通信接口622、显示适配器626、输入接口630和存储接口634。
如图6所示,计算系统610也可以包括至少一个显示设备624,该显示设备经由显示适配器626联接到I/O控制器620。显示设备624通常表示能够以可视的方式显示由显示适配器626转发的信息的任何类型或形式的设备。类似地,显示适配器626通常表示被配置为转发来自通信基础结构612(或来自帧缓冲器,如本领域中已知的)的图形、文本和其他数据以在显示设备624上显示的任何类型或形式的设备。
如图6所示,示例性计算系统610还可包括经由输入接口630联接到I/O控制器620的至少一个输入设备628。输入设备628通常表示能够向示例性计算系统610提供输入(由计算机或人生成的输入)的任何类型或形式的输入设备。输入设备628的示例包括但不限于:键盘、指向设备、语音识别设备、以上各项中的一者或多者的变型或组合和/或任何其他输入设备。
除此之外或另选地,示例性计算系统610可包括附加I/O设备。例如,示例性计算系统610可包括I/O设备636。在该示例中,I/O设备636可包括和/或表示促进与计算系统610的人机交互的用户界面。I/O设备636的示例包括但不限于:计算机鼠标、键盘、显示器、打印机、调制解调器、相机、扫描仪、麦克风、触摸屏设备、以上各项中的一者或多者的变型或组合和/或任何其他I/O设备。
通信接口622广义地表示能够促进示例性计算系统610与一个或多个附加设备之间的通信的任何类型或形式的通信设备或适配器。例如,在某些实施方案中,通信接口622可以促进计算系统610与包括附加计算系统的专用或公共网络之间的通信。通信接口622的示例包括但不限于:有线网络接口(诸如网络接口卡)、无线网络接口(诸如无线网络接口卡)、调制解调器和任何其他合适的接口。在至少一个实施方案中,通信接口622可经由与网络诸如互联网的直接链路来提供与远程服务器的直接连接。通信接口622也可通过例如局域网(诸如以太网)、个域网、电话或有线网络、蜂窝电话连接、卫星数据连接或任何其他合适的连接来间接地提供此类连接。
在某些实施方案中,通信接口622还可表示主机适配器,该主机适配器被配置为经由外部总线或通信信道来促进计算系统610与一个或多个附加网络或存储设备之间的通信。主机适配器的示例包括但不限于:小型计算机系统接口(SCSI)主机适配器、通用串行总线(USB)主机适配器、电气与电子工程师协会(IEEE)1394主机适配器、高级技术附件(ATA)、并行ATA(PATA)、串行ATA(SATA)和外部SATA(eSATA)主机适配器、光纤通道接口适配器、以太网适配器等。通信接口622还可允许计算系统610参与分布式或远程计算。例如,通信接口622可接收来自远程设备的指令或将指令发送到远程设备以供执行。
在一些示例中,系统存储器616可存储和/或加载网络通信程序638以供处理器614执行。在一个示例中,网络通信程序638可包括和/或表示使计算系统610能够与另一计算系统(图6中未示出)建立网络连接642和/或通过通信接口622与其他计算系统通信的软件。在该示例中,网络通信程序638可引导经由网络连接642发送到另一个计算系统的输出流量的流。除此之外或另选地,网络通信程序638可结合处理器614引导对经由网络连接642从另一个计算系统接收的输入流量的处理。
尽管未在图6中以这种方式示出,但网络通信程序638可另选地存储和/或加载在通信接口622中。例如,网络通信程序638可包括和/或表示由结合在通信接口622中的处理器和/或专用集成电路(ASIC)执行的软件和/或固件的至少一部分。
如图6所示,示例性计算系统610还可包括经由存储接口634联接到通信基础结构612的主存储设备632和备份存储设备633。存储设备632和633通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。例如,存储设备632和633可以是磁盘驱动器(例如,所谓的硬盘驱动器)、固态驱动器、软盘驱动器、磁带驱动器、光盘驱动器、闪存驱动器等。存储接口634通常表示用于在存储设备632和633与计算系统610的其他部件之间传输数据的任何类型或形式的接口或设备。
在某些实施方案中,存储设备632和633可被配置为对被配置为存储计算机软件、数据或其他计算机可读信息的可移除存储单元执行读取和/或写入。合适的可移除存储单元的示例包括但不限于:软盘、磁带、光盘、闪存存储器设备等。存储设备632和633还可包括允许将计算机软件、数据或其他计算机可读指令加载到计算系统610中的其他类似的结构或设备。例如,存储设备632和633可被配置为读取和写入软件、数据或其他计算机可读信息。存储设备632和633还可以是计算系统610的一部分,或者可以是通过其他接口系统进行访问的单独的设备。
可将多个其他设备或子系统连接到计算系统610。相反地,无需图6中示出的所有部件和设备都存在,也可以实践本文描述和/或示出的实施方案。上文提及的设备和子系统也可以通过不同于图6所示的方式进行互连。计算系统610也可以采用任何数量的软件、固件和/或硬件配置。例如,本文所公开的示例性实施方案中的一个或多个实施方案可被编码为计算机可读介质上的计算机程序(也称为计算机软件、软件应用程序、计算机可读指令或计算机控制逻辑)。如本文所用,术语“计算机可读介质”通常指能够存储或携带计算机可读指令的任何形式的设备、载体或介质。计算机可读介质的示例包括而不限于:传输型介质(诸如载波)和非暂态型介质(诸如磁存储介质,例如,硬盘驱动器、带驱动器和软盘)、光存储介质(例如,光盘(CD)、数字视频盘(DVD)和蓝光光盘)、电子存储介质(例如,固态驱动器和闪存介质)和其他分配系统。
可以将包含计算机程序的计算机可读介质加载到计算系统610中。然后,可以将存储在计算机可读介质上的计算机程序的全部或一部分存储在系统存储器616和/或存储设备632和633的各个部分中。当由处理器614执行时,加载到计算系统610中的计算机程序可以使处理器614执行本文描述和/或示出的示例性实施方案中的一个或多个实施方案的功能和/或作为用于执行其的装置。除此之外或另选地,可在固件和/或硬件中实现本文描述和/或示出的示例性实施方案中的一个或多个实施方案。例如,计算系统610可被配置为适于实现本文所公开的示例性实施方案中的一个或多个实施方案的专用集成电路(ASIC)。
图7为示例性网络架构700的框图,其中客户端系统710、720和730以及服务器740和745可以联接到网络750。如上详述,网络架构700的全部或一部分可以单独地或与其他元件结合地来执行本文所公开的步骤中的一个或多个步骤(诸如图3中所示的步骤中的一个或多个步骤)和/或作为用于执行其的装置。网络架构700的全部或一部分还可以用于执行本公开中阐述的其他步骤和特征和/或作为用于执行其的装置。
客户端系统710、720和730通常表示任何类型或形式的计算设备或系统,诸如图6中的示例性计算系统610。类似地,服务器740和745通常表示被配置为提供各种数据库服务和/或运行某些软件应用程序的计算设备或系统,诸如应用服务器或数据库服务器。网络750通常表示任何电信或计算机网络,包括例如内联网、WAN、LAN、PAN或互联网。在一个示例中,客户端系统710、720和/或730以及/或者服务器740和/或745可包括图1的系统100的全部或一部分。
如图7所示,一个或多个存储设备760(1)至760(N)可直接附接到服务器740。类似地,一个或多个存储设备770(1)至770(N)可直接附接到服务器745。存储设备760(1)至760(N)和存储设备770(1)至770(N)通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。在某些实施方案中,存储设备760(1)至760(N)和存储设备770(1)至770(N)可表示被配置为使用各种协议(诸如网络文件系统(NFS)、服务器消息块(SMB)或通用互联网文件系统(CIFS))与服务器740和745进行通信的网络连接存储(NAS)设备。
服务器740和745也可连接到存储区域网络(SAN)构架780。SAN构架780通常表示能够促进多个存储设备之间的通信的任何类型或形式的计算机网络或架构。SAN构架780可促进服务器740和745与多个存储设备790(1)至790(N)和/或智能存储阵列795之间的通信。SAN构架780还可经由网络750以及服务器740和745以此类方式促进客户端系统710、720和730与存储设备790(1)至790(N)和/或智能存储阵列795之间的通信:设备790(1)至790(N)和阵列795呈现为客户端系统710、720和730的本地附接设备。与存储设备760(1)至760(N)和存储设备770(1)至770(N)相同,存储设备790(1)至790(N)和智能存储阵列795通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。
在某些实施方案中,并且参考图6的示例性计算系统610,通信接口(诸如图6中的通信接口622)可以用于在每个客户端系统710、720和730与网络750之间提供连通性。客户端系统710、720和730能够使用例如web浏览器或其他客户端软件来访问服务器740或745上的信息。此类软件可允许客户端系统710、720和730访问由服务器740、服务器745、存储设备760(1)至760(N)、存储设备770(1)至770(N)、存储设备790(1)至790(N)或智能存储阵列795托管的数据。尽管图7示出使用网络(诸如互联网)来交换数据,但本文描述和/或示出的实施方案不限于互联网或任何特定的基于网络的环境。
在至少一个实施方案中,本文所公开的示例性实施方案中的一个或多个示例性实施方案的全部或一部分可被编码为计算机程序并加载到服务器740、服务器745、存储设备760(1)至760(N)、存储设备770(1)至770(N)、存储设备790(1)至790(N)、智能存储阵列795或它们的任何组合上并被其执行。本文所公开的示例性实施方案中的一个或多个示例性实施方案的全部或一部分也可被编码为计算机程序,存储在服务器740中,由服务器745运行,以及通过网络750分发到客户端系统710、720和730。
如上详述,计算系统610和/或网络架构700的一个或多个部件可单独地或与其他元件结合地来执行用于增强用户隐私的示例性方法的一个或多个步骤和/或作为用于执行其的装置。
虽然上述公开内容使用特定框图、流程图和示例阐述了各种实施方案,但每个框图部件、流程图步骤、操作和/或本文描述和/或例示的部件可使用多种硬件、软件或固件(或其任何组合)配置单独和/或共同地实现。此外,包含在其他部件内的部件的任何公开内容应当被视为在本质上是示例性的,因为可实施许多其他架构来实现相同功能。
在一些示例中,图1中的示例性系统100的全部或一部分可表示云计算环境或基于网络的环境的部分。云计算环境可经由互联网提供各种服务和应用程序。这些基于云的服务(例如,软件即服务、平台即服务、基础结构即服务等)可通过web浏览器或其他远程接口进行访问。本文所述的各种功能可通过远程桌面环境或任何其他基于云的计算环境提供。
在各种实施方案中,图1中的示例性系统100的全部或一部分可促进基于云的计算环境内的多租户应用。换句话讲,本文所述的软件模块可配置计算系统(例如,服务器)以促进本文所述功能中的一个或多个的多租户应用。例如,本文所述软件模块中的一个或多个软件模块可对服务器进行编程以允许两个或更多个客户端(例如,顾客)共享正在服务器上运行的应用程序。以这种方式编程的服务器可在多个顾客(即,租户)之间共享应用程序、操作系统、处理系统和/或存储系统。本文所述模块中的一个或多个模块还可为每个顾客分割多租户应用程序的数据和/或配置信息使得一个顾客不能访问另一个顾客的数据和/或配置信息。
根据各种实施方案,图1中的示例性系统100的全部或一部分可在虚拟环境内实现。例如,本文所述的模块和/或数据可在虚拟机内驻留和/或执行。如本文所用,术语“虚拟机”通常指由虚拟机管理器(例如,虚拟机监控程序)从计算硬件中抽象出来的任何操作系统环境。除此之外或另选地,本文所述的模块和/或数据可在虚拟化层内驻留和/或执行。如本文所用,术语“虚拟化层”通常指覆盖操作系统环境和/或从操作系统环境中抽象出来的任何数据层和/或应用层。虚拟化层可由软件虚拟化解决方案(例如,文件系统过滤器)管理,软件虚拟化解决方案将虚拟化层呈现为就好像它是底层基本操作系统的一部分。例如,软件虚拟化解决方案可将最初定向至基本文件系统和/或注册表内的位置的调用重定向至虚拟化层内的位置。
在一些示例中,图1中的示例性系统100的全部或一部分可表示移动计算环境的部分。移动计算环境可由多种移动计算设备来实现,这些设备包括移动电话、平板计算机、电子书阅读器、个人数字助理、可穿戴计算设备(例如,具有头戴式显示器的计算设备、智能手表等),等等。在一些示例中,移动计算环境可具有一个或多个区别特征,包括例如对电池供电的依赖、在任何给定时间只呈现一个前台应用程序、远程管理特征、触摸屏特征、位置和移动数据(例如,由全球定位系统、陀螺仪、加速度计等提供的)、限制对系统级配置的修改和/或限制第三方软件检查其他应用程序的行为的能力的受限平台、限制应用程序的安装的控制装置(例如,仅安装来源于经批准的应用程序商店的应用程序)等等。本文所述的各种功能可被提供用于移动计算环境和/或可与移动计算环境交互。
此外,图1中的示例性系统100的全部或一部分可表示一个或多个信息管理系统的部分,与一个或多个信息管理系统交互,使用由一个或多个信息管理系统产生的数据和/或产生被一个或多个信息管理系统使用的数据。如本文所用,术语“信息管理”可指数据的保护、组织和/或存储。信息管理系统的示例可包括但不限于:存储系统、备份系统、存档系统、复制系统、高可用性系统、数据搜索系统、虚拟化系统等。
在一些实施方案中,图1中的示例性系统100的全部或一部分可表示一个或多个信息安全系统的部分,产生受一个或多个信息安全系统保护的数据和/或与一个或多个信息安全系统通信。如本文所用,术语“信息安全”可指对受保护数据的访问的控制。信息安全系统的示例可包括而不限于:提供受管理的安全服务的系统、数据丢失防护系统、身份认证系统、访问控制系统、加密系统、策略遵循系统、入侵检测与防护系统、电子发现系统等等。
根据一些示例,图1中的示例性系统100的全部或一部分可表示一个或多个端点安全系统的部分、与一个或多个端点安全系统通信和/或受一个或多个端点安全系统保护。如本文所用,术语“端点安全”可指保护端点系统免遭未经授权以及/或者非法使用、访问和/或控制。端点保护系统的示例可包括而不限于:反恶意软件系统、用户认证系统、加密系统、保密系统、垃圾邮件过滤服务,等等。
本文描述和/或例示的过程参数和步骤序列仅通过举例的方式给出并且可根据需要改变。例如,虽然本文示出和/或描述的步骤可以特定顺序示出或讨论,但这些步骤不一定需要按例示或讨论的顺序来执行。本文描述和/或示出的各种示例性方法也可省略本文描述或示出的步骤中的一个或多个步骤,或者除了所公开的那些步骤之外还包括附加步骤。
虽然本文已经在全功能计算系统的上下文中描述和/或示出了各种实施方案,但这些示例性实施方案中的一个或多个实施方案可作为各种形式的程序产品来分配,而不考虑用于实际进行分配的计算机可读介质的特定类型。本文所公开的实施方案也可使用执行某些任务的软件模块来实现。这些软件模块可包括脚本、批文件或可存储在计算机可读存储介质上或计算系统中的其他可执行文件。在一些实施方案中,这些软件模块可将计算系统配置为执行本文所公开的示例性实施方案中的一个或多个实施方案。
此外,本文所述的模块中的一个或多个模块可将数据、物理设备和/或物理设备的表示从一种形式转换为另一种形式。除此之外或另选地,本文所述模块中的一个或多个模块可以通过在计算设备上执行、在计算设备上存储数据和/或以其他方式与计算设备交互,来将处理器、易失性存储器、非易失性存储器、和/或物理计算设备的任何其他部分从一种形式转换为另一种形式。
提供前面描述的目的是使本领域的其他技术人员能够最好地利用本文所公开的示例性实施方案的各种方面。该示例性描述并非旨在是详尽的或局限于所公开的任何精确形式。在不脱离本公开实质和范围的前提下,可进行许多修改和变化。本文所公开的实施方案在所有方面均应被视为示例性的而非限制性的。应当参考所附权利要求书及其等同形式来确定本公开的范围。
除非另有说明,否则在本说明书和权利要求中使用的术语“连接到”和“联接到”(以及其衍生形式)应该理解为允许直接和间接(即,经由其他元件或部件)连接。此外,在本说明书和权利要求中使用的术语“一”或“一个”应当理解为表示“......中的至少一者”。最后,为了易于使用,在本说明书和权利要求中使用的术语“包括”和“具有”(以及其衍生形式)与词语“包含”可互换并且与词语“包含”具有相同含义。
Claims (20)
1.一种用于增强用户隐私的计算机实现的方法,所述方法的至少一部分由包括至少一个处理器的计算设备执行,所述方法包括:
通过隐私保护网络代理拦截客户端设备与服务器设备之间的网络流量,所述客户端设备由基于网络的隐私解决方案保护,所述基于网络的隐私解决方案通过所述隐私保护网络代理禁止浏览器指纹识别;
在所述隐私保护网络代理处检测所述网络流量指示浏览器指纹识别服务在所述客户端设备上进行浏览器指纹识别的尝试;以及
在所述隐私保护网络代理处,基于对进行浏览器指纹识别的所述尝试的所述检测而修改所拦截的网络流量,使得至少部分地禁止由所述浏览器指纹识别服务进行的浏览器指纹识别。
2.根据权利要求1所述的计算机实现的方法,其中,检测所述网络流量指示所述浏览器指纹识别服务在所述客户端设备上进行浏览器指纹识别的所述尝试包括:检测到所述客户端设备正尝试将数据上传到先前被分类为主要用于采集浏览器指纹识别数据的网络位置处的所述浏览器指纹识别服务。
3.根据权利要求2所述的计算机实现的方法,其中,所述网络位置包括用于所述浏览器指纹识别服务的域。
4.根据权利要求2所述的计算机实现的方法,其中,所述网络位置被列在被分类为主要用于采集浏览器指纹识别数据的网络位置的众包列表上。
5.根据权利要求1所述的计算机实现的方法,其中,拦截所述客户端设备与所述服务器设备之间的所述网络流量包括:通过超文本传输协议代理拦截所述网络流量。
6.根据权利要求5所述的计算机实现的方法,其中,修改所拦截的网络流量包括:将脚本注入到针对所述客户端设备的网络有效负载中。
7.根据权利要求6所述的计算机实现的方法,其中,所述网络有效负载包括超文本标记语言有效负载。
8.根据权利要求6所述的计算机实现的方法,其中,所述脚本覆盖被配置为采集指纹识别信息的应用编程接口调用。
9.根据权利要求5所述的计算机实现的方法,其中,修改所拦截的网络流量包括:混淆所述客户端设备正尝试上传到所述服务器设备的指纹识别对象。
10.根据权利要求1所述的计算机实现的方法,其中,禁止由所述浏览器指纹识别服务进行的指纹识别是以不针对特定浏览器的方式进行的。
11.一种用于增强用户隐私的系统,所述系统包括:
拦截模块,所述拦截模块存储在存储器中,作为隐私保护网络代理的一部分,拦截客户端设备与服务器设备之间的网络流量,所述客户端设备由基于网络的隐私解决方案保护,所述基于网络的隐私解决方案通过所述隐私保护网络代理禁止浏览器指纹识别;
检测模块,所述检测模块存储在存储器中,作为所述隐私保护网络代理的一部分,检测所述网络流量指示浏览器指纹识别服务在所述客户端设备上进行浏览器指纹识别的尝试;
修改模块,所述修改模块存储在存储器中,在所述隐私保护网络代理处,基于对进行浏览器指纹识别的所述尝试的所述检测而修改所拦截的网络流量,使得至少部分地禁止由所述浏览器指纹识别服务进行的浏览器指纹识别;和
至少一个物理处理器,所述至少一个物理处理器被配置为执行所述拦截模块、所述检测模块和所述修改模块。
12.根据权利要求11所述的系统,其中,所述检测模块通过检测到所述客户端设备正尝试将数据上传到先前被分类为主要用于采集浏览器指纹识别数据的网络位置处的所述浏览器指纹识别服务,从而检测所述网络流量指示所述浏览器指纹识别服务在所述客户端设备上进行浏览器指纹识别的所述尝试。
13.根据权利要求12所述的系统,其中,所述网络位置包括用于所述浏览器指纹识别服务的域。
14.根据权利要求12所述的系统,其中,所述网络位置被列在被分类为主要用于采集浏览器指纹识别数据的网络位置的众包列表上。
15.根据权利要求11所述的系统,其中,所述拦截模块至少部分地通过经由超文本传输协议代理拦截所述网络流量来拦截所述客户端设备与所述服务器设备之间的所述网络流量。
16.根据权利要求15所述的系统,其中,所述修改模块通过将脚本注入到针对所述客户端设备的网络有效负载中来修改所拦截的网络流量。
17.根据权利要求16所述的系统,其中,所述网络有效负载包括超文本标记语言有效负载。
18.根据权利要求16所述的系统,其中,所述脚本覆盖被配置为采集指纹识别信息的应用编程接口调用。
19.根据权利要求15所述的系统,其中,所述检测模块至少部分地基于所述检测模块检测到先前已经在多个不同且独立的浏览器指纹识别脚本中检测到的公共技术DNA的实例,从而检测所述网络流量指示所述浏览器指纹识别服务进行浏览器指纹识别的所述尝试。
20.一种非暂态计算机可读介质,包括一个或多个计算机可读指令,所述计算机可读指令在由计算设备的至少一个处理器执行时,使所述计算设备:
通过隐私保护网络代理拦截客户端设备与服务器设备之间的网络流量,所述客户端设备由基于网络的隐私解决方案保护,所述基于网络的隐私解决方案通过所述隐私保护网络代理禁止浏览器指纹识别;
在所述隐私保护网络代理处检测所述网络流量指示浏览器指纹识别服务在所述客户端设备上进行浏览器指纹识别的尝试;以及
在所述隐私保护网络代理处,基于对进行浏览器指纹识别的所述尝试的所述检测而修改所拦截的网络流量,使得至少部分地禁止由所述浏览器指纹识别服务进行的浏览器指纹识别。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/006,870 US11140136B1 (en) | 2020-08-30 | 2020-08-30 | Systems and methods for enhancing user privacy |
PCT/US2021/048089 WO2022047253A1 (en) | 2020-08-30 | 2021-08-27 | Systems and methods for enhancing user privacy |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116158057A true CN116158057A (zh) | 2023-05-23 |
Family
ID=77923653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180058957.XA Pending CN116158057A (zh) | 2020-08-30 | 2021-08-27 | 用于增强用户隐私的系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11140136B1 (zh) |
EP (1) | EP4205373A1 (zh) |
JP (1) | JP2023535770A (zh) |
CN (1) | CN116158057A (zh) |
WO (1) | WO2022047253A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230020504A1 (en) * | 2021-07-16 | 2023-01-19 | Whitestar Communications, Inc. | Localized machine learning of user behaviors in network operating system for enhanced secure services in secure data network |
US11582241B1 (en) * | 2021-07-22 | 2023-02-14 | Whitestar Communications, Inc. | Community server for secure hosting of community forums via network operating system in secure data network |
CN115499184A (zh) * | 2022-09-06 | 2022-12-20 | 北京天融信网络安全技术有限公司 | 网络代理服务的识别方法及装置、电子设备、存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110208850A1 (en) * | 2010-02-25 | 2011-08-25 | At&T Intellectual Property I, L.P. | Systems for and methods of web privacy protection |
US8613106B2 (en) | 2010-07-28 | 2013-12-17 | International Business Machines Corporation | Reducing the value of a browser fingerprint |
US10049231B2 (en) * | 2015-03-17 | 2018-08-14 | Trackoff, Inc. | Method and system for obfuscating the properties of a web browser |
US10110633B2 (en) * | 2015-11-16 | 2018-10-23 | Telefonica, S.A. | Method, a device and computer program products for protecting privacy of users from web-trackers |
CN109309664B (zh) * | 2018-08-14 | 2021-03-23 | 中国科学院数据与通信保护研究教育中心 | 一种浏览器指纹探测行为监测方法 |
-
2020
- 2020-08-30 US US17/006,870 patent/US11140136B1/en active Active
-
2021
- 2021-08-27 CN CN202180058957.XA patent/CN116158057A/zh active Pending
- 2021-08-27 EP EP21787092.2A patent/EP4205373A1/en active Pending
- 2021-08-27 WO PCT/US2021/048089 patent/WO2022047253A1/en unknown
- 2021-08-27 JP JP2023505411A patent/JP2023535770A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2023535770A (ja) | 2023-08-21 |
US11140136B1 (en) | 2021-10-05 |
EP4205373A1 (en) | 2023-07-05 |
WO2022047253A1 (en) | 2022-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9356943B1 (en) | Systems and methods for performing security analyses on network traffic in cloud-based environments | |
US20230153437A1 (en) | Proactive browser content analysis | |
US9300693B1 (en) | Systems and methods for preventing data loss over virtualized networks | |
EP2849407B1 (en) | Method and system for prevention of malware infections | |
US20190372937A1 (en) | Systems and methods for split network tunneling based on traffic inspection | |
CN116158057A (zh) | 用于增强用户隐私的系统和方法 | |
US11449637B1 (en) | Systems and methods for providing web tracking transparency to protect user data privacy | |
US10367744B1 (en) | Systems and methods for network traffic routing to reduce service congestion at a server | |
US11463463B1 (en) | Systems and methods for identifying security risks posed by application bundles | |
US20240028721A1 (en) | Utilizing Machine Learning to detect malicious executable files efficiently and effectively | |
US9781019B1 (en) | Systems and methods for managing network communication | |
US10498701B2 (en) | Systems and methods for dynamically varying web application firewall security processes based on cache hit results | |
US10469457B1 (en) | Systems and methods for securely sharing cloud-service credentials within a network of computing devices | |
US11003746B1 (en) | Systems and methods for preventing electronic form data from being electronically transmitted to untrusted domains | |
US10437994B1 (en) | Systems and methods for determining the reputations of unknown files | |
US11005867B1 (en) | Systems and methods for tuning application network behavior | |
US10944781B1 (en) | Systems and methods for identifying malicious domain names from a passive domain name system server log | |
CN116210017A (zh) | 用于防止网站上的误导性点击的系统和方法 | |
US9197711B1 (en) | Systems and methods for detecting the presence of web tracking | |
US9146950B1 (en) | Systems and methods for determining file identities | |
US8887291B1 (en) | Systems and methods for data loss prevention for text fields | |
WO2019195051A1 (en) | Systems and methods for utilizing an information trail to enforce data loss prevention policies on potentially malicious file activity | |
US9003535B1 (en) | Systems and methods for certifying client-side security for internet sites | |
US11641373B1 (en) | Systems and methods for protecting user data privacy against web tracking during browsing sessions | |
US11496511B1 (en) | Systems and methods for identifying and mitigating phishing attacks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Arizona Applicant after: Keane Digital Co. Address before: Arizona Applicant before: Norton Weaver krypton |