张兴锐 高小明 李家兴
摘 要: 随着网络业务与用户数不断增多,网络安全问题日益突出。DDoS攻击作为一种严重威胁网络安全的攻击方式,给网络带来了极大的危害。本文对近年的DDoS攻击检测技术进行了收集比较,分析了各类检测方法的运用场景和其各自的优缺点。最后指出, DDoS攻击防御不仅需要技术上的提升,也需要普通用户提高网络安全意识。
关键词: DDoS攻击检测;基于位置检测;时间序列;机器学习
1 引言
随着计算机技术的持续发展,上网的用户数量在不断增多,网络安全也越来越受到重视。分布式拒绝服务(DDoS)攻击是当前非常普遍且严重威胁网络安全的一种攻击方式,给人们和社会经济带来了重大损失。据 统计,2000年2月,包括雅虎、CNN、亚马逊、e-Bay、ZDNet等网站均遭受到了DDOS攻击,并致使部分网站瘫痪。2018年2月,著名面向开源及软件项目的托管平台Github遭遇了可能是迄今为止最大的 DDoS 攻击,最高访问量为 1.35Tbps,导致其经历了两次间歇性不可访问。多次的攻击事件表明,对DDoS攻击的检测和防御研究具有重要的理论意义和实际研究。
2 DDoS攻击简介
2.1 分布式拒绝服务攻击
拒绝服务攻击(DoS)也称洪水攻击,从广义的角度上讲,任何通过合法方式使目标电脑的网络或系统资源耗尽,从而无法向用户提供正常服务的攻击方式均属于DoS攻击范畴。DDoS攻击是攻击者利用大量傀儡计算机对攻击目标发动大量的正常或非正常请求,从而耗尽目标主机资源,最后使受攻击主机无法正常运行或提供服务。
2.2 DDoS攻击分类
DDoS攻击大体可分为两类:资源耗尽型攻击和带宽攻击。
2.2.1 资源耗尽型攻击
资源耗尽型攻击是利用协议和系统漏洞进行攻击。常见的攻击方式包括TCP SYN攻击、PUSH ACK等。下面以SYN为例进行说明:攻击者利用TCP的三次握手机制,向受害主机发送大量的TCP-SYN分组。受害主机收到请求后需要对各个SYN进行ACK应答,但是攻击者常常采用了伪源地址进行攻击,所以受害主机的ACK分组自然得不到应答,受害主机将保持这样的半开状态直到握手完成或者计时器超时为止(一般来说,这个超时设定时间是分钟数量级别的,但随着操作系统的不同而不同,大约在30秒到2分钟),受害主机在未收到请求主机的ACK报文情况下会不断的发送SYN-ACK给伪地址主机直到超时后才会丢弃本次连接。上述过程描述了单个攻击报文到达时,受害主机通常会进行的操作,当大量的攻击报文同时到达时,受害主机就会因为维持了大量的半开连接而导致主机的CPU和内存耗尽进而无法向正常用户提供服务。
2.2.2 带宽耗尽型攻击
带宽耗尽型攻击又分为直接型洪流攻击和反射性洪流攻击。
直接洪流攻击是攻击者向受害主机发送大量的无用数据包(如TCP洪流攻击、UDP风暴攻击和ICMP洪流攻击)从而占用受害主机的大量网络带宽,进而让受害者无法响应合法的数据包。
反射攻击是一种间接攻击,攻击者将攻击分组的源地址设置为受害主机的地址,并将这些攻击分组广播到网络中,由于网络中的路由设备并不知道这些分组是经过伪装的攻击分组,它们均将这些分组的响应分组发往受害主机,大量的回应消息会占用受害者的大量带宽,从而使受害主机无法响应正常用户请求。这些网络中的路由器被称为反射節点。
3 DDoS检测方法
3.1 按照检测位置分类
在DDoS检测防护方面,我们根据其部署的位置,分为基于源端网络的检测、基于中间网络检测和基于目的端网络检测。
3.1.1 基于源端网络检测
基于源端网络的检测是把DDoS检测算法部署在发出攻击数据包的主机附近。由于大部分DDoS攻击中,攻击者都会通过伪源IP进行攻击,据此,文献[1] 利用了Patricia树的汇聚方法检测DDoS攻击。文献[2]通过检测所有进出本机的数据帧(去掉广播和组播数据帧)相应的源端IP和目的IP,如果两者中没有本机的IP地址,则说明存在伪源IP的数据包,那么该数据帧很有可能是伪造的DDoS攻击流。文献[3]利用布隆过滤器结构对出入不同接口的数量进行简单计算,然后用无参数Cumulative Sum方法进行检测。
基于源端网络的检测是最为理想的一种检测方法,其优点主要有:1.可在源端一直攻击数据包,有效地降低了因攻击数据流而造成的网络资源浪费。2.由于这类检测方法部署在攻击源网络,所以较容易地追踪攻击源,同时也能够减少对于合法数据流的误丢弃。
3.1.2 基于中间网络的检测
基于中间网络的DDoS攻击检测是指将攻击DDoS检测算法部署在整个攻击网络的中间部分。文献[4]首先对网络中的路由器以时间△t对网络流F进行采样;然后分别计算出源地址、目的地址、目的端口均相同的数据包的时间序列。当时间间隔足够大时,计算自相关系数 其中ai为k个△t时间内a的序列。a为a的数学期望;βk为自相关系数。当计算得到自相关系数不为0时,可以认为发生了DDoS。
3.1.3 目的端网络检测
基于目的端网络检测技术是把DDoS检测算法部署在被攻击者主机附近。文献[5]提出了一种用于受害机所在网络的DDoS预防方案。该方案表明可在每个可能遭受攻击的服务器的上游路由器中设置流量阈值,将超过阈值的流量包进行丢弃或者路由到其他服务器。文献[6]利用数据包从源端到达目的端所需要的跳数是固定的这一特征,建立一张源地址和跳数相对应的表。由于伪造地址和正常源地址数据包包头中的TTL值是不同的,所以通过查表可以找到经过伪造的数据包。
基于目的端网络的检测方法是目前应用最多的攻击检测方法。其优点主要在于:检测算法部署在被攻击一侧,可以容易根据服务器性能异常降低或不正常的高流量等指标确定是否发生了攻击。
3.1.4 三种部署位置检测各项指标的比较
三种部署位置的比较如下表1:
表1 三种部署位置各项指标比较
3.2按照检测算法分类
3.2.1基于时间序列的检测
传统的检测方法主要有特征匹配、源IP地址追踪和计算TCP包的标志位比率等方法等。但是这类方法没有考虑时间因素与攻击之间的关联。文献[7]利用自回归模型分析网络流量序列的变化,通过比较参考滑动窗口和测试滑动窗口的似然率变化来检测不同时间点的攻击流量。另外,在DDoS网络攻击中,由于流量常在某个时间段内发生突变以至于超过某个限定值,所以阈值检测是一种非常常用的方法,文献[8]提出了一种指数加权移动平均算法EWMA,对网络流量的历史数据分配不同的权值,以表示近期数值影响较远期数值影响更大一些。基本公式为:st=axt+(1-a)st-1,其中st表示第t期的流量平滑值,a表示平滑系数,x表示第t的实际流量观察值。相较于静态阈值检测,文献[9]提供的方法不需要过多人为干预,灵活性高。提出一种综合反映DDoS攻击特征的IP流特征的检测算法(包括DDoS攻击流的非对称性、突发性、源IP地址分布和目标IP地址集中性),其基本思想在于采用IP流特性观察值来预测未来值,当检测到实际观察值与预测值相差较远就认为发生了DDoS攻击。
3.2.2基于机器学习的检测
随着人工智能的火热,机器学习引起了人们的广泛关注。目前将机器学习运用到DDoS检测中已取得不错成果。文献[10]通过提取网络流量数据包的多个属性(如IP协议字段、数据包的大小),依据这些属性运用贝叶斯分类算法对这些数据包进行分类,在按照抽样数据库中的数据计算每一类数据包的分值,生成一张分值表,接着用这些分值表对正常库和异常库中的数据包进行打分,计算正常流量和异常流量的分值特征:均值和标准差。最后将所得分数映射成09的危险等级。由于支持向量机具有良好的泛化性能,可以有效克服传统学习机的“维数灾难”和“过学习”问题,因此可以将SVM运用到DDoS检测中, 文献[11]采用多类支持向量机进行攻击识别,选取了单边连接密度、IP流的平均长度、IP包的流入流出比、IP流长度的熵、协议熵和协议比例6个特征进行学习,并将训练数据分成4类:正常,轻度,中度和重度,从而实现对攻击的分类检测。
4 结语
本文对DDoS近年来常用的DDoS检测方法进行归类整理。虽然这些方法能在一定程度上对DDoS进行检测防范,但是DDoS攻击仍网络安全的难题,伴随着DDoS攻击流量愈发升高(当前DDoS攻击所造成的流量峰值已达到TB级别),对DDoS进行有效防范已是刻不容缓。对DDoS进行防御需要人们的共同努力,既需要普通用户群提高自身安全意识,防止攻击者利用网络漏洞控制主机而变为“傀儡机”,也需要网络管理员进行网络流量监控分析。总之,要对DDoS攻击进行有效防范不仅需要检测方式的不断升级还需要各界人员付诸努力。
参考文献
[1] 李霞, 谢康林, 白英彩. 基于速率限制的源端网络 DDoS 防御[J]. 微型电脑应用, 2005, 21(8): 43-47.
[2] 钟金. 基于源端的 DDoS 攻击检测与防御技術的研究[D]. 南京师范大学, 2006.
[3] 王佳佳. 基于变点计算的源端 DDoS 攻击检测方法[J]. 泰州职业技术学院学报, 2013, 13(4): 64-67.
[4] 严芬,王佳佳,赵金凤,殷新春.DDoS攻击检测综述[J].计算机应用研究,2008(04):966-969.
[5] Yau D K Y, Lui J C S, Liang F, et al. Defending against distributed denial-of-service attacks with max-min fair server-centric router throttles[J]. IEEE/ACM Transactions on Networking, 2005, 13(1): 29-42.
[6] Filtering H C. An Effective Defense Against Spoofed DDoS Traffic (Cheng Jin, Haining Wang, Haining Wang, Kang G. Shin)[J].
[7] 李更生. 基于时间序列分析的 Web 服务器 DDoS 攻击检测[J]. 计算机工程与应用, 2007, 43(7): 135-138.
[8] 赵云成. 基于流量突变及数据挖掘的 DDOS 攻击检测与防范方法研究[D]. 吉林大学, 2009.
[9] 程杰仁,殷建平,刘运,刘湘辉,蔡志平.基于攻击特征的ARMA预测模型的DDoS攻击检测方法[J].计算机工程与科学,2010,32(04):1-4+28.
[10] 罗建, 李艳梅. 基于 Bayes 分类器的 DoS/DDoS 攻击防御技术[J]. 航空计算技术, 2010, 40(2): 127-129.
[11] 徐图, 罗瑜, 何大可. 多类支持向量机的 DDoS 攻击检测的方法[J]. 电子科技大学学报, 2008, 37(2): 274-277.
作者简介:张兴锐(1996-),男,汉族,重庆,本科。
高小明(1995-),男,汉族,重庆,本科。
李家兴(1997-),男,汉族,重庆,本科。