APP下载

基于CFS 子集提取技术的DoS 攻击检测方法*

2020-06-08孟凡欣

通信技术 2020年5期
关键词:子集分类器特征

易 涛,孟凡欣

(中国电子科技集团公司第三十研究所,四川 成都 610041)

0 引 言

DoS 攻击的基本原理是通过控制网络上的大量设备,发送无意义的数据包耗尽网络及主机的计算与服务资源。DoS 攻击的平均峰值2019 年与2018年相比稳中有升,说明DoS 攻击的技术成熟度在不断提升。同时超大规模DoS 攻击事件数量快速增长,2019 年比2018 年增长了200 余次。当前DoS 攻击的主要方法依然是SYN Flood、ACK Flood 和UDP Flood三类,而混合攻击仍然为DoS攻击的主流方式。2019 年,使用多种攻击手法的混合DoS 攻击事件占比达到12.5%。随着物联网技术的快速发展,越来越多的物联网设备参与DoS 攻击,网络防护运营面临新的挑战[1]。

目前,通过检测干扰系统服务的异常流量来为系统提供安全的DoS 攻击常规检测方法主要有以下几种,一是基于网络流量变化的检测方法,通过与正常流量大小相比来进行检测判断;二是基于地址变化的检测方法,通过对源地址出现频率和分布情况来进行判断;三是基于数据包头信息的检测方法,通过比对SYN 数据包数量和发出的SYN+ACK 数据包数量的差异来进行检测。无论基于何种方式,分类器设计的核心目的是能够快速高效的对异常行为进行识别。文献[2]研究探讨了多种监督学习算法检测DoS 攻击的效果,实验结果表明朴素贝叶斯模型效果最好,但该模型并没有对数据集进行特征提取,过多的数据冗余与噪声会极大的干扰模型的训练精度,拖慢预测模型的训练进程,使模型在训练过程中消耗更多不必要的计算资源。文献[3]是开发一个基于神经网络的DoS 流量检测系统的模型及其分类,以提高对某类DoS 流量检测的准确性,但模型显示UDP DoS 攻击分类的准确率较低,主要原因是UDP DoS 攻击值与合法流量参数的对应关系未能分清。文献[4]采用支持向量机和随机森林叠加的方式来提升网络入侵判别的性能,基于KDD 数据集对9 种分类算法进行了比对,提出了采用叠加的集成算法优于单一分类器性能的思路。文献[5]研究了低速率DDoS 攻击在云环境下检测的方法,采用贝叶斯网络进行检测,提升了检测精度并降低了计算资源的消耗。

基于上述问题和研究趋势,在前人研究的基础上本文采用了特征工程的方法在KDD 数据集上对DoS 混合攻击数据特征进行离散化处理,采用CFS最佳优先搜索算法搜索特征向量空间,对数据进一步地压缩与降维,提升模型对威胁的精准判别效能。最后,通过利用随机森林算法在权威的数据集上进行测试,对DoS 攻击属性特征全空间及降维空间进行比对,证明基于特征优化的混合式DoS 攻击检测的有效性与优越性。

1 基础知识

1.1 数据离散

数据离散是指将连续的数据分组成一段段离散的区间。实现数据离散的方法主要包括等距离法、等频率法或优化的方法等几种方法。数据离散主要有三个原因,一是有效减小分类算法的时空开销,提升检测模型的抗噪声能力和分类能力;二是离散化特征更具有可理解性,可以较为直观快速理解数据表示的结果;三是离散型数据对数据中的缺陷有较好的处理能力,使得分类模型与测试效果能够更加稳定。

等宽离散法:即将属性值分为k个区间,每个区间具有相同宽度,根据实际需要确定k值。每个属性值对应所属空间。

等频离散法:即在每个区间放入数量相同的属性值,根据实际需要确定区间的个数。

聚类离散法:将数据聚类后,在每个相同簇的属性值进行统一的标注,簇的个数根据实际需要来确定。

1.2 CFS(correlation-based feature selection)算法

CFS 算法主要通过启发的方式评估搜索算法筛选出来的特征子集的相关性,评分高低由两个参数决定,分别是属性与类别的关联度以及属性之间的关联度。启发公式如式(1)所示:

式(1)中,Merits为包含k个特征的特征子集S的估计值,rf-f为特征-特征平均相关性参数,rc-f为特征-类平均相关性参数,r为相关系数,所有变量执行标准化。启发式方法主要识别高度关联的相关属性特征,对类的判别不起作用的属性特征将被删除。

1.3 随机森林算法

