基于GAN的恶意软件对抗样本生成
♻️ 资源大小2.34MB➡️资源下载https://download.csdn.net/download/s1t16/87425382基于GAN的恶意软件对抗样本生成一、背景意义1.1 简述恶意软件检测发展现状1.2 恶意软件领域相比图像领域增加的约束在过去六年发表的1600多篇关于对抗ML的论文中大约有40篇集中在恶意软件上其中大部分集中在特征空间上https://nicholas.carlini.com/writing/2019/all-adversarial-example-papers.html1.2.1 Evading Machine Learning Malware Detection2017 blackhathttps://github.com/drhyrum/gym-malwarePE文件(特征空间)进行少量的修改这些修改不会破坏PE文件格式也不会改变代码的执行添加一个不使用的API函数更新导入地址表操作现有的section name添加一个新的节区将部分字节添加到节区的额外空间创建一个新的入口点它会立即跳到原来的入口点修改/删除签名修改调试信息打包或解包文件修改或删除头部检验添加字节到PE文件末尾1.2.2 Intriguing Properties of Adversarial ML Attacks in the Problem Space2020 SP揭示了特征空间和问题空间之间的关系并引入了副作用特征的概念作为反特征映射问题的副产品四种常见于任何问题空间攻击的主要约束类型:(除了攻击目标函数外所考虑的问题空间域还可能带有对特征向量修改的约束)可用转换在图像域中像素的值必须限定在0和255之间,在软件领域中2017 blackhat保留语义Misleading authorship attribution of source code using adversarial learning2020 SP)似然性程序要看起来是手动编写的对预处理的鲁棒性程序的死代码删除附加特征为API调用插入有效参数以及为其调用导入依赖项。这些特征不遵循任何特定的梯度方向因此它们可能对分类得分产生积极或消极的影响投影类比攻击者首先在对象x的特征空间中进行基于梯度的攻击从而得到一个特征向量 $$xδ$$该特征向量被分类为负数具有很高的可信度。然而这一点不在约束条件Γ的可行性空间中后者比Ω的约束条件更为严格。因此攻击者需要找到一个投影将$$ xδ^*$$ 映射回可行的问题空间区域从而增加副作用特征向量1.2.3 A survey on practical adversarial examples for malware classifiers二、核心内容2.1 Generating Adversarial Malware Examples for Black-Box Attacks Based on GAN2017 abs 第一篇复现Malware-GAN框架API序列提取方式CuckooAPIcuckoo 接口- json报告 - API_list.txt - 特征01import CuckooAPI api CuckooAPI.CuckooAPI(172.29.226.111, APIPYTrue, port8090) api.submitfile(*.exe)框架描述一个API序列表示一个软件实验结果分析缺点分析只停留在特征空间没有生成问题空间解决方案IAT_patcherIAT hooking application 根据API对抗特征特征空间生成对抗可执文件问题空间笔记博客https://blog.csdn.net/jmh1996/article/details/102972421https://www.zybuluo.com/wuxin1994/note/8811712.2 Generic blackbox end-to-end attack against state of the art API call based malware classifiers2018 RAID提出了一种基于API序列调用分析的针对Windows恶意软件分类器的黑盒对抗式攻击这种规避策略也适用于类似的Android分类器除了对基于API的序列特征的有限关注外它们的问题空间变换留下了两个主要的工件可以通过程序分析添加无操作指令no ops和修补导入地址表IAT。首先插入的API调用需要在运行时执行因此包含作者按照“默默无闻的安全”实践硬编码的单个no ops这是已知无效的[1937]直观地说可以通过识别攻击者用于执行no OPAPI调用的技巧来检测和删除它们例如。读取0字节或者在将动态执行序列馈送到分类器之前从动态执行序列中过滤“死”API调用即没有执行任何实际任务。其次为了避免需要访问源代码新的API调用被插入并使用IAT补丁调用。然而所有新的API必须包含在二进制文件的一个单独的段中并且由于IAT修补是恶意软件作者使用的一种已知的恶意策略[25]IAT对非标准动态链接器的调用或从IAT到二进制文件内部段的多次跳转将立即被识别为可疑。Practical black-box attacks against machine learning使用基于雅可比矩阵的数据集扩充IAT_patcher2.3 Black-Box Adversarial Attacks Against Deep Learning Based Malware Binaries Detection with GAN2020 ECAI框架问题为什么要用GAN生成对抗样本在图像领域出色的模仿能力在我们的模型中一旦GANs的训练过程完成生成器就可以在很短的时间内用输入的恶意软件二进制文件独立生成恶意软件对抗样本。GAN生成对抗样本的方法解析 (advGAN)检测模型Activation analysis of a byte-based deep neural network for malware classification SPW)对抗样本Efficient black-box optimization of adversarial windows malware with constrained manipulationsAimed: Evolving malware with genetic programming to evade detectionAdversarial malware binaries: Evading deep learning for malware detection in executables.(2018 EUSIPCO)Optimization-guided binary diversification to mislead neural networks for malware detectionExploring adversarial examples in malware detection.ytt流程一、背景意义1.1 恶意软件发展现状每天恶意软件增长数量很多安全公司使用机器学习的检测模型基于签名的检测 只能防御已知的攻击Processing virus collections. VIRUS 129 (2001), 129–134机器学习特征空间预测新的输入无监督对相同的家族进行聚类深度学习问题空间Malware Images: Visualization and Automatic Classification 2011Malware Detection by Eating a Whole EXE (2018)机器学习模型的脆弱性-恶意软件对抗样本这些研究指出深度学习算法和人工智能应用的安全性受到严重威胁Intriguing properties of neural networks 2013Explaining and harnessing adversarial examples2015 goodflowAdversarial camera stickers: A physical camera-based attack on deep learning systemsTransferable adversarial attacks for image and video object detection 2019 IJCAI1.2 恶意软件对抗样本的约束对抗性例子的概念在[72]中首次提出并在[28]中得到扩展。举例图像和文本的对抗样本举例1600多篇对抗样本攻击中大约40片恶意代码的大部分特征空间Pierazzi定义了两种搜索策略梯度驱动对码扰动对梯度的影响进行了近似并用它来跟踪梯度的方向问题驱动一种问题驱动的方法在采用进化方法之前首先随机突变。[6]强化学习Evading Machine Learning Malware Detection2017 blackhathttps://github.com/drhyrum/gym-malwarePE文件(特征空间)进行少量的修改这些修改不会破坏PE文件格式也不会改变代码的执行添加一个不使用的API函数更新导入地址表操作现有的section name添加一个新的节区将部分字节添加到节区的额外空间创建一个新的入口点它会立即跳到原来的入口点修改/删除签名修改调试信息打包或解包文件修改或删除头部检验添加字节到PE文件末尾摘要近年来对抗性多目标攻击的研究主要集中在问题空间攻击上主要集中在与图像不同的是在特征空间如软件没有清晰的逆映射的领域中生成真实的规避目标。问题空间攻击的设计、比较和现实意义仍然没有得到充分的探讨。揭示了特征空间与问题空间的关系引入了副作用特征作为逆特征映射问题的副产品的概念。与图片领域的对抗样本的区别生成对抗样本的方式可用转换生成的对抗样本保留语义似然性人看起来不明显二、实验过程MalGAN框架假设恶意软件作者所知道的关于黑盒探测器的唯一信息就是它使用了什么样的功能恶意软件的作者能够从黑盒探测器中得到他们程序的检测结果实验流程前提假设1假设恶意软件作者所知道的关于黑盒探测器的唯一信息就是它使用了什么样的功能2恶意软件的作者能够从黑盒探测器中得到他们程序的检测结果数据预处理PE文件调用 CuckooAPIcuckoo接口 - json报告 - API_list.txt - 特征01160维训练完成黑盒模型对抗训练生成对抗样本优化一次代替模型优化一次生成模型生成对抗样本三、实验结果实验结果分析18万30%malwareAPI特征160维blackbox随机森林、逻辑回归、决策树、支持向量机、多层神经网络集成学习相同的数据集不同的数据集实验缺点分析在特征空间中进行操作实际上从未创建恶意二进制文件而只是将其作为特征向量传递给受攻击的模型。IATpatch hook API注入四、思考与总结软件对抗样本的约束性Intriguing Properties of Adversarial ML Attacks in the Problem Space2020 SP揭示了特征空间和问题空间之间的关系并引入了副作用特征的概念作为反特征映射问题的副产品四种常见于任何问题空间攻击的主要约束类型:(除了攻击目标函数外所考虑的问题空间域还可能带有对特征向量修改的约束)可用转换在图像域中像素的值必须限定在0和255之间,在软件领域中2017 blackhat保留语义Misleading authorship attribution of source code using adversarial learning2020 SP)似然性程序要看起来是手动编写的对预处理的鲁棒性程序的死代码删除附加特征为API调用插入有效参数以及为其调用导入依赖项。这些特征不遵循任何特定的梯度方向因此它们可能对分类得分产生积极或消极的影响投影类比攻击者首先在对象x的特征空间中进行基于梯度的攻击从而得到一个特征向量 $$xδ$$该特征向量被分类为负数具有很高的可信度。然而这一点不在约束条件Γ的可行性空间中后者比Ω的约束条件更为严格。因此攻击者需要找到一个投影将$$ xδ^*$$ 映射回可行的问题空间区域从而增加副作用特征向量 $$η$$.Adversarial EXEmples: A Survey and Experimental Evaluation of Practical Attacks on Machine Learning for Windows Malware Detection为了保留恶意功能以前的攻击要么将字节添加到文件的现有非功能区域从而可能限制其有效性要么需要运行计算要求很高的验证步骤来丢弃在沙盒环境中无法正确执行的恶意软件变体。很多安全公司使用了机器学习的检测模型https://www.sophos.com/products/intercept-x/tech-specs.aspxhttps://www.fireeye.com/blog/products-and-services/2018/07/malwareguard-fireeye-machine-learning-model-to-detect-and-prevent-malware.htmlhttps://www.kaspersky.com/enterprise-security/wiki-section/products/machine-learning-in-cybersecurityhttps://www.avast.com/technology/ai-and-machine-learning与其他问题领域如图像分类中的对抗性规避攻击不同在保留恶意负载的同时操纵恶意软件可能很难实现。尤其是在攻击过程中对输入字节的每一次扰动都可能导致底层语法、语义或结构的变化从而阻止二进制执行其预期目标。为解决此问题攻击者可以采取以下两种方法之一应用侵入性扰动并使用动态分析方法如仿真以确保二进制文件的功能不受损害[423]或将扰动集中在不影响功能的文件区域[78131624]如追加字节。很自然这会导致在一个极端的强大但耗时的攻击和另一个极端的较弱但计算效率更高的攻击之间进行权衡。面临的挑战实验结果被放大检测器特征单一没有对恶意软件样本进行高级分析逆映射的困难Github程序代码未来工作问题空间中的恶意软件对抗样本有更多的空间去增加扰动GAN在恶意软件检测中的其他应用云沙箱-恶意软件检测平台附录A: BlackhatB: ImportAddressTableIAT 和 沙箱api的区别什么是IAT、沙箱恶意软件对抗样本类型基于签名的检测【51】Extended Abstract: Toward Systematically Exploring Antivirus Engines. 2018 DIVWA鲁棒性Adversarial Deep Learning for Robust Detection of Binary Encoded Malware. In 2018 IEEE Security and Privacy Workshops (SPW).Adversarial Deep Ensemble: Evasion Attacks and Defenses for Malware Detection 顶刊 IEEE Transactions on Information Forensics and Security (2020)混淆和对抗样例的关系