APP下载

基于网络流量的应用层DDoS攻击检测方法研究

2014-10-20代昆玉胡滨雷浩

微型电脑应用 2014年9期
关键词:网络流量应用层IP地址

代昆玉 ,胡滨,雷浩

0 引言

拒绝服务DoS(Denial of Service)攻击是指攻击者通过向目标主机发送大量数据,消耗目标主机的计算资源或网络资源从而破坏目标主机向其合法用户提供服务。分布式拒绝服务DDoS(Distributed Denial of Service)攻击是DoS攻击的分布式形式。DDoS攻击通过分布在整个因特网上的大量主机同时向受害主机发起大量的数据包, 使用多个受害系统运行几个 DoS攻击,协调一致的攻击一个或多个受害主机。

随着网络层和传输层的 DDoS攻击检测技术已日渐成熟,防御措施不断加强,针对底层的DDoS攻击已难于达到攻击目的,攻击者把攻击目标转移到应用层。应用层DDoS攻击通过消耗大量服务器的计算资源,阻止合法用户的正常访问。由于应用层攻击使用高层协议,故可以利用合法的协议和服务发起攻击,尤其与突发流量FC(Flash Crowd)非常相似。因此,传统用于网络层和传输层的DDoS攻击检测方法不能直接用于应用层DDoS攻击检测,研究针对应用层DDoS攻击检测方法已成为近年来网络安全领域的新热点。

当前,许多关于DDoS攻击的研究都集中在网络层和传输层。胡鸿等提出一种基于TCP 缓存的DDoS攻击检测算法,通过使用BP神经网络来检测TCP缓存的异常程度,根据异常程度判断攻击是否发生[1]。Ejaz等提出了通过时间序列的变化点,使用无参的累加和方法检测SYN洪泛攻击[2]。文献[3]提出了一个以信息论为基础的异常检测算法,采用熵和条件熵,其可帮助异常检测系统区分数据和参数设置。

然而,对于应用层的DDoS攻击的研究相对较少。当应用层DDoS攻击发生时,其流量特征和FC非常相似,因此,正确的区分FC和DDoS攻击流量是十分重要的。Jung等人在文献[4]中详细讨论了应用层DDoS和FC的区别。Li等人用混合测度来检测流量分布的偏移,从而区分DDoS攻击和FC事件[5]。王风宇等通过分析Web通信的外联行为特征的稳定性,提出了一种应用层DDoS攻击的检测方法[6]。

本文通过对网络流量特征进行分析,根据应用层DDoS攻击流量和正常流量的特征区别,提出一个DDoS攻击的检测模型,通过对源IP地址进行分析,能够有效地识别应用层DDoS攻击,并且针对DDoS攻击流量和FC流量的相似性,详细讨论两者的流量特征,选取主要特征正确区分两者,减少误报率和漏报率。

1 应用层DDoS攻击检测模型

DDoS攻击的检测模型如图1所示:

图1 DDoS攻击检测模型

由于网络环境处于正常状态时,其流量是有规律地变化的。一旦网络流量发生突然改变,网络流量分析模块就发送一个警告信号给DDoS攻击检测模块,DDoS攻击模块用于判断是FC流量还是DDoS攻击。当DDoS攻击被检测到时,攻击响应模块被激活,以过滤掉恶意流量并对真正的用户维持不间断的服务。另一方面,检测到FC时,激活各种负载分担机制,如内容分发网络能够容纳额外的合法的客户端访问网络资源,分担网络流量,确保网络的正常运行。

1.1 DDoS攻击检测

通过对源IP地址进行分析来检测DDoS攻击。使用2个主要的模块:源IP地址分析模块和DDoS攻击判定模块。

源IP地址分析模块从收到的网络流量中抽取源IP地址信息并判断其是一个新的还是旧的IP地址。为了实现该功能,在源IP地址分析模块采用2个数组来保存源IP地址,即IPold和IPnew。数组IPold由已知的攻击流量样本和正常流量的源IP地址初始化。数组IPnew在系统开始启动时初始化为空。IPnew数组被用来暂时保存从未见过的源IP地址,只有当DDoS攻击判定模块中的detect函数确定系统不再遭受攻击时,才把IPnew数组中的数据复制到IPold数组中,以此保证IPold数组的安全性。如果detect函数确定系统正遭受攻击,则丢弃IPnew数组。

在攻击检测模块中,使用一个detect函数来检查攻击,其包含2个状态:有攻击和无攻击。文中假设系统开始运行时是处于无攻击状态。detect函数周期性的运行,分析从未知源IP地址传来的数据包的速率。使用状态改变函数来检测传入的数据包速率的突发性变化。在此基础上确定系统状态,即是从有攻击到无攻击,还是从无攻击到有攻击。detect函数伪码如图2所示:

图2 detect函数伪码表示

Detect函数中使用了一个状态改变函数Statechange来检查流量达到率的一个突发变化,以此来确定系统状态的改变,该函数主要使用CUSUM算法。CUSUM算法是一个顺序分析算法,该算法假设在网络流量发生改变时,统计属性中被查参数的平均值。CUSUM 算法基于这一事实:如果有变化发生,随机序列的概率分布也会改变.针对实时网络流量分析,在恶意事件发生前后要评估流量的分布都是很困难的,在变化检查中,这一问题可使用非参数的CUSUM算法解决[7]。文中使用非参数的CUSUM算法改变检测技术来分析源IP地址。

1.2 区分DDoS和FC

由于DDoS攻击和FC特征上的相似性,经常会把DDoS攻击误认为是FC事件,或者把FC事件误认为是DDoS攻击,从而导致漏报和误报。因此,要想正确的区分DDoS攻击和FC事件,必需对其特征进行详细的讨论。

