APP下载

基于基线算法的电力企业信息网异常流量检测的实现

2014-09-02赖蔚蔚

机电信息 2014年36期
关键词:工作日基线端口

赖蔚蔚

(广东电网公司惠州供电局,广东 惠州 516003)

基于基线算法的电力企业信息网异常流量检测的实现

赖蔚蔚

(广东电网公司惠州供电局,广东 惠州 516003)

主要提出了一种基于基线算法的电力企业信息网的异常流量检测。该方法利用思科的NetFlow采集工具NetFlow Collector(NFC),每5 min采集一次设备通过UDP传送过来的NetFlow原始数据,然后通过利用通讯端口、时间、流量(字节数或封包数目)3个维度的信息,通过筛选、去除偏离值、计算基线数值、实际值与基线数值比较等方式,检查当前网络是否存在异常流量。

基线算法;异常流量;基线分析;网络安全

0 引言

随着计算机和通信技术的发展,电力企业网络的规模越来越大,复杂性也在不断提升,各种应用业务也越来越广泛,因此发生各种故障的可能性也越大,各式各样的异常流量也随之而来。异常流量的产生不仅会影响网络的正常运行、降低工作效率,更有可能造成企业机密信息的泄露,影响企业的发展。因此,异常流量检测成为电力企业面临的一大难题。

主流的流量采集技术主要有基于镜像(阀在线)交通的协议分析技术、分布式监测技术(基于硬件探针监测技术)、基于NetFlow的监测技术和基于SNMP的监测技术4种。相对于NetFlow的监测技术,其他技术各有短板。流量镜像只能应用在单条链路,全网监测不适宜采用。硬件探针监测技术受接口速率上限的限制。SNMP技术主要收集一些设备状态信息和相应的流量信息。由于信息的单调和一些误差的存在,使得后期的数据分析只能在网络2、3层的信息以及设备的状态消息上进行。而NetFlow监测技术是属于统筹部署方案,不依赖某条链路,同时它采集数据的效率高,网络应用范畴大,成本相比较也更低,有较高的性价比。

异常流量检测技术主要有Top N、流量模型、模式匹配、Dark IP等。本文提出的是基于基线的流量检查方法,其主要目的是设计一种针对异常流量检测具有高度可行性的通用机制,而不是仅针对特定一种蠕虫所产生的异常流量的精确化方法,不管什么原因产生的流量,网管人员都可以利用此通用的检测机制检测异常流量的信息流。基于基线的方法主要是通过建立一个基于时间的流量常态模型,通过检测网络的各种设备及协议流量,设置基于各时间段的动态流量基线。若在同一个时间段中,监测数据与设定的基线存在偏差,则系统会给出异常警告,并且随着时间积累,告警等级会逐步升级。

1 NetFlow简介

思科公司的NetFlow是在IOS体系下引入的一种交换技术。它是利用源IP地址、目标IP地址、TOS字节、第3层协议类型等7个具有段标识的属性,同时在被思科路由器所支持的前提下,对不同类型的Flow进行快速精确的区分,然后进行跟踪、计量和分析,得到其时间、类型和大小等信息。

NetFlow服务可以提供一些其他高效优质的服务,如与路由器配合的最优交换路径下的数据统计,路由器与交换机信息交互的最大限额下的高效数据统计,以及用户、协议、端口和服务类型等多类型数据统计。此外,NetFlow还可以部署在网络的任何位置作为可寻径的设备,并且在某种程度上通过数据包过滤实现一些安全性服务措施。

NetFlow因采用特殊的交换技术,对路由器的影响较小。其查询过程只针对第一个分组进行,当Flow被识别区分以后,后面的分组默认为其一部分,这样面向连接基础的处理,回避了访问列表的操作,从而实现了小影响下的数据采集。

通过进一步分析NetFlow的字段说明,更能体现其优越性。如表1所示,可以发现flow record中有源/目的IP地址、传输层源、目的端口号等具有数据流标识的信息,包含对这些对数据安全相关的数据tcp flags,与地址相关的数据如源地址、目的地址、源自治号和目的自治号等,NetFlow提供了很多关于数据的细节,它能详细分析数据的各种信息。

表1 NetFlow字段说明

综上所述,NetFlow技术因其特殊的形式架构,不反复对每个数据包进行搜索,而是对数据流进行分析,改进了以往流量监控低效、对设备影响高等不利因素,因此更加适合大型网络。

