2021-10-02 | 翻译 | UNLOCK

译作 | CNAME 隐身,第三方追踪器的危险伪装

译者按:本文原文:medium.com/nextdns/cname-cloaking-the-dangerous-disguise-of-third-party-trackers-195205dc522a,作者:Romain Cointepas。原文著作权归原作者所有,译者未经原作者授权译制,翻译仅供参考。对于用户擅自使用未授权的译文造成的法律风险,译者概不负责。

译文格式与原文保持一致,标「译注」的注释为译者所加。

本文采用 CC BY-SA 4.0 许可协议授权。




注意:如果您使用 NextDNS 作为您的 DNS 解析器,您已经自动受到保护。您可以在 这里 阅读更多。


· · ·

为什么AdBlockAdblock PlusuBlock OriginGhosteryBraveFirefox 会让一家领先的追踪公司 Eulerian 的第三方追踪器在法国最大的网上银行之一 fortune.fr 上自由执行其脚本?

为什么同样的事情会发生在全世界成千上万的流行网站上?

在过去的几个月里,第三方追踪领域开始发生的事情对人们的隐私产生了重大影响,而这一切几乎都是不为人知的。


· · ·

对于其中一个网站来说,这一切都始于这样一封邮件:


translate-article-cname-cloaking-the-dangerous-disguise-of-third-party-trackers-1
对法语表示歉意,关键句子翻译如下。资料来源

这封邮件来自Criteo,一家领先的追踪公司,要求网站做一个快速的改变(「只需 2 分钟」)以「适应浏览器的演变」(即绕过追踪限制),并能够以「更理想的方式」追踪人们。

Criteo 要求网站为 kvejdd.website.com(注意子域名的随机性,我们下面会谈到)等域名添加一条 CNAME 记录[译注 1]dnsdelegation.io

…否则,「您可能会失去 11.64% 的销售额、11.53% 的总营业额和 20.82% 的观众」。 听起来真可怕。

这种方法有一个合适的名字:CNAME 隐身 ,它被用来将第三方追踪器伪装成第一方追踪器。在这种情况下,他们还故意用一个随机的子域名将其混淆,并用 CNAME 记录连接到一个通用的、无标识的域名

一些追踪公司,比如 AT Internet(前身为 XiTi),甚至不遗余力地与用作 CNAME 目的地的域名完全保持距离。试着找出 at-o.net 属于哪个公司(这个网站既隐藏了 WHOIS 信息又选择使用 AWS IP)。这在世界顶级新闻网站之一的 lemonde.fr 以及其他许多网站上都有使用。


· · ·

为什么传统的隐私保护工具和限制器很难保护您免受此类侵害?

以前的第三方追踪器的工作方式是让 website1.com 通过调用 https://tracker.trackingcompany.com/j23jsak.js. 来加载。

而另一个不相关的网站 (website2.com) 也会调用 https://tracker.trackingcompany.com/k2j4vs.js

然后,隐私保护工具只需要自动阻止任何对 tracker.trackingcompany.com 的调用,它就会自动保护您免受跟踪公司第三方追踪。就是这么简单。


· · ·

如果网站使用 CNAME 隐身 的话,会出现以下情况,使得它实际上不可能被屏蔽:

  1. 浏览器扩展不允许访问发出的请求的 DNS 层,也就是说,它们看不到 CNAME 记录。(1)
  2. 当每个网站通过调用类似于 a3ksbl.website.com 的网站来加载第三方追踪器时,隐私保护工具现在必须为成千上万个网站弄清楚哪个子域名是 CNAME 隐身的前端。这可是项 艰巨 的工作。
  3. 由于每个网站现在都有自己的子域名来隐藏第三方追踪器,这些工具需要包含与使用这种 CNAME 隐身方法的网站一样多的匹配规则。屏蔽一个第三方追踪器的规则从一条变成了数千条。
    但问题是: 这些工具早已达到了每个平台所允许的最大规则数量(Safari 为 50000 条,而 即将发布的带有 Manifest V3 API 的 Google Chrome 为 30000 条)。
  4. 电子邮件中的 Criteo 代表没有撒谎,设置此设置确实只需要 2 分钟。将 dg3fkn.website.com 更改为 3j4vdl.website.com 也只需 2 分钟(您甚至可以设置成自动执行此操作,天哪)。我们上面提到了收集用作 CNAME 隐身前端的所有子域名所需的工作量。现在想象一下,它们每周、每天或每小时都在变化,想要跟踪是不可能的。

这意味着,随着越来越多的网站使用 CNAME 隐身,越来越多的人突然被(再次)跟踪。


· · ·

这对隐私有多坏的影响?

假设您访问了 website1.com,其中包括跟踪公司提供的第三方跟踪程序,然后访问了 website2.com,其中也包括该跟踪程序,那追踪公司会知道您访问了这两个网站。每个网站都会向追踪公司发送尽可能多的关于您的个人信息(很少是您的名字或电子邮件,但通常是他们知道的关于您的所有其他信息——您的年龄、性别、居住地等),以及您在网站上做了什么。

