挥之不去的DDOS
随着Internet的日益普及以及商务应用的逐渐丰富,网络的安全性已经直接影响着Internet发展的前景。拒绝服务攻击(DOS)和分布式拒绝服务攻击(DDOS)由于容易实施、难以防范、难以追踪、破坏力大等特点而成为黑客最为常用的攻击手段之一。分析拒绝服务攻击的原理和特点,可以发现大部分DDOS攻击都是由于TCP/IP协议的自身的缺陷而造成的。
TCP/IP的缺陷:
大家都知道,TCP使用三次握手机制来建立一条连接,握手的第一个报文为SYN包;第二个报文为SYN/ACK包,表明它应答第一个SYN包同时继续握手的过程;第三个报文仅仅是一个应答,表示为ACK包。若A放为连接方,B为响应方,其间可能的威胁有:
1. 攻击者监听B方发出的SYN/ACK报文。
2. 攻击者向A方发送RST包(发送的目的是表明TCP连接中出现了严重差错,必须释放连接,然后重新建立运输连接),接着发送SYN包,
假冒A方发起新的连接。
3. B方响应新连接,并发送连接响应报文SYN/ACK。
4. 攻击者再假冒A方对B方发送ACK包。
这样攻击者便达到了破坏连接的作用,若攻击者再趁机插入有害数据包,则后果更严重。TCP协议把通过连接而传输的数据看成是字节流,用一个32位整数对传送的字节编号。 初始序列号(ISN)在TCP握手时产生,产生机制与协议实现有关。攻击者只要向目标主机发送一个连接请求,即可获得上次连接的ISN,再通过多次测量来回传输路径,得到进攻主机到目标主机之间数据包传送的来回时间RTT。已知上次连接的ISN和RTT,很容易就能预测下一次连接的ISN。若攻击者假冒信任主机向目标主机发出TCP连接,并预测到目标主机的TCP序列号,攻击者就能伪造有害数据包,使之被目标主机接受。
IP协议在互连网络之间提供无连接的数据包传输。IP协议根据IP头中的目的地址项来发送IP数据包。也就是说,IP路由IP包时,对IP头中提供的源地址不作任何检查,并且认为IP头中的源地址即为发送该包的机器的IP地址。这样,许多依靠IP源地址做确认的服务将产生问题并且会被非法入侵。其中最重要的就是利用IP欺骗引起的各种攻击。
以防火墙为例,一些网络的防火墙只允许网络信任的IP数据包通过。但是由于IP地址不检测IP数据包中的IP源地址是否为放送该包的源主机的真实地址,攻击者可以采用IP源地址欺骗的方法来绕过这种防火墙。另外有一些以IP地址作为安全权限分配依据的网络应用,攻击者很容易使用IP源地址欺骗的方法获得特权,从而给被攻击者造成严重的损失。事实上,每一个攻击者都可以利用IP不检验IP头源地址的特点,自己填入伪造的IP地址来进行攻击,使自己不被发现。