防御传输控制协议同步洪泛攻击方法及传输控制协议代理.pdf

上传人:a*** 文档编号:1088055 上传时间:2018-03-30 格式:PDF 页数:24 大小:921.61KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910088060.2

申请日:

2009.07.01

公开号:

CN101594359A

公开日:

2009.12.02

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):H04L 29/06申请公布日:20091202|||实质审查的生效|||公开

IPC分类号:

H04L29/06; H04L12/56

主分类号:

H04L29/06

申请人:

杭州华三通信技术有限公司

发明人:

蔡自彬; 王 飓

地址:

310053浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地

优先权:

专利代理机构:

北京德琦知识产权代理有限公司

代理人:

王一斌;王 琦

PDF下载: PDF下载
内容摘要

本发明公开了防御传输控制协议同步洪泛攻击方法及传输控制协议代理。方法包括:TCP代理端的FPGA与客户端进行TCP三次握手,对客户端的合法性进行验证;客户端通过合法性验证后,TCP代理端的软件模块开始建立客户端与服务器间的TCP连接,并将会话表下发到FPGA;FPGA根据所述会话表,转发客户端与服务器间交互的数据报文。本发明提高了防御TCP同步洪泛攻击的效果。

权利要求书

1、  一种防御传输控制协议TCP同步洪泛攻击方法,其特征在于,该方法包括:
TCP代理端的现场可编程门阵列FPGA与客户端进行TCP三次握手,对客户端的合法性进行验证;
客户端通过合法性验证后,TCP代理端的软件模块开始建立客户端与服务器间的TCP连接,并将会话表下发到FPGA;
FPGA根据所述会话表,转发客户端与服务器间交互的数据报文。

2、
  如权利要求1所述的方法,其特征在于,所述TCP代理为单向代理方式,
所述TCP代理端的软件模块开始建立客户端与服务器间的TCP连接,并将会话表下发到FPGA包括:
FPGA接收客户端发来的同步报文,发现客户端通过合法性验证,将同步报文发送给软件模块;客户端与服务器通过软件模块建立TCP连接,TCP连接建立成功,将会话表下发给FPGA。

3、
  如权利要求1所述的方法,其特征在于,所述TCP代理为双向代理方式,
所述客户端通过合法性验证之后、TCP代理端的软件模块开始建立客户端与服务器间的TCP连接之前进一步包括:
FPGA将客户端发来的确认报文修改为同步报文,其中,同步报文中的序列号由确认报文中的序列号减1得到,同步报文中的MSS字段值由确认报文中的确认序列号恢复得到,调整同步报文的校验和,将该同步报文发送给软件模块。

4、
  如权利要求3所述的方法,其特征在于,所述TCP代理端的软件模块开始建立客户端与服务器间的TCP连接,并将会话表下发到FPGA包括:
软件模块接收FPGA发来的同步报文,开始建立客户端与服务器间的TCP连接,TCP连接建立成功,将会话表下发给FPGA。

5、
  如权利要求3所述的方法,其特征在于,所述TCP代理端的软件模块开始建立客户端与服务器间的TCP连接,并将会话表下发到FPGA包括:
软件模块接收FPGA发来的同步报文,建立会话表,将会话表下发给FPGA,并向服务器转发该同步报文;FPGA根据所述会话表,在客户端与服务器之间建立TCP连接。

6、
  一种防御TCP同步洪泛攻击的TCP代理,其特征在于,该TCP代理包括:
FPGA,与客户端进行TCP三次握手,对客户端进行合法性验证;接收软件模块发来的会话表,根据所述会话表,转发客户端与服务器间交互的数据报文;
软件模块,当客户端通过合法性验证时,开始建立客户端与服务器间的TCP连接,并将会话表下发到FPGA。

7、
  如权利要求6所述的TCP代理,其特征在于,所述FPGA包括:
客户端验证模块,与客户端进行TCP三次握手,对客户端进行合法性验证;接收客户端发来的同步报文,发现客户端通过合法性验证,将同步报文发送给软件模块;
数据转发模块,接收软件模块发来的会话表,根据所述会话表,转发客户端与服务器间交互的数据报文;
所述软件模块包括:
会话建立模块,接收FPGA发来的同步报文,在客户端与服务器之间建立TCP连接,TCP连接建立成功,向会话表下发模块发送会话建立指示;
会话表下发模块,当接收到会话建立指示时,将建立的会话表下发给FPGA。

