【豆丁-精品】-采用Netflow数据的典型异常流量检测方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第38卷 增刊 电 子 科 技 大 学 学 报 V ol.38 Suppl
2009年11月 Journal
of University of Electronic Science and Technology of China Nov. 2009 采用Netflow 数据的典型异常流量检测方法
田 杨,王 宏,陈晓梅
(国防科技大学计算机学院 长沙 410073)
【摘要】基于Netflow 数据提出了根据流量特征进行异常检测的方法;分析了造成异常流量的DDoS 和端口扫描的流量特征两种网络攻击行为;并根据其特征进行用户可控的实时异常流量检测,给出告警,报告异常的时空坐标。

用户可以调整自己的参数设置,在计算时间和空间上平衡自己的参数,得到满意的结果。

采用Web 形式和CS 架构模式进行异常监控的实时显示,用户可以实时地在任何连接到服务器的主机设置参数和查看检测结果。

关 键 词 DdoS; 流量特征; netflow; 端口扫描; 实时检测
中图分类号 TP393 文献标识码 A doi:10.3969/j.issn.1001-0548.2009.z1.009
Typical Traffic Abnormal Detection Based on Netflow
TIAN Yang, WANG Hong, and CHEN Xiao-mei
(School of Computer, National University of Defence Technology Changsha 410073)
Abstract The paper presents a method based on Netflow data and flow’s character to detect abnormal activities in the network. Two behaviors which induce abnormal activities: the properties of DDoS and port scan’s flows are analyzed. And abnormal flows in real time according to the user’s setup is detected, then alert the user and show the abnormal activities coordinates of the time-space. User can balance the time and space’s parameters to get satisfactory result. The CS model on Web is used to detect abnormal flows in real time, the users who connect to the server can setup the parameters and get the result.
Key words DDoS; flow character; netflow; port scaning; real time detecting
收稿日期: 2009 − 09 − 15
作者简介:田 杨(1983 − ),男,硕士,主要从事计算机网络安全方面的研究.
网络异常流量是指网络的流量行为偏离其正常行为的情形,引起网络流量异常的原因很多,如网络设备的软硬件异常、网络操作异常、闪现拥挤(flash crowd)、网络攻击行为等。

异常流量的危害主要有威胁主机安全、浪费网络资源、影响用户应用等。

目前对流量的监测主要包括日常的一般流量监测、异常流量的侦测和告警、历史流量的分析挖掘3个方面[1]。

以往的网络流量异常检测方法大都通过一维信号的异常变化来检测异常[2],但某些网络异常行为(如DDoS)在单条链路上并不一定表现出非常明显的流量异常,所以检测会经常出现误判或漏判。

Netflow 是由Cisco 公司于1996年研发并取得专利技术的一种流量统计协议,用于专门解决原始流量方式所产生的问题。

Cisco 路由器的采样分析结果数据包括源地址、目的地址、源端口、目的端口、数据流的大小、数据流经过的接口、数据流的到达时间、数据流的送出时间等信息。

1 典型异常流量原理分析
本文主要分析由端口扫描和DDoS 攻击行为造成的网络异常流量的特征,从而找出造成这种异常的源攻击主机、目标主机和攻击的时间,并给出告警。

所以,根据端口扫描和DDoS 攻击的原理和常用的攻击方法会产生相应的异常,可以较好地分析对应的异常流量。

1.1 端口扫描原理 端口扫描一般是使用扫描器通过向指定端口发送特定报文,并记录目标给予的回答,得到被扫描主机端口的信息进而得到很多关于目标主机的各种有用的信息。

了解目标计算机开放的端口服务后,可以通过
这些开放的端口发送木马程序到目标计算机上,利用木马来控制被攻击的目标。

由于端口扫描是依靠向目标主机发送特定报文来实现的,一般会持续发送大量没有承载信息的报文来寻找需要的端口,这些报文大量占用网络带宽,出现流量突发异常、端口变化频率高、大量小报文等现象,最后导致正常的网络活动效率降低,严重的时候会使部分网络瘫痪。

