本文要点
就像大多数软件一样,机器学习模型也可能被黑客入侵
针对机器学习系统的隐私攻击(例如会员身份推断攻击和模型反转攻击)可能会暴露个人信息或敏感信息
有几种攻击不需要直接访问模型,但可以通过模型 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
评论