APP下载

面向网络流量入侵检测系统的黑盒攻击

2021-07-19何珍祥

电脑与电信 2021年5期
关键词:网络流量检测器神经网络

付 森 何珍祥

(甘肃政法大学网络空间安全学院,甘肃 兰州 730070)

1 引言

随着人工智能的兴起与发展,机器学习算法在许多方面都有被应用,在网络安全领域贝叶斯算法被用于过滤垃圾邮件、随机森林被用于恶意域名检测、聚类以及深度神经网络等算法被用于网络入侵检测等,机器学习算法在推动人工智能发展的同时,它的自身也会有安全问题存在,很多研究人员只关心怎么提高模型的性能,但是经常会将模型的脆弱性和鲁棒性给忽略掉。通常情况下,攻击者可以利用恶意网络流量发动有效攻击并获取利益,他们通过深入研究这些网络流量检测算法,发现漏洞并加以利用。本文的研究内容是从攻击角度出发,旨在提出一种更强的攻击算法以促进防御方法的提升。

现有研究发现,机器学习在受到轻微输入扰动时很容易被干扰,这些干扰虽然无法被发现但是会轻易造成检测器识别准确率降低。Segedy[7]等人首次发现在图像上添加了不易察觉的扰动,并且将训练后的神经网络分类误差最大化后,神经网络无法将图像进行正确分类。添加轻微扰动后的样本称为对抗样本。截至目前,对抗样本的生成方法主要分为两种:一种是基于梯度算法生成对抗样本。Xiao[8]等人引入一种基于自适应梯度的对抗攻击方法,该方法依据输入的先验梯度,并自适应地调整扰动的累积量,从而执行高级别的对抗攻击;张文翔[14]等人提出了基于批量梯度的快速梯度符号法(Mb-MI-FGSM),该方法使用了神经网络损失函数对批量输入中的每一个样本的偏导数的均值来指导对抗样本的生成。这类梯度算法的对抗样本生成方法只有在攻击者提前已知检测模型的结构和参数,即白盒攻击时才能获得较好的攻击性能,在黑盒攻击方面性能表现很差,然而在现实场景的应用中,黑盒攻击的现实意义远大于白盒攻击,因为攻击者大部分情况下无法明确知道各类异常检测器其具体的学习模型。另一种是利用生成对抗网络(GAN)来生成对抗样本,例如,郭清扬[10]等人提出训练一个产生扰动的深度卷积网络作为生成模型来生成不同的对抗样本,一个残差网络作为判别模型来确保生成的样本看起来是真实的,主要用于在黑盒攻击中生成对抗样本;孙曦音[11]等人利用类别概率向量重排序函数和生成对抗网络,在待攻击的神经网络内部结构未知的情况下生成对抗样本;潘一鸣[17]等人利用GAN生成恶意网络流,但是其仅仅适用于缓冲区溢出漏洞攻击网络流的生成问题,方法扩展性不足。由此可知,利用生成对抗网络可以在未知检测模型知识(即黑盒攻击)的背景下生成足以欺骗学习模型的高质量的对抗攻击样本。

因此,本文基于生成对抗网络提出了一种新的用于黑盒攻击的对抗样本生成方法,该对抗样本生成方法在只知道检测器算法所使用的流量特征,而对其学习模型的结构和参数未知的前提条件下,通过训练一个判别器来拟合网络流量检测算法,并用原始流量的样本和随机噪声的叠加作为生成器的输入,利用GAN 中多层神经网络的非线性结构使其能够生成更复杂、更灵活的对抗样本来欺骗检测模型,生成的对抗样本没有改变恶意网络流量样本本身的攻击性能,该方法的最终目的是进一步大幅度降低利用GAN生成黑盒攻击的对抗样本在欺骗网络流量的检测时的被检测率,实验结果表明,通过本文方法可以在保证恶意流量攻击特性的条件下生成对抗样本,用于攻击流量检测模型,使其在对恶意流量的被检测率降低了83.4%。

2 网络入侵检测

在20世纪80年代,开始了网络入侵检测的研究,即根据网络流量数据或主机数据来判断系统行为的正常或异常,可以抽象为分类问题。

