基于神经网络模型的网络入侵检测的研究

2018-05-23 01:17禹,丁箐,罗
网络安全与数据管理 2018年4期
关键词:分类器准确率神经网络

王 禹,丁 箐,罗 弦

(中国科学技术大学 软件学院,安徽省 合肥市 235000)

0 引言

网络犯罪每年给全球经济造成的损失高达5 750亿美元,其中包括罪犯违法所得和遭受攻击的公司防护和维修带来的费用,据说截至2019年,网络犯罪带来的损失将达到2万亿美元[1]。网络入侵被定义为非法、未被授权使用和网络资源被外部攻击者利用,它是网络犯罪的主要形式。为了识别和防范主机系统中的入侵,人们开始使用入侵检测系统(IDS)[2]。检测入侵最常见的方法是识别用户的行为模式[3-4],这种方法需要人工完成,而且用户行为数据体量非常庞大,所以相当耗费时力。因此借助机器学习方法势在必行。神经网络一类的机器学习算法对运算能力要求较高,在确保效率的同时,对节省入侵检测任务计算资源的研究具有价值。

1 文献综述

在机器学习方法检测网络入侵的问题上,文献[5]用一种支持向量机(Support Vector Machine,SVM)和人工神经网络(artificial neural network,ANN)相结合的方法做入侵检测。ANN是一种主要用于解决分类任务的机器学习算法,它能将数据分类到其所属的类别中,图1演示神经网络处理信息的过程,每一层的圆圈代表神经元,从输入层到隐层再到输出层的有向线段表示神经元之间传递信息的过程[6],输出层输出概率分布。SVM分类器使用合页损失函数[7]找到分隔超平面(如图2所示),将数据点分为两类,预测网络数据是否异常。

图1 SVM算法生成分离超平面

图2 人工神经网络

考虑到网络数据流具有时序特征,而循环神经网络(Recurrent Neural Network,RNN)通常被用来分析或预测序列数据,文献[8]提出了一种结合RNN和SVM的方法对样本数据分类。具体地,使用回声状态网络 (Echo State Network,ESN)提取样本数据特征并把SVM做为分类器,ESN作为RNN的变体,一个ESN单元工作需要大量神经元,从而提高了计算资源的消耗。

可以发现,门限循环单元(Gated Recurrent Unit,GRU)对时序数据有更好的特征提取效果,降低计算复杂度的同时,克服了循环神经网络难以解决的“长期依赖”问题。综上,本文模型使用GRU取代ESN来做入侵检测有可靠的理论依据。

2 GRU-SVM神经网络结构

本文提出的模型使用GRU提取样本数据特征,SVM分类器预测数据是否为恶意入侵,模型结构如图3所示。

X代表输入的样本数据的特征值,利用公式(1)~(4)计算每个单元的状态,包括更新门、重置门和输出:

zt=σ(Wz· [ht-1,xt])

(1)

rt=σ(Wr· [ht-1,xt])

(2)

ht=tanh(W· [rt*ht-1,xt])

(3)

ht=(1-zt) *ht-1+zt*ht

(4)

图3 GRU-SVM结构模型,n-1个GRU输入单元,SVM分类器

其中,Wz、Wr和W代表要学习的参数矩阵,通过GRU的门限机制学习更新[9];zt和rt分别为当前单元的更新门和重置门,ht是当前单元的输出并影响下一个单元;下标t-1代表前一个单元状态;σ()是Sigmoid激活函数。SVM作为输出层的分类器,参数矩阵还可以通过优化SVM的目标函数更新,目标函数度量神经网络的损失,决策函数f(x)=sign(wx+b)计算并预测样本数据是否为入侵。GRU-SVM模型可以简述为以下几个步骤:

(1)给GRU模型输入数据集的特征{xj|xj∈Rm};

(2)输入特征值xi,计算GRU的单元状态并更新参数矩阵;

(3)用随机值初始化学习参数weights和biases(通过训练调整);

(4)预测结果通过SVM的决策函数f(x)=sign(wx+b)计算;

(5)Adam optimizer[10]算法最小化损失函数,调整weights和biases;

(6)不断重复整个过程直到神经网络达到设定的准确率。

模型的分类器使用SVM而不使用Softmax,结合σ函数图像如图4所示,本文研究Softmax分类器预测类别机制。

图4 Sigmoid函数图像[10]

函数的导数值在0和1之间,随着网络层数的加深,输出层误差的影响越来越小,即梯度变小,同时带来“梯度消失”现象,这是传统模型错误分类的原因之一,GRU-SVM模型可以较好解决这一问题,同时能提升运行时间。

3 实验

3.1 数据集

京都大学honeypot系统[11]2013年的网络数据被用做实验数据集,它有24个可统计特征。其中KDD CUP 1999数据集[12]中有14个特征,另外10个特征也至关重要,本文选取其中的22个特征。

3.2 数据预处理

数据集包括了大约4.1 GB网络数据流(从2013年1月1日到6月1日)。在使用实验数据集前对特征进行正则化-标准化的处理,如公式5,对连续数据标准化。

(5)

X是需要标准化的特征,μ是对应特征的平均值,σ是特征的标准差。为提高效率,本文实验使用Scikit-learn[13]中的StandardScaler().fit_transform()函数来标准化。LabelEncoder().fit_transform()函数把离散特征特征标量化。然后用pandas[14]的qcut()函数将标准化后的值二进制化。最后,这些特征编码为one-hot编码(十分位二进制编码),使用谷歌机器学习开源库TensorFlow[15]构建神经网络模型。

