多家厂商防火墙包淹没导致状态表填满漏洞 CVE-2002-2150 CNNVD-200212-425

5.0 AV AC AU C I A
发布: 2002-12-31
修订: 2008-09-05

多种防火墙产品使用状态表判断是否获得的包属于两个主机间已经存在的会话中,当防火墙遇到包匹配规则库但不匹配单前定义的状态时,状态表中会增加一条新的会话条目。防火墙根据不同原因会从状态表中移去相关条目,这些原因包括会话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...

0%
暂无可用Exp或PoC
当前有9条受影响产品信息