关注

05 网络信息内容安全--对抗攻击技术

1 课程内容

  • 网络信息内容获取技术
  • 网络信息内容预处理技术
  • 网络信息内容过滤技术
  • 社会网络分析技术
  • 异常流量检测技术
  • 对抗攻击技术

2 对抗攻击概述

2.1 对抗攻击到底是啥?

咱们先举个生活例子:

你平时看苹果能认出来 —— 红颜色、圆溜溜、带个小揪揪。但如果有人给苹果轻轻贴了个小贴纸,或者在表皮涂了一点点几乎看不出来的颜料,你可能还是知道这是苹果;可要是给电脑 “看” 这个被改动的苹果,它说不定就认错了,说这是 “西红柿”。

这种故意给数据(比如图片、文字)做微小改动,骗人工智能(AI)认错的操作,就叫对抗攻击

关键是这改动特别 “隐蔽”:人眼几乎看不出差别,但 AI 能被绕得晕头转向。

2.2 用 “骗 AI 认熊猫” 的例子,看攻击咋操作?

咱们拿 “AI 识别图片” 来拆解,一步一步看对抗攻击是咋干活的:

正常情况:AI 认熊猫很准

假设 AI 经过训练,能较为准确地识别 “熊猫” 的图片。
在这里插入图片描述

攻击者动手:给图片加 “隐形干扰”

攻击者不会把熊猫改成其它动物,而是加一种人眼几乎看不见的 “噪点”(就像给图片撒了一层超细微的 “灰尘”)。

  • 改动后图片:看起来还是熊猫,但像素里藏了微小变化(下图右,实际肉眼难察觉)

  • 重点:这种改动特别小,你拿手机对比原始图和改动图,可能都问 “这俩不是一样吗?”

在这里插入图片描述

AI “被骗”:把熊猫认成别的

当对抗图片传给 AI 后,神奇的事儿发生了:

  • AI 判断:“这是长臂猿,准确率 99%”
  • 原因:AI 认东西靠 “像素特征”,那些隐形噪点刚好打乱了 AI 认熊猫的 “关键线索”,让它把熊猫误判成长臂猿。

2.3 对抗攻击有啥用?(好的坏的都得说)

坏用途:搞破坏、钻漏洞

  • 比如自动驾驶:有人给交通标志贴个 “隐形贴纸”(对抗攻击),让车的 AI 把 “停止 sign” 认成 “直行 sign”,可能引发事故。

  • 比如人脸识别:给脸戴个特殊图案的口罩,让 AI 把 “张三” 认成 “李四”,绕过门禁。

好用途:帮 AI 变 “强壮”

现在很多 AI 工程师会主动搞对抗攻击 —— 故意制造 “骗 AI 的样本”,再用这些样本训练 AI,让 AI 学会 “识别陷阱”。就像老师故意出难题考学生,帮学生查漏补缺,最后 AI 面对真的攻击时,就不容易被骗了。

2.4 对抗攻击的主要分类

按攻击者知识:

白盒攻击:攻击者完全了解模型结构和参数,适用于基于梯度的攻击(如FGSM)。
黑盒攻击:攻击者无法访问模型内部,仅能通过查询输出生成攻击,如ZOO(Zeroth Order Optimization)

在这里插入图片描述
灰盒攻击:部分知识可用,例如知道模型类型但非具体参数。

按攻击目标:

定向攻击:强制模型输出特定错误类别(如将“猫”误判为“狗”)。
非定向攻击:仅需模型输出任何错误结果。

按实现步骤:

单步攻击:一次性生成扰动(如FGSM),速度快但效果有限。
迭代攻击:多步优化扰动(如BIM、PGD),效果更强但计算成本高。

3 对抗攻击的主要技术

对抗攻击技术可分为四大类:基于梯度的攻击、基于优化的攻击、基于决策面的攻击和其他方法。每种方法通过不同机制生成扰动。

3.1 基于梯度的攻击(Gradient-based Attacks)