根据检测方式的不同,网络入侵检测可分为误用检测、异常检测及混合检测。误用检测是根据已知的攻击样本进行分类,神经网络通过学习训练已有样本的攻击特性将攻击样本进行区分,由于检测的攻击类型都是已知的,所以该模型检测效率高,误报率低。异常检测是将恶意网络流量样本的连接特征与已知正常连接特征进行对比,将正常连接与攻击连接区分开来,它的学习模型比误用检测的更加复杂,而且它的效率低,误报率高。为了提高对未知攻击的敏感性,提高效率和降低误报率,混合检测将二者结合起来,在实际应用中更为广泛。

如图1所示描述的为网络入侵检测的主要步骤,首先通过网络流量采集工具采集数据或者使用公开的网络入侵数据集,然后进行预处理提取数据特征,最后选择适当的模型训练识别。

图1 基于机器学习的网络入侵检测流程图

3 生成对抗网络

生成对抗网络(Generative Adversarial Network,GAN)是由Goodfellow 等人在2014 年提出的,这种网络模型通过两个神经网络组成,一个是生成器,另一个是判别器。整个网络模型如图2所示。

图2 生成对抗网络模型

生成对抗网络(GAN)的目的是训练一个样本生成系统,使其能够生成与目标样本集分布类似的新样本。GAN的核心思想是博弈论中的纳什平衡,生成器学习原始恶意网络流量样本数据的分布,让它生成欺骗判别器的虚假样本,而判别器则尽可能判别样本是来自生成器还是训练集,两者在对抗训练下不断优化,最终达到纳什平衡。该网络的目标函数如下所示:

式中,G代表生成器,D代表判别器;z是服从高斯分布的随机噪声;pdata(x)代表真实数据的概率分布;pz(z)代表随机噪声的概率分布;x~pdata(x) 表示从真实数据的分布中随机抽取x;z~pz(z) 表示从高斯分布的随机噪声中抽取噪声z;D(x)和G(z)均表示判别器和生成器在接收括号内输入后所输出的向量。对于生成器G来说,通过随机噪声z作为输入,生成器G 期望自己生成的样本尽可能地欺骗判别器D,所以需要最大化判别概率D(G(z)),于是对于生成器G,它的目标函数是最小化ln(1-D(G(z)))。对于判别器D,为了尽可能地区分真样本和虚假的生成样本,它希望最小化判别概率D(G(z))的同时,最大化判别概率D(X),其中X是真实样本。于是判别器的目标函数是最大化lnD(X)+ln(1-D(G(Z)))。

在训练GAN 的过程中,一般情况下训练多次判别器D之后,才对会对生成器G 训练一次,这是因为需要训练成熟的判别器,使其能够较好的区分真实样本和生成样本之后,更加准确地对生成器的参数进行更新。可以证明,当训练样本足够多时,模型会收敛,PG(X)≈Pdata(x)二者达到纳什均衡。此时判别器D 对真实样本和虚假样本的判别概率均为1/2,样本达到难以区分的程度。

4 KDD Cup99数据集

KDD Cup99 数据集中每个连接由41 个特征描述,其中以数值形式表示的有34个(连续持续时间、与当前连接具有相同的目标主机的连接数等),其余7个特征为文本类型(协议类型、目标主机的网络服务类型等)。

与图像数据不同,网络入侵的样本特征存在大量的离散文本量,通过one-hot 编码方式处理后仍存在大量0-1 离散值,此类数据很难通过梯度寻找对抗样本,而现有的白盒对抗算法大多是以计算梯度作为基础。特征向量中离散的文本特征大多是表示访问的方式、连接的状态等属性,在访问主机时,这些特征不易改变,所以本文在寻找对抗样本时,保持这些离散文本特征不变,仅通过在连续数据上添加扰动生成对抗样本。

5 对抗样本生成方法

5.1 概述

本文提出的基于生成对抗网络的用于黑盒攻击网络流量检测器的对抗样本生成方法的整体网络模型框架如图3所示,整个主要包括判别器和对抗攻击样本生成器。

图3 基于黑盒攻击的对抗样本生成方法流程

网络流量检测器是一个期望欺骗的网络流量检测算法。本文假设攻击者只了解检测器采用的网络流量特征是哪些,而对其内部使用的网络结构和参数一概不知,但攻击者能够从检测器中获得对网络流量的检测结果(属于哪一类攻击流量)。

该方法与现有算法的主要区别在于,对抗样本是根据检测器的反馈动态生成的,而现有的算法大多数是在已知检测模型的结构和参数的情况下,采用基于静态梯度的方法来生成对抗样本。

