Deep Reinforcement Adversarial Learning Against Botnet Evasion Attacks
摘要简介:
在针对基于ML的网络入侵检测系统(NIDS)的对抗逃避攻击的情况下,我们提出了一种新颖的方法,该方法利用深度强化学习(DRL)来提高依赖于网络流分析的检测器的健壮性。我们的建议允许自动生成现实的对抗性样本,以保留其潜在的恶意逻辑并可以以很高的概率规避检测。通过基于自动生成的样本的对抗训练程序,对检测器进行加固。据我们所知,本文代表了第一个提议,该提议利用深度强化学习来通过对抗训练强化僵尸网络检测器。在我们的研究中,我们考虑了构成网络安全领域的真正限制。它们包括通过小而可行的修改来创建对抗性样本的必要性,还暗示了攻击者为逃避检测而进行的查询数量有限。此外,对抗训练需要准确的分析,因为在没有对抗攻击的情况下,它甚至可能会降低检测性能。
方法:
灰盒假设前提:
- 不知道完整的特征集
- time- and data-related information 因为基于流的检测器基本上都是使用的方式
以上的特征是比较公认的特征,然后攻击者所基于的特征,这里有一个疑问对于IP为什么是bool类型的。
典型的对抗样本可能呈现不同的持续时间,不同数量的交换字节或传输的数据包,修改这些特征的值会影响表I中的多个属性,因为其中一些是衍生功能。作者考虑更改对不损害僵尸网络基本逻辑。
准备阶段:
1、创建DRL代理,针对某种类型僵尸网络代理自动生成可逃避的对抗样本,并且需要保留恶意软件的底层逻辑,同时还需要考虑到探测检测器边界的次数。
2、环境,包括两个元素:一是状态生成器;二是一个僵尸网络检测器D‘(T)在数据集T上训练的检测器。
3、奖励,由检测器的输出决定(标签翻转了基于奖励,没有就没有奖励),代理会一致修改样本知道能够逃避检测或者到达最大的修改数量
4、动作空间,对一些特征的小增量,(duration, sent bytes,received bytes, transmitted packets) and correlated features.
5、算法选择:
DDQN可以避免DQN对现实网络的过估计,期望快速和低成本的迭代过程,并且需要很少的查询就可以逃逸
基于Sarsa的代理将尝试通过选择更小的修改来逃避检测,但以增加迭代次数为代价。
准备阶段的DRL代理A(b)被训练为根据属于T中包含的僵尸网络b的网络流生成对抗性样本。
样本生成流程:
1、输入恶意流样本到state generator
2、生成器将恶意样本给到agent,agent产输出修改样本的动作给generator
3、generator根据输出进行修改,输出给检测器
4、检测器输出判断结果,如果没有成功那么会没有奖励
硬化模型:
通过逃逸样本对模型进行对抗训练,作者做了一个实验,对注入不同比率的对抗样本,对检测器性能的影响
实验:
数据集:
CTU and the BOTNET ISCX
检测器:
1、RF随机森林
2、WnD
均使用8-2分用于训练和测试,恶意流量与良性流量比率1:20,每个僵尸网络家族均训练一个检测器,因此每个数据集一共五个分类器。
样本修改的细节
- 将每个特征的扰动增量限制为最多两个单位,代理可以将持续时间增加1或2秒,或者可以通过增加1或2个数据包来修改Total Pkt。
- 由于是直接修改流级别的特征所以导致衍生特征值不一致,所以要进行相应的计算,源字节的增加需要每秒字节的增加,由于修改的幅度很小(最多为+2个单位),我们不需要更新Duration,因为在同一时间范围内通过数据包或字节传输更多数据是现实可行的。
- 有限的查询数量
攻击实现:
作者设想了三种场景:
1、E1,修改样本次数设置为5次
2、E2,通过手动修改最多四个特征(持续时间,源字节,目标字节,总数据包)的组合来更改检测器,这些特征以固定量更改,即(+ 1,+ 2,+ 5,+ 10,+ 30)。
3、E3,(1, 2, 5, 10, 30)-> (1.5, 3.5, 7.5, 20),一个未知的攻击持续时间的探索
由于用于对抗训练的增强数据集包括模仿相应攻击模式的样本,因此我们可以预期,当攻击类型为E1时,经过我们框架加固的检测器可以获得更好的结果,而在E2场景中,手动方法应该会产生更好的结果。另一方面,E3中的对抗性样本代表了无法预料的攻击,因此,即使在这种情况下,我们的强化方法也非常有效
评价:
每个基线检测器的前5个最重要特征的排名:发现total_pkts这个特征比较重要。
以Qmax = 8 0生成的样本的ER逃逸率和平均查询数量Qavg(在括号中)。与基于Sarsa的代理相比,基于2DQN的代理需要更少的逃避检测尝试。
以Qmax = 1或5的情况下的逃逸率
本文和六室的很像,可以查询次数为啥这么少???
[4]没有考虑基线检测器的特征的重要性
硬化模型的效果如下:
进行注入样本率的敏感性比较:这个实验不考虑了,没有什么意义
仔细一读这篇文章感觉又没有什么用了,写的也不是很清晰。
没有相应的实际的算法和流程,没有比较详细的DRL的定义,实验做了很多,有一些目的,但是方法还是没特点。不过立意不错。