DDOS检测与防御机制研究

2023-06-03 12:10刘伟山
电脑知识与技术 2023年10期
关键词:异常检测

刘伟山

关键词:DDoS 攻击;异常检测;流量控制

中图分类号:TP393 文献标识码:A

文章编号:1009-3044(2023)10-0084-03

0 引言

DDoS(Distributed Denial-of-Service)攻击是互联网目前面临的最严峻的威胁之一,也是近几年网络安全研究的热点问题。面对DDoS攻击,虽然可以选择提高网络带宽和增强网络设备性能来抗衡,但带宽容量不可能无限增长,而攻击的规模则可以通过控制更多的僵尸主机(zombie)(实际执行攻击的机器)来大大加强,而且随着僵尸主机的性能的不断增长,攻击的强度也与日俱增,因此这种消极的应对方法并不值得提倡[1]。目前不少研究人员在这个安全领域进行了大量的研究,研究并总结出一些防御措施。这些方法根据其所处的防御阶段可以分为攻击发生前后的预防和追踪以及攻击时的控制。由于互联网管理的分散性,攻击前的预防通常不易实施[2]。而对攻击机器的追踪虽然在某种程度上可以制止攻击的持续进行,但由于这种方法必须要求对互联网中众多网络设备进行动态设置,以使它们可以联动工作才可能取得预期的效果,所以现实中并不十分可行;于是人们纷纷将重点放在遭受攻击过程中对攻击的检测与控制上。目前一个简易可行的检测与防御办法,就是在网络中一些关键的出口或入口处设置一个防御监控设备,这个设备有能力在攻击到来时及时检测出攻击发生,并采取有效的控制措施以达到信息网络系统的正常服务。

1 DDoS 攻击原理

分布式阻断服务(DDoS)攻击的前身是所谓的阻断服务(Denialof-Service,简称DoS)攻击。DoS攻击并不以篡改或窃取主机数据为目的,而是瘫痪系统主机使之无法正常运作[3]。换言之,由于一般网络系统的系统资源(例如内存、磁盘空间以及网络带宽等)都有限,因此黑客可以根据部分网络系统或者相关通信协议等的设计或实现上的漏洞,在一段时间内通过传送大量且密集的数据包至特定网站,使该网站无法立即处理这些数据包而导致瘫痪,进而造成网络用户无法连上该网站而被阻绝在外。这种攻击对网站本身而言并不具破坏性,只是造成系统无法及时处理信息或者宕机。

DDoS攻击主要过程如下:攻击者(Attacker)通过扫描从网络中找出存在漏洞的服务器或网络系统作为入侵控制的主控设备(Masters),通过控制主控设备重复扫描、入侵的步骤,攻击者掌握了为数众多的攻击执行设备(Zombies)[4]。需要发动攻击时,攻击者只需操纵主控设备并植入攻击指令和代码在攻击执行设备中,后者即可对受害者发起DDoS攻击。

2 DDoS 检测和防御系统设计

本系统设计是一个可部署在网络关键出入口或者骨干网络出入口的网络安全设备,用于抑制异常的网络流量以保证网络正常的通信,使网络即使在遭受诸如SYN泛洪、ICMP泛洪等一种或者多种已知或者未知的分布式服务攻击情况下仍然能够提供最大限度的正常网络服务。

2.1 系統架构设计

本系统使用多位组统计检测方法对网络异常进行监测。多位组统计就是对IP网络中的数据分组表头的各位组进行解析,并根据需求分别分项统计。本模块设计是在系统所完成的多位组积累数据统计的基础上,进一步完成多位组检测和数据流的分级控制。

整个系统设计主要包含下列三大模块:

1)统计分类:由于网络位组携带有网络通信的各种重要信息,对它们进行统计分析有助于深入了解网络的运行状况。在网络正常运行的情况下,各位组会对应网络所提供的服务以及网络状况而各自出现特定统计特征,各个位组之间也会对应网络行为而出现在数量及比例上的种种特殊联系。

2)异常检测:一旦发生攻击,就极有可能破坏这些固有的特征或关系而显现异常。针对这种特点,本模块对各项统计数据进行异常性分析,并得出其异常程度指数,当有异常情况显现并超出一定范围时可以将异常程度指数最高的位组编号记录下来(本设计中对异常指数最高的四个位组项进行记录),然后根据此数据把流经本系统的网络数据流程中含有这些异常位组项的数据分组,根据其异常程度指数的高低编入相应的分级速率限制队列进行流量控制,从而抑制异常流量的影响,以保证在遭受攻击时仍然能够维持网络的正常运行。

3)流量控制:流量控制应用于正常流量时,就是对正常流量根据需求进行数据流程分类并引导到不同的控制队列,以达到根据应用需求进行带宽管理的目的。流量控制也可以应用于异常流量的控制,这时则根据预定的策略对检测到的异常流量进行限制以避免或降低这些流量对网络所造成的影响,而对合理占用的则给予较高QoS的队列调度来达到限制攻击的目的。

