针对HTTP协议的LDOS攻击建模与评估

2017-04-13 01:34许晓东
软件导刊 2017年3期
关键词:空位攻击者队列

赵 阳,许晓东

(江苏大学 计算机科学与通信工程学院,江苏 镇江 212013)

针对HTTP协议的LDOS攻击建模与评估

赵 阳,许晓东

(江苏大学 计算机科学与通信工程学院,江苏 镇江 212013)

低速率拒绝服务攻击主要是利用系统的协议漏洞,通过发送少量攻击数据包就可耗尽受攻击者可用资源,隐蔽性很高。对迭代服务器所建立的攻击模型进行了优化与改进。通过攻击评价指标,在NS2仿真软件下分析了攻击模型中各参数与性能之间的关系。

低速率;拒绝服务攻击;隐蔽性;迭代服务器

0 引言

拒绝服务攻击(Dos)通过暴力攻击手段,使计算机网络不能正常运转从而不能向合法用户提供所需服务[1],虽然破坏力度大,但由于其高速率流的攻击特征明显异常,很容易被检测到。因此,2003年Kuzmanovic等[2]首次提出了针对TCP拥塞控制机制而发起的shrew攻击(因可以逃脱检测,形象地称其为“地鼠”攻击),其可通过周期性发送低速率攻击流,以更高的攻击效率对受害者进行破坏而不易发现,也称为LDOS攻击(低速率拒绝服务攻击)。研究者对此充分重视,其防御检测手段也越来越多,最直接有效的方法是随机化拥塞控制机制中的超时时间[3]。实验证明这些方法能有效防御Ldos攻击对服务性能的影响。很多人将研究重点转向应用层,首次对其进行深入研究的是国外学者Maciá-Fernández[4]。相对于传输层,应用层低速率拒绝服务攻击[5](low-rate denial of service attacks against application servers,以下简称LoRDAS攻击),主要针对Web应用层HTTP1.1协议持续连接的特性发起攻击,若从应用层的HTTP协议发起LDOS攻击,实现则更复杂、隐蔽性更高。Maciá-Fernández在文献[6]中详细论述了发起该攻击的基本原理与策略:在保持低速率的同时,服务器对正常用户停止响应,但是他的研究仅仅局限于针对传统迭代服务器,攻击方法缺少灵活性,因此必须对其进行改进以顺应现代技术的发展。

1 LoRDAS攻击模型

LoRDAS攻击速率要免于IDS系统检测,在维持高效的同时达到很好的隐蔽性。由于现代分布式服务器对并发请求的处理能力显著提高,针对单机服务器的LDOS攻击,破坏力大大降低,因此必须对单机服务器的传统攻击模式进行改进。

1.1 LoRDAS攻击基本策略

由于服务器资源是有限的,按攻击目标来划分,拒绝服务攻击(DOS)主要有消耗节点资源和消耗网络连接数两种攻击方式,通过发送大量高速率攻击数据包,占据有限网络资源,致使新到达的请求无法排队而被连续丢弃,最终拒绝服务。而LoRDAS则是在Dos攻击基础上利用应用层的HTTP协议的持续性,准确预测连接释放时间,并在该时间点发送少量的攻击数据包,达到低速率要求。持续连接是HTTP/1.1版本后提出的,指Web服务器在发送响应后仍然在一段时间内保持该连接,且协议规定服务器应具有固定时间因素keepalivetime,加上服务器完成时间几乎完全等于连接释放时间,这为准确推算连接释放时间提供机会。攻击者可通过如图1所示的策略预测空位释放时间。

图1 正常连接状态

预测空位释放时间Toutput流程:①攻击者与服务器建立正常连接;②连接建立以后发送HTTP请求;③请求在Treceive时刻到达服务器端,并占据服务队列位置,等待一段时间后进入服务模块;④在服务队列等待一段时间后,服务进程从队列中提取请求并向服务器发送HTTP响应,攻击端得到响应的时刻记为Tresponse;⑤连接请求在保持Tkeep时间以后关闭。

1.2 传统迭代服务器攻击模型

