数据流聚类算法在网络入侵检测中的应用研究

2016-02-05 07:44胡朝举贾文瑞
网络安全技术与应用 2016年7期
关键词:离线数据流聚类

◆胡朝举 贾文瑞

(华北电力大学计算机系 河北 071000)

数据流聚类算法在网络入侵检测中的应用研究

◆胡朝举 贾文瑞

(华北电力大学计算机系 河北 071000)

随着计算机网络技术的不断发展,网络的复杂化及规模化使得传统的网络入侵检测系统已经无法适应,主要表现在对大量、高速网络数据流处理的实时性一般、可靠性不高。针对这些问题,本文结合了数据流聚类算法和Snort入侵检测系统,设计了面向大量网络数据流的入侵检测机制,通过基于网格和密度的数据流聚类算法提高了处理数据流的实时性和可靠性,并在入侵检测中体现出了高效性。

入侵检测;数据流聚类;网格密度;Snort

0 引言

随着网络技术的不断发展,网络攻击成为了网络稳定运行的最大威胁。入侵检测技术是一种积极主动的安全防护措施,它提供了对内部攻击、外部攻击以及误操作的实时监控,在系统受到危害之前拦截并做出相关响应。但由于网络的复杂化以及规模化,传统的网络入侵检测技术在面对新网络攻击时已经显得无法适应,在实时性、可靠性上都需要进一步地提升。通过数据流聚类的方法可以很大地改善这一问题。

1 背景和概述

1.1 传统网络入侵检测研究

传统网络入侵检测系统算法都需要对数据进行大量的运算迭代才能出现精确的分类结果,在入侵检测系统中正确区分识别各类攻击方式,但是在新型的复杂网络环境中,数据是连续到达且是不断更新的,如果面对大量并且高速的数据流传统算法难以适应。

1.2 基于数据流聚类的入侵检测研究

随着数据流聚类算法的不断发展,已提出了多种方案来解决数据流挖掘相关问题,我们可以在入侵检测技术中用数据流挖掘算法来替代传统的静态数据挖掘算法,从而适应当前的网络环境。

文献[1]中提出了基于在线和离线两阶段数据流聚类算法的入侵检测系统,在线端统计网络数据流,离线端聚类并检测所有簇的入侵类别,文献[2]提出了基于数据流的网络入侵实时检测框架,建立了相关知识库,通过判断点和簇的相似性进行检测。现有的基于数据流聚类的入侵监测算法使用了基于K-means的Clu-Stream算法,但K-means算法是需要对样本数据多次迭代才能得到分类结果,所以随着高速数据流的不断流入,不能高速且实时地处理并能做出正确的响应。

1.3 网络入侵检测Snort系统

许多入侵检测系统都用到了Snort系统,Snort是一个拥有多平台、实时流量分析、网络IP数据包记录等特性的强大的网络入侵检测/防御系统,它以开放源代码形式发行,包括数据包嗅探、数据包分析、数据包检测、响应处理等多种功能,每个模块实现不同的功能,各模块都是用插件的方式和Snort相结合,有很强的扩展性。

与其它大型入侵检测系统相比较,Snort系统具有灵活性强、尺寸小、安装配置简便、模块化功能强大等优势。Snort既能用于网络入侵检测,也可以用作网络数据包的记录和分析。Snort系统采用基于规则的检测模式,将网络数据流处理后进行规则匹配,以此检测各种入侵行为和探测活动。

1.4 总结

本文基于网格和密度的数据流聚类算法,采用在线和离线两阶段法进行聚类,结合Snort系统,提出一种实时网络入侵检测设计方案,通过网格压缩数据以提高实时性,按密度进行聚类并提取特征向量进行检测,最后预警和更新规则库,从而满足要求。

2 数据流聚类相关概念

定义1 数据流:X={X1,X2…Xn},它只能有序访问且只能一次或者几次被访问。