第一阶段,将样本数据80%选作训练集,用DataFrame.drop_duplicates()函数去除重复数据;第二个阶段将剩余20%数据选作测试集。本文提出的GRU-SVM模型分别在上述两个阶段的数据集上运行,用传统的GRU-Softmax模型做对比。

3.3 实验结果

实验参数基于文献[5]的研究,包括准确率、迭代轮数、损失、时间、数据点个数、误报个数和漏报个数,统计学方法参数也被用到(真正率、真负率、假正率、假负率)。

两个模型的超参数都通过手工赋值见表1。实验中的两个模型都在1 898 240行网络数据流中训练了5轮,训练后的模型又运行在420 608行的测试集上,同样经历5轮迭代,训练集和测试集的类别分布见表2,实验结果见表3。

表1 两种神经网络中的超参数

表2 训练集测试集的类分布

表3 两种模型的实验结果总结

表4和表5分别是两个模型在训练集和试集上的统计度量。

表4 两种模型在训练集中分类性能的统计度量

表5 两种模型在测试集中分类性能的统计度量

5轮迭代过后, GRU-SVM模型用了16分43秒完成训练达到了约91%的准确率,GRU-Softmax模型达到约78%,用了17分11秒,如图5所示。GRU-SVM模型在1分22秒完成了测试并达到约89%的准确率,GRU-Softmax则用了1分40秒达到约85%,如图6。

图5 两种模型在训练数据集的准确率

图6 两种模型在测试数据集的准确率

4 结论

实验结果表明,在相同数据集条件下,本文提出的模型比传统模型预测准确率高,同时说明SVM解决二分类问题更实用,而且运行时间更短,印证了两种算法各自的理论时间复杂度。首先,SVM主要为解决二分类问题,只需要O(1)的计算开销;而Softmax主要解决多类分类[16]问题,时间复杂度是O(n)级别。在提高准确率和优化效率之间均衡,本文提出的GRU-SVM模型在准确率和效率上更胜一筹,对于判断网络系统是否有入侵行为具有重要意义,同时为追踪入侵来源争取了较多时间。改进后的模型不仅可以用在入侵检测这一领域,还可以用于其他一些机器学习任务中,如视频分类、生物疾病的诊断,在理解自然语言语义[17]的研究中也具有广阔前景。

参考文献

[1] Juniper. Cybercrime will cost businesses over MYM2 Trillion by 2019[J/OL].(2015-05-15)[2017-06-22]. https://www.juniperresearch.com/press/press-releases/ cybercrime-cost-businesses-over-2trillion.

[2] PUKETZA N J, ZHANG K, CHUNG M, et al. A methodology for testing intrusion detection systems[J]. IEEE Transactions on Software Engineering, 2001, 22(10):719-729.

[3] 左军. 基于大数据的网络用户行为分析[J]. 软件工程, 2014(10):5-6.

[4] 周延森,汪永好.网络入侵检测系统模式匹配算法研究[J].计算机工程与设计, 2008, 29(7):1652-1654.

[5] MUKKAMALA S, JANOSK G, SUNG A.Proceedings of the IEEE International Joint Conference on Neural Networks, 2002, St. Louis,2002: 1702-1707.

[6] NEGNEVITSKY M.Artificial intelligence: a guide to intelligent systems (3rd ed.)[M].Pearson Education Ltd., 2011.

[7] CORTES C, VAPNIK V. Support-vector Networks[J]. Machine Learning,1995,20(3): 273-297.

[8] ALALSHEKMUBARAK A,SMITH L S. 9th International Conference on Innovations in Information Technology (IIT),IEEE,2013,2013.

[9] BOUGARES F,SCHWENK H,BENGIO Y. Learning phrase representations using RNN encoder-decoder for statistical machine translation[J]. arXiv preprint arXiv,2014:1406.1078 .

[10] KINGMA D, BA J. Adam: A method for stochastic optimization[J]. arXiv preprint arXiv,2014:1412.6980.

[11] SONG J, TAKAKURA H, OKABE Y. Description of kyoto university benchmark data [J/OL].[2017-07-17]. http://www.takakura.com/Kyoto_data/BenchmarkData-Description-v5.pdf.

[12] STOLFO S J. KDD cup 1999 dataset[Z]. 1999.

[13] PEDREGOSA F,VAROQUAUX G,GRAMFORT A,et al.Scikit-learn: machine learning in python[J]. Journal of Machine Learning Research,2011,12: 2825-2830.

[14] MCKINNEY W. Data structures for statistical computing in python[M].2010.

[15] TensorFlow:异构系统上大规模机器学习库[Z].2017.

[16] 张雨浓, 陈俊维, 刘锦荣,等.基于权值与结构确定法的单极Sigmoid神经网络分类器[J]. 计算机应用, 2013, 33(3):766-770.

[17] YANG Z, YANG D, DYER C, et al. Hierarchical attention networks for document classification[C]. Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, 2017:1480-1489.

猜你喜欢
分类器准确率神经网络
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
神经网络抑制无线通信干扰探究
基于神经网络的中小学生情感分析
高速公路车牌识别标识站准确率验证法
基于差异性测度的遥感自适应分类器选择
基于实例的强分类器快速集成方法
基于神经网络的拉矫机控制模型建立
基于支持向量机回归和RBF神经网络的PID整定