### 基于GAN的恶意软件对抗样本生成
#### 一、背景意义
##### **1.1 简述恶意软件检测发展现状**
**1.2 恶意软件领域相比图像领域增加的约束**
在过去**六年发表的1600多篇**关于对抗ML的论文中,大约有**40篇**集中在恶意软件上,其中大部分集中在**特征空间**上
+ https://nicholas.carlini.com/writing/2019/all-adversarial-example-papers.html
##### 1.2.1 Evading Machine Learning Malware Detection
+ 2017 blackhat
+ https://github.com/drhyrum/gym-malware
+ **PE文件(特征空间)进行少量的修改,这些修改不会破坏PE文件格式,也不会改变代码的执行**
1. **添加一个不使用的API函数+更新导入地址表**
2. 操作现有的section name
3. 添加一个新的节区
4. 将部分字节添加到节区的额外空间
5. 创建一个新的入口点,它会立即跳到原来的入口点
6. 修改/删除签名
7. 修改调试信息
8. 打包或解包文件
9. 修改或删除头部检验
10. 添加字节到PE文件末尾
##### 1.2.2 Intriguing Properties of Adversarial ML Attacks in the Problem Space
+ 2020 SP
+ 揭示了特征空间和问题空间之间的关系,并引入了副作用特征的概念作为反特征映射问题的副产品
+ 四种常见于任何问题空间攻击的主要约束类型:(除了攻击目标函数外,所考虑的问题空间域还可能带有对特征向量修改的约束)
+ **可用转换**:在图像域中,像素的值必须限定在0和255之间,在软件领域中(2017 blackhat)
+ 保留语义:**Misleading authorship attribution of source code using adversarial learning(2020 SP)**
+ 似然性:程序要看起来是手动编写的
+ 对预处理的鲁棒性:程序的死代码删除
+ **附加特征**:为API调用插入有效参数,以及为其调用导入依赖项。这些特征**不遵循任何特定的梯度方向**,因此它们可能对分类得分产生积极或消极的影响
+ **投影类比:**攻击者首先在对象x的特征空间中进行基于梯度的攻击,从而得到一个特征向量 $$x+δ$$,该特征向量被分类为负数,具有很高的可信度。然而,这一点不在约束条件Γ的可行性空间中,后者比Ω的约束条件更为严格。因此,攻击者需要找到一个投影,将$$ x+δ^*$$ 映射回可行的问题空间区域,从而增加副作用特征向量
![](https://www.writebug.com/myres/static/uploads/2022/6/1/1440ed1ddf8285e567e5c6eb7a2a52e4.writebug)
##### 1.2.3 A survey on practical adversarial examples for malware classifiers
#### 二、核心内容
##### <u> 2.1 Generating Adversarial Malware Examples for Black-Box Attacks Based on GAN</u>
+ 2017 abs 第一篇
+ **复现**:[Malware-GAN](https://github.com/yanminglai/Malware-GAN)
+ **框架**:![](https://www.writebug.com/myres/static/uploads/2022/6/1/ab0784f4db7b8f860264b9d8252b69af.writebug)
+ API序列提取方式:**CuckooAPI(cuckoo 接口)** -> json报告 -> API_list.txt -> 特征(0,1)
```python
import CuckooAPI
api = CuckooAPI.CuckooAPI("172.29.226.111", APIPY=True, port=8090)
api.submitfile("*.exe")
```
+ 框架描述
+ 一个API序列表示一个软件
![](https://www.writebug.com/myres/static/uploads/2022/6/1/04c1f10512ffb509b6548c7c2e1ead5b.writebug)
+ 实验结果分析
+ 缺点分析
+ 只停留在特征空间,没有生成问题空间
+ 解决方案
+ [IAT_patcher](http://hasherezade.github.io/IAT_patcher/):IAT hooking application 根据API对抗特征(特征空间)生成对抗可执文件(问题空间)
![](https://www.writebug.com/myres/static/uploads/2022/6/1/9f4d21900c448cec0807ebae8cb79fbb.writebug)
+ 笔记博客
+ https://blog.csdn.net/jmh1996/article/details/102972421
+ https://www.zybuluo.com/wuxin1994/note/881171
##### **2.2 Generic blackbox end-to-end attack against state of the art API call based malware classifiers**
+ 2018 RAID
+ 提出了一种基于API序列调用分析的针对Windows恶意软件分类器的黑盒对抗式攻击,这种规避策略也适用于类似的Android分类器除了对基于API的序列特征的有限关注外,它们的问题空间变换留下了两个主要的工件,可以通过程序分析:添加无操作指令(no ops)和修补导入地址表(IAT)。首先,插入的API调用需要在运行时执行,因此包含作者按照“默默无闻的安全”实践硬编码的单个no ops,这是已知无效的[19,37];直观地说,可以通过识别攻击者用于执行no OPAPI调用的技巧来检测和删除它们(例如。,读取0字节),或者在将动态执行序列馈送到分类器之前,从动态执行序列中过滤“死”API调用(即,没有执行任何实际任务)。其次,为了避免需要访问源代码,新的API调用被插入并使用IAT补丁调用。然而,所有新的API必须包含在二进制文件的一个单独的段中,并且由于IAT修补是恶意软件作者使用的一种已知的恶意策略[25],IAT对非标准动态链接器的调用或从IAT到二进制文件内部段的多次跳转将立即被识别为可疑。
+ Practical black-box attacks against machine learning
+ 使用基于雅可比矩阵的数据集扩充
+ [IAT_patcher](http://hasherezade.github.io/IAT_patcher/)
##### 2.3 Black-Box Adversarial Attacks Against Deep Learning Based Malware Binaries Detection with GAN
+ 2020 ECAI
+ 框架:
![](https://www.writebug.com/myres/static/uploads/2022/6/1/b8ebd7681d381ff8edcf0dd399012aec.writebug)
#### 问题:
+ 为什么要用GAN生成对抗样本?
+ 在图像领域出色的模仿能力
+ 在我们的模型中,一旦GANs的训练过程完成,生成器就可以在很短的时间内用输入的恶意软件二进制文件独立生成恶意软件对抗样本。
+ [GAN生成对抗样本的方法解析](https://www.sohu.com/a/405844314_500659) (advGAN)
检测模型:
Activation analysis of a byte-based deep neural network for malware classification (SPW)
对抗样本:
Efficient black-box optimization of adversarial windows malware with constrained manipulations
Aimed: Evolving malware with genetic programming to evade detection
Adversarial malware binaries: Evading deep learning for malware detection in executables.(2018 EUSIPCO)
Optimization-guided binary diversification to mislead neural networks for malware detection
Exploring adversarial examples in malware detection.
### ytt流程:
#### 一、背景意义
##### 1.1 恶意软件发展现状
+ 每天恶意软件增长数量
+ 很多安全公司使用机器学习的检测模型
+ 基于签名的检测 ,只能防御已知的攻击
+ Processing virus collections. VIRUS 129 (2001), 129–134
+ 机器学习(**特征空间**):预测新的输入,无监督对相同的家族进行聚类
+ 深度学习(问题空间):
+ Malware Images: Visualization and Automatic Classification (2011)
+ Malware Detection by Eating a Whole EXE (2018)
+ 机器学习模型的脆弱性->恶意软件对抗样本这些研究指出,深度学习算法和人工智能应用的安全性受到严重威胁
+ Intriguing properties of neural networks (2013)
+ Explaining and harnessing adversarial examples(2015 goodflow)
+ Adversarial camera stickers: A physical camera-based attack on deep learning systems
+ Transferable adversarial attacks for image and video object detection (2019 IJCAI)
##### 1.2 恶意软件对抗样本的约束
+ 对抗性例子的概念在[72]中首次提出,并在[28]中得到扩展。
+ 举例**图像**和**文本**的对抗样本举例(1600多篇对抗样本攻击中大约40片恶意代码的,大部分**特征空间**)
+ *Pierazzi*定义了两种搜索策略
+ 梯度驱动:对码扰动对梯度的影响进行了**近似**,并用它来跟踪梯度的方向
+ 问题驱动:一种问题驱动的方法,在采用进化�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
资源包含文件:设计报告word+项目源码 首先介绍了恶意软件发展现状,引出基于模式匹配、特征空间和问题空间三种方式去检测恶意软件。然后介绍了如何生成对抗样本攻击恶意软件检测器,详细介绍了基于GAN的恶意软件对抗样本的MalGAN框架,并对实验结果进行了对比。最后总结了结构性对抗样本的约束:可用转换 、保留语义、似然性、副作用特征。 详细介绍参考:https://biyezuopin.blog.csdn.net/article/details/125098907
资源推荐
资源详情
资源评论
收起资源包目录
基于GAN的恶意软件对抗样本生成(Python实现).zip (41个子文件)
malgan
设计报告.docx 1.13MB
extract_apifeatures.py 2KB
cuckooapi.py 109B
figures
MLPTPR.png 23KB
retained.png 4KB
TPR_DIF.png 9KB
android_mal_dataset_test.png 23KB
TPR_allclassifiers.png 9KB
Figure_1.png 20KB
z-dimension20.png 22KB
Architecture.png 35KB
mydata.npz 1.15MB
data128.npz 1.78MB
extract_apistats.py 933B
研讨厅3.assets
image-20210531233133549.png 434KB
image-20210531233200895.png 206KB
image-20210531233213891.png 111KB
image-20210531233327421.png 89KB
image-20210531233243251.png 266KB
image-20210531233239754.png 266KB
image-20210531233228757.png 387KB
load_data.py 6KB
data.npz 1.78MB
LICENSE 1KB
saves
Epoch_TPR(SVM, SameTrainData).png 24KB
Epoch_TPR(SVM, DiffTrainData).png 36KB
malgan.h5 219KB
Epoch_TPR(RF, SameTrainData).png 37KB
Epoch_TPR(LR, SameTrainData).png 26KB
Epoch_TPR.png 14KB
Epoch_TPR(XGB, SameTrainData).png 19KB
Epoch_TPR(VOTE, SameTrainData).png 22KB
Epoch_TPR(MLP, SameTrainData).png 20KB
Epoch_TPR(DT, SameTrainData).png 19KB
train_MalGAN.py 12KB
VOTEClassifier.py 2KB
API_list.txt 12KB
apistats
00683694-a6ac-11e6-bc56-80e65024849a.json 2KB
exp.py 7KB
README.md 14KB
datanew60.npz 863KB
共 41 条
- 1
shejizuopin
- 粉丝: 1w+
- 资源: 1300
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页