white/black-box attack(黑盒白盒攻击基础)
基本概念
攻击方法分类标准:
假正性攻击(false positive)与伪负性攻击(false negative)
- 假正性攻击:原本是错误的但被被攻击模型识别为正例的攻击(eg: 一张人类不可识别的图像,被DNN以高置信度分类为某一类);
- 伪负性攻击:原本应该被正常识别但被被攻击模型识别错误的攻击(eg: 原本能够被正确的样本,在遭到对抗攻击后,被攻击模型无法对其正确分类)。ps: 我现在做的遇到的大部分攻击算法都是伪负性攻击算法。
白盒攻击(white box)与黑盒攻击(black box):
- 被攻击模型的模型参数可以被获取的被称为白盒攻击;
- 模型参数不可见的被称为黑盒攻击。
有目标攻击(target attack)和无目标攻击(non-target attack):
- 有目标攻击:期望对抗样本被定向误识别为某一特定类别;
- 无目标攻击:仅仅希望对抗样本不能被识别的而没有指定目标类别。
单步攻击(One-time attack)和迭代攻击(Iteration attack):
- 最典型的就是之前实现过过的FGSM([2])
- I-FGSM([3])
个体攻击(Individual attack)和普适性攻击(Universal attack):
- 个体攻击向每个样本添加不同的扰动,大多数攻击方法都属于个体攻击(典型算法可见[4],[5]);
- 普适性攻击训练一个整个数据集通用的扰动。
优化扰动(optimized perturbation)和约束扰动(constrained perturbation):
- 优化扰动表示扰动大小作为优化过程中的优化目标(典型算法算法可参考[6]),C&W攻击(白盒攻击)算法是一种基于迭代优化的低扰动对抗样本生成算法。该算法设计了一个损失函数,它在对抗样本中有较小的值,但在原始样本中有较大的值,因此通过最小化该损失函数即可搜寻到对抗样本;
- 约束扰动表示所添加扰动仅需满足约束即可。
数据集和被攻击模型:
- 目前该领域最常用的数据集为MNIST, CIFAR 和ImageNet;
- 最常用的被攻击模型为LeNet, VGG, AlexNet,GoogLeNet, CaffeNet, and ResNet等
优化算法(Zeroth-Order Optimization)
该算法是一个典型的黑盒攻击算法,它采用对称伤差来估测海森矩阵和梯度,不需要获取目标模型的梯度信息
模型输入:需要input+每一个类别的概率
模型的训练:
损失函数如上,左边保证对抗样本与真实input的相似,右边保证对抗样本能导致目标模型出错,具体如下:
目标
- 有目标攻击:
- 无目标攻击
- 有目标攻击:
DNN model,如果目标model的数据集类似mnist,图片较小,就不会使用到attack-space hierarchical attack importance sampling
- attack-space :计算梯度时的坐标选取范围变小 (299x299x3->32x32x3)
- hierarchical attack:与上面的相反,小范围的坐标选取可能会没 有效果(32x32x3->64x64x3)
- importance sampling:有时经过了attack-space,坐标范围还是非 常的大,此时就需要根据坐标的重要性进行 选取(一般认为,图片中间位置的像素较边 角的重要)
随机选取一个坐标
估计梯度,hhh非常小,eieiei是一个只有i-th元素等于1的偏置向量。第二个只在牛顿法中才会使用。
- loss function (一阶和二阶)
- loss function (一阶和二阶)
获得了上面的近似梯度后,利用一阶或二阶方法(如下红框内的adam方法和newton method)来获取best梯度
- ZO Adam
- ZO Adam
https://zhuanlan.zhihu.com/p/57733228
参考文献
[1] Yuan, Xiaoyong, et al. "Adversarial examples: Attacks and defenses for deep learning."IEEE transactions on neural networks and learning systems(2019).
[2] Goodfellow I J, Shlens J, Szegedy C. Explaining and harnessing adversarial examples. arXiv preprint arXiv:1412.6572, 2014.
[3] Szegedy, C., Zaremba, W., Sutskever, I., Bruna, J., Erhan, D., Goodfellow, I., & Fergus, R. (2013). Intriguing properties of neural networks.arXiv preprint arXiv:1312.6199.
[4] Moosavi Dezfooli S M, Fawzi A, Frossard P. Deepfool: a simple and accurate method to fool deep neural networks//Proceedings of 2016 IEEE Conference on Comput
[5]Moosavi-Dezfooli, S. M., Fawzi, A., Fawzi, O., & Frossard, P. (2017). Universal adversarial perturbations.arXiv preprint.er Vision and Pattern Recognition (CVPR). 2016 (EPFL-CONF-218057).
[6] Carlini, Nicholas, and David Wagner. “Towards evaluating the robustness of neural networks.” Security and Privacy (SP), 2017 IEEE Symposium on. IEEE, 2017.
[7] A. Rozsa, E. M. Rudd, and T. E. Boult, “Adversarial diversity and hard positive generation,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR) Workshops, Jun. 2016, pp. 25–32.
white/black-box attack(黑盒白盒攻击基础)相关推荐
- 软件测试黑盒用例文档,软件测试有关黑盒白盒的软件测试.doc
<软件测试有关黑盒白盒的软件测试.doc>由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关<软件测试有关黑盒白盒的软件测试.doc>文档请在天天文库搜索. ...
- 软件测试:黑盒白盒与动态静态之间有必然联系吗
区分黑白盒:看有没有查看源码 区分动静态:看有没有运行程序 情况 类型 运行程序,只看输入输出 动态黑盒 运行程序,分析代码结构 动态白盒 不运行程序,只查看界面 静态黑盒 不运行程序,查看代码 静态 ...
- 测试知识之:黑盒白盒和灰盒测试
黑盒测试:黑盒测试也称功能测试,它是在已知产品所应具有的功能上,通过测试来检测是否每个功能是否能够按照需求规格说明书的规定正常使用.我们通过程序的接口进行测试,看程序能否适当的接收输入数据而产生正确的 ...
- 拎清黑盒白盒,告别混乱失控的生活
用手机的相机照相,你不需要了解摄像头.闪光灯.图像处理,只要调用一个 API 就可以完成拍摄一张照片的任务. 用 Qt 的按钮响应用户鼠标,你只需要连接到 clicked 槽,用户点击按钮,你就可以响 ...
- 软件测试(黑盒白盒)
软件=程序+数据库+文档+服务 软件测试: 使用人工或自动手段来运行或测试某个系统的过程,目的在于检验其是否满足规定的需要,或是弄清楚预期结果与实际结果之间的差别 软件测试目的:以最小的人力物力和时间 ...
- 黑盒 白盒?有啥区别呢?
先来看概念定义 白盒测试: 指结构性测试,是指实际运行被测程序,通过程序的源代码进行测试而不使用用户界面. 黑盒测试: 又称功能测试.在黑盒测试中主要关注被测软件的功能实现,而不关注内部逻辑. 再来看 ...
- 软件的黑盒白盒测试,软件测试黑盒白盒测试用例
<软件测试黑盒白盒测试用例>由会员分享,可在线阅读,更多相关<软件测试黑盒白盒测试用例(8页珍藏版)>请在人人文库网上搜索. 1.软件测试小论文题目:学生成绩评测系统姓名: 班 ...
- 测试理论-黑盒白盒简介(二)
黑盒测试 白盒测试 一:黑盒测试 黑盒测试是重要的测试策略之一. 黑盒又称为数据驱动的测试或输入/输出驱动的测试. 判定标准:穷举输入测试(不现实) 只能通过有限的测试用例,最大限度地提高发现问题的数 ...
- 软件测试黑盒用例文档,软件测试黑盒白盒测试用例.pdf
软件测试小论文 题目:学生成绩评测系统 姓名: 班级: 学号: 分数:_______________ 精选文档 组长 组员 职责: 得分: 组员 职责: 得分: 组员 职责: 得分: - 2 精选文档 ...
最新文章
- 解密新一代Java JIT编译器Graal
- mysql status改变_mysql 配置详解mysql SHOW STATUS 详解
- CTF题目中遇到的PHP考点总结(一)
- jpa 实体映射视图_JPA教程:实体映射-第2部分
- HDU 2159 FATE (DP 二维费用背包)
- qt中QMultiMap获取键值
- 【算法学习笔记】85.破环为链 序列DP 松弛+代价 SJTU OJ 1073 能量项链
- 【Antlr】unknown attribute text for rule stat in $stat.text
- byte 合并 java_java合并byte
- 【实践】美团外卖广告智能算力的探索与实践
- 分析:微软最终将赢得平板电脑市场的5个理由
- Revit二次开发-设置视图范围无限制
- 用python给表格加边框_python如何设置表格边框
- opencv思维导图
- 解读制造业数字化转型的六大因素
- mysql数据库之基本函数,列属性,数据库管理
- matlab中Folder是什么意思,matlab – @folder和文件夹
- Python爬虫技术-根据【理财】关键字爬取“巨潮资讯网”的title
- Root file specified for compilation Vetur
- 中软酒店管理系统CSHIS操作手册_数据结构_数据字典
热门文章
- matlab温室,基于MATLAB的温室大棚温度控制系统研究
- java爬虫httpclient循环重定向的处理
- 设计sample语言的词法分析器_华为被曝自研编程语言“仓颉”,南大教授冯新宇领衔...
- 路由的params参数
- 这些Excel学会了,你做账的效率将大大提高
- 目前JAVA实习生普遍需要掌握的技术有哪些?
- 腾讯云centos安装jdk+tomcat+mysql
- 如何运用CRM牢牢抓住客户?
- 多点平面方程拟合c语言,多点最小二乘法平面方程拟合计算
- TWS无线立体声蓝牙方案