Learn

70 篇文章分类:全部
网络

浏览器指纹识别基础

访问网站时,浏览器会使用各种信息来显示页面。

浏览器类型。 操作系统。 屏幕大小。 语言。 时区。 支持的字体。 扩展功能。 Canvas 和 WebGL 的绘制结果。

这些信息逐一来看都很小。 但是组合起来,就会成为该浏览器环境的特征。

使用这些特征来区分用户的思路,就是浏览器指纹识别(browser fingerprinting)。

本文整理浏览器指纹识别与匿名性有什么关系。

什么是指纹识别

浏览器指纹识别,是把浏览器和设备的特征组合起来,推测访问是否来自同一环境的方法。

它与网站把识别符保存到浏览器中的 等方法稍有不同。

Cookie 是通过重新发送已保存的值来用于识别。 另一方面,指纹识别把浏览器本身的可见方式作为材料。

项目Cookie指纹
主要材料保存在浏览器中的值浏览器和设备的特征
用户侧的可见方式容易意识到删除或拦截难以知道哪些东西被当作材料
易变性删除 Cookie 后会改变设置和环境相同则容易残留
对匿名性的影响关联同一浏览器的再次访问即使没有 Cookie,也显示同一环境的相似性

也就是说,只删除 Cookie 并不充分。 如果持续使用同一个浏览器环境,其他线索仍会留下。

哪些信息会成为材料

指纹识别的材料,是浏览器为了显示页面或运行功能而使用的信息。

信息表示什么匿名性上的注意点
User-Agent浏览器、操作系统、版本等成为使用环境的大致特征
屏幕大小显示区域或设备类型成为同一设备相似性的材料
语言设置首选语言成为地区或使用环境的线索
时区设备的时间设置与日常活动范围和活动时间关联
字体可用字体成为操作系统或安装环境的特征
Canvas浏览器的绘制结果成为设备、GPU、浏览器差异的材料
WebGL3D 绘制相关信息会出现 GPU 和驱动程序特征
扩展功能添加的功能少见的组合会显眼

并不是所有网站都会以同样方式收集这些信息。 但是,在启用 JavaScript 的页面上,可以获取许多浏览器侧的信息。

思考匿名性时,不仅要看“自己输入的信息”,也需要看“浏览器自动展示的信息”。

为什么与匿名性有关

在匿名性中,问题在于同一个人的行为会被关联起来。

例如,假设你先用家中网络浏览某个网站,然后使用 访问同一网站。 IP 地址变了。 也假设 Cookie 已经删除。

即便如此,如果浏览器特征几乎相同,仍会残留来自同一环境的相似性。

并不是只靠指纹识别就一定能识别个人。 但是,当它与 IP 地址、Cookie、登录状态、访问时间、发布内容组合起来时,就会成为关联的材料。

匿名性中可怕的并不是某一条信息。 而是小信息的累积。

自定义设置有时会显眼

为了提高匿名性,人们有时会想细致地自定义浏览器。

广告拦截。 防跟踪设置。 特殊字体设置。 大量扩展功能。 细致的 JavaScript 控制。

这些有时会有用。 但是,当设置组合变得少见时,反而会显眼。

在匿名性中,“增加看起来很强的设置”并不总是正确答案。 在某些场景下,让可见方式与许多其他用户相似会变得重要。

Browser 采用的就是这种思路。 它不是为每个用户增加显眼设置,而是尽量创建看起来相同的环境,使其不容易被指纹识别。

也就是说,在匿名性中,比起“增加很多防御”,“进入不显眼的群体”在某些场景下更重要。

少见的扩展功能组合、特殊字体、自定义屏幕大小、过于细致的拦截设置,都会成为只有本人具备的特征。 原本为了避免跟踪的设置,反而可能成为识别材料。

Tor Browser 与普通浏览器的区别

普通浏览器重视便利性和兼容性。 因此,从网站侧看,用户之间的差异容易显现。

Tor Browser 是重视匿名性的浏览器。 它不只是使用 Tor 网络,也具有统一浏览器可见方式的设计。

项目普通浏览器Tor Browser
主要目的便利性、兼容性、速度匿名性、抗跟踪、规避审查
通信路径使用普通线路使用 Tor 网络
浏览器的可见方式用户之间容易出现差异采用减少差异的设计
扩展功能容易自由添加添加后会成为显眼的原因
匿名性上的注意容易与实名使用混在一起破坏使用方式会削弱效果