8、
  如权利要求6所述的TCP代理,其特征在于,所述FPGA包括:
客户端验证模块,与客户端进行TCP三次握手,当确定客户端通过合法性验证时,将客户端发来的确认报文发送给报文修改模块;
报文修改模块,将确认报文修改为同步报文,其中,同步报文中的序列号由确认报文中的序列号减1得到,同步报文中的MSS字段值由确认报文中的确认序列号恢复得到,调整同步报文的校验和,将该同步报文发送给软件模块;
数据转发模块,根据软件模块下发的会话表,转发客户端与服务器间交互的数据报文。

9、
  如权利要求8所述的TCP代理,其特征在于,所述软件模块包括:
会话建立模块,接收FPGA发来的同步报文,在客户端与服务器之间建立TCP连接,TCP连接建立成功,向会话表下发模块发送会话建立指示;
会话表下发模块,当接收到会话建立指示时,将建立的会话表下发给FPGA。

10、
  如权利要求8所述的TCP代理,其特征在于,所述软件模块包括:
会话建立模块,接收FPGA发来的同步报文,开始建立会话表,向会话表下发模块发送会话建立指示,并向服务器转发该同步报文;
会话表下发模块,当接收到会话建立指示时,将建立的会话表下发给FPGA;
且,所述FPGA进一步包括:
TCP连接建立模块,根据软件模块下发的会话表,与服务器建立TCP连接。

11、
  一种防御TCP同步洪泛攻击的FPGA,该FPGA位于TCP代理端,其特征在于,该FPGA包括:
客户端验证模块,与客户端进行TCP三次握手,对客户端进行合法性验证;接收客户端发来的同步报文,发现客户端通过合法性验证,将同步报文发送给软件模块;
数据转发模块,接收软件模块发来的会话表,根据所述会话表,转发客户端与服务器间交互的数据报文。

12、
  一种防御TCP同步洪泛攻击的FPGA,该FPGA位于TCP代理端,其特征在于,该FPGA包括:
客户端验证模块,与客户端进行TCP三次握手,当确定客户端通过合法性验证时,将客户端发来的确认报文发送给报文修改模块;
报文修改模块,将确认报文修改为同步报文,其中,同步报文中的序列号由确认报文中的序列号减1得到,同步报文中的MSS字段值由确认报文中的确认序列号恢复得到,调整同步报文的校验和,将该同步报文发送给软件模块;
TCP连接建立模块,根据软件模块下发的会话表,与服务器建立TCP连接;
数据转发模块,根据软件模块下发的会话表,转发客户端与服务器间交互的数据报文。

说明书

