• 【网络研究院】机器学习系统的威胁是时候该认真对待了


    安全咨询公司 NCC Group 的一项新研究显示,组织越来越多地在其应用程序和服务中使用机器学习 (ML) 模型,而不考虑它们所需要的安全要求。

    研究发现,由于机器学习系统开发和部署的独特方式,它们引入了开发人员通常不知道的新威胁向量,并补充说许多旧的和已知的威胁也适用于 ML 系统。

    机器学习使用率上升

    “自 2015 年左右以来,我们看到部署 ML 系统的客户稳步上升,尽管有大量学术文献,但当时并没有太多关于 ML 特定安全问题的实际讨论,”Chris Anley, NCC 集团的首席科学家和该研究的作者说。

    最初,Anley 看到机器学习被部署在非常小众的应用程序中。但是今天,ML 模型越来越多地用于更一般的 Web 领域,例如内容推荐或工作流优化。

    “我们现在看到用于客户支持和其他基于文本的应用程序(如情感分析和文本分类)的聊天机器人变得相当流行 - 具有您所期望的所有隐私和安全影响,”

    广泛的威胁

    该领域的一项值得注意的研究,机器学习系统的实际攻击,提供了现实世界应用程序中 ML 威胁形势的总体视图。

    它详细介绍了特定于机器学习模型及其训练和部署管道的一些威胁:

    ☢  对抗性攻击:输入数据用人类难以察觉的噪声进行修改,以改变 ML 模型的行为。

    ☢  数据中毒和后门攻击:训练数据集受到破坏和修改,使训练后的 ML 模型对特定触发器敏感。

    ☢  成员推理攻击:查询 ML 模型以确定是否在其训练集中使用了特定数据点。

    ☢  模型反转攻击:查询 ML 模型以部分或全部重新创建其训练数据。

    虽然学术研究人员已经对这些类型的威胁进行了深入研究和记录,但 NCC 研究人员专注于在实际环境中重新创建它们,其中 ML 模型部署在用户身份验证、医疗保健系统和图像分类软件等现实世界的应用程序中。

    他们的研究结果表明,在现实世界中对 ML 系统进行攻击实际上是可行的。

    “我认为有数十篇论文准确描述了这些攻击是如何工作的,这相当令人吃惊,”安利说。“我们已经以‘演示’形式复制了这些论文中的一些结果,并且我们已经成功地对客户的类似线路进行了模拟攻击。尽管这些隐私攻击不像SQL 注入驱动的数据泄露那样简单,但它们肯定是实用的。”

    该研究还表明,机器学习系统通常容易受到机器学习模型中嵌入的恶意有效载荷、机器学习库源代码中的漏洞、机器学习管道中的安全漏洞、针对网络托管机器学习系统的 SQL 注入攻击以及供应链攻击的攻击。针对机器学习软件中使用的依赖项。

    复杂的数据安全环境

    数据泄露始终是一个问题,ML 的一些基本方面会改变隐私风险。”

    首先,机器学习系统随着训练数据量的增加而表现得更好,因此组织可能必须处理大量敏感信息。

    其次,经过训练的模型没有基于角色的访问控制——所有训练数据都聚合到同一个模型中。

    第三,实验是 ML 开发的关键部分,因此开发人员可以访问大量数据非常重要。

    “由于这些问题,保护 ML 系统可能很困难,尤其是在应用程序处理敏感数据的情况下,”

    “开发人员现在通常可以访问极其强大的凭据,因此重要的是要仔细考虑谁需要做什么,并在不妨碍业务的情况下限制你可以做的事情。”

    网络上的机器学习威胁

    Anley 警告说,机器学习系统的新兴威胁对网络生态系统具有直接影响。

    “我认为文献中出现的主要问题是,即使在网络上托管、API服务器后面,甚至在一些相当严格的条件下,也有可能从经过训练的模型中提取训练数据,”。

    各种研究,包括 Anley 和他的同事在他们的研究中复制的一些研究,表明信息提取攻击对于只输出类标签的 ML 系统是可行的,这是许多 Web 托管的 ML 服务的工作方式。

    特别值得关注的是在网络上提供的预训练 ML 模型,这些模型近年来变得非常流行。缺乏训练自己的 ML 模型的技能或资源的开发人员可以从几个 Web 平台之一下载预先训练的模型,并将它们直接集成到他们的应用程序中。

    但是预训练模型可能成为 Anley 在他的论文中讨论的威胁和攻击的来源。

    “经过训练的模型本身通常可以包含代码,因此也应该小心处理,”他解释道。“由于训练模型很昂贵,我们已经看到了‘模型动物园’的出现,其中可以使用预先训练的模型。这些显然需要使用与代码相同的控件来处理。”

    安全开发要点

    我们仍在学习如何应对由 ML 驱动的应用程序带来的新威胁。但与此同时,Anley 有一些重要的建议可以与加入 ML 潮流的 Web 开发人员分享:

    ☢  如果您的模型是针对敏感数据进行训练的,请考虑重构您的应用程序,以便您无需针对敏感数据进行训练。

    ☢  如果您绝对必须对敏感数据进行培训,请考虑差分隐私技术、敏感数据的匿名化或标记化。

    ☢  将与外部代码相同的供应链控制应用于外部模型。

    ☢  仔细管理你的训练数据并应用控制以确保它不会被恶意修改。

    ☢  对模型进行身份验证、速率限制和审计访问。如果您的模型做出可能受到对抗性扰动影响的敏感决策,请考虑就实施训练方法提出建议,以使模型更能抵抗这些攻击。

    机器学习技术能够比人脑更快、更准确、更有效

    我们发表的“对机器学习系统的实际攻击”,其中有一个非常大的参考部分;所以我们将列表归结为五篇在该领域绝对必要的论文。如果您正在开始您的 ML 安全之旅,并且已经掌握了非常基础的知识,那么这些论文是一个很好的下一步。

    我们选择的论文解释了具有里程碑意义的技术,但也描述了更广泛的安全问题,讨论了对策并提供了全面和有用的参考资料。

    1. 通过预测 API 窃取机器学习模型,2016 年,作者 Florian Tramer、Fan Zhang、Ari Juels、Michael K. Reiter 和 Thomas Ristenpart

    https://www.usenix.org/system/files/conference/usenixsecurity16/sec16_paper_tramer.pdf

    ML 模型的训练成本可能很高,可能会在敏感数据上进行训练,并代表有价值的知识产权,但它们可以通过查询它们被盗——出奇地高效。

    从论文中:“我们展示了针对各种 ML 模型类型的成功模型提取攻击,包括决策树、逻辑回归、SVM 和深度神经网络,以及针对生产 ML 即服务 (MLaaS) 提供商,包括Amazon 和 BigML.1 在几乎所有情况下,我们的攻击产生的模型在功能上都非常接近目标。在某些情况下,我们的攻击会提取目标的确切参数(例如,线性分类器的系数或决策树的路径)。”

    2. 从大型语言模型中提取训练数据,2020 年,作者 Nicholas Carlini、Florian Tramer、Eric Wallace 等人。

    https://arxiv.org/abs/2012.07805

    语言模型通常在敏感数据集上进行训练;电话交谈、个人电子邮件和消息的记录……由于 ML 模型在更多数据上训练时往往表现更好,因此涉及的敏感信息量确实可能非常大。本文描述了一种相对简单的攻击技术,用于从大型语言模型中提取逐字训练样本。

    从论文中:“我们展示了我们对 GPT-2 的攻击,这是一种在公共互联网上训练的语言模型,并且能够从模型的训练数据中提取数百个逐字文本序列。这些提取的示例包括(公共)个人身份信息(姓名、电话号码和电子邮件地址)、IRC 对话、代码和 128 位 UUID。即使上述每个序列都只包含在训练数据的一个文档中,我们的攻击也是可能的。”

    3. 利用置信度信息和基本对策的模型反转攻击,2015 年,作者:Matt Fredrikson、Somesh Jha 和 Thomas Ristenpart

    https://rist.tech.cornell.edu/papers/mi-ccs.pdf

    模型反转攻击使攻击者能够生成准确表示训练数据集中每个类别的样本,例如,面部识别系统中的人的图像或签名的图片。

    从论文中:“我们通过实验展示了能够估计生活方式调查中的受访者是否承认对他们的重要他人作弊的攻击,并且在其他情况下,展示了如何仅根据他们的姓名和访问权限来恢复人们面部的可识别图像到 ML 模型。”

    4. 使用数据中毒对深度学习系统进行有针对性的后门攻击,2017 年,作者 Xinyun Chen、Chang Liu、Bo Li、Kimberly Lu 和 Dawn Song

    https://arxiv.org/abs/1712.05526

    获取训练数据是机器学习中的一个主要问题,训练数据从多个来源获取是很常见的;用户生成的内容、开放数据集和第三方共享的数据集。这种攻击适用于攻击者能够用他们自己的少量数据补充模型的训练集,从而导致模型具有“后门”的场景——一种隐藏的、但有针对性的行为,它将改变当呈现某种特定类型的输入时模型的输出。

    来自论文:“人脸识别系统中毒后门带有物理钥匙,即一副商品老花镜。不同的人在镜头前从不同的角度佩戴眼镜可以触发后门被识别为目标标签,但佩戴不同的眼镜不会触发后门。”

    5. 解释和利用对抗性示例,2014,Ian J. Goodfellow、Jonathon Shlens 和 Christian Szegedy

    https://arxiv.org/abs/1412.6572

    神经网络分类器出奇地“脆弱”;输入的微小变化可能会导致输出分类发生惊人的大变化。分类器现在是生死攸关的问题;“STOP”标志和“45 MPH”标志、枪和笔之间的区别,或者医疗扫描的分类是非常重要的决定,这些系统越来越自动化,所以这种奇怪的行为是非常重要的安全措施问题。

    本文是对这一现象的探索,提出了一些建议的解释,围绕对抗性示例的生成和防御进行了讨论。

    这篇论文还提出了几个有趣的问题。从论文中:“对抗性示例的一个有趣方面是,为一个模型生成的示例经常被其他模型错误分类,即使它们具有不同的架构或在不相交的训练集上进行训练。此外,当这些不同的模型对一个对抗样本进行错误分类时,它们通常在其类别上彼此一致。”

    对机器学习系统的实际攻击白皮书

    我们对机器学习系统的各种攻击形势进行分类和描述

    机器学习安全语言

    模型即代码

    数据中毒

    训练数据提取

    机器学习安全【2022-7-16】网络研究院

    关注回复关键字 20220716 领取机器学习安全资料

  • 相关阅读:
    JDK JVM JRE和Java API的关系
    [Python从零到壹] 五十二.图像增强及运算篇之图像掩膜直方图和HS直方图
    基于python的在线文档管理系统vue
    Day1_9 Java学习之DQL语言与完整性约束
    管理系统也玩私人订制 可行吗?
    GRPC 和 http
    短视频矩阵系统源码开发
    QService 服务 指令引用的“0x00000000”内存。该内存不能为“read“
    C++中的智能指针
    虚拟偶像的歌声原来是这样生成的!
  • 原文地址:https://blog.csdn.net/qq_29607687/article/details/125826953