追踪追踪器:使用机器学习辅助道德决策

F-Droid 是一个自由软件社区应用商店,自 2010 年以来一直致力于让用户可以看到所有形式的跟踪和广告。它已成为关于 Android 中的隐私的一个值得信赖的名字,基于隐私进行销售的应用开发者付出了额外的努力,将他们的应用包含在 F-Droid.org 集合中。其中包括 Nextcloud、Tor 浏览器、TAZ.deTutanota。审计应用中的跟踪是劳动密集型的且容易出错,但需求量却越来越大。F-Droid 已经在此过程中提供了帮助贡献者的工具,在应用提交打包请求 (RFP)议题跟踪器中可以见到。我们还有使用机器学习的功能原型,通过增强人类而不是取代人类来大幅加速这一过程。

由于 F-Droid 社区的主要动机是合乎道德的软件分发,算法永远不会取代人类做出合乎道德的决策。我们还探索了使用机器学习以更通用的方式检测跟踪,而不需要手动编译跟踪库列表。有了这笔资助,我们将改进 F-Droid 工具,并使它们普遍适用于任何需要可靠检测 Android 应用中的跟踪器的用例。这建立在我们与 Exodus PrivacyLibScout合作上。

这个项目来自 Aaron KaplanHans-Christoph Steiner 与维也纳经济大学 (WU) 数据科学实验室 的学生一起做的一些概念验证工作。我们专注于在 Android 应用中使用机器学习,首先检测恶意软件,然后检测跟踪库。当然,这最终是 F-Droid 社区努力的结果,以及 Guardian Project 资助的在没有任何跟踪的情况下构建系统的努力。特别感谢 F-Droid 创始人 Ciaran Gultnieks2010 起定下的合乎道德的基调启发了我们所有人。

资助

目前这个 44,500 欧元的项目由 NLnet 的 隐私与信任增强技术 (PET) 基金 资助。F-Droid 已经从 GCC Compile Farm 获得了大量的专用计算资源,以及来自 Aaron Kaplan 的一些共享资源。预算将全部用于支付人们用于研究、开发和集成工作的时间:

  • 软件开发,将现有的 LibScout 和 Exodus Privacy 工具完全集成到 F-Droid 堆栈中。
  • 机器学习研究与开发。
  • 社区管理,与 F-Droid 贡献者、应用开发人员、工具开发人员、学术研究人员等协调并推广这些工具
  • 完成并打包该项目的所有有用部分,这也意味着将它们包含在 Debian 中

相关工作

  • 我们在此采用的通用方法已在网页环境中得到证明。Brave 浏览器包含机器学习技术,用于阻止网页中的广告和跟踪器。这与我们提出的想法非常相似,但该示例嵌入到浏览器中并且仅适用于网站。

  • Exodus Privacy 手动编制了一个广泛的跟踪库和用于接收用户数据的域名列表。然后它使用此列表扫描来自 Google Play 的应用。然后在他们的网站上报告这些结果。Exodus Privacy 将直接受益于这项工作,因为他们可以使用我们将创建的工具。

  • Ghostery 使用 AI 技术动态屏蔽网页中的广告。

  • F-Droid 有自己的 fdroid scanner 用于根据手工准备的正则表达式进行检查。这与 Exodus Privacy 共同整合到 F-Droid 的 issuebot 中,它会自动扫描用户请求添加到 F-Droid 的应用。

  • LibScout 使用机器学习来检测 Android 应用 (APK) 中包含哪些版本的库。使用 Exodus Privacy 中的库列表,我们与 LibScout 作者合作创建了跟踪库检测器的功能原型。

  • Drebin 清楚地阐述了机器学习可用于根据 Android 应用的某些方面的行为自动对其进行分类。他们的目标是找到恶意软件。我们与 CERT.at 和 WU 数据科学实验室合作,复现了 Drebin 论文的结果。

挑战

这个项目最大的承诺也是最大的技术挑战:找到一种方法来获取包含跟踪库(例如 F-Droid 手动审查、LibScout、Exodus Privacy)的数据集,并将其转变为更通用的机器学习方法。我们将不得不探索与跟踪库本身不同的各种可能的功能,以包含在机器学习中。随着新的跟踪库投入使用,这种通用方法将为跟踪检测提供更多的自动化和更少的维护工作,即在更新的数据集上重新运行机器学习。

用于确定应用是否包含跟踪器的技术方法是众所周知的并已被描述。他们目前需要 Android 开发知识。机器学习已被证明能够可靠地发现应用中的跟踪器,该项目将把工作原型转变为生产软件,将其集成到 F-Droid 社区驱动的流程中,并使这些新工具易于其他人使用,以应用于他们的具体用例。该工具套件将扫描源代码和二进制文件。即使源代码可用,扫描二进制 APK 文件也很重要,因为 F-Droid 用户主要使用 APK。然后 F-Droid 可以确保不包含专有内容,无论是错误的还是通过构建系统中的隐藏技巧。

鉴于从任何地方下载的 Android 应用,这些新工具将能够以非常高的置信度标记哪些应用具有某种类型的跟踪。对于涉及应用 LibScout 的项目部分,此时,该想法已通过原型得到证明。应用它是将经过验证的原型投入生产的简单问题。

依赖必须遵守严格数据保护要求的应用的组织,例如 EU GDPR 下的银行,可以使用这些工具来确保他们所依赖的应用不包含非法跟踪,并确保不会在未来的版本中添加此类跟踪。

这些技术也适用于其他平台,例如渐进式网络应用和 Apple iOS。在另一个平台上启动将需要一组标记的应用训练来提供给机器学习。F-Droid 已经提供了这套系统,而 Android 是世界上最流行的操作系统,使 Android 成为启动这项工作的理想平台。

以人为本

F-Droid 是一个社区运行的自由软件项目,其精神与 Debian 非常相似。社区一直致力于提供 100% 经过验证的自由软件,从源代码构建。从一开始,人们也对其他道德考虑感兴趣,这些通过 F-Droid 的 Anti-Features 体现。这些是用 Tracking(包含跟踪)、Ads(包括广告)和 NonFreeNet(需要非自由网络服务)标记的东西。确保应用是 100% 的自由软件以及使用所需的负面特征标记应用的过程是许多人参与的手动过程,这得到了相当多的自动化的帮助。这个项目直接适合这个现有的生态系统。它既可以在现有原型的基础上快速改进贡献者的工作流程,也可以通过实验来大幅改进跟踪跟踪器的任何人的整个工作流程。

F-Droid 以非常具体的角色融入整个 Android 应用生态系统。它是仅分发自由软件的唯一来源,并且以不在指导社区的道德规范上妥协建立了当之无愧的声誉。这使其成为各种研究 Android 恶意软件和跟踪的标准“干净集”。许多涵盖 Android 恶意软件的学术论文都将 f-droid.org 作为地面真值的来源。

最后,重要的是要强调必须始终将人类置于这些工具的中心。我们正在构建工具来增强人类,而不是取代人类。由于 F-Droid 社区的主要动机是构建符合道德的软件分发,算法永远不会取代人类做出基于道德的决策。这些工具可以自动化技术细节,因此贡献者不需要了解它们即可对流程提供有意义的帮助。