在传统迭代服务器中,进程一个个处理客户端发来的连接,只要没有完成任务,它就会一直占用服务器进程,其余的请求则一直处于等待状态。因此,攻击者也相应采用单线程方式进行攻击。设想最初有N个位置占据缓存队列中的位置,其空位输出的时间预测如图2所示,从中可以看出其并没有考虑网络中动态变化的时间因素,而是假设每个攻击请求永远在请求服务器中某一特定资源。默认服务时间是固定的,当一个请求t=0时刻到达后,ts后会有空位释放,攻击者在这一固定时间发送攻击请求。显然,该方法工作在理想状态下,而现实中的网络环境是动态变化的,因此攻击效率低下。

图2 空位释放时间Toutput

不同于迭代服务器的是,并发服务器在同一时刻会对多个请求同时响应,通过master进程负责管理多个worker进程,客户端每发来一个请求,master进程都会创建多个worker进程去处理请求,自己则一直处于监听状态而不会阻塞,继续侦听下一个请求,其并发能力显著提高。传统的关于lordas建立的攻击模型在并发服务器上运行,并不能达到理想的攻击效果,必须对其进行改进与优化。

2 攻击模型优化设计

2.1 时间预测机制

攻击成功的关键在于准确预测空位释放时间Toutput的时刻,并在该时刻周围发送少量的数据包。需充分考虑网络中的不确定时间因素,通过重获机制获得释放的空位,具体推理如式(1)所示:

Tres=Trec+RTT/2

Toutput=Tres+Tkeep-RTT/2

Tattack=Toutput-RTT/2

(1)

RTT往返时延是计算机网络中的重要指标,在攻击设计中是一个重要参数。RTT指数据包从发送端到接收端再返回到发送端的来回时间,由于网络环境的不同,RTT的时间不是固定的。往返时延RTT主要包括链路的传播时间、处理时间以及缓存队列中的排队和处理时间,很多研究显示其服务时间满足正态分布[7]。

f(RTT)=N(RTT,var[RTT])

因此,RTT改进后如式(2)所示:

(2)

空位释放时间改进后公式为:

(3)

2.2 攻击重获机制

通过分析LoRDAS攻击的基本策略可以看出,其成功的关键在于准确的时间预测以及攻击包的发送策略。为了让缓存队列一直处于满溢状态,必须使用重获机制,其意义在于攻击单元抢占正常用户的请求队列位置时,通过重获机制,保持单元在请求完成后继续保持在之前的队列位置。可预测的是,一段时间之后,队列中合法用户的比例会越来越少,服务能力变得越来越低效。

如图3所示,攻击者在有空位释放的瞬间发送on/off周期性攻击波形。攻击采用多线程形式,每个线程尽可能先占据缓存队列位置,并在后期通过重获机制一直保持该位置。

由于空位释放时间具有随机性,因此需在Toutput时刻左右发送多个请求。攻击者尽量在输出的瞬间同步请求。攻击波形的基本特征如下:

(4)

(5)

图3 攻击波形

2.3 信息共享机制

由于攻击采用多线程,当空闲的线程在同一时刻监听同一端口时,多个线程在建立连接的过程中会发生争抢,即“惊群现象”,而目前相关文献没有意识到进程紊乱问题,也没有提出很好的解决方案,这将导致攻击效率低下。如图4所示,当攻击进程1与攻击进程2都预测到空位释放时刻Tout1与Tout2,并按照之前的运行机制发送攻击请求时,由于在该时刻发送了多个请求,则进程1获得了两个缓存队列位置,进程2失败后则会盲目发送请求。多次出现此现象后,会有越来越多进程出现紊乱,重获机制不能达到预期效果。

图4 进程间争抢现象

需要通过信息共享机制,对攻击进程进行序列化,防止进程间的争抢。攻击有保持单元与攻击单元之分,当队列处于满溢状态时,重获机制的保持单元获取队列位置失败,将保持单元切换为攻击单元,在获得缓存队列位置后,继续运行重获机制,动态调整攻击参数,重新发送数据包,以此保证成功获得缓存队列位置的成功率。

3 实验分析

采用先进先出(FIFO)队列。文献[8]指出,正常用户按照泊松分布发送数据流量,攻击结点周期性发送LoRDAS攻击流量,正常发送方、攻击方与路由器之间的链路带宽为12Mb/s,延时时间设置为10ms;两路由器之间的链路带宽为2Mb/s,延时时间为20ms;接收方与路由器间的链路带宽设置为20Mb/s,延时时间为10ms,缓存队列长度为C。网络拓扑如图5所示。

图5 网络拓扑

正常请求流量以10Mb/s的速率在0.1s时刻开始,在4.5s时刻结束,攻击请求在1s时刻开始,在4s时刻结束。时间点如图6所示。

