CN101834833A - 对分布式拒绝服务攻击的服务器防护 - Google Patents

对分布式拒绝服务攻击的服务器防护 Download PDF

Info

Publication number
CN101834833A
CN101834833A CN200910127134A CN200910127134A CN101834833A CN 101834833 A CN101834833 A CN 101834833A CN 200910127134 A CN200910127134 A CN 200910127134A CN 200910127134 A CN200910127134 A CN 200910127134A CN 101834833 A CN101834833 A CN 101834833A
Authority
CN
China
Prior art keywords
message
server
client computer
syn
application program
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.)
Granted
Application number
CN200910127134A
Other languages
English (en)
Other versions
CN101834833B (zh
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.)
Jungle Network
Juniper Networks Inc
Original Assignee
Jungle Network
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 Jungle Network filed Critical Jungle Network
Priority to CN200910127134.9A priority Critical patent/CN101834833B/zh
Priority to US12/421,962 priority patent/US8650631B2/en
Publication of CN101834833A publication Critical patent/CN101834833A/zh
Application granted granted Critical
Publication of CN101834833B publication Critical patent/CN101834833B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1671Details of the supervisory signal the supervisory signal being transmitted together with control information
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种连接在客户机和服务器之间的网络设备。该网络设备被配置为:存储涉及运行在该服务器上的应用程序的信息;接收来自客户机的第一消息,该消息意图发向服务器;响应于第一消息产生第二消息;向客户机发送第二消息;接收来自客户机的第三消息;基于涉及运行在服务器上的应用程序的信息产生第四消息,第四消息包括涉及运行在服务器上的应用程序的信息;将第四消息发送至客户机;响应于第四消息接收来自客户机的服务请求;以及基于该服务请求在该客户机和该服务器之间建立连接。

Description

