注:这是定期系列博客的第二篇,描述了Brave浏览器中新的隐私功能。本文描述了研究工程师Anton Lazarev、性能研究员Andrius Aucinas、高级隐私研究员Peter Snyder和高级软件工程师Pete Miller所做的工作。
过滤第三方页面垃圾
Brave浏览器发布了一种新系统,用于隐藏不需要的、损害隐私的页面元素,其中包括由阻止跟踪器引起的空白页面空间,以及在网络层无法拦截的第三方广告。Brave的系统独特地尝试隐藏跟踪第三方广告,同时支持使用隐私保护的第一方广告的网站。您可以通过下载和使用Brave Nightly帮助测试该系统。如果测试后一切正常,那么第三方页面垃圾过滤功能将很快在Brave浏览器的稳定版本中发布。
问题:在网络层上的拦截不够
如前一篇博客所述,Brave浏览器保护网络隐私的一种方法是阻止(有时是替换)与危害隐私的网络广告有关的网络请求。这不仅可以防止广告商和数据代理在网络上跟踪您,还可以提高性能,并在视觉上使网络更加舒适。
但是,有时仅阻止对已知跟踪器的网络请求是不够的。在某些情况下,这是因为屏蔽破坏隐私的广告会在网站上留下大片空白(例如,本来会出现广告的空白区域);在其他情况下,一些不需要的广告很难在网络层上被拦截(例如,从不可预测的URL提供的广告,或与用户服务内容混合在一起的广告内容等)。
本文描述了一种新颖的方式,使Brave可以开始隐藏与第三方跟踪和第三方广告有关的页面元素,而不会损害尊重隐私的第一方广告。Brave的方法是独特的,旨在改善用户的网络浏览体验,而不会损害尊重用户隐私的网站。在描述Brave做到这一点的独特方法之前,我们首先需要提供一些有关网络上大多数广告和跟踪程序拦截方式的背景知识。
背景:过滤器列表的工作方式
Brave与许多其他流行的网络工具(如AdBlock Plus和uBlock Origin)一样,使用过滤器列表来确定允许和阻止哪些网络资源。EasyList和EasyPrivacy是两个最受欢迎的此类列表,但是还有许多其他列表,它们针对网络的语言或特定兴趣部分。
广义上讲,过滤器列表由两种类型的规则组成:网络规则(描述应拦截的URL)和修饰规则(描述应隐藏的页面元素)。两者是截然不同的,但通常协同工作。例如,网络规则可能会阻止对侵犯隐私的第三方iframe的请求,而相关的修饰规则可能会隐藏放置iframe的页面元素,以防止在页面中出现不合适的空白。
过滤器列表的作者不会标记修饰规则是否针对第一方广告,第三方广告或是两者。通常,这是因为使用这些过滤器列表的大多数工具都不关心它们的区别。但Brave不是,我们希望屏蔽危害隐私的第三方广告,但允许保护隐私的第一方广告。
屏蔽危害隐私的广告,但保留尊重隐私的广告
尽管Brave使用了许多与其他跟踪器和广告拦截工具相同的过滤器列表,但Brave的任务不同于现有过滤器列表的使用工具。Brave的目标是保护隐私和页面美观,同时不损害尊重隐私的网站。也就是说,Brave旨在拦截第三方跟踪器和广告(在实践中通常难以区分),而不影响第一方广告。
示例:尊重隐私的第一方广告(左,出自duckduckgo.com)和侵犯隐私的第三方广告(右,出自tmz.com)的示例。虽然DuckDuckGo示例显示了来自Amazon的图像,但这些图像是由duckduckgo.com服务器提供的,从而阻止了Amazon跟踪您。在右侧的示例中,服装广告来自谷歌的服务器,从而使谷歌能够跟踪您的浏览行为。
迄今为止,Brave尚未应用修饰规则(即元素隐藏)功能,其原因有两个:(i)我们期望网络拦截可防止大多数隐私受到损害;(ii)我们没有很好的解决方案来区分隐藏第一方广告(我们希望允许)的修饰规则和隐藏第三方广告(这些广告经常会损害隐私,因此我们希望屏蔽这些广告)的修饰规则。因此,到目前为止,我们已经应用了过滤器列表中的网络规则,而未应用任何修饰规则——一个有用但不令人满意的折中方案。
解决方案:屏蔽第三方广告,显示第一方广告
然而,从今天我们的Nightly发布开始,Brave将开始应用修饰过滤规则,以进一步改善在Brave中浏览网页的体验。我们的方法是就修饰过滤器列表规则是否仅屏蔽第三方广告内容(包括由于在网络层拦截第三方广告而导致的页面空白)做出最大努力的运行时决策。如果修饰规则会隐藏第一方广告,则我们不会应用该修饰过滤器列表规则。
Brave的方法旨在平衡性能和精确性。花费过多的时间来决定修饰规则是否会拦截第一方广告会降低浏览性能,而频繁拦截第一方广告的系统将与Brave的任务不兼容。
我们的方法是开源的,任何对此特定方法感兴趣的人都可以对其进行审核,但是总体而言,该方法如下:
对于适用于页面的每个修饰规则,要定期检查该规则是否与页面上的任何元素匹配。如果没有元素匹配,则稍后再检查。
如果修饰规则将拦截第一方图像或资源,则不会应用该规则。
如果修饰规则将拦截任何不包含图像或资源的元素(例如纯文字广告),则不会应用该规则。
否则,应用修饰规则并屏蔽第三方广告。
Brave浏览器的修饰过滤和持续改进
您可以通过从Nightly发布页面下载并运行Brave来尝试使用Brave的第三方修饰过滤系统。此版本的Brave包含仍在测试中的新功能。我们渴望获得反馈,并听到您对我们新颖独特的拦截第三方广告系统,而又不会损害尊重隐私的网站的想法。
我们的第三方页面垃圾过滤系统只是我们在Brave中发布的许多新的隐私保护和网络改进功能之一。在本系列博客的下一篇文章中,我们将描述Brave浏览器中更多新颖独特的用户服务功能!
免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。