在网络环境中,突发流量是指大量合法用户同时发送访问请求到服务器,它集中在某个特定的时间在网络中的某个特定的网站。例如,突发的灾难(汶川地震),或重大运动赛事(世界杯的举行)等都会引起FC的出现。这会导致传入流量的显著增加,从而导致服务质量QoS(Quality-of-Service)降级。

DDoS攻击也会带来类似的结果,例如流量水平的突然改变,由大量的请求引起的网站不可用等。DDoS攻击流量和FC流量有两个共同的特征:一是它们都只有一个目标,所有的数据包都是发向该目标。二是巨大的流量持续的送往目的地足以拥塞链路和主机。在这种情况下,服务器会因为资源的限制和带宽耗尽而无法提供正常的服务。

但是,DDoS和FC之间仍然存在一些细微差异,如访问意图、客户端的请求速率、源IP地址的分布情况等。DDoS和FC的详细区别如表1所示:

表1 DDoS攻击和FC特征比较

文中主要选取流量的变化率,新的源IP地址的变化率和源IP地址的请求分配率3个参数来分析网络流量,帮助从FC流量中区分出DDoS攻击流量。

2 实验

由于公开的应用层DDoS攻击和FC事件的真实数据集很少,故实验中需要模拟网络流量。为了产生具有以上特征的网络流量,使用IP别名和Wget工具相结合。IP别名是一个可用于众多平台的技术,用于分配大量不同的IP到一个单一的硬件地址。wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP3个最常见的TCP/IP协议下载,并可以使用HTTP代理。因此,采用IP别名和Wget能够创建一组“bot”机和合法用户的现象,每一个都带有一个有效的IP地址和硬件地址用于模拟真实的DDoS攻击和FC。

实验环境由8个主机构成,分别模拟“bot”机和合法用户,由控制机统一控制,共同发送流量到目标服务器。控制机发出命令启动每个参与的主机创建一个“bot”实例。除了目标服务器外,其它所有的机器采用普通的PC机。实验环境初始化为所有的攻击者或是目标机的端口都通过交换机连接。每8个主机配置3200个“bot”,使用别名源IP绑定到硬件地址。每个“bot”配置一个唯一的源IP地址.

通过上述的配置,使用“bot”装载产生合成的FC流量来进行实验,使用1998年世界杯半决赛的流量来产生合成流量。为了计算相关参数,如数据包的数量,不同的源IP地址的数量,不同的访问资源的数量以及在各个采样间隔采集的正常资源的熵等,对这些数据进行统计分析。“bot”装载者使用这些信息产生合成流量。

单位时间内在目标服务器注册的源IP地址数量的变化如图3所示:

图3 源IP地址数量比较图

不同的源IP地址的数量在模拟流量上非常接近原始的FC数据,虽然在整个仿真过程中,目标机看到的不同的源IP地址的总数略小于预期值。

对于FC事件,大部分用户总是对特定事件的相关信息感兴趣。这一特征对于客户端来说是一个相对恒定的请求,因此,对于进入服务器的流量,客户端数量以一个相似的形式变化,正如图3所示。

3 总结

文中,通过对网络流量的分析,尤其是对源IP地址进行分析来检测应用层DDoS攻击,得到了较好的检测结果,同时,针对DDoS攻击和FC流量的相似性,通过辨识各相关特征,能够正确的区分二者,减少了误报率和漏报率。文中对提出的模型只进行了部分实验,同时,实验数据使用的是合成网络流量数据,下一步的工作是完成对整个模型的整体实验以及采用真实的网络数据对模型进行评估。

[1]胡鸿, 袁津生, 郭敏哲.基于 TCP 缓存的 DDoS 攻击检测算法[J].计算机工程, 2009, 35(16): 112-114.

[2]Ejaz Ahamed, George Mohay, AlanTickle, Sajal Bhatia,Use of IP Addresses for High Rate Flooding Attack Detection, [c]IFIP Advances in Information and Communication Technology, 2010, pp.124-135.

[3]Runyuan Sun, Bo Yang, Lizhi Peng, Zhenxiang Chen, Lei Zhang and Shan Jing, Traffic Classification Using Probabilistic Neural Network, [J]IEEE International Conference on Natural Computation (ICNC), 2010, pp.1914-1919.

[4]J.Jung, B.Krishnamurthy, and M.Rabinovich.Flash Crowds and Denial of Service Attacks: Characterization and Implications for CDNs and Web Sites.In Proc.[c]WWW’02, 2002, pp 293–304.

[5]Li K, Zhou W L, Li P, Hai J, Liu J W.Distinguishing DDoS attacks from fash crowds using probability metrics.In: Proc.Of the 3th Int’1 Coneon Network and System Security.2009, pp.9-17.

[6]王风宇, 曹首峰, 肖军等.一种基于Web群体外联行为的应用层 DDoS检测方法[J].软件学报, 2013,24(6):1263-1273.

[7]Tartakovsky, A.G., et al.: A novel approach to detection of intrusions in computer networks via adaptive sequential and batch-sequential change-point detection methods.[c]IEEE Transactions on Signal Processing 54, 2006,pp.3372–3382.

猜你喜欢

网络流量应用层IP地址
基于多元高斯分布的网络流量异常识别方法
基于神经网络的P2P流量识别方法
铁路远动系统几种组网方式IP地址的申请和设置
IP地址切换器(IPCFG)
AVB网络流量整形帧模型端到端延迟计算
基于SNMP的IP地址管理系统开发与应用
基于分级保护的OA系统应用层访问控制研究
公安网络中IP地址智能管理的研究与思考
新一代双向互动电力线通信技术的应用层协议研究
物联网技术在信息机房制冷系统中的应用