2 基线分析

基线分析是一种多时间段平均法,其思想是把一个时间段有限细分,计算每个细分中变量的平均值,将其值连接起来,即为参考基线,它表征着一个系统的常态值,应用在流量监控上,则反映了正常的流量变化情况。

本文采用基线分析的方法,监测:

(1) 知名端口(1024以下的端口号)的某些特定端口(黑名单方式),即一些已公布的跟异常流量有关的端口,如一些蠕虫病毒(冲击波病毒使用的135端口);

(2) 其他所有非知名端口(1024以上的端口号),排除掉某些特定应用(如一些企业内部通讯软件之类)的端口(白名单方式)。

通过对符合上述条件的端口的历史记录和当前记录进行基线分析,执行如下步骤:

(1) 读取NetFlow记录并执行统计;

(2) 从历史记录表数据计算基线值;

(3) 确定动态临态值;

(4) 找出受感染主机。

具体过程形式描述如下:

2.1 选定基线分析NetFlow记录并执行统计

从NetFlow采集的信息流中,找到目的端口(dstport)的字段进行分析,判断其是否为基线统计所需要的目标对象。如果是知名端口,先检查该目的端口是否属于黑名单端口,如果是,则将该端口的流量记录进行统计,并写入历史表供以后基线计算使用;如果是非知名端口,先检查该目的端口是否属于白名单端口,如果不是,则将所有相关端口的流量记录作为整体(以端口号-1表明这些整体的端口)进行统计。

网络异常可以包括3个广义的类型:滥用异常、闪现拥挤异常和操作异常,而企业内部最常见的是滥用异常,具体包括的内容如表2所示。

表2 网络滥用异常种类说明

表2展示了各种异常流量与封包数目(Packets)或者字节数(Bytes)的对应关系,以蠕虫感染为例分析,当蠕虫感染时,就网络流量而言,会有大量的数据封包数目或数据字节,然而蠕虫所散布的字节数与正常信息相比较会小很多,由此可知蠕虫感染的情况下,网络中封包的数量统计会明显增加,而字节统计不会有明显变化。所以这时候统计封包数目这个字段值比较有用,可以更有效地检测网络是否有蠕虫病毒这种异常流量。相反,对于闪现拥挤,例如一些下载行为,封包数目或字节数均会增加,但下载的流量值对网络的运行有着更重要的影响,所以这时候统计字节数这个字段值,更能反映网络是否有异常的不符合要求的流量。

2.2 从历史记录表数据计算基线值

公司或组织的群体成员具有相似的行为特性,则其网络流量也具有高度的一致性,即随着组织成员的作息,网络流量具有周期性规律和尖峰发布情况。根据这一特性,我们将算法分为工作日与非工作日两种。

工作日:以5 min为单位,取前20个工作日当前分钟对应的某端口的采样点,求出它们的平均值和标准差,并利用格拉布斯准则剔除坏值,之后再利用。

非工作日:以5 min为单位,取前8个非工作日当前分钟对应的某端口采样点,剔除最大5%和最小5%的数据,然后取平均值,得出当前小时基线。

以工作日为例,具体步骤描述如下:

(1) 对每个符合条件的端口的前20个工作日该设备的流量值进行排序,得出如下序列:

综上,仅有文献[6]对集装箱驳运及拖运的经济性进行了比较,但该文献未能考虑运输时间及服务水平对路径经济性的影响.本文基于以上背景,以深圳西部港水上“巴士”为研究对象,分析其现存问题,并通过与其他出口路径经济性的比较分析,探讨提高集装箱物流运转速度、提升水上“巴士”满载率及运营效率的对策建议.

{X1i,X2i,…,X20i,ij⊂{1,2,…,20},

X1i≤X2i≤…≤X20i}

(2) 去除最大和最小的5%,即去掉最大和最小的值,剩下如下序列:

{X1i,X2i,…,X19i,ij⊂{1,2,…,20},

X1i≤X2i≤…≤X19i}

2.3 确定动态临态值

设Th为一个时间段细分的基线阈值,b1为基线值。b1值越大,Th应越大,即b1正比于Th。则有:

Th=K×b1

假设K为一大于1的常数,K值根据历史数据进行经验性适度调整。简单分析有,K值越大,感染行为愈容易确定,但是它同时会导致漏判率增加,使得一些蠕虫病毒不容易被发现;反之,K值越小,感染行为则愈加敏感,同时也会导致误判率增加,有些正常的信息流也会被误判为异常流量。本文所建立的一个系统初步将K值设为2,即当前值比基线值大一倍时才发现异常警报。

2.4 找出异常流量来源

当某一时间段细分中的所监控的流量超过第3步所描述的临界值时,此时间段则被称为异常时段,追踪这一时间段的记录进行进一步分析,根据NetFlow记录,找出产生异常流量的主机。主要步骤是通过分析NetFlow原始记录,对该时段、该端口的字节数或封包数目进行top排序,从而找出出现问题的主机IP及使用的端口,再进行进一步的处理。

3 实验结果分析

图1是某工作日10:00—11:35的一段真实流量和计算的基线值的非知名端口流量值,属于正常情况,不存在报警情况。

图1 非知名端口流量值1

图2是某工作日14:00—15:35的一段真实流量和计算的基线值的非知名端口流量值,实际值超过基线值2倍以上,属于异常情况,需要报警,并需要通过原始NetFlow记录分析产生大流量的IP及端口,并分析原因。

图2 非知名端口流量值2

图3是某工作日16:00—17:35的关于TCP端口135的一段真实流量和计算的基线值。此端口为冲击波使用的端口,字节数为48。从图中我们可以看出,16:45时135端口的流量值出现了突增,之后恢复正常,可能是某机器感染了冲击波病毒,当该机器想感染其他机器时,被防火墙封了而让流量值恢复正常。

图3 知名端口(135端口)流量值

4 总结与展望

本文提出了一种基于基线算法的企业异常流量检测的方法,同时提出了多时间段细分、多通讯端口监控的基线,在此动态基线的基础上,分别对工作日和非工作日的流量数据进行基线分析,从而达到检测异常流量的目的。根据实验结果分析该方法的优点如下:

(1) 分析的数据来源均为标准化的。本文所分析的数据均采用思科公司已列为RFC标准草案的NetFlow标准,且已在设备中广泛应用。虽然其他厂家,如华为、Juniper等都有提出基于自己设备的NetFlow格式,但都与思科的类似,所以数据来源的使用上具有通用性,实现了标准化的要求。

(2) 采取基线分析方法具有单一化。本文提出的基于基线分析异常流量监测方法具有高度的单一性,按照工作日和非工作日的多时间段细分进行分析,监测中只采用基线作为分析的唯一准则,免去了其他方法监测等的繁琐复杂,不会随着异常流量产生原因的不同而使用不同的检测方法,这种整体机制使得分析方法呈现高度的单一性。

(3) 网络检测尽量简易化。本文所提出的监测方法,虽然在精准度上有些许欠缺,无法保证完全监测出异常流量,但是由于其高度的单一化机制,使得监测方法得到很大的简化,对于一个大企业复杂庞大的网络来说是非常有用的,效率会有所提高,且具有更高更好的实时性。

但是,本文提出的初始基线生成方法相对简单,而基线的临界倍数对算法的准确性有很大的影响,后续需要做到保持在同样的时间复杂度下改善生成基线算法,以更有效地去检测异常流量。

[1]王卫东.电信IP骨干网络异常流量分析及其检测[J].网络安全技术与应用,2007(9)

[2]王海龙.大规模网络流量异常分析[D].国防科学技术大学,2006

[3]滕云.利用NetFlow技术构建网络异常监测及分析系统[J].广西通信技术,2007(3)

[4]Andrew S.Tanenbaum.计算机网络[M].第4版.北京:清华大学出版社,2004

[5]马艳春,肖创柏.基于动态基线分析方法的网络蠕虫检测机制的研究[J].华北科技学院学报,2008(1)

[6]邹柏贤.一种网络异常实时检测方法[J].计算机学报,2003(8)

2014-11-10

赖蔚蔚(1978—),男,广东河源人,硕士研究生,高级工程师,研究方向:电力信息化。

猜你喜欢

工作日基线端口
适用于MAUV的变基线定位系统
一种端口故障的解决方案
航天技术与甚长基线阵的结合探索
关于休闲的量的问题的考察
端口阻塞与优先级
一种改进的干涉仪测向基线设计方法
8端口IO-Link参考设计套件加快开发速度
卫星三端口DC-DC变换器技术综述
技术状态管理——对基线更改的控制
对《资本论》中工作日问题的哲学思考