当前位置: 首页 > news >正文

内容安全复习 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、产业实训空间&#xff1…...

华为鸿蒙正式杀入工业自动化,反攻开始了!

导语 大家好,我是社长,老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-封装

文章目录 面向对象思想封装 面向对象思想 在计算机程序设计过程中&#xff0c;参照现实中事物&#xff0c;将事物的属性特征、行为特征抽象出来&#xff0c;描述成计算机事件的设计思想。 面向对象思想的三大基本特征: 封装、继承、多态 1.类和对象 类是对象的抽象&#xff…...

win7 的 vmware tools 安装失败

没有安装vmware tools的系统屏幕显示异常。桌面是比较小的图像&#xff0c;四周是黑边在 vmware 软件里 方法1&#xff0c;下补丁 https://www.catalog.update.microsoft.com/Search.aspx?qkb4474419 方法2&#xff0c;使用老版vm tools http://softwareupdate.vmware.com/c…...

【杂记-浅谈OSPF协议之IR、ABR、ASBR、BR】

OSPF协议之IR、ABR、ASBR、BR 一、 内部路由器 IR二、骨干路由器 BR三、边界路由器 ABR四、自治系统边界路由器 ASBR 一、 内部路由器 IR 概念 IR&#xff0c;Internal Router&#xff0c;即内部路由器&#xff0c;指的是所有接口都属于同一个OSPF区域的路由器。这类路由器只维…...

element 问题整合

没关系&#xff0c;凡事发生必有利于我 文章目录 一、el-table 同级数据对齐及展开图标的位置问题二、el-table 勾选框为圆角及只能勾选一个 一、el-table 同级数据对齐及展开图标的位置问题 element 官方提供的扩展tree型数据在表格里默认是靠左边对齐&#xff0c;项目需求需要…...

Linux下vi文件的时候替换指定的内容

需要将nginx.conf中的192.168.222.188&#xff0c;替换为178.21.120.225 操作步骤&#xff1a; 1、vi 文件 vi nginx.conf2、输入 :%s/192.168.222.188/178.21.120.225/g3、最后保存 :wq...

【知识学习】阐述Unity3D中MaterialTexture的概念及使用方法示例

在Unity3D中&#xff0c;Material和Texture是渲染过程中非常重要的两个概念&#xff0c;它们共同工作以实现丰富的视觉效果。 Material Material是Unity中的一个组件&#xff0c;用于定义物体表面的视觉属性。一个Material可以包含多种属性&#xff0c;如颜色、纹理、反射率等…...

java创建0byte的空文件

在Java中&#xff0c;使用File类创建一个文件通常不会自动创建一个0字节的文件&#xff0c;它只是用来表示文件系统中的一个文件或目录。如果你想要创建一个0字节的文件&#xff0c;你需要使用FileOutputStream来写入文件。以下是创建一个0字节文件的示例代码&#xff1a; imp…...

Qt 实战(6)事件 | 6.2、事件过滤器

文章目录 一、事件过滤器1、什么是事件过滤器&#xff1f;2、如何实现事件过滤器&#xff1f;3、应用示例4、总结 前言&#xff1a; 在Qt的事件处理机制中&#xff0c;事件过滤器&#xff08;Event Filter&#xff09;是一种非常强大且灵活的工具&#xff0c;它允许开发者在一个…...

【PyTorch】【机器学习】图片张量、通道分解合成和裁剪

一、导入所需库 from PIL import Image import torch import numpy as np import matplotlib.pyplot as plt二、读取图片 pic np.array(Image.open(venice-boat.jpg))上述代码解释&#xff1a;先用Image.open()方法读取jpg格式图片&#xff0c;再用np.array()方法将图片转成…...

如何提高工业交换机的电源功耗?

工业交换机的电源功耗是指在工作状态下所消耗的能量。随着工业自动化技术的发展&#xff0c;工业交换机在生产和制造领域中扮演着至关重要的角色。它们通过连接各种设备和系统&#xff0c;实现信息的传输和处理&#xff0c;提高生产效率和质量。然而&#xff0c;工业交换机的大…...

源站静态文件更新后,CDN会自动刷新吗

源站静态文件更新后&#xff0c;CDN不会自动刷新缓存&#xff0c;而是在缓存时间过期后&#xff0c;才会经由用户触发回源获取最新文件。如希望在缓存过期时间之前&#xff0c;实现CDN节点与源站静态文件同步更新&#xff0c;则需要通过CDN控制台-【刷新预取】菜单&#xff0c;…...

Token的应用场景

JWT JWT由三部分组成&#xff1a;头部&#xff08;Header&#xff09;、有效载荷&#xff08;Payload&#xff09;和签名&#xff08;Signature&#xff09;头部通常指定了Token的类型和使用的哈希算法&#xff1b;有效载荷包含了一系列的声明&#xff0c;例如用户的ID、Token…...

机器学习课程复习——奇异值分解

1. 三种奇异值分解 奇异值分解&#xff08;Singular Value Decomposition, SVD&#xff09;包含了&#xff1a; 完全奇异值分解&#xff08;Complete Singular Value Decomposition, CSVD&#xff09;紧奇异值分解&#xff08;Tight Singular Value Decomposition, TSVD&…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象&#xff1a;mysql已经安装&#xff0c;但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时&#xff0c;可能是因为以下几个原因&#xff1a;1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

push [特殊字符] present

push &#x1f19a; present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中&#xff0c;push 和 present 是两种不同的视图控制器切换方式&#xff0c;它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

C# 表达式和运算符(求值顺序)

求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如&#xff0c;已知表达式3*52&#xff0c;依照子表达式的求值顺序&#xff0c;有两种可能的结果&#xff0c;如图9-3所示。 如果乘法先执行&#xff0c;结果是17。如果5…...

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分&#xff1a; 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 &#xff08;1&#xff09;输入单引号 &#xff08;2&#xff09;万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...

MySQL 主从同步异常处理

阅读原文&#xff1a;https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主&#xff0c;遇到的这个错误&#xff1a; Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一&#xff0c;通常表示&#xff…...

渗透实战PortSwigger靶场:lab13存储型DOM XSS详解

进来是需要留言的&#xff0c;先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码&#xff0c;输入的<>当成字符串处理回显到页面中&#xff0c;看来只是把用户输…...