首页 -> 安全研究

安全研究

安全漏洞
多家厂商防火墙包淹没导致状态表填满漏洞

发布日期:2002-10-21
更新日期:2002-10-25

受影响系统:
NetScreen ScreenOS 3.0.3r1.1
NetScreen ScreenOS 3.0.0r2
NetScreen ScreenOS 3.0.0r1
NetScreen ScreenOS 2.7.1r3
NetScreen ScreenOS 2.7.1r2
NetScreen ScreenOS 2.7.1r1
NetScreen ScreenOS 2.7.1
NetScreen ScreenOS 2.10r4
NetScreen ScreenOS 2.10r3
Alcatel OmniAccess
不受影响系统:
Alcatel OmniAccess 250
Alcatel OmniAccess 210
描述:
BUGTRAQ  ID: 6023

多种防火墙产品使用状态表判断是否获得的包属于两个主机间已经存在的会话中,当防火墙遇到包匹配规则库但不匹配单前定义的状态时,状态表中会增加一条新的会话条目。防火墙根据不同原因会从状态表中移去相关条目,这些原因包括会话time-out值过期,检测到TCP FIN或者TCP、RST包等。

如果新的状态条目增加速度超过防火墙删除条目的速度,远程攻击者就可以利用这个问题填满所有状态表缓冲区,导致产生拒绝服务攻击。

攻击者可以发送短小的,大量匹配规则库的包给防火墙,这样新的条目增加就可能超过防火墙删除的速度,状态表就可以很容易的被填满,导致许多防火墙实现对那些不匹配已经存在会话状态的包拒绝接受,而新的连接也将不能建立,使得产生拒绝服务攻击。

攻击者可以利用下面几种方法进行攻击:

TCP SYN FLOOD

为了建立TCP连接,客户端和服务器端必须参与三次握手。客户端系统通过发送SYN消息给服务器,然后服务器通过发送SYN-ACK消息应答SYN消息给客户端。客户端最后通过应答ACK消息完成建立连接,然后进行数据传输。

在SYN FLOOD攻击中,攻击者可以发送伪造IP源地址的SYN包,使得这些通信看起来来自多个客户端。假如这些包匹配防火墙规则,就会建立状态表跟踪这些连接。由于客户端地址是伪造的,发送给客户端的SYN-ACK消息将被丢弃,大量此类通信可导致防火墙装条表被伪造条目填满,产生拒绝服务攻击。

UDP Flood

在UDP FLOOD攻击中,攻击者可发送大量伪造源IP地址的小UDP包。但是,由于UDP协议是无连接性的,没有一些会话状态指示信息(SYN、SYN-ACK、ACK、FIN或RST)帮助防火墙检测不正常的协议状态。结果,基于状态的防火墙必须依靠源和目的地址建立状态表条目和设置会话超时值。大量此类信息填充状态表可导致防火墙产生拒绝服务攻击。

Crikey CRC Flood

Stephen Gill报告了一种新的攻击基于状态防火墙的方法,他称为Crikey CRC Flood (C2 Flood)。CRC校验在每个网络层中计算,并用来判断传输中是否数据有破坏。C2 Flood是一种包含传输层(TCP,UDP)非法检验和的包,由于传输层的检查不经过防火墙操作,多种实现选择了通过忽略这些校验来优化性能,因此如果C2 Flood类型的包匹配防火墙规则,就会在防火墙中建立会话表条目,并传递非法数据包到目的地址。

但是与防火墙不同,目的主机必须对接收到的包进行校验操作,由于接收到的是非法数据包,因此主机就会简单的丢弃C2 Flood包,由于没有对源主机进行应答因此源主机也不会进行重传操作。这就导致防火墙由于没有接收到任何目的地址反馈,而不能进行有效的调整状态表,导致产生状态表被填满,拒绝接收新的连接。

<*来源:Stephen Gill
  
  链接:http://www.kb.cert.org/vuls/id/539363
*>

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 使用防火墙功能检测和阻挡淹没通信

多种防火墙提供检测和阻挡UDP和TCP SYN淹没攻击模式。建议管理员使用这些防火墙功能。

* 使用动态更改状态表大小

状态表使用动态分配可以动态的状态状态条目。这会一定程度上增加利用这个漏洞的难度。

* 对初始会话使用分离的Time-out值

对初始化和已建立会话维护分离不同的会话超时值,允许攻击通信产生的条目快速删除,不过仍旧维护状态表中的合法条目。

* 使用动态调整会话时间(Aggressive Aging)

会话超时值减少的情况下,攻击者必须增加攻击强度以确保新建立的条目能快于防火墙删除这些条目的速度。通过使用动态会话时间,可以减低状态表收敛的时间,使攻击难度增加。

* 允许连接跟踪关闭

对部分协议关闭连接跟踪功能,可以增加攻击难度。

厂商补丁:

Alcatel
-------
Alcatel产品受此漏洞影响,供应商报告OmniAccess 200系列设计用于保护这些类型的攻击并且不存在此漏洞。用户需要联系供应商获得补丁程序:

http://www.ind.alcatel.com/

NetScreen
---------
Netscreen承认它们的某些产品线受此漏洞影响,用户必须联系供应商获得解决方法:

http://www.netscreen.com/

浏览次数:4337
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障