【网络流量识别】【深度学习】【四】DNN、GBT和RF—利用大数据和深度学习技术进行入侵检测

本文发表于2019年4月,ACM东南会议纪要,作者为奥萨马·费克等人,现收录于ACM网站。

原文题目:使用大数据和深度学习技术进行入侵检测

原文链接:使用大数据和深度学习技术进行入侵检测|2019年ACM东南会议纪要

 首先看这里:

本文构建了DNN,RF和GBT三个分类器在UNSW NB15和CICIDS2017两个数据集上进行二分类多分类。同时采用同质性度量方法用来提取特征,与全数据集构成对比实验。实验结果表明,二元分类中GBT准确率最高,但是耗时长多分类中,DNN时间短且准确率高。同时,挑选特征的方法得到的数据集效果显然比全数据集的效果更好

目录

摘要

第一节:介绍

第二节:相关工作

1. 关于数据集

2. 相关工作

第三节:分类技术

3.1 K均值聚类和同质性度量

3.2 深度神经网络(DNN)

第四节:提出的方法

4.1 数据预处理

4.2 使用同质性度量的特征排序和选择

4.3 应用深度神经网络和集成技术

第五节:结果和评价

5.1 二元分类

 5.2 多元分类

总结


摘要

本文构建三个分类器:深度馈送神经网络(DNN)和两种集成技术:随机森林(RF)梯度增强树(GBT)。数据集采用UNSW NB15CICIDS2017,此方法采用5倍交叉验证来评估机器学习模型。实验表明,DNN对UNSW NB15进行二分类和多类分类准确度很高,二元分类准确度99.16%,多元分类准确度97.01%。虽然GBT分类器在 CICIDS2017 数据集中实现了二进制分类的最佳精度,为 99.99%,但多类分类DNN的准确性最高,为 99.56%。

第一节:介绍

通过计算均匀性,采用K-means技术来进行特征选择。构建三个分类器深度神经网络、随机森林和梯度增强树进行分类。

第二节:相关工作

1. 关于数据集

(1)CICIDS2017

CICIDS2017数据集提取了八十多个特征,包含14种类型的攻击。包含227w条正常信息(占80%)和55w条攻击信息记录(占20%)。

(2)UNSW-NB15

UNSW-NB15数据集被认为是评价现有和新型IDS方法的可靠数据集。该数据集由254w条记录,其中有9种常见攻击。正常信息占数据集大小88%,攻击信息12%

2. 相关工作

(1)Coelho等人,建议在标签和数据集群之间使用同质性度量来进行半监督特征选择。结果表明,从聚类中检索到的信息可以提高特征相关性和特征选择任务的估计,特别是在标记数据数量太少且未标记数据众多的情况下;

(2)Vijayan等,提出了一种基于遗传算法的特征选择和多支持向量机分类器的入侵检测系统,所提出的方法依赖于选择每种攻击类别的信息特征,而不是每种攻击的共同特征。应用于CICIDS2017数据集,获得了较高的检测精度;

(3)AI-Zewairi等人,提出了一种基于人工神经网络(ANN)的深度学习模型,采用反向传播(随机梯度下降法),在UNSW-NB15上进行二分类。DL模型包含5个隐藏层,每层10个神经元,采用10倍交叉验证技术。结果表明,该模型精度高,报警率较低。

第三节:分类技术

3.1 K均值聚类和同质性度量

K-means聚类算法是常用无监督聚类。数据分为k组,即集群数量。然后为每个簇选择质心,质心与数据点之间的距离用欧几里得方程测量。

(1)对最接近质心的数据点进行分组;

(2)计算这些数据点之间的平均距离,并将平均距离定义为新的质心

(3)重复这个过程,直到没有数据点在集群之间移动。

另一方面,同质性是一个聚类度量,用于确定单个聚类中数据点的同质性。集群意味着将单个类的成员的那些数据点分配给单个集群。这意味着簇的熵应该为零。熵指的是随机性或者不可预测性。同质性被定义为:

 其中H(C、K)是给聚类分配的类的条件熵。计算方法为:

 H(C)是类的熵:

 

 其中n是数据点数量,n(c)是节点n属于c类,n(k)是期望分到簇K的节点数量,n(c, k)是来自簇c被分配给簇k的数据点数量。

3.2 深度神经网络(DNN)

提出的DNN包含三个隐藏层,每一层都完全连接到下一层,隐藏层使用ReLU函数,输出层使用sigmoid函数进行二分类,使用SoftMax函数进行多分类。

