CN101594359A - 防御传输控制协议同步洪泛攻击方法及传输控制协议代理 - Google Patents

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

Info

Publication number
CN101594359A
CN101594359A CNA2009100880602A CN200910088060A CN101594359A CN 101594359 A CN101594359 A CN 101594359A CN A2009100880602 A CNA2009100880602 A CN A2009100880602A CN 200910088060 A CN200910088060 A CN 200910088060A CN 101594359 A CN101594359 A CN 101594359A
Authority
CN
China
Prior art keywords
client
tcp
message
fpga
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2009100880602A
Other languages
English (en)
Inventor
蔡自彬
王飓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CNA2009100880602A priority Critical patent/CN101594359A/zh
Publication of CN101594359A publication Critical patent/CN101594359A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks

Abstract

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

Description

防御传输控制协议同步洪泛攻击方法及传输控制协议代理
技术领域
本发明涉及同步洪泛攻击技术领域,具体涉及防御传输控制协议(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。
以上所述仅为本发明的过程及方法实施例,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

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连接;
数据转发模块,根据软件模块下发的会话表,转发客户端与服务器间交互的数据报文。
CNA2009100880602A 2009-07-01 2009-07-01 防御传输控制协议同步洪泛攻击方法及传输控制协议代理 Pending CN101594359A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2009100880602A CN101594359A (zh) 2009-07-01 2009-07-01 防御传输控制协议同步洪泛攻击方法及传输控制协议代理

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2009100880602A CN101594359A (zh) 2009-07-01 2009-07-01 防御传输控制协议同步洪泛攻击方法及传输控制协议代理

Publications (1)

Publication Number Publication Date
CN101594359A true CN101594359A (zh) 2009-12-02

Family

ID=41408801

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2009100880602A Pending CN101594359A (zh) 2009-07-01 2009-07-01 防御传输控制协议同步洪泛攻击方法及传输控制协议代理

Country Status (1)

Country Link
CN (1) CN101594359A (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102427452A (zh) * 2011-12-06 2012-04-25 北京星网锐捷网络技术有限公司 同步报文发送方法、装置和网络设备
CN102664890A (zh) * 2012-04-23 2012-09-12 沈阳通用软件有限公司 网络安全控制服务器识别终端计算机合法性的方法
CN102780688A (zh) * 2012-04-26 2012-11-14 华为技术有限公司 在传输控制协议tcp下防止攻击的方法和装置
CN102946387A (zh) * 2012-11-01 2013-02-27 惠州Tcl移动通信有限公司 一种防御拒接服务攻击的方法
CN103209175A (zh) * 2013-03-13 2013-07-17 深圳市同洲电子股份有限公司 一种建立数据传输连接的方法及装置
CN103248605A (zh) * 2012-02-02 2013-08-14 哈尔滨安天科技股份有限公司 一种基于ipv6的tcp流汇聚方法及系统
CN105959228A (zh) * 2016-06-23 2016-09-21 华为技术有限公司 一种流量处理方法及透明缓存系统
CN106454102A (zh) * 2016-10-27 2017-02-22 合肥埃科光电科技有限公司 一种全硬件高速智能相机的实现方法
WO2017088326A1 (zh) * 2015-11-24 2017-06-01 网宿科技股份有限公司 Tcp连接的处理方法、装置及系统
CN108111509A (zh) * 2017-12-19 2018-06-01 北京百度网讯科技有限公司 数据传输方法
CN109413058A (zh) * 2018-10-17 2019-03-01 山东渔翁信息技术股份有限公司 一种服务器与终端设备的信息通信方法、装置及相关设备
CN109922144A (zh) * 2019-02-28 2019-06-21 北京百度网讯科技有限公司 用于处理数据的方法和装置
CN109936543A (zh) * 2017-12-18 2019-06-25 中国移动通信集团辽宁有限公司 ACK Flood攻击的防护方法、装置、设备及介质
CN111526126A (zh) * 2020-03-29 2020-08-11 杭州迪普科技股份有限公司 数据安全传输方法,数据安全设备及系统
WO2022116178A1 (zh) * 2020-12-04 2022-06-09 华为技术有限公司 一种tcp mss调整方法、装置及系统
US11563772B2 (en) 2019-09-26 2023-01-24 Radware, Ltd. Detection and mitigation DDoS attacks performed over QUIC communication protocol

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102427452B (zh) * 2011-12-06 2014-07-30 北京星网锐捷网络技术有限公司 同步报文发送方法、装置和网络设备
CN102427452A (zh) * 2011-12-06 2012-04-25 北京星网锐捷网络技术有限公司 同步报文发送方法、装置和网络设备
CN103248605B (zh) * 2012-02-02 2016-12-14 哈尔滨安天科技股份有限公司 一种基于ipv6的tcp流汇聚方法及系统
CN103248605A (zh) * 2012-02-02 2013-08-14 哈尔滨安天科技股份有限公司 一种基于ipv6的tcp流汇聚方法及系统
CN102664890A (zh) * 2012-04-23 2012-09-12 沈阳通用软件有限公司 网络安全控制服务器识别终端计算机合法性的方法
CN102664890B (zh) * 2012-04-23 2014-06-25 沈阳通用软件有限公司 网络安全控制服务器识别终端计算机合法性的方法
CN102780688A (zh) * 2012-04-26 2012-11-14 华为技术有限公司 在传输控制协议tcp下防止攻击的方法和装置
CN102946387B (zh) * 2012-11-01 2016-12-21 惠州Tcl移动通信有限公司 一种防御拒接服务攻击的方法
EP2916508A4 (en) * 2012-11-01 2016-07-06 Huizhou Tcl Mobile Comm Co Ltd METHOD FOR PROCESSING DATA PACKET, ELECTRONIC DEVICE, AND INFORMATION CARRIER
CN102946387A (zh) * 2012-11-01 2013-02-27 惠州Tcl移动通信有限公司 一种防御拒接服务攻击的方法
US9313225B2 (en) 2012-11-01 2016-04-12 Huizhou Tcl Mobile Communication Co., Ltd. Method for packet processing, electronic device and storage medium
CN103209175A (zh) * 2013-03-13 2013-07-17 深圳市同洲电子股份有限公司 一种建立数据传输连接的方法及装置
WO2017088326A1 (zh) * 2015-11-24 2017-06-01 网宿科技股份有限公司 Tcp连接的处理方法、装置及系统
CN105959228A (zh) * 2016-06-23 2016-09-21 华为技术有限公司 一种流量处理方法及透明缓存系统
CN105959228B (zh) * 2016-06-23 2020-06-16 华为技术有限公司 一种流量处理方法及透明缓存系统
CN106454102A (zh) * 2016-10-27 2017-02-22 合肥埃科光电科技有限公司 一种全硬件高速智能相机的实现方法
CN109936543A (zh) * 2017-12-18 2019-06-25 中国移动通信集团辽宁有限公司 ACK Flood攻击的防护方法、装置、设备及介质
CN108111509B (zh) * 2017-12-19 2020-11-06 北京百度网讯科技有限公司 数据传输方法
CN108111509A (zh) * 2017-12-19 2018-06-01 北京百度网讯科技有限公司 数据传输方法
US10848599B2 (en) 2017-12-19 2020-11-24 Beijing Baidu Netcom Science And Technology Co., Ltd. Data transmission method and gateway as well as server and computer-readable storage medium
CN109413058A (zh) * 2018-10-17 2019-03-01 山东渔翁信息技术股份有限公司 一种服务器与终端设备的信息通信方法、装置及相关设备
CN109922144A (zh) * 2019-02-28 2019-06-21 北京百度网讯科技有限公司 用于处理数据的方法和装置
CN109922144B (zh) * 2019-02-28 2022-09-16 北京百度网讯科技有限公司 用于处理数据的方法和装置
US11563772B2 (en) 2019-09-26 2023-01-24 Radware, Ltd. Detection and mitigation DDoS attacks performed over QUIC communication protocol
CN111526126A (zh) * 2020-03-29 2020-08-11 杭州迪普科技股份有限公司 数据安全传输方法,数据安全设备及系统
CN111526126B (zh) * 2020-03-29 2022-11-01 杭州迪普科技股份有限公司 数据安全传输方法,数据安全设备及系统
WO2022116178A1 (zh) * 2020-12-04 2022-06-09 华为技术有限公司 一种tcp mss调整方法、装置及系统

Similar Documents

Publication Publication Date Title
CN101594359A (zh) 防御传输控制协议同步洪泛攻击方法及传输控制协议代理
US8745723B2 (en) System and method for providing unified transport and security protocols
CN108551446B (zh) 防攻击的syn报文处理方法、装置、防火墙及存储介质
US7675854B2 (en) System and method for an adaptive TCP SYN cookie with time validation
EP1502463B1 (en) Method , apparatus and computer program product for checking the secure use of routing address information of a wireless terminal device in a wireless local area network
CN101378395A (zh) 一种防止拒绝访问攻击的方法及装置
CN103347016A (zh) 一种攻击的防御方法
CN110266678B (zh) 安全攻击检测方法、装置、计算机设备及存储介质
CN101257450A (zh) 网络安全防护方法、网关设备、客户端及网络系统
EP2285041A1 (en) Communication establishing method, system and device
WO2017012142A1 (zh) 一种双连接安全通讯的方法及装置
WO2010063242A1 (zh) 时钟同步的方法、设备以及网络系统
WO2014173365A1 (zh) Ftp的应用层报文过滤方法及装置、计算机存储介质
KR101655715B1 (ko) Http를 이용한 양방향 실시간 통신 시스템
CN102546428A (zh) 基于DHCPv6侦听的IPv6报文交换系统及方法
CN104601566A (zh) 认证方法以及装置
WO2023174143A1 (zh) 数据传输方法、设备、介质及产品
Simpson TCP cookie transactions (TCPCT)
Clayton Anonymity and traceability in cyberspace
US9197362B2 (en) Global state synchronization for securely managed asymmetric network communication
CN107040507B (zh) 网络封锁方法及设备
EP3618396B1 (en) Protection method and system for http flood attack
Wang et al. Hijacking spoofing attack and defense strategy based on Internet TCP sessions
Biagioni Preventing udp flooding amplification attacks with weak authentication
JP2013102454A (ja) Tcp通信方式

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20091202