基于DNS缓存的用户追踪
作者:{LIG}@ArkTeam
原文作者:Amit Klein, Benny Pinkas.
原文标题:DNS Cache-Based User Tracking.
原文会议:2019 NDSS.
由于电子商务、广告投递的需求,用户追踪逐渐出现。现存的追踪机制通常是基于标记和指纹的技术。标记技术对于隐私浏览模式以及跨浏览器的用户不能很好地追踪,而指纹技术很难解决”黄金图像”问题。本文提出了一种基于DNS缓存的新的用户追踪技术,同时解决了以上两者的问题。
该方法的流程图如图1所示:
图1 基础方法
<1> 首先,追踪代码段在浏览器中执行。
<2> 浏览器请求操作系统的DNS根解析器(本地缓存)解析。
<3> DNS根解析器将查询转发到为其配置的解析平台。
<4> 解析平台通过DNS查询从权威域名服务器接收结果。
<5> 解析平台将结果缓存,并返回随机的RRset结果。
<6> DNS存根解析器缓存该结果,并将结果返回给浏览器。
<7> 浏览器发送HTTP请求到返回的IP地址指定的web服务器
<8> web服务器根据IP地址返回不同的值,JS代码手机到这些值,形成追踪ID。示例如图2所示。
图2 追踪ID形成
在上述的过程中,最关键的就是RRset随机化。文中主要提了两种随机化的方法,一种是利用解析平台自带的负载均衡技术来实现RRset的随机化。另一种针对解析平台只有单个解析器时的情况,在该解析器采用了round-robin来随机化RRset顺序时,作者提出了算法1来改进round-robin顺序,算法如图3所示。该算法的主要功能是随机化一个RRSet在解析器中保存的位置,即进行随机数量的Round-Robin步骤。
图3 改进的round-robin算法
最后,本文对流行的DNS解析平台、浏览器的属性以及操作系统中的存根解析器进行了实验分析。显然,该技术在DNS缓存被清除时,用户/设备会重新获得一个不同的追踪ID,从而无法追踪。此外,当浏览器配置共享HTTP转发代理代理或使用TOR时,所有的客户端都会被分配为同一ID,从而无法实现用户的追踪。
尽管该技术存在以上的限制,根据实验研究,它达到了93%的覆盖率,并且难以缓解。
http://www.arkteam.net/?p=4323
留言
張貼留言