对分布式拒绝服务攻击的服务器防护
背景技术
使用传输控制协议(TCP)服务来提供对等(P2P)网络服务的服务器通常易受到来自网络上外部主机的各种类型的拒绝服务(DoS)攻击(包括分布式拒绝服务(DDoS)攻击)。随着P2P系统中对等机或客户机数量的增加——通常增加至超过好几万的数量,也增加了DDoS攻击的风险。在典型的DDoS攻击中,攻击客户机可以使P2P系统中央服务器中的中央索引表中毒。可以替代地,攻击客户机可以使分布式服务器中的分布式索引表中毒。合法的P2P客户机使用来自中毒索引表的信息来攻击P2P系统中的服务器。
在一种被称作“同步(SYN)泛洪”的特定类型的攻击中,外部主机通过向服务器发送TCP连接请求的恒流来淹没服务器,迫使该服务器为每个新连接都分配资源,直到耗尽所有服务器的资源。在中毒的索引表的情况中,P2P系统客户机是SYN泛洪攻击中的无意参与者。
防火墙经常被用来保护服务器,使其不易受到SYN泛洪攻击。一种使用防火墙保护服务器的技术称作“SYN cookie”。对于每个进入的同步(SYN)数据包(或消息),防火墙都以带有初始序列号(ISN)中特殊签名的SYN/ACK数据包(或消息)进行应答(称作SYN cookie)。只有在防火墙从客户机接收到的ACK数据包(或消息)包含正确签名的情况下,防火墙才允许TCP连接请求行进到服务器。然而,在中毒索引表的实例中,来自伪造的互联网协议(IP)地址的无意攻击将看起来包括正确的签名。因此,在这种情况中,防火墙就会允许TCP连接到达服务器,从而使服务器受到DDoS攻击。
发明内容
根据一个实施例,提供了一种可以连接在客户机和服务器之间的设备。该设备可以包括用于存储多个记录的存储器,其中,这些记录之一可以包括涉及运行在服务器上的应用程序的信息。该网络设备还可以包括:处理器,其连接至存储器,用于接收来自客户机的第一消息,该第一消息意图发向服务器,;响应于第一消息产生第二消息;将第二消息发送至客户机;接收来自客户机的第三消息;响应于第三消息对存储器进行访问以获得涉及运行在服务器上的应用程序的信息;响应于获得的信息产生第四消息,该第四消息包括涉及运行在服务器上的应用程序的信息;将第四消息发送至客户机;响应于第四消息接收来自客户机的服务请求;以及基于该服务请求在客户机和服务器之间建立连接。
根据另一个实施例,提供了一种方法,该方法包括:在存储器中存储涉及运行在服务器上的应用程序的信息;在网络上截取来自客户机的同步(SYN)消息,该同步消息意图发向服务器;从存储器识别涉及运行在服务器上的应用程序的信息;产生SYN/确认(ACK)(SYN/ACK)消息;将SYN/ACK数据包传输至客户机;在网络上接收来自客户机的ACK数据包;从存储器识别涉及运行在服务器上的应用程序的信息;产生应用程序ACK消息,该ACK消息包括涉及运行在服务器上的应用程序的信息;将应用程序ACK数据包传输至客户机;响应于第四消息接收来自客户机的服务请求;以及基于该服务确定是否在客户机和服务器之间建立连接。
根据又一个实施例,提供了一种连接在客户机和服务器之间的网络设备,该设备可以包括:用于在三次握手过程中监控由服务器提供的信息的装置;用于将该信息作为涉及运行在服务器上的应用程序的信息来存储的装置;用于接收来自客户机的与服务器建立连接的请求的装置;用于代表服务器执行与客户机的三次握手的装置;用于将应用程序ACK数据包传输至客户机的装置,其中,在应用程序ACK消息中提供涉及运行在服务器上的应用程序的信息;用于响应于应用程序ACK消息接收来自服务器的服务请求的装置;用于在与客户机的三次握手成功时执行与服务器的三次握手的装置;用于将服务请求转发至服务器的装置;以及用于基于该服务请求在客户机和服务器之间建立连接的装置。
附图说明
结合并构成本说明书一部分的附图,示出了本文中描述的一个或多个实施例,以及与说明书一起用于解释这些实施例,附图中:
图1是可以实现本文中所述的各系统和各方法的示例性环境的示图;
图2是示出在标准模式期间建立TCP连接实例的示图;
图3是示出在攻击模式期间建立TCP连接实例的示图;
图4是图3中的防火墙的示例性部件的示图;
图5提供了示出用于建立TCP连接的示例性过程的流程图;以及
图6是示出建立TCP连接的实例的示图。
具体实施方式
下面的详细描述参照了附图。不同附图中相同的参考标号可以表示相同或相似的元件。
概述
本文中描述的实施例在保护服务器不受DDoS攻击的同时还能促进客户机和服务器之间的数据连接。尽管本说明书可以应用于使用其他类型协议(诸如用户数据报协议(UDP))建立的连接,但是这些实施例将从TCP连接的角度进行描述。本说明书还可以应用于可在P2P网络中采用的协议(诸如eMule、BitTorrent、BitSPrit),以及本说明书还可以应用于服务协议,包括超文本传输协议(http)、超文本传输协议安全(https)、安全接壳(SSH)、电信网(Telnet)、文件传输协议(FTP)、以及各种版本的邮局协议(POP)。
图1是可以实现本文中所述的各系统和各方法的示例性P2P环境100的示图。环境100可以包括:在网络120上运行的对等网络中彼此连接的多个客户机110-1,...,110-M(其中M≥1)(统称为“各客户机110”,单独称为“客户机110”)、索引表130、攻击者140、应用程序服务器150、以及服务器应用程序160。尽管图1示出了特定数量和布置的设备,但是在其他实施例中,环境100可以包括其他的、较少的、不同的、和/或不同布置的设备。
客户机110可以包括终端用户的计算或通信设备,诸如台式计算机、膝上电脑、或移动通信设备(例如,移动电话或个人数字助理(PDA))。网络120可以包括任何类型的网络,诸如互联网、adhoc网、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网(例如,无线通信网或公共交换电话网(PSTN)),或各种网络的组合。索引表130可以是关于P2P网络运行的信息的任何表格或列表,包括数据库、电子数据表、表格、或链表。索引表130可以是中央索引表,诸如可以驻留在网络服务器上的中央索引表,或者索引表130可以是分布式索引表,诸如可以驻留在一台或多台客户机110中的分布式索引表。各客户机110可以经由有线和/或无线连接而连接至索引表130。
攻击者140可以包括终端用户的计算或通信设备,诸如台式计算机、膝上电脑、或移动通信设备(例如,移动电话或个人数字助理(PDA))。应用程序服务器150可以是可以执行客户机请求的一个或多个服务器应用程序160的应用程序服务器。服务器应用程序160可以是任何特定程序、软件、和/或可以由各客户机110访问的内容。各客户机110、攻击者140、以及应用程序服务器150都可以经由有线和/或无线连接而连接至P2P环境100。
在P2P环境100运行过程中,客户机110可以与另一客户机110和/或多个客户机110进行通信。典型的,P2P传输使用为P2P网络设计的传输协议,诸如eMule、BitTorrent、或BitSPrit。特定的传输协议可以与特定的数据类型相关联。在一个实施例中,各客户机110还可以与一台或多台应用程序服务器(包括应用程序服务器150)进行通信。客户机-服务器通信可以利用服务协议(包括http、https、SSH、Telnet、FTP、以及各种版本的POP)来进行。特定的服务协议可以与特定的数据类型相关联。各客户机110可以从索引表130获得特定应用程序的数据、特定内容的数据、和/或特定用户的数据。在一个实施例中,索引表130可以包括关键字、IP地址、以及源和/或目的端口号。例如,特定关键字可以识别特定P2P客户机的内容,而IP地址和端口号可以被其他P2P客户机使用来访问特定内容。
攻击者140也可以访问索引表120。在一个实施例中,攻击者140可以通过在索引表中放置数据而使索引表“中毒”,这引起许多客户机110使服务器150超负荷(下文中称为“受害服务器150”)。例如,攻击者140可以在许多P2P客户机希望访问的索引表120中放置信息。对于该实例,假设攻击者140在识别公众名人的图像内容的索引表120中放置一个项。进一步假设该特定名人图像内容的索引表项识别受害应用程序服务器150的IP地址和端口数据。对于该实例,假设受害服务器150和服务器应用程序160都没有由攻击者140放置的索引表项识别的内容。如果“中毒的”索引表项被许多客户机110访问,则那些客户机110会通过多次尝试访问在中毒的索引表项中识别的内容而无意地使受害服务器150超负荷。除了诸如名人图像的内容以外,其他的应用程序也会成为攻击者140攻击的目标。这种其他应用程序的实例可以包括实况播放的体育节目或新闻报导、软件应用程序、以及音乐和/或视频信号。为了在诸如P2P环境100的环境中保护服务器不受DDoS攻击,可以在每台服务器处安装和/或运行防火墙(未示出)。例如,防火墙可以允许在各客户机110和受害服务器150之间建立连接,而同时提供对DDoS攻击的防护。
为了有利于对本文说明书的理解,有利地大体描述了经由防火墙在客户机和服务器之间建立TCP连接。在TCP连接的建立期间,防火墙可以根据例如与服务器试图建立的连接数量而以两种模式中的一种来运行。第一种模式在本文中称作“标准模式”,其中,自由地与服务器建立TCP连接。第二种模式在本文中称作“攻击模式”,其中,在与服务器建立连接之前要仔细检查各TCP连接,这可能在具有大量客户机的P2P环境中是特别有用的。
图2是示出在标准模式期间建立TCP连接实例的示图。如图2所示,假设客户机110想要与应用程序服务器150建立TCP连接。客户机110可以通过向应用程序服务器150发送包括被设置为随机数x的序列号的同步(SYN)数据包来初始化TCP连接。防火墙210可以截取该SYN数据包并将该SYN数据包转发至应用程序服务器150。应用程序服务器150可以记录该序列号x并以确认(ACK)和SYN数据包(SYN/ACK)进行应答。ACK可以包括应用程序服务器150期望从客户机110接收的下一个序列号(例如,x+1)。来自应用程序服务器150的SYN可以包括其自己的序列号y。防火墙210可以截取SYN/ACK数据包并将该SYN/ACK数据包转发至客户机110。客户机110可以以ACK数据包来响应SYN/ACK数据包,其中,ACK数据包包括下一个序列号x+1,以及确认号y+1。防火墙210可以截取ACK数据包并将该ACK数据包转发至应用程序服务器150。SYN、SYN/ACK、和ACK的组合通常称为“三次握手”。三次握手用于在客户机110和应用程序服务器150之间建立TCP连接。
图3是示出在攻击模式期间建立TCP连接实例的示图。如图3所示,假设客户机110想要与服务器进行通信。客户机110可以通过向应用程序服务器150发送包括被设置为随机数x的序列号的SYN数据包来初始化TCP连接。防火墙210可以截取该SYN数据包并存储随机数x。防火墙210可以初始化SYN cookie过程以计算初始序列号(ISN)的特殊签名。防火墙210可以产生包括如ISN的特殊签名的SYN/ACK数据包,并可以向客户机110发送SYN/ACK数据包。客户机110可以以包括下一个序列号x+1和确认号ISN+1的ACK数据包对SYN/ACK数据包进行响应。
防火墙210可以截取ACK数据包并对ACK数据包进行分析以确定ACK数据包是否包括正确的序列号和确认号。如果这些号是防火墙210期望接收到的,则防火墙210可以通过向应用程序服务器150发送包括被设置为随机数x的序列号的SYN数据包来初始化与应用程序服务器150的TCP连接。应用程序服务器150可以接收SYN数据包并存储随机数x。应用程序服务器150可以以SYN/ACK数据包对SYN数据包进行应答。ACK可以包括应用程序服务器150期望接收到的下一个序列号(例如,x+1)。来自应用程序服务器150的SYN可以包括其自己的序列号y。防火墙210可以接收SYN/ACK数据包并以包括下一个序列号x+1,和确认号y+1的ACK数据包对SYN/ACK数据包进行响应。作为三次握手的结果,可以在客户机110和应用程序服务器150之间建立TCP连接。
在三次握手期间,客户机期望接收到关于服务器能力的信息,以使客户机不发送服务器不能处理的数据。如果服务器接收到其不能处理的数据,则服务器可以拒绝或中断TCP连接。从而,防火墙的益处是其在三次握手期间代表服务器将服务器的能力传达给客户机。
现有的防火墙代表服务器对客户机SYN数据包进行应答,而不知道其保护的服务器的能力。本文中描述的实施例可以在防火墙内累积关于该防火墙所保护的服务器(多台服务器)能力的信息。因此,防火墙可以包括关于与试图与服务器建立TCP连接的客户机的三次握手中服务器能力的信息。因此,当客户机在后来与服务器进行通信时,客户机可以仅发送服务器能够处理的数据。
图4是防火墙210的示例性部件的示图。如图4所示,防火墙210可以包括网络接口410、交换结构420、处理器430、以及存储器440。在另一实施例中,比起图4中所示的部件,防火墙210可以包括其他的、较少的、不同的、或不同布置的部件。
网络接口410可以包括到网络120的接口。网络接口410可以包括用于处理和/或缓冲从网络120接收到的数据单位或传输至网络120的数据单位的部件。本文中所使用的术语“数据单位”可以指数据包、数据报、或单元;数据包、数据报、或单元的片段;或其他类型或布置的数据。在一个实施例中,网络接口410可以连接至一组以太网链路。
交换结构420可以包括有利于到/来自网络接口410的数据单位的传输的交换平面(switching plane)。例如,交换结构420可以包括纵横交换机。在另一实施例中,交换结构420可以包括存储设备。在这种情况下,由网络接口410接收到的数据单位可以存储到存储设备中,并通过网络接口410从存储设备中读取用于传输,反之亦然。
处理器430可以包括可以截取以及执行指令的处理器、微处理器、或处理逻辑电路(例如,专用集成电路(ASIC)或现场可编程门阵列(FPGA))。处理器430可以使用例如可以存储在存储器440中的一组规则对数据单位进行处理。
存储器440可以包括随机存取存储器(RAM)或可以存储由处理器430执行的信息和指令的其他类型的动态存储设备;只读存储器(ROM)或可以存储由处理器430使用的静态信息和指令的其他类型的静态存储设备;和/或诸如闪存的可移动存储器。在一个实施例中,存储器440可以存储可以由处理器430执行的一组规则以确定是否允许客户机访问应用程序服务器150。
存储器440可以包括服务器档案数据库(server profile database)450。服务器档案数据库450可以存储关于应用程序服务器150能力的信息。在一个实施例中,服务器档案数据库450可以包括一个表,该表包括关于在应用程序服务器150上运行的特定应用程序(多个应用程序)的信息。例如,服务器档案数据库450可以包括一个表,该表包含将应用程序链接至相关联的传输协议的信息。
示例性防火墙运行模式
图5提供了示出用于保护应用程序服务器(特别是不受到P2P环境中的分布式拒绝服务攻击)的示例性过程500的流程图。过程500可以由一个防火墙(例如,防火墙210)、一组防火墙、或与一个防火墙或一组防火墙结合运行的设备执行。过程500可以由以攻击模式运行的防火墙来执行。
如图5所示,过程500可以以接收SYN数据包开始(框505)。例如,客户机110可以产生用于建立与应用程序服务器150的TCP连接的SYN数据包。客户机110可以向应用程序服务器150发送SYN数据包。在一个实施例中,客户机110可以向应用程序服务器150发送SYN数据包,以初始化请求访问应用程序160和/或请求来自应用程序的服务的过程。防火墙210可以截取SYN数据包。
一旦接收到来自客户机110的TCP SYN数据包,防火墙210就创建该数据包的cookie(框510)。在一个实施例中,防火墙210可以创建包括与发送SYN数据包的特定客户机110相关联的数据的cookie。例如,在创建cookie的过程中,防火墙210可以计算初始序列号(ISN)并产生特殊签名以用于SYN/ACK数据包中的ISN。
在另一个实施例中,防火墙210可以以不同的方式产生用于ISN的特殊签名。例如,防火墙210可以使用接收到的消息中的信息来产生特殊签名,这些接收到的消息包括例如SYN数据包,诸如源IP地址、目的IP地址、源端口号、目的端口号、和/或ISN。在一个实施例中,防火墙210可以通过散列接收到的消息中的信息来产生特殊签名。
SYN/ACK数据包可以被发送至客户机110(框515)。在一个实施例中,防火墙210可以代表应用程序服务器150准备SYN/ACK数据包。例如,防火墙210可以通过在用于向客户机110进行传输的链路上输出SYN/ACK数据包来将SYN/ACK数据包发送至客户机110。防火墙210接收来自客户机110的响应TCP ACK数据包(框520)。在接收来自客户机的响应TCP ACK数据包后,防火墙210可以确定是否请求了应用程序ACK(框525)。在一个实施例中,防火墙210可以从服务器档案数据库450获得关于应用程序服务器150和应用程序160的信息,以确定是否请求了应用程序ACK。例如,应用程序160可以是驻留在应用程序服务器150中的e-mail应用程序。进一步在该实例中,应用程序服务器150可以作为POP3服务器运行e-mail应用程序160。在该实例中,应用程序服务器150可能易受到诸如来自多个客户机110的传输的潜在DDoS攻击,其中,各客户机110没有以POP3进行传输。在该实例中,应用程序服务器150针对包括使用应用程序服务器150不支持的传输协议的SYN数据包和/或ACK数据包的DDoS攻击请求保护。
假设防火墙210已经确定需要应用程序ACK数据包以保护服务器140和应用程序160(框525-是)。防火墙210可以向客户机110发送应用程序ACK(框530)。在一个实施例中,应用程序ACK可以被看作是假ACK消息,其被设计用于触发来自客户机110的服务请求。例如,防火墙210可以在初始化与应用程序服务器150的三次握手过程之前向客户机110发送应用程序ACK。在向客户机110发送应用程序ACK之后,防火墙210可以接收来自客户机110的响应的服务请求(框535)。例如,一旦接收到应用程序ACK消息,客户机110就可以以符合应用程序服务器150的能力和/或请求(由客户机110提供)的数据类型来产生服务请求。在客户机110已经访问了中毒的索引表的情况中,客户机110可以发送与应用程序服务器150和/或应用程序160的档案不一致的服务请求。客户机110可以向应用程序服务器150发送服务请求,而防火墙210可以截取该服务请求。
防火墙210可以确定驻留在应用程序服务器150上的应用程序160没有请求向客户机110发送应用程序ACK(框525-否)。在一个实施例中,防火墙210可以什么都不做并且可以等待来自客户机110的服务请求。
一旦接收来自客户机110的服务请求,防火墙210就可以确定由客户机110请求的服务是否与由应用程序服务器150和应用程序160提供的服务相匹配(框540)。在一个实施例中,防火墙210可以检查包括从客户机110接收到的TCP ACK的数据类型和/或传输协议的上下文,以确定该服务请求上下文或数据类型是否与由应用程序160在应用程序服务器150处提供的上下文或数据模式相匹配。在一个实施例中,防火墙210可以从服务器档案数据库450获得关于应用程序服务器150和应用程序160的上下文和/或数据类型信息。在另一个实施例中,关于应用程序服务器150和应用程序160的上下文和/或数据类型信息可以存储到应用程序服务器150上的TCP栈。例如,应用程序服务器150可以包括TCP栈中的hook指针,其可以将防火墙210导向确定是否请求应用程序ACK以保护应用程序服务器150所需的位置和内容。
如果防火墙210确定了来自客户机110的服务请求与应用程序服务器150和/或应用程序160的上下文和/或请求不匹配(框540-否),则防火墙210可以丢弃包括在框505中接收到的SYN数据包和/或在框520中接收到的ACK数据包的数据包。在一个实施例中,丢弃数据包可以释放在框510中创建的cookie。在另一个实施例中,如果防火墙210确定来自客户机110的服务请求与应用程序服务器150和/或应用程序160的上下文和/或请求不匹配(框540-否),则防火墙210可以停止与客户机110的连接。
如果防火墙210确定来自客户机110的服务请求与应用程序服务器150和/或应用程序160的上下文和/或请求匹配(框540-是),则防火墙210可以开始与应用程序服务器150的三次握手。例如,防火墙210可以向应用程序服务器150发送SYN数据包(框545)。如果防火墙210已经确定没有请求应用程序ACK(框525-否),则防火墙210还可以向应用程序服务器150发送SYN数据包(框545)。在任一实例中,防火墙210都可以产生SYN数据包,并在SYN数据包中包括防火墙210通过与其客户机110一起执行的应用程序ACK/服务请求分析以及三次握手而得到的信息。在另一个实例中,防火墙210可以在SYN数据包中包括被编程到防火墙中的信息。在一个实施例中,SYN数据包可以包括关于客户机110的足够的信息,以允许对于服务器来说,SYN数据包看起来就像是从客户机110发送的。防火墙210可以通过在向应用程序服务器150传输的链路上输出SYN数据包来向应用程序服务器150发送SYN数据包。
防火墙210可以接收来自应用程序服务器150的SYN/ACK数据包(框550)。例如,一旦接收SYN数据包,应用程序服务器150就可以产生应用程序服务器150可以发送至客户机110的SYN/ACK数据包。防火墙210可以截取SYN/ACK数据包。对来自应用程序服务器150的SYN/ACK的接收可以表示应用程序服务器150已经接受了该连接。
防火墙210可以向应用程序服务器150发送ACK数据包(框555)。例如,一旦接收到SYN/ACK数据包,防火墙210就可以产生防火墙210可以发送至应用程序服务器150以继续TCP连接的建立的ACK数据包。在向应用程序服务器150发送ACK数据包后,防火墙210确定是否在框525中向客户机110发送了应用程序ACK(框560)。如果防火墙210确定在框525中向客户机110发送了应用程序ACK(框560-是),则防火墙210可以接收来自应用程序服务器150的应用程序ACK(框565)。
一旦接收到来自应用程序服务器150的应用程序ACK,防火墙210就可以在客户机110和应用程序服务器150之间建立TCP连接(框570)。在框525中确定没有发送应用程序ACK之后,防火墙210也可以在客户机110和应用程序服务器150之间建立TCP连接(框560-否)。
实例
图6是示出在客户机和服务器之间建立TCP连接的实例的示图。如图6所示,假设客户机想要建立与服务器的TCP连接,并且服务器受防火墙的保护。客户机可以产生SYN数据包,并将该SYN数据包传输至服务器(如(1)所示)。SYN数据包可以被防火墙截取。防火墙可以确定该SYN数据包与新TCP连接请求相关联。防火墙可以初始化SYN cookie操作以产生用于ISN的特殊签名。防火墙可以产生包括ISN的SYN/ACK数据包,并将该SYN/ACK数据包传输至客户机(如(2)所示)。
客户机可以接收SYN/ACK并产生ACK消息。客户机可以向服务器发送ACK数据包。ACK数据包可以被防火墙截取(如(3)所示)。如果防火墙确定服务器需要保护,防火墙可以对ACK数据包进行处理并产生应用程序ACK并将应用程序ACK发送至客户机。例如,如果服务器正作为POP3服务器托管(hosting)e-mail应用程序,则防火墙可以确定应该产生应用程序ACK并将其发送至客户机,以验证服务请求包括POP3协议。
防火墙可以产生可以由防火墙发送至客户机的应用程序ACK数据包(如(4)所示)。客户机可以接收来自防火墙的应用程序ACK,并发送服务请求(如(5)所示)。例如,来自客户机的服务请求可以包括对来自应用程序服务器的e-mail服务的请求。防火墙可以接收来自客户机的服务请求。防火墙可以对该服务请求进行分析以确定该服务请求是否与服务器的应用程序请求相匹配。例如,服务器可以作为POP3服务器运行e-mail应用程序。在该实例中,防火墙可以对服务请求进行分析以确定该服务请求的传输协议包括POP3。假设防火墙确定该服务器请求与服务器的应用程序请求相匹配。
防火墙可以向服务器发送SYN数据包(如(6)所示)。假设服务器接受了连接请求。因此,服务器可以产生可以由服务器发送至客户机的SYN/ACK数据包。该SYN/ACK数据包可以被防火墙截取(如(7)所示)。防火墙可以向服务器发送ACK数据包(如(8)所示)。
防火墙可以等待来自服务器的应用程序ACK(如(9)所示)。一旦接收到来自服务器的应用程序ACK,防火墙就可以将服务请求从客户机转发至服务器(如(10)所示)。在将服务请求从客户机转发至服务器之后,防火墙就可以在客户机和服务器之间建立TCP连接(如(11)所示)。
结论
本文中描述的各实施例可以通过提高防火墙的运行来提高对采用TCP通信的P2P网络中运行的服务器的防护。在执行了与客户机的三次握手之后,防火墙可以向客户机发送应用程序cookie,以初始化来自客户机的服务请求。因此,当客户机发送包括服务请求的初始传输时,防火墙可以检查服务请求。防火墙可以运行来确保服务请求符合服务器能力,并且在不符合的情况下丢弃该服务请求,从而减少服务请求作为分布式拒绝服务攻击一部分的可能性。
前述说明书提供了解释和说明,但是并不意在穷尽或将本发明限制为所公开的精确形式。可以按照上述教导进行各种改进和变化或可以通过实施本发明而获得各种改进和变化。
例如,尽管已经描述了关于图5至图6的方框序列,但是在其他的实施例中可以改变这些方框的顺序。此外,可以并行执行独立的方框。
此外,尽管术语“客户机”和“服务器”已经被用于指设备,但是这些设备还指在这些设备上运行的应用程序。术语“客户机设备”和“服务器设备”用于指设备但不指在这些设备上运行的应用程序。
显然,可以以附图中所示的各实施例中的软件、固件、和硬件的多种不同形式来实现本文中描述的各方面。用于实现这些方面的实际的软件代码或专用控制硬件不限于本文中描述的实施例。从而,没有参照特定的软件代码来描述各方面的操作和行为,应该理解,软件和控制硬件可以被设计为实现基于本文中的描述的各方面。
即使在权利要求书中引用和/或在说明书中公开了各特征的特定组合,但是这些组合并不旨在限制本发明的公开。事实上,这些特征中许多都可以以在权利要求书中未引用和/或在说明书中未公开的方式来组合。尽管下面所列的每个从属权利要求都可以直接只引用一个其他的权利要求,但是本发明的公开包括与权利要求书中每一其他权利要求组合的每一从属权利要求。
除非明确描述,本申请中使用的元件、动作、或指令都不应该被认为是本发明重要或关键的。此外,如本文中所使用的,冠词“一个(a)”旨在包括一个或多个项。而在旨在描述只有一个项目的情况下,使用术语“一个(one)”或类似语言。此外,除非以其他方式明确陈述,术语“基于”都旨在表达“至少部分地基于”。