随机森林由多个决策树集成,每棵树之间不存在关联。输入一个新的样本后,森林中的每一棵决策树会独立进行判断归类,样本的预测值为判定数量最多的那一类。随机森林属于Bagging 算法的一种,具有减少方差的特性,因而模型泛化能力较好,与此同时,可以采用并行的方式创建分类器[6]。

2 实验验证

2.1 实验环境

本文实验搭载于Windows 10 系统,使用的计算机配置为Intel i7-8565U CPU@1.8 GHz 和16G 内存,测试平台是Weka 3.8.3。Weka 平台集成了众多数据挖掘算法,可以完成各种功能,包括数据预处理、数据分类、数据聚类、数据相关性分析四大功能。Weka 的扩展性很强,它包含了很多可以实现的接口,使用者如果想要完成自己的算法优化,可以根据官方的开发文档使用相应的接口来自行开发。

2.2 实验数据

NSL-KDD 是目前公共网络流量权威数据集之一,网络入侵检测领域中的大多数实验都基于该数据集进行。通用的NSL-KDD 数据集根据难度大小划分为21 个级别,一共包含四个样本子集,分别是“KDD Train+”、“KDD Train_20percent”、“KDD Test+”和“KDD Test-21”。其中前两项为训练集,后两项为测试集,“KDD Train_20percent”是“KDD Train+”的20%子集,“KDD Test+”包含了所有的测试数据,“KDD Test-21”为难度级别为21 的测试子集,如表1 所示。

通用的NSL-KDD 数据集包括四种常见的网络攻击类型: Probe、DoS、R2L 和U2R[7]。其中,DoS 主要攻击类型包括Smurf 攻击、Teardrop 攻击、Pod 攻击、Neptune 攻击等,如表2 所示。

表1 NSL-KDD 数据类别

表2 NSL-KDD 数据集中的DoS 攻击

2.3 评估指标

模型效能的评估指标主要采用两种,准确率(Accuracy)和精确率(Precision)。如式(2)和式(3)所示:

其中,TP为真正,表示正例预测正确的数目;TN为真负,表示负例预测正确的数目;FP为假正,表示负例中被错误地分类为正例的数目;FN为假负,表示正例中被错误地分类为负例的数目。模型性能好坏的判断标准是准确率、精确率越高,误报率越低。

2.4 实验步骤及模型

第一步,将KDD Train+中45 927 个DoS 攻击和67 343 个Normal 从数据集中分离,并作离散化预处理,在KDD Test+中剥离出DoS 攻击和Normal数据集;第二步,利用CFS 子集技术,从41 个属性中筛选出特征向量;第三步,利用筛选出的特征向量子集训练随机森林模型;第四步,利用离散化的测试集进行特征降维后的分类器测试,并与基于41 维非离散化特征的DoS 攻击检测分类器进行效能比对,检测模型如图1 所示。

图1 基于CFS 的DoS 检测模型

2.5 实验结果

采用随机森林算法对41维全维数据进行测试,然后使用CFS 子集技术进行特征约简后的测试,对二者结果进行比较。

(1)CFS 子集约简特征

将KDD Train+中45 927 个DoS 攻击和67 343个Normal 从数据集中分离,进行离散化处理,采用CFS 技术选择后主要包括13 维属性特征,“protocol_type”、“flag”、“src_bytes”、“dst_bytes”、“land”、“wrong_fragment”、“hot”、“logged_in”、“srv_serror_rate”、“same_srv_rate”、“diff_srv_rate”、“dst_host_count”、“dst_host_same_srv_rate”。

(2)比较结果如表3 所示

表3 实验结果

3 结 语

在物联网规模化发展的今天,低成本的混合式DoS 攻击仍是攻击者热衷的手段,而快速的检测及发现方式是防御方必须要考虑的问题。本文基于业界通用的NSL-KDD 数据集,全面分析了DoS 攻击的特征属性,并在此基础上构建了主流DoS 攻击数据样本集,通过采用CFS 技术实现了对数据特征的降维来提升分类器的效能。实验证明了通过主特征降维后训练的随机森林算法模型在数据离散化后发现DoS 攻击的时间损耗和精度上均获得了提升。在未来,基于此特征选择方法,可以进一步尝试不同机器学习算法的时效性比对,并在此基础上构建一个完善有效的DoS 攻击检测系统。

猜你喜欢

子集分类器特征
根据方程特征选解法
离散型随机变量的分布列与数字特征
学贯中西(6):阐述ML分类器的工作流程
拓扑空间中紧致子集的性质研究
基于朴素Bayes组合的简易集成分类器①
Carmichael猜想的一个标注
关于奇数阶二元子集的分离序列
基于特征选择的SVM选择性集成学习方法
不忠诚的四个特征
基于差异性测度的遥感自适应分类器选择