Web追踪——CNAME Cloaking

跨域&跨站 1

域名

        对于www.baidu.com来说,.com是一级域名/顶级域名;baidu是二级域名;www是三级域名。

跨域与跨站的区别

        浏览器同源策略(Same Orign Policy, SOP):同源(same-origin)/跨域(cross-origin)。同源策略要求两个 URL 的“协议+主机名+端口”3者都一致。

        Cookie的同站策略 : 同站(same-site)==第一方(first-party) , 跨站(cross-site)==第三方(third-party)。同站策略要求两个 URL 的有效顶级域名+二级域名(baidu.com)相同即可,不需要考虑协议和端口。

同站策略中的Cookie 2

        如果用户从www.baidu.com加载页面,并且该页面向example.baidu.com发出子资源请求,该请求会携带所有被设置为覆盖baidu.com站点的Cookies,包括登录Cookies、用户身份Cookies等。另外,example.baidu.com子资源请求的响应可以为baidu.com设置Cookies,而这些新设置的Cookies会成为第一方Cookies。

CNAME Cloaking 2

CNAME

        CNAME 表示规范名称记录(canonical name record),并将一个域名映射到另一个域名,是域名系统(DNS)的一部分。

CNAME Cloaking

        网站所有者可以配置网站的子域,例如在www.baidu.com解析为 IP 地址之前将其解析为 example.baidu.com。这个操作发生在Web层之下,被称为CNAME Cloaking(CNAME 伪装),即example.baidu.com被伪装成www.baidu.com,并且拥有与www.baidu.com相同的权力。

CNAME Cloaking 追踪 3

举例
基于CNAME Cloaking的追踪过程(1) 终端用户在浏览器地址栏中输入example.com

(2) 浏览器从DNS服务器中查找example.com的IP地址,但是由于网站拥有者在DNS服务器中配置了CNAME为a.example.com,因此example.com被DNS服务器解析为a.example.com。另外,由于a.example.com被解析为x.tracker.com,而x.tracker.com被解析为172.16.0.1,因此DNS服务器解析example.com的结果为172.16.0.1

(3) 浏览器连接到追踪者的Web服务器tracker.com,并且请求traker.js

(4) tracker.com发送被请求的页面内容、资源并设置Cookies(首次访问时设置Cookie,再次访问时获取example.com的Cookie信息),这些Cookies信息被存储到example.com中。

注意:DNS服务器由网站拥有者自行管理,因此跨站点跟踪者事先说服网站拥有者设置CNAME隐藏,从而规避跟踪防御。

CNAME Cloaking追踪检测 4

        Ha Dao等人使用OpenWPM在 2020 年 1 月自动爬取了 Alexa 排名前 30 万的网站,并且解析了DNS服务器为这些目标站点的每个子域设置的每个CNAME应答。

        为了检测基于CNAME Cloaking的跟踪,Ha Dao在这些目标站点的子域上应用了跟踪过滤器列表(Easy privacy list、AdGuard跟踪过滤器)进行通配符匹配。然后从跟踪域构建正则表达式匹配所有子域后面的CNAME记录。

        最后,使用自定义过滤器列表检查所有CNAME链(从第一方子域到DNS服务器解析为IP地址前的所有CNAME节点构成CNAME链)中的每个CNAME节点,如果CNAME链中的一个节点被自定义过滤器列表标记,则判定该CNAME链与跟踪相关。

参考内容
1: https://alexzhong22c.github.io/2020/05/22/cross-origin-cross-site/
2: https://webkit.org/blog/11338/cname-cloaking-and-bounce-tracking-defense/#:~:text=Third-party%20CNAME%20cloaking%20is%20defined%20as%20a%20first-party,cloaked%2C%20when%20it%20uses%20so%20called%20edge%20servers.
3: http://www.fukuda-lab.org/publications/2021/DMF_tnsm2021.pdf
4: https://blog.apnic.net/2020/08/04/characterizing-cname-cloaking-based-tracking/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值