一种防御拒接服务攻击的方法技术

技术编号:8367924 阅读:232 留言:0更新日期:2013-02-28 07:34
本发明专利技术公开了一种防御拒绝服务攻击的方法。预先在移动终端中设置一防御拒绝服务攻击的防御模块,连接请求方首先根据TCP的三次握手原理与防御模块建立连接,防御模块以连接请求方的身份向移动终端发送SYN数据包。当防御模块与所述移动终端握手成功,建立连接请求方与所述移动终端的连接。能够有效的防止DoS攻击,尤其是SYN攻击。而当用户的移动终端特别是手机作为网络热点时,可以有效抵御从网络外部达到移动终端内部的攻击。

【技术实现步骤摘要】
一种防御拒接服务攻击的方法
本专利技术涉及网络通信领域,尤其涉及的是一种防御拒接服务攻击的方法。
技术介绍
拒绝服务攻击(DenialofService,DoS)是目前比较有效而又非常难于防御的一种网络攻击方式,它的目的就是使服务器不能够为正常访问的用户提供服务。所以,DoS对一些紧密依靠互联网开展业务的企业和组织带来了致命的威胁。随着移动互联网时代的到来,智能手机已成成为了人们首选的上网设备。随着4G时代和IPV6的时代到来,智能手机在移动互联的网络中也会占据更加重要的地位。而现在电脑用手机当做softap和电脑用手机上网的应用越来越多,而在网络的体系架构中,智能设备完全暴露在网络中,极易受到外部网络的攻击,特别是拒绝服务攻击,使手机受到极大的网络威胁,安全性降低。因此,现有技术还有待于改进和发展。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述缺陷,提供一种防御拒接服务攻击的方法,以解决现有移动终端特别是手机极易受到拒绝服务攻击的问题。本专利技术解决技术问题所采用的技术方案如下:一种防御拒接服务攻击的方法,其中,包括以下步骤:A、预先在移动终端中设置一防御拒绝服务攻击的防御模块;B、当所述连接请求方向所述防御模块发送一请求连接的第一SYN数据包时,所述防御模块伪造第一SYN+ACK数据包,并将所述第一SYN+ACK数据包发送至所述连接请求方进行应答;C、当所述防御模块接收到所述连接请求方应答的第一ACK数据包时,所述防御模块构建一与所述第一SYN数据包具有相同SEQ号的第二SYN数据包,并以连接请求方的身份将所述第二SYN数据包经TCP/IP协议栈发送至移动终端;D、所述TCP/IP协议栈接收移动终端反馈的第二SYN+ACK数据包,并将所述第二SYN+ACK数据包的SEQ号减去所述第一SYN+ACK数据包的SEQ号得到一SEQ差值;E、所述TCP/IP协议栈修改所述移动终端反馈给所述防御模块的第二SYN+ACK数据包的SEQ号,将所述第二SYN+ACK数据包的SEQ号减去所述SEQ差值;以及修改所述防御模块向所述移动终端应答的第二ACK数据包的SEQ号,将所述第二ACK数据包的SEQ号修改为所述第二ACK数据包的ACK号加上所述SEQ差值;F、修改后的所述第二ACK数据包的SEQ号等于所述第二SYN+ACK数据包的SEQ号加1,所述防御模块与所述移动终端握手成功,由此建立连接请求方与所述移动终端的连接。所述的防御拒接服务攻击的方法,其中,所述步骤C还包括:步骤C1、所述防御模块在第二SYN数据包中设定一标识所述第二SYN数据包的荷载中包含有数据的标记,所述标记用于TCP/IP协议栈提取所述第二SYN数据包的SEQ号和ACK号。所述的防御拒接服务攻击的方法,其中,所述步骤C还包括:步骤C2、所述TCP/IP协议栈查找路由表,判断所述第二SYN数据包的发送目的地是移动终端或连接所述移动终端的网络设备。所述的防御拒接服务攻击的方法,其中,所述步骤F之后还包括:连接请求方与移动终端建立连接后,所述TCP/IP协议栈修改连接请求方发送的TCP数据包的ACK号和移动终端响应的确认数据包的SEQ号,将所述连接发起方发送的TCP数据包的ACK号加上所述SEQ差值以及移动终端响应的确认数据包的SEQ号减去所述SEQ差值。所述的防御拒接服务攻击的方法,其中,所述步骤F之后还包括:在所述连接请求方与所述移动终端的连接成功后,所述移动终端统计所述连接请求方发送的SYN数据包数量,当所述连接请求方发送的SYN数据包数量处在预定范围时,提取所述连接请求方发送的SYN数据包的源端口、源地址、目的端口、目的地址,并将所述连接请求方发送的SYN数据包的源端口,源地址、目的端口、目的地址保存在预先建立的哈希表中。所述的防御拒接服务攻击的方法,其中,当所述连接请求方向所述移动发送的数据包的协议类型为ICMP或UDP协议时,通过统计收到的ICMP数据包或UDP数据包的数量判断是否受到网络攻击,当ICMP数据包的数量超过第一预定值或UDP数据包的数量超过第二预定值时,丢弃超过第一预定值的ICMP数据包或超过第二预定值的UDP数据包。本专利技术所提供的防御拒接服务攻击的方法,能够有效的解决现有移动终端特别是手机极易受到拒绝服务攻击的问题,有效的防止DoS攻击,尤其是SYN攻击。而当用户的移动终端特别是手机作为softap时,可以有效抵御从网络外部达到移动终端内部的攻击。附图说明图1是本专利技术提供的防御拒绝服务攻击的方法流程图。图2是本专利技术提供的防御拒绝服务攻击的方法的优选实施例的原理示意图。具体实施方式为使本专利技术的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。TCP数据包在数据传输过程中,每个TCP数据包都包含有SEQ号和ACK号,SEQ号和ACK号都是网络字节序,SEQ号TCP数据包的序列号,用于表示TCP数据包的发送顺序,而ACK号表示TCP数据包的确认号,用于确认数据包已经接收。例如,在客户端与服务器通过三次握手原理建立连接时,服务器向客户端发送一个带有数据的TCP数据包,该TCP数据包中的序列号和确认号与建立连接第三步的TCP数据包中的序列号和确认号相同。客户端收到服务器发送的一TCP数据包,向服务器发送一个确认数据包,该确认数据包中,序列号是为上一个数据包中的确认号,而确认号为服务器发送的上一个数据包中的序列号加上该数据包中所带数据的大小。本专利技术的主要思想是,针对现有移动终端特别是手机极易受到拒绝服务攻击的问题,预先在移动终端中设置一防御模块,通过该防御模块对外部网络或者内部网络发送的连接请求进行验证,首先根据TCP协议的三次握手原理,当外部网络或者内部网络发送第一个数据包SYN时,防御模块伪造一个SYN+ACK的数据包发送给内部网络或者外部网络。我们定义发起攻击的一方为连接请求方。如果外部网络作为连接请求方,则当防御模块收到连接请求方后续发送的ACK数据包时,防御模块构建一SYN数据包,并通过网络协议栈判断该SYN数据包是发送给移动终端还是移动终端下面链接的局域网设备,当防御模块收到移动终端发送的SYN+ACK数据包时,防御模块丢弃此数据包,并构造ACK数据包发送给移动终端或移动终端下面链接的局域网设备。移动终端或者移动终端下面链接的局域网设备通过该ACK对连接请求进行验证,如果验证成功,则建立连接请求方与移动终端或者移动终端的下面的局域网设备的连接。通过该防御模块来提高移动终端防御拒绝服务攻击的能力,增强移动终端的安全性。本实施例以外部网络作为连接请求方进行描述。参见图1,图1是本专利技术提供的防御拒绝服务攻击的方法流程图,包括以下步骤:步骤S100、预先在移动终端中设置一防御拒绝服务攻击的防御模块;步骤S200、当所述连接请求方向所述防御模块发送一请求连接的第一SYN数据包时,所述防御模块伪造第一SYN+ACK数据包,并将所述第一SYN+ACK数据包发送至所述连接请求方进行应答;步骤S300、当所述防御模块接收到所述连接请求方应答的第一ACK数据包时,所述防御模块构建一与所述第一SYN数据包具有相同SEQ号的第二本文档来自技高网...
一种防御拒接服务攻击的方法

