扫一扫
关注微信公众号

设置路由器门限值 预防DDoS攻击(1)
2006-09-05   

一、预防DDoS攻击原理

在分布式“拒绝服务”(DDoS)的攻击过程中,一群恶意的主机或被恶意主机感染的主机将向受攻击的服务器发送大量的数据。在这种情况下,靠近网络边缘的网络节点将会变得资源枯竭。原因有二:一是靠近服务器的节点通常在设计时只要求处理少量的用户数据; 二是由于数据在网络核心区的聚集使处于边缘的节点会接收更多的数据。此外,服务器系统本身也很容易受到攻击,在极度超载的情况下会瘫痪。

DDoS攻击被视为一种资源管理问题。本文的目的就是要保护服务器系统在全局性网络中不会收到过量的服务请求。当然,这种机制也可以很容易地变为对网络节点的保护。为此,必须采取一种预防性措施:在攻击性数据包聚集到使服务器瘫痪之前,在传送路径上的路由器中对流量进行调节,避免攻击的发生。具体实现机制是要在与服务器有数级距离的上游路由器上设置门限值,只有在这个门限值以内的数据量可以通过路由器,而其他数据将被放弃或路由至其他路由器。

这种防御系统中的一个主要因素是各个路由点输出“适当”的数据量。“适当”必须视当时的需求分配而定,因此服务器与网络之间要进行动态协商。本文中的协商方法由服务器(S)发起,如果服务器在低于设计容量(Us)的情况下运行,则不需要设置门限值;如果服务器的负载(Ls)超过了设计容量,则可以在服务器的上游设置门限值来进行自我保护。此后,如果当前的门限值不能使S的负载低于Us,则应降低门限值;反之,如果Ls< Us,则应升高门限值;如果门限值的升高没有使负载在监视期内明显增加,则可以取消门限值。控制算法的目标就是将服务器的负载控制在[Ls,Us]范围之内。

很显然,不可能要求保留所有网络服务器的状态信息,因为这样会造成状态信息爆炸。但按需求选择保护机制是可行的,这一观点是基于DDoS攻击是一种个别现象而非普遍情况的假设。在任何时间段内,我们认定只有少数的网络受到攻击,大部分网络在“健康”状态下运行。此外,恶意攻击者通常选择那些访问用户最多的“主要站点”攻击,这些站点就可以利用以下的网络结构来保证自身的安全。

二、系统的模式

本文提及的所有数据量和服务器负载量的单位均为 kbps。系统网络拓扑图如图1所示。本文给出了网络模型G=(V,E),其中V代表一系列节点,E表示边缘。所有的叶状节点均为主机和数据来源。内部节点为路由器,路由器不会产生数据但可以接收来自主机的数据或转发来自其他路由器的数据。R表示内部路由节点,所有的路由器均假设是可以信任的。主机H=V-R,被分为普通的正常用户Hg和恶意用户Ha,E是网络链路模型,默认为双向。

叶形节点V被当作目标服务器S。正常用户以[0,rg]的速度将数据包发送到S。恶意攻击者则以[0,ra]的速度向S发送数据包,从原则上讲可以根据用户通常如何访问S(假设rg< < Us)来为rg设置一个合理的水平,但ra的取值很难确定,实际上ra的值大大高于rg。

当S受到攻击时,它会启动前面谈到的门限值防护机制。为了便于表示,假设一个超载的服务器仍然能够启动防护机制,因此没有必要在每台路由器上均设置门限值。R(k)表示与S相距k层的路由器或短于k层的路由器,但它们均直接与主机相连。

图中的方块节点表示主机,圆形节点代表路由器。最左侧的主机为目标服务器S,R(3)中的路由器为图中绿色的部分,请注意R(3)中最下层的路由器与S只相隔两层,之所以将其包括在内是因为它与主机直接相连。

三、门限值算法

在图1的例子中,令每台主机上的数字(S除外)减去当前主机向S发送数据的速率。设Ls=18且Us=22,发往S的负载超出了Us,因此将在S处启动门限值。算法运行结束之后,S确定门限值为6.25并将此速率定制到R(3)的各个路由器中。在图1中路由器上方的数字表示到达S的数据速率,下方括号中的数字表示数据传递的速率(经过调节后的)。经过调节后S处的负载限制到了20.53,R(3)中经过调节的速率是服务器负载的公平值。


共2页: 1 [2] 下一页

热词搜索:

上一篇:DDoS攻击的原理及工具介绍
下一篇:DB2数据库安全的12条军规

分享到: 收藏