NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

针对机器学习模型的隐私攻击

  • 2019-08-30
  • 本文字数:3807 字

    阅读完需:约 12 分钟

针对机器学习模型的隐私攻击

本文要点

  • 就像大多数软件一样,机器学习模型也可能被黑客入侵

  • 针对机器学习系统的隐私攻击(例如会员身份推断攻击和模型反转攻击)可能会暴露个人信息或敏感信息

  • 有几种攻击不需要直接访问模型,但可以通过模型 API 来实施

  • 个性化模型(例如预测文本)可以暴露高度敏感的信息

  • 应当确保敏感的训练数据及其模型的安全性


机器学习这个激动人心的领域正在涌现众多全新的机遇和应用。但与大多数技术一样,随着我们扩展机器学习系统的应用范围,开始在我们的组织内部实践部署,机器学习的风险也开始逐渐浮现。在过去五年中,越来越多的机器学习应用开始涉及敏感信息(如财务数据、购物历史、好友间的对话以及与健康相关的数据等)——也有越来越多的研究开始关注这些机器学习系统暴露出来的安全漏洞。


如今,上新闻次数最多,讨论最热烈的机器学习系统攻击手段就是对抗性输入。下面的视频就是对抗输入的一个例子,它是一种精心设计的样本,用来欺骗机器学习系统产生虚假的预测结果。在这段视频中,麻省理工学院的一组研究人员证明他们可以 3D 打印出一个对抗性乌龟模型,可以在多个角度上欺骗计算机视觉系统,使后者误认为它是一支步枪。


演示视频链接


一般来说,对抗性样本可以用来干扰机器学习系统的决策或结果以实现某些目标。其后果可以是简单的样本分类错误,但也可能影响目标账户。媒体已经多次报道过这方面的风险,并质疑这类漏洞是否会带来严重的安全风险,例如威胁自动驾驶汽车的安全。


但机器学习中还有一种风险常常被忽视了,那就是对机器学习系统的隐私攻击,这方面的研究相对较少。在本文中我们将探讨一些隐私攻击手段,这些手段表明机器学习系统很容易在不经意间泄露敏感信息。考虑到隐私数据的线上黑市产业非常发达,这种隐私攻击的风险并不亚于对抗性攻击。

我知道你的艾滋病情况:暴露敏感的训练数据

想象一下这样的状况:即使我没有完整的信息,我也能以高达 7 成到 9 成的准确度判断一个训练模型中是否有你的隐私数据。机器学习正在变得越来越复杂、个性化,分类愈加细致,应用也更加普及,意味着这类攻击更容易暴露个人的敏感信息。



这种类型的攻击被称为成员推理攻击(MIA),由 Reza Shokri 教授发明;他在过去四年中一直在研究一些隐私攻击手段。他在获得著名隐私奖项的论文“对机器学习模型的成员推理攻击”中具体讲解了这种攻击方法。首先,攻击者要按照顺序查找可能的输入数据或通过可用的公共或私有数据集收集足够的目标模型训练数据。随后,攻击者会构建一些影子模型来模仿目标模型(即采用和目标模型类似的输入和输出)。这些影子模型会经过微调以获得较高的精度,并通过所收集的训练数据的样本提升召回率。注意:攻击的目的是让各个影子模型训练和测试各自的拆分部分,因此你必须有足够的数据来完成这一步骤。最后,在一个类似于生成对抗网络(或 GAN)的体系中,攻击者可以训练一个鉴别器,该鉴别器根据众多影子模型的输入和输出来学习训练过的数据与陌生测试或验证数据的差异。然后攻击者使用这个鉴别器来评估目标 API,并确定数据点是否在目标模型之内。因此无需完整访问模型也能发起这些攻击,也就是说攻击是在“黑箱“环境中运行的。


Shokri 教授和他的同事们针对亚马逊 ML、谷歌云机器学习系统和一个本地模型测试了这些攻击策略。根据实验结果,他们对亚马逊的机器学习即服务系统的攻击准确率达到 74%,对谷歌的机器学习即服务系统的准确率达到 94%,证明机器学习任务能够暴露准确度很高的隐私信息。在最近的一篇论文中,他们还从所谓“完全私有和去中心化”的系统中提取出了这些隐私数据,典型例子就是谷歌等大企业支持的一种名为联盟学习的机器学习架构,这种架构本来是要以一种“安全”的方式推动人们共享隐私数据的。


研究这种攻击时尤其要注意的一点是,推荐系统正在变得越来越个性化——这些系统已经涉及了人口统计信息、财产数据等敏感领域。有些训练模型(例如针对财产数据的模型)涉及的人数很少,所以攻击者只要知道你的一点点资料就可以在训练数据集中找出你的信息,从而窃取你的财产数据。就算攻击者之前不了解你的信息也可以获得某些类别的详细数据,这些类别就是训练数据本身的分类(例如性别、年龄、种族、居住地、移民身份、性取向、政治派别和购买偏好等)。