【技术保护点】
一种防御拒接服务攻击的方法,其特征在于,包括以下步骤:A、预先在移动终端中设置一防御拒绝服务攻击的防御模块;B、当所述连接请求方向所述防御模块发送一请求连接的第一SYN数据包时,所述防御模块伪造第一SYN+ACK数据包,并将所述第一SYN+ACK数据包发送至所述连接请求方进行应答;C、当所述防御模块接收到所述连接请求方应答的第一ACK数据包时,所述防御模块构建一与所述第一SYN数据包具有相同SEQ号的第二SYN数据包,并以连接请求方的身份将所述第二SYN数据包经TCP/IP协议栈发送至移动终端;D、所述TCP/IP协议栈接收移动终端反馈的第二SYN+ACK数据包,并将所述第二SYN+ACK数据包的SEQ号减去所述第一SYN+ACK数据包的SEQ号得到一SEQ差值;E、所述TCP/IP协议栈修改所述移动终端反馈给所述防御模块的第二SYN+ACK数据包的SEQ号,将所述第二SYN+ACK数据包的SEQ号减去所述SEQ差值;以及修改所述防御模块向所述移动终端应答的第二ACK数据包的SEQ号,将所述第二ACK数据包的SEQ号修改为所述第二ACK数据包的ACK号加上所述SEQ差值;F、修改后的所述第二ACK数据包的SEQ号等于所述第二SYN+ACK数据包的SEQ号加1,所述防御模块与所述移动终端握手成功,由此建立连接请求方与所述移动终端的连接。...

