【AI安全之对抗样本】入门知识

00 前言

【我的AI安全之路】以下内容适合于有web安全基础但对AI"一无所知"的师傅们

如果是有安全基础,想入门AI安全,可以看下以web安全为背景介绍AI安全的书:《Web安全之机器学习入门》和《Web安全之深度学习实战》,以及一本关于对抗样本的书:《AI安全之对抗样本入门》

01 深度学习脆弱性

1.1 偷取模型

根据深度学习模型对外提供服务的形式进行分类

①云模式的API:通过遍历算法,在调用云模式的API后,可以在本地还原出一个与原始模式功能相同的模型。

【补充知识】

  • 云API(官方定义):指开发者可以使用云应用编程接口编码,而这个接口具备一项云提供商的服务。但是同时对于云应用也是危险的,因为API也具备受攻击的一面,可能危害敏感业务数据。这意味着提供商和软件开发者需要按优先次序确定云API的安全。

  • 关于云API的安全防御问题

    • 开发者应该使用无会话安全实践,别不HTTP认证,基于口令的认证或者Web服务安全。无会话安全也促进了更好地云服务可扩展性,因为任何服务器都可以处理用户请求,而且无需在它们之间共享会话。

    • 开发者应该确定是否一个API执行了第二次安全检查,比如用户是否有合适的授权去查看、编辑或者删除服务和数据。一旦最初的认证是清晰的,开发者通常忽略了第二次的安全策略。

    • 云提供商和开发者应该针对常见威胁测试云API安全,比如注入式攻击和跨站伪造。对于云服务提供商正在创建的API,测试尤为重要。然而,用户应该独立的核实云API安全,因为其对于审计和法规遵从非常重要。

    • 如果加密密钥是API调用访问和认证方法论的一部分,就要安全地存储密钥,而且永远不要将其编码到一个文件或者脚本里面。

②私有部署到用户的移动设备或数据中心的服务器上:通过逆向等传统安全技术,把模型文件直接还原。(eg:通过调用AI SDK 的API还原模型文件)

1.2 数据投毒

  • 数据投毒:指向深度学习的训练样本中加入异常数据,导致模型在遇到某些条件是会产生分类错误。

  • 攻击方式

    ①通过在离线数据中添加精心构造的异常数据进行攻击,这一方式需要接触到模型的训练数据,但是攻击者半已接触到训练数据,攻击难以发生。

    ②利用在线数据(典型的场景:推荐系统),通过一定的算法策略,发起访问行为,最终导致系统产生错误。

02 对抗样本(adversarial examples)

2.1 对抗样本定义

在数据集中通过故意添加细微的干扰所形成的输入样本,这种样本导致模型以高置信度给出一个错误的输出。简单地讲,通过在原始数据上叠加精心构造的人类难以察觉得扰动,使深度学习模型产生分类错误

【补充知识】

机器学习的本质是对条件概率或概率分布的估计

所以机器学习会涉及到统计学中的置信区间和置信度等机器学习常用指标,这些概念有助于我们从直观上理解评价估计优劣的度量方法。这里有两篇文章解释了这些概念:关于置信区间和置信度的理解机器学习常用指标

2.2 对抗样本原理

以经典的二分类问题为例,机器学习模型通过在样本上训练,学习出一个分割平面,在分割平面的一侧的点都被识别为类别一,在分割平面的另外一侧的点都被识别为类别二。

对抗样本的基本原理

对抗样本的基本原理

生成攻击样本时,我们通过某种算法,针对指定的样本计算出一个变化量,该样本经过修改后,从人类的感觉无法辨识,但是却可以让该样本跨越分割平面,导致机器学习模型的判定结果改变。

2.3 针对图像分类模型的对抗样本示例

通过在原始图像上添加扰动,对肉眼来说看似还是一只熊猫,但是分类模型会以很大的概率识别为长臂猿。
在这里插入图片描述

2.4 对抗样本按照攻击后的效果分类

  • 定性攻击(Targeted Attack)

    在攻击前会设置攻击目标,攻击后的效果是确定的

  • 无定向攻击(Non-Targeted Attack)

    不设置攻击目标,只要攻击后的目标发生改变即可