这些攻击会暴露哪些数据呢?比如说医疗系统中的 AI 就可能暴露出诸如 HIV 携带状态之类的敏感信息。医疗服务中的 AI 通常会根据疾病种类对个体进行分类。如果一个模型是用来对 HIV 患者提供治疗建议的,那么攻击者若能查询模型的 API 并获知训练数据中有哪些样本,自然也就能知道这些人已经罹患了 HIV。随着 AI 技术在医疗保健行业的应用愈加广泛,我们需要认真对待我们培训和使用的模型中存在的隐私和安全漏洞。

我看到你了:从面部识别系统中提取图像

如果我只知道你的名字就能知道你的长相,你会怎么想?你可能以为我用的是谷歌图片搜索,但实际上只需访问曾用你的面部数据训练过的面部识别模型就够了。



这种类型的攻击被称为模型反转攻击,由 Matt Fredrikson 和他的同事们发明,并在 2015 年的论文“暴露敏感信息的模型反转攻击与基本对策”中作了具体说明。与成员推理攻击类似,这种攻击只需要访问机器学习模型的 API 即可,并且可以使用一系列渐进式查询的模式来发起攻击。攻击者先从一张基础图像开始——如果他们对目标有进一步了解(例如年龄、性别或种族等),他们可以试着选择更接近的图像。然后,攻击者运行一系列查询来发起反转攻击——逐渐改变图像内容来提高机器学习系统的准确性或置信度。经过一系列的查询操作后置信度达到了相当高的水平,产生了一张类似于上面所示的图像——虽然结果并不算完美,但足以用来辨认出一个人的外表了。论文还详细介绍了针对不同类型的数据集的其他几种攻击手段。


这种攻击的威胁有多大?如今面部识别系统被广泛应用,包括美国移民局和共享航班签到等信息的许多联邦数据库都在使用这种技术,这意味着对这些系统的访问和使用率也在增长。可以访问系统或 API 的承包商或分包商也是一条潜在的攻击途径。这种攻击除了会泄露隐私信息外,你的护照、签证或其他重要的正式照片泄露还可能带来安全风险。

你的信用卡号码是…:从文本深度学习中挖掘秘密

想象一下,攻击者只需访问个性化或半个性化的基于文本的训练模型就能获取你的信用卡号。你可以把它想成是一种键盘预测技术……如果你键入“我的电话号码是…”,后面自动跳出来你的号码意味着什么?



Nicholas Carlini 和其他几位谷歌大脑与学术界研究人员在一篇题为“秘密泄露:无倾向神经网络记录和提取秘密“的论文中调查了这种类型的攻击。与之前的两种攻击不同,这种攻击需要直接访问模型本身——因此攻击者需要自己获取训练模型或二进制文件。然后他们不断查询这个文本模型来发现模型中的已知模式(诸如 ID 号码、信用卡号或电话号码等)。在论文中,他们能够提取在训练数据中至少出现过 9 次的秘密


在研究中,他们从安然电子邮件数据集中培训了 7 个人的模型——并且找出了一个社会安全号码和两个信用卡号。由于针对文本的深度学习应用越来越多,尤其是客户服务中的会话 AI 愈加常见,这种记忆并提取秘密的能力带来的安全风险是不容忽视的。只要用户对机器人透露过自己的隐私数据,那么攻击者就可以藉此对他发起网络钓鱼攻击。

保护数据:安全的机器学习

既然机器学习暴露了全新的风险层面,我们该如何保护机器学习免受这些隐私攻击呢?像联盟学习这样的解决方案已经被新加坡大学的 Shokri 教授及其团队证明其也存在漏洞。而像Nicholas Papernot的PATE这样的方案需要大量的训练数据并采用了差分隐私机制(这意味着它们仍然可能会暴露一些信息)。剩下的方案还是在训练数据上使用加密技术(使用同态加密或同态假名)。似乎还没有一种普遍可行的方法来确保机器学习系统中不再有隐私和敏感数据。


换一种角度来说,在 IT 领域我们几十年来一直在管理私人和敏感数据。我们的手段并没有那么完善,也不是那么安全,但我们技术专家开发了实时加密和解密数据的方法,创建了可信计算区域,设法保护内存中的数据并发展了许多安全措施,用于保护敏感和私人信息不被攻击者窃取。如果我们继续研究和开发将安全计算原理和加密方法应用于机器学习问题的新方法,我们就能为这些模型中包含的敏感数据找出并应用更安全的方法。


过去我们还找到了保护 API 和 API 访问,加强软件系统的同时仍然允许基本互操作性的方法。关键在于将这些知识应用于我们的机器学习系统,并定期测试它们的漏洞,才能确保这些系统的安全性。还可以开发控制机器学习 API 访问权限的新方法,判断输入内容的可信度,从而增强这些系统的安全性,增强安全团队和机器学习团队的信心。从本质上讲,我们需要将OWASP应用程序安全标准应用于机器学习 API,并进一步扩展以应对这些特殊类型的攻击。