通过该模型生成的对抗样本的概率分布由生成器决定。生成器通过改变攻击样本的概率分布,使其远离检测器训练集的概率分布。在这种情况下,生成器有足够的机会引导检测器将恶意网络流量错误分类为良性流量。

5.2 判别器

由于攻击者对检测器的结构和参数未知,因此本文使用判别器来拟合检测器,从而提供梯度信息来对生成器的网络参数进行更新。

判别器是一个权重为θd的,具有4个隐藏层深度卷积神经网络依次具有1024,256,5个神经元,选择ReLU作为激活函数,以确保模型的非线性。将学习率设置为0.0002,epoch设置为10(迭代次数的设置如本文实验部分的图5 所示)采用Adam 优化器促进模型收敛,以特征向量X 作为输入(512个作为输入节点),输出层将输入流量特征分为五种类别(分别为正常、DOS 攻击、R2U、U2R、探针攻击),最后将由判别器产生的新标签添加到样本集中。判别器损失函数如下所示:

图5 判别器拟合目标检测器的收敛曲线

判别器的训练集由攻击者收集的良性流量样本和网络攻击流量样本共同组成。需要注意的是,训练集中数据样本的真实标签不用于训练判别器,判别器的最终目标是匹配检测器。因此检测器将首先检测训练集中的流量样本是属于哪一类,之后判别器将使用由检测器得出的预测标签作为真实标签进行训练。本文通过这种方式来充分拟合检测器,另一个方面,由此训练得到的替代判别器可以作为生成对抗网络的最优判别器,从而以此为基础,不断地优化生成器,使其生成最优的对抗样本。

5.3 生成器

生成器用于将恶意攻击网络流量样本转换为可攻击检测器的对抗样本。它以原始流量的特征向量F 归一化之后的向量X 和噪声向量Z 的和为输入,X 和Z 都是具有512 个元素的二维向量,特别地,Z中的每个元素都为[0,1]区间内且满足高斯分布的随机数,将Z中每个元素的值对应添加到网络流量特征向量X 上,得到生成器的输入向量X'={x1+z1,..,xn+zn}。这样做的目的是为了使生成器可以从单个恶意网络流量特征向量上生成不同的对抗样本。

向量X'被输入到一个权重为θg的多层深度神经网络(生成器)中,该深度神经网络的网络结构除输出层外,其他层的结构与替代判别器的网络结构一致。超参数设置方面,将学习率设置为0.0002,同样采用Adam 优化器,epoch 设置为5,(由实验部分的图可知,当迭代次数达到5次时,模型收敛)。该网络的输出层有512 个神经元,它将输出限制在(0,1)范围内,输出为G(X')为了使生成的对抗样本仍然保持可攻击性(增加的扰动足够小),本文利用判别器的输出作为对抗样本与原始真实样本数据分布差异的测度,并以此建立约束保证生成器生成的对抗样本与原始真实样本的分布一致性,约束的具体公式如下:

式中,θg表示生成器G的网络参数,px和pz分别表示原始流量X 和随机噪声Z 的分布,表示以原始流量X为条件,生成器通过随噪声Z生成的对抗样本。

生成的对抗样本为攻击者进一步欺骗检测器提供了参考依据,攻击者可以根据生成的对抗样本修改相应的攻击程序,如修改数据包大小,修改数据包发送间隔时间等。在这里,可以通过最大-最小标准化的反向运算来得到具体对抗样本的特征向量Y。

如式所示,在实际的反向运算中,本文忽略了对抗样本中对于第i个特征值的最小、最大值的变化,因为这对具体的对抗样本特征向量的生成影响很小。

特别地,在本文提出的对抗样本生成模型中,可以发现生成器和判别器不是同时被训练,这是因为模型中判别器作用是拟合检测器,需要配合检测器进行单独训练,因而在生成器训练的过程中,判别器是固定的,它的作用只是将得到梯度信息反馈到生成器中,从而不断地优化生成器。

6 实验与分析

6.1 数据获取与预处理

将KDD Cup99 的数据下载并保存,从文件中提取数据得到一个原始特征数据,通过特征提取函数将原始特征数据生成One-hot编码的特征数组和标签数组,One-hot编码有助于多层神经网络更好地学习离散的文本特征。将特征数组及标签数组以9:1 的比例随机生成测试集和训练集,然后将训练集与测试集进行标准化处理以方便多层神经网络学习。