防御传输控制协议同步洪泛攻击方法及传输控制协议代理
技术领域
本发明涉及同步洪泛攻击技术领域,具体涉及防御传输控制协议(TCP,Transferring Control Protocol)同步洪泛攻击方法、TCP代理。
背景技术
拒绝服务(DoS,Denial of Service)攻击是目前网络面临的常见安全威胁手段,这种攻击通过使用大量的数据包攻击目标系统,消耗目标系统资源来使合法用户无法正常使用网络服务。主要的DoS攻击有同步洪泛(SYNFlood)、Fraggle等,而其中最典型且最常使用的DoS攻击就是SYN Flood攻击。
SYN Flood攻击利用传输控制协议(TCP,Transferring Control Protocol)连接中服务器和客户端分配TCB资源的不对称关系,针对不限制连接请求的服务器系统,用最小的代价使其不能提供正常服务。
TCP代理对目的主机或目的区域的所有主机提供保护,用来防范SYNFlood攻击。当外部主机与启用了TCP代理保护的某个主机或某个安全域中的主机建立TCP连接时,必须先与防火墙完成TCP三次握手后,才能与目的主机建立TCP连接。如果不能与防火墙完成三次握手,则不允许与目的主机建立TCP连接,从而有效地防止了内部主机受到恶意攻击。客户端通过TCP代理请求与受保护的服务器建立连接时,TCP代理首先验证客户端的请求是否为SYN Flood攻击,验证通过后客户端和服务器之间才能建立TCP连接,从而避免服务器受到攻击。
TCP代理支持两种代理方式:单向代理和双向代理。单向代理方式是指仅对TCP连接的正向报文进行处理;双向代理是指对TCP连接的正向和反向报文都进行处理。
图1为现有的单向代理方式下TCP代理的处理流程,如图1所示,其具体步骤如下:
步骤101:客户端向TCP代理发送序列号seq=s的SYN报文。
步骤102:TCP代理接收SYN报文,向客户端返回携带错误的确认序列号ack的SYN ACK报文,且该SYN ACK报文中携带序列号seq=c。
正确的确认序列号ack=s+1。
步骤103:客户端接收SYN ACK报文,向TCP代理返回ack=c+1的RST报文。
步骤104:TCP代理接收RST报文,发现报文中的ack正确,认为客户端合法。
步骤105~108:之后一定时间内,TCP代理收到客户端重发的SYN报文后,直接向服务器转发该SYN报文,客户端和服务器之间建立TCP连接。
TCP连接建立后,TCP代理直接转发后续来自客户端或服务器的报文,不对报文进行处理。
图2为现有的双向代理方式下TCP代理的处理流程,如图2所示,其具体步骤如下:
步骤201:客户端向TCP代理发送序列号seq=s的SYN报文。
步骤202:TCP代理接收SYN报文,向客户端返回序列号seq=c、确认序列号ack=s+1、窗口值=0的SYN ACK报文。
步骤203:若客户端合法,则客户端向TCP代理返回seq=s+1,ack=c+1的ACK报文。
若客户端不合法,则客户端要么不返回ACK报文,要么返回的ACK报文的seq、ack是一个随意的值而非seq=s+1、ack=c+1。
步骤204:TCP代理接收客户端返回的ACK报文,根据报文中的seq、ack确定客户端合法,向服务器发送seq=s的SYN报文,开始建立会话表。
步骤205:服务器接收SYN报文,向TCP代理返回seq=c’、ack=s+1、窗口值=n的SYN ACK报文。
步骤206~207:TCP代理接收SYN ACK报文,向服务器返回seq=s+1,ack=c’+1的ACK报文,同时计算序列号差值seq_diff=c-c’,将seq_diff记录到会话表中,同时向客户端返回窗口值=n的ACK报文,客户端与服务器之间的TCP连接建立。
会话表中包含:客户端IP地址、端口号,服务器IP地址、端口号、协议类型值、出接口标识、网络地址转换(NAT,Network Address Translation)信息等,随着客户端与服务器间的报文交互,TCP代理会不断完善该会话表。
TCP连接建立后,TCP代理接收客户端或服务器发来的数据报文后,要先根据seq_diff对报文中的ack或seq进行调整,再将报文转发出去。
现有的TCP代理具有如下缺点:
现有的TCP代理虽然具有现场可编程门阵列(FPGA,FieldProgrammable Gate Array)硬件接口,但FPGA只负责报文转发,不进行TCP代理的处理,图1、2所示的TCP代理的处理过程都是在软件上实现的,TCP代理程序和其它程序共享中央处理单元(CPU,Central Processing Unit)资源。所有SYN报文都会上送CPU,由软件TCP代理程序处理,验证客户端的请求是否为SYN Flood攻击也是由软件实现的,SYN Flood攻击报文会占用CPU资源,当SYN Flood攻击报文足够快时,CPU资源大部分被攻击报文占用,影响正常报文转发,影响正常连接的建立,防SYN Flood攻击效果不够好。
此外,在双向代理方式下,TCP代理多了4个报文的处理,一条TCP连接的建立需要花更长的时间,影响正常连接的建立速度。
发明内容
本发明提供防御TCP SYN Flood攻击方法、TCP代理及FPGA,以提高防御TCP SYN Flood攻击的效果。
本发明的技术方案是这样实现的:
一种防御TCP同步洪泛攻击方法,其特征在于,该方法包括:
TCP代理端的FPGA与客户端进行TCP三次握手,对客户端的合法性进行验证;
客户端通过合法性验证后,TCP代理端的软件模块开始建立客户端与服务器间的TCP连接,并将会话表下发到FPGA;
FPGA根据所述会话表,转发客户端与服务器间交互的数据报文。
所述TCP代理为单向代理方式,
所述TCP代理端的软件模块开始建立客户端与服务器间的TCP连接,并将会话表下发到FPGA包括:
FPGA接收客户端发来的同步报文,发现客户端通过合法性验证,将同步报文发送给软件模块;客户端与服务器通过软件模块建立TCP连接,TCP连接建立成功,将会话表下发给FPGA。
所述TCP代理为双向代理方式,
所述客户端通过合法性验证之后、TCP代理端的软件模块开始建立客户端与服务器间的TCP连接之前进一步包括:
FPGA将客户端发来的确认报文修改为同步报文,其中,同步报文中的序列号由确认报文中的序列号减1得到,同步报文中的MSS字段值由确认报文中的确认序列号恢复得到,调整同步报文的校验和,将该同步报文发送给软件模块。
所述TCP代理端的软件模块开始建立客户端与服务器间的TCP连接,并将会话表下发到FPGA包括:
软件模块接收FPGA发来的同步报文,开始建立客户端与服务器间的TCP连接,TCP连接建立成功,将会话表下发给FPGA。
所述TCP代理端的软件模块开始建立客户端与服务器间的TCP连接,并将会话表下发到FPGA包括:
软件模块接收FPGA发来的同步报文,建立会话表,将会话表下发给FPGA,并向服务器转发该同步报文;FPGA根据所述会话表,在客户端与服务器之间建立TCP连接。
一种防御TCP同步洪泛攻击的TCP代理,该TCP代理包括:
FPGA,与客户端进行TCP三次握手,对客户端进行合法性验证;接收软件模块发来的会话表,根据所述会话表,转发客户端与服务器间交互的数据报文;
软件模块,当客户端通过合法性验证时,开始建立客户端与服务器间的TCP连接,并将会话表下发到FPGA。
所述FPGA包括:
客户端验证模块,与客户端进行TCP三次握手,对客户端进行合法性验证;接收客户端发来的同步报文,发现客户端通过合法性验证,将同步报文发送给软件模块;
数据转发模块,接收软件模块发来的会话表,根据所述会话表,转发客户端与服务器间交互的数据报文;
所述软件模块包括:
会话建立模块,接收FPGA发来的同步报文,在客户端与服务器之间建立TCP连接,TCP连接建立成功,向会话表下发模块发送会话建立指示;
会话表下发模块,当接收到会话建立指示时,将建立的会话表下发给FPGA。
所述FPGA包括:
客户端验证模块,与客户端进行TCP三次握手,当确定客户端通过合法性验证时,将客户端发来的确认报文发送给报文修改模块;
报文修改模块,将确认报文修改为同步报文,其中,同步报文中的序列号由确认报文中的序列号减1得到,同步报文中的MSS字段值由确认报文中的确认序列号恢复得到,调整同步报文的校验和,将该同步报文发送给软件模块;
数据转发模块,根据软件模块下发的会话表,转发客户端与服务器间交互的数据报文。
所述软件模块包括:
会话建立模块,接收FPGA发来的同步报文,在客户端与服务器之间建立TCP连接,TCP连接建立成功,向会话表下发模块发送会话建立指示;
会话表下发模块,当接收到会话建立指示时,将建立的会话表下发给FPGA。
所述软件模块包括:
会话建立模块,接收FPGA发来的同步报文,开始建立会话表,向会话表下发模块发送会话建立指示,并向服务器转发该同步报文;
会话表下发模块,当接收到会话建立指示时,将建立的会话表下发给FPGA;
且,所述FPGA进一步包括:
TCP连接建立模块,根据软件模块下发的会话表,与服务器建立TCP连接。
一种防御TCP同步洪泛攻击的FPGA,该FPGA位于TCP代理端,该FPGA包括:
客户端验证模块,与客户端进行TCP三次握手,对客户端进行合法性验证;接收客户端发来的同步报文,发现客户端通过合法性验证,将同步报文发送给软件模块;
数据转发模块,接收软件模块发来的会话表,根据所述会话表,转发客户端与服务器间交互的数据报文。
一种防御TCP同步洪泛攻击的FPGA,该FPGA位于TCP代理端,该FPGA包括:
客户端验证模块,与客户端进行TCP三次握手,当确定客户端通过合法性验证时,将客户端发来的确认报文发送给报文修改模块;
报文修改模块,将确认报文修改为同步报文,其中,同步报文中的序列号由确认报文中的序列号减1得到,同步报文中的MSS字段值由确认报文中的确认序列号恢复得到,调整同步报文的校验和,将该同步报文发送给软件模块;
TCP连接建立模块,根据软件模块下发的会话表,与服务器建立TCP连接;
数据转发模块,根据软件模块下发的会话表,转发客户端与服务器间交互的数据报文。
与现有技术相比,本发明中,TCP代理端的FPGA与客户端进行TCP三次握手,对客户端进行合法性验证;客户端通过合法性验证后,TCP代理端的软件模块开始建立客户端与服务器间的TCP连接,并将会话表下发到FPGA;FPGA根据所述会话表,转发客户端与服务器间交互的数据报文。本发明中,由FPGA完成对客户端的合法性验证,这样,SYN Flood攻击报文会被FPGA处理或者丢弃,不占用任何CPU资源,从而提高了防御SYNFlood攻击效果,并加快了TCP连接建立的速度。
附图说明
图1为现有的单向代理方式下TCP代理的处理流程图;
图2为现有的双向代理方式下TCP代理的处理流程图;
图3为本发明实施例一提供的单向代理方式下,防御TCP SYN Flood攻击的消息流程图;
图4为本发明实施例二提供的双向代理方式下,防御TCP SYN Flood攻击的消息流程图;
图5为本发明实施例三提供的双向代理方式下,防御TCP SYN Flood攻击的消息流程图;
图6为本发明实施例一提供的单向代理方式下的TCP代理的组成图;
图7为本发明实施例二提供的双向代理方式下的TCP代理的组成图;
图8为本发明实施例三提供的双向代理方式下的TCP代理的组成图。
具体实施方式
本发明的核心思想是:由于TCP代理的接口通常由FPGA实现,因此,本发明中,对客户端的合法性验证由FPGA完成,对客户端的合法性验证通过后,TCP代理端的软件模块开始建立客户端与服务器间的TCP连接,并将会话表下发到FPGA,之后FPGA根据所述会话表,转发客户端与服务器间交互的数据报文。
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图3为本发明实施例一提供的单向代理方式下,防御TCP SYN Flood攻击的消息流程图,如图3所示,其具体步骤如下:
步骤301:客户端向TCP代理端发送序列号seq=s的SYN报文。
步骤302:TCP代理端的FPGA接收SYN报文,向客户端返回携带错误的确认序列号的SYN ACK报文,且该SYN ACK报文中携带序列号seq=c。
由于FPGA为TCP代理端的接口,因此,发往TCP代理端的报文都会先经过FPGA。
步骤303:若客户端合法,则客户端向FPGA返回ack=c+1的RST报文,FPGA接收客户端返回的RST报文,发现报文中的ack正确,确定客户端合法。
若客户端不合法,则客户端不返回RST报文,或者返回ack错误的RST报文。
步骤304:FPGA接收客户端后续发来的SYN报文,发现客户端已通过合法性验证,则将SYN报文上送TCP代理端的软件模块。
步骤305:软件模块接收SYN报文,开始建立会话表,将SYN报文转发给服务器。
步骤306:服务器接收SYN报文,向TCP代理端返回SYN ACK报文,TCP代理端的软件模块接收SYN ACK报文,并将该报文转发给客户端。
服务器返回的SYN ACK报文也会先经过TCP代理端的FPGA,FPGA接收该报文后,发现自身未保存该报文对应的会话表,则会将该报文上送软件模块处理。
步骤307:软件模块接收客户端发来的ACK报文,确定客户端与服务器之间的TCP连接建立,将该ACK报文转发给服务器,并将建立的会话表下发给FPGA。
步骤308:FPGA接收客户端发来的数据报文,根据软件模块下发的会话表,将该报文转发给服务器。
步骤309:FPGA接收服务器发来的数据报文,根据软件模块下发的会话表,将该报文转发给客户端。
图4为本发明实施例二提供的双向代理方式下,防御TCP SYN F1ood攻击的消息流程图,如图4所示,其具体步骤如下:
步骤401:客户端向TCP代理端发送序列号seq=s的SYN报文。
步骤402:TCP代理端的FPGA接收SYN报文,向客户端返回序列号seq=c、确认序列号ack=s+1、窗口值=0的SYN ACK报文。
步骤403:若客户端合法,则客户端向FPGA返回seq=s+1,ack=c+1的ACK报文。
若客户端不合法,则客户端要么不返回ACK报文,要么返回的ACK报文的seq、ack是一个随意的值而非seq=s+1、ack=c+1。
步骤404:FPGA接收客户端返回的ACK报文,根据报文中的seq、ack确定客户端合法,将ACK报文修改为SYN报文,其中,SYN报文中的seq=s,SYN报文中的MSS字段值由ACK报文中的ack恢复得到,调整SYN报文的校验和,将SYN报文上送TCP代理端的软件模块。
步骤405:软件模块接收SYN报文,开始建立会话表,将SYN报文发送给服务器。
步骤406:服务器接收SYN报文,向软件模块返回seq=c’,ack=s+1,窗口值=n的SYN ACK报文。
步骤407:软件模块接收SYN ACK报文,向服务器返回seq=s+1,ack=c’+1的ACK报文,同时计算序列号差值seq_diff=c-c’,将seq_diff记录到会话表中,将会话表下发给FPGA,并向客户端发送窗口值=n的ACK报文,客户端与服务器之间的TCP连接建立。
步骤408:FPGA接收客户端发来的seq=m,ack=c+n的数据报文,计算ack’=ack-seq_diff=c+n-(c-c’)=c’+n,以ack’替代ack,根据ack’调整校验和,根据会话表将数据报文转发给服务器。
步骤409:FPGA接收服务器发来的seq=c’+m,ack=n的数据报文,计算seq’=seq+seq_diff=c’+m+(c-c’)=c+m,以seq’替代seq,根据seq’调整校验和,根据会话表将数据报文转发给服务器。
图5为本发明实施例三提供的双向代理方式下,防御TCP SYN Flood攻击的消息流程图,如图5所示,其具体步骤如下:
步骤501~504与步骤401~404相同。
步骤505:TCP代理端的软件模块接收SYN报文,开始建立会话表,将会话表下发给FPGA,同时将SYN报文转发给服务器;FPGA接收并保存会话表。
步骤506:服务器接收SYN报文,向FPGA返回seq=c’,ack=s+1,窗口值=n的SYN ACK报文。
步骤507:FPGA接收SYN ACK报文,根据会话表向服务器返回seq=s+1,ack=c’+1的ACK报文,同时计算序列号差值seq_diff=c-c’,将seq_diff记录到会话表中,同时向客户端返回窗口值=n的ACK报文。
步骤508~509与步骤408~409相同。
由图3~5所示实施例可以看出:由FPGA完成对客户端的合法性验证,这样,SYN Flood攻击流会在硬件部分被阻止,软件模块接收到的都是合法报文,这样,既有效地防御了SYN Flood攻击,又将复杂的业务放到了软件模块处理。且FPGA和软件模块间未增加新的通信方式,仍然只是报文通信,同时软件模块不需要作大的改动,就能与FPGA配合完成TCP代理功能。
以下给出本发明实施例提供的防御TCP SYN Flood攻击的TCP代理的组成,该TCP代理包括:
FPGA:与客户端进行TCP三次握手,完成对客户端的合法性验证;接收软件模块发来的会话表,根据所述会话表,转发客户端与服务器间交互的数据报文;
软件模块:建立客户端与服务器间的会话,并将建立的会话表下发到FPGA。
图6为本发明实施例一提供的单向代理方式下的TCP代理的组成图,如图6所示,其中,
FPGA61包括:客户端验证模块611和数据转发模块612,其中:
客户端验证模块611:接收客户端发来的SYN报文,向客户端返回携带错误的确认序列号的SYN ACK报文,若收到客户端返回的RST报文,则确定客户端合法;接收客户端后续发来的SYN报文,发现客户端通过合法性验证,将该SYN报文发送给软件模块62。
数据转发模块612:接收软件模块62发来的会话表,根据所述会话表,转发客户端与服务器间交互的数据报文。
软件模块62包括:会话建立模块621和会话表下发模块622,其中:
会话建立模块621:接收FPGA61发来的SYN报文,将该SYN报文转发给服务器,并开始建立会话表,接收服务器发来的SYN ACK报文,将该SYN ACK报文转发给客户端,之后接收客户端发来的ACK报文,向会话表下发模块622发送会话建立指示。
会话表下发模块622:当接收到会话建立模块621发来的会话建立指示时,将建立的会话表下发给FPGA61。
图7为本发明实施例二提供的双向代理方式下的TCP代理的组成图,如图7所示,其中,
FPGA61包括:客户端验证模块711、报文修改模块712和数据转发模块713,其中:
客户端验证模块711:接收客户端发来的SYN报文,向客户端返回携带正确的确认序列号的SYN ACK报文,之后接收客户端发来的ACK报文,发现ACK报文的序列号正确,则确定客户端合法,将ACK报文发送给报文修改模块712。
报文修改模块712:接收客户端验证模块711发来的ACK报文,将该ACK报文修改为SYN报文,其中,SYN报文中的序列号由ACK报文中的序列号减1得到,SYN报文中的MSS字段值由ACK报文中的确认序列号恢复得到,调整SYN报文的校验和,将该SYN报文发送给软件模块62。
数据转发模块713:根据软件模块62下发的会话表,转发客户端与服务器间交互的数据报文。
软件模块62包括:会话建立模块721和会话表下发模块722,其中:
会话建立模块721:接收FPGA61发来的SYN报文,开始建立会话表,并向服务器转发该SYN报文,当接收到服务器返回的SYN ACK报文时,向服务器返回ACK报文,并向客户端发送ACK报文,同时向会话表下发模块722发送会话建立指示。
会话表下发模块722:当接收到会话建立模块721发来的会话建立指示时,将建立的会话表下发给FPGA61。
图8为本发明实施例三提供的双向代理方式下的TCP代理的组成图,如图8所示,其中,
FPGA61包括:客户端验证模块811、报文修改模块812、TCP连接建立模块813和数据转发模块814,其中:
客户端验证模块811:接收客户端发来的SYN报文,向客户端返回携带正确的确认序列号的SYN ACK报文,之后接收客户端发来的ACK报文,发现ACK报文的序列号正确,则确定客户端合法,将ACK报文发送给报文修改模块812。
报文修改模块812:接收客户端验证模块811发来的ACK报文,将该ACK报文修改为SYN报文,其中,SYN报文中的序列号由ACK报文中的序列号减1得到,SYN报文中的MSS字段值由ACK报文中的确认序列号恢复得到,调整SYN报文的校验和,将该SYN报文发送给软件模块62。
TCP连接建立模块813:接收软件模块62下发的会话表,当接收到服务器返回的SYN ACK报文时,根据会话表向服务器返回ACK报文,同时向客户端发送ACK报文。
数据转发模块814:接收软件模块62下发的会话表,根据会话表转发客户端与服务器间交互的数据报文。
软件模块62包括:会话建立模块821和会话表下发模块822,其中:
会话建立模块821:接收FPGA61发来的SYN报文,开始建立会话表,向会话表下发模块822发送会话建立指示,并向服务器转发该SYN报文。
会话表下发模块822:当接收到会话建立模块821发来的会话建立指示时,将建立的会话表下发给FPGA61。
以上所述仅为本发明的过程及方法实施例,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

防御传输控制协议同步洪泛攻击方法及传输控制协议代理.pdf_第1页
第1页 / 共24页
防御传输控制协议同步洪泛攻击方法及传输控制协议代理.pdf_第2页
第2页 / 共24页
防御传输控制协议同步洪泛攻击方法及传输控制协议代理.pdf_第3页
第3页 / 共24页
点击查看更多>>
资源描述

《防御传输控制协议同步洪泛攻击方法及传输控制协议代理.pdf》由会员分享,可在线阅读,更多相关《防御传输控制协议同步洪泛攻击方法及传输控制协议代理.pdf(24页珍藏版)》请在专利查询网上搜索。

本发明公开了防御传输控制协议同步洪泛攻击方法及传输控制协议代理。方法包括:TCP代理端的FPGA与客户端进行TCP三次握手,对客户端的合法性进行验证;客户端通过合法性验证后,TCP代理端的软件模块开始建立客户端与服务器间的TCP连接,并将会话表下发到FPGA;FPGA根据所述会话表,转发客户端与服务器间交互的数据报文。本发明提高了防御TCP同步洪泛攻击的效果。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1