DDoS攻击已经成为一种非常多见的攻击方式,其攻防技术都已经非常成熟。近几年来,DDoS攻击又演变出了更多的花样,攻击的规模也在逐渐扩大,特别是针对应用层的DDoS攻击,给用户带来了新的网络安全威胁。那么,什么是应用层DDoS攻击?与传统的网络层DDoS攻击又有什么区别呢?
网络层DDoS 攻击是利用了TCP 协议“先天”的缺陷。两台机器通信时要先进行三次握手,首先是客户机发出一个请求 (SYN) ,服务器收到该请求后,填写会话信息表 (TCB,保存在内存中)并且向客户机反馈一个回应包 (SYN-ACK) ,此时该连接处于半开连接状态,正常情况下,客户端会回应ACK包,三次握手完成。如果服务器没有收到客户机的 ACK 信息包,会隔一段时间再发送一次回应包 SYN-ACK,这样经过多次重试后,客户机还没有回应的话,服务器才会关闭会话并从 TCB 中删除。
怎么样,看出问题了吗?如果有人想攻击服务器,很简单,攻击端收到服务器的SYN-ACK包以后,不再回应ACK包,服务器会等待一段时间才会释放TCB。攻击者控制“肉鸡”同时向服务器发起大量的请求 (SYN) ,并且本身拒绝发送 SYN-ACK 回应,服务器的 TCB 将会很快超出正常负荷,服务器无法响应正常用户的请求,最终导致业务中断。
这种利用TCP协议缺陷的DDoS攻击,可以用“简单粗暴”这个词来形容,其特征比较明显,非常容易被识别,目前针对它的防护技术也已经较为成熟。
同样的,应用层协议也有着自己的不足,攻击者也正是利用了一点。应用层协议较为复杂且形式多样,应用层DDoS攻击并不具备传统攻击的特征,一般网络安全设备很难检测到,其破坏力也远大于传统的网络层DDoS攻击。
以HTTP协议为例,常见的HTTP DDoS攻击主要有两种,CC攻击和慢速攻击。CC攻击是一种针对WEB服务器的Flood(泛洪)攻击,即HTTP Get Flood,它以消耗服务器的带宽资源为目的。攻击者操控大量“肉鸡”对服务器发送大量的HTTP Request,导致服务器带宽资源耗尽,无法响应正常用户的请求。
由于很多网站使用动态页面的技术,通常一次GET 请求可能引发后台数据库的查询等动作,当HTTP Get 数量增加到一定程度时,数据库也将不堪重负,导致动态页面无法响应。从攻击手法上来看,CC攻击与传统网络层DDoS攻击类似,都是发送大量的请求,耗尽服务器带宽资源,只是二者利用的协议不同。
另一种常见的攻击是慢速攻击,它是以消耗服务器的计算资源为目的,它并不需要“简单粗暴”的发送大量的数据包,只发送很少的数据即可给服务器造成致命的打击。
攻击者跟服务器建立连接时,先指定一个比较大的Content-Length,然后以非常低的速度发包,比如1-10s 发一个字节,服务器认为客户端要发送的内容很大,会一直处于等待状态,维持住这个连接不断开。如果攻击者的“肉鸡”持续建立这样的连接,那么服务器上可用的资源将一点一点被占满,从而导致服务器无法响应正常用户的请求。
深信服AD应用交付系列产品可防护网络层和应用层的DDoS攻击(如SYN-Flood, Smurf, SSL-Flood,CC攻击,HTTP慢速攻击等),那么为什么深信服要在应用交付上实现DDoS攻击防护的功能呢?
应用交付通常部署于服务器的前端,将业务稳定、安全、高效的交付给用户。在全代理模式下,它可以实现客户端和服务端的网络隔离,使二者不会建立网络连接。业务访问的所有流量都会先交给应用交付设备,由应用交付设备进行分发。黑客攻击的“服务器”实际上就是对外发布业务的应用交付设备,这就要求它具备一定的安全防护能力,其本身性能也非常强大,可以抵挡住DDoS泛洪攻击的大流量。深信服应用交付开发团队针对主流的DDoS攻击进行了深入研究,结合应用交付自身的特点,在应用交付设备上实现了网络层和应用层DDoS攻击防护,与WEB服务器漏扫等安全功能呼应,为客户的对外业务保驾护航。