CN108737447B - 用户数据报协议流量过滤方法、装置、服务器及存储介质 - Google Patents

用户数据报协议流量过滤方法、装置、服务器及存储介质 Download PDF

Info

Publication number
CN108737447B
CN108737447B CN201810650976.1A CN201810650976A CN108737447B CN 108737447 B CN108737447 B CN 108737447B CN 201810650976 A CN201810650976 A CN 201810650976A CN 108737447 B CN108737447 B CN 108737447B
Authority
CN
China
Prior art keywords
server
user datagram
flow
service
traffic
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.)
Active
Application number
CN201810650976.1A
Other languages
English (en)
Other versions
CN108737447A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810650976.1A priority Critical patent/CN108737447B/zh
Publication of CN108737447A publication Critical patent/CN108737447A/zh
Application granted granted Critical
Publication of CN108737447B publication Critical patent/CN108737447B/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
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • 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
    • H04L63/0227Filtering policies
    • H04L63/0245Filtering by information in the payload
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • 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

Abstract

本发明公开了一种用户数据报协议流量过滤方法、装置、服务器及存储介质,属于网络安全领域。所述方法包括:当服务器受到用户数据报协议泛洪攻击时,获取服务器的指纹特征基线数据,指纹特征基线数据包括:业务载荷特征基线、业务端口特征基线、业务包长特征基线和业务协议特征基线;依次利用业务载荷特征基线、业务端口特征基线、业务包长特征基线和业务协议特征基线对待发送到服务器的用户数据报协议流量进行过滤,直到单位时间内待发送到服务器的用户数据报协议流量低于安全阈值;将过滤后的服务器的流量发送给服务器。

Description

