所有放大攻击背后的基本思路都一样。能够实施IP欺骗的攻击者向一台易受攻击的UDP服务器发送伪造的请求。UDP服务器不知道请求是伪造的,准备响应。成千上万个响应被发往一个浑然不知的目标主机时,大量耗用资源,通常网络本身不堪重负,这时会出现问题。
放大攻击之所以屡屡得逞,是由于响应数据包常常比请求数据包大得多。一种精心准备的攻击手法让IP欺骗能力有限(比如1Gbps)的攻击者可以发动规模非常大的攻击(达到100s Gbps),从而“放大”攻击者的带宽。
Memcrashed
隐蔽的放大攻击一直在发生。我们常常看到“chargen”或“call of duty”数据包攻击我们的服务器。
不过很少发现一种新的放大效果非常出色的放大攻击途径,这种新的memcached UDP DDoS绝对属于这一类。
奇虎360的DDosMon监测放大攻击途径,该图表显示了最近的memcached/11211攻击:
memcached攻击的数量相对稳定,而几天前突然开始激增。我们的图表也证实了这一点,下面是过去四天的攻击(每秒发送的数据包数量):
虽然每秒数据包数量不是特别大,但生成的带宽却特别大:
高峰时期,我们看到入站UDP memcached流量的速度达到260Gbps。对于一种新的放大攻击途径而言,这个数字很大。而数字不会谎言。这是由于所有反射的数据包都非常大。这是它在运行tcpdump后的结果:
大部分数据包的大小是1400字节。简单算一下,23Mpps x 1400字节得出257Gbps的带宽,正如上图所示。
Memcached使用UDP?
我惊讶地发现memcached使用UDP,但确实如此!协议规范(https://github.com/memcached/memcached/blob/master/doc/protocol.txt)表明,UDP是迄今用于放大攻击的最佳协议之一!毫无检查机制,数据会以惊人的速度发往客户端!此外,请求可能很小,响应很大(高达1MB)。
发动这种攻击很容易。首先,攻击者在一台泄露的memcached服务器上植入很大的有效载荷(payload)。然后,攻击者利用目标的Source IP欺骗“get”请求消息。
使用Tcpdump的综合运行显示流量:
15个字节的请求触发了134KB的响应。放大系数是10000倍!实际上,我们还见过15个字节的请求触发750kB的响应(放大了51200倍)。
联系客服