【技术特征摘要】
1.一种防御拒接服务攻击的方法,其特征在于,包括以下步骤:A、预先在移动终端中设置一防御拒绝服务攻击的防御模块;B、当连接请求方向所述防御模块发送一请求连接的第一SYN数据包时,所述防御模块伪造第一SYN+ACK数据包,并将所述第一SYN+ACK数据包发送至所述连接请求方进行应答;C、当所述防御模块接收到所述连接请求方应答的第一ACK数据包时,所述防御模块构建一与所述第一SYN数据包具有相同SEQ号的第二SYN数据包,并以连接请求方的身份将所述第二SYN数据包经TCP/IP协议栈发送至移动终端;D、所述TCP/IP协议栈接收移动终端反馈的第二SYN+ACK数据包,并将所述第二SYN+ACK数据包的SEQ号减去所述第一SYN+ACK数据包的SEQ号得到一SEQ差值;E、所述TCP/IP协议栈修改所述移动终端反馈给所述防御模块的第二SYN+ACK数据包的SEQ号,将所述第二SYN+ACK数据包的SEQ号减去所述SEQ差值;以及修改所述防御模块向所述移动终端应答的第二ACK数据包的SEQ号,将所述第二ACK数据包的SEQ号修改为所述第二ACK数据包的ACK号加上所述SEQ差值;F、修改后的所述第二ACK数据包的SEQ号等于所述第二SYN+ACK数据包的SEQ号加1,所述防御模块与所述移动终端握手成功,由此建立连接请求方与所述移动终端的连接;所述步骤F之后还包括:在所述连接请求方与所述移动终端的连接成功后,所述移动终端统计所述连接请求方发送的SYN数据包数量,当所述连接请求方发送的SYN数据包数量处在预定范围时,提取所述连接请求方发送的SYN数据包的源端口、源地址、目的端口、目的地址,并将所述连接请求方发送的SYN数据包的源端口,源地址、目的端口、目的地址保存在预先建立的哈希表中;移动终端统计接收到的SYN数据包的数量,判断移动终端是否受到TCP的DoS攻击,通过检测一定时间内收到的SYN数据...

【专利技术属性】
技术研发人员:向金明周丹卢晓峰吴俊
申请(专利权)人:惠州TCL移动通信有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1