基于SimHash与神经网络的网络异常检测方法研究

2019-08-08 06:23张荣葳
电脑知识与技术 2019年18期
关键词:人工神经网络深度学习网络安全

张荣葳

摘要:计算机网络在给人们带来极大便利的同时也存在着各种攻击隐患,因此需要完善的异常检测系统消除这些隐患。针对传统的网络异常检测方法检测效率低下、检测率较低的问题,该文在深度神经网络的基础上通过添加Simhash数据处理的方法构建了一种新的网络异常检测模型。实验结果表明,相较于传统的模型,新模型在保持神经网络使用相同长度输入的条件下获得更高的检测率。

关键词:网络异常检测;网络安全;深度学习;人工神经网络;Simhash

中图分类号:TP393.08        文献标识码:A

文章编号:1009-3044(2019)18-0224-03

Abstract: Computer network brings great convenience to people, but there are also various hidden dangers of attacks. Therefore, a perfect anomaly detection system is needed to eliminate these hidden dangers. Aiming at the problem of low efficiency and low detection rate of traditional network anomaly detection methods, a new network anomaly detection model is constructed by adding Simhash data processing method on the basis of deep neural network. The experimental results show that compared with the traditional model, the new model achieves higher detection rate while maintaining the same length input of the neural network.

Key words: network anomaly detection; network security; deep learning; artificial neural network; Simhash

1 引言

随着计算机网络技术的高速发展,互联网已经成为了人们生活中不可或缺的一部分。然而,由于其开放性,网络中大量存在的各种攻击行为已然成为了各联网单位的心头之患。在我国,众多的科研项目涉及到国家秘密,涉密网络中存有大量的涉密资料。由于内部人员的误操作或者是恶意窃取所导致的涉密文件失密或泄密可能对各科研院所乃至我国科研的相关领域造成不可估量的损失。纵然国家与各保密单位拥有严格的保密制度与纪律,但技术上的解决手段仍很有必要。

对于计算机网络,网络中各节点间的数据流量反映着网络的总体情况与态势。针对网络流量进行分析、提取流量特征,并对得到的特征进行计算,最终就可以判断网络中是否存在异常行为。使用此种算法对网络进行分析的方法被称为异常检测系统或基于异常的入侵监测系统。与传统的基于固定特征的检测系统相比,异常检测系统更易于检测出未知的或是新的攻击。但是,其检测效果高度依赖于特征的选择与检测流程的设计,过于复杂的检测算法导致检测效率低下,其高昂的误报率更是限制了异常检测系统的應用场景。

为了解决以上的问题,本文以提升检测效率为目标,设计了一种基于 Simhash 与神经网络的异常检测算法模型。该模型将在保持检测率基本不变的前提下大幅缩短计算时间,使其能够在适用于数据流量更大的大型网络之中。

2 模型中使用的有关算法介绍

2.1 Simhash算法

为了解决海量数据的去重与索引的问题,Google 公司雇员 Gurmeet Singh Manku 等人提出了一种局部敏感哈希(locality sensitive hash)算法[1]。其主要思想是将原先高维度的特征向量空间映射至低维度的特征向量空间,并尽力保证在原空间内相近的两个节点在新的空间内距离也相近。这样就可以通过比较生成的特征向量间的汉明距离来判断原文章之间的相似程度。

Simhash算法的流程如下:

(1)根据输入数据的内在属性,将其提取成为 N 个特征向量;

(2)对每一个特征向量分别使用传统的哈希计算方法计算其哈希值;

(3)对得到的 N 个哈希值按位竖向累加。若哈希值中的某位为0则加 -1,若为1则加 1,最终得到每一位上的权重值;

(4)对于得到的权重值,若该位的值为负数则对应的哈希值中该位的值为0,否则为 1.

使用 Simhash 算法有以下两个优点。一是传统的检测方法仅取网络数据包的前一部分字节,对于特征位于会话后部的攻击检测效果较弱。使用局部敏感的 Simhash 算法,可以在尽可能保留数据相似特征的前提下将会话数据缩减到可以计算的范围内,节约宝贵的计算资源。二是经前人的研究,判别异常流量的过程中网络数据包中网络协议的部分所起到的作用要比数据包中上层数据的部分大,故使用 Simhash 算法可以将进行判别的计算资源更优先地集中在数据包头部的协议部分,从而以更小的输入获得更高的检测率。

2.2 卷积神经网络与长短期记忆网络

近些年来,随着科技的不断发展,获得单位算力所需的价格不断降低,人工神经网络(Artificial Neural Network,ANN)又重新成了机器学习领域的研究热点。人工神经网络通过数学计算的方式模拟神经网络中神经元间的兴奋、抑制作用,从而实现网络整体对某一特定特征的有效识别。多层神经网络通常由输入层、隐藏层以及输出层构成,每一层的神经元节点接受前一层节点的输入,并对其做非线性运算后得到的值传递给下一层。

相比于传统的人工神经网络,卷积神经网络(Convolutional Neural Networks, CNN)利用某些特征识别任务中特征的平移不变性,在网络中引入了卷积层和下采样层。卷积层使用各种不同的卷积核对前一层网络中的对应区域进行卷积运算,而下采样层则对卷积层得到结果通过取平均值或者最大值的方式进行规整。与传统的全连接网络相比,卷积层和下采样层的引入大大地简化了网络的复杂度,减少了所需的计算量。因此,卷积神经网络在医学图像识别[2]、语音识别[3]等领域得到了广泛的应用,在网络异常检测[4-5]领域中也得到了较为充分的研究。

