内容安全复习 7 - 对抗攻击与防御
文章目录
- 概述
- 攻击
- 对抗性攻击的目的
- 攻击的损失函数
- 如何攻击
- FGSM
- 黑盒与白盒
- 真实世界的攻击
- 防御
- 被动防御
- 主动防御
概述
- 动机
(1)不仅要在实验室中部署机器学习分类器,也要在现实世界中部署;实际应用
(2)分类器对噪声具有鲁棒性和在“大多数情况下”有效是不够的。
(3)想要鲁棒的分类器用来对付用户愚弄分类器的输入;面对人类的恶意
(4)特别适用于垃圾邮件分类、恶意软件检测、网络入侵检测等。 - 攻击 AI

上图描述了一些攻击 AI 的方式以及后果。
(1)对抗攻击会导致破坏模型完整性;
(2)漏洞挖掘和利用会导致破坏模型可用性;
(3)模型萃取和数据窃取会导致破坏模型机密性。 - 逃逸攻击
指攻击者在不改变目标机器学习系统的情况下,通过构造特定输入样本以完成欺骗目标系统的攻击 - 投毒攻击
攻击者通过篡改训练数据或添加恶意数据来影响模型训练过程,最终降低其在预测阶段的准确性。
攻击
对抗性攻击的目的
对抗性攻击的目的是通过在原始图像中添加人眼无法察觉的扰动,使得模型的预测结果出错。
攻击的损失函数