被端口扫描的主机会使
电子科技大学学报第38卷58
用大量的资源去处理这些没有承载有用信息的报文,使主机效率降低,同时安全受到威胁。

1.2 DDoS原理
DDoS早已成网络公害,它通过暴力手段淹没目标网络,从而使受害者无法处理合法的请求。

在多种表现形式中主要是流量拥塞、带宽消耗、反应缓慢和应用中断等。

一个比较完善的DDoS攻击体系层次结构[3]如图1所示。

图1 DDoS攻击结构图
DoS造成的异常主要是在服务器端,使服务器拒绝服务。

对于网络带宽的影响也集中在服务器端,特别是DDoS攻击时很可能将服务器端的带宽耗尽。

DoS和DDoS攻击的报文只有一些比较特殊的容易被拦截[4],像制造错误日志、某些脚本攻击或者分布式攻击中单纯的SYN攻击等,与正常报文有很多相似之处,分离出来较困难。

不同时段的SYN数据包的出现频率是相似的[5]。

当目标机受到攻击时,SYN数据包的出现频率会产生明显变化。

当DDOS攻击一个目标主机时,会出现明显超出该网络正常工作时极限流量的现象[6];网络连接中大量不属于正常连接通讯的超常ICMP、TCP、UDP的高序列端口数据包会出现[7];不稳定的半开连接和可疑连接增多,这主要是因为被控主机控制傀儡主机进行对目标主机的无效连接增加所致。

本文根据Netflow的v5原始数据统计计算流的多维属性信息;然后根据其特征和端口扫描、DDoS 网络攻击的异常流量特征分析比较,研究异常流量的时空特性,主要包括计算流量特征属性、分析流量统计结果、给出实时检测算法、显示告警信息。

2 异常检测算法描述
2.1 系统结构
通常情况下,网络流量分析系统的架构基本上是一致的。

由于流量分析系统属于网络管理软件,因此在系统架构上仍然遵循网络管理软件系统架构的一般原则,即整个体系分为采集层、分析层、呈现层3层。

(1) 采集层。

直接从网元设备获取原始流量数据并进行解码,把解码后的数据交给分析层进行分析计算,通常还会保留一份解码后的流量数据记录的硬盘。

在采集层上使用开源的Netflow采集软件- JNCA,它能够自主建立Netflow流量信息表,方便用户对数据库的查询和操作,而且基于java语言和轻量级的MySql数据库,资源利用效率高。

(2) 分析层。

从采集层获取解码后的流量数据记录开始进行分析计算,通常在计算前需要进行数据的归一化处理[8]。

该层主要集成数据处理模块、DDoS异常流量检测模块、端口扫描异常流量检测模块、图形化显示模块等4个模块,结构如图
2所示。

(3) 呈现层通过数据接口获取统计分析的结果,并呈现在用户界面上。

本文使用CS模式,用户可以在客户机上设置参数并获取分析结果。

根据流的定义和本文算法用到的统计量的定义,可以得到以下结论。

平均发送频率为:
1
/
n
i
i
f D t
=
=∑
平均流量大小为:
11
/
n m
j
i j
r b t
==
=∑∑
平均数据包长度为:
1111
n m n m
j j
i j i j
l b c
====
=∑∑∑∑
每个地址端口对上的平均数据包长度为:
11
n n
i i
i i
pl l D
==
=∑∑
式中t为用于统计计算的时间长度;T为统计计算的时间间隔;n为统计计算的次数,也是所有统计向量的维数,/
n t T
=;m为时间点
i
t处的同一流出现
的次数;
j
b为数据库中一条流纪录中的字节数;
j
c
为数据库中一条流记录中的数据包个数;
i
D为时间

i
t处的不同地址和端口对的数目。

用户可以通过控制以上4个统计量的阀值来控制异常检测的精确度和系统的运行效率。

