利用强化学习来躲避基于机器学习的静态恶意PE文件检测模型

栏目: 数据库 · 发布时间: 6年前

作者: {WJN}@ArkTeam

原文标题: Learning to Evade Static PE Machine Learning Malware Models via Reinforcement Learning

原文作者: Hyrum S. Anderson, Anant Kharkar, Bobby Filar, David Evans, Phil Roth

原文出处: https://arxiv.org/pdf/1801.08917 ( 前导文章曾在 BlakHat 会议上展示,链接为 https://www.blackhat.com/docs/us-17/thursday/us-17-Anderson-Bot-Vs-Bot-Evading-Machine-Learning-Malware-Detection-wp.pdf )

机器学习常常应用于恶意软件检测,因为它具备检测未知恶意软件家族和恶意软件多态的能力。然而最近在对抗性机器学习方面的研究表明,深度学习模型容易受到基于梯度的攻击。

在本文中,作者提出了一个基于强化学习( RL )的更通用的框架,用于攻击静态可移植可执行( PE )恶意软件检测系统。该框架不需要可靠的模型,也不需要目标系统产生分数。相反, RL 代理程序配备了一组可在 PE 文件上执行的功能保留操作。通过针对目标恶意软件检测系统的一系列交互,即可了解哪些操作序列可能导致避开任何给定恶意软件样本的检测。这样可以对静态 PE 恶意软件检测系统进行完全黑盒攻击,并直接产生功能性回避的恶意软件样本。

一、强化学习简介

强化学习模型由代理和环境组成,他们在一系列轮转(或离散时间步长)中相互作用。对于每个轮转t,代理可以基于策略π(a | s t )和可观察的环境状态向量st选择动作a∈A。环境产生奖励r t ∈R以响应所选择的动作以及新的环境状态向量s t+1 。将环境s t+1 的奖励r t 和观察状态反馈给代理,以基于策略π(a | s t+1 )选择新动作。代理人通过勘探和利用的妥协平衡逐渐学习,根据环境的状态产生行动。代理的目标是学习导出一个策略,该策略最大化由Vπ(st)= E a t [Qπ(s t ,a t )| s t ]定义的预期收益。通过Vπ促进不会立即产生奖励但对最终结果很重要的早期行动,这可以预测给定状态的长期回报。该函数估计对给定状态采取给定动作的预期效用称为Q函数。

二、实验场景映射

在实验中,作者训练 ACER 代理( actor-critic model with experience replay )来学习图 1 所示框架的策略。在所示的 Markov 决策过程中,代理获得环境状态 s S 的估计,由恶意软件的特征向量 s 表示(不需要与目标恶意软件检测系统的恶意软件的任何内部表示相对应)。 Q 函数和行动政策决定采取什么行动。
在我们的框架中,动作空间 A 包含一组对 PE 文件的修改,它们( a )不破坏 PE 文件格式,( b )不改变恶意软件样本的预期功能。
奖励函数由恶意软件检测系统度量,如果被修改的恶意软件样本被判定为恶意(无逃避),则奖励为 0 ;如果被认为是良性(逃避)则为 R 。然后将奖励和状态反馈给代理。

利用强化学习来躲避基于机器学习的静态恶意PE文件检测模型

1 系统架构图

  1. Anti-malware

100,000 个恶意和良性样本进行训练的梯度增强决策树模型。

2. State

恶意软件样本在环境中以原始字节存在。但是,为了更简洁地表示恶意软件样本的当前状态,环境以特征向量的形式反馈状态。在实验中,作者使用 2350 维特征向量,该向量由以下一般类别的特征组成:

PE 标头元数据

•节元数据:节名称,大小和特征

•导入和导出表元数据

•人类可读字符串的计数(例如文件路径, URL 和注册表项名称)

•字节直方图

2D 字节熵直方图

3. action

环境中代理可采取动作的含义为对 PE 文件进行适度的不会破坏 PE 文件格式并且不会改变代码执行的修改。文章中采取的动作包括但不限于:

•将函数添加到从未使用的导入地址表中

•操纵现有的 section 的名称

•创建新的(未使用的) section

•在节的末尾将字节附加到额外的空格

•创建一个新的入口点,立即跳转到原始入口点

•删除签名者信息

•操纵调试信息

•包装或拆包

•修改(中断)头部校验和

•将字节附加到叠加层( PE 文件的末尾)

本文所实现的是最具挑战性的攻击方案,即攻击者可以获得的信息有限制:

1 )目标分类器的输出是严格的布尔值,仅表明分类器认为样本是良性或恶意。

2 )目标分类的特征空间和结构完全未知。

3 )没有第三方(例如 oracle )来保证样本有效。

三、实验结果展示

利用强化学习来躲避基于机器学习的静态恶意PE文件检测模型

1 在培训期间发现的规避变种的数量

利用强化学习来躲避基于机器学习的静态恶意PE文件检测模型

2 交叉逃避

作者将强化学习代理产生的样本上传到 VirusTotal ,发现与原始样本的检测率相比,中值检测率下降。该结果说明通过绕过相对简单的机器学习模型,造成商业产品的交叉逃避是可能的。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Docker从入门到实战

Docker从入门到实战

黄靖钧 / 机械工业出版社 / 2017-6 / 69.00元

本书从Docker的相关概念与基础知识讲起,结合实际应用,通过不同开发环境的实战例子,详细介绍了Docker的基础知识与进阶实战的相关内容,以引领读者快速入门并提高。 本书共19章,分3篇。第1篇容器技术与Docker概念,涵盖的内容有容器技术、Docker简介、安装Docker等。第2篇Docker基础知识,涵盖的内容有Docker基础、Docker镜像、Dockerfile文件、Dock......一起来看看 《Docker从入门到实战》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

SHA 加密
SHA 加密

SHA 加密工具