恶意域名
Anderson H S, Woodbridge J, Filar B. DeepDGA: Adversarially-tuned domain generation and detection[C]//Proceedings of the 2016 ACM Workshop on Artificial Intelligence and Security. 2016: 13-21.
样本类型:域名字符串
数据集:A域lexa 100万中的访问量靠前的名
问题类型:恶意样本生成问题
方法:Autoencoder组成的GAN
我认为的contribution:提出的框架十分具有创新性,DGA的生成方法也是开创性的,文章写得也挺好,实验很完整
恶意网络流
潘一鸣,林家骏. 基于生成对抗网络的恶意网络流生成及验证[J]. 华东理工大学学报(自然科学版),2019,45(2):344-350. DOI:10.14135/j.cnki.1006-3080.20180313003.
样本类型:组数据包序列, 它们具有相同的五元组信息:源 IP 地址、目的 IP 地址、源端口、目的端口、协议类型。将样本转化为 64×64 的二维向量,直接输入 模型。
问题类型:恶意样本生成问题
数据集:UNSW-NB15 数据集,9 种主流的攻击类型(没有良性,是个分类问题)
二进制api数据的缺点:(1)稀疏的特征难以完整反映样本的 特质;(2)二进制的特征向量无法以较小的步长渐变。
方法:利用弱相关位的原理来选择可更改的数据种类,用GAN生成的样本可以是深度学习模型错误分类,同时绕不过基于规则的Snort检测器,即为成功
我认为的contribution:在网络流这个领域提出对抗样本概念,恶意网络流可以直接作为深度学习模型的样本,弱相关位来保持可执行性
僵尸网络检测
Yin C, Zhu Y, Liu S, et al. An enhancing framework for botnet detection using generative adversarial networks[C]//2018 International Conference on Artificial Intelligence and Big Data (ICAIBD). IEEE, 2018: 228-234.
样本类型:预处理将包数据处理成flow数据,包含16种特征的包数据,
问题类型:恶意代码生成问题;机器学习数据集增强
数据集:ISCX botnet dataset created by the University of New Brunswick;normal traffic from ISCX 2012 intrusion detection dataset,其中测试集中有训练集里没有的恶意样本类型
方法:框架中的生成模型不断生成“伪”样本,辅助原始检测模型提高性能。该框架适用于扩充原始检测模型,降低了误报率。
我认为的contribution:在僵尸网络领域使用了GAN,有一定新意,同时用kali
入侵检测
Usama M, Asim M, Latif S, et al. Generative adversarial networks for launching and thwarting adversarial attacks on network intrusion detection systems[C]//2019 15th international wireless communications & mobile computing conference (IWCMC). IEEE, 2019: 78-83.
样本类型:序列,有41个特征,其中34个是连续值,7个是特征类别的值
数据集:KDD99
问题类型:生成恶意样本绕过机器学习模型
模型:GAN和各种机器学习算法
方法:GAN生成样本绕过IDS;生成的样本投进IDS的训练集,强化IDS
我认为的contribution:对比试验丰富,SVM,LR等,实验复现难度会小一些
恶意代码
预处理
Nataraj L, Karthikeyan S, Jacob G, et al. Malware images: visualization and automatic classification[C]//Proceedings of the 8th international symposium on visualization for cyber security. 2011: 1-7.(已复现)
问题类型:恶意代码预处理;图像分类;
恶意软件类型:window PE
方法:本文首先将恶意二进制代码转变为矩阵,再转变为恶意图像。利用二进制代码长度计算出矩阵的行数和列数,矩阵中每个数值对应一个字节,每个字节范围在00~FF 之间,刚好对应图像的像素范围0~255。然后根据纹理特征分类
我认为的contribution:首先提出把恶意代码图像化的概念,把恶意代码的检测问题转变成一个图像检测问题,打开了新的思路。
1神经网络
Grosse K, Papernot N, Manoharan P, et al. Adversarial perturbations against deep neural networks for malware classification[J]. arXiv preprint arXiv:1606.04435, 2016.(已复现用cnn分类pe软件的image)
恶意软件类型:安卓恶意软件
数据集:DREBIN dataset
问题类型:恶意样本生成问题
方法:api二进制化输入模型,加入扰动
我认为的contribution:实验和分析比较完整
Kolosnjaji B, Demontis A, Biggio B, et al. Adversarial Malware Binaries: Evading Deep Learning for Malware Detection in Executables[J]. arXiv preprint arXiv:1803.04173, 2018.
黑/白:白盒
方法:通过目标函数对输入的导数方向选择并在文件末尾增加字节来产生对抗样本
恶意软件类型:Windows PE
数据集:VirusShare、Citadel和APT:19195 malware Popular search engines:4000 benign software
模型:卷积神经网络
Result:60%
我认为的contribution:似乎是第一个攻击Malconv的比较成功的工作,尽管是白盒,但是结果还行
2 GAN
Kim J Y, Bu S J, Cho S B. Zero-day malware detection using transferred generative adversarial networks based on deep autoencoders[J]. Information Sciences, 2018, 460: 83-102.
恶意软件类型:Window PE
方法:1.将恶意代码预处理成RGB三通道的image来处理,保留了较多的特征
- 用autoencoder和GAN结合的tGAN模型,优点是生成器更换了结构之后生成的效果更好了,训练好的判别器通过迁移学习用于零日恶意软件的检测。
数据集:微软kaggle malware
我认为的contribution:处理恶意代码image的思路不错,将GAN与恶意代码image结合
3 强化学习
Anderson H S, Kharkar A, Filar B, et al. Learning to evade static pe machine learning malware models via reinforcement learning[J]. arXiv preprint arXiv:1801.08917, 2018.
恶意软件类型:windows PE
数据集:50K randomly selected malware samples from Virus Share,
• 2.6K ransomware samples downloaded from VirusTotal,
• 1.6K Virut samples downloaded from VirusTotal, and
• 4.1K BrowseFox (adware) samples downloaded from Virus-Total.
方法:更通用的基于强化学习的框架来修改已有的恶意PE软件。它可以对于给定的恶意软件样本,尝试不同的操作序列来尝试避开检测器(查杀病毒的机器学习模型)。其主要方法就是改变pe文件中不影响程序运行的部分
我认为的contribution:提出了一种可行的让恶意软件变异的方法,同时不影响恶意软件的运行,关于变异后绕过机器学习检测算法的实验比较全面,但是关于恶意软件运行后是否还具有杀伤性的实验没有做,而且关于如何让这种恶意样本来增强检测模型能力的实验也没有说的很详细。
4 GAN+强化学习
PESIDIOIUS:Malware Mutation using Reinforcement Learning and GANs(GitHub上的一个模型)
关于以上模型的一个变种,结合了GAN和强化学习。在强化学习对PE文件进行”变异“的过程中需要向PE文件中添加一些内容,比如section table,import list等,这些东西的内容可能会成为机器学习识别算法的一个特征,所以本模型使用GAN去生成一些可以伪造成良性特征的添加内容,再用强化学习进行PE文件修改,从而达到更强的逃避检测能力。
GAN与ML模型安全
[2018][ICLR]Samangouei P, Kabkab M, Chellappa R. Defense-gan: Protecting classifiers against adversarial attacks using generative models[J]. arXiv preprint arXiv:1805.06605, 2018.(有代码)
方法:使用一个GAN模型来减小对抗样本扰动。
前提:所有的恶意样本都是在普通样本上加扰动(perturbation)
大概思路:生成器学会的是随机向量Z到样本空间的一个映射关系G,假设合法样本会在G中一个点的指定范围内,而对抗样本会在这个范围之外,所以,用GAN将样本”投影“(projecting)到G的指定范围内,就可以减少样本的对抗扰动。
防御方法综述:1.对抗训练;2.DEFENSIVE DISTILLATION;3.Magnet:MagNet是对我们的方法最接近的,因为它试图使用一个学习过的自动编码器来改造一个对抗性样本。
数据集:合法的正常样本(本文用的mnist)
模型:WGAN,本文投影(projection)用的GD(梯度下降)
我认为的contribution:一篇引用量600多的文章,传统的方法可能只适用于特定模型,或者黑盒攻击和白盒攻击的一种,而本文的方法都有适用性,可以用于不同的机器学习模型。类似于一种样本投入分类器之前的预处理。实验很完整,白盒和黑盒的实验都做了,可应用的领域很广。
局限性:但是问题在于这个方法的成功非常依靠GAN训练的稳定性,而GAN训练的稳定性问题目前还是一个很重要的研究领域,一个很难解决的问题。
Hu W, Tan Y. Generating adversarial malware examples for black-box attacks based on GAN[J]. arXiv preprint arXiv:1702.05983, 2017.
恶意软件类型:Window PE
样本类型:恶意软件的二进制API序列(一个带索引的二进制数组,固定长度,每一个二进制位代表是否使用了某个动态链接库的api,使用了就是1,没使用就是0)
数据集: https://malwr.com/:180000 samples,30%malware
Result:多组实验达到100%
方法:用自己的机器学习模型去模仿黑盒模型,利用GAN去训练出可以绕过黑盒的样本
我认为的contribution:用自己的模型去模仿黑盒模型。文中开创性提出的GAN结构来实现模仿云上杀软分类器的方法,都很有创新性,实验也很完整,后续很多黑盒实验都使用这个思想去用自己的机器学习模型来“偷取”别人的模型。