安全防范:认识来自传输层的DoS攻击

安全 黑客攻防
TCP SYN flooding是最常用的DoS攻击方式。
TCP SYN flooding是最常用的DoS攻击方式。

TCP连接初始化过程称为三次握手(three-way handshake):A连接发起端发送标志有SYN位的TCP数据包到目的端,用于协商参数,初始化连接;B目的端使用SYN/ACK来表明自己的连接参数并确认发起端的连接参数;C发起端收到SYN/ACK后,使用ACK确认目的端连接参数。这样三次TCP包交换,发起端和接收端之前建立一条TCP连接。当目的端TCP/IP收到一个TCP SYN后,就位将要建立的连接预留资源并等待发起端确定连接参数,这对建立稳定高效的TCP连接是必要的。但是如果向目的主机发送大量的TCP SYN,而不回应TCP ACK,使大量连接处于半开状态(half-open),导致预留资源长时间不能释放(直到超时),最终致使目的端资源耗尽。

  

而UDP flooding利用了UDP传输的无状态性,通过发送大量拥有伪装IP地址的UDP数据包,填满网络设备(主要是路由器或防火墙)的连接状态表,造成服务被拒绝。

Crikey CRC flooding是新出现的一种DoS攻击方式,目标主要是防火墙等纪录连接状态的网络安全设备。为了加速数据包通过防火墙,防火墙通常不会使用Checksum对数据包进行效验,只是把连接添加到连接状态表中;Crikey CRC flooding在TCP和UDP头部加入错误的Checksum值。当这些数据包到达目的主机时,因为Checksum错误会被拒绝。这样,实际上没有建立起来的连接被纪录到了连接状态表中,如果防火墙大量接受到这样的数据包,最终会导致连接状态表被填满,新的连接请求被拒绝。

防范方法

首先在防火墙上限制TCP SYN的突发上限,因为防火墙不能识别正常的SYN和恶意的SYN,一般把TCP SYN的突发量调整到内部主机可以承受的连接量,当超过这个预设的突发量的时候就自动清理或者阻止,这个功能目前很多宽带路由都支持,如海蜘蛛路由,只不过每款路由设置项的名称可能不一样,原理和效果一样。一些高端防火墙具有TCP SYN网关和TCP SYN中继等特殊功能,也可以抵抗TCP SYN flooding,他们都是通过干涉建立过程来实现。具有TCP SYN网关功能的防火墙在收到TCP SYN后,转发给内部主机并记录该连接,当收到主机的TCP SYN/ACK后,以客户机的名义发送TCP ACK给主机,帮助三次握手,把连接由半开状态变成全开状态(后者比前者占用的资源少)。而具有TCP SYN中继功能的防火墙在收到TCP SYN后不转发给内部主机,而是代替内部主机回应TCP SYN/ACK,如果收到TCP ACK则表示连接非恶意,否则及时释放半连接所占用资源。

  

UDP SYN限制和TCP SYN限制差不多,一般也是设置UDP SYN的突发连接量,但UDP连接在防火墙上控制相对效果要稍差点,我们可以通过一些客户端软件来实现限制单机UDP并发连接数限制,最新发布的海蜘蛛的海盾2.4版就提供了这个功能,效果也还不错。

Crikey CRC flooding主要目标是网络安全设备,需要为防火墙打上安全补丁,使数据包通过时用checksum进行校验,对于checksum错误的TCP和UDP数据包丢弃;减小连接状态条目老化时间,是不活动的连接数目要及时清除,防止填满连接状态表

【编辑推荐】

  1. 分类防范对Linux的DoS攻击
  2. 计算机网络安全之六:防火墙技术
  3. 协议欺骗攻击技术常见种类简析及防范
责任编辑:Oo小孩儿 来源: 比特网
相关推荐

2013-01-28 16:44:50

2010-01-13 10:36:42

2020-06-02 09:50:40

信息安全数据技术

2009-12-29 19:35:56

2011-03-24 10:39:36

2011-07-05 11:06:52

2010-07-09 14:30:18

SNMP Protoc

2009-09-18 13:36:10

2017-03-15 10:00:15

2009-07-05 11:20:04

2010-07-06 16:38:19

2018-01-16 00:40:07

2011-03-22 14:57:07

2011-07-13 11:27:13

2011-06-20 10:05:40

2018-04-17 15:13:53

2009-10-28 14:40:01

2013-07-10 11:04:37

2009-10-13 14:47:24

2010-05-14 09:53:23

点赞
收藏

51CTO技术栈公众号