如果把平时使用的扩展功能装进 Tor Browser,或者以自定义方式固定屏幕大小,或者登录实名账号,匿名性就会变弱。

浏览器环境中应该查看哪些点

思考浏览器指纹识别时,要确认以下几点。

  • 匿名用和实名用是否没有重复使用同一个浏览器
  • 是否没有安装同样的扩展功能
  • 是否没有过度自定义浏览器设置
  • 屏幕大小或语言设置是否没有与实名使用重叠
  • 是否没有与 Cookie 或登录状态一起残留
  • 使用 Tor Browser 时,是否没有破坏标准设置

这里重要的是,不要只看指纹。 浏览器特征会与 Cookie、IP、时间、账号、发布内容一起被关联。

指纹对策无法单独完成。

使用 Tor Browser 这类经过设计的环境时,基本原则是不要大幅破坏标准设置。 使用普通浏览器时,起点是不要混合实名使用和匿名使用,不要增加不必要的扩展功能,并确认登录状态。

可以确认可见方式的网站

如果只通过文字理解,浏览器指纹识别会显得抽象。 实际查看检测网站后,会更容易把握网站侧能看到浏览器环境中的哪些信息。

EFF Cover Your Tracks 是 EFF 的检测网站。它会访问外部网站,确认浏览器面对跟踪器和指纹时有多容易被识别。 确认时,浏览器信息会发送到 EFF 侧,因此在高风险环境或匿名用途的正式环境中,要谨慎考虑使用时机。结果并不是判断“是否完全安全”,但可以成为理解浏览器信息会变成识别材料的入口。

URL : https://coveryourtracks.eff.org/

BrowserLeaks Canvas 是一个以 Canvas 为中心,确认网站侧可见的部分浏览器环境的检测页面。 因为可以看到各个值,所以有助于学习扩展功能和设置变更会怎样改变浏览器的可见方式。

URL : https://browserleaks.com/canvas

这些网站是学习用的确认对象。 使用它们不是为了看一次结果就安心,而是为了理解“自己的浏览器展示的信息比想象中更多”。

总结

浏览器指纹识别,是把浏览器和设备的特征组合起来,推测访问是否来自同一环境的思路。

User-Agent、屏幕大小、语言、时区、字体、Canvas、WebGL、扩展功能等都会成为材料。

即使删除 Cookie,如果浏览器环境相同,也会残留像是同一用户的线索。 即使改变 IP 地址,如果浏览器特征没有改变,也会成为关联的材料。

在匿名性中,增加自定义设置并不总是正确答案。 在某些场景下,让可见方式与许多其他用户相似会变得重要。

浏览器指纹识别本身并不会单独决定匿名性的全部。 但是,当它与 IP、Cookie、登录状态、时间、发布内容组合起来时,会成为很强的线索。

相关工具

Public IP Check

WhatIsMyIP

与本文相关的外部资源。只有在符合你的处境和威胁模型时再打开。

列在这里的原因: 它可能有助于理解本文主题,但位于 Anonymity Sense 之外,使用前应先自行确认。

URL : https://www.whatismyip.com/

打开外部网站
DNS Leak Test

DNSLeakTest

与本文相关的外部资源。只有在符合你的处境和威胁模型时再打开。

列在这里的原因: 它可能有助于理解本文主题,但位于 Anonymity Sense 之外,使用前应先自行确认。

URL : https://www.dnsleaktest.com/

打开外部网站
WebRTC Leak Test

BrowserLeaks WebRTC

与本文相关的外部资源。只有在符合你的处境和威胁模型时再打开。

列在这里的原因: 它可能有助于理解本文主题,但位于 Anonymity Sense 之外,使用前应先自行确认。

URL : https://browserleaks.com/webrtc

打开外部网站
Browser Fingerprint Check

BrowserLeaks Fingerprint

与本文相关的外部资源。只有在符合你的处境和威胁模型时再打开。

列在这里的原因: 它可能有助于理解本文主题,但位于 Anonymity Sense 之外,使用前应先自行确认。

URL : https://browserleaks.com/canvas

打开外部网站
Browser Fingerprint Check

EFF Cover Your Tracks

与本文相关的外部资源。只有在符合你的处境和威胁模型时再打开。

列在这里的原因: 它可能有助于理解本文主题,但位于 Anonymity Sense 之外,使用前应先自行确认。

URL : https://coveryourtracks.eff.org/

打开外部网站

相关文章