Claims (20)

1.一种连接在客户机和服务器之间的设备,包括:
存储器,用于存储多个记录,所述多个记录之一包括涉及运行在所述服务器上的应用程序的信息;以及
处理器,连接至所述存储器,用于:
接收来自所述客户机的第一消息,所述第一消息意图发向所述服务器;
响应于所述第一消息产生第二消息;
将所述第二消息发送至所述客户机;
接收来自所述客户机的第三消息;
响应于所述第三消息访问所述存储器,以获得涉及运行在所述服务器上的应用程序的所述信息;
响应于获得的所述信息产生第四消息,所述第四消息包括涉及运行在所述服务器上的所述应用程序的所述信息;
将所述第四消息发送至所述客户机;
响应于所述第四消息接收来自所述客户机的服务请求;以及
基于所述服务请求,在所述客户机和所述服务器之间建立连接。
2.根据权利要求1所述的设备,其中,所述第一消息是同步(SYN)消息,所述第二消息是同步(SYN)/确认(ACK)(SYN/ACK)消息,所述第三消息是ACK消息,以及所述第四消息是应用程序ACK消息。
3.根据权利要求1所述的设备,其中,存储在所述存储器中的涉及运行在所述服务器上的所述应用程序的所述消息包括一个值,所述值涉及传输协议、服务协议、数据类型、或应用程序关键字中的至少一个。
4.根据权利要求1所述的设备,其中,所述设备是连接在所述客户机和所述服务器之间的防火墙。
5.根据权利要求1所述的设备,其中,当在所述客户机和所述服务器之间建立所述连接时,所述处理器配置为:
将第五消息发送至所述服务器;
接收来自所述服务器的第六消息;以及
将第七消息发送至所述服务器并发送至所述客户机,以建立所述连接。
6.根据权利要求5所述的设备,其中,所述第五消息是同步(SYN)消息,所述第六消息是同步(SYN)+确认(ACK)(SYN/ACK)消息,以及所述第七消息是ACK消息。
7.根据权利要求5所述的设备,其中,所述处理器进一步配置为:
接收来自所述服务器的第八消息;
基于所述第八消息,将来自所述客户机的所述服务请求转发至所述服务器;以及
基于所述服务请求,在所述客户机和所述服务器之间建立连接。
8.根据权利要求1所述的设备,其中,所述设备连接至多个服务器,并且其中,所述存储器中的所述多个记录中的每一个都存储涉及运行在所述多个服务器之一上的应用程序的信息。
9.根据权利要求1所述的设备,其中,所述设备进一步包括:
传输控制协议(TCP)栈;以及
hook指针,由所述TCP栈提供,用于引导所述处理器对涉及运行在所述服务器上的所述应用程序的信息进行定位。
10.一种方法,包括:
在存储器中存储涉及运行在服务器上的应用程序的信息;
在网络上截取来自客户机的同步(SYN)消息,所述同步(SYN)消息意图发向所述服务器;
产生SYN/确认(ACK)(SYN/ACK)消息;
将所述SYN/ACK消息传输至所述客户机;
在所述网络上接收来自所述客户机的ACK消息;
识别所述存储器中的涉及运行在所述服务器上的所述应用程序的所述信息;
基于识别涉及运行在所述服务器上的所述应用程序的所述信息产生应用程序ACK消息,所述应用程序ACK消息包括涉及运行在所述服务器上的所述应用程序的所述信息;
将所述应用程序ACK消息传输至所述客户机;
响应于所述应用程序ACK消息接收来自所述客户机的服务请求;以及
基于所述服务请求确定是否在所述客户机和所述服务器之间建立连接。
11.根据权利要求10所述的方法,其中,存储涉及运行在所述服务器上的所述应用程序的所述信息包括存储一个值,所述值涉及传输协议、服务协议、数据类型、或应用程序关键字中的至少一个。
12.根据权利要求10所述的方法,其中,存储涉及运行在所述服务器上的所述应用程序的所述信息包括TCP栈中的hook指针。
13.根据权利要求10所述的方法,其中,所述方法由连接在所述客户机和所述服务器之间的防火墙来执行。
14.根据权利要求10所述的方法,进一步包括:
将第二SYN消息传输至所述服务器;
接收来自所述服务器的第二SYN/ACK消息;以及
将第二ACK消息传输至所述服务器以在所述客户机和所述服务器之间建立所述连接。
15.根据权利要求10所述的方法,进一步包括:
接收来自所述服务器的第二应用程序ACK消息;
基于所述第二应用程序ACK消息,将来自所述客户机的所述服务请求转发至所述服务器;以及
基于所述服务请求,确定是否在所述客户机和所述服务器之间建立连接。
16.根据权利要求10所述的方法,进一步包括:
访问hook指针。
17.一种连接在客户机和服务器之间的设备,包括:
用于在三次握手期间监控由所述服务器提供的信息的装置;
用于将所述信息作为涉及运行在所述服务器上的应用程序的信息来存储的装置;
用于接收来自所述客户机的请求以建立与所述服务器的连接的装置;
用于代表所述服务器执行与所述客户机的三次握手的装置;
用于基于涉及运行在所述服务器上的应用程序的所述信息产生应用程序ACK消息的装置;
用于将所述应用程序ACK消息传输至所述客户机的装置,其中,在所述应用程序ACK消息中提供涉及运行在所述服务器上的所述应用程序的所述信息;
用于响应于所述应用程序ACK消息接收来自所述客户机的服务请求的装置;
用于在与所述客户机的所述三次握手成功时执行与所述服务器的三次握手的装置;
用于将所述服务请求转发至所述服务器的装置;以及
用于基于所述服务请求在所述客户机和所述服务器之间建立所述连接的装置。
18.根据权利要求17所述的设备,其中,与所述客户机的所述三次握手包括同步(SYN)消息、同步(SYN)/确认(ACK)(SYN/ACK)消息、以及ACK消息。
19.根据权利要求17所述的设备,其中,涉及运行在所述服务器上的所述应用程序的所述消息包括一个值,所述值涉及传输协议、服务协议、数据类型、或应用程序关键字中的至少一个。
20.根据权利要求17所述的设备,其中,所述设备是连接在所述客户机和所述服务器之间的防火墙。
CN200910127134.9A 2009-03-13 2009-03-13 对分布式拒绝服务攻击的服务器防护 Active CN101834833B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN200910127134.9A CN101834833B (zh) 2009-03-13 2009-03-13 对分布式拒绝服务攻击的服务器防护
US12/421,962 US8650631B2 (en) 2009-03-13 2009-04-10 Server protection from distributed denial of service attacks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910127134.9A CN101834833B (zh) 2009-03-13 2009-03-13 对分布式拒绝服务攻击的服务器防护

