目录

  • 跨域&跨站 [1]
  • CNAME Cloaking [2]
  • CNAME Cloaking 追踪 [3]
  • CNAME Cloaking追踪检测 [4]

跨域&跨站 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

举例
(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/

Web追踪——CNAME Cloaking相关推荐

  1. 浅谈Web客户端追踪

    随着互联网络的广泛普及,数以亿计网民的网络行为数据早已成为最宝贵的资源,企业通过五花八门的各种手段了解网民的行为和隐私数据,用于广告投递.用户兴趣分析等,进而作为决策的依据.利用Web客户端对用户行为 ...

  2. 什么是浏览器指纹追踪(浏览器指纹追踪修改,浏览器指纹追踪技术)

    浏览器指纹追踪 现实世界可通过体貌特征.身份证件.生物特征(如指纹信息)等手段对用户进行唯一性识别.Web 世界主要通过 Cookies 技术.浏览器指纹.WebRTC 等技术进行识别. 典型追踪技术 ...

  3. DNS 服务器学习总结

    简介 DNS(Domain Name System,域名解析系统)       DNS 服务可以为用户提供域名和IP地址之间的自动转换,通过DNS服务,用户可只需要输入机器的域名即可访问相关的服务,而 ...

  4. linux基础概念和个人笔记总结(6)

    防伪码:曾经梦想仗剑走天涯,回过头,却发现还是放不下家的牵挂 后续理论的验证图文详解,我会更新,希望大家可以参考 第十一章 FTP文件传输服务 1.FTP连接 控制连接:tcp21端口,用于发送ftp ...

  5. RedHat 6配置DNS服务实现主从同步与正反向解析

    本文介绍RedHat 6简单配置DNS服务器,主要包括主从同步与正反向解析. 一.测试环境 主DNS服务器:DNS01:192.168.10.1 从DNS服务器:DNS02:192.168.10.2 ...

  6. 20155339 Exp6 信息搜集与漏洞扫描

    20155339 Exp6 信息搜集与漏洞扫描 实验后回答问题 (1)哪些组织负责DNS,IP的管理. 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器.DNS和IP地址管理. ...

  7. Linux 基础知识(十)DNS服务器主从复制,子域授权

    DNS域名系统是互联网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网.DNS使用TCP和UDP端口53 DNS服务器主从复制,子域授权 主服务器:10.120 ...

  8. Linux下的主辅DNS服务器同步

    Linux下的主辅DNS服务器同步 一.系统环境介绍 二.辅助DNS搭建 1.安装yum包 2.设置服务自启 3.编辑dns主配置文件 4.编辑区域文件 5.配置正向文件 6.配置反向文件 7.重启服 ...

  9. Bind 9.5安装入门指南

    Bind 9.5安装入门指南 安装环境:CentOs5.6 64位 bind-9.5 [root@yznvm1 bind-9.5.2-P4]# uname -a Linux yznvm1 2.6.18 ...

最新文章

  1. Android 判断字符串是否为空
  2. a*算法的优缺点_五种聚类算法一览与python实现
  3. Eclipse 安装 SVN 插件的两种方法
  4. 练习2.13 不用库函数,写一个高效计算ln N的C函数
  5. python在材料模拟中的应用_基于Python的ABAQUS二次开发及在板料快速冲压成形模拟中的应用...
  6. node服务的监控预警系统架构
  7. nedc工况_东南DX3 EV续航升级 NEDC综合工况续航451公里
  8. java修改默认字符编码_设置默认的Java字符编码?
  9. 新公司要上监控,我决定用Prometheus
  10. 问题六十一:三次b样条(b-spline)曲线的控制点和曲线形状的对应——以回旋体的“基本曲线”为例
  11. java修改request的paramMap
  12. apache2 wordpress目录权限_Linux下WordPress建站步骤
  13. VSS 2005 配置(含录像)
  14. 如何绘制逻辑图 — 8.逻辑的表达:数据逻辑
  15. EasyCamera摄像机配置
  16. linux怎么进入root权限
  17. 红米Note3刷机教程(升级安卓9)
  18. webstorm最新版激活破解
  19. 3d学习笔记(十)——多人联机游戏
  20. PHP合成生成GIF动图

热门文章

  1. 每日一句英语,看我能够坚持多久
  2. 云端数据仓库的模式选型与建设
  3. UVM TLM2: SystemC和SV 通信
  4. 【前端学习笔记】(五)(CSS布局 盒子模型)
  5. COJ 1163: 寒衣调
  6. Blinder: Partition-Oblivious Hierarchical Scheduling论文笔记
  7. google外链重要性高吗?谷歌外链作用大不大
  8. Apache Flink 集成 Apache Hudi 快速入门指南
  9. 秋招—文思海辉笔试题
  10. Can not construct instance of com.h.dog.entity.Message: no int/Int-argument constructor/factory meth