记参数向
增 刊 田 杨 等: 采用Netflow 数据的典型异常流量检测方法 59
量T [,,,]r l f pl =OP ,β 为用户设定的参数可用向量,维数为4且β 的每个元素取值为0或1,假设用户认为
r 和1p 参数可以忽略,则β =[0,1,1,0]。

另设OP 的上下阀值向量为
max max max max [, , , ]a r l f pl =M 和
min min min min [, , , ]i r l f pl =M ,定义a <M OP β为OP i i i ma <β,对于{1,2,3,4}i ∀∈且OP !0i i =β都成立,1OP r =、2OP f =、3OP l =、1OP pl =;同理,
i >OP M β的定义为OP i i i mi >β,对于{1,2,3,4}i ∀∈且OP !0i i =β也都成立,即是对比较大小的向量
OP β,只比较当且仅当不为零的行元素,且每个行元素都满足向量的比较要求。

同时可以设置统计计算的时间长度和时间间隔来达到控制实时性的目的。

这与计算精确度是相互制约的,即精确度越高,计算所需时间越长,实时性越差,反之实时性较好[9]。

2.2 端口扫描异常检测算法
对于端口扫描告警,本文根据用户的参数设置分别对源端口和目的端口的流量分布以及源地址端口对的流量特性进行分析,这样就可以从两个层面上对端口扫描告警做出较全面的分析,算法流程如图3所示。

图3 端口扫描异常检测流程图
(1) 对于源地址端口对,统计网络中的各个源地址端口对的流量分布形式,找出占有相应比重流量的源地址端口对。

结合用户设定的可信源地址端口列表,构造一个新的可信源端口列表。

该列表用来对第二方面进行的源地址端口对出现的疑似端口扫描攻击进行过滤,从而更精确地定位攻击者。

(2) 实时分析网络中的源地址端口对的流量特征,根据用户设定的参数来判断是否是可疑端口扫描的源地址和端口对。

这些参数包括源地址端口对的流量变化,发送出来的原始数据包的长度,目的地址端口对的分布宽度,以及目的地址端口的变化频率范围等。

统计计算出这些属性值后,经过可信地址端口对链表过滤,找出疑似目标机,然后通过
展开分析疑似目标机的多时段流量详细特征确定是否受到攻击,何时收到哪些元地址端口的攻击,并给出告警。

2.3 DDoS 异常检测算法
对于DDoS 攻击,本文根据用户的参数设置给出告警:(1) 获取用户的参数设定值。

(2) 搜索用户指定时间范围内的所有流信息,根据属性向量OP 找出满足用户条件的Ma 和Mi 的目标主机。

如果有一个条件不满足,则该主机就不是疑似目标主机;否则将该主机对象加入到疑似目标主机列表。

以上过程找出的是疑似目标主机,而这些主机可能并不是被攻击者,用户根据历史经验和该系统的调节参数设定一个可信目标主机列表(因为在一定的情况下,任何主机都有可能受到攻击。

其实不
然,可以对主机的安全等级进行分类,对于可信级别的目标机可省去很多的资源,提高运行效率)。

过滤疑似目标主机,找出确定的目标主机和攻击者的流程如图4所示。

图4 DDoS 攻击异常检测流程图
(1) 获取用户设定的可信源主机列表及第一步计算的疑似目标主机列表,循环疑似主机列表的每一个疑似目标主机,将所有疑似目标主机提示给用户,以便用户能进行更深层次的分析。

(2) 计算该攻击疑似目标主机的傀儡主机数目,如果傀儡主机数目在用户设定的范围内(攻击疑似
目标主机的傀儡主机数目),则该疑似目标主机确定为目标主机,否则作为疑似目标主机交给用户分析。

(3) 根据傀儡主机数目的浮动范围查找与这些被选定傀儡主机的全部或部分存在链接的源主机,将这些主机添加到该疑似目标机的疑似攻击者链表。

(4) 根据用户设定的可信源主机列表进行可信源主机过滤,如果疑似攻击者是可信源主机,则将攻击者排除;否则计算当前目标主机的流量时间序列,找出攻击者攻击的时间点,确立关于目标主机的DDoS 攻击的时空告警,可以给出告警。