第四节:提出的方法

我们提出的方法包括三个主要节点:数据预处理,特征排序和选择,创建和评估学习模型。

4.1 数据预处理

(1)删除套接字信息;

(2)删除空格;

(3)数据归一化;

4.2 使用同质性度量的特征排序和选择

数据预处理后,将K-means算法用于数据集进行特征排序和选择

特征排序和选择是指将每个属性单独处理,使用它聚类数据集。在二分类中,数据点被聚类为正常和异常两组。对于多类分类,K等于数据集中攻击类型的数量。计算得到的的类的同质性得分,然后用作用于聚类的特征的排名得分。排名得分越高,说明特征可以更好的进行分类,反之,特征没什么用。当确定每个特征的同质性等级时,它们从最高等级按降序排列到最低等级。同质性值在0到1之间,零表示聚类中特征的数据点之间缺乏同质性1表示特征的高同质性。在分类过程中,找到一个属于单一类的唯一特征可能比依赖于公共特征更有效,特别是在从多个来源生成的异构数据数量不断增加的情况下。

4.3 应用深度神经网络和集成技术

首先将DNN,GBT和RF应用于完整的CICIDS2018和UNSW-NB15数据集,然后应用于从两个数据集中选取的特征的子集。

DNN输入层分别使用43和78个节点来表示UNSW-NB15和CICIDS2017数据集中输入特征的数量。设置3个隐藏层,分别有128,64和32个节点。在隐藏层中使用ReLU激活功能。SoftMax函数在输出层中用于多类分类,sigmoid函数用于二进制分类。 通过学习模型的反向传播,训练epoch设置为1000,batch大小设置为100万,这是单批中出现的训练示例的总数。首先测试二分类,分类为正常类型和攻击类型,其次多分类测试,所有攻击类型用于多类分类任务。

机器学习技术最初被应用于具有所有特征的数据集(充分考虑)。然后,从数据集中取出排名最低(同质性得分最低)的特征,并重复分类并评估精度度量。每次重复中不断删除下一个排名最低的特征,并评估分类结果,直到最后一个特征(得分最高的特征)。RF中,树数设置为100颗,深度设置为4GBT中,使用loss损失函数,应用100次迭代

第二种场景是针对多类分类,其中攻击类型是类。UNSW-NB15数据集中有 9种 不同的攻击,CICIDS2017年有 14种 不同的攻击数据集。因此,对于深度学习, 输出层中的节点数被设置为攻击 类型的数量 ,并使用 SoftMax激活函数  

使用5倍交叉验证。

第五节:结果和评价

这些实验使用了10个集群。采用PySpark实现。

5.1 二元分类

在使用UNSW-NB15数据集的二元分类中,这三种分类器都具有较高的准确率。报告了完整的数据集和最佳的特征选择结果。ftrs列报告了在最佳精度情况下 使用的特征的数量。具有三个隐藏层的 DNN性能最好的分类器。此外,通过比较提出的方法的结果( 特征选择)与分类器的结果在整个数据集, 精度略有提高,但预测时间显著提高,

 下面是CICIDS2017数据集二元分类结果:

 5.2 多元分类

对于多类分类,删除来自两个数据集的正常网络流量,只保留攻击信息包。 使用了 321,283 个元组,它们表示 UNSWNB15数据集中的9种 不同类型攻击的数据包信息,以及 CICIDS2017数据集中的557,646个 数据包信息。在这里,我们只测试了 DNN和RF分类器 ,因为GBT不支持ApacheSpark中的多类分类。

总结

使用 UNSW-NB15和CICIDS2017数据集来评估所提出的方法。在我们的方法中,我们使用 同质性度量 特征进行排序和选择 。利用深度神经网络(DNN)、随机森林(RF)和梯度增强树(GBT)分类器对二进制和多类模式下的攻击进行分类。所有的实验都是在Keras深度学习库的ApacheSpark上进行的。结果表明,在UNSW-NB15数据集上,DNN对二元分类和多类分类具有较高的准确率(分别为99.19%和97.04%),预测时间非常低。GBT分类器使用CICIDS2017数据集的二元分类准确率最高(99.99%),使用DNN分类器对同一数据集的多类分类准确率最高(99.57%)。
与以往的方法相比,该方法在 特征排序和选择中使用同质性度量 ,获得了更好的精度性能。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值