瞿迪庆,吕齐,杨怀仁,余侃,吴哲翔
摘要:互联网的飞速发展给人们的生活带来便利的同时,也给网络攻击者提供了良好的环境。网络安全问题不仅关乎民生,也关乎国家安全,因此,网络安全问题引起了中央高度重视。为此,学者们提出了很多应对网络安全攻击和网络异常检测的方法,其中机器学习算法占据重要地位。该文采用多种机器学习方法,首先对数据集KDD99进行网络异常检测,并预测其攻击类型,再对国家电网金华供电公司网络数据进行网络攻击威胁预测及等级分类。研究发现采用决策树算法预测准确度最高,同时运行时间也短,此外,研究揭示KDD99数据集中U2R攻击类型容易被预测为正常类型。该研究为降低误报率和提高网络安全性能的系统设计提供参考。
关键词:网络安全;异常检测;安全威胁等级分类;机器学习;国家电网
中图分类号:TP393 文献标识码:A
文章编号:1009-3044(2021)34-0010-03
1 引言
随着互联网与社会生活的日益深入融合,互联网正在改变着人们的学习和工作方式,同时也面临着日益严重的安全威胁[1-2]。如2006年“熊猫烧香”病毒传播事件,短短一个月时间被感染的用户就超过了几百万。再比如近期发生的以邮件、程序木马和网页挂马为主要传播形式的“勒索病毒”,给全球带来了极大的损失[3]。据CNCERT发布《2021年上半年我国互联网网络安全监测数据分析报告》指出:1)捕获恶意程序样本数量约2307万个,日均传播次数达582万余次,涉及恶意程序家族约20.8万个;2)我国境内感染计算机恶意程序的主机数量约446万台,同比增长46.8%。位于境外的约4.9万个计算机恶意程序控制服务器控制我国境内约410万台主机,境外约1.2万个IPv6地址控制了我国境内约2.3万台IPv6地址主机;3)国家信息安全漏洞共享平台收录通用型安全漏洞13083个,同比增长18.2%;4)CNCERT监测发现,境内目标遭受峰值流量超过1Gbps的大流量攻击事件同比减少17.5%,攻击时长不超过30分钟的攻击事件占比高达96.6%,比例进一步上升,表明攻击者越来越倾向于利用大流量攻击瞬间打瘫攻击目标;5)累计监测发现用于发起DDoS攻击的活跃控制端1,455台,其中位于境外的占比97.1%,主要来自美国、德国和荷兰等;6)监测发现针对我国境内网站仿冒页面约1.3万余个,境内外8289个IP地址对我国境内约1.4万个网站植入后门,我国境内被植入后门的网站数量较2020年上半年大幅减少62.4%,可以发现,尽管存在很多应对网络安全攻击的方法,但是检测和降低甚至防止网络攻击,仍是一个亟待解决的关键问题[4]。
关于网络安全检测和网络安全威胁等级预测,学者们提出了大量的方法[5-6]。Stevanovic 和 Pedersen列出了一些基于机器学习的网络流量异常检测方法,如支持向量机(support vector machine, SVM)、人工神经网络(artificial neural networks, ANN)、决策树和贝叶斯算法,以及一些无监督学习方法,如 K-means、X-means 等[7]。考虑到传统机器学习方法只能进行浅层的学习,学者使用深度学习方法学习大量复杂的输入数据,期望深入挖掘特征与输入之间的关联关系。如Suda等学者利用循环神经网络(Recurrent Neural Network,RNN)挖掘数据包的时间序列特征,研究了车载网络的入侵检测[8]。考虑到传统的RNN网络存在梯度消失或爆炸问题,学者们提出了长短期记忆(Long Short-Term Memory networks, LSTM)网络[9],后来学者们提出了更加简单的网络结构,门控循环单元(Gated Recurrent Unit,GRU)网络,GRU网络可以进一步提升运行速度的同时,预测准确度不會下降[10]。鉴于传统的网络安全态势预测方法依赖于历史态势值的准确性,并且各种网络安全因素之间存在相关性和重要程度差异性。何春蓉和朱江提出一种基于注意力机制的GRU编码预测方法,该方法利用GRU循环神经网络挖掘网络安全态势数据之间的时间相关性[11]。
文章拟基于KDD99数据集[12-13]和国家电网金华供电公司数据集,采用几个传统的机器学习算法,如支持向量机SVM、决策树DecTr、K-近邻KNN、随机森林RF和两个深度学习算法,如多层BP神经网络[14]和双向门控循环控制单元网络(Bi-GRU)[15],研究网络数据异常检测和安全威胁等级预测。
2 数据概述与预处理
2.1 数据概述
为了研究笔者的问题,本文采用两个网络流量数据集,一种是KDD99数据集(KDD CUP 99 dataset[12-13]),另一种是国家电网金华供电公司网络数据。
KDD99数据集为公开数据,含有约16.7万条信息,41个特征,1个标签。标签含有5种类型,分别是normal,DOS攻击,Probe攻击,R2L攻击,U2R攻击。其中normal为正常类,表示网络没有遭受任何潜在安全威胁。其他几个异常类型如下:
DOS攻击:拒绝服务攻击,包括back、land、neptune、pod、smurf、teardrop。
Probe攻击:端口监视、探测或扫描,包括ipsweep、nmap、portsweep、satan。
R2L攻击:来自远程主机的未授权访问,包括ftp_write、guess_passwd、imap、multihop、phf、spy、warezclient、warezmaster。
U2R攻击:未授权的本地超级用户特权访问,包括buffer overflow、loadmodule、perl、rootkit。
41个特征包括9个TCP连接基本特征,13个TCP连接的内容特征,9个基于时间的网络流量统计特征,10个基于主机的网络流量统计特征。
因此,对于KDD99数据,文章基于这41个特征,预测某一行为是否存在网络安全威胁,并预测其攻击类型。
国家电网金华供电公司网络数据集为2019年4月至2021年2月期间的13万余条网络信息,每条信息包含38个字段。其中与网络安全威胁等级预测相关的字段有12个,分别为msgtype(消息类型),protocol(协议类型),direct(威胁方向),acted(对该告警的策略动作),sport(源端口),dport(目的端口),msg(告警描述信息),ds(触发告警威胁字段),iscdnip(是否为cdn ip),alert_type(告警类型),attack_dir(攻击方向),attack_chain(攻击阶段)。标签为alterlevel(威胁等级),分别是1,2,3。
国家电网金华供电公司网络异常检测系统将正常的行为进行了过滤,所以只有异常数据。因此对于公司数据,目的是根据这12个特征,对某条信息的安全威胁等级进行预测,即预测标签alterlevel的值。
2.2 数据预处理
将数据集数值化和标准化处理,并随机分为训练集、验证集和测试集。训练集占比为60%,验证集占15%,测试集占25%。
数值类型标准化方法:
每个数值类型数据除以该特征的数据最大值,即[xijmax (Xj)],其中[xij]代表第[j]个属性的第i个值,[max (Xj)]表示第[j]个属性的最大值。
字符类型特征数值化方法:
基于某个特征,找出所有不同的字符串及个数,将不同字符串用整数标号,最后将整数标准化处理,即除以该列特征数据最大的值。譬如,某个特征有10个不同的值(字符串),那么将这些字符串转化为1至10的数值,再对每个数值除以10,这样就实现了字符串类型数值化。
3 数据分析与网络安全预测研究
为了预测网络异常攻击类型和预测安全威胁等级,采用6种机器学习算法,分别为决策树算法(DecTr),支持向量机(SVM)),K最近邻算法(KNN)),随机森林(RF),以及两个深度学习算法,即多层人工神经网络(BP)和双向循环神经网络(Bi-GRU)。
这些算法可以从python中的第三方库直接调用。对于决策树算法(DecTr),支持向量机(SVM),最近邻算法(KNN),随机森林(RF)四种算法,直接用默认参数;对于BP和Bi-GRU算法,笔者采用3个隐藏层,每层神经元数量为80个,最后一层采用全连接层。为了减少或避免进入局部最优解和过拟合,dropout设为0.2,即随机将20%的神经元当作遗忘。运算批量大小batch_size为64,其他采用默认参数。
3.1 KDD99数据集分析
笔者将数据集随机分为训练集和测试集,比例为4:1,如图1所示。可以发现,训练集和测试集中的各类型分布相近,其中正常的占比最高,约占57%,攻击类型中DOS攻击类型占比最高,约占42%,U2R在攻击类型中占比最低,不到0.1%,表明U2R攻击类型很少出现。
3.2 KDD99数据集攻击类型预测结果分析
如图2所示,文章采用混淆矩阵图像刻画各种算法的预测准确度。混淆矩阵表示测试集中的数据被预测为各个类型的数量构成的矩阵。如果全在对角线,表明预测准确度达到了100%。
文章在图3中给出了上述6种算法的预测准确度和相应算法的运行时长。从图2和图3可以发现,从算法准确度角度看,决策树算法(DecTr)准确度最高,约为99.20%,BP算法次之,约为99.03%,最近邻(KNN)算法约为98.89%,随机森林(RF)约为98.68%,Bi-GRU双向循环神经网络算法约为96.83%,而支持向量机算法SVM准确度最差,约为94.06%。
综合运行时长分析,可以看出,SVM分类算法不仅准确度低,运行时长也高,而KNN算法尽管准确度较高,但是预测时间较长,约为270秒。决策树算法则在准确度和时间方面都占据绝对优势,因此最终选定采用决策树算法。
为了更为精确地了解预测结果,文章采用DecTr算法,进一步分析各类攻击类型的预测误报率,图4结果表明U2R误报为“正常”的比例比其他几种类型要高,约为8%,R2L误报为“正常”的比例约为7%,其他攻击类型的误报率都低于2%。U2R和R2L攻击类型误报率较高的原因可能是这两种攻击类型样本很少,如U2R攻击类型样本数不到50。综上,文章发现误报率属于可接受的范围,该误报率预测结果为降低U2R和R2L误报为正常的系统设计提供参考。
3.3 国家电网金华供电公司数据集分析
首先分析该数据集标签中的各类型分布,如图5所示,可以清晰地发现,威胁等级为1的数量极少,只占了1.4%的比例,威脅等级为2的数据约占了28.5%,而威胁等级为3的比例达到了70%。
3.4 国家电网金华供电公司数据集网络安全威胁等级预测
这里,同样采用上述6种算法对该数据集进行网络安全威胁等级预测。与KDD99数据集结果有点不同,笔者从图6的预测结果发现,随机森林(RF)、决策树(DecTr)和KNN三种算法预测准确度都能达到100%。类似地,SVM算法预测准确度也是最差,同时SVM和Bi-GRU算法的运行时长也很高。RF、DecTr和KNN三种算法不仅预测非常准确,运行时间还短,尤其是对于DecTr算法,不管是训练时间还是预测时间,都不到1秒。
综上,文章发现,采用传统的机器学习算法对于网络安全异常检测貌似更有效,Bi-GRU算法在很多领域中预测准确度非常高,如自然语言处理,图像处理等,但是对于所分析的问题Bi-GRU算法预测准确度一般,一个可能的原因是Bi-GRU算法主要思想是数据集与时间序列有关,期望基于时间序列学习潜在的特征与输出之间的关联关系。然而,网络异常检测问题没有涉及时间序列,所以Bi-GRU算法预测准确度较差。
4 结束语
网络安全问题在国防和民生方面占据着重要地位,准确对网络数据进行异常检测和安全威胁级别分类具有重要研究意义和实用价值。文章基于KDD99公开数据集和国家电网金华供电公司网络数据,采用机器学习算法预测网络攻击类型和安全威胁等级。通过对比几种常用的机器学习算法的预测结果,文章发现采用决策树算法不仅预测更准确,同时运行时间更短。在国家电网金华供电公司网络数据预测结果揭示决策树算法可以达到100%的预测准确度,同时运行时长不到1秒。在KDD99数据集上,决策树算法预测准确度也达到了99.2%。此外,文章发现两种攻击类型,即U2R和R2L攻击类型的误报率较高,分别达到了8%和7%,文章的研究结果为进一步优化设计降低误报率的系统提供参考。
参考文献:
[1] 蒋建春,马恒太,任党恩,等.网络安全入侵检测:研究综述[J].软件学报,2000,11(11):1460-1466.
[2] Aftergood S.Cybersecurity:The cold war online[J].Nature,2017,547(7661):30-31.
[3] 方兴东.勒索病毒事件对全球网络治理的影响[J].中国信息安全,2017(7):31-32.
[4] 陶源,黄涛,张墨涵,等.网络安全态势感知关键技术研究及发展趋势分析[J].信息网络安全,2018(8):79-85.
[5] Xin Y,Kong L S,Liu Z,et al.Machine learning and deep learning methods for cybersecurity[J].IEEE Access,2018,6:35365-35381.
[6] 肖建平,龙春,赵静,等.于深度学习的网络入侵检测研究综述[J].据与计算发展前沿,2021,3(3):59-74.
[7] Stevanovic M,Pedersen J M.On the use of machine learning for identifying botnet network traffic[J].Journal of Cyber Security and Mobility, 2016,4(2):1-32.
[8] Suda H,Natsui M,Hanyu T.Systematic intrusion detection technique for an in-vehicle network based on time-series feature extraction[C].Proceedings of the 2018 IEEE 48th International Symposium on Multiple Valued Logic (ISMVL),2018:56-61.
[9] Hochreiter S,Schmidhuber J.Long short-term memory[J].Neural Computation,1997,9(8):1735-1780.
[10] Chung J,Gulcehre C,Cho K,et al.Empirical evaluation of gated recurrent neural networks on sequence modeling[J]. arXiv preprint arXiv:1412.3555,2014.
[11] 何春蓉,朱江.基于注意力机制的GRU神经网络安全态势预测方法[J].系统工程与电子技术,2021,43(1):258-266.
[12] NSL-KDD dataset[EB/OL].[2021-04-09]. https://www.unb.ca/cic/datasets/nsl.html.
[13] 张阳玉,吕光宏,李鵬飞.SDN网络入侵检测系统的深度学习方法综述[J].计算机应用,2019,39(S2):147-151.
[14] Rumelhart D E,Hinton G E,Williams R J.Learning representations by back-propagating errors[J].Nature,1986,323(6088):533-536.
[15] Lynn H M,Pan S B,Kim P.A deep bidirectional GRU network model for biometric electrocardiogram classification based on recurrent neural networks[J].IEEE Access,2019,7:145395-145405.
【通联编辑:谢媛媛】