深度学习隐私测试框架PrivacyRaven技术解析

PrivacyRaven是一个针对深度学习系统的隐私攻击模拟测试套件,支持模型提取、成员推理和模型反转三大攻击方式,通过模块化设计实现高效隐私测试,帮助开发者评估系统安全性。

PrivacyRaven Has Left the Nest - The Trail of Bits Blog

Suha S. Hussain, Georgia Tech
October 08, 2020

internship-projects, machine-learning, privacy

如果您从事深度学习系统开发,请关注我们的新工具PrivacyRaven——这是一个Python库,为工程师和研究人员提供全面的测试套件,用于模拟对深度学习系统的隐私攻击。

PrivacyRaven是一个综合性测试套件,用于模拟对深度学习系统的隐私攻击。由于深度学习使软件能够无需显式编程即可执行任务,它已在敏感用例中变得无处不在,例如:

  • 欺诈检测
  • 医疗诊断
  • 自动驾驶汽车
  • 面部识别
  • ……以及更多

不幸的是,深度学习系统也容易受到隐私攻击,这些攻击会破坏训练数据集的机密性和模型的知识产权。与其他形式的软件不同,深度学习系统缺乏广泛的保障测试和分析工具,例如模糊测试和静态分析。

隐私攻击的灾难性后果

但等等——这样的隐私攻击可能发生吗?毕竟,使用深度学习的医疗应用受到严格的患者隐私法规约束。

不幸的是,确实可能。假设您正在保护一个使用CAT扫描图像检测脑出血的医疗诊断系统:

现在,假设此图像中的深度学习模型预测患者是否有脑出血,并以简短的“是”或“否”回答。这种设置使用户对模型的访问尽可能少,因此您可能认为对手无法了解太多信息。然而,即使在严格限制的情况下,由PrivacyRaven建模的对手也可以:

  • 通过模型提取攻击创建仿冒模型,窃取医疗诊断系统的知识产权
  • 通过成员推理攻击重新识别训练数据集中的患者
  • 通过模型反转攻击重建用于训练深度学习模型的CAT扫描图像,重现私有输入数据

显然,对手可能严重危害此系统的机密性,因此必须防御隐私攻击才能被视为安全。否则,任何重大漏洞都可能破坏对所有此类系统的信任和参与。

PrivacyRaven设计目标

许多其他深度学习安全技术使用繁琐,这阻碍了它们的采用。PrivacyRaven面向广大用户,因此我们将其设计为:

  • 易用性:多层抽象允许用户根据其用例和领域熟悉程度自动化大部分内部机制或直接控制它们
  • 灵活性:模块化设计使攻击配置可定制和互操作,还允许轻松整合新的隐私指标和攻击
  • 高效性:PrivacyRaven减少了样板代码,支持快速原型设计和实验,每个攻击只需不到15行代码即可启动

因此,PrivacyRaven适用于各种用户,例如分析机器人检测软件的安全工程师、开创新型隐私攻击的ML研究人员、在差分隐私技术之间做选择的ML工程师,以及审计文本生成模型中数据来源的隐私研究人员。

威胁模型

PrivacyRaven针对可用性、效率和灵活性进行了优化,允许用户模拟隐私攻击。目前,PrivacyRaven提供的攻击在最严格的威胁模型下运行,即它们产生最坏情况分析。(这可能随着PrivacyRaven的发展而改变。)建模的对手仅从查询深度学习模型的API接收标签,因此对手仅直接与API交互,而不是模型:

许多其他已知的机器学习攻击利用在较弱威胁模型下发布的辅助信息。例如,在白盒威胁模型下,许多系统允许用户访问模型参数或损失梯度。一些黑盒攻击甚至假设对手收到完整的置信度预测或模型解释。

尽管这些功能可能带来好处,但如果您正在部署深度学习系统,我们建议减少用户访问并遵守PrivacyRaven的威胁模型。在上述较弱威胁模型下提供的额外信息显著提高了攻击的有效性和可访问性。

PrivacyRaven功能

PrivacyRaven提供三种类型的攻击:模型提取、成员推理和模型反转。该库大部分专门用于启动这些攻击的包装器和接口,因此用户不需要机器学习和安全方面的广泛背景。

1. 模型提取

模型提取攻击直接侵犯系统的知识产权。主要目标是提取替代模型,或授予对手目标的仿冒版本。

这些攻击分为两类:优化高准确性或优化高保真度。高准确性替代模型尝试尽其所能执行任务。如果目标模型错误分类数据点,替代模型将优先考虑正确分类。相比之下,高保真度替代模型将复制目标模型的错误。

高准确性攻击通常出于经济动机。模型通常嵌入在机器学习即服务(MLaaS)分发方案中,用户根据发送的查询数量计费。通过替代模型,对手可以避免支付目标费用并从自己的版本中获利。

高保真度攻击用于侦察以了解更多关于目标的信息。使用此攻击提取的替代模型允许对手发起其他类别的攻击,包括成员推理和模型反转。