在此基础上,网站可以同意通过允许跟踪公司将从其网站收集的数据合并到其他网站(要么作为相互交换、要么直接付费,或两者都有)来 改进 跟踪公司对其用户的个人资料跟踪。

引用 Criteo 的 Twitter 个人资料描述

“Criteo 是一家全球科技公司,使品牌和零售商能够利用 TB 级的协作数据将购物者与他们需要和喜爱的东西联系起来。”

现在,我们再来看看那些制作了或购买了需要使用 Facebook Connect 的 Facebook 游戏的数据收集公司,这些游戏的唯一目的就是用更多数据充实跟踪公司的资料。

这就是 2016 年美国总统选举期间发生的情况:政治活动家——据称还有外国势力——能够非常准确地针对特定类型的选民推送资讯,并通过追踪公司建立的档案相应地调整他们的资讯适应这些选民。


· · ·

有两种方法可以 追踪 某人(即能够在不同的网站上及时识别某人):

Cookies[译注 2]

第三方追踪器过去能够在您的浏览器中设置一个唯一标识符,只要该第三方追踪器包含在该网站中,它们就可以在您访问的不同网站上随意读取该标识符

现在大多数浏览器都包含了针对这种情况的保护措施(例如根据来源将第三方跟踪 Cookies 和缓存进行沙盒化,有时还有更多) ,而且跟踪公司已经公开(或私下)转向了一种叫做指纹识别的方法,这种方法与 CNAME 隐身完全兼容。

指纹识别

指纹识别是通过组合多个属性来构建一个唯一的标识符,这些属性本身并不是您所独有的,而且能绕过浏览器对 Cookies 的限制,甚至能够在设备之间跟踪您( Cookies 无法做到这一点)。其中一些属性是您的 IP 地址、操作系统版本、浏览器版本、计算机语言、计算机时间、屏幕大小、屏幕像素密度、计算机速度,而且这个列表在不断地增加。

由于能够在浏览器中直接执行 JavaScript(和 WebAssembly ),第三方追踪器可以访问许多(甚至是超多)不同的属性。

对于想要对您进行指纹识别的第三方追踪器来说,因为限制网站的子域名会对网站自身产生负面影响,所以没有什么方法能够比从子域名执行跟踪脚本更妙了。

现在谁在这么做?

以下是目前使用 CNAME 隐身的 6 家跟踪公司:


translate-article-cname-cloaking-the-dangerous-disguise-of-third-party-trackers-2
从左上到右下:EulerianAT Internet(前身为 XiTi),KeyadeAdobe Marketing Cloud(前身为 Omniture),CriteoCommanders Act

· · ·

以下是一些拥有大量受众的网站,它们使用这种方法将第三方追踪器伪装成第一方追踪器:

foxnews.com, walmart.com, bbc.co.uk, go.com, webmd.com, washingtonpost.com, weather.com, fnac.com, fortuneo.fr, liberation.fr, lemonde.fr, oui.sncf, rueducommerce.fr, sfr.fr, pmu.fr, laredoute.fr, boulanger.fr, coach.com, gap.com, anntaylor.com, cnn.com, boursorama.com, arstechnica.com, saksfifthavenue.com, brandalley.fr, greenweez.com, habitat.fr, maeva.com, younited-credit.com, mathon.fr, destinia.com, vente-unique.com, nrjmobile.fr, t-mobile.com, statefarm.com, …

快速浏览一下目前 CNAME 至 dnsdelegation.io 的非详尽列表(这是一个来自 Criteo 的域名),可以发现这个方法已经应用到不少网站上了。


· · ·

CNAME 隐身的安全隐患

虽然将 Cookies 设置为所有子域名(如*.website.com)都可以访问的做法被认为是不好的,但许多人还是这样做了。在这种情况下,这些 Cookies 会被自动发送到隐藏的第三方追踪器。

其中一个 Cookie 可能是身份验证 Cookie。拥有此 Cookie 的任何人都可以模拟用户并访问私人用户信息。

一个案例,liberation.fr


translate-article-cname-cloaking-the-dangerous-disguise-of-third-party-trackers-3
没错,这就是我的会话 cookies,它会自动发送到 Eulerian 的第三方追踪器。

· · ·

CNAME 隐身也可以用于广告服务吗?

可以。


· · ·

使用 DNS 级别的阻断来拯救

不过也有好消息。CNAME 隐身很容易在 DNS 级别被检测和阻止,NextDNS,我们在 CNAME 隐身开始传播时就发布了针对 CNAME 隐身的保护措施,我们正在持续监控情况,以快速适应此类追踪器。


· · ·

本着公开讨论和充分披露的精神,我们将自动将上述公司发送到 team@nextdns.io 的任何评论复制 / 粘贴到下面。

目前没有任何评论。


· · ·

(1)桌面版 Firefox 确实允许扩展自己进行 DNS 查询,并且像 uBlock Origin 这样的扩展已经将他们的屏蔽规则应用到中间 CNAME 上了。然而值得注意的是,Firefox 目前的市场份额已经低于 5%。




[译注 1] 全称真实名称记录(英语:Canonical Name Record)

[译注 2] 该名词因为过于深入人心所以没有通用译名。可以参看 MDN 中对于 Cookies 的介绍

评论加载中