APP下载

基于流数据的网络监控系统设计

2016-09-28李玲玲

关键词:IP地址滑动网络安全

李玲玲 辛 浩

(淮北职业技术学院计算机系, 安徽 淮北 235000)



基于流数据的网络监控系统设计

李玲玲辛 浩

(淮北职业技术学院计算机系, 安徽 淮北 235000)

针对各种恶意攻击及滥用资源的网络现象,提出一种新的基于流数据的网络安全检测算法。采用可调节大小的滑动窗口,使用收银机模型、十字转门模型与时间序列模型进行流数据处理和挖掘,以检测并预警不安全的网络流。

流数据; 滑动窗口; 安全检测; 桶

随着互联网的普及、网络技术的不断更新以及网络规模的不断扩大,网络业务不断深入到各个领域 。人们的日常生活越来越依赖网络,因此,网络安全尤显重要,反病毒、黑客的网络安全防护技术也应不断提高。病毒及黑客入侵等各种网络攻击行为严重影响到网络安全,用户不断提高的网络防护要求与有限带宽之间的矛盾也趋尖锐[1-2]。原有的网络安全检测方法需要不断更新,以适应实时、快速、海量的流数据处理要求。如何对流数据进行有效的分析检测,预警控制不安全的网络行为,是时下数据挖掘领域的研究热点之一。本次研究中设计了一套基于流数据的网络安全检测新系统,用于网络异常行为分析及预警。

1 流数据技术

流数据[3]是指连续到达的数据项序列(d1,d2,…,di),描述为一个一维函数D[1,2,3,…,N]→R,即按时间先后顺序快速到达的海量数据流集合。流数据到达的速度无法预知和控制,其特点是实时到达、次序独立、规模宏大、不可预知,且数据一经处理后就不能再次取出,或者取出的代价高昂。滑动窗口和流数据模型是流数据技术应用的重要内容。

1.1滑动窗口

滑动窗口是流数据处理的常用方法[4]。滑动窗口技术,是指在数据的实时检测中,用固定的时间窗口以固定的时间间隔滑动来截取无限长的对象序列,从而获得定长的待检测对象序列。

滑动窗口一般分为2类[5-6]:一类是基于元组个数来定义的固定窗口大小的滑动窗口,窗口内始终保持着最近到来的N个元组;另一类是基于时间定义即固定时间的窗口,窗口内始终存储固定时间T内的元组。不管是固定窗口大小的滑动窗口还是固定时间的窗口,都要随着流数据的到来而向后进行滑动。

1.2流数据模型

常用的流数据模型有3种,分别是时间序列模型、收银机模型和十字转门模型[7]。时间序列模型(TimeSeriesModel)是指数据di按照时间先后顺序到来处理数据的模型。十字转门模型(TurnstileModel)是一种“完全动态状态”的模型,模仿的是宾馆转动门工作模式,即在同一时刻,有“入”的数据,也有“出”的数据。收银机模型(CashRegisterModel)模仿的是超市收银机的工作模式,可对数据进行累加,适用于监控或访问Web服务器的主机IP地址,以及流过网络中某个链路的数据包IP地址。

2 基于流数据的网络安全检测系统设计

进行网络安全检测前,首先要学习和建立用户的正常历史行为,将实时数据行为与正常的用户行为进行比较,从中发现异常行为后提出预警,从而达到净化网络环境、提高网络有效利用率的目的。一般情况下,非正常网络用户使用网络流量较大,或是在一段时间内发起的连接请求数目过多、频率过高[8-9],有的连接请求具有一定的间隔规律。

基于流数据的网络安全检测系统设计了三大功能模块(见图1),分别为数据准备模块、使用挖掘算法进行挖掘模块、规则发现及有效性验证模块。

图1 功能模块示意图

2.1网络行为判断特征设定

网络异常行为的表现有多种特征,在此,以区分度最大的特征属性值作为网络行为异常的判定依据。在局域网中,根据网络流的特征值来进行安全预警。网络流中包含了很多重要属性值,如通信协议类型(Protocol)、源IP地址(SrcIP)、目标IP地址(DstIP)、源端口(SrcPort)、目标端口(DstPort)、服务类型(ToS)、路由器的接入口(InInt);如果对网络设备进行相应设置,则网络流数据还可以包括数据个数(Pkts)和(字节数)Bytes。在一定时间内,如果某一源IP地址的连接数据个数及流量总和超出了一定标准,则认定在局域网中此IP地址用户为网络异常行为用户。因此,不需要关注每一个字段,基于流数据的局域网络安全检测算法只需要关注源IP地址(SrcIP)、目标IP地址(DstIP)、ConFlow(网络连接流量)这3个字段即可。

