Loading
0

DDoS攻击工具演变

摘要: 在DDoS的领域里面,攻击工具扮演着一个重要的角色,因为事实上的DDoS攻击,都是依靠攻击工具来实施的。因此对它们进行全面的分析,了解其产生的攻击类型、攻击实施的方式特点,将有助于采用更准确有效的清洗方法来对应攻击的威胁。 攻击类型 DDoS存在的原因主要是...

6630312401211859873

在DDoS的领域里面,攻击工具扮演着一个重要的角色,因为事实上的DDoS攻击,都是依靠攻击工具来实施的。因此对它们进行全面的分析,了解其产生的攻击类型、攻击实施的方式特点,将有助于采用更准确有效的清洗方法来对应攻击的威胁。

攻击类型

DDoS存在的原因主要是以太网TCP/IP协议栈的设计漏洞,即任何连接网络的主机都可以发送任意的IP报文,无须进行身份认证。IP网络是”尽力发送”网络,只要网络带宽足够大,就可以发送大量报文,攻击工具正是利用这特性得以存在和发展。

对攻击工具工作原理的分析,并不是去了解它们的实现设计,而是分析其所产生的攻击类型,深入了解攻击类型才是研究工具的核心。通常攻击分类可以从协议层面和被攻击目标的影响方式不同来划分。

协议层别划分的攻击类型主要有传输层攻击和应用层攻击。传输层攻击比较典型的代表就是SYN flood、ACK flood、UDP Flood,而应用层攻击的代表则是HTTP flood,DNS flood,SIP flood。另外一种是依据对目标服务器影响的不同方式来划分的攻击类型,它们分别是以消耗目标服务器资源和消耗网络带宽为目的的攻击。消耗目标服务器资源的攻击通常对协议栈原理有更深入的理解,比如SYN flood攻击,就是利用被攻击目标对SYN 报文分配资源没有释放的缺陷而达到目的,实施这种攻击无须大流量。以消耗目标服务器带宽资源的攻击则是以流量大取胜,比较典型的有UDP flood。从表1列出的工具可以看出,大多数工具是产生的攻击是以目标资源消耗型为目标,而且有能够模拟协议栈行为,比如完成TCP的三次握手。

攻击实施方式特点

攻击工具要体现出更大的威力,通常会设计一种良好的流量攻击方式,让攻击更难于防护和发现。比较常见的方式就是利用僵尸网络发起攻击。如果僵尸网络主机数量比较庞大,那么不管是在应用层还是传输层,对目标服务器的资源消耗和网络带宽的影响都会比较大。如果攻击工具能够模拟完整的协议栈,那么防护设备的防御难度越大,因为大部分防护技术都是基于协议栈的动态交互来实现身份认证的。比如SYN flood防护中的SYN COOKIE 算法,如果客户端能够完成正常3次握手,就可以突破这个算法。虽然大多数攻击工具能够完成传输层协议栈的模拟,但实现完整应用层协议栈的模拟则比较少,主要原因在于应用层协议比较复杂。 如表1所示的SlowHTTPTest能够完成正常的三次握手,然后利用应用层协议漏洞发起攻击。

总结起来攻击工具的发展有如下几个特点:

  1. 利用应用层协议栈漏洞发起的工具比较多。大部分集中在基于web业务的攻击,其它应用层协议如DNS、SIP相对比较少。
  2. 能够模拟协议栈行为包括应用层和传输层的攻击工具是未来发展的趋势,实现应用层协议模拟的防御难度会更大。
  3. 攻击工具已经逐渐朝更加隐蔽的方式,以能操纵更大规模的僵尸网络为目标方向挺进,比如DirtJumper。
  4. 基于应用层协议漏洞的攻击工具会越来越多,由于能够通过较少流量达到攻击目的,对业务的危害比较大。

攻击工具的防御

攻击工具的防御,一方面可以从基础设施的改进来缓解攻击影响,比如带宽扩容,增强服务器的处理性能、采用合理的网络部署结构等。另外一方面可以在网络边界出入口采用专用的防御技术。目前行之有效的防护方法主要有4大类:

1.动态挑战算法