6.2 实验步骤

将处理好的KDD Cup99 数据集的10%的训练集,用于训练网络流量检测器,然后使其达到收敛状态,如图4所示,当训练轮数为10时,我们用90%的测试数据集测试该网络流量检测器,然后用标签进行对比,准确率达到92%,并且网络流量检测器达到收敛状态。

图4 训练网络流量检测器收敛曲线

实验首先进行的是判定器拟合网络流量检测器的部分,该部分先将KDD Cup99 数据集网络流量样本经过数据处理后输入检测器中,输出并记录检测器对每个流量样本的新标签,之后将带有新标签的同种流量样本作为判定器的训练集。其次是对生成器的训练部分,该部分是将KDD Cup99数据集的10%用作生成器的训练集,剩下的90%作为测试集,来测试生成的对抗样本的有效性。

6.3 实验结果及分析

在对网络流量的检测中,计算判别器和检测器对相同恶意流量数据集的识别准确率。当判别器的识别率与目标检测器一致时,便可以充分地证明替代判别器可以很好地拟合该检测器,进而可以利用该替代判别器来训练生成器。但是我们假设是在不知道检测器的内部构造及参数的情况下,用恶意流量检测器对原始流量分类后产生新的标签,来拟合判别器,所以我们最终拟合的判别器与恶意网络流量检测器还是有差距。

判别器在拟合恶意网络流量检测器时的收敛曲线如图5所示,Y轴表示的是替代判别器和目标检测器在对恶意攻击流量的识别检测率TPR,X轴表示训练迭代的次数。红线代表判别器随训练次数的增加对恶意流量的识别检测率,由图可知当替代判别器训练到10次左右时,达到收敛状态,检测器与判别器的识别率相差20%,在本文中针对恶意网络流量检测器的拟合曲线达到了最佳效果。

如图6 所示,Y 轴表示的是生成器生成的样本和原始样本在对恶意流量检测器进行攻击后,检测器对它们的识别率TPR,X轴表示的生成器和恶意流量检测器的训练迭代次数,红线代表生成器随着训练迭代次数的增加对原始恶意流量进行扰动后,生成的对抗样本在目标检测器的识别率,绿色虚线代表了恶意流量检测器随着训练次数的增加对原始恶意流量检测的识别率。由图可知运用恶意网络流量检测器检测原始恶意网络流量可达到92%的平均检出率,当生成器训练到第6轮时,对原始流量增加的干扰已经不稳定了,所以对生成的对抗样本的在生成器训练迭代5次的时候平均检出率只有8.6%,两者相差83.4%达到了最佳效果。可见,通过本文提出的流量对抗样本生成方法生成的对抗样本可以有效欺骗网络流量检测器,有助于恶意网络流量样本规避相关流量检测器的检测。

图6 目标检测器对对抗样本的识别曲线

综上所述,可知使用本文提出的方法生成的基于恶意流量的对抗样本在欺骗检测器方面具有很好的性能,很有扩展性。

7 结论及未来工作

本文针对未知网络流量检测器结构和参数的前提条件下,基于生成对抗网络提出了一种新的用于黑盒攻击的对抗样本生成方法。该方法通过构建替代判别器来拟合网络流量检测器,从而利用生成对抗网络向原始恶意流量样本添加不改变其攻击特性的微小扰动,试图欺骗流量检测器的检测。实验结果表明,在KDD Cup99数据集下,该方法生成的对抗样本可以大幅度降低基于深度卷积学习算法的流量检测器对恶意流量的检出率。

由此可见,基于深度学习的网络流量检测器在面对这种对抗样本时缺乏防御能力,很容易被攻击者利用。因此,在未来工作中还需要探究对抗防御,研究出更好的防御手段或者模型,以帮助深度神经网络抵抗对抗样本的攻击。

猜你喜欢

网络流量检测器神经网络
基于多元高斯分布的网络流量异常识别方法
基于神经网络的P2P流量识别方法
神经网络抑制无线通信干扰探究
基于二次否定剪切选择的入侵检测方法*
AVB网络流量整形帧模型端到端延迟计算
车道微波车辆检测器的应用
一种柱状金属物质量检测器的研究
一种雾霾检测器的研究与设计
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用