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库,为工程师和研究人员提供全面的测试套件,用于模拟深度学习系统的隐私攻击。
深度学习系统的隐私漏洞
深度学习使软件无需显式编程即可执行任务,因此已广泛应用于敏感场景:
- 欺诈检测
- 医疗诊断
- 自动驾驶
- 人脸识别
- 及其他领域
然而,深度学习系统容易遭受隐私攻击,导致训练数据集的机密性和模型知识产权受损。与其他软件形式不同,深度学习系统缺乏模糊测试和静态分析等广泛的保障测试与分析工具。
隐私攻击的灾难性后果
以医疗诊断系统为例:假设深度学习模型通过CAT扫描图像预测患者是否存在脑出血,并返回简短的"是"或"否"答案。这种设置下,用户对模型的访问权限极低,但PrivacyRaven模拟的攻击者仍能:
- 通过模型提取攻击创建仿冒模型,窃取医疗诊断系统的知识产权
- 通过成员推理攻击重新识别训练数据集中的患者
- 通过模型反演攻击重建用于训练深度学习模型的CAT扫描图像
PrivacyRaven设计目标
PrivacyRaven面向广泛用户群体,设计原则包括:
- 易用性:多级抽象允许用户根据使用场景自动化内部机制或直接控制
- 灵活性:模块化设计使攻击配置可定制和互操作,支持轻松集成新隐私指标和攻击
- 高效性:减少样板代码,支持快速原型设计和实验,每个攻击只需少于15行代码
威胁模型
PrivacyRaven采用最严格的威胁模型,模拟的攻击者仅通过API查询获取标签信息,不直接接触模型本身。尽管其他机器学习攻击可能利用较弱威胁模型下的辅助信息,但我们建议部署深度学习系统时遵循PrivacyRaven的威胁模型以降低风险。
PrivacyRaven功能特性
1. 模型提取攻击
直接侵犯系统知识产权,旨在提取替代模型。分为两类:
- 高精度优化:追求最佳任务性能,通常出于经济动机
- 高保真优化:复制目标模型的错误,用于侦察目的
采用三阶段模块化方法:
- 合成:使用公开数据、群体统计和对抗样本生成合成数据
- 训练:在合成数据集上训练初步替代模型
- 再训练:使用子集采样策略优化数据质量和攻击性能(可选)
2. 成员推理攻击
核心是重新识别攻击,破坏目标系统的信任度。PrivacyRaven将攻击分为不同阶段,并集成模型提取API以优化攻击性能,同时是首批实现标签专用成员推理攻击的工具之一。
3. 模型反演攻击
寻找模型已记忆的数据,通过训练神经网络作为目标模型的逆函数实现。该功能目前正在孵化中,将在未来版本集成。
未来发展计划
- 增强指标可视化界面
- 自动化超参数优化(集成Optuna等库)
- 差分隐私和机器遗忘验证
- 隐私阈值和指标计算
- 新增联邦学习、生成模型及侧信道攻击等类别
实践应用
PrivacyRaven仅需分类器的查询函数即可攻击任何深度学习模型。示例显示:
- 为PyTorch Lightning模型创建查询函数
- 使用EMNIST数据集初始化攻击
- 通过攻击配置训练ImageNetTransferLearning分类器
输出包含目标和替代模型的详细统计信息,以及合成数据集和整体攻击性能的指标。
防御前景
在隐私攻击与防御的军备竞赛中,工程师和研究人员一直缺乏足够的隐私分析工具。差分隐私和状态检测等解决方案正在探索中,我们希望PrivacyRaven能推动更有效防御机制的发展。
贡献邀请
我们持续开发PrivacyRaven并期待更多应用场景。欢迎在GitHub上尝试并贡献代码:集成新的合成技术、改进攻击函数可读性等。
个人说明:构建PrivacyRaven是我今年夏季在Trail of Bits实习的主要目标。这段经历让我深入了解了安全前沿领域,提升了软件开发技能,并在Empire Hacking和OpenMined隐私会议上展示了工作成果。我将持续实习至冬季,期待将所学应用于新问题。
欢迎通过suha.hussain@trailofbits.com或@suhackerr联系我讨论PrivacyRaven或可信机器学习相关话题。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码