Smurf攻击是以最初发动这种攻击的程序名Smurf来命名。这种攻击方法结合使用了IP欺骗和ICMP回复方法使大量网络传输充斥目标系统,引起目标系统拒绝为正常系统进行服务。
攻击的过程是这样的:Woodlly Attacker向一个具有大量主机和因特网连接的网络的广播地址发送一个欺骗性Ping分组(echo 请求),这个目标网络被称为反弹站点,而欺骗性Ping分组的源地址就是Woolly希望攻击的系统。
这种攻击的前提是,路由器接收到这个发送给IP广播地址(如206.121.73.255)的分组后,会认为这就是广播分组,并且把以太网广播地址FF:FF:FF:FF:FF:FF:映射过来。这样路由器人因特网上接收到该分组,会对本地网段中的所有主机进行广播。
读者肯定能够想到下面会发生什么情况。网段中的所有主机都会向欺骗性分组的IP地址发送echo响应信息。如果这是一个很大的以太网段,可以会有500个以上的主机对收到的echo请求进行回复。
由于多数系统都会尽快地处理ICMP传输信息,Woodlly Attacker把分组的源地址设置为目标系统,因些目标系统都很快就会被大量的echo信息吞没,这样轻而易举地就能够阻止该系统处理其它任何网络传输,从而引起拒绝为正常系统服务。
这种攻击不仅影响目标系统,还影响目标公司的因特网连接。如果反弹站点具有T3连接(45Mbps),而目标系统所在的公司使用的是租用线路(56Kbps),则所有进出该公司的通讯都会停止下来。
那么如何防止这种类型的攻击?用户可以分别在源站点、反弹站点和目标站点三个方面采取步骤,以限制Smurf攻击的影响。[page] 解决办法:
阻塞Smurf攻击的源头
Smurf攻击依靠攻击者的力量使用欺骗性源地址发送echo请求。用户可以使用路由路的访问保证内部网络中发出的所有传输信息都具有合法的源地址,以防止这种攻击。这样可以使欺骗性分组无法找到反弹站点。
阻塞Smurf的反弹站点
用户可以有两种选择以阻塞Smurf攻击的反弹站点。第一种方法可以简单地阻塞所有入站echo请求,这们可以防止这些分组到达自己的网络。
如果不能阻塞所有入站echo请求,用户就需要罅自己的路由器把网络广播地址映射成为LAN广播地址。制止了这个映射过程,自己的系统就不会再收到这些echo请求。
如果使用Cisco路由路,制止网络广播映射成为LAN广播的方法是在LAN接口的配置模式中输入命令:
no ip directed-broadcast
注意:必须在所有路由器的所有LAN接口都使用该命令。只在某些外围路由器上使用上述命令不会起作用。
防止Smurf攻击目标站点
除非用户的ISP愿意提供帮助,否则用户自己很难防止Smurf对自己的WAN接连线路造成的影响。虽然用户可以在自己的网络设备中阻塞这种传输,但对于防止Smurf吞噬所有的WAN带宽已经太晚了。
但至少用户可以把Smurf的影响限制在外围设备上。通过使用动态分组过滤技术,或者使用防火墙,用户可以阻止这些分组进入自己的网络。防火墙的状态表很清楚这些攻击会话不是本地网络中发出的(状态表记录中没有最初的echo请求记录),因些它会象对待其它欺骗性攻击行为那样把这样信息丢弃。