Publications (2)

Publication Number Publication Date
CN101834833A true CN101834833A (zh) 2010-09-15
CN101834833B CN101834833B (zh) 2014-12-24

Family

ID=42718765

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910127134.9A Active CN101834833B (zh) 2009-03-13 2009-03-13 对分布式拒绝服务攻击的服务器防护

Country Status (2)

Country Link
US (1) US8650631B2 (zh)
CN (1) CN101834833B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014173365A1 (zh) * 2013-08-20 2014-10-30 中兴通讯股份有限公司 Ftp的应用层报文过滤方法及装置、计算机存储介质
CN105791239A (zh) * 2014-12-24 2016-07-20 中国科学院声学研究所 一种tcp中间人处理方法
CN106302495A (zh) * 2016-08-25 2017-01-04 北京神州绿盟信息安全科技股份有限公司 一种ACK Flood攻击的防护方法及中间防护装置
CN106534068A (zh) * 2016-09-29 2017-03-22 广州华多网络科技有限公司 一种ddos防御系统中清洗伪造源ip的方法和装置
CN107104919A (zh) * 2016-02-19 2017-08-29 华为技术有限公司 防火墙设备、流控制传输协议sctp报文的处理方法
CN107277035A (zh) * 2017-07-05 2017-10-20 北京信息职业技术学院 一种在tcp连接阶段传递客户端信息的方法
CN108848196A (zh) * 2018-09-25 2018-11-20 四川长虹电器股份有限公司 一种基于tcp连接数的通用业务监控方法
CN109309647A (zh) * 2017-07-27 2019-02-05 华为技术有限公司 一种传输协议的协商方法、装置及系统
CN114500021A (zh) * 2022-01-18 2022-05-13 神州绿盟成都科技有限公司 一种攻击检测方法、装置、电子设备及存储介质
CN114978643A (zh) * 2022-05-13 2022-08-30 北京天融信网络安全技术有限公司 一种通信方法、网络设备及存储介质

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101263329B1 (ko) * 2009-12-02 2013-05-16 한국전자통신연구원 네트워크 공격 방어 장치 및 방법, 이를 포함한 패킷 송수신 처리 장치 및 방법
US9083586B2 (en) * 2011-03-22 2015-07-14 Cisco Technology, Inc. Verifying availability and reachability through a network device
US8949459B1 (en) 2011-10-06 2015-02-03 Amazon Technologies, Inc. Methods and apparatus for distributed backbone internet DDOS mitigation via transit providers
CN102594623B (zh) * 2011-12-31 2015-07-29 华为数字技术(成都)有限公司 防火墙的数据检测方法及装置
US9742732B2 (en) * 2012-03-12 2017-08-22 Varmour Networks, Inc. Distributed TCP SYN flood protection
US9027129B1 (en) * 2012-04-30 2015-05-05 Brocade Communications Systems, Inc. Techniques for protecting against denial of service attacks
US8887280B1 (en) * 2012-05-21 2014-11-11 Amazon Technologies, Inc. Distributed denial-of-service defense mechanism
CN102946387B (zh) * 2012-11-01 2016-12-21 惠州Tcl移动通信有限公司 一种防御拒接服务攻击的方法
US8973143B2 (en) * 2013-01-28 2015-03-03 The Barrier Group, Llc Method and system for defeating denial of service attacks
WO2014176461A1 (en) * 2013-04-25 2014-10-30 A10 Networks, Inc. Systems and methods for network access control
US9973472B2 (en) 2015-04-02 2018-05-15 Varmour Networks, Inc. Methods and systems for orchestrating physical and virtual switches to enforce security boundaries
US9525697B2 (en) 2015-04-02 2016-12-20 Varmour Networks, Inc. Delivering security functions to distributed networks
US9483317B1 (en) 2015-08-17 2016-11-01 Varmour Networks, Inc. Using multiple central processing unit cores for packet forwarding in virtualized networks
US11533372B2 (en) * 2021-03-31 2022-12-20 Google Llc Proxyless protocol

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5941988A (en) * 1997-01-27 1999-08-24 International Business Machines Corporation Session and transport layer proxies via TCP glue
US7908472B2 (en) * 2001-07-06 2011-03-15 Juniper Networks, Inc. Secure sockets layer cut through architecture
JP4434551B2 (ja) * 2001-09-27 2010-03-17 株式会社東芝 サーバー計算機保護装置、サーバー計算機保護方法、サーバー計算機保護プログラム及びサーバー計算機
CN1251446C (zh) * 2002-07-18 2006-04-12 华为技术有限公司 一种防御网络传输控制协议同步报文泛滥攻击的方法
US7664855B1 (en) * 2004-05-05 2010-02-16 Juniper Networks, Inc. Port scanning mitigation within a network through establishment of an a prior network connection
IES20050376A2 (en) * 2005-06-03 2006-08-09 Asavie R & D Ltd Secure network communication system and method
US20070192845A1 (en) * 2006-02-07 2007-08-16 Xoom Corporation System and method for passively detecting a proxy
US8214635B2 (en) * 2006-11-28 2012-07-03 Cisco Technology, Inc. Transparent proxy of encrypted sessions
US20080189781A1 (en) * 2007-02-02 2008-08-07 Sharp Laboratories Of America, Inc. Remote management of electronic devices
US8347374B2 (en) * 2007-11-15 2013-01-01 Red Hat, Inc. Adding client authentication to networked communications
US8789149B2 (en) * 2007-12-20 2014-07-22 The Directv Group, Inc. Method and apparatus for communicating between a user device and a user device locating module to allow a partner service to be provided to a user device

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2641233C2 (ru) * 2013-08-20 2018-01-16 ЗетТиИ Корпорейшн Способ, устройство и машиночитаемый носитель данных для зависящей от приложения фильтрации пакетов протокола передачи файлов
CN104426837A (zh) * 2013-08-20 2015-03-18 中兴通讯股份有限公司 Ftp的应用层报文过滤方法及装置
CN104426837B (zh) * 2013-08-20 2019-09-13 南京中兴新软件有限责任公司 Ftp的应用层报文过滤方法及装置
WO2014173365A1 (zh) * 2013-08-20 2014-10-30 中兴通讯股份有限公司 Ftp的应用层报文过滤方法及装置、计算机存储介质
US10110557B2 (en) 2013-08-20 2018-10-23 Zte Corporation FTP application layer packet filtering method, device and computer storage medium
CN105791239A (zh) * 2014-12-24 2016-07-20 中国科学院声学研究所 一种tcp中间人处理方法
CN105791239B (zh) * 2014-12-24 2019-01-25 中国科学院声学研究所 一种tcp中间人处理方法
CN107104919A (zh) * 2016-02-19 2017-08-29 华为技术有限公司 防火墙设备、流控制传输协议sctp报文的处理方法
CN107104919B (zh) * 2016-02-19 2020-06-02 华为技术有限公司 防火墙设备、流控制传输协议sctp报文的处理方法
CN106302495A (zh) * 2016-08-25 2017-01-04 北京神州绿盟信息安全科技股份有限公司 一种ACK Flood攻击的防护方法及中间防护装置
CN106534068B (zh) * 2016-09-29 2023-12-22 广州华多网络科技有限公司 一种ddos防御系统中清洗伪造源ip的方法和装置
CN106534068A (zh) * 2016-09-29 2017-03-22 广州华多网络科技有限公司 一种ddos防御系统中清洗伪造源ip的方法和装置
CN107277035A (zh) * 2017-07-05 2017-10-20 北京信息职业技术学院 一种在tcp连接阶段传递客户端信息的方法
CN107277035B (zh) * 2017-07-05 2020-04-07 北京信息职业技术学院 一种在tcp连接阶段传递客户端信息的方法
CN109309647A (zh) * 2017-07-27 2019-02-05 华为技术有限公司 一种传输协议的协商方法、装置及系统
CN109309647B (zh) * 2017-07-27 2021-07-09 华为技术有限公司 一种传输协议的协商方法、装置及系统
CN108848196B (zh) * 2018-09-25 2021-01-26 四川长虹电器股份有限公司 一种基于tcp连接数的通用业务监控方法
CN108848196A (zh) * 2018-09-25 2018-11-20 四川长虹电器股份有限公司 一种基于tcp连接数的通用业务监控方法
CN114500021A (zh) * 2022-01-18 2022-05-13 神州绿盟成都科技有限公司 一种攻击检测方法、装置、电子设备及存储介质
CN114978643A (zh) * 2022-05-13 2022-08-30 北京天融信网络安全技术有限公司 一种通信方法、网络设备及存储介质
CN114978643B (zh) * 2022-05-13 2023-08-29 北京天融信网络安全技术有限公司 一种通信方法、网络设备及存储介质

