-
针对应用层
-
绕过传统防御
-
揭示应用程序和数据的内部工作原理
-
发生此攻击的原因是应用程序在其消息中暴露了太多信息。
你能猜出这是什么类型的攻击吗?
如果你猜到了SQL 注入攻击,那么我不想告诉你,但你错了。
迎接针对人工智能和机器学习应用程序的推理攻击,这些攻击将成为明天的 SQL 注入攻击
就像二十年前针对 Web 应用程序的 SQL 注入攻击被证明是大多数网络安全团队的盲点一样;推理攻击将对基于人工智能的应用程序产生同样的影响
就像SQL注入是由于代码中的安全漏洞而发生的,需要在源代码级别进行修复;推理攻击的发生是由于底层人工智能算法造成的。
什么是推理攻击
为了了解推理攻击,让我们看看人工智能和机器学习系统是如何工作的。
机器学习 (ML) 系统使用训练数据随着时间的推移积累知识并做出决策或预测。提供的训练数据越多,决策就越准确。
一旦投入生产,机器学习系统通常会公开公共 API,用户和其他应用程序可以查询这些 API 来访问其功能。
这些模型可以部署在医疗保健和银行等行业,从而对持卡人数据或个人身份信息 (PII) 等敏感数据进行训练,这些数据对攻击者来说是黄金
作为攻击者,如果我有兴趣了解以下内容该怎么办:
-
使用什么样的数据来训练系统?
-
机器学习系统如何做出这些决策?
这两者都不可用,这就是推理攻击发挥作用的地方。
在推理攻击中,攻击者有兴趣获取模型训练所依据的数据……或模型本身的工作情况。鉴于这些模型有时会根据高度敏感的数据进行训练,并且知识产权价值数百万美元;每一个对于公司来说都可能是一场灾难!
最常见的推理攻击类型称为成员推理 (MI),其中攻击者尝试重建用于训练模型的数据。机器学习模型通常会提供响应作为置信度分数,如果输入的数据与训练的数据相匹配,则会给出更高的分数。攻击者所需的只是访问 API,他可以开始通过 ML 模型运行记录,并根据输出分数评估模型是否在特定数据集上进行了训练。
如果攻击者知道他在做什么,他就可以对模型进行逆向工程,并使其披露用于训练该模型的信息。如果机器学习模型是根据敏感数据进行训练的,这可能会产生严重后果。
让我们举几个例子来说明这种攻击是如何发生的:
-
攻击者可以使用名称或标识符查询模型,以查明某人是否在医院的患者名单或敏感医疗名单上。
-
攻击者可以查明是否向患者提供某些药物。
-
攻击者可以向面部识别模型提供图像,以查明训练中是否使用了特定的面部。
在更高级的攻击中,怀有恶意的人甚至可以提取信用卡号码和其他敏感信息!
机器学习即服务的兴起
增加攻击面的一件事是近年来机器学习即服务 (MaaS) 的流行。大多数公司不想经历从头开始构建模型的麻烦,并且可以使用这些基于云的服务从第一天开始就开始运行。
云服务完成所有繁重的工作,只需提供训练数据。问题在于,如果发现攻击者可以利用 ML 模型中的任何弱点,就有可能对多家公司进行成员资格推断攻击。
遗憾的是,这并不是理论上的,因为康奈尔大学的研究人员发布了可用于针对此类模型的推理攻击的详细信息。【链接见文末】
新的攻击需要新的控制。
针对人工智能和机器学习模型的攻击与传统的网络安全攻击不同,不能以相同的方式修复。没有修复算法的“补丁”,因为问题出在算法所训练的基础数据中。
就像应用程序安全从安全盲点发展到供应商行业(立即购买 WAF!)再到成熟的安全规则一样,毫无疑问,人工智能和机器学习攻击将遵循相同的路线。
然而,我们可以从过去的错误中吸取教训,并从今天开始实施一些控制措施:
-
如果机器学习模型遇到训练数据,那么它们应该能够泛化,即之前看到的和未见过的数据分数应该相似,并且不会相差太大,以免向攻击者泄露信息。
-
ML模型的公开 API 应具有限制功能,以检测攻击者是否持续恶意地查询这些模型。想一想来自一个 IP 的“登录失败”如何触发网络安全团队的警报
-
需要将人工智能和机器学习模型的渗透测试添加到定期安全保障活动中,并开发特定的攻击案例。
链接:https://ieeexplore.ieee.org/document/7958568
原文始发于微信公众号(KK安全说):【AI安全】推理攻击-未来的SQL注入
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论