定义2 网格:若某数据A有m维,A=A1×A2×…×Am,将Ai划分为n段,则Ai被划分成了n格,和其它维的交叉组合空间就是网格。

定义3 网格密度:网格密度即为每个网格中存在点的系数和,记为D,按照密度的不同,将其分为稠密网格、稀疏网格、过渡网格。规定稠密阈值Dm和稀疏阈值Dl,如果当前D>Dm则该网格为稠密网格,如果当前D < Dl则该网格为稀疏网格,如果当前网格Dl<D<Dm,则该网格为过渡网格。

定义4 网格元组:网格g对应的网格元组为(Tg,D,L,Status),其中Tg代表最后一次数据到达的时间,D为网格密度,L代表所示簇类,Status代表是否为异常网格。

定义5 相邻网格:对网格来说,如果网格g1和网格g2除一个属性相差1以外,其余属性都相等,则g1和g2是相邻网格。

定义6 金字塔时间模型[3]:用于存储数据流快照,它按照不同的等级存储概要,节约了系统空间。

定义7 滑动窗口:内存中一段数据区域,存放最近到达的数据流,随数据流不断流入,滑动窗口会抛去旧数据,填充新数据。

定义8 衰减系数:为了使数据聚类能反映最近最新数据对聚类的影响,隔一段时间T,网格密度会进行衰减,衰减系数即为λ,D(t+T)=λD(t),其中λ∈(0,1)。

3 系统和算法设计

3.1 系统设计

本系统主要包括Snort、数据预处理、数据的在线微聚类、离线宏聚类、异常检测和更新规则这几个主要部分,结构如图1所示。

图1 系统结构图

在系统中,Snort用于从网络数据流中抓取数据包并解析,和规则库匹配后过滤已有的网络入侵检测类型,其余未知的数据流则进入下一阶段。

预处理是将数据流规则化,若某种状态只有两种可能,则可用1和0代替,方便在网格划分的处理,为了使得数据流聚类有更高的效率,可以将抓取的数据包中一些无关的数据属性进行排除,保留相关性强的一些属性如协议类型、访问敏感数据文件次数、访问控制文件次数等。

在线微聚类首先会初始化网格,待数据到来后填充网格,确定网格的密度并识别网格是否为稠密、过渡或稀疏网格,得到初始的密度网格簇,待到时间满足滑动窗口时衰减密度并进行离线聚类。

离线聚类则是根据格簇集合进行聚类,确定每个网格的所属类,并用金字塔快照存储概要信息。

异常检测则是对离线宏聚类中的聚类结果进行分析,如果发现异常的类别,则提取类别特征信息并进行规格化,最后将新的异常特征加入原有规则库。

其中,Snort负责对异常数据的响应及处理,并及时做出预警。系统中也可加入用户的控制,用户通过输入一些相关属性使聚类和检测的效率更高,或者用户查看任意时间的聚类和检测分析结果。

3.2 算法设计

在线层算法:

输入:网格划分length、衰减系数λ、经处理的流数据、稀疏和稠密阈值。

输出:密度网格簇。

步骤1:初始化网格,t=0;

步骤2:While 数据流未结束 do;

步骤3:读入数据,t=t+1;

步骤4:填充数据至网格,更新网格元组;

步骤5:若t等于滑动窗口,确定网格密度、形成初始聚类;

步骤6:若t等于滑动窗口倍数,网格密度衰减,更新网格元组;

步骤7:end While。

这里注意在若某网格是稀疏网格并周围无相邻网格时,不能进行孤立点的移除,因为它可能就是异常攻击数据流,因为普通的数据流占了很大一部分,相对于这些孤立簇来说,我们更希望对这些孤立簇进行分析。另外,为了使算法高效,可以对长时间未来数据的网格进行移除,减少维护空间。

离线层算法:

输入:格簇的集合。

输出:网格快照。

步骤1:检查过渡网格,确定稠密网格;

步骤2:检查邻近网格的密度,确定过渡网格所属的类别并进行调整;

