当前位置: 首页 > 业界动态 > 技术实现 > 本文


DDOS攻击下基于TTL策略的数据安全方法研究(上)




发布时间: 2012-12-24 10:03:20  

主动防御DDOS攻击,保护服务器端数据安全的核心是在发现可疑连接时,主动去鉴别这种连接是不是异常的,而不是被动等待更多的DDOS特征信息。在发现异常连接后,采用一种根据TTL字段和IP字段进行带宽限制的方法,以扼制有害数据,以达到主动防御DDOS攻击的目的。

1 主动检测方法

随着Internet用户上网带宽的增加和互联网上DDOS黑客工具的不断发布,DDOS攻击的实施越来越容易,DDOS攻击事件正在呈上升趋势。由于商业竞争、打击报复和网络敲诈等多种因素,很多企业长期以来一直为DDOS攻击所困扰。随之而来的是客户投诉、法律纠纷、客户流失等一系列问题。因此,防御DDOS攻击,保护服务器端数据安全成为企业必须考虑的头等大事。在所有的DDOS防范方法中,受害服务器端的防范方法受到了最多的重视,在这一端最大的困难是发现DDOS攻击迹象时,已进入DDOS攻击的高峰期,此时很难采取有效的防范方法来抑制攻击的进行。本文提出的对策是尽量在早期发现DDOS攻击,再使用准确的带宽限制方法过滤恶意数据。

1.1 半开连接分析

在传送数据包之前,TCP协议需要用三次握手在客户端和服务器端之间建立连接。半开连接是指在服务器端收到客户端发出的SYN请求后,发出ACK/SYN,此时在服务器上保留一定的资源来记录此TCP连接状况,实际上在系统的内存中有一个专门的队列包含所有的半开连接,这个队列的大小是有限的,因而只要有意使服务器建立过多的半开连接就可以使服务器无法再响应新的TCP连接请求。在正常情况下,如果产生半开连接,是因为网络延迟或错误,比如第二次握手(ACK/SYN)或第三次握手(ACK)TCP包由于延迟或错误发生了丢失,这时在服务器端就会产生半开连接。通常为了保证服务质量,服务器会重试几次,重试的次数和重发的时间根据操作系统的不同而有所区别。重发的目的是为了提高三次握手的可靠性,降低网络拥塞带来的损失,这种半开连接我们称做正常的半开连接。在SYN淹没攻击中,在受害服务器上也会产生大量的半开连接。在这种情况下,攻击者向受害服务器发送大量的伪造了源IP地址的SYN包。当接受到这样的SYN请求包后,服务器转到“syn已接受”(syn-received)状态,然后根据源IP地址发送一个ACK/SYN包到客户端。然而这个源IP地址往往都是伪造的,因此这些ACK/SYN包不会被应答,服务器保留这些半开连接,并重试数次。这种类型的半开连接和前面讨论的正常的半开连接是不同的。这些由DDOS攻击产生的半开连接被称为异常的半开连接。对于服务器来说,是很难靠其自身来判断哪一个半开连接是由网络拥塞造成的,哪一个是由DDOS攻击产生的。避免此类DDOS攻击的关键问题是区分正常的半开连接和异常的半开连接,对于异常的半开连接,对此连接发送RST指令重置此连接,释放系统资源。大多数正常的半开连接是由于网络拥塞造成的,而异常的半开连接却与网络拥塞没有必然联系。网络拥塞可以通过一些特征来发现,比如网络延时变长了,包的丢失率增加了,一些拥塞的路由器接近能力上限。如果这些信息能够被捕获,可以判断这些在服务器上的半开连接是属于正常的半开连接,否则属于异常的半开连接。

1.2 路由节点的延时测试方法

路由路径上结点的延时被一个叫做DARB(DelayProbing)的主动方法来探测。DARB方法沿着流量出去的方向,向着被探测目标发送具有特定TTL(Time To Live,存[1]时间(TTL)IP分组中的一个值,指示了一个IP包可以在网络上被路由器转发的次数。网络中的路由器通过察看这个值就可以判断这个IP分组是不是已经在网络中停留了很久,进而决定是否要将其丢弃。出于多种原因,一个IP分组可能在很长一段时间内不能抵达目的地。例如:错误的路由有可能导致一个IP分组在网络中无限地循环。一种解决方法就是在一定时间后丢弃这个分组,然后发送一个信息通知这个分组的发送者,由它决定是否重发这个分组。TTL的初始值一般是系统缺省值,它位于IP分组的头部,占用8个二进制位。最初设定TTL值的目的是让它来指定一段特定的时间(以秒为单位),当这段时间耗尽的时候就将这个分组丢弃。由于每个路由器至少会让这个TTL值减1,所以这个TTL值经常用来指定在一个分组被丢弃之前允许经过的路由器数。每个路由器收到一个分组后就将它的TTL值减1,一旦这个值被减为0,路由器就会丢弃这个分组,并发送一个ICMP信息给这个分组的最初的发送者。根据发送出去的包和收到返回的ICMP包的时间差值,我们可以计算出从此主机到该路由器的时间延时。通过设定不同的TTL值,可以得到探测主机到指定路由器的时间延时。

1.3 评估半开连接

DARB方法返回延时结果时,需要评沽这些结果并将半开连接分为正常的半开连接或者是异常的半开连接。如果返回的结果有一个很大的延时值,意味该个半开连接有很大的可能性是由于网络拥塞造成的,如果返回一个很小的值,特别是接近0时,说明网络处于良好状态,一般是不会产生半开连接的,该半开连接将被认为是异常的,可能是由DDoS攻击造成的。

2基于TTL的带宽限制策略

当可疑半开连接达到一定数目时,DDOS警告将会发出,响应策略将会用来扼制恶意攻击流量。一个好的响应机制应该有以下特征:

1)能够准确地丢弃和限制攻击流量。一个精确的响应机制能丢弃或限制大部分的攻击数据包来减少DDOS攻击的危害。

2)较少的副作用。在对抗DDOS攻击时,保证服务器在被攻击期间也能向合法用户提供正常的服务,不会因为过滤攻击数据,而将大量的合法用户数据包丢弃。

3)较低的执行开销。由于响应机制部署在受害者端,大量的流量聚集在这一端,如果响应机制本身需要较高的执行开销,它很难有效地处理大量数据,而且更严重的是重量级的响应机制本身也会成为DDOS的攻击目标。根据以上基本要求,在本文中提出一个简单有效的响应措施,为阻止攻击数据继续向受害服务器发送恶意数据包,采用对可疑数据限制带宽的方法。带宽限制规则基于TTL值和源IP地址的判别方法,利用IP包头的TTL字段的值和IP字段共同区分合法用户和恶意数据。

本文来源:畅享网 作者:51CTO

分享到:
阅读:1327次
推荐阅读:

版权所有 © 2011-2016 南京云创大数据科技股份有限公司(股票代码:835305), 保留一切权利。(苏ICP备11060547号-1)  
云创大数据-领先的云存储、大数据、云计算产品供应商