基于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%的覆盖率,并且难以缓解。

发表评论

电子邮件地址不会被公开。 必填项已用*标注