由于现有的模型提取方法通常采用不同的方法,大多数安全工具和实现分别处理每个提取攻击。PrivacyRaven将模型提取划分为多个阶段,涵盖文献中发现的大多数攻击(明显排除密码分析提取):

  • 合成:首先,使用利用公共数据、开发人口统计数据和收集对抗样本等技术生成合成数据
  • 训练:在合成数据集上训练初步替代模型。根据攻击目标和配置,此模型不需要与目标模型具有相同的架构
  • 重新训练:使用子集采样策略重新训练替代模型,以优化合成数据质量和整体攻击性能。此阶段是可选的

通过这种模块化方法,用户可以快速切换不同的合成器、采样策略和其他功能,而不限于已经测试和呈现的配置。例如,用户可以将一篇关于提取攻击的论文中的合成器与另一篇论文中的子集采样策略结合使用。

2. 成员推理

成员推理攻击本质上是重新识别攻击,破坏对其目标系统的信任。例如,患者必须信任医疗诊断系统开发者处理其私有医疗数据。但如果对手恢复了患者的参与、图像和诊断,将削弱整个系统的可信度。

PrivacyRaven将成员推理分为不同阶段:

在成员推理攻击期间,训练攻击网络以检测数据点是否包含在训练数据集中。为了训练攻击网络,发起模型提取攻击。输出与对抗鲁棒性计算结合以生成数据集。

与类似工具不同,PrivacyRaven集成了模型提取API,这使得优化第一阶段、提高攻击性能和实现更强的隐私保证更加容易。此外,PrivacyRaven是标签仅成员推理攻击的首批实现之一。

3. 模型反转

模型反转攻击寻找模型已经记忆的数据。例如,在医疗诊断系统上发起反转攻击将产生CAT扫描的训练数据集。在PrivacyRaven中,此攻击将通过训练神经网络作为目标模型的逆来实现。目前,此功能正在孵化中,将集成到未来的PrivacyRaven版本中。

即将推出的发展计划

我们正在快速添加更多模型提取、成员推理和模型反转的方法。同样,我们将改进和扩展PrivacyRaven的功能,以满足更大深度学习和安全社区的优先事项。目前,我们正在考虑:

  • 增强的指标可视化界面:我们希望PrivacyRaven生成高质量输出,平衡全面性和清晰度,从而清晰地向非专家展示攻击影响,同时为更专业的用例提供一定程度的控制
  • 自动化超参数优化:超参数选择既难以推理又对隐私攻击的成功至关重要。我们计划整合像Optuna这样的超参数优化库,帮助用户避免重大陷阱并更快实现目标
  • 差分隐私或机器遗忘验证:存在多种审计差分隐私和机器遗忘实现的机制,包括使用极小极大率构建属性估计器或操纵数据中毒攻击。整合这些技术将加强隐私保护机器学习技术的评估
  • 隐私阈值和指标计算:将基于信息论和其他数学领域的隐私指标与实际隐私攻击结合是一个新兴的努力,将在当前状态下极大地受益于该领域
  • 更多攻击类别:我们希望整合专门针对联邦学习和生成模型的攻击,以及侧信道和属性推理攻击

PrivacyRaven实践

要攻击任何深度学习模型,PrivacyRaven仅需要来自分类器的查询函数,无论原始编程框架或当前分发方法如何。以下是使用PrivacyRaven执行的模型提取攻击。

在蓝色框内,为库中包含的PyTorch Lightning模型创建查询函数(在导入必要组件后执行)。为了加速原型设计,PrivacyRaven包含许多受害者模型。此示例中的目标模型是在MNIST数据集上训练的全连接神经网络。红色框内的单行下载EMNIST数据集以启动攻击。攻击的大部分是攻击配置,位于绿色框中。在这里,仿冒合成器帮助训练ImageNetTransferLearning分类器。

此示例的输出非常详细,除了关于合成数据集和整体攻击性能的指标外,还包含关于目标和替代模型的统计信息。例如,输出可能包括如下语句:

  • 替代模型的准确率为80.00%
  • 在1,000个数据点中,目标模型和替代模型在900个数据点上一致

此示例展示了核心攻击界面,其中攻击参数单独定义。PrivacyRaven还提供全攻击运行和基于文献的界面。前者在单个模型上运行完整测试,后者提供文献中的特定攻击配置。

防御的未来

到目前为止,在隐私攻击和防御的军备竞赛中,工程师和研究人员没有保护深度学习系统所需的隐私分析工具。差分隐私和有状态检测已成为两个值得探索的潜在解决方案。我们希望PrivacyRaven将导致发现和改进更有效的防御或缓解措施。请查看此GitHub存储库,获取关于隐私攻击和防御的精选研究集合。

贡献PrivacyRaven!

我们很高兴继续开发PrivacyRaven,并热切期待更多应用。立即在GitHub上尝试并贡献PrivacyRaven:整合新的合成技术,使攻击函数更可读等!

就个人而言,构建PrivacyRaven是我今年夏天在Trail of Bits实习的主要目标。这是一次有价值的经历:我学习了更多关于安全前沿领域的知识,开发了我的软件工程技能,并在Empire Hacking和OpenMined隐私会议上展示了我

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计