将安全协议,测试和系统审查作为机器学习部署的常规流程,将使安全和机器学习团队能够共同解决这些问题。随着来自这两个领域的专家开发和标准化新技术,我相信我们可以为机器学习系统构建更安全和隐私意识的未来。

作者介绍

Katharine Jarmul 是德国柏林数据科学和机器学习安全公司 KIProtect 的 python 专家和联合创始人。自 2008 年以来,她一直在使用 Python 来发现和解决问题。她于 2010 年帮助组建了洛杉矶的第一个 PyLadies 分会,并合作撰写了一本 O’Reilly 的著作,制作了几个关于 Python 的视频课程。


原文链接


Privacy Attacks on Machine Learning Models


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2019-08-30 08:005176

评论

发布
暂无评论
发现更多内容

苹果发布macOS Ventura 13.3正式版更新

Rose

mac系统 苹果最新系统 macOS Ventura 13.3

灵魂拷问:你写的SQL一般有几个JOIN ?​

Java你猿哥

Java sql 后端 ssm join

官方文档 | 【JVM调优体系】「GC底层调优实战」XPocket为终结性能问题而生—开发指南

洛神灬殇

Java JVM 3月日更 XPocket 技术 优化体系

在GitHub首页3分钟被下架!爱奇艺《高并发网关设计》笔记被盗?

做梦都在改BUG

Java 负载均衡 高并发 网关设计

GitHub上架即巅峰!《Spring Cloud微服务架构实战》标星已超30k

做梦都在改BUG

Java 架构 微服务 Spring Cloud

面试必问:JVM 如何确定死亡对象?

做梦都在改BUG

Java 面试 JVM

最全金融数据安全政策汇编,你应该需要它!( 附下载 )

极盾科技

数据安全

DaVinci Resolve Studio 18(达芬奇调色剪辑)中文版

Rose

达芬奇18破解版

Alibaba官方上线!Java并发编程全彩图册(终极版)GitHub已置顶

做梦都在改BUG

Java 并发编程 多线程 高并发

龙蜥白皮书精选:面向异构计算的加速器 SDK

OpenAnolis小助手

开源 sdk 异构计算 加速器 龙蜥白皮书

开源即巅峰!《Java程序性能优化实战》GitHub三小时标星已超34k

做梦都在改BUG

Java 性能优化 性能调优

MobTech MobLink|场景分享的原理

MobTech袤博科技

如何使用责任链默认优雅地进行参数校验?

做梦都在改BUG

互联网工程师1480道Java面试题及答案整理( 2023年 整理版)

Java你猿哥

Java 面试 面经 春招 Java八股文

Github上获赞59.8K的面试神技—1658页《Java面试突击核心讲》

Java你猿哥

Java 架构 面试 面经 春招

一文告诉你如何一键复现“TSBS 时序数据库性能基准测试报告”测试结果

TDengine

tdengine 性能测试 时序数据库

基础篇丨链路追踪(Tracing)其实很简单

阿里巴巴云原生

阿里云 云原生 Tracing

MobTech 秒验|防控羊毛党

MobTech袤博科技

解密COUNT(*)与COUNT(1):SQL查询你选哪个更高效?

Java你猿哥

Java sql 后端 ssm Java工程师

夜莺n9e监控配置支持电话短信报警

外滩运维专家

夜莺监控 电话报警 短信报警 夜莺监控电话

Nautilus Chain 首个生态基础设施 Poseiswap,公布空投规则

威廉META

Nautilus Chain 首个生态基础设施 Poseiswap,公布空投规则

鳄鱼视界

IM跨平台技术学习(七):得物基于Electron开发客服IM桌面端的技术实践

JackJiang

即时通讯 即时通讯IM

Linux 的 TCP 连接数量最大不能超过 65535?

Java你猿哥

Java Linux 后端 ssm

Mac版cad2024发布 AutoCAD 2024 注册机

Rose

Mac软件 cad cad2024激活版 Autodesk AutoCAD

阿里P7架构师的独家分享——SpringCloud 微服务实战笔记

Java你猿哥

Java 架构 微服务 Spring Boot 面经

警惕看不见的重试机制:为什么使用RPC必须考虑幂等性

做梦都在改BUG

连接 AI,NebulaGraph Python ORM 项目 Carina 简化 Web 开发

NebulaGraph

Python ORM 图数据库

玩转 ChatGPT+极狐GitLab|分分钟丝滑迁移Jenkins到极狐GitLab CI

极狐GitLab

ci DevOps jenkins CI/CD 极狐GitLab

mac电脑能恢复安卓手机丢失的数据吗?

Rose

mac电脑 安卓数据恢复

扫盲篇:Java中为啥一个 main 方法就能启动项目?

Java你猿哥

Java JVM ssm Java工程师

针对机器学习模型的隐私攻击_AI&大模型_Katharine Jarmul_InfoQ精选文章