杨 杰 赵俊杰 张国兴
(中南民族大学,湖北 武汉 430074)
在入侵检测研究中[1],随着网络数据流量来源愈发复杂,研究数据集的维度也在不断增加,传统检测算法渐渐难以满足现实需求,研究工作者引入深度学习提升其检测性能[2]。深度学习通过数据集训练,获取特征间的深层关系,执行分类任务与预测任务。
针对基于深度学习的入侵检测系统,常见的攻击方法有如下几种:(1)污染攻击:通过伪装成普通用户上传虚假数据或截取并篡改数据等方式扰乱数据集的特征分布。(2)中毒攻击:篡改部分标签信息,干扰模型训练。(3)对抗攻击:对输入样本添加轻微扰动,使得深度学习对其进行错误分类[3]。
上述攻击方法难以适配如今基于深度学习入侵检测系统的高速发展。生成式对抗网络(Generative Adversarial Networks,GAN)能够学习数据的特征分布,生成高质量的数据样本[4]。本文构建了一个由GAN、转换器与DBN 构成的模型框架,针对基于深度信念网络(Deep Belief Network,DBN)的入侵检测系统进行攻击。GAN 生成符合一般网络流量数据特征分布的数据样本。转换器保留生成样本的非攻击特征,与攻击行为数据的攻击特征结合,形成具备攻击能力的新的攻击样本。攻击特征与非攻击特征的划分使用随机森林算法进行筛选。DBN 作为本文的攻击目标,设置相关模块能对攻击性能进行有效评估。
2.1 DBN-SVM。基于支持向量机 (Support Vector Machine,SVM)算法的DBN 在应用实践中,检测率更高,分类更加准确[5]。本文选取基于此类算法入侵检测系统作为攻击目标,并作为检测模块,衡量攻击性能[6]。
DBN 基本组成是受限制玻尔兹曼机(Restricted Boltzmann Machine,RBM)。RBM 根据以下能量函数求解参数:
多个RBM 按照顺序依次连接构成DBN。通过训练,使得每个RBM 都能够获取最优的模型参数,该步骤称为预训练。通过预训练可以得到以下权重参数矩阵:
在最顶层的RBM 上构建一个分类算法以完成分类任务,该算法不拘泥于某个特定的分类算法,本文使用SVM算法[7]。
预训练获取的模型参数是每个RBM 的最优参数传给SVM 算法。通过SVM 的训练神经元的参数进行调整参数,最终优化整个DBN 的特征映射,该步骤称为微调,见图1。
图1 基于SVM 网络DBN 的基本结构
2.2 WGAN-GP。GAN 的思想基础是零和博弈,GAN 的结构示意图如图2。
图2 GAN 基本结构
生成器反应随机变量z 到真实的数据样本x 的映射关系,z 服从正态分布,经过生成器得到微分函数g(z),参数为θg。判别器使用参数θd定义判别函数f(x),表示x 是真实数据的概率。由此得出价值函数:
固定生成器的模型参数,最符合要求的判别函数值为:
将固定的判别函数f*(x)代入价值函数,使用JS 散度表达最终函数为:
Pr(x)和Pg(x)的概率分布相等时,生成样本完全符合真实数据的特征分布,价值函数L 的值为最小值,符合求解价值函数最小值的期望目标。
WGAN 通过引入Wasserstein 距离的数学概念,添加一个Lipschitz 约束,能够有效地解决传统GAN 存在的梯度消失梯度消失问题。Wasserstein 距离的特点是即便两个分布没有重叠,Wasserstein 距离仍然能够反映它们的远近。因此,WGAN 不会发生JS 散度或KL 散度引起的梯度消失问题。研究人员使用梯度惩罚(gradient penalty)的概念,对梯度信息进行抑制,避免梯度爆炸的问题。得到如下的价值函数:
GAN 的生成器和判别器不拘泥于算法,许多研究引入了高效的算法模型或者是其改进模型作为GAN 的生成器和判别器,满足多领域、多问题的任务需求。
3.1 数据集。CIC-IDS2018 数据集是加拿大网络安全研究所通过建立模拟正常网络行为和各类网络攻击的系统采集的数据流量特征信息。数据集包含80 个网络流量特征和Bruteforce、Botnet、Dos、Web Attacks、Infiltration 和DDos等攻击行为。不同的攻击根据使用攻击工具的不同细化为多种类别,使用数据标签为这些类别标注。
经过对11 种网络数据集研究后发现,其他数据集存在年代较久、数据不平衡、攻击样本种类不充分等问题,无法满足现今的网络需求。CIC-IDS2018 数据集更贴合当代网络数据特征分布,本文选取该数据集作为攻击数据集。
3.2 数据集优化处理。CIC-IDS2018 数据集存在如下问题:存在少量空值数据和无穷值数据;包含重复冗余数据;数据样本分布不均,难以训练模型。对CIC-IDS2018 数据集进行如下处理:(1)清除异常数据样本。(2)去重。(3)数据均衡,Web Attacks 数据样本过少,对其进行删除。其他数据样本均匀采样。(4)Timestamp 数据类型由日期型数据转换为时间戳类型。(5)采用归一化方法对数据值进行标准化处理。(6)对Label 属性进行独热编码。
3.3 模型基础架构设计。基于GAN 入侵检测攻击方法相关模型架构图如图3 所示。
图3 基于GAN 网络的入侵检测系统攻击框架设计
生成模块是一个完整的WGAN-GP 网络,以生成高质量的攻击样本。输入为随机的噪声变量,输出为79 维的数据样本。该样本学习正常数据样本的特征分布,原则上,不具备相应的攻击能力。通过转换器结合攻击数据中的攻击特征,使其具备攻击能力。判别器将判别结果交给生成器,对生成器优化训练。
转换器模块由基于随机森林算法的特征优先选择算法和组建新攻击样本的转换器构成。攻击行为的数据样本,如果直接修改其重要的相关特征,会造成样本失去相应的攻击能力。而对不重要的相关特征进行改动,数据样本依然具备攻击能力。将重要的相关特征称为攻击特征,其他特征称为非攻击特征。通过随机森林算法对预处理后的CIC-IDS2018 数据集进行训练学习,得到对除Label 属性外的79 个数据特征的排序,最终选取评分在0.03 以上的特征集作为具备攻击能力的攻击特征,见表1。
表1 评分在0.03 以上的特征属性
选定上述特征作为攻击特征,其余的特征作为非攻击特征。转换器将生成样本的非攻击特性与攻击行为数据的攻击特征结合。形成新的攻击样本,送入判别器训练。
检测模块是基于DBN-SVM 的入侵检测算法。将基于该网络的入侵检测系统作为本文的攻击目标,并将其作为模型框架的检测模块,检测最终的攻击性能。该实验流程中,DBN-SVM 对优化处理的数据集进行训练,记录其检测准确率。在GAN 训练稳定后,将攻击样本输入参数训练好的DBN-SVM,对比前后的检测准确率,评估生成式对抗网络生成攻击样本的质量。
4.1 实验流程设置。基于上述模型架构,设置如图4 的实验流程。(1)对CIC-IDS2018 数据集进行优化处理。(2)预处理的数据集划分训练集和测试集,将训练集输入DBN-SVM 训练,使用测试集进行测试,记录稳定的DBN-SVM 的准确率信息。(3)预处理的数据集使用随机森林算法进行特征排序,划分攻击特征和非攻击特征。(4)随机生成的噪声变量数据作为WGAN-GP 中生成器的输入,生成数据样本。(5)将生成样本的非攻击特征与攻击行为数据的攻击特征进行结合,产生新的攻击样本。(6)将从预处理的数据集中选取正常网络行为数据与转换器结合的新的攻击样本作为WGAN-GP 中判别器的输入,输出结果传回生成器,进行迭代训练。(7)对攻击样本进行测试,对DBN-SVM 进行测试,记录其准确率信息,与第二步中的准确率比较,分析实验结果。
图4 基于GAN 网络的入侵检测系统攻击方案流程图
4.2 实验结果。实验环境设置如下,操作系统为64 位Windows10,使用的CPU 是AMD Ryzen 7 5800H,RAM 为16GB。 开 发 环 境 是 TensorFlow1.13.0,CUDA10.0 和CuDNN7.4。生成式对抗网络的学习率设置为0.0005,DBN-SVM 的学习率设置为0.5。
实验表明,基于DBN-SVM 的入侵检测系统在模型训练稳定的状况下,测试集的准确率达到83.48%,错误率为16.52%,见表2。
表2 原始数据经DBN-SVM 测试的混淆矩阵结果
经过生成式对抗网络的稳定训练,选取1200 条生成攻击样本数据交由入侵检测系统检测。经过检测,准确率为36.26%,错误率为63.74%。
对比两次检测结果,错误率差值为47.22%,GAN 的epoch 设置为3000,每学习300 个样本的特征分布产生一次数据样本,生成攻击样本时间为3.1s,见表3。
表3 基于GAN 生成攻击样本与正常网络行为数据经DBN-SVM 测试的混淆矩阵结果
4.3 对比实验及分析。为进一步分析本文提出的攻击方法的性能,选取C&W 和DeepFool 两种对抗样本攻击方法在CIC-IDS2018 数据集上进行实验对比。下表汇总了三种攻击方法的错误率差值和生成攻击样本的时间,见表4。
表4 GAN、DeepFool 和C&W 三种攻击方法的错误率差值及攻击样本生成时间对比
本文提出的攻击方法与DeepFool 方法使得错误率差值基本维持在30%以上,说明产生的攻击样本都能对基于DBN-SVM 入侵检测系统进行有效地攻击。基于GAN 入侵检测系统攻击方法生成攻击样本时间远远低于其他两种攻击方法。
本文提出了基于GAN 的入侵检测系统攻击方法。该方法通过WGAN-GP 生成数据样本,使用随机森林算法划分攻击特征与非攻击特征,并以此为依据将生成样本的非攻击特征与攻击行为数据的攻击特征结合,保留生成样本攻击能力,来规避检测系统的分类,成功地降低其检测效率。通过设置对抗样本攻击中的C&W 和DeepFool 两类攻击方法进行对比实验,表明本文提出的攻击方法对基于深度信念网络的入侵检测系统的攻击更为有效,攻击样本生成时间更快。