2.2流数据挖掘模型的建立

我们提出了基于网络流数据模型的数据挖掘新算法,然后根据设定的挖掘规则找出异常用户。

流数据通常是实时、顺序、大量到达,因而采用时间序列模型对网络整体流量进行检测处理,采用十字转门模型与时间序列模型相结合的方式对同一源IP地址发出的连接进行检测处理,采用收银机模型对同一时刻各个不同目标IP地址的连接情况进行检测处理。

2.3流数据挖掘算法思路及描述

2.3.1算法思路

数据处理过程中需要运用变异的滑动窗口技术。在实时检测中,窗口的大小会随着检测的进行而变化,而初始窗口大小N的设定结合具体情况而定,且不宜过大。窗口大小的变化规则如下:窗口每次向前的滑动量为a×N,(其中0

(1)用大纲数据结构中的等高直方图来存储流入的数据,每个等高直方图就是一个桶(bucket)[10]。

(2)桶中存储3部分信息:以用户的源IP地址(SrcIP)作为标识的桶特征值;目的IP地址(DstIP);数据流量包流量总和(SumConFlow)。

(3)在当前时间窗口 (t,t+N)内,对于初始窗口的特征属性值进行累加。即,当新数据对象di到达时,首先与已有桶的特征值进行比较。若具有相同的标识,则通过收银机模型进行累加,并将其放入具有相同标识的桶中,然后更新桶内的目的IP地址与桶内的网络连接流量值;若不具备相同标识,则创建一个新桶,新桶的特征均值为对象si的源IP地址,然后更新桶内的目的IP地址与桶内的网络连接流量值。

(4)在窗口滑动的过程中,采用十字转门模型。窗口每次向前移动的量为a×N,同时窗口的长度也增加a×N,移动后的窗口终止位置与移动前窗口的终止位置之间的数据量为2a×N。这里a参数取0~1,具体取值根据实际流数据检测的需要人为设定。

(5)对于新到来的数据对象,依然采用前述步骤进行处理。对于离开的数据对象,则查找离开的数据对象所在的桶,并检测与该数据具有相同标识符的目标IP地址数:若IP地址数为多个,则减去一个,并将该数据对象的流量去除;若IP地址数为一个,则去掉该数据,并删除该数据对象所对应的桶。

(6)经过以上步骤得到聚类结果,聚类结果为代表不同源IP地址的桶。

2.3.2算法描述

设流数据序列为(d1,d2,…,di),则算法1表示当前时刻当前窗口流数据到来时的处理过程,算法2表示当前时刻当前窗口流数据的离开处理过程,算法3表示随着时间的推移,窗口的滑动过程。具体如下:

(1)算法1:DealInData(D, k)。

1)读入第1个数据对象d1,放入第1个桶b1中,设置桶b1的特征均值为该对象的源IP地址;

2)读入数据对象di,判断di与已有桶bj(1≤j≤i)的特征均值是否存在有相同标识;

3)if(exist);

4)将该数据放入到对象标识相同的桶中,更新桶内各属性值;

5)else;

6)创建一个新桶,将数据放入新桶,设定新桶的特征均值为该数据的源IP地址,更新新桶的各属性值。

(2)算法2:DealOutData(D, n);

1)查找要离开的数据所在的桶,统计桶内目的IP地址的个数n;

2)if(n>1);

3)删除该数据的目标IP地址,n=n-1,用流量包流量总和减去该数据包内的流量包大小;

4)else(n=1);

5)则去掉该数据,并删除该数据对象所对应的桶。

(3)算法3:SlideWindows(b, l,c)。

1)如果在桶bj内监测到异常数据,则发出警报l,则初始时lj=0,c≥1,c为灵敏度系数,需人工进行设置;

lj=lj+1;

3)输出桶bj的特征均值,输出桶bj对应的异常警报次数lj。

通过以上算法过程,得到输出结果:异常用户的IP地址;每个异常用户的警报次数。

2.4时间复杂度

算法1和算法2中涉及到时间复杂度的确定。

假设窗口长度为n,算法1中首先需要对窗口内的数据流完成一次遍历,然后需要对类进行查找,此算法的时间复杂度为O(kn)。

算法2中,首先需要对窗口内的数据进行更新,然后再继续查找,算法2的时间复杂度也是为O(kn)。

3 算法有效性的实验验证

3.1实验方法

首先采集局域网用户的网络管理日志的数据,并分析这些用户的连接数量以及发包的数量;然后结合实际的网络情况,设置算法1和算法2中的参数,并利用算法1和算法2来挖掘这些用户的行为特征。