- 训练损失: L t r a i n ( θ ) = C ( y 0 , y t r u e ) L_{train}(\theta)=C(y^0,y^{true}) Ltrain(θ)=C(y0,ytrue)。这个公式表示训练神经网络的损失函数,其中 y 0 y^0 y0 是神经网络对原始输入 x 0 x^0 x0 的输出, y t r u e y^{true} ytrue 是该输入的真实标签
例如,猫。 C C C 衡量 y 0 y^0 y0 和 y t r u e y^{true} ytrue 之间的差异。 - 无目标攻击损失: L ( x ′ ) = − C ( y ′ , y t r u e ) L(x')=-C(y',y^{true}) L(x′)=−C(y′,ytrue)。在这种情况下, y ′ y' y′ 是对 x ′ x' x′ 的输出。无目标攻击的目的是使 y ′ y' y′ 偏离 y t r u e y^{true} ytrue,即使预测与真实标签差异增大。因此我们取负的 C C C,最大化估计差异。
- 有目标攻击损失: L ( x ′ ) = − C ( y ′ , y t r u e ) + C ( y ′ , y f a l s e ) L(x')=-C(y',y^{true})+C(y',y^{false}) L(x′)=−C(y′,ytrue)+C(y′,yfalse)。有目标攻击的目的是使 y ′ y' y′ 更接近一个错误的估计 y f a l s e y^{false} yfalse,不同与无目标,有目标攻击多了“目的地”
例如,把猫的图片分类为鱼。第一项 − C ( y ′ , y t r u e ) -C(y',y^{true}) −C(y′,ytrue) 希望输出值远离真实标签、第二项 C ( y ′ , y f a l s e ) C(y',y^{false}) C(y′,yfalse) 希望输出接近错误标签。 - 约束: d ( x 0 , x ′ ) ≤ ϵ d(x^0, x') \le \epsilon d(x0,x′)≤ϵ。具体如下图,右上角展示了 x ′ x' x′ 和 x 0 x^0 x0 之间的距离 Δ x \Delta x Δx。图中下方展示了两种衡量距离的方法。 L 2 − L2- L2− 范数和 L − ∞ L-\infty L−∞ 范数。

如何攻击
就像训练一个神经网络,但是网络参数 θ \theta θ 被 x ′ x' x′替代。

- x ∗ = a r g min d ( x 0 , x ′ ) ≤ ϵ L ( x ′ ) x^*=arg \min_{d(x^0, x') \le \epsilon} L(x') x∗=argmind(x0,x′)≤ϵL(x′),这个公式指:在约束条件下 d ( x 0 , x ′ ) ≤ ϵ d(x^0, x') \le \epsilon d(x0,x′)≤ϵ
原始输入与扰动图像之间的距离不超过ϵ下,找到使 L ( x ′ ) L(x') L(x′) 最小的 x ′ x' x′。 - 由此可以看出,在对抗性攻击种,我们的目标是:希望生成一个扰动图像,在这个扰动图像接近原始图像且满足约束条件的前提下,最小化损失。
最小化损失L(x')在上面的有目标攻击和无目标攻击中,都体现为C更大,即更加偏离真实标签,攻击的效果越好。 - 下方展示了 f i x ( x t ) fix(x^t) fix(xt)中距离的计算方法。

FGSM
FGSM 全称 Fast Gradient Sign Method,快速梯度逐步算法。


黑盒与白盒
-
在前面的攻击中,我们固定网络参数 θ \theta θ 而寻找最优的输入 x ′ x' x′。如果攻击时,我们需要知道 θ \theta θ,那么这就叫做白盒攻击。
-
白盒攻击需要 θ \theta θ,那么如果我们不公布(绝大多数 API 都不提供网络参数),是否安全呢?
不会,因为存在黑盒攻击。 -
在黑盒攻击中:
(1)如果我们有目标网络的训练数据,可以使用这些数据训练一个代理网络 (proxy network)。这个代理网络模仿目标网络的行为,攻击者可以在代理网络上进行对抗样本生成,然后将这些对抗样本应用于目标网络。用目标的网络数据生成网络,在网络上模拟,然后在模拟网络上生成AE(对抗性样例)。
(2)如果我们没有目标网络的训练数据,则需要获取一些目标网络的输入和预测输出,以此来构建代理网络,然后进行和训练数据生成代理网络后一样的攻击。和(1)的区别就是,是用目标网络的输入和预测输出生成的代理网络。
真实世界的攻击
单像素攻击
防御
对抗性攻击无法通过正则化,dropout 和模型集成来防御。
防御可以分为两种:主动防御和被动防御。
被动防御
在不修改模型的情况下找到攻击图像。
- 去噪
除非对手不知道去噪的存在,否则还是可能受到白盒攻击。 - 随机化
(1)如果攻击者不知道随机化存在,则效果最佳;
(2)如果知道,由于随机模式过多,防御依然有效。 - 梯度掩码/隐藏
治标不治本,本质是提高了攻击者搞清楚弱点的难度,模型本身稳定性并未提高。
主动防御
训练一个对对抗性攻击具有鲁棒性的模型。
- 对抗训练
这种方法对训练目标算法 A 有效,但对未被训练的目标算法 B 无效。 - 防御性蒸馏
(1)通过梯度生成的对抗性样例攻击性降低;
(2)随蒸馏温度提升,对抗性样例生成困难,提升模型鲁棒性;
(3)对黑盒攻击无能为力;
(4)仅适用于基于概率分布的 DNN 模型。
相关文章:
内容安全复习 7 - 对抗攻击与防御
文章目录 概述攻击对抗性攻击的目的攻击的损失函数如何攻击FGSM黑盒与白盒真实世界的攻击 防御被动防御主动防御 概述 动机 (1)不仅要在实验室中部署机器学习分类器,也要在现实世界中部署;实际应用 (2)分类…...
淘宝店铺商家订单API-接入ERP,多平台订单同步的利器
淘宝开放平台给商家们提供了丰富的API,以方便大家扩展业务流程。但是需要调用这些API,商家们要提交资质审核,审核条件也是很严格的。第三方数据公司的存在可以为大家解决这个问题。 custom-自定义API操作 请求参数 请求参数:ap…...
【微前端-Single-SPA、qiankun的基本原理和使用】
背景 在实际项目中,随着日常跌倒导致的必然墒增,项目会越来越冗余不好维护,而且有时候一个项目会使用的其他团队的功能,这种跨团队不好维护和管理等等问题,所以基于解决这些问题,出现了微前端的解决方案。…...
多元化功能空间,打造影像产业生态圈
国际数字影像产业园的多元化功能空间定位涵盖了从产业实训、研发创新、资产交易、集群发展到孵化服务、大数据支持、产学研合作以及人力资源服务等多个方面,旨在为数字影像产业提供全方位的支持和服务,推动产业的升级和发展。 1、产业实训空间࿱…...
华为鸿蒙正式杀入工业自动化,反攻开始了!
导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》 在近日举行的2024华为开发者大会上,华龙讯达与华为共同发布了基于鸿蒙内核技术的“HualongOS 华龙工业操作系统”,这一里…...
学历优先还是专业优先?高考志愿填报的抉择
学历优先还是专业优先?高考志愿填报的抉择 2024年高考帷幕落下,新一轮的思考与选择悄然来临。对于每一位高考考生,选择学校和专业是开启大学新生活的两个前置必选项。然而,有时候“鱼与熊掌不可兼得”,在分数受限的情…...
SpringAOP常用功能实现
1. 导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId> </dependency> 2. 核心通知 package com.example.aspect;import lombok.SneakyThrows; import org.aspectj.l…...
Java基础的重点知识-04-封装
文章目录 面向对象思想封装 面向对象思想 在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算机事件的设计思想。 面向对象思想的三大基本特征: 封装、继承、多态 1.类和对象 类是对象的抽象ÿ…...
win7 的 vmware tools 安装失败
没有安装vmware tools的系统屏幕显示异常。桌面是比较小的图像,四周是黑边在 vmware 软件里 方法1,下补丁 https://www.catalog.update.microsoft.com/Search.aspx?qkb4474419 方法2,使用老版vm tools http://softwareupdate.vmware.com/c…...
【杂记-浅谈OSPF协议之IR、ABR、ASBR、BR】
OSPF协议之IR、ABR、ASBR、BR 一、 内部路由器 IR二、骨干路由器 BR三、边界路由器 ABR四、自治系统边界路由器 ASBR 一、 内部路由器 IR 概念 IR,Internal Router,即内部路由器,指的是所有接口都属于同一个OSPF区域的路由器。这类路由器只维…...
element 问题整合
没关系,凡事发生必有利于我 文章目录 一、el-table 同级数据对齐及展开图标的位置问题二、el-table 勾选框为圆角及只能勾选一个 一、el-table 同级数据对齐及展开图标的位置问题 element 官方提供的扩展tree型数据在表格里默认是靠左边对齐,项目需求需要…...
Linux下vi文件的时候替换指定的内容
需要将nginx.conf中的192.168.222.188,替换为178.21.120.225 操作步骤: 1、vi 文件 vi nginx.conf2、输入 :%s/192.168.222.188/178.21.120.225/g3、最后保存 :wq...
【知识学习】阐述Unity3D中MaterialTexture的概念及使用方法示例
在Unity3D中,Material和Texture是渲染过程中非常重要的两个概念,它们共同工作以实现丰富的视觉效果。 Material Material是Unity中的一个组件,用于定义物体表面的视觉属性。一个Material可以包含多种属性,如颜色、纹理、反射率等…...
java创建0byte的空文件
在Java中,使用File类创建一个文件通常不会自动创建一个0字节的文件,它只是用来表示文件系统中的一个文件或目录。如果你想要创建一个0字节的文件,你需要使用FileOutputStream来写入文件。以下是创建一个0字节文件的示例代码: imp…...
Qt 实战(6)事件 | 6.2、事件过滤器
文章目录 一、事件过滤器1、什么是事件过滤器?2、如何实现事件过滤器?3、应用示例4、总结 前言: 在Qt的事件处理机制中,事件过滤器(Event Filter)是一种非常强大且灵活的工具,它允许开发者在一个…...
【PyTorch】【机器学习】图片张量、通道分解合成和裁剪
一、导入所需库 from PIL import Image import torch import numpy as np import matplotlib.pyplot as plt二、读取图片 pic np.array(Image.open(venice-boat.jpg))上述代码解释:先用Image.open()方法读取jpg格式图片,再用np.array()方法将图片转成…...
如何提高工业交换机的电源功耗?
工业交换机的电源功耗是指在工作状态下所消耗的能量。随着工业自动化技术的发展,工业交换机在生产和制造领域中扮演着至关重要的角色。它们通过连接各种设备和系统,实现信息的传输和处理,提高生产效率和质量。然而,工业交换机的大…...
源站静态文件更新后,CDN会自动刷新吗
源站静态文件更新后,CDN不会自动刷新缓存,而是在缓存时间过期后,才会经由用户触发回源获取最新文件。如希望在缓存过期时间之前,实现CDN节点与源站静态文件同步更新,则需要通过CDN控制台-【刷新预取】菜单,…...
Token的应用场景
JWT JWT由三部分组成:头部(Header)、有效载荷(Payload)和签名(Signature)头部通常指定了Token的类型和使用的哈希算法;有效载荷包含了一系列的声明,例如用户的ID、Token…...
机器学习课程复习——奇异值分解
1. 三种奇异值分解 奇异值分解(Singular Value Decomposition, SVD)包含了: 完全奇异值分解(Complete Singular Value Decomposition, CSVD)紧奇异值分解(Tight Singular Value Decomposition, TSVD&…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
Unity中的transform.up
2025年6月8日,周日下午 在Unity中,transform.up是Transform组件的一个属性,表示游戏对象在世界空间中的“上”方向(Y轴正方向),且会随对象旋转动态变化。以下是关键点解析: 基本定义 transfor…...
Python 高效图像帧提取与视频编码:实战指南
Python 高效图像帧提取与视频编码:实战指南 在音视频处理领域,图像帧提取与视频编码是基础但极具挑战性的任务。Python 结合强大的第三方库(如 OpenCV、FFmpeg、PyAV),可以高效处理视频流,实现快速帧提取、压缩编码等关键功能。本文将深入介绍如何优化这些流程,提高处理…...
Yii2项目自动向GitLab上报Bug
Yii2 项目自动上报Bug 原理 yii2在程序报错时, 会执行指定action, 通过重写ErrorAction, 实现Bug自动提交至GitLab的issue 步骤 配置SiteController中的actions方法 public function actions(){return [error > [class > app\helpers\web\ErrorAction,],];}重写Error…...
python读取SQLite表个并生成pdf文件
代码用于创建含50列的SQLite数据库并插入500行随机浮点数据,随后读取数据,通过ReportLab生成横向PDF表格,包含格式化(两位小数)及表头、网格线等美观样式。 # 导入所需库 import sqlite3 # 用于操作…...
【Zephyr 系列 16】构建 BLE + LoRa 协同通信系统:网关转发与混合调度实战
🧠关键词:Zephyr、BLE、LoRa、混合通信、事件驱动、网关中继、低功耗调度 📌面向读者:希望将 BLE 和 LoRa 结合应用于资产追踪、环境监测、远程数据采集等场景的开发者 📊篇幅预计:5300+ 字 🧭 背景与需求 在许多 IoT 项目中,单一通信方式往往难以兼顾近场数据采集…...
PCA笔记
✅ 问题本质:为什么让矩阵 TT 的行列式为 1? 这个问题通常出现在我们对数据做**线性变换(旋转/缩放)**的时候,比如在 PCA 中把数据从原始坐标系变换到主成分方向时。 📌 回顾一下背景 在 PCA 中ÿ…...
