CN108809923A - 在检测DDoS攻击时的流量过滤的系统和方法 - Google Patents
在检测DDoS攻击时的流量过滤的系统和方法 Download PDFInfo
- Publication number
- CN108809923A CN108809923A CN201710835292.4A CN201710835292A CN108809923A CN 108809923 A CN108809923 A CN 108809923A CN 201710835292 A CN201710835292 A CN 201710835292A CN 108809923 A CN108809923 A CN 108809923A
- Authority
- CN
- China
- Prior art keywords
- network node
- data
- danger classes
- filter
- computing device
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000001914 filtration Methods 0.000 title claims abstract description 31
- 230000005540 biological transmission Effects 0.000 claims abstract description 137
- 230000008859 change Effects 0.000 claims abstract description 37
- 230000004044 response Effects 0.000 claims abstract description 26
- 238000003860 storage Methods 0.000 claims abstract description 13
- 238000005516 engineering process Methods 0.000 abstract description 6
- 230000015572 biosynthetic process Effects 0.000 abstract 1
- 230000000903 blocking effect Effects 0.000 description 20
- 230000006870 function Effects 0.000 description 7
- 230000001960 triggered effect Effects 0.000 description 5
- 238000006424 Flood reaction Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000002265 prevention Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
- 230000005612 types of electricity Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/30—Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
- H04L63/306—Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information intercepting packet switched data communications, e.g. Web, Internet or IMS communications
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种在检测DDoS攻击时的流量过滤的系统和方法。本发明涉及用于过滤网络流量以保护服务器免受分布式拒绝服务(DDoS)攻击的系统、方法和具有用于过滤网络流量以保护服务器免受分布式拒绝服务(DDoS)攻击的指令的计算机可读存储介质。所描述的技术包括:响应于检测到计算设备经受DDoS攻击,拦截从网络节点到所述计算设备的数据。该技术还包括:基于拦截的所述数据确定一个或多个数据传输参数,将危险等级分配给所述网络节点,基于过滤器的应用以及所述数据传输参数改变所述网络节点的所述危险等级。如果所述网络节点的形成的危险等级超过阈值,则所描述的技术限制从所述网络节点到所述计算设备的数据的传输。
Description
技术领域
本发明涉及网络安全的领域,以及更具体地涉及在检测DDoS攻击时的流量过滤的系统和方法。
背景技术
保护计算机设备(尤其包含服务器软件或任一其它软件的那些计算机设备,该服务器软件或任一其它软件的不间断的且稳定的操作是高度重要的)的问题目前刻不容缓。网络主机、银行服务器、或任何其它服务器(通过因特网获得对其的访问权)是分布式拒绝服务(Distributed Denial of Service,DDoS)攻击的潜在目标。这类攻击经常借助僵尸网络(受黑客远程控制的多个计算机设备)来进行且导致显著延迟,以及有时导致来自任何其它计算机设备的服务器处理请求(诸如超文本传输协议(Hypertext Transfer Protocol,HTTP)请求)的整体失败。
存在各种保护服务器免受DDoS攻击的方法。在大多数情况下,这些方法涉及分析到达服务器的流量以便在服务器的进入流量中检测DDoS攻击的标记,以及随后还阻止为DDoS攻击的特性的流量。
尽管从现有技术已知的方法旨在解决本领域中保护计算机设备免受DDoS攻击的问题,但是这些方法没有完全解决流量过滤的问题。
发明内容
因此,本发明实现对在DDoS攻击期间的流量过滤的问题的更有效的解决方案。
本发明的示例性方面提供了一种用于过滤网络流量以保护服务器免受DDoS攻击的方法。在一个示例性方面中,所述方法包括:响应于检测到计算设备经受DDoS攻击,拦截从网络节点到所述计算设备的数据。所述方法还包括:基于拦截的所述数据确定一个或多个数据传输参数,将危险等级分配给所述网络节点,基于过滤器的应用以及所述数据传输参数改变所述网络节点的所述危险等级。所述方法还包括:响应于确定所述网络节点的所述危险等级超过阈值,限制从所述网络节点到所述计算设备的数据的传输。
在另一个示例性方面中,将所述初始危险等级分配给所述网络节点还包括:根据存储已知网络节点的危险等级的数据库以及所述网络节点的网络地址,将所述危险等级分配给所述网络节点。
在另一个示例性方面中,所述方法包括:基于限制从所述网络节点到所述计算设备的所述数据的传输的时间段,更新在所述数据库中存储的危险等级。
在另一个示例性方面中,所述方法包括:响应于所述过滤器的到期,使对所述网络节点的所述危险等级的改变还原;以及,响应于确定所述网络节点的所述危险等级不再超过所述阈值,取消对从所述网络节点到所述计算设备的所述数据的传输的限制。
在另一个示例性方面中,所述方法包括:响应于检测到基于所述数据传输参数的所述过滤器的重复触发,延长所述过滤器的有效期限。
在另一个示例性方面中,基于所述过滤器的应用以及所述数据传输参数改变所述网络节点的所述危险等级还包括:基于确定与所述过滤器相关联的标准被所述数据传输参数满足,提高所述网络节点的所述危险等级。
在另一个示例性方面中,限制从所述网络节点到所述计算设备的所述数据的传输还包括:基于所述网络节点的所述危险等级超出所述阈值的程度,限制所述网络节点与所述计算设备之间的信道容量。
根据本发明的另一个示例性方面,提供了一种用于过滤网络流量以保护服务器免受DDoS攻击的系统。所述系统包括存储一个或多个过滤器的存储设备、以及处理器。所述处理器配置成:响应于检测到计算设备经受DDoS攻击,拦截从网络节点到所述计算设备的数据。所述处理器还配置成:基于拦截的所述数据确定一个或多个数据传输参数,将危险等级分配给所述网络节点,基于过滤器的应用以及所述数据传输参数改变所述网络节点的所述危险等级。所述处理器还配置成:响应于确定所述网络节点的所述危险等级超过阈值,限制从所述网络节点到所述计算设备的数据的传输。
根据另一个示例性方面,提供了一种计算机可读介质,其包括多个指令,这些指令包括用于执行本文中所公开的方法中的任一方法的计算机可执行指令。
以上对示例性方面的简要概述用于提供对本发明的基本理解。该概述不是对所有预期方面的广泛综述,并且既不旨在标识所有方面的关键的或主要的要素,也不旨在勾画本发明的任何方面或所有方面的范围。该概述的唯一目的是以简化的形式呈现一个或多个方面,作为随后的对本发明的更详细的描述的前奏。为了实现前述内容,本发明的一个或多个方面包括在权利要求中所描述的且示例性指出的特征。
附图说明
并入本说明书中并构成本说明书的一部分的附图示出了本发明的一个或多个示例性方面,以及连同详细的描述一起用来阐述这些示例性方面的原理和实现方式。
图1示出根据示例性方面的用于在检测DDoS攻击时的流量过滤的系统的框图。
图2A示出绘制了网络节点的危险等级在使用多个过滤器时随着时间的变化的图。
图2B示出根据示例性方面的绘制了网络节点的危险等级在DDoS攻击中涉及该网络节点时的变化的图。
图3A至图3B示出根据示例性方面的在检测DDoS攻击时的流量过滤的方法的流程图。
图3C示出根据另一示例性方面的在检测DDoS攻击时的流量过滤的方法的流程图。
图4示出根据示例性方面的其上可实施所公开的系统和方法的通用计算机系统的框图。
具体实施方式
本文中在用于在检测DDoS网络攻击时过滤网络流量的系统、方法和计算机程序产品的背景下描述示例性方面。本领域的普通技术人员将认识到,以下描述仅仅是说明性的,而不旨在以任何方式进行限制。其它方面将很容易将其自身暗示给了解本发明的优点的本领域的技术人员。现在将详细地参考如附图中所示的示例性方面的实现方式。贯穿附图和以下描述将尽可能地使用相同的附图标记来指代相同或类似的项目。
本发明中的在检测DDoS攻击时的流量过滤的系统可以通过真实的设备、系统、部件、和部件组来实现,这些设备、系统、部件、和部件组利用硬件(诸如集成微电路(专用集成电路,ASIC)或现场可编程门阵列(FPGA))或例如以软件和硬件的组合(诸如微处理器系统和一组程序指令、以及神经突触芯片)的形式来实现。这类系统构件的功能可以仅仅通过硬件、以及以组合的形式来实现,其中,系统构件的一些功能通过软件来实现,以及一些功能通过硬件来实现。在特定变型实施方式中,可以在通用计算机(诸如在图4中所示的通用计算机)的处理器上执行一些或全部构件。系统部件可以在单一计算设备内实现或散布在多个互连计算设备之中。
网络节点在本文中用于描述电子设备(包括计算设备),该电子设备连接到数据传输网络(诸如因特网)且能够通过该网络发送数据。网络节点的示例可以为:个人计算设备、移动计算设备、服务器、网络路由器和交换机、或能够通过数据传输网络发送数据的任何其它设备(诸如IP照相机、电视机、冰箱、IoT(物联网)设备等)。
被发送的数据的参数在本文中用于描述由网络节点发送的数据的信息特性,包括数据传输中涉及的网络节点本身的信息特性。被发送的数据的参数可以为来自传输的数据包的数据头的数据(在堆栈模型TCP/IP或OSI/ISO的多层中的任一层上)、以及数据包的频率特性(例如,在一秒中传输的TCP包的数量),上述数据包包括具有相同内容的数据包。传输的数据的参数的示例至少为:网络节点的IP地址、用于数据传输的网络节点的网络端口、网络节点的媒体访问控制(mac)地址、(例如每时间单位)传输的数据的HTTP包的集合、传输的数据的TCP包的集合、传输的数据的IP包的集合、任何其它数据传输协议的包的集合、在网络节点与计算设备之间建立的连接的数量、每秒传输的POST请求的数量、建立的TCP连接的数量、以及前述参数的衍生物。
网络节点的危险等级在本文中用于描述从网络节点发送到计算设备的数据被用于进行DDoS攻击的可能性。在一些示例性方面中,危险等级可以被表示为量值或数值,例如,数额越高,可能性越高。网络节点的危险等级可以通过将至少一个过滤器应用于被发送数据的参数而改变。过滤器为可以以规则的形式来实现的软件部件,该规则连同大量标准对应于一组动作,诸如改变网络节点的危险等级,如果被发送数据的参数满足过滤器的标准,则进行该组动作。借助过滤器对网络节点的危险等级的每次变化具有其自身的有效期限,在该有效期限到期时取消该变化。
图1示出根据示例性方面的用于在检测DDoS攻击时的流量过滤的系统110的框图以及与该系统110有关的实体,这些实体为:网络节点101、经受DDoS攻击的计算设备140、以及数据传输网络105,网络节点101将借助该数据传输网络105将数据发送到计算设备140。流量过滤系统110包括拦截模块120、通信地连接到拦截模块120的等级确定模块125、通信地连接到等级确定模块125的网络节点的数据库135、以及通信地连接到等级确定模块125的阻止模块130。尽管本发明具体地描述了用于在检测DDoS攻击时的流量过滤的系统,但是应当理解,本发明的方面可以被扩展到常规拒绝服务(Denial of Service,DoS)攻击、或甚至其它形式的网络攻击。
计算设备140为经受DDoS攻击的计算设备(即,受执行DDoS攻击的多个网络节点攻击)。系统110可以配置成使用多种多样的检测拒绝服务攻击的已知技术(包括基于对由计算设备140借助数据传输网络105接收的数据的分析)来检测:计算设备140经受DDoS攻击。在通常情况下,计算设备140可以为连接到数据传输网络105的任一给定计算设备。在一个示例性方面中,计算设备140为服务器、或将服务提供给另一处理器的处理器,诸如网络服务器、电子邮件服务器或文件传输(ftp)服务器。在另一个示例性方面中,计算设备140为个人计算设备(包括移动计算设备)。
为了简化阐述,网络节点101可以为个人计算设备,例如个人计算机(然而,在陈述概括的背景下,该个人计算机具有在术语“网络节点”的定义中的所有属性和数据)。
网络节点101可以借助数据传输网络105、以及流量过滤系统110的部件通信地连接到计算设备140(即,与计算设备140交换数据)。在通常情况下,网络节点101可以借助网络105(例如,该网络105可以包括大量数据传输设备)直接(如103所表示)通信地连接到计算设备140。然而,在对计算设备140的DDoS攻击的状况下,传输到设备140的数据,使用用于重定向网络流量的任何一种已知方法(诸如更换路由表),而被重定向(如104所表示)到过滤设备,即,被重定向到流量过滤系统110。因此,由网络节点101传输到计算设备140的所有数据首先到达流量过滤系统110。在一些方面中,从计算设备140发送到网络节点101的数据也首先到达系统110。
在通常情况下,一组网络节点101可以同时将数据传输到计算设备140(以及相应地等待并接收来自设备140的应答)。但是,如果检测到计算设备140经受DDoS攻击(如上所述,借助任一合适方法),则将数据发送到设备140的某些网络节点可能参与该攻击,以及其它网络节点可能没有参与。在这类情况下,系统110的任务是阻止(或至少限制)用于攻击的数据的传输。出于后续分析被传输数据和后续保护设备140免受用于DDoS攻击的数据的传输的目的,本发明考虑网络节点101与计算设备140之间的数据交换,即,通过限制由网络节点101向计算设备140传输数据。应当注意,此处和下文的数据传输不仅指特定信息(诸如http请求中的信息)的传输、而且还指数据的任一传输,包括为了建立连接以及执行DDoS攻击的数据传输(因为大量发送的普通请求经常用于执行DDoS攻击)。为了在网络节点101的部分上执行DDoS攻击,数据传输可以假设例如如下形式:HTTP泛洪(即,在相对短的时间间隔期间的大量数据的传输);ICMP(互联网控制消息协议)泛洪;UDP(用户数据报协议)泛洪;和SYN(即,TCP交换的同步消息)泛洪等等。
在一个示例性方面中,拦截模块120可以配置成拦截来自网络节点101的数据(即,被传输的数据)到达计算设备140。为了执行拦截,在一个示例性方面中,拦截模块120可以以路由器或代理服务器的形式来实现,从而模块120获得对从网络节点101发送到计算设备140的所有数据的访问权。此后,拦截模块120确定被发送数据的参数。在一个示例性方面中(除了上文已指示的数据参数的示例以外),拦截模块120可以确定被传输数据的如下参数:
·网络节点101的IP地址;
·每秒传输的SYN包的数量;
·每秒建立的TCP连接的数量;
·建立的TCP连接的数量;
·每秒传输的字节的数量;
·每秒传输的数据包的数量;
·每秒传输的GET请求的数量;
·每秒传输的POST请求的数量;
·每秒传输的HEAD请求的数量;
·每秒(借助TLS/SSL)建立的受保护连接的数量;
·每秒传输的其它http请求(除了GET、POST和HEAD以外)的总数量;
·被网络节点101访问的URL;
·每秒发送到前述URL的请求的数量;
·发送到计算设备140的请求的总数量;
·用户代理数据头请求的唯一值的数量与发送到计算设备140的请求的总数量的比值。
被传输数据的每个参数通过数据传输协议来表征,在该数据传输协议内确定该参数(例如,对于每秒传输的SYN包的数量,其内确定该数量的协议为TCP)。在数据传输的拦截期间所确定的被传输数据的参数被拦截模块120发送到等级确定模块125。应当注意,被传输数据的参数可以基于在特定时间间隔内发送的数据来确定:对于每秒发送的数据包的数量,例如,可以计算10秒、20秒或30秒中的数据包的总量,以及将数据包的该量除以期间确定数据包的上述数量的秒数。在一些示例性方面中,代替关于给定时间间隔中的特定量的值的参数(诸如每秒发送的数据包的数量),拦截模块120可以确定被发送数据的多个参数:在10秒内计数的每秒发送的数据包的数量;10秒中的数据包的数量除以10;在20秒内计数的每秒发送的数据包的数量;以及相应地,在30秒内计数的每秒发送的数据包的数量。在这类情况下,枚举的所传输数据的各个参数是单独的、独立的参数。在另一个示例性方面中,拦截模块120可以计算与每时间单位的特定事件(诸如请求的传输、字节的传输、TCP连接的建立)的数量(诸如每秒发送的数据包的数量或每秒的GET请求的数量)(换言之,速率)相关的数据传输的参数,这基于令牌桶算法来完成:确定给定规格的缓存器(“桶规格”,通过上述事件的数量来计算,该上述事件为数据包、请求、GET请求等的传输等),将速率确定为桶规格与用于填充该桶的时间的比值。用于填充该桶的时间为发生等于桶的规格的大量事件所经历的时间。
等级确定模块125可以配置成确定网络节点101的危险等级。为了执行网络节点的危险等级的确定,等级确定模块125执行至少两个步骤:通过网络节点的数据库135分配网络节点的危险等级,以及基于如由拦截模块120传输的被发送数据的参数来改变网络节点的危险等级。
为了将网络节点的危险等级分配给将数据发送到计算设备140的对应网络节点101,确定模块125向网络节点的数据库135进行请求,该请求至少包含网络节点101的IP地址。响应于该请求,网络节点的数据库135向等级确定模块125返回网络节点101的IP地址所对应的网络节点的危险等级,诸如10或46。在网络节点的数据库135不包含网络节点101的IP地址所对应的网络节点的危险等级的情况下,等级确定模块125可以将用于网络节点的危险等级的“默认值”(诸如0)分配给网络节点101。应当注意,对于具有在将数据发送到计算设备140(作为DDoS攻击的部分)时涉及的低概率的网络节点101(可信网络节点101),网络节点的数据库135可以将网络节点的危险等级值存储成使得该等级在后续改变时会意地不能超过建立的阈值。用于这类“可信”网络节点101的网络节点等级的值被设为低于前述“默认值”,诸如-1000或-100,000。可信网络节点101例如可以为其IP地址匹配属于可信实体或组织(例如 等)、受这些可信实体或组织管理、或以其它方式与这些可信实体或组织相关联的已知服务器的IP地址的网络节点101,以及IP地址对应于子网络(例如以“192.168…”开始)的网络节点101。在一些示例性方面中,网络节点的数据库135可以存储子网络的网络节点101的并非每个枚举的IP地址,而是表示多个IP地址(例如,“192.*.*.*”或“128.*.*.*”)的一个或多个掩码。
除了“可信”网络节点101的等级外,网络节点的数据库135在通常情况下还可以配置成存储与任何网络节点101相关联的危险等级,每个网络节点101用IP地址(或掩码)来表征。在通常情况下,网络节点的数据库135中存储的信息被计算机安全领域中的专家或任何其它有资格人员放在其中。在一个示例性方面中,关于网络节点的危险等级的信息未被保持在系统110内,而在系统之外,例如在远程服务器上。在该情况下,等级确定模块125通过向该远程服务器进行请求将网络节点等级分配到网络节点101。
除了向网络节点101分配危险等级以外,等级确定模块125还可以配置成向上或向下改变(即,提高或降低)与网络节点101相关联的危险等级(如相比于借助数据库135所获得的值)。在一些示例性方面中,等级确定模块125可以使用一个或多个过滤器来改变网络节点101的危险等级。如上所述,过滤器为系统110的软件部件,其可以以使一系列标准与一组动作相匹配的规则的形式来实现。如果被发送数据的参数满足过滤器的标准,则等级确定模块125可以改变网络节点101的危险等级(换言之,如果触发对应的过滤器,则执行动作)。通过过滤器对网络节点101的危险等级的每次变化可以具有对应的有效期限或持续时间,在该有效期限或持续时间到期之后,取消提及的变化或使提及的变化还原(换言之,等级值更改回去)。例如,如果由于使用过滤器而将网络节点的危险等级提高了值X,则在该变化的有效期限到期之后,将等级降低类似值X。
在一个示例性方面中,过滤器也可以通过数据传输协议(诸如TCP、IP、HTTP或HTTPS)以及通过连接端口(诸如“端口80”)来表征。这些特性的存在使过滤器仅适用于被传输数据的、使用指示协议在指示端口处从由网络连接中的网络节点101传输的数据获得的那些参数。例如,如果过滤器被表征为“TCP-端口80”,则该过滤器仅适用于被传输数据的、使用80端口在TCP数据传输协议的背景下从由网络节点101传输的数据所确定的参数。所使用的过滤器的示例可以为:
·过滤器1:如果每秒传输的SYN包的数量超过100,则将网络节点的危险等级提高100,达10分钟(换言之,这个改变的有效期限为10分钟)(根据上文提及的等级提高的定义——当数据满足过滤器的标准时(即,如果每秒传输的SYN包的量已越过建立值)执行的动作);
·过滤器2:如果每秒建立的TCP连接的数量超过1000,则将网络节点的危险等级提高50,该变化的有效期限为30分钟;
·过滤器3:如果每秒发送的POST请求的数量超过10,则将网络节点的危险等级提高30,该变化的有效期限为10分钟;
·过滤器4:如果每秒发送到同一(特定)URL的请求的数量超过5,则将网络节点的危险等级提高20,该变化的有效期限为10分钟;
·过滤器5:如果每秒发送的HTTP请求的数量超过100,则将网络节点的危险等级提高40,该变化的有效期限为10分钟;
·过滤器6:如果建立的TCP连接的数量超过50,则将网络节点的危险等级提高35,该变化的有效期限为10分钟;
·过滤器7:如果每秒建立的受保护连接的数量超过5,则将网络节点的危险等级提高35,该变化的有效期限为10分钟。
等级确定模块125可以配置成将关于针对网络节点101确定的网络节点的危险等级的值的信息发送到阻止模块130。应当注意,不仅在使用过滤器的过程中且相应地在改变网络节点的危险等级的值的过程中、而且还在其有效期限到期时取消对应改变时,等级确定模块125可以发送关于等级值的信息。
阻止模块130可以配置成基于网络节点101的各自危险等级限制从网络节点101到计算设备140的数据的传输。在一些示例性方面中,阻止模块130可以响应于确定网络节点的危险等级的值超过建立的阈值(诸如2000)而限制数据的传输。在一个示例性方面中,限制数据传输被理解为指阻止网络节点101与计算设备140之间的数据传输(通过本领域中已知的任何方法)。在另一个示例性方面中,限制数据传输被理解为指限制网络节点101与计算设备140之间的信道容量(例如从1Мb/s到100kb/s)。阻止模块130还可以配置成基于网络节点的危险等级超出阈值的程度来限制信道容量,例如,危险等级与阈值之间的差值越大,对信道容量的限制越大。例如,如果网络节点的危险等级超出建立的阈值达1000,则将信道容量减少50%——信道容量变为小于2,以及如果超出阈值达2000,则将信道容量减少75%——信道容量变为小于4。
在另一个示例性方面中,阻止模块130基于危险等级的历史值和当前值与阈值之间的关系来确定多少程度地限制网络节点101与计算设备140之间的信道容量,如在下面方程式(1)中所示:
其中,R为网络节点的危险等级的(“当前”)值,R’为建立的阈值(由于改变所确定),R0为分配给网络节点101的网络节点的危险等级的(“初始”)值,P为通过在网络节点101与计算设备140之间需要多少次限制(即减小)信道容量所确定的量。
阻止模块130可以配置成去除(即取消)对网络节点101与计算设备140之间的数据传输的任何限制。在一个示例性方面中,阻止模块130可以在网络节点的危险等级的该变化(通过使用对应过滤器来实现)的有效期限到期时去除对网络节点101与计算设备140之间的数据传输的限制,在取消该变化之后,网络节点的危险等级将停止超过建立的阈值。
在一个示例性方面中,阻止模块130不监控网络节点的危险等级的值——阻止模块130不核实危险等级是否大于建立的阈值,而是仅限制网络节点101与计算设备140之间的数据传输或取消数据传输的该限制。在该情况下,阻止模块130从等级确定模块125仅获得限制数据传输或取消该限制的指令。如果如由等级确定模块125确定的网络节点的危险等级超过建立的阈值,则等级确定模块125将向阻止模块130发送限制数据传输的指令。而且网络节点的危险等级的该变化的有效期限到期所对应的时刻也由等级确定模块125确定,在取消该变化之后,网络节点的危险等级将停止超过建立的阈值。
为了全面理解使用过滤器的原理,考虑在图2A中示出的示例。图2A示出绘制了网络节点的危险等级在使用多个过滤器时随着时间的变化的图200。图200绘制了网络节点的危险等级在一段时间内的依赖性。线202表示危险等级R的值在时间t的“当前”值,虚线204表示针对网络节点的危险等级R建立的阈值。对应于过滤器之一的各个区域(例如,矩形206、208、210、212)表示网络节点的危险等级的变化的幅度——矩形沿着R轴的高度,以及该变化的持续时间(变化的有效期限)——矩形沿着t轴的长度。从图中很明显,网络节点的危险等级的初始值为0,这意味着借助等级确定模块125分配给网络节点101的等级(例如,如从网络节点的数据库135获得)具有0值。然后,基于如由拦截模块120确定的被传输数据的参数,过滤器被等级确定模块125应用。首先,使用过滤器1(如由区域206表示),这意味着被发送数据的参数满足过滤器1的标准。在特定时间之后,如区域208和区域210所表示,过滤器2和过滤器3被应用(“被触发”,换言之,满足过滤器的标准,以及执行由对应的过滤器2和过滤器3所规定的动作)。在触发过滤器4(区域212)时,在时间t0,网络节点的危险等级的值开始超过建立的阈值。一旦超过阈值,阻止模块130执行网络节点101与计算设备140之间的数据传输的限制。在时间t1,过滤器1的有效期限消逝,但是网络节点的危险等级的值(甚至允许取消根据过滤器1的变化)仍超出建立的阈值,以及数据传输的限制未被阻止模块130去除。在时间t2,过滤器2的有效期限到期,网络节点的危险等级的值停止超出建立的阈值,以及阻止模块130在此时去除数据传输的上述限制。在时间t3,再次触发过滤器2和过滤器3,这导致建立的阈值被网络节点的危险等级重复超过,以此类推。
图2B示出根据示例性方面的绘制了网络节点的危险等级在该网络节点101参与对计算设备140的DDoS攻击时的变化的图250。网络节点的等级值(被指定为“当前等级值252”)通常随着由等级确定模块125应用的过滤器改变等级值而逐步提高。在建立的阈值254被网络节点的危险等级超过之后,该等级的图将在阈值的附近“波动”:在网络节点的危险等级的变化(该变化的取消降低网络节点的危险等级的值使得其变为小于阈值)的有效期限消逝之后,等级值降低,但是几乎立刻触发下一个过滤器,该下一个过滤器的应用提高网络节点的危险等级的值,以及图的线再次变为大于建立的阈值的线。这些波动然后重复,直到网络节点101停止涉及DDoS攻击(以及相应地将这类数据传输到计算设备140,该计算设备140的传输参数引起特定过滤器的触发),此后逐步地将网络节点的危险等级的值降低到初始值(例如,借助网络节点的数据库或采用某种其它方式确定的值)。
图3A至图3B示出根据示例性方面的在检测DDoS攻击时的流量过滤的方法300的流程图。在步骤301中,拦截模块120拦截从网络节点101发送到计算设备140的数据(例如网络流量)。基于拦截的结果,拦截模块120确定被发送数据的参数。在步骤302中,使用先前由拦截模块120确定的数据传输参数、网络节点101的至少IP地址,等级确定模块125将网络节点的危险等级分配给网络节点101。为了将危险等级分配给网络节点,等级确定模块125向网络节点的数据库135(包含已知网络节点的危险等级)进行请求,其中,该请求包含从网络节点发送的数据的至少一个先前确定的参数——网络节点101的IP地址。此后,在步骤303中,等级确定模块125基于被传输数据的参数(如先前所确定),通过应用至少一个过滤器,改变网络节点101的危险等级。
在步骤305中,如果网络节点的危险等级超过建立的阈值,则在步骤306中,阻止模块130限制从网络节点到计算设备140的数据传输。否则,在步骤307中,阻止模块130不限制所述数据传输。如果在步骤306中已限制从网络节点101到计算设备140的数据传输,则在步骤308中,在网络节点的危险等级的至少一次变化的有效期限到期的时刻,阻止模块130再次检查等级是否超过建立的阈值。如果等级值已停止超过建立的阈值,则在步骤309中,阻止模块130取消数据传输的限制,否则将不会取消该限制。在一个示例性方面中,在执行步骤307、步骤308和步骤310之后,系统110继续执行该方法的步骤,开始于步骤301,再一次省略执行步骤302。在一个示例性方面中,如果DDoS攻击结束,则停止重复执行方法的步骤,系统110将从远程服务器或计算机安全方面的专家接收关于DDoS攻击结束的通知。
图3C示出根据示例性方面的在检测DDoS攻击时的流量过滤的方法350的流程图。在步骤311中,拦截模块120拦截从网络节点101发送到计算设备140的数据。基于拦截的结果,拦截模块120确定被发送数据的参数。在步骤312中,使用先前由拦截模块120确定的数据传输参数、网络节点101的至少IP地址,等级确定模块125将网络节点的危险等级分配给网络节点101。为了将危险等级分配给网络节点,等级确定模块125向网络节点的数据库135(包含已知网络节点的危险等级)进行请求,其中,该请求包含从网络节点发送的数据的至少一个先前确定的参数——网络节点101的IP地址。此后,在步骤313中,等级确定模块125基于被传输数据的参数(如先前所确定),通过应用至少一个过滤器改变网络节点的危险等级。此后,重复步骤311和步骤313:即,拦截模块120继续拦截由网络节点101传输到计算设备140的数据,以及确定模块125相应地将可用过滤器(该可用过滤器中的至少一个过滤器)应用于如由拦截模块120确定的被发送数据的参数。因此,存在将过滤器继续应用于被发送数据的参数,以及相应地存在网络节点的危险等级的值的变化,条件是这类变化由应用的过滤器(在被触发时)规定。
在本发明的一个示例性方面中,可以多次应用同一过滤器(例如,按假定2分钟的指定间隔),以及如果被发送数据的新确定的参数再次满足过滤器的标准,则也将再次改变网络节点的危险等级的值(在这类情况下,每次这类变化的有效期限从过滤器的每次单独触发的时刻开始计算)。例如,如果过滤器的标准是持续10秒计数的每秒发送的TCP包的数量大于1000、以及拦截模块120已确定被传输数据的参数(持续10秒计数的每秒发送的TCP包的数量)等于1204,则如果过滤器已规定若满足过滤器的标准则将网络节点的危险等级提高450,则等级确定模块125将网络节点的危险等级提高450。如果拦截模块120在3分钟之后再次确定被传输数据的参数(持续10秒计数的每秒发送的TCP包的数量)等于1304(这指示被发送包的数量的增多),则将通过等级确定模块125额外地将网络节点的危险等级提高另一450,同时与在变化的有效期限到期时对那些变化的取消相关的网络节点的危险等级的降低将不同时实施,而是在两个步骤中实施:首先降低450(第一等级变化的取消),然后降低另一450(相对于第一等级变化具有3分钟延迟的第二等级变化的取消)。
在另一个示例性方面中,同一过滤器的重复触发导致将等于第二变化的有效期限的时间间隔添加到由于应用过滤器而执行的网络节点的危险等级的第一变化的有效期限。
在一个示例性方面中,网络节点的危险等级的第二(重复)变化的值可以匹配第一(先前)变化的值,以及在另一个示例性方面中,第二变化的值可以不同,例如,如果在从前次触发开始的特定时间(诸如5分钟)内再次触发同一过滤器,则第二变化的值更大,或者如果在从前次触发开始的特定时间(诸如30分钟)内未再次触发同一过滤器,则第二变化的值更小。
在可表征为网络节点的危险等级与建立的阈值之间的差值的符号变化的事件出现时(等级不低于阈值但然后变更低的情况、以及等级低于阈值但然后不变更低(即,更高或相等)的情况),等级确定模块125在步骤314中将检查网络节点的危险等级是否超过建立的阈值(我们应考虑到,在网络节点的等级的第一变化之前,该差值为负,负号“-”)。如果超过阈值,则在步骤315中,阻止模块130将限制由网络节点101到计算设备140的数据传输。否则,在步骤316中,该数据传输不受阻止模块130限制(如果限制已存在,则将去除该限制)。
在执行步骤315或步骤316之后,再次执行步骤311和步骤313(以及相应地,如果网络节点的危险等级与建立的阈值之间的差值的符号变化出现,则跳到步骤314)。在一个示例性方面中,如果DDoS攻击结束,则停止重复执行方法的步骤,系统110将从远程服务器或计算机安全方面的专家接收关于DDoS攻击结束的通知。
应当注意,在一个示例性方面中(适用于在图3a至图3b和图3c中表示的方法300、方法350),在网络节点的危险等级超过建立的阈值之后,停止过滤器的应用,直到网络节点的危险等级变为小于建立的阈值的时间为止。因此,针对用于实现系统110的部件的计算设备(或多个计算设备)的资源减少工作负荷,这是因为在超过阈值时不拦截数据,以及过滤器的应用不是确定被传输数据的参数且将过滤器应用于改变网络节点的危险等级的不间断过程。
在一个示例性方面中,方法300、方法350的任何步骤不仅适用于一个网络节点(关于由一个网络节点101到计算设备的数据传输),而且还适用于至少两个网络节点101,这使得能够为计算设备140提供保护而免受涉及多个网络节点101所执行的DDoS攻击。
在一个示例性方面中,等级确定模块125能够更新网络节点的等级值(以及,如果缺少这类值,则将这类值添加到数据库135)和网络节点101的对应IP地址,该等级值被保存在网络节点的数据库135中。如果在检测到对计算设备140的DDoS攻击时将由网络节点101到计算设备140的数据传输限制达特定的时间段,则等级确定模块125相对于针对网络节点101(具体地针对网络节点101的IP地址)而保存在网络节点的数据库135中的值提高对于网络节点101的网络节点的危险等级的值。限制数据传输的时间越长,网络节点的危险等级将提高越多。在这类情况下的等级的提高可以通过在方程式(2)中所示的如下公式来计算:
其中,Δ为等级的变化,R为网络节点的危险等级在DDoS攻击期间的最大值,R0为建立的阈值,t为限制由网络节点101到计算设备140的数据传输所持续的时间,以及T为DDoS攻击的持续时间。如果在检测到对计算设备140的DDoS攻击期间未限制由网络节点101到计算设备140的数据传输(差值R-R0将为负,以及相应地,Δ的值也将为负),则方程式(2)还可以用于相对于针对网络节点101而保存在网络节点的数据库135中的值降低网络节点101的危险等级的值。为了改变将保存在数据库135中的网络节点的危险等级,可以使用不同公式,从而网络节点的危险等级在DDoS攻击期间的平均值越低,对于网络节点101的网络节点的等级值相对于针对网络节点101(即针对网络节点101的IP地址)而保存在网络节点的数据库135中的值将降低更多。应当注意,给出的公式仅为反映用于改变网络节点的危险等级的上述法则的示例。
由于网络节点的数据库135中的网络节点的危险等级的值的变化,因此先前在DDoS攻击中涉及的网络节点在下一个DDoS攻击期间将更快速地与计算设备140断开连接:将更快速地限制由这些网络节点101到计算设备140的数据传输,减少计算设备140在DDoS攻击期间的工作负荷。
应当注意,网络节点的数据库135还可以包含通过将特定过滤器(例如过滤器1)应用于由网络节点101发送到计算设备140的数据的参数所产生的网络节点的危险等级的变化的有效期限值,该有效期限值将用于确定用于取消通过应用该过滤器(例如过滤器1)所产生的等级变化的时间。因此,如果网络节点的数据库135保存对于这些网络节点101的不同的变化的有效期限值(即,对于特定网络节点101的IP地址,网络节点的数据库135可以保存对于由每个可用过滤器的应用所产生的网络节点的等级变化的有效期限),则等级变化的有效期限对于不同网络节点101来说可以是不同的。
在一个示例性方面中,网络节点的数据库135将针对网络节点101(相应地由IP地址标识)保存校正因子K,该校正因子K可以被等级确定模块125用来改变对于网络节点101的网络节点的危险等级的变化的有效期限(系数可以具有默认值,诸如1)。在特定方面中,将通过等级确定模块125使对于网络节点101的网络节点的危险等级的每次变化的有效期限乘以K以确定由等级确定模块125借助其所使用的过滤器所执行的网络节点的危险等级的每次变化的有效期限的结束时间。可以通过等级确定模块125基于在DDoS攻击期间限制由网络节点101到计算设备140的数据传输的时间长度来改变对于网络节点101的系数K的值:限制数据传输的越长时间,K的值将增大越多,以及限制数据传输越少时间,K的值将增大越少。系数K的变化值可以通过在方程式(3)中所示的如下公式来计算:
其中,K为系数的新的(变化的)值,K0为系数K的先前的(旧的)值,t为限制由网络节点101到计算设备140的数据传输所持续的时间,T为DDoS攻击的持续时间。应当注意,给出的公式仅为反映改变系数的上述法则的示例。
应当注意,DDoS攻击的开始时间、DDoS攻击的结束时间、以及DDoS攻击的持续时间的确定不在本发明的范围之内,以及可以通过负责计算设备140的安全的专家或通过提供在系统110的范围以外(例如在远程服务器上)且执行用于检测DDoS攻击的类似功能的构件将上述公式中所使用的值提供给等级确定模块125。
在另一个示例性方面中,被等级确定模块125使用的过滤器可以互连,以及关于过滤器的关系的信息可以被保存在等级确定模块125本身中,但是在另一方面中,关于关系的该信息被保存在网络节点的数据库135中。过滤器之间的关系决定由提及的过滤器的应用所引起的网络节点的危险等级的变化的有效期限到期时间,从而对于互连的过滤器,该时间将同时出现,即在多个变化的所有有效期限到期时间之中靠后的时间。例如,假设过滤器1和过滤器2互连,则由过滤器的应用所引起的网络节点的危险等级的对应变化的有效期限应分别被指定为T1和T2,在时间t1触发过滤器1以及在时间t2触发过滤器2。给出过滤器之间的关系,由过滤器所产生的每次变化的有效期限到期时间将通过在方程式(4)中所示的公式来确定:
T=max{t1+T1;t2+T2} (4)
应当注意,上述方法以及上述公式仅在如下情况下是有效的:使用过滤器2产生的变化的有效期限期间触发过滤器1——t1∈[t2;t2+T2]——反之亦然(在使用过滤器1产生的变化的有效期限期间触发过滤器2——t2∈[t1;t1+T1])。上述公式对于多个互连过滤器也是有效的,在该情况下,T被选择为max{t1+T1;t2+T2;…;tn+Tn},其中,n为触发的互连过滤器(即,针对其确定时间ti的那些互连过滤器)的数量。
图4为示出其上可根据示例性方面实施用于过滤网络流量以保护服务器免受分布式拒绝服务(DDoS)攻击的系统和方法的方面的通用计算机系统20的图。应当注意,计算机系统20可以对应于前文所描述的网络节点101、系统110、和计算设备140。
如所示,该计算机系统20(其可以是个人计算机或服务器)包括中央处理单元21、系统存储器22和连接各种系统部件的系统总线23,各种系统部件包括与中央处理单元21相关联的存储器。如将由本领域的普通技术人员所领会,系统总线23可以包括总线存储器或总线存储器控制器、外围总线、以及能够与任何其它的总线架构交互的本地总线。系统存储器可以包括永久性存储器(ROM)24和随机存取存储器(Random-Access Memory,RAM)25。基本输入/输出系统(Basic Input/Output System,BIOS)26可以存储用于在计算机系统20的元件之间的信息传输的基本程序,例如在使用ROM 24加载操作系统时的那些基本程序。
计算机系统20还可以包括用于读取和写入数据的硬盘27、用于在可移动磁盘29上读取和写入的磁盘驱动器28、以及用于读取和写入可移动光盘31(诸如CD-ROM、DVD-ROM和其它光学媒介)的光盘驱动器30。硬盘27、磁盘驱动器28和光盘驱动器30分别通过硬盘接口32、磁盘接口33和光盘驱动器接口34而连接到系统总线23。驱动器和对应的计算机信息媒介为用于存储计算机系统20的计算机指令、数据结构、程序模块和其它数据的电源独立的模块。
示例性方面包括借助控制器55使用连接到系统总线23的硬盘27、可移动磁盘29和可移动光盘31的系统。将由本领域的普通技术人员所理解,也可以利用能够以计算机可读的形式存储数据的任何类型的媒介56(固态驱动器、闪存卡、数字盘、随机存取存储器(RAM)等等)。
计算机系统20具有可以存储操作系统35的文件系统36、以及额外的程序应用37、其它程序模块38和程序数据39。计算机系统20的用户可以使用键盘40、鼠标42、或本领域的普通技术人员已知的任何其它输入设备(诸如但不限于麦克风、操纵杆、游戏控制器、扫描器等)输入命令和信息。这些输入设备通常通过串行端口46插入到计算机系统20中,串行端口46转而连接到系统总线,但是本领域的普通技术人员将领会,输入设备也可以以其它方式来连接,诸如但不限于借助并行端口、游戏端口、或通用串行总线(Universal SerialBus,USB)来连接。监控器47或其它类型的显示设备也可以通过接口(例如视频适配器48)连接到系统总线23。除了监控器47,个人计算机还可以装备有其它的外围输出设备(未示出),例如扬声器、打印机等。
计算机系统20可以使用与一个或多个远程计算机49的网络连接而工作在网络环境中。一个或多个远程计算机49可以为本地计算机工作站或服务器,其包括在描述计算机系统20的性质时使用的上述元件中的大多数元件或全部元件。其它设备也可以存在于计算机网络中,诸如但不限于路由器、网站、对等设备或其它的网络节点。
网络连接可以形成局域计算机网络(Local-Area computer Network,LAN)50和广域计算机网络(Wide-Area computer Network,WAN)。这些网络用在企业计算机网络和公司内部网络中,并且这些网络通常有权访问因特网。在LAN或WAN网络中,个人计算机20通过网络适配器或网络接口51连接到局域网50。当使用网络时,计算机20系统可以采用调制解调器54或本领域的普通技术人员所熟知的实现与广域计算机网络(诸如因特网)的通信的其它模块。调制解调器54可以是内部设备或外部设备,可以通过串行端口46连接到系统总线23。本领域的普通技术人员将领会,所述网络连接是使用通信模块建立一个计算机与另一个计算机的连接的许多熟知方式的非限制性示例。
在各个方面中,本文中所描述的系统和方法可以以硬件、软件、固件或它们的任何组合来实施。如果以软件来实施,则上述方法可以作为一个或多个指令或代码而被存储在非暂时性计算机可读介质上。计算机可读介质包括数据存储器。以示例性而非限制性的方式,这种计算机可读介质可以包括RAM,ROM,EEPROM,CD-ROM,闪存或其它类型的电存储介质、磁存储介质或光存储介质,或可用来携带或存储所期望的指令或数据结构形式的程序代码并可以被通用计算机的处理器访问的任何其它介质。
在各个方面中,本发明中所描述的系统和方法可以按照模块来处理。本文中所使用的术语“模块”指的是例如现实世界的设备、部件、或使用硬件(例如通过专用集成电路(Application Specific Integrated Circuit,ASIC)或现场可编程门阵列(Field-Programmable Gate Array,FPGA))实现的部件的布置,或者指的是硬件和软件的组合,例如通过微处理器系统和实现模块功能的指令组(该指令组在被执行时将微处理器系统转换成专用设备)来实现这样的组合。一个模块还可以被实施为两个模块的组合,其中单独地通过硬件促进某些功能,并且通过硬件和软件的组合促进其它功能。在某些实现方式中,模块的至少一部分(以及在一些情况下,模块的全部)可以被执行在通用计算机(例如上文在图4中更详细描述的通用计算机)的处理器上。因此,每个模块可以以各种适合的配置来实现,而不应受限于本文中所列举的任何特定的实现方式。
为了清楚起见,本文中没有公开各个方面的所有例程特征。应当领会的是,在本发明的任何实际的实现方式的开发中,必须做出许多特定实现方式的决定,以便实现开发者的特定目标,并且这些特定目标将对于不同的实现方式和不同的开发者变化。应当理解的是,这种开发努力会是复杂的且费时的,但对于了解本发明的优点的本领域的普通技术人员来说仍然是工程的例行任务。
此外,应当理解的是,本文中所使用的措辞或术语出于描述而非限制的目的,从而本说明书的术语或措辞应当由本领域技术人员根据本文中所提出的教导和指导结合相关领域技术人员的知识来解释。此外,不旨在将本说明书或权利要求中的任何术语归于不常见的或特定的含义,除非明确如此阐述。
本文中所公开的各个方面包括本文中以说明性方式所引用的已知模块的现在和未来已知的等同物。此外,尽管已经示出并描述了各个方面和应用,但是对于了解本发明的优点的本领域技术人员将显而易见的是,在不脱离本文中所公开的发明构思的前提下,相比于上文所提及的内容而言的更多修改是可行的。
Claims (21)
1.一种用于过滤网络流量以保护服务器免受分布式拒绝服务(DDoS)攻击的方法,其中,所述方法包括:
响应于检测到计算设备经受DDoS攻击,拦截从网络节点到所述计算设备的数据;
基于拦截的所述数据确定一个或多个数据传输参数;
将危险等级分配给所述网络节点;
基于过滤器的应用以及所述数据传输参数改变所述网络节点的所述危险等级;以及
响应于确定所述网络节点的所述危险等级超过阈值,限制从所述网络节点到所述计算设备的数据的传输。
2.根据权利要求1所述的方法,其中,将所述初始危险等级分配给所述网络节点还包括:
根据存储已知网络节点的危险等级的数据库以及所述网络节点的网络地址,将所述危险等级分配给所述网络节点。
3.根据权利要求2所述的方法,还包括:
基于限制从所述网络节点到所述计算设备的所述数据的传输的时间段,更新在所述数据库中存储的危险等级。
4.根据权利要求1所述的方法,还包括:
响应于所述过滤器的到期,使对所述网络节点的所述危险等级的改变还原;以及
响应于确定所述网络节点的所述危险等级不再超过所述阈值,取消对从所述网络节点到所述计算设备的所述数据的传输的限制。
5.根据权利要求1所述的方法,还包括:
响应于检测到基于所述数据传输参数的所述过滤器的重复触发,延长所述过滤器的有效期限。
6.根据权利要求1所述的方法,其中,基于所述过滤器的应用以及所述数据传输参数改变所述网络节点的所述危险等级还包括:
基于确定与所述过滤器相关联的标准被所述数据传输参数满足,提高所述网络节点的所述危险等级。
7.根据权利要求1所述的方法,其中,限制从所述网络节点到所述计算设备的所述数据的传输还包括:
基于所述网络节点的所述危险等级超出所述阈值的程度,限制所述网络节点与所述计算设备之间的信道容量。
8.一种用于过滤网络流量以保护服务器免受分布式拒绝服务(DDoS)攻击的系统,其中,所述系统包括:
存储一个或多个过滤器的存储设备;以及
处理器,所述处理器配置成:
响应于检测到计算设备经受DDoS攻击,拦截从网络节点到所述计算设备的数据;
基于拦截的所述数据确定一个或多个数据传输参数;
将危险等级分配给所述网络节点;
基于过滤器的应用以及所述数据传输参数改变所述网络节点的所述危险等级;以及
响应于确定所述网络节点的所述危险等级超过阈值,限制从所述网络节点到所述计算设备的数据的传输。
9.根据权利要求8所述的系统,其中,配置成将所述初始危险等级分配给所述网络节点的所述处理器还配置成:
根据存储已知网络节点的危险等级的数据库以及所述网络节点的网络地址,将所述危险等级分配给所述网络节点。
10.根据权利要求9所述的系统,其中,所述处理器还配置成:
基于限制从所述网络节点到所述计算设备的所述数据的传输的时间段,更新在所述数据库中存储的危险等级。
11.根据权利要求8所述的系统,其中,所述处理器还配置成:
响应于所述过滤器的到期,使对所述网络节点的所述危险等级的改变还原;以及
响应于确定所述网络节点的所述危险等级不再超过所述阈值,取消对从所述网络节点到所述计算设备的所述数据的传输的限制。
12.根据权利要求8所述的系统,其中,所述处理器还配置成:
响应于检测到基于所述数据传输参数的所述过滤器的重复触发,延长所述过滤器的有效期限。
13.根据权利要求8所述的系统,其中,配置成基于所述过滤器的应用以及所述数据传输参数改变所述网络节点的所述危险等级的所述处理器还配置成:
基于确定与所述过滤器相关联的标准被所述数据传输参数满足,提高所述网络节点的所述危险等级。
14.根据权利要求8所述的系统,其中,配置成限制从所述网络节点到所述计算设备的所述数据的传输的所述处理器还配置成:
基于所述网络节点的所述危险等级超出所述阈值的程度,限制所述网络节点与所述计算设备之间的信道容量。
15.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质包括用于过滤网络流量以保护服务器免受分布式拒绝服务(DDoS)攻击的计算机可执行的指令,所述非暂时性计算机可读介质包括用于如下操作的指令:
响应于检测到计算设备经受DDoS攻击,拦截从网络节点到所述计算设备的数据;
基于拦截的所述数据确定一个或多个数据传输参数;
将危险等级分配给所述网络节点;
基于过滤器的应用以及所述数据传输参数改变所述网络节点的所述危险等级;以及
响应于确定所述网络节点的所述危险等级超过阈值,限制从所述网络节点到所述计算设备的数据的传输。
16.根据权利要求15所述的非暂时性计算机可读介质,其中,用于将所述初始危险等级分配给所述网络节点的所述指令还包括用于如下操作的指令:
根据存储已知网络节点的危险等级的数据库以及所述网络节点的网络地址,将所述危险等级分配给所述网络节点。
17.根据权利要求16所述的非暂时性计算机可读介质,还包括用于如下操作的指令:
基于限制从所述网络节点到所述计算设备的所述数据的传输的时间段,更新在所述数据库中存储的危险等级。
18.根据权利要求15所述的非暂时性计算机可读介质,还包括用于如下操作的指令:
响应于所述过滤器的到期,使对所述网络节点的所述危险等级的改变还原;以及
响应于确定所述网络节点的所述危险等级不再超过所述阈值,取消对从所述网络节点到所述计算设备的所述数据的传输的限制。
19.根据权利要求15所述的非暂时性计算机可读介质,还包括用于如下操作的指令:
响应于检测到基于所述数据传输参数的所述过滤器的重复触发,延长所述过滤器的有效期限。
20.根据权利要求15所述的非暂时性计算机可读介质,其中,用于基于所述过滤器的应用以及所述数据传输参数改变所述网络节点的所述危险等级的指令还包括用于如下操作的指令:
基于确定与所述过滤器相关联的标准被所述数据传输参数满足,提高所述网络节点的所述危险等级。
21.根据权利要求15所述的非暂时性计算机可读介质,其中,用于限制从所述网络节点到所述计算设备的所述数据的传输的指令还包括用于如下操作的指令:
基于所述网络节点的所述危险等级超出所述阈值的程度,限制所述网络节点与所述计算设备之间的信道容量。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2017115047A RU2649290C1 (ru) | 2017-04-28 | 2017-04-28 | Система и способ фильтрации трафика при обнаружении DDoS-атаки |
RU2017115047 | 2017-04-28 | ||
US15/614,713 US10693907B2 (en) | 2017-04-28 | 2017-06-06 | System and method of traffic filtering upon detection of a DDoS attack |
US15/614,713 | 2017-06-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108809923A true CN108809923A (zh) | 2018-11-13 |
CN108809923B CN108809923B (zh) | 2020-12-25 |
Family
ID=61867420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710835292.4A Active CN108809923B (zh) | 2017-04-28 | 2017-09-15 | 在检测DDoS攻击时的流量过滤的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10693907B2 (zh) |
JP (1) | JP6542313B2 (zh) |
CN (1) | CN108809923B (zh) |
RU (1) | RU2649290C1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110266766A (zh) * | 2019-05-22 | 2019-09-20 | 深圳华科云动力科技有限公司 | 一种抗攻击分布式网络节点的构建方法、系统及终端设备 |
CN112217784A (zh) * | 2019-07-10 | 2021-01-12 | 罗伯特·博世有限公司 | 用于在计算机网络中的攻击识别的设备和方法 |
CN113039411A (zh) * | 2018-11-28 | 2021-06-25 | 三菱电机株式会社 | 攻击消除装置、攻击消除方法以及攻击消除程序 |
CN113114709A (zh) * | 2021-06-16 | 2021-07-13 | 紫光恒越技术有限公司 | 自定义url过滤分类的应用方法、装置、服务器及存储设备 |
CN113411292A (zh) * | 2020-03-16 | 2021-09-17 | 瞻博网络公司 | 基于链式业务分接合法拦截业务并提供业务给内容目的地 |
CN114268489A (zh) * | 2021-12-21 | 2022-04-01 | 福建瑞网科技有限公司 | 一种网络安全防护方法及装置 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107078898A (zh) * | 2014-05-20 | 2017-08-18 | 神秘双八达通有限公司 | 一种在多路径网络上建立安全私人互连的方法 |
EP3422659A1 (en) * | 2017-06-30 | 2019-01-02 | Thomson Licensing | Method of blocking distributed denial of service attacks and corresponding apparatus |
US10735459B2 (en) | 2017-11-02 | 2020-08-04 | International Business Machines Corporation | Service overload attack protection based on selective packet transmission |
RU2684575C1 (ru) * | 2018-05-14 | 2019-04-09 | Федеральное государственное казенное военное образовательное учреждение высшего образования Академия Федеральной службы охраны Российской Федерации | Способ управления потоками данных распределенной информационной системы при ddos атаках |
RU2703329C1 (ru) * | 2018-11-30 | 2019-10-16 | Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" | Способ обнаружения несанкционированного использования сетевых устройств ограниченной функциональности из локальной сети и предотвращения исходящих от них распределенных сетевых атак |
US11503471B2 (en) * | 2019-03-25 | 2022-11-15 | Fortinet, Inc. | Mitigation of DDoS attacks on mobile networks using DDoS detection engine deployed in relation to an evolve node B |
CN114341848A (zh) * | 2019-07-31 | 2022-04-12 | Ioxt有限责任公司 | 通过指纹分析评定装置的安全性的系统和方法 |
CN111131199B (zh) * | 2019-12-11 | 2022-06-03 | 中移(杭州)信息技术有限公司 | 业务攻击流量清洗控制方法、装置、服务器及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101111053A (zh) * | 2006-07-18 | 2008-01-23 | 中兴通讯股份有限公司 | 移动网络中防御网络攻击的系统和方法 |
CN101212302A (zh) * | 2007-12-21 | 2008-07-02 | 华中科技大学 | 一种在P2P流媒体系统中防御DDoS攻击的方法 |
CN101753596A (zh) * | 2008-12-18 | 2010-06-23 | 华为技术有限公司 | 一种p2p中控制资源发布的方法、系统和设备 |
US20120079592A1 (en) * | 2010-09-24 | 2012-03-29 | Verisign, Inc. | Ip prioritization and scoring system for ddos detection and mitigation |
CN103428224A (zh) * | 2013-08-29 | 2013-12-04 | 中国科学院计算技术研究所 | 一种智能防御DDoS攻击的方法和装置 |
US20160301709A1 (en) * | 2015-04-09 | 2016-10-13 | Accenture Global Services Limited | Event correlation across heterogeneous operations |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004507978A (ja) | 2000-09-01 | 2004-03-11 | トップ レイヤー ネットワークス,インク. | ネットワークノードに対するサービス拒絶アタックに対抗するシステム及び方法 |
US7340776B2 (en) * | 2001-01-31 | 2008-03-04 | International Business Machines Corporation | Method and system for configuring and scheduling security audits of a computer network |
JP2002342276A (ja) * | 2001-05-17 | 2002-11-29 | Ntt Data Corp | ネットワーク侵入検知システムおよびその方法 |
WO2003027858A1 (fr) * | 2001-09-19 | 2003-04-03 | Accelia, Inc. | Systeme de protection de serveurs de contenu |
JP2004078602A (ja) | 2002-08-19 | 2004-03-11 | Nec Corp | データ処理装置 |
JP2004248185A (ja) | 2003-02-17 | 2004-09-02 | Nippon Telegr & Teleph Corp <Ntt> | ネットワークベース分散型サービス拒否攻撃防御システムおよび通信装置 |
JP2007259223A (ja) | 2006-03-24 | 2007-10-04 | Fujitsu Ltd | ネットワークにおける不正アクセスに対する防御システム、方法およびそのためのプログラム |
US7624084B2 (en) * | 2006-10-09 | 2009-11-24 | Radware, Ltd. | Method of generating anomaly pattern for HTTP flood protection |
US7672336B2 (en) * | 2006-12-01 | 2010-03-02 | Sonus Networks, Inc. | Filtering and policing for defending against denial of service attacks on a network |
US7953969B2 (en) | 2007-04-16 | 2011-05-31 | Microsoft Corporation | Reduction of false positive reputations through collection of overrides from customer deployments |
US8504504B2 (en) * | 2008-09-26 | 2013-08-06 | Oracle America, Inc. | System and method for distributed denial of service identification and prevention |
RU2580808C2 (ru) * | 2013-03-26 | 2016-04-10 | Государственное казенное образовательное учреждение высшего профессионального образования Академия Федеральной службы охраны Российской Федерации (Академия ФСО России) | Способ динамической фильтрации дейтаграмм интернет-протокола |
US20140380457A1 (en) | 2013-06-21 | 2014-12-25 | Arbor Networks, Inc. | Adjusting ddos protection |
US9172721B2 (en) * | 2013-07-16 | 2015-10-27 | Fortinet, Inc. | Scalable inline behavioral DDOS attack mitigation |
RU2538292C1 (ru) * | 2013-07-24 | 2015-01-10 | Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" | Способ обнаружения компьютерных атак на сетевую компьютерную систему |
WO2015036860A2 (en) * | 2013-09-10 | 2015-03-19 | Haproxy S.A.R.L. | Line-rate packet filtering technique for general purpose operating systems |
US10581728B1 (en) * | 2013-09-20 | 2020-03-03 | Amazon Technologies, Inc. | Rate limiting of network traffic |
JP6364255B2 (ja) * | 2014-06-17 | 2018-07-25 | 株式会社エヌ・ティ・ティ・データ | 通信制御装置、攻撃防御システム、攻撃防御方法、及びプログラム |
US10320825B2 (en) * | 2015-05-27 | 2019-06-11 | Cisco Technology, Inc. | Fingerprint merging and risk level evaluation for network anomaly detection |
US10193919B2 (en) * | 2015-08-24 | 2019-01-29 | Empow Cyber Security, Ltd | Risk-chain generation of cyber-threats |
US10764310B2 (en) * | 2016-03-25 | 2020-09-01 | Cisco Technology, Inc. | Distributed feedback loops from threat intelligence feeds to distributed machine learning systems |
US10581901B2 (en) * | 2016-03-25 | 2020-03-03 | Cisco Technology, Inc. | Increased granularity and anomaly correlation using multi-layer distributed analytics in the network |
US10757121B2 (en) * | 2016-03-25 | 2020-08-25 | Cisco Technology, Inc. | Distributed anomaly detection management |
-
2017
- 2017-04-28 RU RU2017115047A patent/RU2649290C1/ru active
- 2017-06-06 US US15/614,713 patent/US10693907B2/en active Active
- 2017-08-30 JP JP2017165149A patent/JP6542313B2/ja active Active
- 2017-09-15 CN CN201710835292.4A patent/CN108809923B/zh active Active
-
2020
- 2020-05-22 US US16/881,765 patent/US11025667B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101111053A (zh) * | 2006-07-18 | 2008-01-23 | 中兴通讯股份有限公司 | 移动网络中防御网络攻击的系统和方法 |
CN101212302A (zh) * | 2007-12-21 | 2008-07-02 | 华中科技大学 | 一种在P2P流媒体系统中防御DDoS攻击的方法 |
CN101753596A (zh) * | 2008-12-18 | 2010-06-23 | 华为技术有限公司 | 一种p2p中控制资源发布的方法、系统和设备 |
US20120079592A1 (en) * | 2010-09-24 | 2012-03-29 | Verisign, Inc. | Ip prioritization and scoring system for ddos detection and mitigation |
CN103428224A (zh) * | 2013-08-29 | 2013-12-04 | 中国科学院计算技术研究所 | 一种智能防御DDoS攻击的方法和装置 |
US20160301709A1 (en) * | 2015-04-09 | 2016-10-13 | Accenture Global Services Limited | Event correlation across heterogeneous operations |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113039411A (zh) * | 2018-11-28 | 2021-06-25 | 三菱电机株式会社 | 攻击消除装置、攻击消除方法以及攻击消除程序 |
CN110266766A (zh) * | 2019-05-22 | 2019-09-20 | 深圳华科云动力科技有限公司 | 一种抗攻击分布式网络节点的构建方法、系统及终端设备 |
CN110266766B (zh) * | 2019-05-22 | 2022-01-21 | 深圳华科云动力科技有限公司 | 一种抗攻击分布式网络节点的构建方法、系统及终端设备 |
CN112217784A (zh) * | 2019-07-10 | 2021-01-12 | 罗伯特·博世有限公司 | 用于在计算机网络中的攻击识别的设备和方法 |
CN112217784B (zh) * | 2019-07-10 | 2024-07-02 | 罗伯特·博世有限公司 | 用于在计算机网络中的攻击识别的设备和方法 |
CN113411292A (zh) * | 2020-03-16 | 2021-09-17 | 瞻博网络公司 | 基于链式业务分接合法拦截业务并提供业务给内容目的地 |
CN113411292B (zh) * | 2020-03-16 | 2023-06-30 | 瞻博网络公司 | 基于链式业务分接合法拦截业务并提供业务给内容目的地 |
CN113114709A (zh) * | 2021-06-16 | 2021-07-13 | 紫光恒越技术有限公司 | 自定义url过滤分类的应用方法、装置、服务器及存储设备 |
CN113114709B (zh) * | 2021-06-16 | 2021-09-17 | 紫光恒越技术有限公司 | 自定义url过滤分类的应用方法、装置、服务器及存储设备 |
CN114268489A (zh) * | 2021-12-21 | 2022-04-01 | 福建瑞网科技有限公司 | 一种网络安全防护方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20200287931A1 (en) | 2020-09-10 |
US20180316714A1 (en) | 2018-11-01 |
JP6542313B2 (ja) | 2019-07-10 |
RU2649290C1 (ru) | 2018-03-30 |
US11025667B2 (en) | 2021-06-01 |
US10693907B2 (en) | 2020-06-23 |
JP2018191268A (ja) | 2018-11-29 |
CN108809923B (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108809923A (zh) | 在检测DDoS攻击时的流量过滤的系统和方法 | |
US7478429B2 (en) | Network overload detection and mitigation system and method | |
Jakaria et al. | Vfence: A defense against distributed denial of service attacks using network function virtualization | |
US7930740B2 (en) | System and method for detection and mitigation of distributed denial of service attacks | |
US11206286B2 (en) | Methods and systems for reducing unwanted data traffic in a computer network | |
CN109327426A (zh) | 一种防火墙攻击防御方法 | |
CN112351012A (zh) | 一种网络安全防护方法、装置及系统 | |
CN109005175A (zh) | 网络防护方法、装置、服务器及存储介质 | |
Singh et al. | Analysis of Botnet behavior using Queuing theory | |
Amiri et al. | Theoretical and experimental methods for defending against DDoS attacks | |
Green et al. | Analysis Techniques for Detecting Coordinated Attacks and Probes. | |
CN117411711A (zh) | 一种入侵检测防御系统的威胁阻断方法 | |
Khirwadkar | Defense against network attacks using game theory | |
Simon et al. | AS-based accountability as a cost-effective DDoS defense | |
EP3396920B1 (en) | System and method of traffic filtering upon detection of a ddos attack | |
JP2006501527A (ja) | ネットワーク・サービスプロバイダおよびオペレータのサーバシステムに対する攻撃の確認と防御のための方法、データキャリア、コンピュータシステム、およびコンピュータプログラム | |
Djalaliev et al. | Sentinel: hardware-accelerated mitigation of bot-based DDoS attacks | |
EP2109279B1 (en) | Method and system for mitigation of distributed denial of service attacks using geographical source and time information | |
Bogdanoski et al. | TCP-SYN Flooding Attack in Wireless Networks | |
Eid et al. | Secure double-layered defense against HTTP-DDoS attacks | |
Rathore et al. | A bio-inspired framework to mitigate dos attacks in software defined networking | |
Singhal et al. | Design and Development of Anti-DoS/DDoS Attacks Framework Using IPtables | |
Lotlikar et al. | DoShield Through SDN for IoT Enabled Attacks | |
Upreti | DDoS Attack and Mitigation | |
Liao et al. | Using selective, short‐term memory to improve resilience against DDoS exhaustion attacks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |