基于动态基线的业务运营支撑网异常流量检测研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于动态基线的业务运营支撑网异常流量
检测研究
摘要:本文提出了一种基于动态基线的业务运营支撑网(BOSS)异常流量检测方法。
本系统克服了业务支撑网中流量分析仪固定告警阈值的诸多弊端,实现了告警系统智能化,为维护人员提供真实可靠的业务支撑网网络流量告警。
此外,三级预警机制,使维护人员更清晰、更有效地掌握告警的严重性程度,降低了由于异常网络流量带来的系统风险。
关键字:动态基线、网络流量、临界基线、分级告警
0 引言
随着互联网技术的发展,基于互联网的各种应用已经深入人们的日常生活,给人们的生活方式带来了巨大的变化,但同时也带来了很多安全隐患。
目前,网络异常流量的检测机制总体来说可以归纳为三种类型:基于流量大小的检测、基于数据包特征的检测和基于网络带宽动态基线的检测。
每种机制都有其自身的特点,在一定程度上都有较高的检测效率,但是也都有自身的不足。
基于流量大小的检测,提出了基于熵值的检测方案,这种检测方案以Shannon信息论中的熵值度量网络流量中的数据包属性的随机性,根据随机性强度的大小检测异常流量的发生,这种方法具有较高的实时性,但是这种方案关于熵值大小的阈值需手动设置,无法根据网络状态自行调整,不同时段、不同链路的网络流量,具有不同的波峰、波谷,单一临界值无法有效界定异常的流量,从而无法有效检测。
基于数据包特征的检测,从网络流量找出符合特征的数据包,使用这种异常流量监测方案,我们必须事先知道每一种异常流量的特征,并为每一种特征开发专属的监测程序。
由于异常流量数据包的种类越来越多,对BOSS网络维护人员而言,不停的添加异常流量特征监测程序将带来沉重的负担,管理方式的延展性差。
另一方面,新型的异常数据包特征出现初期,其特征尚未被了解,导致异常流量监测程序的失效,无法有效检测。
根据业务支撑网的特点,提出了一种利用动态基线分析网络进出带宽所占比
率的监测方案,此方案根据平时对网络正常流量建立基本的基线资料,判断突然偏离基线的网络流量,进而找出网络中的异常流量。
1 固定阈值检测缺陷分析
BOSS网络中的流量分析设备有一定的流量告警功能,其告警基线为固定阈值,告警效率低,漏报率和误报率高,告警结果无法为维护人员提供有效网络流量信息,如图1。
具体表现如下:
1)告警阈值需手工设置,缺乏智能化变更:
维护人员的经验对阈值设置起关键作用,系统风险大
监控对象流量特征各不相同,阈值设置难度大
监控对象众多,维护人员工作量大
2)固定告警阈值,缺乏根据忙闲时调整的动态告警阈值:
固定告警阈值设置较大,只对流量波峰有意义,而其他时段的流量处于失控状态
固定告警阈值设置较小,无法满足波峰的状态告警,则峰值流量长时间处于告警状态,失去告警意义
3)缺乏科学全面的分级告警机制:
告警阈值单一
漏报率和误报率很高,无法为维护人员提供可靠流量信息
图1 固定阈值告警图
网络流量监控告警是BOSS网络流量管理工作的重点之一。
异常网络流量告警,不仅为系统平台维护人员提供了判断系统健康度的重要依据,更为业务支撑网平稳运行提供了有力保障。
固定阈值的模式承担着BOSS网络所有网络流量的告警判别,造成了无法有效告警的弊端,运维风险很大,高漏报率和高误报率让运维工作难以应对。
因此,基于动态基线的异常网络流量智能化侦测是一个重要需求,包括对动态告警基线的建立和更新,以及科学的分级告警机制等。
2 动态基线检测
基线分析是将一天分成多个时段并将每天相同时段的正常流量计算其平均值,这些连续不同时段的流量平均值便形成了流量基线;基线反映了网络正常行为下所呈现的流量变化趋势,是一项重要的流量指标。
而一旦网络中有异常流量发生,将直接反映于流量变化上。
利用每五分钟的各路由器、各链路、各应用服务的正常流量建立各自的流量基线,同时将网络流量与相同时段的基线值进行分析与比较,便可筛选出网络中的异常流量。
本系统利用Snmp、NetFlow网络流量监测工具,以其网络对象、时间、流量三个维度建立网络流量基线过滤与基线偏离的流量,从而找出可能的异常流量节点。
使用动态基线侦测方案,维护人员无须为每一异常流量数据包特征寻求或自行开发专属的侦测程序,且在新型异常特征流量开始感染发作之际,此方案便能发挥作用,提供维护人员重要的流量异常报警信息,能够有效协助计费人员尽早侦测和发现网络中的异常。
为了更清楚的说明如何进行网络流量基线分析,以图2以及图3为例解释如何利用动态基线监测异常流量。
首先根据不同时间段正常的网络平均流量建立动态基线(图2中的黑线),然后根据被测时刻历史数据的统计值与动态基线值的偏离程度建立动态临界线(图2中的蓝线),当某一时间段的流量超过了临界线,我们判定此时段为流量异常之时段。
图2中的红色水平虚线则是传统的流量异常监测所使用的固定临界线。
图2 动态基线示意图
图3 网络流量与动态基线的比较示意图
图3显示针对实际流量进行异常监测时,有些网络尖峰时段的正常流量高于固定临界值而被误判为异常流量,使用以基线为基础的动态临界机制,网络尖峰所造成的正常流量增加仍然低于临界值。
如图所示,与流量基线明显偏离的时段(如图3所标示三处)才会被视为异常流量。
3系统架构
在综合考虑基线设计要点以及BOSS网络流量分析系统的设计原则,我们选定了利用动态基线分析网络进出带宽所占比率的检测方案,除了根据不同的时段从Snmp、NetFlow收集流量记录,还包括以下几个工作流程来完成我们的动态基线分析监测程序:(1)决定基线分析的对象与单元;(2)计算对象的基线值;(3)制订动态分级告警规则;(4)说明受感染网络的异常流量的大小强度、持续时间以及部分异常流量细节。
3.1 决定基线分析的对象与单元
利用动态基线分析网络的异常流量,必须确定动态基线适应的对象,其必须满足网络流量具有一定的规律,基线分析的对象可以为用户比较关心的关键业务应用、路由器的出口链路以及某个重要部门的地址网段等。
从Snmp、NetFlow的流量记录中可以获得网络每天不同时段的流量,但我们尚需决定是否用网络流量作为基线分析的对象。
网络流量包含的封包数目(Packets)以及字节数(Bytes),异常流量的表现方式是发送大量的封包,且网络流量也会增加。
因此使用网络进出流量所占带宽比率建立基线比较容易监测异常流量的发生。
3.2 计算对象的基线值
对于BOSS网络来说,其网络流量是由一群具有集体相似行为的组织成员所贡献。
随着组织成员的作息,网络流量通常会以一天为周期呈现规律性变化,或有明显的波峰波谷分布情况。
因此我们将每一天分成多个时段,假设y为今日时
为至昨天为止的此时段的基线值,经过今日此时段段的正常情况的流量,而b
1
之后,新的基线值b更新如下:
b = a * y + (1 – a) * b
其中,0 < a < 1 (1)
1
a代表今日此时段的网络流量在基线中所占的比重,如果我们只针对周一至周五的网络流量进行基线分析,我们可以直觉的将a设为0.2即(1/5),意味着
则代表五天之中前四天的加权平均。
y代表一周五天统计的其中一天的流量,b
1
事实上,a用于上述公式的加权平均是反映我们对最近一次流量的重视程度,这可使b很快的反映最近的正常网络流量变化,在进行基线值b更新计算时,我们必须首先确定y是正常流量的统计值,如果此时段的流量是异常流量,则不进行基线值b的更新。
由于基线值b将被用来作为判断流量是否正常的依据,所以在
流量基线的计算初期,由于统计资料尚不够多,b值不具有一定的代表性,此时若使用基线值b筛选正常流量,很有可能将正确的流量y视为异常,而无法将y 反映至基线值b中,导致b本身的计算不正确,进而影响往后的异常监测和基线更新。
因此在流量基线计算初期应先搜集一段时间正常的网络流量,然后利用此时间段的y值建立正确的基线值b。
3.3 制订动态分级告警规则
由于网络流量存在波峰与波谷,且根据流量告警分级制,每一个告警状态都是一个区域范围,只要在区域内,就适用相应的分级。
因此,单纯用动态基线值b来判断流量是否异常,会产生一定的误差,造成较多的异常流量信息的误报。
于是,我们制定了动态临界区域,进行网络流量分级告警,具体如下:
假设前t天与待检验相同时刻的历史流量y
1,y
2
,y
3
,……,y
t
为样本,则待检
验流量与基线的偏离程度可表示为:
(2)其中,b由式(1)表示,且下一时刻实际流量值为y
t+1
则有:当时:网络状况正常,下一时刻网络流量值相对动态基线的偏差在允许范围内。
当时:产生初级告警,下一时刻网络流量值相对动态基线有较小偏差。
当时,产生中级告警,下一时刻网络流量值相对动态基线有较大偏差。
当时,产生高级告警,下一时刻网络流量相对动态基线有很大偏差。
3.4说明流量异常的信息
当某一时段的流量超过特定动态临界值时,该时段会被系统标示为异常时段,针对异常时段我们可以进一步分析该时段的NetFlow记录,找出可能出现问题的主机,一个被攻击的主机或者受到感染的主机会引起网络流量过多或过少,因此在NetFlow中会留下多笔流记录。
我们采用三个步骤来辨别异常流量的来源,分别是(a)计算流量偏离值;(b)依据NetFlow的流量进行主机排序;(c)累计主机的流量值至偏离值找出异常的主机。
(a)计算流量偏离值,是指此异常时段的流量与基线值间的距离,假设异常时段的流量偏离值为f,则此时段的流量偏离值为:
f =| y – b | (3)f代表了异常流量所带来的流量偏差值,f越大则表示异常的强度越大,受感染的主机数目越多。
(b)根据NetFlow的流量排序,贡献较多流量偏差的主机,较可能是产生异常流量的主机,因此我们从NetFlow中将该异常时段的各相同主机的流量值相加,并根据相加结果进行递减排序,显示所有流量从高到低排列的主机名单。
(c)累计至偏离值找出异常主机:步骤(b)执行后所列出的主机排名中,前几名最有可能产生异常流量,我们可以推测偏离值f主要是由排列于名单前面的主机所造成,因此我们将名单中前n个主机的流量相加,当n为最小使得主机流量总合超过偏离值f时,即找到了异常流量增大的主机群。
另外,根据比对排名后n个主机的历史网络流量与异常时段流量,参考流量偏差值,亦可找出异常流量减少的主机群。
综上,可根据以上分析步骤,得出异常流量的持续时间、大小强度、以及相关主机特征,为最后确定产生异常流量的主机提供可靠依据。
3.5 优化后效果
图4 业务支撑网流量图
图4为业务支撑网中某端口一天的流量图。
其中,阴影部分为动态基线覆盖范围,超出阴影部分的流量即为异常流量。
异常流量告警由业务支撑网运营管理系统(BOMC)通过短信网关下发短信,通知维护人员相关告警内容。
4 结论
通过对异常网络流量检测方法的动态基线改造,维护人员对业务运营支撑网中各安全域网络流量告警有了更具体、更精确的把握。
更加细腻的动态基线网络流量告警,降低了漏报率和误报率,提高了网络流量监控系统的有效性和敏锐度。
同时,分级告警机制,有利于系统网络流量性能分析,提高故障响应能力,降低网络性能分析成本,从而提升业务支撑网整体的运维效率。
.。