Also Published As

Publication number Publication date
US8650631B2 (en) 2014-02-11
CN101834833B (zh) 2014-12-24
US20100235902A1 (en) 2010-09-16

Similar Documents

Publication Publication Date Title
CN101834833B (zh) 对分布式拒绝服务攻击的服务器防护
EP3481029B1 (en) Internet defense method and authentication server
CN101764799B (zh) 利用服务器能力配置文件建立连接
CN101180826B (zh) 较高级协议认证
EP3720100A1 (en) Service request processing method and device
US20180159825A1 (en) Network host provided security system for local networks
US20100281159A1 (en) Manipulation of dhcp packets to enforce network health policies
US20070300304A1 (en) SIP washing machine
US7404210B2 (en) Method and apparatus for defending against distributed denial of service attacks on TCP servers by TCP stateless hogs
US8973143B2 (en) Method and system for defeating denial of service attacks
CN113746788A (zh) 一种数据处理方法及装置
Frey et al. Security for the industrial IoT: The case for information-centric networking
Jeyanthi Internet of things (iot) as interconnection of threats (iot)
US9742797B2 (en) Method for incorporating network port hopping with minimal or no impact to underlying systems
Metongnon et al. Fast and efficient probing of heterogeneous IoT networks
Liu et al. Performance study of 802.11 w for preventing DoS attacks on wireless local area networks
CN102510386B (zh) 分布式攻击阻止方法及装置
WO2015152869A1 (en) Redirecting connection requests in a network
US10630717B2 (en) Mitigation of WebRTC attacks using a network edge system
Akhter et al. Modeling DDoS Attacks with IP Spoofing and Hop-Count Defense Measure Using OPNET Modeler
CN112565309B (zh) 报文处理方法、装置、设备以及存储介质
Yang Introduction to TCP/IP network attacks
US11683327B2 (en) Demand management of sender of network traffic flow
CN107896233B (zh) 一种sctp流数据管理方法、系统及设备
Rothenpieler Distributed Protocol Stacks for Wireless Sensor Networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: California, USA

Applicant after: Juniper Networks, Inc.

Address before: California, USA

Applicant before: Jungle network

CB02 Change of applicant information
COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: NETSCREEN TECHNOLOGIES INC. TO: JUNIPER NETWORKS INC.

C14 Grant of patent or utility model
GR01 Patent grant