循环神经网络(Recurrent Neural Network, RNN)是一种用于处理有一定序列性的数据的神经网络[6]。在循环神经网络中,特定的隐藏层除接受前一层提供的输入外,也将网络接受前一时刻数据时此节点的值作为输入。这样通过在序列中每个时间点共享同样的参数,模型可以获得更为强大的泛化能力。然而在某些任务中,传统的RNN存在梯度消失与梯度爆炸的问题。为了解决此问题,Hochreiter和Schmidhuber在1997年引入了长短期记忆(Long Short-Term Memory,LSTM)网络,其通过引入“遗忘门”允许网络在较长的时间范围内累积信息,并且累积的时间范围可以动态改变。由于其优良的检测效果,LSTM广泛应用于自然语言处理[7]等领域中。

3 实验所用到的网络模型

本实验中所采用的神经网络架构如下图1中所示。

如上图,首先针对一个网络会话中的每一个数据包分别进行处理。首先,根据数据包本身的特质(即网络协议栈的分层结构)将数据包分为头部与载荷两部分。然后再对载荷部分计算Simhash哈希值,以求不在损失过多信息的前提下将载荷部分归一化为定长的输入向量。

对于神经网络模型,本实验选取了能够同时提取时空两种维度上信息的HAST-II模型[8]。该模型首先将输入的数据进行独热编码(One-Hot Encoding),转换为元素只为零或一的二维稀疏矩阵。此后再将此矩阵作为二维图像分别输入两个不同的拥有两个隐层的卷积神经网络之中,再将得到的输出合并,作为单个数据包的特征向量。

通常一个网络会话是由多个数据包组成。模型对会话中的前几个数据包进行上述处理后,将得到的特征向量依照网络中的时间顺序作为一段时序序列传递给LSTM网络处理。最终,得到的结果即为该会话对应的特征向量。

4 实验数据

数据集是对网络模型进行训练以及测试的数据样本,对异常检测模型的实用性影响很大。在网络安全的研究领域有许多公开的数据集,譬如DARPA1998数据集、NSL-KDD数据集以及Kyoto2009数据集等。这些数据集往往形成时间较早,无法反映目前互联网中存在的最新的威胁。因此,本文选取了较新的ISCX2012数据集。

2012年,位于加拿大的新布伦瑞克大学信息安全中心(Information Security Centre of Excellence,ISCX)发布了名为ISCX2012的网络异常检测数据集[9]。该数据集包含了七天时间跨度内的所有原始數据流量。流量中包含正常流量以及四种不同种类的攻击流量,分别为暴力SSH攻击、渗透攻击、HTTPDoS攻击以及DDoS攻击。将ISCX2012数据集中原始流量数据包组织成网络会话,再与数据集中的标签一一对应后得到的统计结果如下表所示。

5 实验结果及分析

本实验以Keras 2.2.2以及Tensorflow 1.12为主要的软件环境,操作系统则为Arch Linux。硬件环境上,实验运行在具有16GB内存、Intel Core i5-8500 CPU以及NVIDIA GeForce GTX 1070 Ti 显卡的台式机上。此次实验使用分批训练的方式,每个批次训练128个样本;全部数据集训练15轮。

然而在头部大于35字节之后,添加Simhash与否并不会对模型的检测率造成显著的差异,各模型的检测率均在99.60%上下浮动。可以认为在包头部达到一定长度之后其自身就已经包含分类所需的绝大多数信息,此时再添加Simhash仅仅是在浪费有限的计算资源。

6 总结

本文通过将Simhash与神经网络相结合,设计了一种新型的网络模型。在数据量较小时,该模型可以大幅提高网络中异常流量的检测率。关于神经网络的研究前景广阔,今后的研究工作将进一步探索不同网络模型在网络异常检测中的应用,以求能够更为快速准确地检测网络中可能存在的威胁。

参考文献:

[1] Manku G S, Jain A, Das Sarma A. Detecting Near-duplicates for Web Crawling[C]//Proceedings of the 16th International Conference on World Wide Web. ACM,2007:141-149.

[2] 王岩.卷积神经网络在肝穿刺图像分类中的应用[J].电脑知识与技术,2018,14(25):203-205.

[3] 杨洋,汪毓铎.基于改进卷积神经网络算法的语音识别[J].应用声学,2018,37(06):940-946.

[4] Vinayakumar R, Soman K P, Poornachandran P. Applying convolutional neural network for network intrusion detection[C]//2017 International Conference on Advances in Computing, Communications and Informatics (ICACCI). IEEE, 2017: 1222-1228.

[5] 刘月峰,王成,张亚斌,苑江浩.面向网络入侵检测系统的深度卷积神经网络模型[J].内蒙古科技大学学报,2018,37(01):59-64.

[6] 杨丽,吴雨茜,王俊丽,刘义理.循环神经网络研究综述[J].计算机应用,2018,38(S2):1-6+26.

[7] 胡荣磊,芮璐,齐筱,等.基于循环神经网络和注意力模型的文本情感分析[J/OL].计算机应用研究,2019,36(11). [2018-08-10]. http://www.arocmag.com/article/02-2019-11-025.html.

[8] Wang W , Sheng Y , Wang J , et al. HAST-IDS: Learning Hierarchical Spatial-Temporal Features using Deep Neural Networks to Improve Intrusion Detection[J]. IEEE Access, 2017:1-1.

[9] Shiravi A , Shiravi H , Tavallaee M , et al. Toward developing a systematic approach to generate benchmark datasets for intrusion detection[J]. Computers & Security, 2012, 31(3):357-374.

【通联编辑:代影】

猜你喜欢
人工神经网络深度学习网络安全
利用人工神经网络快速计算木星系磁坐标
人工神经网络实现简单字母的识别
网络安全
网络安全人才培养应“实战化”
上网时如何注意网络安全?
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
基于声发射和人工神经网络的混凝土损伤程度识别
波信号的解调和人工神经网络的损伤识别算法