图6 正常请求与攻击请求的发送时间点

以攻击效率E、攻击效能M为指标考虑攻击参数对其影响。模拟多个不同的攻击场景,确定攻击参数的最优取值。通过图示分析Tontime的取值对攻击效率以及攻击代价的影响,设置基本的实验攻击参数:攻击周期T=12s,R=10Mb/s,f(Ts)=N(12s,0.1s),tontime∈[0.1s,0.6s],Δ∈[0.025s,0.6s],R∈[2Mb/s,20Mb/s]。

(1)分析不同的tontime取值对攻击效率E以及攻击代价M的影响。从图7可以看出,随着tontime取值的增大,攻击效率E也随之增大,与其呈正相关关系。在初期增长较快,但之后随着取值的增大,其攻击效率增长缓慢,一般不会超过0.8,同时攻击代价也越来越大。综合分析攻击效能M的变化,tontime的最优取值为0.4s。

图7 Tontime对攻击效率E的影响

图8 Tontime对攻击代价M的影响

(2)攻击周期T=12s,f(Ts)=N(12s,0.1s),tontime=0.4s,Ns=4,R∈[2Mb/s,20Mb/s],分析不同突发数据率取值对攻击效率E以及攻击代价M的影响。如图8~图10所示,攻击效率E随着突发数据率R的提高而增长,初期增长速度较快,达到一定值后增长速度明显缓慢。综合分析攻击效能M的变化趋势,突发数据率R的最优取值为12Mb/s。

图9 R对攻击效率E的影响

图10 R对攻击代价M的影响

在忽略网络不可控因素的前提下,通过以上几组实验可大体确定最优的攻击参数。与传统的洪泛攻击相比,攻击速率大大降低,具有很好的隐蔽性,能够免于IDS系统检测。

4 结语

本文研究了LoRDAS攻击的行为特性,并建立了完善的数学攻击模型,通过仿真实验详细分析了攻击参数与攻击效率之间的关系。不足之处在于该研究仍停留在理论阶段,后续要侧重于将理论模型运用到实际网络环境中,考虑实际环境的不可控因素,验证其可行性。同时,对攻击参数及攻击波形的发起进行动态调整,采用分布式方法,根据实际情况调整参数,从而在保证低速率的同时达到更高的攻击效率。

今后的工作重点在于防御检测方法研究。本文通过分析Http协议的低速率拒绝服务攻击运行原理,为接下来的防御手段研究奠定了理论基础,同时也是后期研究目标之一。

[1] 文坤,杨家海,张宾.低速率拒绝服务攻击研究与进展综述[J].软件学报,2014,25(3):591-605.

[2] KUZMANOVIC A, KNIGHTLY E W.Low-rate TCP-targeted denial of service attacks[C].Proceedings of ACM SIGCOMM 2003,Karlsruhe, Germany, 2003.

[3] 魏蔚,董亚波,鲁东明,等.低速率 TCP 拒绝服务攻击的检测响应机制[J].浙江大学学报,2008,42(5):757-765.

[5] 何炎祥,刘陶,曹强,等.低速率拒绝服务攻击综述[J].计算机科学,2008,2(1):1-19.

[7] XU XD, GUO X, ZHU SR.A queuing analysis for low-rate DoS attacks against application servers[C].In Proc of the IEEE Int’l Conf,on Wireless Communications Networking and Information Security (WCNIS),2010.

[8] 许晓东.郭晓.应用层低速率拒绝服务攻击的分析与研究[D].镇江:江苏大学,2011.

(责任编辑:杜能钢)

赵阳(1992-),女,江苏泰州人,江苏大学计算机科学与通信工程学院硕士研究生,研究方向为网络安全;许晓东(1965-),男,福建福州人,江苏大学计算机科学与通信工程学院教授,研究方向为网络测量和行为学理论与技术。

10.11907/rjdk.162579

TP309

A

1672-7800(2017)003-0149-04

猜你喜欢
空位攻击者队列
基于微分博弈的追逃问题最优策略设计
队列里的小秘密
Zn空位缺陷长余辉发光材料Zn1-δAl2O4-δ的研究
在队列里
正面迎接批判
丰田加速驶入自动驾驶队列
有限次重复博弈下的网络攻击行为研究
空位
说者无心,听者有意——片谈语言交际中的空位对举