3 实验和结果分析
本文在校园网上进行了实验,实验架构如图5所示。

用户终端
局域网1
20.220.120.130
局域网2
攻击者20.220.130.120
被攻击者20.220.230.210
图5 实验架构图
检测服务器用来运行服务器端的异常流量的检测过程和Web 服务,异常检测模块接收Netflow 的数据进行分析,然后将结果放到Web 服务器上。

用户终端通过和Web 服务器的交互参数的设置来控制检测和告警的时间和精确度。

3.1 端口扫描异常检测
在局域网1中使用地址为20.220.130.120,对局域网2中的地址为20.220.230.210的主机进行端口扫描。

由于该目标机承载了一个轻量级的Web 服务器,所以它的流量和流的数目要高于源主机。

检测服务器的80端口为可信目标地址和端口,用户终端和被攻击者20.220.230.210为可信源主机。

设源地址端口发送的数据包的大小为(30~
60 B),目的地址和端口的分布宽度(300~+∞),数据包的发送频率最低值为0.25,最大值为+∞,统计时间间隔为5 min 。

得到的可能是进行端口扫描的源地址端口对总共有106对,表1给出了前4个源地址的统计信息。

再将这些地址和端口对进行可信源过滤可以得到疑似端口扫描的告警源地址端口。

表1 端口扫描检测结果
源地址 平均数据
包大小/B 目的地址和 端口分部数 发送频率告警 级别 20.220.230.21059.785 6 17 242 71.84已过滤 20.220.130.12051.133 2 14 416 60.07高 27.132.111.23848.000 0 615 10.90低 20.220.120.130
46.606 7
1 671
6.96

通过过滤可信源地址端口可将20.220.230.210过滤掉,展开20.220.130.120的流量和目的地址端口的平均数据包分布,如表2所示。

由表2可知,攻击者的随机源端口顺序扫描了被攻击者的1~49 400端口,由此可见该攻击者在时间19:35~19:40之间对目标机20.220.230.210进行了一次端口扫描。

表2 源地址为20.220.130.120的流属性信息
源端

目的地址
目的端口字 节 数据 包数 协
议 时间
38 04020.220.230.210 1 40 1 6 2009-04-27-19:40:0938 04020.220.230.210
2
40 1 6 2009-04-27-19:36:39
#
57 21520.220.230.21044 33440 1 6 2009-04-27-19:39:1257 21520.220.230.21049 400
40
1
6 2009-04-27-19:36:29
3.2 DDoS 攻击异常检测
实验参数设置为Victim 可能接受到的可疑链接流数目大于50,每个可疑流的平局数据包长度在
30~300 B 之间,长度在其间的数据包的总个数大于100,傀儡主机的上限浮动范围为10%,下限浮动范围为23%,得到的结果如表3所示。

表3 DDoS 攻击检测结果
疑似目标主机 可能攻击者 平均数据
包长度 可疑流数数据 包数 27.132.23.27 No Attacker 58.901 4 58 33 27.132.23.12 No Attacker 54.059 5 60 32 20.220.230.210
20.220.130.120
142.749 6
117
16 125
27.132.21.11 No Attacker 46.745 7 72 34
疑似目标机的详细流量大小如图6所示,在2月
19日的12:30至2月19日的13:00之间疑似目标机20.220.230.210的流量突然变大,并在10 min 之后陡然降低;而且该主机的可能攻击者20.220.130.120并不在用户的可信源主机列表里,由此可以认为该IP 地址的主机在这个时间段对疑似目标机
20.220.230.210进行了一次DDoS 攻击行为。

通过实验可以看出地址为20.220.230.210的主机在受到DDoS 攻击时的流量特征信息很明显,展开该地址的流量详细信息可以看出,有大量超长数据包发送到该主机,带宽受到严重影响。

