浏览器指纹跟踪是在过去五年中在互联网上跟踪用户的一种方为了控制浏览器指纹跟踪行为,反浏览器跟踪技术也在不断发展。
一、反浏览器指纹追踪技术概述
浏览器指纹识别的原理是根据不同浏览平台使用的不同硬件类型、操作系统、浏览器类型和浏览器配置,构建独特的浏览器指纹。该指纹有三个特点可以用来跟踪用户:1。指纹的确定性非常低,至少可以从数千个设备中识别出一个设备;2、当用户浏览网页时,指纹的易用性Web服务器可以很容易地获得指纹。随着浏览器的引入更新API,指纹跟踪将变得更容易;3、指纹的稳定性,用户***第二次浏览网页和第N浏览网页产生的指纹是一样的。
本文简要介绍了反浏览器指纹跟踪技术。反浏览器指纹跟踪只需打破上述三个特征:
- 指纹的确定性。目前还没有发现两个浏览平台产生完全相同的指纹;
- 指纹的易获性。您可以使用浏览器的各种设置或插件来减缓跟踪 [1],但这种 *** 可能会影响用户体验,如无法使用Cookie和JavaScript;
- 指纹的稳定性。INRIA Rennes皮埃尔大学的研究人员·拉普里克斯博士提出了一个可以构建动态浏览平台的解决方案[2],让用户每次浏览网页都能产生不同的指纹。
皮埃尔以两种方式打破了指纹的稳定性:
a) 使用虚拟化和模块化架构自动组合和重新配置多级软件组件,随机生成浏览环境,为每个浏览对话产生随机指纹,模糊实际设备的指纹。作者开发了一个叫做Blink原型系统[3];
b) 第二种 *** 是在指纹识别过程中引入足够的噪非常特定的指纹技术(Canvas,Audio,JavaScript引擎)的稳定性使跟踪者无法将新指纹与旧指纹绑定在一起,从而使跨越多个对话的跟踪变得不可能。作者是基于Firefox开发了FPRandom[4]。
以下是本文的重点介绍Blink。
二、Blink工作原理
每两个浏览平台之间或多或少存在一些差异,跟踪者可以根据这一差异定位跟踪用户,因此浏览平台的多样性是浏览器指纹跟踪问题的根源,但也是解决浏览器指纹跟踪问题的解决方案。平台之间的许多差异为动态浏览平台提供了基础。
Blink利用虚拟化和模块化架构自动组合和重新配置浏览平台的组件,使每个操作产生不同的指纹,跟踪器无法轻易找到相互联系[5]。图1显示了影响浏览平台指纹的元素:语言、屏幕分辨率等配置参数;浏览器、操作系统等软件组件;显卡、麦克风等硬件组件;运行时只能收集跨级动态属性,如canvas,,AudioContext。
一旦用户开始浏览网页,这些数据就被用来创建指纹。这通常被认为是浏览器指纹。研究人员发现,对指纹影响更大的因素是字体、插件和用户 *** 。因此,选择重新配置以下因素来改变指纹:字体、插件、浏览器和操作系统。
Blink通过在运行时自动重新配置浏览平台的各个组件,来达到动态目标防御的能力。动态目标防御需要浏览平台使用模块化架构,以达到自动随机组装配置各个组件,而不是事先构建好它们。Blink特点是:
- 组装平台总是显示与真实浏览器一致的指纹,而不是伪造的,因为平台是真实的;
- 由兼容组件组成并正确运行的平台自动选择正确的配置;
- 每次重新配置都会导致指纹变化。
三、Blink实现
Blink多个组件组装在不同层次,形成如图2所示的浏览平台。
Blink使用Docker作为背后的基础技术,因为Docker能在运行过程中快速组装组件,将主机系统与平台隔离。Blink组装组件包括:
- 因为DockerHub许多操作系统可以开箱即用。
- 浏览器:直接从 *** 下载或从官方软件包存储库下载,许多浏览器用于生成各种指纹。
- 字体和插件:皮埃尔创建了多样化的字体和插件库,Blink在创建浏览平台时,可以选择字体和插件。当前版本Blink,包含2700多种字体和30多个插件。
只需要几秒钟,Blink用户可以像本地浏览器一样用户可以像本地浏览器一样使用它。为了避免与普通人有明显的不同Web皮埃尔来自客户端的指纹https://amiunique.org收集指纹数据,优化Blink配置文件,使Blink指纹更接近普通浏览器产生的指纹。结果显示Blink产生的指纹足以混淆真假。皮埃尔运行Blink成千上万次,他们的指纹不同,商业指纹解决方案不知道这些指纹实际上来自单个用户[6]。
四、总结
Blink通过生成随机浏览环境,每次会话都会产生不同的指纹,打破指纹的稳定性,减缓指纹跟踪。Blink还实现了其它反跟踪 *** ,如:
- 为了防止cookie当用户完成浏览时,所有生成的临时数据都被删除。
- 为了防止IP追踪,Blink与Tor *** 完全兼容。点击一个简单的按钮,所有的按钮都有Blink的Internet流量可以通过Tor *** 重定向。
这些新 *** 允许用户使用Blink能有效避免跟踪。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。