1、0ct.2023Journal of Xian UniveNatural Science Edition2023年10 月No.4Vol.26西安文理学院丁然科学版)第2 6 卷第4期文章编号:10 0 8-556 4(2 0 2 3)0 4-0 0 2 7-0 8基于XGBoost的CTU-13僵尸网络流量检测王海宽(晋城职业技术学院信息工程系,山西晋城0 48 0 2 6)摘要:僵尸网络是大数据时代下最严重的网络安全问题之一,僵尸网络感染未受保护的机器,跟踪与命令控制服务器的通信,发送和接收恶意命令.攻击者利用僵尸网络发起DDoS、钓鱼、数据窃取、垃圾邮件等危险攻击.针对上述问题,采用集成
2、学习方法研究在CTU-13数据集中的僵尸网络流量场景下恶意流量的识别问题.在会话级别对数据集进行预处理,采用局部离群因子算法(LOF)筛选离群数据,选择并构建特征;在流量检测阶段,采用XGBoost算法训练得到基于集成学习的流量分类器,并与三种当前主流的传统机器学习算法K-最近邻算法(KNN)、随机森林(Randomforest)和支持向量机(SVM)进行比较.实验表明,XGBoost算法的分类准确率最高,达到99.8 9%.最后,使用SHAP对关键特征在分类任务中的贡献度进行可视化展示.关键词:网络流量分类;僵尸网络;机器学习;数据集;算法中图分类号:TP393.08文献标志码:ATraff
3、ic Detection of CTU-13 Botnet Based on XGBoostWANG Hai-kuan(Department of Information Engineering,Jingcheng Institute of Technology,Jincheng 048026,China)Abstract:Botnet is one of the most serious network security problems in the era of big data.Botnet infects unprotected machines,tracks communicati
4、on with command control servers,andsends and receives malicious commands.Attackers use botnet to launch dangerous attacks suchas DDoS,phishing,data theft,and spam.Aiming at the above problems,Ensemble learningmethod is adopted to study the identification of malicious traffic in the botnet traffic sc
5、enario inthe CTU-13 dataset.Firstly,the dataset is preprocessed at the session level,using the localoutlier factor(LOF)algorithm to filter out outlier data,select and construct features.Then,inthe traffic detection phase,XGBoost algorithm is used to train a traffic classifier based on en-semble lear
6、ning,and compared with three current mainstream traditional machine learning algo-rithms such as K-nearest neighbor algorithm(KNN),random forest and support vectormachine(SVM).The experiment shows that the XGBoost algorithm has the highestclassification accuracy,reaching 99.89%.Finally,SHAP is used
7、to visualize the contributionof key features in the classification task.收稿日期:2 0 2 3-0 1-16基金项目:晋城职业技术学院2 0 2 2 年校级课题(LX2216):“基于人工智能的网络流量分析技术的研究”;山西省教育科学“十四五”规划2 0 2 2 年度课题(GH-221026):“云计算下网络安全技术实现的路径分析”作者简介:王海宽(197 4一),男,山西阳城人,晋城职业技术学院信息工程系讲师,硕士,主要从事人工智能,数据库研究.28第2 6 卷西安文理学院日然科学版)Key words:network
8、 traffic classification;botnet;machine learning;data set;algorithm僵户网络被定义为包含僵尸主机的网络系统,这些僵尸主机连接到Internet,作为终端设备参与网络流量的交换1).垃圾邮件、网络钓鱼、点击欺诈、分布式拒绝服务(DDoS)攻击等针对关键目标的恶意活动都是由这些机器在未经其系统所有者授权的情况下进行的.僵尸网络因其传播恶意软件的能力而对网络系统造成严重的破坏,其大规模恶意攻击旨在窃取对安全或责任至关重要的个人数据 2 .一般情况下,网络流量的元数据流经过预处理后可以分为四个级别.分组级数据从数据包中提取数据包首部和数据
9、包载荷;根据源IP地址、目的IP地址、源端口号、目的端口号和通信协议的五元组提取到流量级数据;通过合并两个IP地址之间的所有流量获得的数据得到连接级数据;此外,还可以从局域网中的主机收集相关信息作为补充,即主机级数据.僵尸网络主机识别任务就是从上述不同层次的数据中提取和选择特征,并进行数据融合.最后,利用机器学习方法对网络流量特征建模,进行模式匹配,得到流量数据的分类结果.此任务的整体解决方案如图1所示,当前基于机器学习的僵尸流量分类研究中,往往存在以下问题:首先,在数据预处理阶段,大部分研究只对数据进行简单的清洗与下采样,缺乏科学的方法对离群(异常)数据的检测.其次,采用传统的单一机器学习算
10、法,对特征进行学习,得到用于分类的模型.然而,单一模型可能存在对数据的学习能力不够从而引起欠拟合的问题,或模型过于简单从而引起过拟合问题,对最终的分类效果产生影响.数据包级报文首部,报文载荷 从单个数据分组获得源IP、目标IP、源端口、目标端口、协议流量级网络流量具有相同的五个元组连接级srclP一dstIP.两个IP地址之间的通信流量主机级从本地主机收集的,作为额外补充数据融合特征选择模式匹配机器学习图1僵尸网络流量检测框架基于以上问题,在CTU-13数据集中的僵尸网络流量检测场景下,本文提出一种基于XGBoost的集成学习方法对僵尸流量进行识别.同时,在数据预处理阶段引人基于密度的局部离群
11、因子(LOF)算法,对离群数据进行清洗,从而保证数据质量,提升模型泛化能力.最后,采用SHAP对部分特征贡献度进行评估并可视化,验证采用的特征的有效性,1研究现状近年来,针对僵尸网络流量识别的研究层出不穷,其中,使用机器学习方法对网络流量特征进行学习,得到流量分类器成为一种基础的检测方法.鲁刚等 3 提出一种恶意流量采集与分类方法,并按照内容特征、数据流统计特征和网络连接行为特征三种流量特征提取模式对流量特征提取方法进行描述,为后续基于机器学习的流量识别方法提供了基础理论依据.Sivaprasad等 4 提出基于统计的网络流量特征,对数据包长度进行统计,例如数据包大小的最小值、平均值、最大值和
12、标准差等,并将其作为一类新的特征,采用朴素贝叶斯与支持向量机算法实现CTU-13僵尸网络流量分类.肖琦等 5 研究采用机器学习算法在CTU-13僵尸网络流量场景下对恶意流量的识别问题,采用持续时间、协议、源和目标IP地址、源和目标端口、状态、总包数和总字节数作为网络流量特征,在横向比较逻辑回归、支持向量机、决策树、朴素贝叶斯、K近邻与随机森林六种经典的机器学习算法后,选用随机森林算法学习提取到特征,并得出分类结果.肖喜生等 6 提出了基于流量摘要的僵尸网络检测方法,首先将原始流数据按照源主机地址聚合,划分适当的时间窗口生成流量摘要记录,然后构建决策树、随机森林和XGBoost机器学习分类模型.
13、在CTU-13数据集上的实验结果表明,该方法能够有效检测僵尸流量,并且能够检测未知僵尸网络.此外,借助Spark技术也能满足现实应29王海宽.基于KGBoost的CTU-13僵户网络流量检测第4期用中快速检测的需要.Alharb和Alsubhi7提出了一个用于僵尸网络检测的基于图的机器学习模型.该模型首先考虑图特征的重要性,然后根据所选的重要特征开发出用于检测僵尸网络的通用模型.在CTU-13数据集下开展的实验结果表明,他们使用的特征减少了训练时间和模型复杂度,并得到较高的检测率,且该模型可以检测不同类型的僵尸网络家族,并表现出对零日攻击的鲁棒性.在基于机器学习算法的检测方法中,通过特征工程人
14、为获得流量特征并训练得到检测模型的方法较为常见,但是大多基于此的研究都采用单一机器学习算法,往往存在对样本数据的拟合能力不够从而检测准确率低下或由于模型结构过于简单而引起的过拟合从而泛化性能较差.2数据集介绍CTU-13数据集 8 是捷克共和国的捷克理工大学(CTU)于2 0 11年捕获的僵尸网络流量数据集.该数据集包含13个不同僵尸网络样本的捕获(capture),也被称为场景(scenario).在每个场景中,研究者通过执行一个特定的恶意软件片段,并利用该恶意软件使用特定的协议执行不同的操作,最终对网络环境下的流量数据进行捕获.每个场景都捕获在一个PCAP文件中,其中包含三种流量类型的数据
15、包.对这些简单的PCAP文件进行处理可以得到其他类型的信息,如netflow、w e b l o g 等.本文采用CTU-13数据集场景1进行僵尸网络主机识别实验.在这个场景中,所有网络流量条目都有14个特征和一个预定义的标签,数据格式如图2 所示,start2011-8-102011-8-102011-8-102011-8-102011-8-10Time09:47:0009:47:0109:47:4809:47:4809:47:49Dur10265391009595305658631117693083411PrototcptcptcptcptcpSrcaddr94.44.127.11394.
16、44.127.113147.32.86.89147.32.86.89147.32.86.89Sport15771577476847884850Dir-Dstaddr147.32.86.5977.75.73.3377.75.73.3377.75.73.3377.75.73.33Dport688180808080StateS_RAS_RAS_RAS_RAS_RAsTos00000dTos00000Totpkts44333TotBytes276276182182182SrcBytes 156156122122122flow=Backgrounflow=Background-flow=Backgrou
17、nd flov=Background flow=BackgroundLabled-Established-Established-TCPAttcmptTCPAttcnptTCPAttcmptCMpgW-CVUTCMDg-CVUT图2CTU-13数据集3分析方法本文提出的僵尸主机流量检测框架可以分为三个模块:特征选择模块、离群点分析模块与网络流量检测模块.3.1特征选择本文利用以上最初的14个特征,并对这些特征提供的信息进行组合,生成新的特征.本文引人的新特征产生方式如下:(1)对所有的流量数据依据相同IP地址、端口号、协议三元组进行划分,从而得到两台主机之间的通信会话.每个会话包含双向网络流量
18、或单向网络流量.为了区分双向网络流量和单向网络流量,本文凤2数上品公左桂识下,基于密度的离群点检测算法可以很好的筛选出离群值30第2 6 卷西安文理学然科学版提出了方向特征.(2)统计会话的持续时间.(3)统计会话流量中所有报文的数量,作为一项新特征.(4)会话的总字节数和从源主机发送的流量字节数,表示为Total_bytes和Source_bytes.(5)源主机发送的报文的协议号和标志位值,分别表示为protocol和Flags.(6)根据IP地址和地理位置的映射关系,得到从源IP.(7)地址发出的数据包的具体地理位置,并得到源国家和源城市的特征.对所有城市和国家进行编码,得到不同的特征值
19、经过以上处理,最终得到的特征如表1所示.按照上述规则对原始数据进行预处理,并按标签对数据项进行划分.最终得到2 7 511条僵尸网络主机流量数据和30 144条正常通信流量数据.3.2离群点分析离群点检测 9-10 是数据挖掘中数据处理的核心问题之一.在统计学中,离群值是指与总体数据偏差过大的数据值,这些数据的出现可能是由于小概率事件的发生,因此对数据挖掘与数据分析过程可能产生影响.在对数据进行预处理时需要对这些离群数据进行清洗 11本文采用基于密度的局部离群因子(LocalOutlierFactor,LOF)算法 12 筛选离群点,从而提高数据质量.LOF算法根据数据密度计算每个数据对象的局
20、部离群因子,识别数据的离群表1特征描述特征描述Duration通信会话持续时间Packets一个通信会话期间包含的数据包数量Total_bytes一个通信会话期间所传输数据的字节数Source会话期间从源主机向目的主机发送的数据的_bytes字节数Port源主机发送报文的端口号Protocol通信会话所使用协议的协议号Flag从源主机发送的第一个数据包的标志位Src_country发送报文的主机所在国家Src_city发送数据包的主机所在城市Direction单向或双向通信程度.选取离群度最大的前N个点作为离群点.该方法受数据分布的影响较小,不会因数据点间距离分布差异较大而导致性能不佳 13.
21、如图3所示,在数据点的分布明显变化很大的情况下,所有数据点可以明显地分为C1和C2两个簇,点p被视为离群值.在基于距离的离群点检测算法可能会存在误报的情况关于这个算法有一些基本的概念需要介绍,以图4为例.首先,点p的第k距离可以表示一个范围,该范围覆盖了点p的第k近邻点.点p的第k邻域表示为点p的第k距离内的所有点的集合,且包括位于第k距离上的点.其次,点p到点O的第k可达距离是指两点之间的距离与点p的第k距离之间的较大值,定义如下:reachdist(o,p)=maxi d(o,p),d,(p)(1)Vo E N,(p),reachdist(o,p)=d,(p)(2)那么,可以通过下式定义点
22、p的第k局部可达密度:reachdist(o,p)local denk(p)=1/OENk(p)(3)IN,(p)该密度值是点p的第k距离邻域内的所有点到点p的平均第k可达距离的倒数.邻域内各点到中心点的平均距离越大,则该点的密度值越低,即该点邻域内的数据点分布越稀疏最后,点p的第k局部离群值按式(4)计算:COO数据点的力布有儿3dk(p)P12.3图4LOF算法原理31王海宽.基于XGBoost的CTU-13僵户网络流量检测第4期local den(o)OENk(p)LOF;(p):-/localdenk(p)(4)IN,(p)式(4)表示的意义是将点p邻域内所有点的平均局部可达密度与点p
23、的局部可达密度作比较,若该值远大于某个阈值,则表明p点的密度远大于p点邻域内其他点的密度,即p点没有遵循近邻点的概率分布,所以可以将p视为离群值.经过L0F算法处理后,筛选出1532 个异常值,最终数据集大小为56 12 3,其中僵尸网络流量数量为2 6 993,正常流量则为2 9130.3.3网络流量检测使用LOF算法对数据集中的离群数据进行排除后,本文使用基于XGBoost的集成学习算法进行训练,得到用于僵户网络流量识别的二分类器.XGBoost14全名为极值梯度提升算法(eXtremeGradientBoosting),是一种对梯度提升算法的改进.梯度提升(Gradient boosti
24、ng),是指boosting算法每一步的弱分类器都是依据损失函数的梯度方向来生成的.与基础的Boosting算法GBDT不同,XGBoost算法采用分步前向加性模型,只不过在每次送代中生成弱学习器后不再需要计算一个系数.它由k个模型组成一个加法运算式:y;=2f.(x.)(5)t=1其中,f()为弱分类器,为最终分类结果.因此,损失函数由式(6)计算:L=(6)i=1其中,y,表示第i个特征的真实值,n表示样本数量.模型的预测精度由偏差与方差共同决定,因此最终期望的目标函数应当由式(7)定义:Z l(y,j.)+(f.)nL()(7)i=1其中,u()表示正则化,具体为:1T(f)=T,+=入
25、)2(8)2j=1,入为超参数,T为叶子节点数,w为叶子节点相关权重.通过正则化,可以控制模型的复杂度.有助于降低模型方差,抑制弱分类器的过拟合现象,从而增强模型的泛化性.对每个弱学习器(决策树),树的建立过程做并行选择,找到合适的子树分裂特征和特征值.在并行选择之前,先对所有的特征值进行排序分组并选择合适的分组大小,从而提高算法效率.4实验结果4.1LOF结果可视化由于实验所用数据集中数据量较大,数据点较多,因此为便于对离群点分析的结果进行可视化展示,本文选取数据集中的一个子集,并使用PCA方法降维后进行离群点分析,可视化结果如图5所示.在原LOF算法设计中,将LOF指数大于1的样本点视为异
26、常值.但在实际应用过程中,样本的LOF值存在振荡现象,因此将异常值的确定阈值设为10.0.4.2模型训练一-230010152025图5LOF算法结果可视化本文将数据集按7:3分为训练集和测试集.然后采用不同的32第2 6 卷西安文理然科学版机器学习方法对模型进行训练,并在测试集上对样本进行预测,得到实验结果.实验在python环境下进行,使用sklearn封装的机器学习算法.4.3与单一模型对比本文采用该领域主流的三种机器学习方法作为比较对象,探讨采用集成学习方法所获得的性能增益.(1)K最近邻算法K最近邻算法(K-Nearest Neighbor Algorithm,KNN)15】的提出基
27、于以下假设:本质相似的事物在空间内的具有较高的位置相关性 16 .在实现KNN时,第一步是将数据映射到向量空间,得到特征向量表示.然后,算法通过比较向量空间内这些点的数学值之间的距离来对数据进行分类.在KNN中最常用的算法是用欧氏距离 17 公式来计算数据点之间的距离:d(p,q)=d(q,p)=/(q,-p,)2KNN工作的原理如图6.首先计算每个数据点与测试数据之间的距离,然后发现这些点与测试数据相似的概率,并根据这些点共享的最大概率对它们进行分类.(2)随机森林算法随机森林 18 是一种灵活、易于使用的机器学习算法,在大多数情况下即使不需要超参数调整也能产生良好的结果.如图7 所示,随机
28、森林是由大量的个体决策树组成的,这些决策树作为一个整体运行.随机森林中的每棵树都会抛出一个类预测,得票最多的类将成为模型的预测结果,随机森林的一大优点是它可以同时用于分类和回归问题,这是目前机器学习系统的主要组成部分。(3)支持向量机支持向量机 19 对标记的两组向量给出一个最优分割超曲面,并将这两组向量分成两边,使两组向量中离超平面最近的向量,即所谓的支持向量,尽可能远离超平面.与逻辑回归 2 0 和神经网络 2 1-2 相比,支持向量机在学习复杂的非线性方程时提供了一种更为清晰,更加强大的方式。首先,使用KNN算法在不同K值下对模型进行训练,训练结果如表2 所示.接下来,分别使用随机森林算
29、法和支持向量机算法进行实验.在随机森林算法相关实验中,模型的最优准确率为98.54%.在支持向量机算法相关实验中,以RBF为核函数,得到模型的最佳准确率为96.8 2%(9)132图6KNN分类原理Predict1PredictoPredict1宁Predict1PredictiPredictoPredict1Predict1Predicto图7随机森林结构种传统机器学习算法与XGBoost集成学习算法得到的模型指标如表3所示表2不同K值下KNN算法的性能AccuracyRecallF1-scoreK=1500.96900.968 80.9695K=1800.96930.969 00.969.
30、9K=2000.97050.969 90.9702K=2500.96890.968 50.968 9Avg.0.969 40.969 00.969 6由表3,可以得出以下结论:表3模型性能比较算法准确率KNN0.969 4(avg.)/0.970 5(K=200)Random Forest0.9854SVM0.968 2XGBoost0.998 933王海宽.基于XCBoost的CTU-13僵尸网络流量检测第4期(1)在KNN算法中,k值的选取会对模型的性能产生直接影响,在本实验中,当k值为2 0 0 时,获得了最高的准确率,为97.0 5%;(2)采用集成学习的方法训练得到的分类器具有最佳性
31、能,相比传统的单一模型机器学习算法,得到的模型具有更强的判别能力.4.4特征重要性评估本文使用SHAP来探讨对分类效果起到重要作用的一些关键特征的重要性,并将特征的贡献度进行可视化.SHAP23(SH a p l e y A d d i t i v e e x Pl a n a t i o n)是解决模型可解释性的一种方法.SHAP基于Shapley值,该值是经济学家Lloyd Shapley提出的博奔论概念“博奔”是指有多个个体,每个个体都想将自己的结果最大化的情况.该方法为通过计算在合作中个体的贡献来确定该个体的重要程度,如图8 所示。32201一2Jn01-4-2一6-3-0500100
32、015000_2000250030003.500123456789DurProto21100-1-1-2-223456020000400006000080000100000DirTotPkts462402-20-42-6-4024680.00.20.40.60.81.0TotByles1e7SrcBytes1e7图:SHAP算法可视化结果5结语在大数据时代,网络系统遍布日常生活的方方面面,通信流量的交换每时每刻都发生在各个终端设备之间.因此,如何确保这些接入网络系统的设备的安全成为了网络安全领域的一大研究课题.由于其强大的感染性以及隐蔽性,僵尸主机对正常的网络运行构成极大威胁与破坏.本文对该领
33、域的主流工作进行了详尽的分析与介绍,并使用集成学习算法,在CTU-13僵尸网络流量场景下对恶意流量进行识别.实验结果表明,相比于传统的单一机器学习方法,采用集成学习策略可以进一步提高模型的准确率,增强模型的泛化性能,在僵尸网络流量的识别问题中具有较高的准确性.参考文献1XING Y,SHU H,ZHAO H,et al.Survey on botnet detection techniques:classification,methods,and evaluation JJ.Math-王新奇责任编辑34第2 6 卷西安文理学院自然科学版)ematical Problems in Enginee
34、ring,2021,2021(8):1-24.2于洋,陈丹伟.基于卷积神经网络的僵尸网络检测 J.计算机应用与软件,2 0 2 2,39(5):336-341+349.3鲁刚,郭荣华,周颖,等.恶意流量特征提取综述 J.信息网络安全,2 0 18(9):1-9.4SIVAPRASAD A,GHAWALKAR N,HODGE S,et al.Machine learning based traffic classification using statistical analysisJ.Int.J.Recent Innov.Trends Comput.Commun,2018,6(3):187-1
35、91.5肖琦,苏开宇.基于随机森林的僵尸网络流量检测 J.微电子学与计算机,2 0 19,36(3):43-47.6肖喜生,龙春,杜冠瑶,等.基于流量摘要的僵尸网络检测 J.计算机系统应用,2 0 2 1,30(8):18 6-193.7ALHARBI A,ALSUBHI K.Botnet detection approach using graph-based machine learning J.IEEE Access,2021(9):99166-99180.8GARCIA S,GRILL M,STIBOREK J,et al.An empirical comparison of botn
36、et detection methods JJ.Computers&Securi-ty,2014(45):100-123.9黄洪宇,林甲祥,陈崇成,等.离群数据挖掘综述 J.计算机应用研究,2 0 0 6(5):18-2 5.1O SOUIDEN I,OMRI M N,BRAHMI Z.A survey of outlier detection in high dimensional data streamsJ.Computer ScienceReview,2022(44):100463.11 DEGIRMENCI A,KARAL O.Efficient density and cluster
37、 based incremental outlier detection in data streamsJ.Informa-tion Sciences,2022(607):901-920.12 谅谢兄,唐昱.基于局部估计密度的局部离群点检测算法 J.小型微型计算机系统,2 0 2 0,41(2):38 7-392.13邹云峰,张昕,宋世渊,等.基于局部密度的快速离群点检测算法 J.计算机应用,2 0 17,37(10):2 932-2 937.14 SAGI O,ROKACH L.Approximating XGBoost with an interpretable decision tree
38、J.Information Sciences,2021(572):522-542.15毋雪雁,王水花,张煜东.K最近邻算法理论与应用综述 J.计算机工程与应用,2 0 17,53(2 1):1-7.16 GALLEGO A J,RICO-JUAN JR,VALERO-MAS J J.Efficient k-nearest neighbor search based on clustering and adap-tive k valuesJ.Pattern Recognition,2022(122):108356.17 FAISAL M,ZAMZAMI E M.Comparative analy
39、sis of inter-centroid K-Means performance using euclidean distance,can-berra distance and manhattan distance CJ/Journal of Physics:Conference Series.IOP Publishing,2020,1566(1):012112.18 董红瑶,王奔丹,李丽红.随机森林优化算法综述 J.信息与电脑(理论版),2 0 2 1,33(17):34-37.19 BIAU G,SCORNET E.A random forest guided tourJ.Test:An
40、 official Journal of the Spanish Society of Statistus andOperations Research,2016,25(2):197-227.【2 0】何洋.改进支持向量机在特征数据挖掘中的智能应用 J.九江学院学报(自然科学版),2 0 2 2,37(2:8 0-8 3.21 BOATENG E Y,ABAYE D A.A review of the logistic regression model with emphasis on medical research J.Journal ofData Analysis and Informa
41、tion Processing,2019,7(4):190-207.22 1HANCOCK J T,KHOSHGOFTAAR T M.Survey on categorical data for neural networks JJ.Journal of Big Data,2020,7(1):1-41.23 MARCiLIO W E,ELER D M.From explanations to feature selection:assessing shap values as feature selection mechanism CJ/2020 33rd SIBGRAPI Conference on Graphics,Patterns and Images(SIBGRAPI).Ieee,2020:340-347.