这类方法利用模型的梯度信息生成扰动,通过反向传播计算损失函数对输入的导数,沿梯度方向添加噪声以最大化模型错误。优点是实现简单高效,尤其适合白盒场景。主要方法有:

  • FGSM(Fast Gradient Sign Method):单步攻击,沿梯度符号方向添加固定幅度扰动。速度快,但扰动较大易被检测。例如,在图像攻击中,通过一次梯度计算生成对抗样本 。
  • BIM(Basic Iterative Method)或 I-FGSM(Iterative FGSM):FGSM的迭代版本,在多个小步中应用梯度更新,逐步优化扰动。效果比FGSM更强,但计算开销增加。
  • PGD(Projected Gradient Descent):迭代攻击,在每次更新后投影扰动到允许范围内(如 L ∞ L_∞ L球),提高鲁棒性和攻击成功率。常被视为“最强”基准攻击 。
  • MIM(Momentum Iterative Method) :在迭代中添加动量项,加速收敛并提升攻击迁移性,适合黑盒场景。

特点:基于梯度的攻击是基础,许多先进方法(如MI-FGSM)由此衍生。工具如cleverhans和advertorch支持实现。

3.2 基于优化的攻击(Optimization-based Attacks)

这类方法将攻击建模为优化问题,目标是最小化扰动大小(如L2范数)同时确保模型误分类。优点是可生成更隐蔽的对抗样本,但计算成本较高,适合高精度攻击。主要方法有:

  • CW攻击(Carlini-Wagner Attack) :基于优化的经典方法,使用自定义损失函数平衡误分类和扰动大小。通过迭代最小化 L 2 L_2 L2 L 0 L_0 L0 L ∞ L_∞ L范数,生成高效且难以检测的对抗样本。是目前最广泛使用的攻击之一。
  • L-BFGS(Limited-memory Broyden-Fletcher-Goldfarb-Shanno) :优化算法,通过近似海森矩阵最小化扰动。资源密集但效果好,尤其在高维数据中。
  • ZOO(Zeroth Order Optimization) :无梯度方法,使用有限差分近似梯度,适用于黑盒攻击。通过局部搜索生成对抗样本,查询次数多但模型无关。

特点:优化攻击常用于定向攻击,证据显示CW攻击在对抗训练评估中表现突出。

3.3 基于决策面的攻击(Decision-based Attacks)

这类方法直接操作模型的决策边界,通过估计最小扰动使输入跨越分类边界。优点是不依赖梯度,适用于非可微分模型。主要方法有:

  • Deepfool:迭代方法,通过求解线性系统估计最小L2扰动以跨越决策超平面。速度快,适合低维数据。
  • JSMA(Jacobian-based Saliency Maps Attacks) :基于模型输出的雅可比矩阵,迭代修改“最不重要”的特征(如像素),实现定向攻击。计算成本高但针对性强。

特点:决策面攻击强调隐蔽性,Deepfool常被用于评估模型鲁棒性。

3.4 其他方法

  • 对抗性生成对抗网络(Adversarial GANs) :使用生成模型(如GAN)合成对抗样本,提升扰动自然性和鲁棒性。应用于图像和语音攻击。

  • Pointwise方法:未详细描述,但证据提到作为“其他”类别,可能涉及点级扰动生成。

  • 物理对抗攻击:在真实世界中实现,包括:
    ** 基于二维样本的攻击:如贴纸或补丁干扰模型(例如,在交通标志上添加贴纸误导自动驾驶系统)。
    ** 基于3D实体的攻击:改变物体形状或纹理(如车辆涂装)。
    ** 无接触光影投射攻击:使用LED或激光投影干扰模型(如人脸识别系统)。
    ** 方法如EOT(Expectation Over Transformation)增强物理世界适应性。

  • NLP领域攻击:提到字符级、词级和句级攻击,通过操纵输入文本生成对抗样本,但本回答聚焦视觉主流技术。

4 典型应用

4.1 骗 AI 认错图片(图像对抗攻击)

