《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > SYN flood 攻击检测技术综述
SYN flood 攻击检测技术综述
来源:微型机与应用2011年第14期
石利平
(广东女子职业技术学院 应用技术系,广东 广州510450)
摘要: 分析SYN flood attack攻击原理,并在此基础上研究几种典型的SYN flood 攻击检测方法。对主要技术进行分析和比较,这些技术均有各自的优点和局限性,多种方法有机融合互补将成为SYN flood 攻击检测研究的重点。
Abstract:
Key words :

摘  要: 分析SYN flood attack攻击原理,并在此基础上研究几种典型的SYN flood 攻击检测方法。对主要技术进行分析和比较,这些技术均有各自的优点和局限性,多种方法有机融合互补将成为SYN flood 攻击检测研究的重点。
关键词: SYN flood攻击TCP协议;检测

    SYN flood攻击是一种当前流行的DoS与DDoS的方式之一,主要是利用TCP协议的三次握手的缺陷,造成服务器上TCP连接表溢出[1],而攻击服务器响应TCP连接请求的能力。TCP是TCP/IP体系中的运输层协议,是面向连接的,其三次握手过程数据包都通过IP协议传输。而IP协议是一种不可靠、尽力而为的网络协议,缺乏认证和保密措施,因此为否认、拒绝等欺瞒行为开了方便之门[2]。目前,DDos攻击中约有90%是SYN flood攻击[3],研究 SYN flood攻击检测技术对网络安全意义重大。
1 SYN flood 原理
    TCP连接的建立是通过三次握手来初始化[4]。三次握手建立TCP连接如图1所示。

    在TCP连接的三次握手中,若用户向服务器发送了SYN报文后突然死机或掉线,则服务器在发出SYN+ACK应答报文后将无法收到客户端的ACK报文,导致第三次握手无法完成。这时,服务器端的TCP/IP栈中会保留这个半连接状态,然后再次发送SYN+ACK给客户端,并等待一段时间后丢弃这个未完成的连接。这段时间称为SYN Timeout(一般约为30 s~2 min)[4]。但如有攻击者大量模拟这种情况,产生大量的半连接,服务器将为维护这些半连接而消耗大量的资源,进而导致服务器的TCP/IP堆栈溢出,使服务器无法响应正常用户的请求。SYN flood攻击就是利用这种行为发动攻击。
    正常情况下,连接超时后,服务器会清理出TCP连接表中已超时连接的相关信息。但攻击者不断给服务器发送大量的欺骗的TCP连接请求,使TCP连接表一直处于被填满状态,导致服务器无法响应大多数合法的连接请求。
    根据攻击源的IP地址,SYN flood攻击可分为以下三种:(1)使用本机的IP发送SYN欺骗包;(2)假冒本网段中未在线的多台主机IP发送SYN欺骗包;(3)随机产生伪造的IP地址发送SYN欺骗包。为增加攻击的力度、隐蔽性和效率,使用随机源地址进行SYN flood攻击是攻击者常使用的方法[5]。
2 SYN flood攻击的检测技术

 


    根据检测的位置SYN flood攻击检测主要分为4种:被攻击的服务器端、攻击源端、攻击源和被攻击服务器间以及正常的主机端。最受关注的是服务器端的检测和防护[6];
2.1 基于TCP协议SYN-FIN(RST)行为对特征的检测
    这种方法检测的是连接终端主机的路由器端,是基于TCP协议SYN-FIN(RST)包对特征和连续变化点的检测[6]。首先收集IP数据包,然后分类数据包。根据IP访问包的TCP头部来识别TCP SYN、FIN和RST。关键是找出IP数据包片偏移中TCP数据位,计算依据公式为IPoffset=Hdr_LengthIP+TCPoffset。接着利用非参数的CUSUM(Cumulative Sum)算法分析SYN-FIN(RST)行为对。CUSUM算法公式如下:
 

    此检测方法与参考文献[6]的检测思想类似,都是以TCP协议的SYN/ACK包数量为检测基础,均需对IP数据包进行分类。优点是两个粒度检测引擎采用不同的检测机制,检测高效、高速、虚警率低。其缺点主要有:检测效果会随着攻击组规模的增大而衰减。当网络中攻击流与网络正常业务相差不大时,也不易检测出来。
 
的优点是存储保证数据的持久性和容错性。如系统出现任何故障,当再次进入系统时,数据仍然存在,可以直接恢复正常连接。检查过程是主动的,不依赖于其他网络设备。不仅能检测SYN flood攻击,还有一定的消除SYN flood攻击的功能。
3 现有技术比较
    表3对上面介绍的SYN flood 攻击检测的防御所采用的方法进行简单总结。通过分析和比较已有的SYN flood 攻击检测和防御方法发现,对于SYN flood 攻击检测和防御目前还没有完美的解决方案。常规的SYN flood防御方法因实现容易,已得到广泛应用,但防御力度不强,不能从根本上避免SYN flood 攻击的发生。SYN-cookie技术已得到厂商的支持, 已在一些防火墙中使用。输入过滤器在理论上可以彻底避免SYN flood攻击的发生,但因其会使路由器处理数据量加大,影响路由器的性能,实施难度较大,还需进一步研究。

    本文分析了TCP的三次握手协议,并针对SYN flood 攻击的原理,对其检测方法进行了探讨。未来的检测和防御,应趋向于如何综合应用上述几种检测方法,取长补短,以达到互相补充和弥补,提高检测精度和效率。
参考文献
[1] 黄发文,徐济仁,陈家松.计算机网络安全技术初探[J].计算机应用研究,2002,19(5):46-48.
[2] 贾春福,刘春波,高敏芬,等.计算机安全原理与实践[M].北京:机械工业出版社,2008.7.
[3] 李海伟,张大方,刘俊,等.一种基于主动探测机制的SYNFlood攻击检测方法[J].计算机科学,2010,37(3):117-120.
[4] SYN Flood攻击的基本原理及防御[EB/OL].http://www.bitscn.com/network/hack/200705/102673.html,2007.
[5] 谢希仁.计算机网络[M].北京:电子工业出版社,2003.
[6] WANG H,ZHANG D,SHIN K G.Detecting SYN flood  attacks[J/OL].Proceedings of the Annual Joint Conference of the IEEE Computer Society and Communications Society (INFOCOM),New York,NY,USA,2002,3:1530-1539.
[7] Xiao Bin,Chen Wei,He Yanxiang,et al.An active detecting method against SYN flood attack[J/OL].The 11th International Conference on Parallel and Distributed Systems (ICPADS′05),Volume I,709-715,Fukuoka,Japan,2005.07.
[8] 陈杰,薛质,单蓉胜.一种基于Patricia树的检测Syn Flood攻击的方法[J].计算机工程,2004,30(13):26-28.
[9] 林白,李鸥,赵桦.基于源端网络的SYN Flood攻击双粒度检测[J].计算机工程,2005,31(10):132-134.
[10] 许晓东,杨海量,朱士瑞.基于重尾特性的SYN洪流检浏方法[J].计算机工程,2008,34(22):179-181.
[11] Ling Yun,Gu Ye,Wei Guiyi.Detect SYN flood attack in edge routers[J].International Journal of Security and its Applications,2009,3(1):32-45.

此内容为AET网站原创,未经授权禁止转载。