拒绝服务攻击时,攻击者想非法占用被攻击者的一些资源,比如如:带宽,CPU,内存等等,使得被攻击者无法响应正常用户的请求。
讲泛洪攻击之前,我们先了解一下DoS攻击和DDoS攻击,这两个攻击大体相同,前者的意思是:拒绝服务攻击;后者的意思是:分布式拒绝服务攻击。不要看这两个攻击前一个比后一个多了一个字母,后一个攻击比掐你一个攻击少了"分布式"三个字,其实他们具体的来说还是有所区分的。
DDoS是DoS攻击中的一种方法。下面我们来详细看一下区分:
DoS(拒绝服务):不是DOS操作系统,造成DoS的攻击行为被称为DoS攻击,它的目的是使得计算机或者网络我无法提供正常服务。最常见的DOS攻击有计算机网络带宽攻击和连通性的攻击。
DDoS(分布式拒绝服务);这个的攻击借助于客户/服务器技术,将多个计算机联合起来作为一个攻击平台,对一个或者是多个目标发动攻击,从而成倍的提高就裁决服务攻击的威力。
简单地说,DDoS的攻击威力要大于DoS的攻击威力,DDoS主要是发动群体攻击。
以上的内容就是对DoS和DDoS攻击文字上的一个概念。为了更加直观地表达出来,我在下面附一张图:
这幅图呢就是TCP的通信的三次握手,如果说攻击端,发送完第一次握手的数据后,然后就"消失"了,那么服务器就会不断的发送第二次握手的数据,可是攻击端的人找不到了。于是,服务器的资源大量被消耗,直到死机为止。当然了,如果要完全弄懂机制,需要对TCP有相当深入的了解。
现在回到我们的原题:SYN泛洪攻击,其实这个攻击主要利用的就是TCP三次握手机制的缺陷。
TCP SYN泛洪主要发生在OSI的第四层,(关于这个OSI我会在后面的文章给大家讲述。)利用了这个TCP三次握手的特性。
A(攻击者)发送TCP SYN,SYN是TCP三次握手中的第一个数据包,而当这个服务器返回ACK以后,A不再进行确认,那这个连接就处在了一个挂起的状态,也就是半连接的意思,那么服务器收不到再确认的一个消息,还会重复发送ACK给A。这样一来就会更加浪费服务器的资源。A就对服务器发送非法大量的这种TCP连接,由于每一个都没法完成握手的机制,所以它就会消耗服务器的内存最后可能导致服务器死机,就无法正常工作了。更进一步说,如果这些半连接的握手请求是恶意程序发出,并且持续不断,那么就会导致服务端较长时间内丧失服务功能——这样就形成了DoS攻击。这种攻击方式就称为SYN泛洪攻击。
那么我们如何去防范这种SYN攻击呢?
其实最常用的一个手段就是优化主机系统设置。比如降低SYN timeout时间,使得主机尽快释放半连接的占用或者采用SYN cookie设置,如果短时间内收到了某个IP的重复SYN请求,我们就认为受到了攻击。我们合理的采用防火墙设置等外部网络也可以进行拦截。
投稿:暗盾安全,殇宇