【事件分析】SYN Flood攻击

拒绝服务攻击(DDoS)从1970年出现直到今天都依然在作祟,并给全球范围内的各大组织带来了不可估量的损失。SYN Flood是互联网上最经典的DDoS攻击方式之一,最早出现于1999年左右,雅虎是当时最著名的受害者。SYN Flood攻击利用了TCP三次握手的缺陷,能够以较小代价使目标服务器无法响应,且难以追查。今天就为大家带来平台事件规则解读系列第五篇——SYN Flood攻击。

SYN  flood是一种常见的DOS(denial of service拒绝服务)和DDos (distributed denial of serivce 分布式拒绝服务)攻击方式。这是一种使用TCP协议缺陷,发送大量的伪造的TCP连接请求,使得被攻击方cpu或内存资源耗尽,最终导致被攻击方无法提供正常的服务。

TCP  SYN  Flood攻击原理

TCP  SYN Flood攻击利用的是TCP的三次握手(SYN -> SYN/ACK -> ACK),假设连接发起方是A,连接接受方是B,即B在某个端口(Port)上监听A发出的连接请求,过程如下图所示,左边是A,右边是B。

 

A首先发送SYN(Synchronization)消息给B,要求B做好接收数据的准备;B收到后反馈SYN-ACK(Synchronization-Acknowledgement) 消息给A,这个消息的目的有两个:(1) 向A确认已做好接收数据的准备,(2) 同时要求A也做好接收数据的准备,此时B已向A确认好接收状态,并等待A的确认,连接处于半开状态(Half-Open),顾名思义只开了一半;A收到后再次发送ACK(Acknowledgement)消息给B,向B确认也做好了接收数据的准备,至此三次握手完成,“连接”就建立了,实际上只是双方都按对方的要求进入了可以接收消息的状态。以上彼此要求对方确认的“状态”主要是双方将要使用的消息序号(SquenceNum),TCP为保证消息按发送顺序抵达接收方的上层应用,需要用消息序号来标记消息的发送先后顺序的。TCP是“双工”(Duplex)连接,同时支持双向通信,也就是双方同时可向对方发送消息,其中SYN和SYN-ACK消息开启了A→B的单向通信通道(B获知了A的消息序号);SYN-ACK和ACK消息开启了B→A单向通信通道(A获知了B的消息序号)。

 

以上讨论的是在双方诚实可信,网络正常的理想状况下建立连接。但实际情况是,网络可能不稳定会丢包,使握手消息不能抵达对方,也可能是对方故意不按规矩来,故意延迟或不发送握手确认消息。假设B通过某TCP端口提供服务,B在收到A的SYN消息时,积极的反馈了SYN-ACK消息,使连接进入半开状态,因为B不确定自己发给A的SYN-ACK消息或A反馈的ACK消息是否会丢在半路,所以会给每个待完成的半开连接都设一个Timer,如果超过时间还没有收到A的ACK消息,则重新发送一次SYN-ACK消息给A,直到重试超过一定次数时才会放弃。

B为帮助A能顺利连接,需要分配内核资源维护半开连接,那么当B面临海量的大忽悠A时,如上图所示,SYN Flood攻击就形成了。攻击方A可以控制肉鸡向B发送大量SYN消息但不响应ACK消息,或者干脆伪造SYN消息中的Source IP,使B反馈的SYN-ACK消息石沉大海,导致B被大量注定不能完成的半开连接占据,直到资源耗尽,停止响应正常的连接请求。

绿盟“SYN Flood攻击” 平台检测规则方案

当下,DDos攻击已经成为了网络安全最大的威胁之一,同时也是网站管理者们心头最大的一根刺。SYN Flood攻击作为DDos攻击中最主要的攻击类型,随时会给全球各组织带来严重的危害。为了防止SYN Flood攻击成功,绿盟企业安全平台(NSFOCUS ESP)、绿盟安全态势感知(NSFOCUS TSA)和绿盟全流量威胁分析解决方案(NSFOCUS TAM)中已经添加了该事件的发现规则。

                规则设置及事件类型描述

 

一般而言绿盟对这种“SYN Flood攻击”有着相关的规则流程分析,该规则具有在建立不完整连接,使得服务器超载,陷入瘫痪状态时进行防护的能力。其通过将绿盟WAF接入平台,在日志接入-绿盟安全设备日志中配置设备接入信息,再进入WAF设备后台目录,运行相关代码,即可产生SYN-Flood数据,从而给出相应的防护建议。

 

总结

通过分析可知,SYN Flood攻击大量消耗服务器的CPU、内存资源,并占满SYN等待队列,从防御的角度来讲,缩短SYN Timeout时间和设置SYN Cookie可以对付比较原始的SYN Flood攻击。但SYN Flood攻击这一互联网公敌,在各种防御设备围追堵截的情况下,攻击者夜以继日地钻研对抗方法、研究新的攻击方式;而且往平台化、自动化的方向发展,不断增强攻击能力。因此,业界和互联网行业要更加细致的防御SYN Flood攻击。而绿盟企业安全平台(NSFOCUS ESP)和绿盟安全态势感知(NSFOCUS TSA)可以通过事件规则有效发现各种攻击现象并进行快速响应,给出具体的解决方案,及时阻止黑客进行进一步攻击。

更多安全平台事件规则解读,且听下回分解。

发表评论