使用Wireshark分析并发现DDoS攻击

与那些复杂而精密的入侵行为和漏洞利用相比,大部分的DDoS攻击显得十分粗线条,属于黑客世界中的“暴力犯罪”。然而,随着网络规模的不断扩大,可利用的僵尸网络规模的和带宽不断增加。现今DDoS攻击者的发起变得相对容易,发动的攻击规模不断扩大,能够使用较低成本轻易的造成目标网络的瘫痪。成为互联网上最广泛和危害最大的安全威胁之一,让广大站长朋友头疼不已。

 

 不幸的是,目前最有效的DDoS攻击检测防御都还依靠昂贵的专用硬件防御设备进行,对于业内广泛的中小企业和站长朋友来说显得难以负担。

 

本文中笔者整理了一些典型的DDoS攻击数据包,通过wireshark进行简易的分析,能够对攻击数据包的构成和特征进行粗略分析。通过简单的分析抓包文件认定攻击的发生和确定简单而行之有效的防御措施,适用于在没有专用设备的情况下最大程度和攻击者斗智斗勇,减少攻击影响和降低损失。

 

SYN Flood

 

1、  使用wireshark 过滤器tcp.flags==0x02 过滤检查数据包分布情况。如图所示,SYN Flood攻击发生时数据包分布发生明显改变,Syn包比例明显增加。

 


 

2、  使用wireshark static->ipv4->endpoint分析数据包源地址分布。当使用伪造IP地址的DDoS攻击发生时,抓包文件中的数据包数目和源地址对应关系会发生明显变化。从图中实例可以发现,除了被攻击的目的IP意外,wireshark统计每个源地址对应的数据包数目较小,数据包大小字节数(Bytes)几乎一致。

 


 

3TTL分析发现攻击者的蛛丝马迹。当使用随机源进行DDoS攻击时,虽然使用了伪造源地址进行攻击,但攻击者无法伪造攻击主机与目标主机之间的位置关系。有时候通过观察数据包的TTL值变化,也能够获得攻击者的蛛丝马迹,为攻击防御提供辅助支持。下图所示的这个攻击程序并没有修改攻击数据包的TTL值,所有的攻击数据包使用相同的TTL值。聪明的你可能已经发现了,没错,这个攻击数据包是由局域网内的一个windows计算机发出的。

 


        

UDP FLOOD

 

         UDP FLOOD攻击的主要目的是通过发送大量的UDP数据包来堵塞服务器的带宽。同时针对DNS ,语音和流媒体等互联网业务,也会有通过UDP承载的应用层攻击出现。图示是著名的蜗牛攻击器产生的攻击数据包,可以明显的看出,这种数据包的payload固定,使用UDP大包进行攻击,同时使用真实源地址进行攻击。

 


 

ICMP FLOOD

 

UDP FLOOD相同,ICMP FLOOD主要以阻塞服务器带宽为主。但与UDP FLOOD不同的是,ICMP通常不会承载数据业务,比较容易通过交换机ACL或者服务器的iptables等进行防御。同时,攻击实施者为了更加有效的利用手上的僵尸主机,会使用包大小较大的数据包和IP层分片的数据包进行攻击,这种攻击会绕过没有设置IP层分配的ACL,也会加重服务器分配重组的负担。值得一提的是,window客户端发出的ping数据包有特定的格式和数据包大小,使用通用的做白逻辑进行防御在大多数情况下也是有效的。

 


 

上图中的数据包是一个典型的UDP FLOOD攻击数据包,数据包大小为1514Bytepayload固定,同时使用了分片标志。

 

来自应用层的DDoS

 

         除了传统的网络层攻击之外,一些针对特定应用系统比如apache的应用层攻击也能够取得很好的效果。例如CVE-2011-3192 Range header DoS vulnerability Apache HTTPD,是典型的使用应用层漏洞进行DDoS攻击的攻击方法。在这种攻击中,攻击者刻意构造畸形的http头,其中包含了大量重复的range字段。Apach在处理这种http请求时,会不断的进行range重组,最终导致目标系统CPU繁忙而无法响应正常请求。

 


 

 

正常流量TTL分布性质

 

         在讲synflood 的时候已经提到,可以通过分析数据包的TTL值分布情况对是否发生攻击进行简要判断。但是在实际操作时不容易找到现网中TTL值的分布规律,或者需要很长时间训练才能明确。通过对现网中流量进行测量分析,能够得出现网中正常流量TTL分布性质,本文作者对国内外现网测量实验结论进行了简要整理,整理出性质如下:

 

          1、某一条链路上的入境数据包源IP地址数目在不同TTL值上的分布基本保持稳定,但对整个观测区间内入境数据包源IP地址总数的测量显示:在当前网络环境下,入境数据包IP地址数目不会在较短时间内增加到饱和趋势,而是在比较长时间内保持近似常数的增长速率。

 


 

从图中可以得出,该链路未发生攻击时基于最终TTL值的数据包分布呈双峰分布。大部分的入境数据包的最终TTL值集中在64128的左侧,这是由于参与通信的大部分境外主机采用缺省初始TTL64128作为初始TTL值。同时,分布曲线的重合证明基于最终TTL 值的入境IP地址数目的分布在同一测量间隔内保持稳定,随测量时间变化较小。

 

小结:

 

在没有专用的防护设备的条件下,相对于攻击者而言,防御方在资源方面处于绝对的弱势。对攻击发生时的cap文件进行仔细的分析,找出攻击者忽略的地方,找出攻击数据包与正常业务流量中有区别的地方,有些时候能够起到四两拨千斤的作用。而攻击者需要不断的变换特征和构造复杂的攻击,也在一定程度上提升了攻击实施的成本,使得防御方更加有利,能够有效的控制攻击影响

你可能感兴趣的:(作业)