伪装成网站自己的跟踪器:CNAME 伪装与 DuckDuckGo 的识别方法
什么是 CNAME 伪装
浏览器对"第一方"与"第三方"的判定看域名:地址栏里的站点是第一方,别的域名的算第三方。跟踪行业对此的对策相当直接——把第三方的域名伪装成第一方。
具体手法靠 DNS 的 CNAME 记录:网站把子域名(如 metrics.example.com)指到某个跟踪公司的服务器。于是统计、营销脚本从 metrics.example.com 加载——在浏览器眼里这是 example.com 自己的子域名,标准的"第一方",常规第三方防护对它直接失明。
它怎么破
DuckDuckGo 用 Tracker Radar 爬虫扫描时顺带记录这类伪装映射,维护一份 CNAME 名单:哪个"看起来是第一方"的子域名背后站着哪家第三方。命中名单的请求按真实的第三方身份处理——该拦的拦,该限的限。
官方明确指出:这类防护多数主流浏览器默认不做,属于它的防护面里"别家默认没有"的那一档。
为什么值得单独一页
因为伪装成立的前提是"域名判定",而域名判定是一切 Cookie 防护、请求分类的地基。地基被钻了洞,上层的防护说得再细也是给第一方放行。理解这一页,就理解了为什么防护需要"名单驱动 + 持续爬取"而不是一劳永逸的规则。
平台支持说明
各端(扩展与四平台应用)对 CNAME 名单的覆盖程度略有差异,部分平台的完整覆盖还在官方路线图上——细节以官方防护总览页的对照表为准。
验证的难处
这类伪装对用户几乎不可见——域名长得就像站点自己的。普通用户的合理动作只有两件:
- 知道有这层防护存在,不因为"看起来是本站请求"就放松对防护的依赖;
- 发现面板里拦截了站点子域名的请求时,意识到那可能正是被还原的伪装跟踪器。