网络安全
通过机器学习对抗广告拦截

美国和巴基斯坦的一项新研究计划开发了一种基于机器学习的方法,用于识别能够抵抗广告拦截和其他隐私保护技术的网站,并解构这些网站用来“混合”广告来源和真实内容的技术,这样如果广告被拦截,内容就无法查看。
根据研究结果开发的新广告拦截技术可以杜绝广告被拦截时无法查看文章中心内容的事件,提供一种自动方法来分离广告和脚本资源,而不是目前流行的广告拦截框架使用的手动方法。
作者对100,000万个网站上的“混合资源”进行了大规模研究,发现17%的域名、48%的主机名、6%的脚本和9%的内容交付方式故意将跟踪(即广告)功能与实际内容交付流程混合在一起。在这种情况下,使用广告拦截或反跟踪软件的用户将无法看到文章内容,迫使用户关闭这些措施才能查看内容。
在大多数情况下,这不仅意味着广告将再次可见,而且还意味着用户将被迫重新进入跨域跟踪系统。 愤怒的隐私活动人士 最近几年。
这项新研究提供了一个系统,能够以 98% 的准确率分离出这些“混合”网络资源的组成部分,从而使广告拦截和反跟踪解决方案有机会在其软件的后续迭代中解开这些流,并再次启用对广告拦截页面的内容访问。
此 新文 标题为 TrackerSift:理清混合跟踪和功能 Web 资源,来自美国弗吉尼亚理工大学和 UoC Davis 以及巴基斯坦 FAST NUCES 和拉合尔管理科学大学 (LUMS) 的研究人员。
Adblock 战争
广告拦截系统通常依赖于网页中广告内容来自特定专用域的需求 - 通常是具有域名和/或 IP 地址的广告技术平台,这些域名和/或 IP 地址可归类为“第三方广告”,从而允许开发不会在网页内呈现来自这些来源的内容的阻止列表。
此外,广告特定资源(例如脚本)的名称可以添加到阻止列表中,这样即使在故意掩盖其来源的情况下,这些资源也不会运行。 这种系统生成的脚本的命名模式通常是一致的,从而能够识别和阻止列表。
由于网页中的广告经常是在页面加载的最后几毫秒内通过 动态拍卖流程 (基于在页面中找到的关键字、广告系列目标指标和许多其他因素),将广告存储在主机域上是不切实际的,理论上这会阻止广告拦截器隐藏商业内容。
越来越多的网站通过以下方式反击广告拦截: CNAME 伪装 – 使用“真实”域名的子域名作为广告服务器的代理(即,content.example.com 将向 example.com 投放广告,即使该子域名除了投放广告之外没有其他用途,并且不是由主机网站维护,而是由其广告商维护)。
然而,可以通过将子域的内容区分为广告,或使用网络分析技术来识别子域与核心域的异常和不规则关系,从而量化和阻止这种方法。
跟踪筛
作者的论文提出了 TrackerSift 平台,用于分析网站获取的网络资源,并将混合资源重新分类为“内容”和“广告”。在最通用的分析层面,TrackerSift 记录基本的网络资源请求,例如从内容分发网络 (CDN) 或广告平台获取的广告内容;但它随后会深入到获取资源的内容,进行代码级分析,并区分不同类型的代码调用和程序的功能。

TrackerSift 的分析层级结构,从跟踪资源(红色)到必要的功能资源(绿色)。混合资源(黄色)可能会导致内容混淆,因此需要进行更深入的分析。 资料来源:https://arxiv.org/pdf/2108.13923.pdf
时间
为了获取为 TrackerSift 提供支持的数据集,作者从 100,000 年随机选择了 2018 个网站 Tranco 百万富翁排行榜. 硒 浏览器自动化与 Google Chrome 一起使用来执行该任务。
该网络爬行网络基于北美的大学站点,由 13 个节点的集群组成,整个系统拥有 112 个核心、52 TB 的存储空间和 823 GB 的运行 RAM。
每个节点都基于 Docker 容器,专门爬取所选 100,000 个网页的子集,并通过编程暂停以实现可持续性,并在加载新域时完全擦除所有 cookie 和标识符,以确保先前的会话和状态不会影响当前的会话和状态。下一个域的可读性。
混合脚本
结果表明广泛使用 脚本捆绑广告平台和内容托管商故意将基于内容的脚本和基于广告的脚本连接成“超级脚本”,如果被屏蔽,就会阻碍内容的显示。例如,作者指出,pressl.co 提供了一个通过以下方式捆绑的网络脚本: 网络包 JavaScript 连接器平台,其中包含 Facebook 跟踪像素,以及支持渲染实际内容的代码。
此外,该论文指出,许多领域愿意将脚本直接嵌入到网页代码中,这使得广告拦截框架有必要解决脚本中的功能,而不是简单地根据其第三方来阻止脚本加载。聚会来源 URL。
通过本地化这些方法,可以清晰地将此类代码系统地分为内容和广告类别,以及在广告拦截环境中恢复内容显示的可能性。
尽管现有的广告拦截解决方案(例如 NoScript、AdGuard、uBlock Origin 和 Firefox Smartblock)使用代理脚本将此类合并脚本分解为可拦截的组件脚本,但这些解决方案依赖于 手动重写 的脚本,导致阻止者和破坏它们的不断变化的技术之间持续的冷战。 相比之下,TrackerSift 为混合内容分解提供了一种潜在的编程方法。