模拟传输层和应用层协议栈行为,代替服务器回应数据报文,对正常的客户端发送挑战报文,只有完成挑战认证的客户端的流量才能放行。动态挑战算法比较常用的有SYNCookie, DNS Ncookie和SIP cookie。

2.多层次限速

基于各种粒度和层次,分别从源IP、目标IP、传输层和应用层session,对IP流量进行限制。这是对流量型攻击常用的防护方法,比如UDP Flood,ICMP Flood。

3.智能的访问控制

从三层到7层灵活的访问控制策略。从IP地址到7层应用层协议,比如HTTP协议,可对报文的URL,user-agent,cookie设置丢弃、信任和限速策略,而对DNS协议,则可对报文中QUERY名字、类型、RR记录设置类似策略。

4.行为分析和信誉机制

基于数据分析技术对IP行为和流量特征建模分析,建立通用信誉库包括IP、URL和文件信息,输出异常流量特征指纹,自动完成流量清洗。这对僵尸网络以及报文发送异常的攻击工具防护都非常有效,比如Slowloris Header。

虽然DDoS攻击方式在不断发生变化,但攻击的类型并不会发生质的改变,攻击工具对业务系统带来的最大威胁,并不在于新的工具名称的出现,而在于尚未发现而且能够被利用的已知或未知协议漏洞。面对未来新工具的出现,准确把握好其产生的攻击类型以及攻击方式特点,并基于此采用反制措施能将攻击危害控制到最小。


HOIC是High Orbit Ion Cannon(高轨道离子炮)的缩写,一款用RealBasic开发的DoS工具。最初一些人使用LOIC进行DoS,后来这些人被捕了,另外一些人开发了HOIC以示抗议。(在工具的攻击包中,有一个说明:Brothers one of our aids has been arrested and detained for merely using the loic we must show them that this is a mistake) RealBasic是一种类似VB6的编程语言,可以生成在Windows、Linux、Mac OS上运行的应用程序。HOIC是完全开源的,zip包中的hoic.rbp是RealBasic源码HOIC会从目标URL从一个Array中随机抽取,Referer、User-Agent分别从一个Array中随机抽取,另有一些随机的HTTP Headers。所有内容都是可定制的,发送出去的HTTP请求有很多变种HOIC只能发动合法的HTTP攻击。HOIC的HTTP攻击报文内容是通过一个.hoic文件进行控制的,这个.hoic文件里可以添加多个目标URL、Refer、User-Agent等内容。HOIC的攻击报文会从这些目标URL、Refer等字段中随即抽取,组成一个http攻击报文发送.HOIC攻击实际是靠大量正常HTTP请求进行DoS,如果有基于某些阈值的异常行为检测方案,完全可以有效检测、阻断HOIC攻击。类似NSFOCUS ADS系列的专业DDoS防护产品完全可以应对HOIC攻击。

HULK是一种web的拒绝服务攻击工具。它能够在web服务器上产生许多单一的伪造流量,能绕开引擎的缓存,因此能够直接攻击服务器的资源池。hulk的特别之处在于:对于每一个请求都是独特的,能够绕开引擎的缓存直接作用于服务器的负载。hulk使用的技术:源客户的混淆——通过一个User Agent的已知列表,每http一个请求的用户代理都是随机来自于已知列表。引用伪装——指向请求的referer是伪造的,要么指向主机自己,要么指向主要的已知站点。referer是产生请求的url。粘附性——使用标准的http请求去请求服务器,使用变化的的keep-alive时间窗保持连接建立不使用缓存——这是一个前提,向HTTP server请求no-cache,一个没有在背后cache service使用的server会呈现一个单独的页面。URL的独特组成——为了避免缓存和其他优化工具,HULK伪造了常见的参数名称和参数值,为了单一性,他们都是根据每个请求随机生成的,使得服务器就得处理每个事件的响应。

 

 

8090

关注网络安全。关注8090

欢迎访问:中国8090小组

加入官方QQ群

【声明】:8090安全小组门户(https://www.8090-sec.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们:邮箱hack@ddos.kim,我们会在最短的时间内进行处理。