步骤3:对格簇进行调整,输出聚类结果;

步骤4:用金字塔结构存储快照信息。

用户可以在不同时间进行查询和检测,因为金字塔快照是根据时间存储的概要信息,可以满足任意时间的聚类分析。

4 结果和分析

实验的数据采用 UCI 机器学习库当中的入侵检测 KDD CUP数据集,它包括了Dos、R2L、U2L、PROBING几种攻击类型,由于原始数据量比较庞大,我们选取了其中的部分数据进行测试,为了方便处理,选取了20维数据进行验证。

基于网格和密度的数据流聚类算法在精度上高于Clu-Stream算法,且分类簇非球状。

图2 处理时间比较

在实时性上,密度网格处理时间更快。

检测实验结果表明,数据流聚类精度可以达到94%,入侵检测的识别召回率达到91%,误报率在0.6%。

该系统结构表现出了良好的性能,同时也体现了在网络入侵检测中数据流聚类算法的优越性,基于数据流聚类算法以及正在发展的分布式流聚类算法在未来网络入侵检测中是很好的发展趋势。

[1]俞研,郭山清,黄皓.基于数据流的异常入侵检测[J].计算机科学,2007.

[2]李艳红,李德玉,崔梦天,李华.基于数据流的网络入侵实时检测框架[J].计算机应用,2015.

[3]李敏.基于网格密度的数据流聚类算法研究[D].武汉:武汉理工学,2009.

[4]尚志远.基于数据流挖掘分析的网络入侵检测系统研究[D].山东大学,2012.

[5]王治和,杨晏.基于双层网格和密度的数据流聚类算法[J].计算机工程,2014.

[6]葛翠翠.数据流挖掘技术在入侵检测中的研究与应用[D].广东工业大学,2013.

[7]朱桂宏,王刚.基于数据流的网络入侵检测研究[J].计算机技术与发展,2009.

经实验得出结果为:

表1 实验结果对照表

图3 预测流量与实际流量比较图

3 结束语

作为网络管理重要内容之一的网络流量预测,一直是人们的研究的热点,通过对流量的预测,可以提高网络管理效率,方便网管人员更加有目的性地完善网络,并可对以后的网络升级等提供依据。本文提出了基于BP神经网络的流量预测模型,并通过仿真实验验证了模型的可用性。实验结果表明该模型对网络流量的预测基本准确。但由于影响网络流量的因素很多,因此单一通过流量特征预测具有一定的局限性,如果能够参考诸如网络结构,节点分布等方面综合考虑,则能够更加完善网络流量的预测,也是笔者下一步希望进行的后续研究。

参考文献:

[1]杨新宇,杨树森,李娟.基于非线性预处理网络流量预测方法的泛洪型DDoS攻击检测算法[J].计算机学报,2011.

[2]张婷婷,赵京胜.一种基于神经网络的入侵检测系统研究[J].计算机安全,2010.

[3]何运村,张柱华.灰色理论及神经网络在就业预测中的应用研究[J].计算机与数字工程,2008.

[4]Haykin5 著 叶世伟译.神经网络原理 第2版[M].北京:机械工业出版社,2004.

[5]刘岩.网络流量控制若干关键技术研究[D].上海:复旦大学图书馆,2004.

数据来源于思科发布的Visual Networking Index(VNI)Forecast(2011-2016)年度预测结果。

猜你喜欢
离线数据流聚类
异步电机离线参数辨识方法
汽车维修数据流基础(上)
浅谈ATC离线基础数据的准备
汽车维修数据流基础(下)
基于K-means聚类的车-地无线通信场强研究
FTGS轨道电路离线测试平台开发
离线富集-HPLC法同时测定氨咖黄敏胶囊中5种合成色素
基于高斯混合聚类的阵列干涉SAR三维成像
基于Spark平台的K-means聚类算法改进及并行化实现
基于改进的遗传算法的模糊聚类算法