Smurf攻击是一种病毒攻击,以最初发动这种攻击的程序“Smurf”来命名。这种攻击方法结合使用了IP欺骗和ICMP回复方法使大量网络传输充斥目标系统,引起目标系统拒绝为正常系统进行服务。
Smurf 攻击是一种病毒攻击,以最初发动这种攻击的程序“Smurf”来命名。这种攻击方法结合使用了 IP 欺骗和 ICMP 回复方法使大量网络传输充斥目标系统,引起目标系统拒绝为正常系统进行服务。
攻击过程
Smurf 攻击通过使用将回复地址设置成受害网络的广播地址的 ICMP 应答请求(ping)数据包,来淹没受害主机,最终导致该网络的所有主机都对此 ICMP 应答请求做出答复,导致网络阻塞。更加复杂的 Smurf 将源地址改为第三方的受害者,最终导致第三方崩溃。
攻击的过程是这样的:Woodlly Attacker 向一个具有大量主机和因特网连接的网络的广播地址发送一个欺骗性 Ping 分组(echo 请求),这个目标网络被称为反弹站点,而欺骗性 Ping 分组的源地址就是 Woodlly 希望攻击的系统。
这种攻击的前提是,路由器接收到这个发送给 IP 广播地址(如 206.121.73.255)的分组后,会认为这就是广播分组,并且把以太网广播地址 FF:FF:FF:FF:FF:FF:映射过来。这样路由器因因特网上接收到该分组,会对本地网段中的所有主机进行广播。
读者肯定能够想到下面会发生什么情况。网段中的所有主机都会向欺骗性分组的 IP 地址发送 echo 响应信息。如果这是一个很大的以太网段,可以会有 500 个以上的主机对收到的 echo 请求进行回复。
由于多数系统都会尽快地处理 ICMP 传输信息,Woodlly Attacker 把分组的源地址设置为目标系统,因此目标系统都很快就会被大量的 echo 信息吞没,这样轻而易举地就能够阻止该系统处理其它任何网络传输,从而引起拒绝为正常系统服务。
这种攻击不仅影响目标系统,还影响目标公司的因特网连接。如果反弹站点具有 T3 连接(45Mbps),而目标系统所在的公司使用的是租用线路(56Kbps),则所有进出该公司的通讯都会停止下来。
这种攻击已经很少见,大多数的网络已经对这种攻击免疫了。
攻击检测
在分析 Smurf 攻击原理的基础上,本文提出 Smurf 攻击的检测方法。
ICMP 应答风暴的检测
对网络进行监控和统计发现, 若出现 Smurf 攻击, 则会出现大量的 echo 报文。由于存在 echo 应答风暴, 此时,echo 报文在所有报文中所占的比例大大增加。所以,如出现这种情况, 就可能遭到了 Smurf 攻击。
报文丢失率和重传率的上升
由于 echo 风暴造成网络负载过重,会出现大量报文丢失和报文重传现象。所以,若有明显的报文丢失率和重传率上升现象,就有可能遭到了 Smurf 攻击。
常出现意外的连接重置的现象
在受到 Smurf 攻击时, 由于网络重载,会使其它的网络连接出现意外的中断或重置的现象。如反复出现意外的中断或重置,也可能受到了 Smurf 攻击。
防御方法
挫败一个 Smurf 攻击的最简单的方法就是对边界路由器的回音应答(echo reply)信息包进行过滤,然后丢弃他们,使网络避免被湮没。
遭受攻击
如果你的主机不幸成为了 Smurf 攻击的目标,在这儿可以找到很多种方法来限制这种拒绝服务攻击造成的影响。在最近新进修改的 Cisco IOS 操作系统中,被访问列表所拒绝的数据包直接就被丢弃(其丢弃速度几乎接近于硬件速度)。不过每秒钟每个列表行有两个数据包例外,这就是向中间代理回思科学习视频资料下载中心送 ICMP 不可达消息的数据包。因此,如果你不想做为别人 Ping 的目标,那么在边界路由器上就直接可以阻塞掉。 激活这个列表的命令是: ip icmp rate-limit unreachable 如果必须允许 Ping 命令,你可以通过使用命令访问速率(Committed Access Rate ,CAR)来限制 ICMP 的流量。以下列出了其它 Cisco IOS 的例子: config t Access-list 100 permit icmp any {你的网络号} {你的网络子网掩码} echo-reply Access-list 100 permit icmp any {你的网络号} {你的网络子网掩码} echo Interface e1 Rate-limit input access-group 100 512000 8000 8000 conform action transmit exceed action drop 这个例子限制 ICMP 的传输速率不能超过 512Kbps,突发速率不能超过 8000bits。所有多出的包将被丢弃。可以有多个速率限制命令同时添加到一个接口上,可以对不同的数据包进行不同的速率限制。 查找黑客
对发起 Smurf 攻击的机器的定位非常困难,但并不是不可能的。不过在你开始查找之前,应该考虑是否使用法律这一重要武器。
为了跟踪这类拒绝服务攻击的真正源头,可以采取以下几步:
确定中间代理的 IP 地址空间,并与他们的网络管理员取得联系。记住你看到的这些包是从中间代理那儿来的,并不是从真正黑客处来的。那些以被攻击的主机的 IP 地址为源 IP 地址的进入该网络的数据包,就是黑客使用的源地址欺骗数据包。 从这些数据包上取得源 IP 地址欺骗的物理地址,并用这些物理地址做一下 ip arp(适用于 Cisco IOS),得到的结果就是源 IP 地址欺骗来的最后一跳节点的 IP 地址。与他们的管理员取得联系。 重复以上几步,直到你找到与跟踪的物理地址相同的路由器。