用户数据报协议流量过滤方法、装置、服务器及存储介质
技术领域
本发明涉及网络安全领域,特别涉及一种用户数据报协议流量过滤方法、装置、服务器及存储介质。
背景技术
分布式拒绝服务(Distributed Denial of Service,DDoS)攻击,是指黑客通过控制分布在各处的僵死网络向目的服务器发起大量异常流量,服务器忙于处理异常流量,无法处理正常用户请求,甚至系统崩溃,造成拒绝服务。
用户数据报协议(User Datagram Protocol,UDP)泛洪(Flood)是一种非常常见的DDoS攻击手法,通过大量的UDP垃圾流量,阻塞服务器带宽,导致业务瘫痪。
传统UDP防护大多通过单一的防护策略实现,例如限速策略、特征过滤策略、包长限制策略和源端口策略等。随着攻击手段的多样化,采用单一的防护策略进行UDP防护时,很难满足防护要求,防护效果不佳。
发明内容
为了解决相关技术中存在的采用单一的防护策略进行UDP防护时,难以满足防护要求,效果不佳问题,本发明实施例提供了一种UDP流量过滤方法、装置、服务器及存储介质。所述技术方案如下:
一方面,提供了一种UDP流量过滤方法,所述方法包括:
当服务器受到UDP Flood攻击时,获取所述服务器的指纹特征基线数据,所述指纹特征基线数据包括:业务载荷特征基线、业务端口特征基线、业务包长特征基线和业务协议特征基线;
依次利用所述业务载荷特征基线、所述业务端口特征基线、所述业务包长特征基线和所述业务协议特征基线对待发送到所述服务器的流量中的UDP流量进行过滤,直到正在使用的一个特征基线能够使过滤后的单位时间内所述待发送到所述服务器的UDP流量低于安全阈值,或者能够使过滤后的单位时间内所述服务器的UDP流量不低于安全阈值,但比用其他特征基线过滤后的单位时间内所述服务器的UDP流量小;
将过滤后的所述服务器的流量发送给所述服务器。
另一方面,还提供了一种UDP流量过滤装置,所述装置包括:
获取模块,用于当服务器受到UDP Flood攻击时,获取所述服务器的指纹特征基线数据,所述指纹特征基线数据包括:业务载荷特征基线、业务端口特征基线、业务包长特征基线和业务协议特征基线,所述业务载荷特征基线包括所述服务器的UDP报文的载荷特征白名单,所述业务端口特征基线包括所述服务器的UDP报文的端口白名单,所述业务包长特征基线包括所述服务器的UDP报文的包长范围白名单,所述业务协议特征基线用于指示所述服务器的正常业务是否存在UDP流量;
过滤模块,用于依次利用所述业务载荷特征基线、所述业务端口特征基线、所述业务包长特征基线和所述业务协议特征基线对待发送到所述服务器的流量中的UDP流量进行过滤,直到正在使用的一个特征基线能够使过滤后的单位时间内所述待发送到所述服务器的UDP流量低于安全阈值,或者能够使过滤后的单位时间内所述服务器的UDP流量不低于安全阈值,但比用其他特征基线过滤后的单位时间内所述服务器的UDP流量小;
发送模块,用于将过滤后的所述服务器的流量发送给所述服务器。
另一方面,还提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如第一方面所述的UDP流量过滤方法。
另一方面,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如第一方面所述的UDP流量过滤方法。
本发明实施例提供的技术方案带来的有益效果是:
通过在服务器受到UDP Flood攻击时,获取服务器的指纹特征基线数据,然后依次利用业务载荷特征基线、业务端口特征基线、业务包长特征基线和业务协议特征基线对待发送到所述服务器的流量中的UDP流量进行过滤,直到正在使用的一个特征基线能够使过滤后的单位时间内待发送到服务器的UDP流量低于安全阈值,或者能够使过滤后的单位时间内所述服务器的UDP流量不低于安全阈值,但比用其他特征基线过滤后的单位时间内服务器的UDP流量小,采用上述过滤方式,只需要对不满足指纹特征基线数据的流量进行过滤,对正常流量基本无影响,并且采用多种策略进行过滤,防护效果好;另外,按照这种顺序进行流量过滤,先使用过滤准确度高的基线数据进行过滤,如果无法成功将单位时间内UDP流量降低到安全阈值以下,则再使用过滤准确度稍低的基线数据进行过滤,这样,能够保证过滤后的UDP流量不会造成服务器无法服务,同时,尽可能的减小了过滤过程中对正常业务的UDP流量的影响。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种UDP流量过滤系统的结构示意图;
图2是本发明实施例提供的一种UDP流量过滤方法的流程图;
图3是本发明实施例提供的另一种UDP流量过滤方法的流程图;
图4是本发明实施例提供的一种UDP流量过滤装置的结构示意图;
图5是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为便于对本发明实施例提供的技术方案的理解,下面对现有UDP流量过滤方案所存在的问题进行说明:
DDoS攻击,是指黑客通过控制分布在各处的僵死网络向目的服务器发起大量异常流量,服务器忙于处理异常流量,无法处理正常用户请求,甚至系统崩溃,造成拒绝服务。UDP Flood是一种非常常见的DDoS攻击手法,通过大量的UDP垃圾流量,阻塞服务器带宽,导致业务瘫痪。由于UDP是无连接的传输协议,因此无法通过源认证的方法防御UDP Flood攻击。传统UDP防护包括如下几种策略方式:限速策略、特征过滤策略、包长限制策略和源端口策略。
限速策略:根据源因特网协议(Internet Protocol,IP)、目的IP、源端口、目的端口以及协议号(例如UDP的协议号为17)五元组做限速,通过限速策略拦截部分攻击流量,缓解UDP FLOOD攻击。限速策略的不足之处在于:限速策略虽然可以在一定程度上缓解UDP攻击,但是对正常流量和攻击流量无差别限速,导致存在误杀正常流量的风险,而且对于伪造源IP的攻击手法,通常攻击源数量非常庞大,即使进行限速,服务器收到的攻击流量仍然很多,限速策略防护效果较差。
特征过滤策略:由于部分UDP攻击报文存在有别于正常业务报文的固定字符串或者特征,因此通过对具有这些字符串或者特征的UDP报文进行拦截,能够达到防护UDP攻击的目的;特征过滤策略的不足之处在于:该策略只有在UDP攻击报文存在有别于正常业务报文的固定字符串或者特征时,才能有效防护,而在无特征的UDP攻击报文面前,无法发挥作用。
包长限制策略:由于攻击者为了达到通过UDP攻击阻塞被攻击服务器带宽的目的,通常把UDP攻击报文设置成较大的长度(通常一千字节以上),而大部分正常UDP业务报文单包包长不会太长,因此,可以通过设定UDP包长限制策略,对包长过长的UDP报文做拦截,实现UDP攻击防护;包长限制策略的不足之处在于:与特征过滤策略一样,依赖攻击报文存在明显异于正常业务报文的报文长度的特征才能有效防护,否则难以到达防护目的。
源端口过滤策略:反射放大是UDP FLOOD的常见攻击手法,攻击者通过向第三方服务器发送用作请求的UDP攻击报文,且UDP攻击报文中携带被攻击者的地址,第三方服务器在接收到该UDP攻击报文后,会将答复报文发送给被攻击者,由于攻击者会选用请求报文小而答复报文大的协议进行攻击,因此攻击者能够通过较小的流量,实现对目标服务器的大流量攻击。反射放大攻击通常反射源端口固定,例如简单服务发现协议(Simple ServiceDiscovery Protocol,SSDP)反射源端口1900、字符发生器协议(Character GeneratorProtocol,CHARGEN)反射源端口19等,因此可以通过将常见的反射源端口进行过滤实现UDP防护。反射源端口过滤策略的不足之处在于:除了反射放大攻击,普通的UDP攻击不存在端口集聚,更多情况下是使用随机反射源端口发起攻击,造成源端口过滤策略难以达到防护目的。
然而按照目前的UDP防护方式,无法对UDP攻击实现完全的防护。为了解决上述问题,本发明实施例提供了一种UDP流量过滤方法。在介绍本申请的UDP流量过滤方法前,先对UDP流量过滤系统的架构进行简单说明。
图1是本发明实施例提供的一种UDP流量过滤系统的结构示意图,参见图1,该UDP流量过滤系统10连接路由器20,该路由器20通常为网络中的核心路由器,路由器20连接运营商网络30,路由器20同时通过交换机40连接服务器50,从而实现服务器50与网络其他设备的连通。其中,路由器20可以连接多个交换机40,该交换机40可以为核心交换机,每个交换机40可以连接多个服务器50。
UDP流量过滤系统10包括检测学习子系统101、防护子系统102和控制子系统103,三个子系统既可以分别采用独立的设备(如服务器)实现,也可以其中两个或者三个全部集成在一个设备上。
路由器20在传输发送给服务器50的流量时,会产生镜像流量,并将镜像流量发送给检测学习子系统101。检测学习子系统101根据镜像流量对各个服务器的UDP流量进行学习,得到指纹特征基线数据;并将指纹特征基线数据存储到控制子系统103的数据库中。同时,检测学习子系统101检测各个服务器是否受到UDP Flood攻击,在检测到服务器受到UDPFlood攻击时,向防护子系统102和控制子系统103输出服务器的告警信息。
防护子系统102收到告警信息时,从防护子系统102获取服务器的指纹特征基线数据。同时,防护子系统102与路由器20之间进行流量牵引,将服务器的UDP流量牵引到防护子系统102,防护子系统102根据指纹特征基线数据对服务器的UDP流量进行过滤,将过滤后的服务器的UDP流量回传给路由器20,再由路由器20传输给服务器。
其中,服务器为前述路由器20连接的任一个服务器。
图2是本发明实施例提供的一种UDP流量过滤方法的流程图,参见图2,该方法由前述UDP流量过滤系统执行,该方法包括:
步骤101:当服务器受到UDP Flood攻击时,获取服务器的指纹特征基线数据。
其中,服务器受到UDP Flood攻击是指单位时间内发送给服务器的UDP流量超过服务器的安全阈值。
在本发明实施例中,指纹特征基线数据包括:业务载荷特征基线、业务端口特征基线、业务包长特征基线和业务协议特征基线,业务载荷特征基线包括服务器的UDP报文的载荷特征白名单,业务端口特征基线包括服务器的UDP报文的端口白名单,业务包长特征基线包括服务器的UDP报文的包长范围白名单,业务协议特征基线用于指示服务器的正常业务是否存在UDP流量。
载荷特征白名单中可以包括一个或多个载荷特征,携带有载荷特征白名单中的载荷特征的UDP报文不会被过滤掉。端口白名单中可以包括一个或多个端口号,携带有端口名单中的端口号的UDP报文不会被过滤掉。包长范围白名单中可以包括一个或多个包长范围,包长处在包长白名单的包长范围内的UDP报文不会被过滤掉。
步骤102:依次利用业务载荷特征基线、业务端口特征基线、业务包长特征基线和业务协议特征基线对待发送到服务器的流量中的UDP流量进行过滤,直到正在使用的一个特征基线能够使过滤后的单位时间内待发送到服务器的UDP流量低于安全阈值,或者能够使过滤后的单位时间内所述服务器的UDP流量不低于安全阈值,但比用其他特征基线过滤后的单位时间内服务器的UDP流量小。
其中,UDP流量也即采用UDP协议传输给服务器的数据。
其中,单位时间通常为1秒(S),例如1S内待发送到服务器的UDP流量为50G;安全阈值是单位时间内允许发送到服务器的UDP流量,例如安全阈值为20G/S。
在步骤102中,先利用业务载荷特征基线对待发送到服务器的UDP流量进行过滤,如果利用业务载荷特征基线过滤后单位时间内待发送到服务器的UDP流量低于安全阈值,则将利用业务载荷特征基线过滤后的待发送到服务器的UDP流量发送给服务器;否则,利用业务端口特征基线对待发送到服务器的UDP流量进行过滤,如果利用业务端口特征基线过滤后单位时间内待发送到服务器的UDP流量低于安全阈值,则将利用业务端口特征基线过滤后的待发送到服务器的UDP流量发送给服务器;否则,利用业务包长特征基线对待发送到服务器的UDP流量进行过滤,如果利用业务包长特征基线过滤后单位时间内待发送到服务器的UDP流量低于安全阈值,则将利用业务包长特征基线过滤后的待发送到服务器的UDP流量发送给服务器;否则,根据业务协议特征基线确定服务器的正常业务是否存在UDP流量,如果正常业务不存在UDP流量,则将服务器的所有UDP流量过滤掉。由于这种情况下业务协议特征基线指示的是将服务器的所有UDP流量过滤掉,所以在上述过程中,必然能够选取到一个特征基线能够使过滤后的单位时间内待发送到服务器的UDP流量低于安全阈值。
如果正常业务存在UDP流量,则在利用业务包长特征基线过滤后单位时间内待发送到服务器的UDP流量不低于安全阈值时,仍然采用业务包长特征基线对待发送到服务器的UDP流量进行过滤,并将过滤后的待发送到服务器的UDP流量发送给服务器,避免将正常业务的UDP流量过滤掉。由于这种情况下业务协议特征基线指示的是不会将服务器的所有UDP流量都过滤掉,所以在上述过程中,如果采用业务包长特征基线不能够使过滤后的单位时间内待发送到服务器的UDP流量低于安全阈值,但由于业务包长特征基线比用其他特征基线过滤后的单位时间内服务器的UDP流量小,此时仍然选用业务包长特征基线进行UDP流量过滤,实现UDP攻击流量过滤最大化。
例如,利用业务载荷特征基线进行UDP流量过滤后,1S内UDP流量为10G,而安全阈值为20G/S,则可以采用业务载荷特征基线进行UDP流量过滤。
进一步地,在服务器受到UDP Flood攻击的过程中,周期性地统计过滤后的单位时间内UDP流量的多少,当过滤后的单位时间内UDP流量超过安全阈值时,按照业务载荷特征基线、业务端口特征基线、业务包长特征基线和业务协议特征基线的顺序,选择新的特征基线进行UDP流量过滤。例如,当采用业务载荷特征基线进行UDP流量过滤一段时间后,1S内UDP流量为30G时,而安全阈值为20G/S,需要利用业务端口特征基线进行UDP流量过滤,如果利用业务端口特征基线进行UDP流量过滤后,1S内UDP流量为15G,则可以采用业务端口特征基线进行UDP流量过滤。
当过滤后的单位时间内UDP流量低于安全阈值,且与安全阈值的差值较大(如超过设定值)时,如果当前采用的特征基线为业务端口特征基线或业务包长特征基线,则重新从业务载荷特征基线开始,按顺序选择新的特征基线进行UDP流量过滤。例如,当业务端口特征基线进行UDP流量过滤一段时间后,1S内UDP流量为5G时,而安全阈值为20G/S,二者相差15G,超过设定值10G,此时可以重新从业务载荷特征基线开始,如果此时采用业务载荷特征基线进行过滤,能够使得过滤后的单位时间内待发送到服务器的UDP流量低于安全阈值,则采用业务载荷特征基线进行UDP流量过滤。这样可以在保证服务器安全的前提下,尽量实现攻击流量的准确过滤。
如果在步骤102中,选择业务协议特征基线将服务器的所有UDP流量过滤掉,那么在服务器受到UDP Flood攻击的过程中,持续按照该方式进行过滤,保证服务器的安全。
按照上述方式进行UDP流量过滤直到服务器不受UDP Flood攻击。
步骤103:将过滤后的服务器的流量发送给服务器。
当步骤102过滤后还有UDP流量,则将UDP流量和其他流量一起发送给服务器,当步骤102过滤后没有UDP流量,则将其他流量发送给服务器。其他流量可以是传输控制协议(Transmission Control Protocol,TCP)流量。
本申请通过在服务器受到UDP Flood攻击时,获取服务器的指纹特征基线数据,然后依次利用业务载荷特征基线、业务端口特征基线、业务包长特征基线和业务协议特征基线对待发送到服务器的流量中的UDP流量进行过滤,直到正在使用的一个特征基线能够使过滤后的单位时间内待发送到服务器的UDP流量低于安全阈值,或者能够使过滤后的单位时间内所述服务器的UDP流量不低于安全阈值,但比用其他特征基线过滤后的单位时间内服务器的UDP流量小,采用上述过滤方式,只需要对不满足指纹特征基线数据的流量进行过滤,对正常流量基本无影响,并且采用多种策略进行过滤,防护效果好;另外,由于业务载荷特征基线、业务端口特征基线和业务包长特征基线分别包括载荷特征白名单、端口白名单和包长范围白名单,所以在采用这三个特征基线进行过滤时,就是过滤掉与正常业务报文载荷特征、端口特征、包长特征不同的报文,而业务协议特征基线指示服务器的正常业务是否存在UDP流量,在业务协议特征基线是服务器的正常业务不存在UDP流量时,可以将所有的UDP流量都过滤掉,从而避免被攻击,按照这种顺序进行流量过滤,先使用过滤准确度高的基线数据进行过滤,如果无法成功将单位时间内UDP流量降低到安全阈值以下,则再使用过滤准确度稍低的基线数据进行过滤,这样,能够保证过滤后的UDP流量不会造成服务器无法服务,同时,尽可能的减小了过滤过程中对正常业务的UDP流量的影响。
图3是本发明实施例提供的另一种UDP流量过滤方法的流程图,参见图3,该方法由前述UDP流量过滤系统执行,该方法流程包括:
步骤201:统计单位时间内发送到服务器的UDP流量。
具体地,UDP流量过滤系统接收路由器发送的镜像流量,该镜像流量既包括UDP流量,也包括其他流量,如TCP流量。按照UDP流量中报文的目的地址,统计单位时间内发送到服务器的UDP流量的多少,例如单位时间内发送到服务器的UDP流量为50G等。
在本发明实施例中,路由器发送的镜像流量包括多个服务器的UDP流量,所以在统计时,对各个服务器的UDP流量分别进行统计。当镜像流量包括多个服务器的UDP流量时,后续各个步骤也需要针对各个服务器的UDP流量分别执行。
步骤202:根据单位时间内发送到服务器的UDP流量以及服务器对应的安全阈值,确定服务器是否受到UDP Flood攻击。
在本发明实施例中,步骤202可以包括:
获取服务器对应的安全阈值;比较单位时间内发送到服务器的UDP流量与对应的安全阈值的大小;当单位时间内发送到服务器的UDP流量大于或等于对应的安全阈值时,确定该服务器受到UDP Flood攻击,当单位时间内发送到服务器的UDP流量小于对应的安全阈值时,确定该服务器未受到UDP Flood攻击。
其中,服务器对应的安全阈值可以事先存储在UDP流量过滤系统中,每个服务器的安全阈值与服务器的功能相关,例如域名系统(Domain Name System,DNS)服务器、视频服务器的安全阈值大小不同。
对于未设置安全阈值的服务器,则采用默认安全阈值。
进一步地,该方法还包括:记录服务器受到UDP Flood攻击的时间,服务器受到UDPFlood攻击的时间包括起始时间和结束时间。其中,起始时间是指步骤202中检测到服务器开始受到UDP Flood攻击的时间,结束时间为步骤202中检测到服务器开始不受UDP Flood攻击的时间。
步骤203:对服务器的UDP流量进行学习,得到指纹特征基线数据。
在本发明实施例中,指纹特征基线数据包括:业务载荷特征基线、业务端口特征基线、业务包长特征基线和业务协议特征基线,业务载荷特征基线包括服务器的UDP报文的载荷特征白名单,业务端口特征基线包括服务器的UDP报文的端口白名单,业务包长特征基线包括服务器的UDP报文的包长范围白名单,业务协议特征基线用于指示服务器的正常业务是否存在UDP流量。
载荷特征白名单中可以包括一个或多个载荷特征,携带有载荷特征白名单中的载荷特征的UDP报文不会被过滤掉。端口白名单以及包长范围白名单与载荷特征白名单类似,这里不做赘述。
下面以对服务器的UDP流量进行学习为例,对步骤203进行说明。
对服务器的UDP流量进行学习,包括:
第一步,获取该服务器的UDP流量中的每个报文对应的报文信息,报文信息包括接收时间、服务器的地址、载荷特征、端口号和包长。
其中,时间为UDP流量过滤系统接收到该报文的时间。服务器的地址为服务器的IP地址,也即该报文的目的IP地址。端口为发送该报文的源端口。包长为该报文的长度。载荷特征可以是该报文中的连续的几个字节,具体是这连续的几个字节的内容,在本实施例中,载荷特征可以包括报文的前m个字节和后n个字节中的至少一项,其中,n等于4或者8,m等于4或者8。UDP报文的变化可以很多,而且载荷特征可以很长,如果所有字节都学习,会严重消耗系统资源,影响方案可行性;并且,正常UDP业务报文如果存在特征,通常都集中在报文的头部和尾部,例如某个业务使用的自定义协议,相应地业务报文使用了自定义协议头,协议头放在报文的最前面,所以特征通常存在前4个字节或前8个字节上,后4个字节和后8个字节也有类似情况,所以本申请采用学习前m个字节和后n个字节中的至少一项作为载荷特征,其中,n等于4或者8,m等于4或者8。
UDP流量过滤系统可以对报文进行抓包来获取服务器的地址、载荷特征、端口号和包长。具体地,可以在UDP流量过滤系统中设计两个模块,一个网络层学习模块和一个应用层学习模块,网络层学习模块负责学习服务器的地址、端口号和包长,应用层学习模块负责学习载荷特征。
第二步,将服务器受到UDP Flood攻击时获取到的报文信息删除。
服务器受到UDP Flood攻击时,UDP流量中包括攻击流量,为了保证指纹特征基线数据是从正常业务报文学习到的,需要将这段时间的报文信息删除掉。
其中,第二步可以包括:确定服务器受到UDP Flood攻击的起始时间和结束时间;将时间在该起始时间和结束时间之间的服务器的报文信息删除掉。在步骤202中记录了服务器受到UDP Flood攻击的时间,因此可以确定出服务器受到UDP Flood攻击的起始时间和结束时间。
第三步,周期性地根据获取到的报文信息生成指纹特征基线数据。
在该步骤中,每个周期时间结束时,对该周期时间内获得的服务器的报文信息进行统计,得到指纹特征基线数据。每个周期生成指纹特征基线数据后,对上个周期得到的指纹特征基线数据进行更新。
示例性地,周期时间可以为一天。
其中,第三步可以包括:
统计在当前周期内获取到的报文信息中的载荷特征;确定在连续多个周期内均存在且在当前周期内所占的比例超过第一阈值的载荷特征,生成业务载荷特征基线。先确定出在连续多个周期内均存在且在当前周期内所占的比例超过第一阈值的载荷特征,用这些载荷特征组成载荷特征白名单。
其中,连续多个周期可以根据需要进行设计,例如连续7个周期,如7天。第一阈值可以根据需要进行设计,例如10%。
统计在当前周期内获取到的报文信息中的端口;确定在连续多个周期内均存在且在当前周期内所占的比例超过第二阈值的端口,生成业务端口特征基线。先确定出在连续多个周期内均存在且在当前周期内所占的比例超过第二阈值的端口,用这些端口的端口号组成端口白名单。
例如,在连续多个周期内均存在且在当前周期内所占的比例超过第二阈值的端口为1000和2000,则业务端口特征基线包括端口1000和2000。第二阈值可以根据需要进行设计,例如10%。
统计在当前周期内获取到的报文信息中的包长;确定在连续多个周期内均存在且在当前周期内所占的比例超过第三阈值的包长范围,生成包长特征基线数据。先确定出在连续多个周期内均存在且在当前周期内所占的比例超过第三阈值的包长范围,用这些包长范围组成包长范围白名单。
其中,每个包长范围可以为50个字节,例如包长范围可以划分为1-50字节、51-100字节、…、1451-1500字节,这样设计,一方面能够准确划分包长聚集的情况,另一方面能够保证占用系统开销不会过多。第三阈值可以根据需要进行设计,例如10%。
确定当前周期内接收到的该服务器的UDP报文占接收到的该服务器的所有类型报文的比例,当比例超过第四阈值时,业务协议特征基线用于指示服务器的正常业务存在UDP流量,当比例未超过第四阈值时,业务协议特征基线用于指示服务器的正常业务不存在UDP流量。
其中,第四阈值可以根据需要进行设计,例如5%。
由于本发明实施例的防护方案是基于UDP流量自学习生成基线数据完成的,与人为设定的特征过滤策略、包长限制策略或源端口过滤策略不同,所以防护策略会更加的灵活、准确,误杀风险更低。
步骤203与步骤201没有先后顺序关系,例如可以先开始执行步骤203,然后再开始执行步骤201,也可以先开始执行步骤201,再开始执行步骤203。
在该方法流程中,步骤201、202、203由图1所示的UDP流量过滤系统中的检测学习子系统执行。
步骤204:保存指纹特征基线数据。
在本发明实施例中,保存指纹特征基线数据是指,将所述指纹特征基线数据存入数据库中。数据库中存储有各个服务器的指纹特征基线数据。具体地,数据库中可以包括指纹特征基线数据及其对应的服务器的地址,从而保证后续过程中能够根据服务器的地址获取到对应的指纹特征基线数据。
该数据库可以设置在UDP流量过滤系统中的控制子系统上,步骤204由UDP流量过滤系统中的检测学习子系统执行,检测学习子系统将指纹特征基线数据存入控制子系统的数据库中。由于指纹特征基线数据是周期生成的,所以数据库中的指纹特征基线数据也是周期性更新。其中,更新是指用新的指纹特征基线数据替换数据库中原来的指纹特征基线数据。
步骤205:当服务器受到UDP Flood攻击时,获取服务器的指纹特征基线数据。
在本发明实施例中,步骤204可以包括:根据服务器的地址从数据库中获取服务器的指纹特征基线数据。
步骤205可以由UDP流量过滤系统中的防护子系统执行。
可选地,方法还包括:当服务器受到UDP Flood攻击时,生成告警信息。
其中,告警信息可以包括接收时间、服务器的地址及攻击类型。其中,攻击类型为UDP攻击。
该告警信息由检测学习子系统生成,然后输出到控制子系统和防护子系统。当防护子系统接收到告警信息时,根据告警信息中的服务器的地址从控制子系统获取服务器的指纹特征基线数据。
步骤206:依次利用业务载荷特征基线、业务端口特征基线、业务包长特征基线和业务协议特征基线对待发送到服务器的流量中的UDP流量进行过滤,直到正在使用的一个特征基线能够使过滤后的单位时间内待发送到服务器的UDP流量低于安全阈值,或者能够使过滤后的单位时间内所述服务器的UDP流量不低于安全阈值,但比用其他特征基线过滤后的单位时间内服务器的UDP流量小。
在本发明实施例中,步骤206由UDP流量过滤系统中的防护子系统执行,步骤206可以包括:防护子系统与路由器之间进行流量牵引,将服务器的UDP流量牵引到防护子系统;然后根据指纹特征基线数据对服务器的UDP流量进行过滤。
其中,防护子系统与路由器之间进行流量牵引,将服务器的UDP流量牵引到UDP流量过滤系统可以通过如下方式实现:防护子系统通过与路由器建立的边界网关协议(Border Gateway Protocol,BGP)邻居关系,向路由器发布服务器的牵引路由,将服务器的UDP流量发送到防护子系统。
具体地,路由器中可以虚拟出两个路由器:第一虚拟路由器和第二虚拟路由器,第一虚拟路由器负责接收服务器的UDP流量,第二虚拟路由器负责将服务器的UDP流量发送给服务器。防护子系统向第一虚拟路由器发布服务器的牵引路由,该牵引路由的下一跳为防护子系统,该牵引路由的子网掩码比第一虚拟路由器学习到的服务器的路由的子网掩码长,根据最长掩码匹配原则,第一虚拟路由器采用该牵引路由作为服务器的路由。第一虚拟路由器将接收到的服务器的UDP流量发送给防护子系统,防护子系统进行UDP流量过滤。在服务器结束被攻击后,防护子系统可以向第一虚拟路由器发送宣告牵引路由无效的信息,使服务器未受到UDP Flood攻击时的UDP流量不再发送给防护子系统。
其中,根据指纹特征基线数据对服务器的UDP流量进行过滤,可以包括:
确定待发送到服务器的UDP流量中每个报文携带的载荷特征;丢弃服务器的UDP流量中载荷特征不属于载荷特征白名单的报文;
如果在丢弃服务器的UDP流量中载荷特征不属于载荷特征白名单的报文后,单位时间内服务器的UDP流量仍然超过安全阈值,则确定待发送到服务器的UDP流量中每个报文对应的端口;丢弃服务器的UDP流量中对应的端口不属于端口白名单的报文;
如果在丢弃服务器的UDP流量中对应的端口不属于端口白名单的报文后,单位时间内服务器的UDP流量仍然超过安全阈值,则确定待发送到服务器的UDP流量中每个报文的包长;丢弃服务器的UDP流量中包长不属于包长范围白名单的报文;
如果在丢弃服务器的UDP流量中包长不属于包长范围白名单的报文后,单位时间内服务器的UDP流量仍然超过安全阈值,则根据业务协议特征基线确定服务器的正常业务是否存在UDP流量,当服务器的正常业务不存在UDP流量时,拦截服务器的所有UDP流量;当服务器的正常业务存在UDP流量时,丢弃服务器的UDP流量中包长不属于包长范围白名单的报文。
在上述过滤过程中,由于根据载荷特征确定是否为攻击报文的准确度最高,所以,先使用载荷特征基线数据进行UDP流量过滤,如果无法成功将单位时间内UDP流量降低到安全阈值以下,则再使用过滤准确度稍低的端口特征基线数据进行过滤,按照这种顺序,既能够保证过滤后的UDP流量不会造成服务器无法服务,同时,还尽可能减小了过滤过程中对正常业务的UDP流量的影响。
例如,利用业务载荷特征基线进行UDP流量过滤后,1S内UDP流量为10G,而安全阈值为20G/S,则可以采用业务载荷特征基线进行UDP流量过滤。
进一步地,在服务器受到UDP Flood攻击的过程中,周期性地统计过滤后的单位时间内UDP流量的多少,当过滤后的单位时间内UDP流量超过安全阈值时,按照业务载荷特征基线、业务端口特征基线、业务包长特征基线和业务协议特征基线的顺序,选择新的特征基线进行UDP流量过滤。例如,当采用业务载荷特征基线进行UDP流量过滤一段时间后,1S内UDP流量为30G时,而安全阈值为20G/S,需要利用业务端口特征基线进行UDP流量过滤,如果利用业务端口特征基线进行UDP流量过滤后,1S内UDP流量为15G,则可以采用业务端口特征基线进行UDP流量过滤。
当过滤后的单位时间内UDP流量低于安全阈值,且与安全阈值的差值较大(如超过设定值)时,如果当前采用的特征基线为业务端口特征基线或业务包长特征基线,则重新从业务载荷特征基线开始,按顺序选择新的特征基线进行UDP流量过滤。例如,当业务端口特征基线进行UDP流量过滤一段时间后,1S内UDP流量为5G时,而安全阈值为20G/S,二者相差15G,超过设定值10G,此时可以重新从业务载荷特征基线开始,如果此时采用业务载荷特征基线进行过滤,能够使得过滤后的单位时间内待发送到服务器的UDP流量低于安全阈值,则采用业务载荷特征基线进行UDP流量过滤。这样可以在保证服务器安全的前提下,尽量实现攻击流量的准确过滤。
如果在步骤102中,选择业务协议特征基线将服务器的所有UDP流量过滤掉,那么在服务器受到UDP Flood攻击的过程中,持续按照该方式进行过滤,保证服务器的安全。
按照上述方式进行UDP流量过滤直到服务器不受UDP Flood攻击。
步骤207:将过滤后的服务器的流量发送给服务器。
防护子系统将过滤后的UDP流量返回路由器,由路由器发送给服务器。
具体地,防护子系统在进行UDP流量过滤后将服务器的UDP流量发送给前述第二虚拟路由器,由第二虚拟路由器发送给服务器。
图4是本发明实施例提供的一种UDP流量过滤装置的结构示意图,参见图4,该装置300包括:获取模块301、过滤模块302和发送模块303。
获取模块301,用于当服务器受到UDP Flood攻击时,获取服务器的指纹特征基线数据,指纹特征基线数据包括:业务载荷特征基线、业务端口特征基线、业务包长特征基线和业务协议特征基线。
过滤模块302,用于依次利用业务载荷特征基线、业务端口特征基线、业务包长特征基线和业务协议特征基线对待发送到服务器的流量中的UDP流量进行过滤,直到正在使用的一个特征基线能够使过滤后的单位时间内待发送到服务器的UDP流量低于安全阈值,或者能够使过滤后的单位时间内所述服务器的UDP流量不低于安全阈值,但比用其他特征基线过滤后的单位时间内服务器的UDP流量小。
发送模块303,用于将过滤后的服务器的流量发送给服务器。
可选地,业务载荷特征基线包括服务器的UDP报文的载荷特征白名单,业务端口特征基线包括服务器的UDP报文的端口白名单,业务包长特征基线包括服务器的UDP报文的包长范围白名单,业务协议特征基线用于指示服务器的正常业务是否存在UDP流量。
可选地,过滤模块302,包括:
载荷特征分析过滤模块321,用于确定待发送到服务器的UDP流量中每个报文携带的载荷特征;丢弃服务器的UDP流量中载荷特征不属于载荷特征白名单的报文;
端口特征分析过滤模块322,用于如果在丢弃服务器的UDP流量中载荷特征不属于载荷特征白名单的报文后,单位时间内服务器的UDP流量仍然超过安全阈值,则确定待发送到服务器的UDP流量中每个报文对应的端口;丢弃服务器的UDP流量中载荷特征不属于载荷特征白名单的报文;
包长特征分析过滤模块323,用于如果在丢弃服务器的UDP流量中载荷特征不属于载荷特征白名单的报文后,单位时间内服务器的UDP流量仍然超过安全阈值,则确定待发送到服务器的UDP流量中每个报文的包长;丢弃服务器的UDP流量中包长不属于包长范围白名单的报文;
协议特征分析过滤模块324,用于如果在丢弃服务器的UDP流量中包长不属于包长范围白名单的报文后,单位时间内服务器的UDP流量仍然超过安全阈值,则根据业务协议特征基线确定服务器的正常业务是否存在UDP流量,当服务器的正常业务不存在UDP流量时,拦截服务器的所有UDP流量。当服务器的正常业务存在UDP流量时,通过包长特征分析过滤模块323丢弃服务器的UDP流量中包长不属于包长范围白名单的报文
可选地,该装置还包括:学习模块304,用于对服务器的UDP流量进行学习,得到指纹特征基线数据;保存指纹特征基线数据。
可选地,学习模块304,用于获取服务器的UDP流量中每个报文对应的报文信息,报文信息包括接收时间、服务器的地址、载荷特征、端口号和包长;将服务器受到UDP Flood攻击时获取到的报文信息删除;周期性地根据获取到的报文信息生成指纹特征基线数据。
可选地,学习模块304,用于:
统计在当前周期内获取到的报文信息中的载荷特征;确定在连续多个周期内均存在且在当前周期内所占的比例超过第一阈值的载荷特征,生成业务载荷特征基线;
统计在当前周期内获取到的报文信息中的端口;确定在连续多个周期内均存在且在当前周期内所占的比例超过第二阈值的端口,生成业务端口特征基线;
统计在当前周期内获取到的报文信息中的包长;确定在连续多个周期内均存在且在当前周期内所占的比例超过第三阈值的包长范围,生成包长特征基线数据;
确定当前周期内接收到的该服务器的UDP报文占接收到的该服务器的所有类型报文的比例,当比例超过第四阈值时,业务协议特征基线用于指示服务器的正常业务存在UDP流量,当比例未超过第四阈值时,业务协议特征基线用于指示服务器的正常业务不存在UDP流量。
其中,学习模块304可以包括:网络层学习模块341,用于学习业务端口特征基线、包长特征基线数据和业务协议特征基线;应用层学习模块342,用于学习业务载荷特征基线。
可选地,该装置还包括:检测模块305,用于统计单位时间内发送到服务器的UDP流量;根据单位时间内发送到服务器的UDP流量以及服务器对应的安全阈值,确定服务器是否受到UDP Flood攻击。
可选地,载荷特征包括UDP报文的前m个字节和后n个字节中的至少一项,其中,n等于4或者8,m等于4或者8。
需要说明的是:上述实施例提供的UDP流量过滤装置在实现UDP流量过滤方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的UDP流量过滤装置与UDP流量过滤方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5是本发明实施例提供的一种服务器的结构示意图。该服务器可以是UDP流量过滤系统。具体来讲:
UDP流量过滤系统400包括中央处理单元(CPU)401、包括随机存取存储器(RAM)402和只读存储器(ROM)403的系统存储器404,以及连接系统存储器404和中央处理单元401的系统总线405。UDP流量过滤系统400还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)406,和用于存储操作系统413、应用程序414和其他程序模块415的大容量存储设备407。
基本输入/输出系统406包括有用于显示信息的显示器408和用于用户输入信息的诸如鼠标、键盘之类的输入设备409。其中显示器408和输入设备409都通过连接到系统总线405的输入输出控制器410连接到中央处理单元401。基本输入/输出系统406还可以包括输入输出控制器410以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器410还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备407通过连接到系统总线405的大容量存储控制器(未示出)连接到中央处理单元401。大容量存储设备407及其相关联的计算机可读介质为UDP流量过滤系统400提供非易失性存储。也就是说,大容量存储设备407可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储13介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器404和大容量存储设备407可以统称为存储器。
根据本发明的各种实施例,UDP流量过滤系统400还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即UDP流量过滤系统400可以通过连接在系统总线405上的网络接口单元411连接到网络412,或者说,也可以使用网络接口单元411来连接到其他类型的网络或远程计算机系统(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。CPU 401通过执行该一个或一个以上程序来实现图2或图3所示的UDP流量过滤方法。
本发明实施例还提供了一种非临时性计算机可读存储介质,当存储介质中的指令由UDP流量过滤系统的处理器执行时,使得UDP流量过滤系统能够执行图2或图3所示实施例提供的UDP流量过滤方法。
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述图2或图3所示实施例提供的UDP流量过滤方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种用户数据报协议流量过滤方法,其特征在于,所述方法包括:
当服务器受到用户数据报协议泛洪攻击时,获取所述服务器的指纹特征基线数据,所述指纹特征基线数据包括:业务载荷特征基线、业务端口特征基线、业务包长特征基线和业务协议特征基线;
利用所述业务载荷特征基线对待发送到所述服务器的流量中的用户数据报协议流量进行过滤,如果利用所述业务载荷特征基线过滤后单位时间内待发送到所述服务器的流量中的用户数据报协议流量低于安全阈值,则将利用所述业务载荷特征基线过滤后的待发送到所述服务器的流量发送给所述服务器;
如果利用所述业务载荷特征基线过滤后单位时间内待发送到所述服务器的流量中的用户数据报协议流量不低于安全阈值,则利用所述业务端口特征基线对待发送到所述服务器的流量中的用户数据报协议流量进行过滤,如果利用所述业务端口特征基线过滤后单位时间内待发送到所述服务器的流量中的用户数据报协议流量低于安全阈值,则将利用所述业务端口特征基线过滤后的待发送到所述服务器的流量发送给所述服务器;
如果利用所述业务端口特征基线过滤后单位时间内待发送到所述服务器的流量中的用户数据报协议流量不低于安全阈值,则利用所述业务包长特征基线对待发送到所述服务器的流量中的用户数据报协议流量进行过滤,如果利用所述业务包长特征基线过滤后单位时间内待发送到所述服务器的流量中的用户数据报协议流量低于安全阈值,则将利用所述业务包长特征基线过滤后的待发送到所述服务器的流量发送给所述服务器;
如果利用所述业务包长特征基线过滤后单位时间内待发送到所述服务器的流量中的用户数据报协议流量不低于安全阈值,则利用所述业务协议特征基线对待发送到所述服务器的流量中的用户数据报协议流量进行过滤,如果利用所述业务协议特征基线过滤后单位时间内待发送到所述服务器的流量中的用户数据报协议流量低于安全阈值,则将利用所述业务协议特征基线过滤后的待发送到所述服务器的流量发送给所述服务器;
如果利用所述业务协议特征基线过滤后单位时间内待发送到所述服务器的流量中的用户数据报协议流量不低于安全阈值,则利用过滤后单位时间内待发送到所述服务器的流量中的用户数据报协议流量比用其他特征基线过滤后的单位时间内待发送到所述服务器的用户数据报协议流量小的特征基线进行过滤,将过滤后的待发送到所述服务器的流量发送给所述服务器。
2.根据权利要求1所述的方法,其特征在于,所述业务载荷特征基线包括所述服务器的用户数据报协议报文的载荷特征白名单,所述业务端口特征基线包括所述服务器的用户数据报协议报文的端口白名单,所述业务包长特征基线包括所述服务器的用户数据报协议报文的包长范围白名单,所述业务协议特征基线用于指示所述服务器的正常业务是否存在用户数据报协议流量;
所述利用所述业务载荷特征基线对待发送到所述服务器的流量中的用户数据报协议流量进行过滤,包括:
确定所述待发送到所述服务器的用户数据报协议流量中每个报文携带的载荷特征;丢弃所述服务器的用户数据报协议流量中载荷特征不属于所述载荷特征白名单的报文;
所述利用所述业务端口特征基线对待发送到所述服务器的流量中的用户数据报协议流量进行过滤,包括:
确定所述待发送到所述服务器的用户数据报协议流量中每个报文对应的端口;丢弃所述服务器的用户数据报协议流量中对应的端口不属于所述端口白名单的报文;
所述利用所述业务包长特征基线对待发送到所述服务器的流量中的用户数据报协议流量进行过滤,包括:
确定所述待发送到所述服务器的用户数据报协议流量中每个报文的包长;丢弃所述服务器的用户数据报协议流量中包长不属于所述包长范围白名单的报文;
所述利用所述业务协议特征基线对待发送到所述服务器的流量中的用户数据报协议流量进行过滤,包括:
根据所述业务协议特征基线确定所述服务器的正常业务是否存在用户数据报协议流量,当所述服务器的正常业务不存在用户数据报协议流量时,拦截所述服务器的所有用户数据报协议流量;
所述利用过滤后单位时间内待发送到所述服务器的流量中的用户数据报协议流量比用其他特征基线过滤后的单位时间内待发送到所述服务器的用户数据报协议流量小的特征基线进行过滤,包括:
丢弃所述服务器的用户数据报协议流量中包长不属于所述包长范围白名单的报文。
3.根据权利要求2所述的方法,其特征在于,所述载荷特征包括用户数据报协议报文的前m个字节和后n个字节中的至少一项,其中,n等于4或者8,m等于4或者8。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
对所述服务器的用户数据报协议流量进行学习,得到所述指纹特征基线数据;
保存所述指纹特征基线数据。
5.根据权利要求4所述的方法,其特征在于,所述对所述服务器的用户数据报协议流量进行学习,得到所述指纹特征基线数据,包括:
获取所述服务器的用户数据报协议流量中每个报文对应的报文信息,所述报文信息包括接收时间、所述服务器的地址、载荷特征、端口号和包长;
将所述服务器受到用户数据报协议泛洪攻击时获取到的报文信息删除;
周期性地根据获取到的报文信息生成所述指纹特征基线数据。
6.根据权利要求5所述的方法,其特征在于,所述周期性地根据获取到的报文信息生成所述指纹特征基线数据,包括:
统计在当前周期内获取到的报文信息中的载荷特征;确定在连续多个周期内均存在且在当前周期内所占的比例超过第一阈值的载荷特征,生成所述业务载荷特征基线;
统计在当前周期内获取到的报文信息中的端口;确定在连续多个周期内均存在且在当前周期内所占的比例超过第二阈值的端口,生成所述业务端口特征基线;
统计在当前周期内获取到的报文信息中的包长;确定在连续多个周期内均存在且在当前周期内所占的比例超过第三阈值的包长范围,生成所述包长特征基线数据;
确定当前周期内接收到的所述服务器的用户数据报协议报文占接收到的所述服务器的所有类型报文的比例,当所述比例超过第四阈值时,所述业务协议特征基线用于指示所述服务器的正常业务存在用户数据报协议流量,当所述比例未超过第四阈值时,所述业务协议特征基线用于指示所述服务器的正常业务不存在用户数据报协议流量。
7.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
统计单位时间内发送到所述服务器的用户数据报协议流量;
根据单位时间内发送到所述服务器的用户数据报协议流量以及所述服务器对应的安全阈值,确定所述服务器是否受到用户数据报协议泛洪攻击。
8.一种用户数据报协议流量过滤装置,其特征在于,所述装置包括:
获取模块,用于当服务器受到用户数据报协议泛洪攻击时,获取所述服务器的指纹特征基线数据,所述指纹特征基线数据包括:业务载荷特征基线、业务端口特征基线、业务包长特征基线和业务协议特征基线;
过滤模块,用于利用所述业务载荷特征基线对待发送到所述服务器的流量中的用户数据报协议流量进行过滤;
发送模块,用于如果利用所述业务载荷特征基线过滤后单位时间内待发送到所述服务器的流量中的用户数据报协议流量低于安全阈值,则将利用所述业务载荷特征基线过滤后的待发送到所述服务器的流量发送给所述服务器;
所述过滤模块,还用于如果利用所述业务载荷特征基线过滤后单位时间内待发送到所述服务器的流量中的用户数据报协议流量不低于安全阈值,则利用所述业务端口特征基线对待发送到所述服务器的流量中的用户数据报协议流量进行过滤;
所述发送模块,还用于如果利用所述业务端口特征基线过滤后单位时间内待发送到所述服务器的流量中的用户数据报协议流量低于安全阈值,则将利用所述业务端口特征基线过滤后的待发送到所述服务器的流量发送给所述服务器;
所述过滤模块,还用于如果利用所述业务端口特征基线过滤后单位时间内待发送到所述服务器的流量中的用户数据报协议流量不低于安全阈值,则利用所述业务包长特征基线对待发送到所述服务器的流量中的用户数据报协议流量进行过滤;
所述发送模块,还用于如果利用所述业务包长特征基线过滤后单位时间内待发送到所述服务器的流量中的用户数据报协议流量低于安全阈值,则将利用所述业务包长特征基线过滤后的待发送到所述服务器的流量发送给所述服务器;
所述过滤模块,还用于如果利用所述业务包长特征基线过滤后单位时间内待发送到所述服务器的流量中的用户数据报协议流量不低于安全阈值,则利用所述业务协议特征基线对待发送到所述服务器的流量中的用户数据报协议流量进行过滤;
所述发送模块,还用于如果利用所述业务协议特征基线过滤后单位时间内待发送到所述服务器的流量中的用户数据报协议流量低于安全阈值,则将利用所述业务协议特征基线过滤后的待发送到所述服务器的流量发送给所述服务器;
所述过滤模块,还用于如果利用所述业务协议特征基线过滤后单位时间内待发送到所述服务器的流量中的用户数据报协议流量不低于安全阈值,则利用过滤后单位时间内待发送到所述服务器的流量中的用户数据报协议流量比用其他特征基线过滤后的单位时间内待发送到所述服务器的用户数据报协议流量小的特征基线进行过滤;
所述发送模块,还用于将过滤后的待发送到所述服务器的流量发送给所述服务器。
9.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至7任一项所述的用户数据报协议流量过滤方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至7任一项所述的用户数据报协议流量过滤方法。
CN201810650976.1A 2018-06-22 2018-06-22 用户数据报协议流量过滤方法、装置、服务器及存储介质 Active CN108737447B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810650976.1A CN108737447B (zh) 2018-06-22 2018-06-22 用户数据报协议流量过滤方法、装置、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810650976.1A CN108737447B (zh) 2018-06-22 2018-06-22 用户数据报协议流量过滤方法、装置、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN108737447A CN108737447A (zh) 2018-11-02
CN108737447B true CN108737447B (zh) 2020-07-17

Family

ID=63930472

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810650976.1A Active CN108737447B (zh) 2018-06-22 2018-06-22 用户数据报协议流量过滤方法、装置、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN108737447B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109951491A (zh) * 2019-03-28 2019-06-28 腾讯科技(深圳)有限公司 网络攻击检测方法、装置、设备及存储介质
CN110661722B (zh) * 2019-09-09 2022-07-22 新华三信息安全技术有限公司 一种流量控制的方法及装置
CN111031004B (zh) * 2019-11-21 2021-11-26 腾讯科技(深圳)有限公司 业务流量处理的方法、业务流量学习的方法、装置及系统
CN111181932B (zh) * 2019-12-18 2022-09-27 广东省新一代通信与网络创新研究院 Ddos攻击检测与防御方法、装置、终端设备及存储介质
CN111343143B (zh) * 2020-01-23 2021-07-27 腾讯科技(深圳)有限公司 数据识别方法、装置及存储介质
TWI736456B (zh) * 2020-10-27 2021-08-11 財團法人資訊工業策進會 異常封包偵測裝置及方法
CN112565297A (zh) * 2020-12-24 2021-03-26 杭州迪普科技股份有限公司 一种报文控制方法及装置
CN112714045B (zh) * 2020-12-31 2023-05-19 浙江远望信息股份有限公司 一种基于设备指纹和端口的快速协议识别方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101383694A (zh) * 2007-09-03 2009-03-11 电子科技大学 基于数据挖掘技术的拒绝服务攻击防御方法和系统
CN101465855A (zh) * 2008-12-31 2009-06-24 中国科学院计算技术研究所 一种同步泛洪攻击的过滤方法及系统
CN101572701A (zh) * 2009-02-10 2009-11-04 中科正阳信息安全技术有限公司 针对DNS服务的抗DDoS攻击安全网关系统
CN101599976A (zh) * 2009-07-10 2009-12-09 成都市华为赛门铁克科技有限公司 过滤用户数据报协议数据包的方法和装置
CN102447711A (zh) * 2012-01-18 2012-05-09 中兴通讯股份有限公司 协议报文发送方法及装置
CN104967588A (zh) * 2014-05-26 2015-10-07 腾讯科技(深圳)有限公司 分布式拒绝服务DDoS攻击的防护方法及其装置和系统
CN106953833A (zh) * 2016-01-07 2017-07-14 无锡聚云科技有限公司 一种DDoS攻击检测系统
CN107948175A (zh) * 2017-11-24 2018-04-20 成都知道创宇信息技术有限公司 一种识别DDoS反射放大攻击的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8869275B2 (en) * 2012-11-28 2014-10-21 Verisign, Inc. Systems and methods to detect and respond to distributed denial of service (DDoS) attacks

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101383694A (zh) * 2007-09-03 2009-03-11 电子科技大学 基于数据挖掘技术的拒绝服务攻击防御方法和系统
CN101465855A (zh) * 2008-12-31 2009-06-24 中国科学院计算技术研究所 一种同步泛洪攻击的过滤方法及系统
CN101572701A (zh) * 2009-02-10 2009-11-04 中科正阳信息安全技术有限公司 针对DNS服务的抗DDoS攻击安全网关系统
CN101599976A (zh) * 2009-07-10 2009-12-09 成都市华为赛门铁克科技有限公司 过滤用户数据报协议数据包的方法和装置
CN102447711A (zh) * 2012-01-18 2012-05-09 中兴通讯股份有限公司 协议报文发送方法及装置
CN104967588A (zh) * 2014-05-26 2015-10-07 腾讯科技(深圳)有限公司 分布式拒绝服务DDoS攻击的防护方法及其装置和系统
CN106953833A (zh) * 2016-01-07 2017-07-14 无锡聚云科技有限公司 一种DDoS攻击检测系统
CN107948175A (zh) * 2017-11-24 2018-04-20 成都知道创宇信息技术有限公司 一种识别DDoS反射放大攻击的方法

Also Published As

Publication number Publication date
CN108737447A (zh) 2018-11-02

Similar Documents

Publication Publication Date Title
CN108737447B (zh) 用户数据报协议流量过滤方法、装置、服务器及存储介质
CN108063765B (zh) 适于解决网络安全的sdn系统
US6973040B1 (en) Method of maintaining lists of network characteristics
CN101589595B (zh) 用于潜在被污染端系统的牵制机制
US6816910B1 (en) Method and apparatus for limiting network connection resources
US7636305B1 (en) Method and apparatus for monitoring network traffic
CN109005175B (zh) 网络防护方法、装置、服务器及存储介质
US9166990B2 (en) Distributed denial-of-service signature transmission
CN108810008B (zh) 传输控制协议流量过滤方法、装置、服务器及存储介质
US20090240804A1 (en) Method and apparatus for preventing igmp packet attack
Huang et al. Countering denial-of-service attacks using congestion triggered packet sampling and filtering
KR20060030037A (ko) 네트워크 공격 대책방법, 네트워크 공격 대책장치 및 네트워크 공격 대책 프로그램을 기록한 기록매체
US10834125B2 (en) Method for defending against attack, defense device, and computer readable storage medium
KR20120060655A (ko) 서버 공격을 탐지할 수 있는 라우팅 장치와 라우팅 방법 및 이를 이용한 네트워크
Wang et al. Efficient and low‐cost defense against distributed denial‐of‐service attacks in SDN‐based networks
CN110213204B (zh) 攻击防护方法及装置、设备及可读存储介质
US8964763B2 (en) Inter-router communication method and module
CN107690004B (zh) 地址解析协议报文的处理方法及装置
CN110198290B (zh) 一种信息处理方法、设备、装置及存储介质
CN110995586B (zh) 一种bgp报文的处理方法、装置、电子设备及存储介质
CN111031077B (zh) 一种流量清洗方法、流量清洗系统和设备
KR100733830B1 (ko) 광대역 네트워크에서의 분산 서비스 거부 공격 탐지 및대응 방법
KR101065800B1 (ko) 네트워크 관리 장치 및 그 방법과 이를 위한 사용자 단말기및 그의 기록 매체
US11838197B2 (en) Methods and system for securing a SDN controller from denial of service attack
CN102546387B (zh) 一种数据报文的处理方法、装置及系统

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