攻击者通过向目标主机发送分片偏移小于5的分片报文,导致主机对分片报文进行重组时发生错误而造成系统崩溃。
IP首部有两个字节表示整个IP数据包的长度,所以IP数据包最长只能为0xFFFF,就是65535字节。如果有意发送总长度超过65535 的IP碎片,一些老的系统内核在处理的时候就会出现问题,导致崩溃或者拒绝服务。另外,如果分片之间偏移量经过精心构造,一些系统就无法处理,导致死机。所以说,漏洞的起因是出在重组算法上。下面我们逐个分析一些著名的碎片攻击程序,来了解如何人为制造IP碎片来攻击系统。
山石网科防火墙防护原理:
TCP报文的frag_off为0,data长度小于20;或frag_off字段为1,即为攻击。在fast和iom fast流程中检测。