网络通信 频道

使用思科路由器识别和跟踪数据包泛洪

介绍
拒绝服务(DoS)攻击在互联网上非常普遍。应付此类攻击的第一个步骤是辨别该攻击究竟属于何种类型。很多常见DoS攻击是基于占用大量带宽的数据包泛洪或者其它重复的数据包流。

我们可以通过将很多DoS攻击流中的数据包与Cisco IOS软件的访问控制列表条目进行匹配,以隔离这些数据包。显而易见,这对过滤攻击非常有价值,并且能够帮助我们识别未知攻击,跟踪“欺骗”数据包流的真正来源。

某些时候,我们可将Cisco路由器的一些功能(如debug日志和IP记数)用于类似用途,尤其在遭遇新攻击或者非常规攻击的情况下。然而,随着Cisco IOS软件的最新版本的发布,访问控制列表和访问控制列表日志已经成为识别和追踪常见攻击的重要功能。

最常见的DoS攻击
我们可能受到多种类型的DOS攻击。既使我们忽略那些利用软件错误使用较小的数据流量来关闭系统的攻击,事实上仍然是任何通过网络传送的IP数据包都可以用来实施泛洪DoS攻击。遭受攻击时,您必须时刻考虑到这种攻击可能是一种非常规的攻击。

虽然我们提出上述告警,然而您还应该记住一点:很多攻击是相似的。攻击者会选择利用常见的攻击方法,原因在于这些方法特别有效,并且难以跟踪,或者因为可用工具较多。很多DoS攻击者缺乏创建自己的工具的技术或动力,而会使用在互联网上找到的程序;这些工具通常已经过期了或不流行了。

在撰写本文时(1999年7月),大部分向Cisco请求帮助的客户都遭受了"smurf"攻击。这种攻击的受害者分为两类:“最终目标”或“反射者”。攻击者将ICMP响应请求("ping")的激励数据发送到反射者子网的广播地址。这些数据包的源地址被伪装为最终目标的地址。反射者子网上的很多主机对攻击者发送的每个数据包作出了回应,从而使最终目标数据泛洪,并且消耗受害双方的带宽。

另外一种类似的攻击称为“fraggle”,它通过相同的方法来利用定向广播,但它采用的是UDP回应请求,来代替ICMP回应请求。Fraggle的扩散系数通常低于smurf,也没有smurf常用。

Smurf攻击通常会被察觉,因为网络链路将会超载。要获得有关这些攻击和防御措施的详细说明,请访问 http://users.quadrunner.com/chuegen/smurf.cgi.

SYN泛洪是另外一种常见攻击,该攻击使用TCP连接请求来泛洪目标机器。连接请求数据包的源地址和源TCP端口被打乱,目的是迫使目标主机为很多永无休止的连接维护 好状态信息。

SYN泛洪攻击通常会被察觉,因为目标主机(通常为HTTP和SMTP服务器)将发生速度变得极慢、崩溃或者死机的现象。从目标主机返回的流量可能导致路由器发生故障;因为这种返回流量会流向被打乱的原数据包的源地址,它不具备“真正的”IP流量的位置属性,并可能使路由器缓存溢出。在Cisco路由器上,发生此问题的迹象通常是路由器的内存容量耗尽。

在Cisco接到的报告中,smurf和SYN泛洪攻击在泛洪DoS攻击中占据了绝大多数比例,因而迅速识别这两种攻击至关重要。幸运的是,我们可以使用Cisco访问控制列表轻而易举地识别上述两种攻击(以及一些“二级”攻击,例如ping泛洪)。

识别DoS的访问控制列表
想象一台带有二个接口的路由器。ethernet 0连接到一个公司或小型ISP的内部局域网。Serial 0提供通过上一级ISP提供互联网连接。Serial 0上的输入数据包率被“固定”在整个链路带宽上,局域网上的主机运行缓慢,会发生崩溃和死机的现象或者表现出DoS攻击的其它迹象。路由器连接地点没有网络分析器,即使能够进行追踪,但工作人员却在读取分析器追踪方面缺乏经验或者根本没有经验。

0
相关文章