当今最著名而被广泛应用的流量控制技术莫过于TCP协议中采用的滑动窗口(Sliding Window);另外,令牌桶过滤器(Token Bucket Filter,TBF)流量控制也是一种比较常用的流量控制技术[5]。令牌桶过滤器的基本思想是通过控制令牌桶过滤器来调控网络中流经的数据包,从而达到调控数据流速率,使网络流量平滑,避免过大的突发流量,以达到防御的目的。

2.2 系统流程

本节系统流程以数据流程图(Data Flow Chart)说明,以下分别是异常检测的流程和实现和异常防御的流程和实现。

2.2.1 异常检测流程

1)异常性检测处理器:对数据包的统计数据中的每一个位组项求异常程度指数并对超出一定范围的异常程度指数进行排序,得出前4位及其对应的位组编号,保存在异常指数排序表中。

2)结合异常检测法(Anomaly Detection)和滥用检测法(Misuse Detection)两种检测方法,并且采用以前者为主,后者为辅的检测方式来对多元统计数据进行监控和分析。根据各种网络协议自身的特点及协议之间关系的一些固有特点而显现出特定的统计特征。

3)对正常数据流程各位组统计数据进行均值及标准差分析,求出在没有遭受攻击的情况下,网络流量统计中每一个多位组项的正常特征参数。根据以上学习获得的参数作为正常状况的标准参数来进行异常数据流检测。

4)数据库控制处理器:负责对三组数据库进行读取以及将运算结果写回,同时负责根据预设的定时程序去更新其他模块的数据结构。

2.2.2 异常防御流程

异常防御的流程主要通过对令牌桶过滤器参数的控制和管理,以达到对流量进行控制。

1)數据流程以等于权重流的速率到达令牌桶过滤器。这种情况下,每个到来的数据包都能对应一个权重,然后无延迟地通过队列。

2)数据流程以小于权重流的速度到达令牌桶过滤器。通过队列的数据包只消耗了一部分权重,剩下的权重会在桶里积累下来,直到桶被装满。

3)剩下的权重可以在需要以高于权重流速率来发送数据流程的时候消耗掉,这种情况下就会产生少量而且可控的随机传输流。

4)数据流程以大于权重流的速率到达令牌桶过滤器。这时桶里的权重很快就会被耗尽,而且缓冲队列将会被占满。如果数据包持续超出限制地到来,则超出的那部分数据包将会被丢弃。这时虽然流进令牌桶过滤器队列的流量速率大于权重产生速率,但流出的流量将可以比较稳定地维持在权重产生速率上。

实际应用中,除了权重产生速率和桶深度外,还可以对缓冲等待队列的长度进行调节来控制令牌桶过滤器的工作性能。一个令牌桶过滤器可以由2个基本参数描述:权重流入令牌桶过滤器的速度a(权重产生速率),令牌桶过滤器的深度(最大容量)b。

通过将数据流程关联到权重流上,即每个到来的权重从数据队列中收集一个数据包,然后从桶中被删除,则某段时间t内流过令牌桶过滤器的数据包的数目c最多只能为:c=at+b,这样便可以调控数据流达到防御的目的。

3系统评估

本实验模拟在网络中发动针对邮件系统服务(25) 端口(非SYN分组)的DDoS攻击,类似于前两个实验,通过比较这些流量在通过本系统前后的变化便可以测试系统对其所做出的检测与控制的表现情况。

混合端口泛洪攻击的网络流量进入本系统时的流量如图4所示,而从系统出来的流量如图5所示。从图5中可见攻击流于以正常流后使流量大幅飙升。这时本系统能够检测到位组92(port25)出现异常并对其进行了适当的流量控制。故此,与输入端口的流量进行对比后可知,经过本系统的检测与控制后,输出端口的攻击流量已经得到极大的抑制。在本实验中虽然仅使用端口25作攻击防御测试,但由于系统在做多元统计及检测分析时对其他端口的处理与对端口25的处理类似,因此可以表明即使在其他端口发生类似的泛洪流量(例如针对某一未能在检测前预知的应用程序通信端口所进行的网络蠕虫攻击或攻击者为了逃避检测而随机选择攻击端口的攻击),本系统也能够对其进行同样的抑制。由此可以验证本系统对一些未知或发生变种的分布式阻断服务攻击仍然具有良好的抵御能力。

4 总结

现代互联网安全仍然面临众多威胁。DDoS攻击所具有的破坏力强,易于隐藏,特征较难提取以及难以预先防范等特点,使其越来越成为互联网的严峻威胁之一。而已有的DDoS攻击检测或控制系统均仍然存在各种不足,难以有效地抗御DDoS攻击。

在充分研究正常流量以及DDoS攻击流特性的基础上,本文实现了多位组检测控制系统模块,采用多位组异常检测及监控方法监测网络流量,对异常网络流量尤其是DDoS攻击流进行识别并利用令牌桶过滤器技术对其做出合适的流量控制。一系列的系统性能评估实验证明,本系统在令正常流量基本不受影响地通过的同时,能够非常敏感地对DDoS攻击进行识别并对攻击流量做出非常有效的控制。

猜你喜欢
异常检测
一种基于随机空间树的数据流异常检测算法