在这里插入图片描述

2.5 对抗样本按照攻击成本分类

  • 白盒攻击(White-Box Attack)

    攻击难度低;前提是能够完整获取模型的结构,包括模型的组成以及隔层的参数情况,并且可以完整控制模型的输入,对输入的控制粒度甚至可以到比特级别。
    在这里插入图片描述

  • 黑盒攻击(Black-Box Attack)

    攻击难度大;完全把被攻击模型当成黑盒,对模型的结构没有了解,只能控制输入,通过比对输入和输出的反馈来进行下一步攻击
    在这里插入图片描述

  • 真实世界/物理攻击(Real-World attack/Physical Attack)

    难度最大;不了解结构,且对输入的控制很弱。

03 常见检测和加固方法

3.1 攻击方法(脆弱性检测)

  • 白盒攻击算法列举:

    最相似迭代算法(ILCM)

    快速梯度算法(FGSM)

    基础迭代算法(BIM)

    显著图攻击算法(JSMA)

    DeepFool算法

    C/W算法

  • 黑盒攻击方法列举:

    单像素攻击(Single Pixel Attack)

    本地搜索攻击(Local Search Attack)

3.2 防御方法(脆弱性加固)

  • 加固的常见方法:

    特征凝结(Feature squeezing)

    空间平滑(Spatial smoothing)

    标签平滑(Label smoothing)

    对抗训练(Adversarial training)

    虚拟对抗训练(Virtual adversarial training)

    高斯数据增强(Gaussian data augmentation)

  • 对抗训练(Adversarial training):让深度学习模型认识常见的对抗样本,具有识别对抗样本的能力。(对抗样本工具箱:AdvBox、FoolBox)

    高斯数据增强(Gaussian data augmentation):在原始数据上叠加高斯噪声,训练数据叠加噪声后,重新输入给深度学习模型学习,通过增加训练轮数、调整参数甚至增加模型层数,在不降低原有模型准确度的情况下,让新生成的深度学习模型具有了一定的识别对抗样本的能力。
    在这里插入图片描述

04 总结

以上知识点就是接下来AI安全对抗样本的学习路线,像我一样有web安全基础但对AI没有基础的情况下,算法是比较有难度的,里面有很多高等数学,线性代数,概率统计,离散数学有关的知识点,这是一个挑战,也怪我以前没好好学。

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
对抗样本是指通过对输入数据进行微小改动,就能够欺骗人工智能系统,导致系统产生误判或错误行为的样本。对抗样本AI安全领域的一个重要问题,因为它可能导致人工智能系统在实际应用中产生严重后果。 对抗样本的生成方法有很多,包括添加噪音、修改像素值等。对抗样本的目的是让系统误判,以此来测试和评估AI系统的安全性和鲁棒性。对抗样本的设计是一个技术活,需要深入理解AI模型的工作原理,并且具备一定的数学和算法基础。 对抗样本研究的目标之一是找到一种普遍适用于各种AI模型的对抗样本生成方法。目前已经有一些方法被提出,如FGSM(快速梯度符号法)、PGD(投影梯度下降法)等。这些方法通过在输入样本中添加或修改一些微小的扰动,能够使得AI系统出现误判。 AI安全领域研究对抗样本的目的是提高AI系统的鲁棒性和安全性。通过研究对抗样本,可以帮助发现和修复AI系统在实际应用中存在的漏洞和缺陷。同时,对抗样本的研究也有助于推动AI系统的发展,使其更加健壮和可靠。 然而,对抗样本也可能被恶意使用,例如攻击识别系统、篡改图像等。因此,研究对抗样本不仅要关注如何生成对抗样本,还要关注如何防御和抵抗对抗样本攻击。AI安全研究者需要不断改进算法和技术,提高AI系统的对抗样本鲁棒性。 总之,对抗样本AI安全领域的一个重要问题。研究对抗样本有助于发现和修复AI系统的漏洞和缺陷,提高AI系统的鲁棒性和安全性。然而,对抗样本研究也需要关注如何防御和抵抗对抗样本攻击,以确保AI系统能够在实际应用中的安全可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吃_早餐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值