基于流量模板检测网络异常流量
2017-10-13靳仁杰韩伟杰
靳仁杰,王 宇,韩伟杰
基于流量模板检测网络异常流量
靳仁杰1,王 宇2,韩伟杰2
(1. 装备学院研究生管理大队,北京怀柔 101416;2. 装备学院信息装备系,北京怀柔 101416)
当前的网络异常流量检测技术侧重于采用机器学习和统计学方法,两者适用于通用网络环境。本文针对受控网络环境通信特征,提出了一种基于流量模板的网络异常流量检测方法,该方法实时抓取分析网络流量,提取网络流量头部特征和行为特征,基于网络八元组信息建立流量模板,通过匹配流量模板检测网络异常流量。实验结果表明该方法在受控网络环境下能准确检测出网络异常流量。
受控网络;异常流量;特征提取;网络八元组;流量模板
0 引言
如今网络应用已经渗透到人们生活的方方面面,网络数量和规模都成倍增长。众多的网络应用在带来便利的同时,也引起了很多问题,这其中由恶意攻击、设备故障或者人为因素引起的网络异常流量[1]及其检测方法,逐渐成为安全人士研究的热点问题。
网络异常流量检测方法的分类有很多种,按检测建模方法可以分为基于误用检测和基于异常检测两类[2];按数据采集方式可以分为抽样检测和非抽样检测两类;按检测节点数量可以分为分布式异常检测和单节点异常检测两类[3];按数据处理方式可以分为初级流量特征统计的异常检测和挖掘数据特征规律的异常检测两类[4]。
基于误用的异常检测主要是提取已知异常流量的流量特征和行为特征,建立规则库。在检测阶段,实时抓取网络流量,统计计算其流量特征和行为特征,与建立好的规则库进行匹配[5]。此方法的优点是检测精度高、实时性好,由于基于已知异常流量的统计信息建立规则库,此方法的缺点是不能识别新的异常行为。基于异常的检测方法主要是通过统计学习方法建立正常网络流量的行为轮廓[6],在检测阶段实时抓取网络流量并统计计算当前轮廓,最后计算两者的偏离程度是否超过阈值来检测异常流量。此方法的优点是能识别出新的异常行为,缺点是流量轮廓刻画的时间复杂性高,对检测实时性有一定影响,另外由于对正常流量的轮廓刻画不能完全准确,容易造成低检测精度。
1 受控网络环境特征
为了受控网络环境不同于一般的网络,有几个显著的特点:一是要先调试后使用;二是使用严格,入网主机的IP地址明确,应用层协议和端口号固定,设备或终端产生的流速限定。三是网络稳定性要求高。
(1)严格的入网主机规范。入网主机的IP地址,不同设备的功能划分和网络拓扑结构都有详细记录信息且可知,同时对入网主机的准入有严格限制。网络中的各类设备入网信息固定,不会随意对IP地址,设备号和所属部门等关键信息进行更改,网络拓扑结构稳定,不同网段内的主机数量和对应关系,接入的上一层交换机或路由器端口等网络结构信息更新频率低,且更新后能第一时间获取改动的具体内容。
(2)稳定的网络会话规范。由于受控网络网环境下,网络间通信应用的类型有限、不同终端设备担负的任务单一,因此可以对所有合法的网络会话内容提取其网络流量的头部特征和行为特征,形成网络会话模板。同时,在不同任务中,针对当前任务的网络会话规范相对稳定,其产生的网络流量变化幅度小。
(3)可控的网络流量规模。对受控网络网环境下产生的网络流量来说,其不同于通用网络环境下的量级。入网主机的数量,不同网络应用的开放数量和端口数,连接不同服务器的主机数和不同主机上运行的应用程序数量,应用程序间通信所占带宽和传输的数据量相对于通用网络环境来说规模较小且可控,因此将其记录存储到规则库中所占的系统开销和所占的存储空间不会影响到网络正常使用。
基于以上受控网络网环境所特有的几个通信特征,可以统计量化网络流量数据集中的网络流量的头部特征和行为特征,获取网络会话七元组(或三元组)并建立流量白名单(又叫任务模板),基于HASH桶存储结构存储到模板库中。通过严格的模式匹配检测网络异常(或违规)流量。
2 基于流量模板的异常流量检测方法
2.1 相关定义
定义1:流量模板是一个集合,它的单个元素是由网络八元组信息组成的向量,数学的形式化表示为:
其中:各维度具体含义如下:
可以依据收集统计的网络八元组信息来对网络流量进行规则匹配,并对违规(或异常)通信发出报警。
针对受控网络环境下,设备测试网络连接状态,会产生大量的PING会话,极易被误报为异常流量,造成错误报警。对PING会话单独建立基于网络三元组信息的流量模板,数学的形式化表示为:
其中,各维度具体含义如下:
定义2:流量模板集合中每一条记录代表一条规则,集合中不存在两条规则被同一条记录覆盖,数学的形式化表示为:
2.2 HASH桶存储结构
模式匹配是识别未知事物类别的一种方法,主要用于实现机器自动识别。它的原理是选择已知的对象作为模板,与待测样本进行度量计算,通过得出的度量值来识别目标,即看与那个模板的度量值最小,就作为自己的类别。模板中常使用的度量对象有单个模板和模板类中心两种。
由于模式匹配的核心是建立知识规则库,库所包含的信息量越大,匹配精准度越高,随之也要占用更大的存储空间和消耗更长的匹配查找时间。为了解决上述问题,研究者提出了很多方法来极高模板匹配的时空效率,目前使用比较多的有直方图方法[7],小波方法[8]和HASH函数方法[9],而在HASH函数方法中,一种名为HASH桶的算法因其简单高效和对碰撞的优化处理,目前应用最为广泛。虽然HASH散列函数对某个元素进行散列时是尽力做到对所有元素平均分散排列,尽量避免或者降低他们之间的冲突,但是HASH值在散列计算时的碰撞是无法避免的,为了更好地解决冲突问题,一种HASH桶的存储结构被研究者们提出。它的定义是:一个盛放不同KEY链表的容器(即链表数组),可以把每个key的位置看成是一个孔,孔里存放了一个链表(单向或双向)。
如图1所示,该HASH桶中共存储12个不同的元素,它的KEY包含7个表项(key的数目=7)。从图中可以看出,元素1、元素6、元素7的HASH值相同,都存储在第一个表项下的三个不同桶中,为了避免冲突碰撞,三个不同的元素以双向链表的形式存放在不同的桶中,具体的桶的数量一般情况下都是根据要处理的数据类型特征来考虑使用。比如要存储网络会话中的IP地址,则存放IP地址的HASH桶使用IP地址的后16bit作为key,这样用一个65536(216)个桶就很好。不同KEY和桶数量的选择就是一个界和性能的折中问题。比如当KEY值取问题空间的最大值时,这样肯定能保证键值分散,但是这样会浪费很多空间。如果值取得太小,则碰撞率很高,会影响到查找效率。HASH桶比其他搜索的数据结构灵活的地方就是它的可定制性,可以根据具体情况调整,以达到最优的效果。
图1 HASH桶存储结构
根据上面的问题分析和给出的相关定义,结合受控网络环境下的网络通信特征,本节设计实现了一种基于流量白名单的模板匹配技术。该方法的主要工作原理是:在受控网络联试联调阶段,抓取优化预处理后的网络会话流量,统计量化头部特征和行为特征,建立网络会话六元组(或三元组)信息,生成流量白名单。基于流量白名单生成规则库,在任务阶段通过HASH桶存储结构和模式匹配对实时网络流量进行检测分类,并及时发出报警信息,整个检测流程如图2所示,共分为四个步骤:
(1)建立流量白名单。在网络流量预处理过滤后的基础上,通过抓取提取网络会话特征,建立网络会话六元组(或三元组)流量白名单。
(2)修改流量白名单。根据网络实际情况,人工修改流量白名单数据,加入特例设备信息。
(3)匹配判断。将流量白名单通过HASH桶存储结构存储后,在实时抓取当前网络会话内容后,调出流量白名单数据生成规则库,基于模式匹配进行类型判断。
(4)检测结果输出。对分类检测结果发出违规(或异常)报警,并加入到流量黑名单和灰名单中。
整个检测过程分为两个运行阶段:
(1)抓取模板阶段。实时抓取网络中的流量数据,提取网络会话六元组(或三元组)信息,依据不同任务模板建立流量白名单,然后通过HASH桶技术存储到数据库中。
图2 基于流量模板的异常流量检测流程
(2)检测网络流量阶段。依据建立好的流量白名单和模式匹配算法对实时网络流量进行异常检测。同时,可以根据检测结果人为对流量白名单进行修改。
2.3 关键技术
关键技术分为数据结构描述,网络会话流量白名单模板抓取和流量白名单模式匹配三部分,分别描述如下:
1、数据结构描述。在流量白名单建立阶段,以网络中不同设备间发起的连接为单位(通过IP地址和端口号进行区分),将采集到的网络六元组(或三元组)信息量化存储到定义好的数据结构中(见表1),建立流量白名单。根据使用的传输层协议,区分TCP、UDP和ICMP三种协议类型存储到HASH桶结构中,这里采用双向链表实现,便于插入删除操作。
2、会话模板抓取。通过采集网络会话流量的头部特征和行为特征,统计记录不同的网络会话六元组(或三元组)信息,建立网络会话模板来生成流量白名单。其中,对TCP或UDP的网络会话来说,前五个元素{源IP地址、源端口、目的IP地址、目的端口、应用层协议}用来区分不同的网络会话连接,会话流速既能代表某个会话连接的特征,也能作为综合评价因素,反映整个网络运行状态。对设备间产生的PING会话,单独建立网络会话三元组信息{源IP地址、目的IP地址、PING次数},并对其进行抓取采集和统计计算。3、流量白名单模式匹配。以建立好的流量白名单为规则库,为了提高算法运行的时间复杂度和空间复杂度,采用HASH桶存储结构进行存储,通过计算流量白名单模板数据结构的HASH值和实时网络连接的HASH值,而后将它们进行比较匹配用于异常检测,匹配流程如图3所示。
表1 流量白名单数据结构
Tab.1 Traffic White List Data Structure
在进行模式匹配时,采取的是and(与)关系,具体匹配规则如下:
(1)对TCP或UDP网络会话,分为六元组信息全部匹配成功、五元组匹配成功但会话流速超出阈值和五元组信息至少有一个不匹配三种情况。当满足第一种情况时不报警,当满足第二种情况时加入灰名单信息中,由用户查看其在一定时间内端口流量、流速的变化情况,进一步确定该设备是否存在异常,当满足第三种情况时发出违规报警信息并将该网络会话加入黑名单中。
(2)对PING会话,采用的是三元组匹配成功、PING次数超出阈值和至少有一个IP地址不匹配三种情况。当满足第一种情况时不报警,当满足第二种情况时发出异常报警信息,而后由用户根据该网络会话的详细信息给出最终判断,当满足第三种情况时发出违规报警信息并将该网络会话加入黑名单。
图3 流量白名单模式匹配流程
算法的伪代码描述如表2所示。
表2 流量白名单匹配算法伪代码描述
Tab.2 Traffic White List Matching Algorithm Pseudo Code Description
3 实验与分析
3.1 实验准备
为了验证方法的有效性,模拟构建了一个私有特定网络环境,拓扑结构如图4所示。
3.2 实验数据
其中,在每台设备上,使用feiq通讯软件、ftp软件、站长之家软件分别模拟不同的业务流量。在测试电脑上部署基于流量模板的异常流量检测系统,通过设置交换机镜像端口,对整个网络流量进行抓取分析。
图4 模拟网络环境拓扑图
由于真实受控网络环境下,产生异常流量的概率较低,异常流量占得比例小,异常的规模难以刻画。本文所做实验对算法验证的数据,使用科来数据包生成器软件来模拟生成背景流量和异常流量,按照正常流量(4801201个数据包)占91%,异常流量(361380个数据包)占6.8%,其他流量(108414个数据包)占2.2%的比例构成。各类对应的标记值和所包含的数据集数量见表3。
表3 实验数据集比例构成
Tab.3 Experimental data set proportion
3.3 实验结果
图5是该算法在受控网络环境在联调测试阶段抓取到的流量模板。
表4是基于流量模板的方法与Wenke Lee的数据挖掘方法[10],Liu的遗传聚类算法[11],Eskin的K-NN方法[12]三种方法的实验结果比较。从比较结果可以得出基于流量模板的方法取得了较好的检测结果。
3.4 结果分析
由于受控网络环境下网络通信特征不同于一般的网络,而在任务调试测试和执行阶段产成的网络流量具有自相似性和长相关性,因此可用网络会话七元组信息交叉熵特征向量来刻画网络流量特征变化。通过引入支持向量机分类器,克服训练集样本小、维度高和不可分的问题。在不同任务中,当某个网络流量特征的交叉熵值偏离了历史值的平均值,则此特征交叉熵值的差异性会被支持向量机分类器中的核函数放大化,最终得出分类超平面而形成不同的分类结果,从而能有效检测出网络异常流量。
图5 抓取的流量模板结果部分截图
表4 流量模板方法与其它方法的检测结果比较
Tab.4 flow template method and other methods of detection results comparison
4 结论
本文通过分析受控网络环境特征,针对传统的异常流量检测方法无法用于此类网络准确进行异常流量检测的问题,设计实现了基于流量模板的网络异常流量检测方法,通过在前期收集网络流量特征和行为特征,建立网络流量模板,以达到准确检测网络异常流量的目标。通过模拟实验论证,此方法对受控网络环境下的异常流量检测效果明显。下一步研究的工作重点是如何利用已有的各类历史名单信息(日志)来刻画网络整体行为轮廓,进而提高检测准确度。
[1] Lakhina A, Crovella M, Diot C. Mining anomalies using traffic distributions[C]// CS Department, Boston University. 2004.
[2] 黄存东. 关于计算机网络信息安全问题的技术研究[J]. 软件, 2013, 34(1): 140-141
[3] 王晓军. 基于网络行为分析的跨站攻击的防御探析[J]. 软件, 2013, 34(1): 142-143
[4] 朱应武, 杨家海, 张金祥. 基于流量信息结构的异常检测[J]. 软件学报, 2010, 21(10): 2573-2583.
[5] 杨丹. 网络流量异常检测方法研究及仿真平台研制[D]. 电子科技大学, 2008.
[6] Silveira F, Diot C, Taft N. ASTUTE: Detecting a different class of traffic Anomalies(Extended Version)[R]. Technicolor, 2010.
[7] Sagara S, Taira Y. DoWitcher: Effective Worm Detection and Containment in the Internet Core[C]// IEEE INFOCOM 2007-, IEEE International Conference on Computer Communications. IEEE Computer Society, 2007: 2541-2545.
[8] Barford P, Kline J, Plonka D, et al. A signal analysis of network traffic anomalies[C]// Proceedings of the 2nd ACM SIGCOMM Workshop on Internet Measurement (IMW’02) New York:ACM Press. 2002: 71-82.
[9] Wenke l, Stolfo S. Data Mining Approaches for Instrusion Detection, Proceedings of the Seventh USENIX Security Symposium, 1998, 79-94.
[10] Wenke l, Stolfo S. Data Mining Approaches for Instrusion Detection, Proceedings of the Seventh USENIX Security Symposium, 1998, 79-94.
[11] Liu Y, Chen K, Liao X, et al. A Genetic Clustering Method for Intrusion Detection. Pattern Recognition. 2004, 37(5): 927-942.
[12] Eskin E, Rnold A, Prerau M, et al. A geometric Framework for Unsupervised Anomaly Detection: Instrusion in Unlabeled.Applications of Data Mining in Computer Security, Kluwer Academics Publisher, 2002.
An Anomaly Traffic Detection Method Based on the Flow Template
JIN Ren-jie, WANG Yu, HAN Wei-jie
(Equiopment Academy, Beijing 101416, China)
The current network anomaly traffic detection technologies usually focus on the rules matching and statistical method which are suitable for the general network environment. For the communication characteristics of the controlled network environment, this paper puts forward a network anomaly traffic detection method based on the flow template, which captures and analyses the real-time network traffic. The method aims to detect the anomaly network traffic by extracting the characteristics of the network traffic and behaviour, establishing the flow template based on the network eight-group information, and comparing the established template with the actual traffic. The final experiment results show that the method can accurately detect the anomaly network traffic in the controlled network environment.
Controlled network; Anomaly traffic; Feature extraction; Network eight-group information; Flow template
TP309.2
A
10.3969/j.issn.1003-6970.2017.04.023
靳仁杰(1983-),男,研究生,主要研究方向:网络信息安全;王宇(1971-),男,副教授,主要研究方向为网络信息安全;韩伟杰,男,讲师,主要研究方向为网络信息安全。
本文著录格式:靳仁杰,王宇,韩伟杰. 基于流量模板检测网络异常流量[J]. 软件,2017,38(4):121-126