(下转第74页)
security technology[J]. Group Economy, 2007, (277): 274. [12] 朱学芳, 黄 奇, 马仁配. 基于语音识别的用户认证系
统设计及其在电子商务中的应用[J]. 情报科学, 2007, 25(8): 1223-1226.
ZHU Xue-fang, HUANG Qi, MA Ren-pei. User
authentication system design based on voice recognition
and its application in E-commerce[J]. Information Technology, 2007, 25(8): 1223-1226.
编 辑 黄 莘
------------------------------------------------------------------------------------------------------------------------------------------- (上接第60页)
1 000 750 500 250
流量大小k B /s 12:00 12:10 12:30 12:40 12:50 13:00
时间
图6 20.220.230.210的流量变化曲线
4 结 束 语
本文介绍了一种基于Netflow 数据和DDoS 及端口扫描两种攻击行为的异常流量特征进行实时异常检测的方法,使用了统计数据计算异常流量的特征属性,给出了统计计算公式和相关算法的详细描述。

实现中采用了CS 架构模式对异常分析功能和告警显示等功能进行分离,方便用户调节检测精确度和时效性的平衡关系。

在校园网上布置的实验环境中进行了模拟攻击和检测实验,在一般情况下对明显的突发的两种攻击行为可较好地检测出来,并能简单地调节准确性和时效性的关系。

参 考 文 献
[1] DU Rui-zhong, YANG Xiao-hui, MA Xiao-xue, et al. DDoS defense algorithm based on multi-segment time out technology[J]. Wuhan University Journal of Natural Sciences, 2006, 11(6): 1823-1826.
[2] NOBLEE C C, COOK D J. Graph-based anomaly detection [C]//International Conference on Knowledge Discovery and Data Mining,[S.l.]: [s.n.], 2003: 631-636.
[3] 梁成国. DDoS 攻击原理剖析和防御策略[J]. 广西大学学报(自然科学版), 2006, 31(增刊): 296-299.
LIANG Cheng-guo. Analysis on principle and some defense strategy of attack of DDoS[J]. Journal of Guangxi University (Natural Science Edition), 2006, 31(suppl): 296-299.
[4] 杨长春, 倪彤光, 薛恒新. 一种基于数据挖掘的DDoS 攻击入侵检测系统[J]. 计算机工程, 2007, 33(23): 167-169. YANG Chang-chun, NI Tong-guang, XUE Heng-xin. DDoS intrusion detection system based on data mining[J]. Computer Engineering, 2007, 33(23): 167-169.
[5] 杜 鑫, 杨英杰, 常德显. 基于特征分布分析的网络流量监测系统[J]. 计算机工程, 2009, 35(6): 116-118.
DU Xin, YANG Ying-jie, CHANG De-xian. Network traffic supervision system based on feature distribution analysis[J]. Computer Engineering, 2009, 35(6): 116-118.
[6] 杨新宇, 李 磊, 张国栋. IPv6中的DoS/DDoS 攻击流量突发检测算法[J]. 计算机工程, 2008, 34(14): 23-25.
YANG Xin-yu, LI Lei, ZHANG Guo-dong. DoS/DDoS traffic burst detecting algorithm in IPv6[J]. Computer Engineering, 2008, 34(14): 23-25.
[7] 孙钦东, 张德运, 郑卫斌, 等. 基于时频分析的分布式拒绝服务攻击的自动检测[J]. 西安交通大学学报, 2004, 38(12): 39-42.
SUN Qin-dong, ZHANG De-yun, ZHENG Wei-bin, et al.
Automatic detection of distributed denial of service attacks based on time2frequency analysis[J]. Journal of Xi’an Jiaotong University, 2004, 38(12): 39-42.
[8] MAI Jian-ning, CHUAH Chen-nee, SRIDHARAN A, et al.
Is sampled data suf ficient for anomaly detection[C]// Proceedings of the 6th ACM SIGCOMM Conference on Internet Measurement. [S.l.]: [s.n.], 2006: 165-176. [9] MARINA T, JI Chuan-yi. Anomaly detection in IP networks[J]. IEEE Transactions on Signal Processing, 2003, 51(8): 2191-2204.
编 辑 黄 莘。

相关文档
最新文档