实验数据中包括了某国际大公司的计算机网络运维日志:2周的Netflow和Bigbrother(主机状态监控)日志,1周的防火墙日志,通过日志分析可以找出异常行为。从日志中筛选出一个局域网的数据集,包含目的IP、源IP、发送时间、数据包大小等等相关信息。我们将算法1和算法2中的参数a设置为10%。对于每位用户,若接收或发送数据包的数量超出平均值的50%且其连接数量也超出平均值的50%,则表示该用户行为异常。若出现3次这样的情况,则对该用户给予警示。

3.2实验结果分析

首先通过用户一个窗口的流量日志进行分析,这里面涉及到用户及其对应的连接行为。图2所示为用户的连接数,可以看出,有些用户的连接数远远超出了平均数量。图3所示为用户的流量值。如果同一用户的连接数和流量值均超出了平均水平,那么该用户便有可能是异常用户。

图2 用户连接数

图3 用户流量值

在这里,我们对于超出用户平均水平50%的异常行为,给予预警。当预警次数达3次及以上时,我们才向用户发送预警信息。

4 结 语

该方法针对局域网的特性选择了具有评判网络安全行为的属性特征,采用桶存储数据的方式,使用可调节的滑动窗口,综合运用时间序列模型、收银机模型、十字转门模型,对大型流数据进行处理,以实时监控网络。通过实验验证,该系统可以实时监控网络,进行网络异常行为分析,并对用户提出预警。

[1] 中国互联网中心.第36次中国互联网络发展状况统计报告[R].(2015-07-23)[2016-04-25]http://www.cnnic.net.cnhlwfzyjhlwxzbghlwtjbg201507t20150722_52624.htm.

[2] 张卫华.网络行为监控系统的设计与实现[D].成都:电子科技大学,2010:13.[3]HENZINGERMR,RAGHAVANP,RAJAGOPALANS.ComputingonDataStreamsSRCTechnicalNote[R].PaloAlto,California:DigitalSystemsResearchCenter,1998:4.

[4] 孙玉芬,卢炎生.流数据挖掘综述[J].计算机科学, 2007, 34(1):1-2.

[5] 刘秋兰.基于流数据挖掘的网络行为分析及其应用研究[D].苏州:苏州大学,2008:38.

[6]ZHUSS.StatStream:StatisticalMonitoringofThousandsofDataStreamsinRealTime[C]Proc.ofthe28thInt′lConf.onVeryLargeDataBases.HongKong:MorganKaufmann,2002:356-366.

[7] 王涛, 李舟军, 颜跃进, 等.数据流挖掘分类技术综述[J].计算机研究与发展, 2007, 44(11):1800-1812.

[8] 贾慧,高仲合.异常流量的分析与研究[J].计算机安全,2010(7):57-59.

[9]KINDA,STOECKLINMP,DIMITROPOULOSX.Histogram-BasedTrafficAnomalyDetection[G].IEEETransactionsonNetworksServiceManagement,2009.

[10]RICHARDSW.TCPIP详解:卷1(协议)[M].北京:机械工业出版社,2009:80.

ANetworkInspectionSystemDesignBasedonDataStream

LI LinglingXIN Hao

(Department of Computing, Huaibei Vocational and Technical College, Huaibei Anhui 235000, China)

Basedonthephenomenonthatnetworksecurityhasbeenthreatenedbyvarioushostileattacksandmisuseofthenetworkresources,anewnetworksecuritydetectionalgorithmbasedondatastreamisproposedinthispaper.Withadjustableslidingwindows,thisalgorithmutilizescashregistermodel,turnstilemodelandtimeseriesmodeltoanalyzethestreamdataformisuseandanomalydetection.

streamdata;slidingwindow;securitymonitoring;bucket

2015-12-15

安徽省高校优秀青年人才基金重点项目“基于DatafStream的实时网络监控系统设计”(2013SQL138ZD)

李玲玲(1979 — ),女,安徽淮北人,硕士,讲师,研究方向为计算机应用技术。

TP301.6

A

1673-1980(2016)04-0109-04

猜你喜欢

IP地址滑动网络安全
铁路远动系统几种组网方式IP地址的申请和设置
网络安全
网络安全人才培养应“实战化”
一种新型滑动叉拉花键夹具
上网时如何注意网络安全?
Big Little lies: No One Is Perfect
IP地址切换器(IPCFG)
基于SNMP的IP地址管理系统开发与应用
公安网络中IP地址智能管理的研究与思考
我国拟制定网络安全法