设备指纹追踪是什么:DuckDuckGo 如何让指纹采集失真
指纹为什么难缠
Cookie 可以被删,指纹删不掉。浏览器指纹的思路是:不往你设备里放标识,而是读取设备本身的特征——屏幕尺寸、字体列表、显卡渲染方式、CPU 核心数、时区……这些参数组合起来,足以在千万设备里唯一锁定你这台。
它难缠在三点:
- 无感知:读取过程发生在页面加载的脚本里,没有任何提示;
- 不留痕:什么都没写入你的设备,清理工具对它无效;
- 绕过 Cookie 防护:既然不用 Cookie,封 Cookie 也拦不住。
它的两段式应对
第一段:别让指纹脚本跑起来。 指纹采集依赖第三方脚本,加载前拦截先把名单上已知的指纹脚本挡掉——多数采集在第一段就结束了。
第二段:让读到的信息失真。 对仍会运行的采集逻辑,改写浏览器相关接口的行为,让它们返回空信息或随机化的替代信息——采集方拿到的是一份"每台设备看起来都差不多、每次看起来还不太一样"的数据,组合不出稳定指纹。这套接口改写的实现开源在官方的内容防护脚本仓库里,可供审查。
有限例外同样存在:改写导致站点登录、支付等基本功能异常时,会按远程配置放行。
与隐身模式对照
隐身模式结束后清掉 Cookie,但指纹在会话进行中一直有效——同一会话里你依旧被识别。指纹防护的意义在于把"会话内"的识别也打乱。
用户可做的事
- 保持防护默认开启,指纹改写不需要配置;
- 减少安装来路不明的扩展——扩展自己就能读取大量页面信息,是指纹体系外的另一条泄露线;
- 发现个别站点排版或功能异常时,先怀疑改写与拦截的副作用,用面板确认后按需放行。