给一张 “猫” 的照片上,偷偷加一层人眼几乎看不见的 “噪点”(比如像素颜色微调),AI 看了却会把它认成 “狗”;甚至给交通标志 “停止 sign(红圈白横)” 加一点黄色小条纹,AI 会误判成 “限速标志”,可能导致自动驾驶出错。
👉图解:画左右两张图,左边是正常的 “猫”(下面标 “AI 识别:猫”),右边是加了淡红色微小噪点的猫(看起来和左边差不多,但下面标 “AI 识别:狗”);再补一张交通标志图,左边正常停止 sign(AI 认 “停止”),右边加了 3 条小黄线的停止 sign(AI 认 “限速 60”)。

4.2 骗垃圾邮件过滤系统(文本对抗攻击)

发垃圾邮件时,把 “中奖” 改成 “中_奖”(加个下划线)、“借钱” 改成 “借¥钱”(换个符号),或者故意插几个无关词(比如 “今天天气好,中奖通知:您中了 10 万…”),原本能拦截垃圾邮件的 AI,会因为文字细节被改,误以为这是正常邮件。
👉图解:画上下两个文本框,上面是正常垃圾邮件 “【中奖】您中了 10 万元,点链接领”(右边标 “AI 判定:垃圾邮件,拦截”),下面是改后的 “今天天气好,中_奖通知:您中了 10 万,点链接领”(右边标 “AI 判定:正常邮件,放行”)。

4.3 骗人脸识别认错人(生物识别对抗攻击)

在脸上贴几个不起眼的小贴纸(比如额头贴个 1cm 的黑方块、脸颊贴个小爱心),或者戴一副特殊花纹的眼镜,AI 人脸识别系统原本能准确认出 “张三”,却会因为这些小装饰,把张三错认成 “李四”,甚至直接通过陌生人的验证。
👉图解:画左右两个头像,左边是没贴东西的 “张三”(下面标 “AI 识别:张三,通过”),右边是额头贴了黑方块的张三(看起来变化不大,下面标 “AI 识别:李四,通过”)。

4.4 骗 AI 模型输出错误结果(模型规避攻击)

比如用 AI 预测 “贷款是否通过”,正常情况下 “月收入 5000、无逾期” 会被判定 “通过”;有人故意改一点数据,比如把 “月收入 5000” 改成 “月收入 4999.99”、“无逾期” 改成 “1 次 1 天小额逾期(几乎不影响)”,原本该通过的贷款,AI 却会误判 “不通过”,达到 “故意被拒” 的目的(比如不想贷款却怕被拒影响征信,故意搞小动作让系统主动拒)。
👉图解:画左右两个表格,左边正常数据 “月收入 5000,逾期记录:无”(下面标 “AI 判定:贷款通过”),右边改后数据 “月收入 4999.99,逾期记录:1 次 1 天”(下面标 “AI 判定:贷款不通过”),用红圈标出改的两个地方。

5 文献阅读

5.1 Adversarial attacks and defenses on text-to-image diffusion models: A survey

https://www.sciencedirect.com/science/article/abs/pii/S1566253524004792

5.2 Adversarial Attacks in Explainable Machine Learning: A Survey of Threats Against Models and Humans

https://wires.onlinelibrary.wiley.com/doi/full/10.1002/widm.1567

5.3 Strategies for protection against adversarial attacks in AI models: An in-depth review

https://www.degruyterbrill.com/document/doi/10.1515/jisys-2024-0277/html

5.4 RAT: Adversarial Attacks on Deep Reinforcement Agents for Targeted Behaviors

https://ojs.aaai.org/index.php/AAAI/article/view/33696

5.5 Rethinking Adversarial Attacks in Reinforcement Learning from Policy Distribution Perspective

https://ieeexplore.ieee.org/abstract/document/10890540

6 总结

对抗攻击就像给 AI “下套”:用人类看不出来的小改动,打乱 AI 的判断逻辑,要么用来搞破坏,要么用来帮 AI 变得更厉害。

转载自CSDN-专业IT技术社区

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/search_129_hr/article/details/150865812

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--