基于
深度
学习
网络流量
异常
识别
检测
邓华伟
基于深度学习的网络流量异常识别与检测邓华伟1,2,李喜旺1,31(中国科学院沈阳计算技术研究所,沈阳110168)2(中国科学院大学,北京100049)3(辽宁省智能电网云计算专业技术创新中心,沈阳110168)通信作者:李喜旺,E-mail:摘要:针对传统的工控网络流量数据在复杂网络环境下特征维度高,特征处理复杂度高,模型检测效率低等问题,本文使用了一种基于随机森林(randomforest,RF)和长短期记忆网络(longshort-termmemory,LSTM)结合的流量异常识别与检测方法.首先使用随机森林算法计算流量特征的重要度评分,筛选出重要特征,剔除冗余特征,然后使用 LSTM 进行异常流量的识别与检测.为了评估模型的有效性与优越性,本文使用准确率、精确率、召回率和 F1-score 进行模型评价,并与传统的机器学习方法 NaiveBayes、QDA、KNN 算法进行对比.实验结果表明,在公开数据集 CIC-IDS-2017 中,异常流量识别的总体准确率达 99%.与传统的机器学习算法相比,该方法有效地提高了复杂网络环境下异常检测的准确性和效率,在工业控制网络安全和异常检测方面具有实际应用价值.关键词:异常检测;随机森林;特征选择;深度学习;长短期记忆网络引用格式:邓华伟,李喜旺.基于深度学习的网络流量异常识别与检测.计算机系统应用,2023,32(2):274280.http:/www.c-s- Network Flow Identification and Detection Based on Deep LearningDENGHua-Wei1,2,LIXi-Wang1,31(ShenyangInstituteofComputingTechnology,ChineseAcademyofSciences,Shenyang110168,China)2(UniversityofChineseAcademyofSciences,Beijing100049,China)3(LiaoningSmartGridCloudComputingTechnologyInnovationCenter,Shenyang110168,China)Abstract:Aimingattheproblemsofthehighdimensionoffeatures,highcomplexityoffeatureprocessing,andlowefficiencyofmodeldetectionoftraditionalindustrialcontrolnetworktrafficdataincomplexnetworkenvironments,thisstudyusesanabnormalnetworkflowidentificationanddetectionmethodbasedonrandomforest(RF)andlongshort-termmemory(LSTM)network.Firstly,therandomforestalgorithmisusedtocalculatetheimportancescoreofflowcharacteristics,screenoutimportantfeatures,andeliminateredundantfeatures.Then,LSTMisadoptedtoidentifyanddetectabnormalflows.Inordertoevaluatetheeffectivenessandsuperiorityofthemodel,theaccuracy,precision,recall,andF1-scoreareusedinthisstudytoevaluatethemodel,andthemodeliscomparedwithtraditionalmachinelearningmethodsincludingNaiveBayes,QDA,andKNNalgorithms.Theexperimentalresultsshowthattheoverallaccuracyofabnormalflowidentificationreaches99%ontheCIC-IDS-2017publicdataset.Inaddition,comparedwithtraditionalmachinelearningalgorithms,theproposedmethodhaseffectivelyimprovedtheaccuracyandefficiencyofanomalydetectionincomplexnetworkenvironments,andithaspracticalapplicationvalueinindustrialcontrolnetworksecurityandanomalydetection.Key words:anomalydetection;randomforest(RF);featureselection;deeplearning;longshort-termmemory(LSTM)network计算机系统应用ISSN1003-3254,CODENCSAOBNE-mail:ComputerSystems&Applications,2023,32(2):274280doi:10.15888/ki.csa.008989http:/www.c-s-中国科学院软件研究所版权所有.Tel:+86-10-62661041基金项目:辽宁省“兴辽英才计划”(XLYC2019019)收稿时间:2022-06-04;修改时间:2022-08-15;采用时间:2022-09-28;csa 在线出版时间:2022-11-16CNKI 网络首发时间:2022-11-18274软件技术算法SoftwareTechniqueAlgorithm工业互联网在经济发展和国家发展中具有重要的战略地位.随着信息化的发展普及,传统的工业互联网的暴露程度不断增加.随着近年来网络攻击的泛滥,网络攻击呈现多样化、复杂化、高强度的趋势发展.2021 年 7 月份,国家互联网应急中心(CNCERT)发布2021 年上半年我国互联网网络安全检测数据分析报告指出,2021 年上半年,恶意程序样本捕获数量约2307 万个,日均传播次数达 582 万余次,我国境内感染计算机恶意程序的主机数量约 446 万台,同比增长46.8%,境内目标遭受大量的 DDoS 攻击,网页仿冒、网站后门、网页篡改等安全事件依旧频发,煤炭、石油、电力、城市轨道交通等重点行业存在高危漏洞,工业互联网设备面临诸多安全威胁1.针对工业互联网中重要的业务系统进行异常流量的检测,提前进行预防与研判,对工业互联网的攻击防御具有重要的作用.基于业务系统的流量特征,对业务系统中的异常流量行为进行入侵检测,不仅可以增强系统的防御能力,而且可以在恶意行为潜藏或发生时及时发现并对进一步采取防御措施提供帮助.此外,流量异常检测能够发掘出业务系统的网络流量发展趋势,使得相关部门能够网络规划和网络资源进行优化更新,进而有效防御网络威胁.1流量异常识别与检测在工控系统中,异常识别与检测是一种主动的安全防御技术,可以弥补防火墙等传统防御技术的不足,保证重要业务系统的安全.近年来,异常检测的方法主要有以下几种.基于传统机器学习的方法.机器学习模型方法包括 LightGBM2、XGBoost3、K-means 等,这类方法一般将时序问题转换为监督学习,通过特征工程和机器学习方法进行异常检测.传统的机器学习方法在异常流量的检测方面取得了一定的效果.王智慧等人4为了解决传统攻击检测漏检率、误检率高的问题,提出了基于 LightGBM 的异常流量检测模型,该模型首先使用 KPCA 提取异常流量的关键特征,将高维度的数据进行降维,而后使用 LightGBM 模型进行异常流量的检测,经验证该方法可以有效地实现工控系统异常流量的动态检测.但该模型泛化能力不足,无法检测未知的异常攻击流量.Jiang 等人5提出了 PSO-XGBoost模型,模型利用 PSO(粒子群算法)良好的搜索能力,对 XGBoost 相关参数进行自适应优化,可以有效提高网络入侵检测的效率与准确率.但是粒子群算法波动较大,粒子数量或者迭代次数对算法影响较大,若设置不合理会产生局部最优解或者寻优时间过长的问题.在入侵检测方面,K-means 是最常用也是最为经典的基于划分的聚类算法.其思想是在空间中按照一定策略选择 k 个点作为簇的初始中心,然后基于这 k 个点对数据进行划分,不断迭代,更新每个簇的中心点,不断重新划分,直至到达最大迭代次数或者到最好的聚类结果6.王胜等人7针对 IEC61850 智能变电站专有协议,使用了一种基于信息熵的特征选取方法,而后利用 K-means 聚类算法完成了对异常流量的检测分析集相关分析.虽然 K-means 算法原理简单,但是存在收敛速度慢、算法时间复杂度较高的问题,且对噪声和离群点非常敏感.传统的机器学习方法是浅层学习方法8,难以捕捉到重要信息,局限性较大,无法充分挖掘数据之间的特征与关联,泛化能力较弱,十分有限.基于深度学习的方法.深度学习算法能够充分挖掘和提取数据之间的潜在特征,可以做复杂的非线性映射,具备强大的表征学习能力9.在流量异常检测、电力负荷预测等领域广泛使用且表现出良好的性能以及准确率.深度学习模型方法,包括 LSTM/GRU、wavenet、1D-CNN、Transformer 等.深度学习中的LSTM/GRU 模型,就是专门为解决时间序列问题而设计的,但是 CNN 模型是本来解决图像问题的,但是经过演变和发展也可以用来很好地解决时间序列问题.Transformer 是 2017 年被提出的时序模型,该模型基于 multi-headattention 结构具备同时建模长期和短期时序特征的能力.工控网络流量信息具有周期性和时序性的特性,针对这一特性,田伟宏等人10提出了一种基于 LSTM 的异常流量识别与检测的模型,该方法提前对流量数据值进行预测,在保证识别率较高的情况下,有效提高了模型的检测效率.但是该方法需要依赖于人工的特征提取,特征处理较为复杂,对模型效果影响较大.杜浩良等人11提出了一种融合 CNN 和 LSTM的混合异常检测模型,该模型使用 CNN 提取数据空间特征,LSTM 提取数据时序特征,充分挖掘流量数据的结构化特点和时空特征,有效提高了模型的准确率,但是 CNN 具有较多的权值、阈值,参数对模型影响较大,选择不当容易导致陷入局部极小值解.杨月麟等人12基于 Transformer 提出一种流量异常检测模型,该模型2023年第32卷第2期http:/www.c-s-计 算 机 系 统 应 用SoftwareTechniqueAlgorithm软件技术算法275很好地解决了网络数据流量远程依赖以及数据样本不平衡的问题.经验证该模型在准确率以及检测时间方面均有优异的表现.李梅等人13在 CNN 和 LSTM 的基础上融入了注意力机制,在 CNN 中加入注意力机制可以抽取重要细粒度特征,然后经由 LSTM 抽取时序规律的粗粒度特征.但是这种方法使得模型更为复杂,使得模型时间复杂度高,训练时间较长14.综上所述,复杂多变的网络环境使得网络流量数据朝着高维度发展,在面对高维度的特征数据时,深度学习模型无法有效处理高维度数据,导致模型效率低.因此剔除冗余特征进行特征筛选,是提高模型效率的重要方式.综上本文提出了一种结合随机森林算法与 LSTM 模型的异常流量检测方法,首先使用随机森林算法,对网络流量的特征进行重要度评分,选取相关性最高的特征,充分提取流量信息的关键特征,使用LSTM 模型充分挖掘流量特征之间的关系,进行流量异常的检测与识别,提高系统异常检测的效率.2研究方法 2.1 随机森林随机森林(randomforest,RF)模型15中包含很