四篇关于恶意软件对抗方面的paper要点
文章目录
- 第一篇paper
- 主要成果
- 主要方法
- 第二篇paper
- 主要成果
- 主要方法
- 第三篇paper
- 主要成果
- 第四篇paper
- 主要方法
第一篇paper
The Limitations of Deep Learning in Adversarial Settings
借鉴JSMA方法构造对抗样例,将其从连续可微的空间转移应用到了离散空间中,初步证明对抗攻击在恶意软件领域的可行性。
主要成果
减少了制作对抗性样本的失真(即更改的特征数量)。我们认为,这使恶意软件可执行文件等输入域的对抗性制作变得容易得多
主要方法
该算法主要是迭代地修改X,直到达到扰动最大值或生成成功的对抗样本。
进行特征挑选。
迭代的步骤为
- 首先生成雅可比矩阵
- 然后调用saliency_map方法,其实这个方法可以理解为根据雅可比矩阵和目标分类为输入向量的每一个特征打分
- 接下来选择分数最大者进行扰动。
第二篇paper
Deceiving End-to-End Deep Learning Malware Detectors using Adversarial Examples
主要成果
- 在二进制文件中,对字节码的微小修改通常会导致其功能/有效性发生重大变化,因此生成对抗性示例并不容易。
- 通过向二进制文件中注入一小部分字节来修改恶意二进制文件。修改后的文件被检测为良性,同时保留其恶意功能。
多位置注入payload,且逃避率与payload长度无关;
Evading detection can be explained by a shift in the model’s attention.
主要方法
插入payload位置,payload为随机字符序列
- 中间文件位置注入:将payload插入到物理大小大于虚拟大小的已使用或未使用的段中
- 文件结尾注入:将payload视为新的部分附加到二进制文件中。
使用FGSM算法迭代payload的值,直至分类器错误识别
为了进一步验证重构的二进制文件的功能,我们评估并比较了有效载荷注入前后文件的行为图,发现它们是相同的。
第三篇paper
Adversarial Malware Binaries: Evading Deep Learning for Malware Detection in Executables
主要成果
也是添加字节序列,构造原本末尾的padding 0的序列
具体算法与上篇文章不尽相同,但思路相同。
第四篇paper
Generic Black-Box End-to-End Attack Against State of the Art API Call Based Malware Classifiers
插入API序列以对抗恶意软件检测
主要方法
1)API序列由可变长度的离散符号组成,而图像则表示为矩阵具有固定尺寸,并且矩阵的值是连续的。
2)在对抗性API序列中,必须验证恶意软件的原始功能是否保持完整。
训练基于API序列的RNN或其变种LSTM模型:
- 只训练API序列,不加参数和返回值
- 仅考虑成功的API调用,忽略失败的API调用,例如写入临时文件而不是无效文件句柄
- 滑动检测:每个API调用序列都分为大小为m的窗口。依次对每个窗口进行检测,如果将任何窗口分类为恶意,则整个序列都是恶意的。
攻击过程:
- 为黑盒模型创建代理模型
- 利用模型间的迁移性,攻击代理模型达到攻击黑盒模型的效果
训练代理模型算法:
- 先验知识为攻击者已知晓使用API调用类型
- 为了学习与黑盒模型相似的决策边界,同时最大程度地减少黑盒模型查询的次数,综合训练输入基于对模型输出变化的方向进行优先排序。
该方法最初在这篇文章中提到:
N. Papernot, P. McDaniel, I. Goodfellow, S. Jha, Z. B. Celik, and A. Swami.
Practical black-box attacks against machine learning. In ASIACCS, 2017
简单说明一下这篇文章的基本思路:
- 训练替代模型,根据常识,图像一般用CNN,序列一般用RNN
- 合成样本数据,根据黑盒模型的输入输出给自己的样本打标签,但全部遍历是不可能的,查询次数过多,容易被封。需要使用更高效的数据合成,利用雅可比的数据合成,雅可比矩阵表述了输出F对输入x的敏感程度,在雅可比矩阵较大的方向上构造合成样本。
- 使用合成样本训练模型,使其学习到原模型的决策边界
- 利用基于梯度的对抗样本生成算法进行攻击
攻击算法:
- 随机选择滑动窗口,随机选择其中的索引值,插入的API为雅可比较大值方向
- 直到替代模型将其分类为良性为止
数据集:
- 25w良性,25w恶意
- 4:1切分
- 训练集和测试集为时间顺序关系
- 使用Virus-Total进行标记,15个以上标记为恶意,否则为良性
有的恶意代码存在反监控,反调试功能:
- 使用YARA规则过滤:https://github.com/Yara-Rules/rules
- 只考虑具有15个API以上的序列
训练了RNN,LSTM,GRU,BRNN,BLSTM,SVM,逻辑回归,随机森林等不同分类器。
准确率如下:
攻击效果:
- 替代模型选为GRU
- 在测试集中随机挑选了70个样本
包装API至原PE文件的方法:
- 使用了代码添加包装器
- 使用IAT Patcher技术hook:http://hasherezade.github.io/IAT_patcher/
四篇关于恶意软件对抗方面的paper要点相关推荐
- 有关计算机辅助手术方面的SCI,临床类SCI写作,我走过的“小白路”!
原标题:临床类SCI写作,我走过的"小白路"! 谈起临床类SCI论文的写作,刚开始酝酿idea的时候,我也是一头雾水,而且我是老板的第一个博士,没有师兄师姐指导,只有自己探索.我老 ...
- 近5年内有关病毒在复杂网络中传播与控制方面的20篇论文
有关病毒在复杂网络中传播与控制方面的20篇论文 Paper的DOI,发表期刊(会议)以及中英文摘要都已写出,大家可根据doi在scihub进行下载.仅仅只是为了记录一下. 1.Optimal ptim ...
- 方浩树:本科Gap两年,确定了未来的方向,还发表了四篇顶会一作
点击上方"CVer",选择加"星标"置顶 重磅干货,第一时间送达 本文转载自:AI科技评论 与国外相比,国内大学的"Gap"文化并不流行.有 ...
- 科研篇二:对抗样本(Adversarial Example)综述
文章目录 一.写作动机与文献来源 二.术语定义 2.1.对抗样本/图片(Adversarial Example/Image) 2.2.对抗干扰(Adversarial perturbation) 2. ...
- 四篇NeurIPS 2019论文,快手特效中的模型压缩了解一下
在即将过去的 2019 年中,快手西雅图实验室在 ICLR.CVPR.AISTATS.ICML 和 NeurIPS 等顶会上发表了十多篇论文. 除了这些研究方面的成果,针对实际业务,西雅图实验室和快手 ...
- mysql第四篇:数据操作之多表查询
mysql第四篇:数据操作之多表查询 一.多表联合查询 #创建部门 CREATE TABLE IF NOT EXISTS dept (did int not null auto_increment P ...
- 查询优化器内核剖析第四篇:从一个实例看执行计划
查询优化器内核剖析第四篇:从一个实例看执行计划 系列文章索引: 查询优化器内核剖析第一篇 查询优化器内核剖析第二篇:产生候选执行计划&执行计划成本估算 查询优化器内核剖析第三篇:查询的执行与计 ...
- 10 道 OOP 方面的 Java 面试题,祝你跳槽涨薪一臂之力
按照惯例,2 月份是一波面试找工作的高峰期,我就是 2014 年的 2 月份回的三线城市. 不过,当时傻乎乎的没有刷面试题,幸好三线城市要求的面试题不是很过分,能答得上来. 如果你年后也有跳槽的打算, ...
- 计算机社团教学活动总结感悟,社团活动收获与感悟【四篇】
[导语]社团是具有某些共同特征.爱好的人相聚而成的互益组织.可分为以营利为目的和以非营利为目的两类社会团体.以下是无忧考网为大家精心整理了社团活动收获与感悟[四篇],供大家的阅读. [篇一]社团活动收 ...
最新文章
- Java并发之synchronized关键字
- protobuf repeated类型的使用
- 2020年推荐系统工程师炼丹手册
- jQuery——给元素添加父级的方法
- 难道冬泳都会断子绝孙?
- 一次vue-cli 2.x项目打包优化经历(优化xlsx插件)
- 关于Assembly.CreateInstance中被启动对象读取配置文件的问题
- Lync Server 2013 Preview 安装体验(四)安装lync server
- 微信分享链接php,微信实现分享链接的缩略图和标题
- android 去广告浏览器,Adblock Browser(去广告浏览器) V1.3.1 安卓版
- 集成灶哪个品牌性价比高质量好,过来人实话实说?
- 输入成绩等级c语言,C语言实现学生成绩等级划分的方法实例
- android拼图小游戏代码,Android实现拼图小游戏
- 如何查看支付宝商户ID(支付宝pid)?
- js删除数组中指定对象
- 逻辑思维类面试题汇编七
- matlab矩阵的定义和运算
- 微信小程序 text 标签小技巧
- Ext.extend 与 Ext.define
- ◆聚会时可以玩的游戏◆
热门文章
- [c/c++] programming之路(7)、数据类型转换、偷钱小程序、进制转换
- postgresql 基本语法
- Hark的数据结构与算法练习之简单选择排序
- python 回测模块_回测调用研究模块总结(慎用Python3 PacVer 2.0)
- C语言程序练习-L1-002 打印沙漏 (20分)
- Java黑皮书课后题第3章:*3.3(代数:求解2*2线性方程)编写程序,提示用户输入a、b、c、d、e和f,然后显示结果
- 2013届华为校园招聘机试题
- Eclipse 常用快捷键-java
- NetworkComms V3 之支持TCP连接和UDP连接
- Go websocket