CN114124442A - 一种防御ddos攻击的方法和系统 - Google Patents

一种防御ddos攻击的方法和系统 Download PDF

Info

Publication number
CN114124442A
CN114124442A CN202111158646.9A CN202111158646A CN114124442A CN 114124442 A CN114124442 A CN 114124442A CN 202111158646 A CN202111158646 A CN 202111158646A CN 114124442 A CN114124442 A CN 114124442A
Authority
CN
China
Prior art keywords
dns
service system
abnormal state
dns resolution
request
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
CN202111158646.9A
Other languages
English (en)
Other versions
CN114124442B (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.)
Tianyi Digital Life Technology Co Ltd
Original Assignee
Tianyi Digital Life Technology 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 Tianyi Digital Life Technology Co Ltd filed Critical Tianyi Digital Life Technology Co Ltd
Priority to CN202111158646.9A priority Critical patent/CN114124442B/zh
Publication of CN114124442A publication Critical patent/CN114124442A/zh
Application granted granted Critical
Publication of CN114124442B publication Critical patent/CN114124442B/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/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

本发明涉及一种防御DDOS攻击的方法和系统。在本发明中,在遭到DDOS攻击时,用户主机侧在发送的正常DNS解析请求中包含校验值;位于外网的DNS服务侧,对于大量的同源DNS解析请求进行过滤,同时识别来自真正用户的DNS解析请求,只将校验值正确的响应消息返回至用户主机。由此,本发明在不改变原有DNS解析流程的前提下,根据DDOS攻击的行为特征,当发生DDOS攻击时,能够及时启动过滤机制,保证用户主机的网络不会因为海量的响应消息造成网络问题,同时还保证了用户主机的正常请求不会被域名服务器过滤,能够被正常响应。

Description

一种防御DDOS攻击的方法和系统
技术领域
本发明涉及网络技术与安全领域。
背景技术
域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项基础服务。它作为将域名和IP地址相互映射的一个分布式数据库,使得其他应用程序能够通过域名来访问互联网中的主机。
一般而言,用户程序通过解析器(本地DNS)与域名服务器交互,通常解析器需要对几个不同的域名服务器进行多个查询,才能响应用户程序的查询,因此域名查询过程可能涉及对多个网络的访问,需要较长的时间。例如,当用户程序向本地DNS解析器发出DNS请求时,如果该本地DNS解析器无法解析,则会将DNS请求转发给外网的其他DNS服务器,由此层层递归,直到权威服务器返回IP地址。
正常的DNS服务器递归询问过程可能被利用成DDOS攻击,若攻击者获得了被攻击设备的IP地址,就可以伪装成该地址发送大量的域名查询请求,经过DNS服务器递归查询后,所有的响应信息会返回给最初用户,造成DDOS攻击。
现有技术通过设置阈值或添加电子凭证等方式来预防DDOS攻击,但是有可能过滤了用户主机自身的正常请求且验证繁琐。
因此,希望提供一种能够在不影响用户主机的正常DNS解析的情况下有效防止DNS服务器递归询问过程被利用成DDOS攻击的解决方案。
发明内容
提供本发明内容以便以简化形式介绍将在以下具体实施方式中进一步的描述一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
本发明在不改变原有DNS解析流程的前提下,根据DDOS攻击的行为特征,当发生DDOS攻击时,能够及时启动过滤机制,保证用户主机的网络不会因为海量的响应消息造成网络问题,同时还保证了用户主机的正常请求不会被域名服务器过滤,能够被正常响应。
根据本发明的一个实施例,提供了一种用于防御DDOS攻击的方法,包括:外网DNS服务系统监视来自同一IP的同源的DNS解析请求的请求频率以判断所述请求频率是否超过设定的过滤阈值;在检测到所述请求频率超过所述设定的过滤阈值之际,通过DNS解析响应来向与所述IP相对应的用户主机告知所述外网DNS服务系统进入服务器侧非正常状态,其中在进入所述服务器侧非正常状态后,所述DNS服务系统仅对包含正确校验值的DNS解析请求进行响应;所述外网DNS服务系统对从所述用户主机接收到的DNS解析请求进行校验;如果所述DNS解析请求包含正确的校验值,则外网DNS服务系统对所述DNS解析请求进行响应;如果所述DNS解析请求未包含正确的校验值或未包含校验值,则外网DNS服务系统丢弃所述DNS解析请求;以及在检测到所述请求频率低于所述设定的过滤阈值之际,所述外网DNS服务系统通过DNS解析响应来向所述用户主机告知退出服务器侧非正常状态。
根据本发明的一个实施例,提供了一种用于防御DDOS攻击的外网DNS服务系统,包括:一个或多个DNS服务器,所述一个或多个DNS服务器被配置为对DNS解析请求进行解析;防御服务器,所述防御服务器被配置为:监视来自同一IP的同源的DNS解析请求的请求频率以判断所述请求频率是否超过设定的过滤阈值;在检测到所述请求频率超过所述设定的过滤阈值之际,通过DNS解析响应来向与所述IP相对应的用户主机告知所述外网DNS服务系统进入服务器侧非正常状态,其中在进入所述服务器侧非正常状态后,所述DNS服务系统仅对包含正确校验值的DNS解析请求进行响应;对从所述用户主机接收到的DNS解析请求进行校验;如果所述DNS解析请求包含正确的校验值,则对所述DNS解析请求进行响应;如果所述DNS解析请求未包含正确的校验值或未包含校验值,则丢弃所述DNS解析请求;以及在检测到所述请求频率低于所述设定的过滤阈值之际,通过DNS解析响应来向所述用户主机告知退出服务器侧非正常状态。
根据本发明的另一个实施例,提供了一种用于防御DDOS攻击的用户主机,包括:用户程序;本地DNS解析器,所述本地DNS解析器被配置将来自用户程序的DNS请求传送到防御客户端,由所述防御客户端与外网DNS服务系统进行交互以对来自所述用户程序的DNS解析请求进行响应;所述防御客户端,所述防御客户端被配置为:基于包含在接收到的来自外网DNS服务系统的DNS解析响应中的指示所述外网DNS服务系统进入服务器侧非正常状态的标记,进入用户主机侧非正常状态;在进入所述用户主机侧非正常状态后,将校验值附加到接收自所述本地DNS解析器的DNS解析请求,以向所述外网DNS服务系统发送包含校验值的DNS解析请求;基于包含在接收到的来自外网DNS服务系统的DNS解析响应中的指示所述外网DNS服务系统退出服务器侧非正常状态的标记,退出所述用户主机侧非正常状态。
根据本发明的一个实施例,提供了一种用于防御DDOS攻击的系统,包括:如上所述的外网DNS服务系统;以及如上所述的用户主机。
通过阅读下面的详细描述并参考相关联的附图,这些及其他特点和优点将变得显而易见。应该理解,前面的概括说明和下面的详细描述只是说明性的,不会对所要求保护的各方面形成限制。
附图说明
为了能详细地理解本发明的上述特征所用的方式,可以参照各实施例来对以上简要概述的内容进行更具体的描述,其中一些方面在附图中示出。然而应该注意,附图仅示出了本发明的某些典型方面,故不应被认为限定其范围,因为该描述可以允许有其它等同有效的方面。
图1示出了现有技术中的用户主机未受到DDOS攻击时的正常DNS解析流程的示意图100;
图2示出了用户主机遭受到DDOS攻击时的异常DNS解析流程的示意图200;
图3示出了根据本发明的一个实施例的用于防御DDOS攻击的系统300的示意图;
图4示出了根据本发明的一个实施例的用于防御DDOS攻击的方法400的流程图;以及
图5示出了根据本发明的一个实施例的示例性计算设备的框图500。
具体实施方式
下面结合附图详细描述本发明,本发明的特点将在以下的具体描述中得到进一步的显现。
以下具体描述参考示出本发明的示例性实施例的附图。但是,本发明的范围不限于这些实施例,而是由所附权利要求书定义。因此,诸如所示实施例的修改版本之类的在附图所示之外的实施例仍然由本发明所包含。
本说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用指的是该实施例可包括特定的特征、结构或特点,但是每一实施例不一定包括该特定的特征、结构或特点。此外,这些短语不一定指相同的实施例。此外,当结合实施例描述具体特征、结构或特性时,应当理解在相关领域的技术人员的知识范围内能够结合其他实施例来实现具体特征、结构或特性,无论是否被显式地描述。
在本发明的上下文中,以下术语具有本领域技术人员所了解的一般含义。为了清楚起见,在此进行进一步的说明。
DDOS(Distributed Denial of Service,分布式拒绝服务)攻击:指处于不同位置的多个攻击者同时向一个或数个目标发动攻击,或者一个攻击者控制了位于不同位置的多台机器并利用这些机器对受害者同时实施攻击。DDOS攻击可使网站服务器充斥大量要求回复的信息,消耗网络带宽或系统资源,导致网络或系统不胜负荷以至于瘫痪而停止提供正常的网络服务。
图1示出了现有技术中的用户主机未受到DDOS攻击时的正常DNS解析流程的示意图100。在正常的DNS解析流程中,用户主机通过本地DNS解析器发送请求及接收响应,DNS服务正常。具体而言,如图1中所示,用户主机101侧的用户程序103向本地DSN解析器104发出DNS解析请求。如果本地DNS解析器104无法提供解析结果,则将该DNS解析请求转发至外网DNS服务系统102。在本发明中,外网DNS服务系统102可被视为由一个或多个DNS服务器105A-105N(统称为DNS服务器105)组成。如本领域的技术人员所熟知的,该一个或多个DNS服务器105被配置为对来自用户主机的DNS解析请求进行查询。DNS解析请求经过在DNS服务器105A-105N中的递归查询,最后将针对该DNS解析请求的DNS解析响应返回到用户主机101侧的本地DNS解析器104,并由本地DNS解析器104将该DNS解析响应提供给用户程序103。由此,用户程序103获得了针对其提出的DNS解析请求的DNS解析响应。
本领域的技术人员完全可以理解,用户主机101与外网DNS服务系统102之间可通过互联网等进行通信。并且,用于递归查询的一个或多个DNS服务器105A-105N可如本领域技术人员熟知的方式进行数据通信,其具体的通信和/或连接方式不在本发明的保护范围之内。
图2示出了用户主机遭受到DDOS攻击时的异常DNS解析流程的示意图200。DDOS攻击方式在进行攻击的时候,可以对源IP地址进行伪造,这样就使得这种攻击在发生的时候隐蔽性是非常好的,同时要对攻击进行检测也是非常困难的,因此这种攻击方式也成为了非常难以防范的攻击。
如图2中示出的,恶意攻击者106操纵设备群伪装用户主机101的IP地址向外网DNS服务系统102发送伪装/恶意的DNS解析请求,此时外网DNS服务系统102会接收到大量来自同一IP的DNS解析请求。由于外网DNS服务系统102并不能分辨出来自同一IP的DNS解析请求中哪些是来自真正的用户主机101,哪些是来自恶意攻击者106,因此,外网DNS服务系统102会将针对所有DNS解析请求的DNS解析响应返回给用户主机101。即,在这种情况下,返回给用户主机101的DNS解析响应包括:(1)针对用户主机101发出的正常DNS解析请求的正常DNS解析响应;(2)针对恶意攻击者106发出的异常DNS解析请求的异常DNS解析响应,由此,这将消耗用户主机101侧的大量带宽资源。
图3示出了根据本发明的一个实施例的用于防御DDOS攻击的系统300的示意图。总体而言,该系统300在图1示出的架构上进一步在用户主机101侧和外网DNS服务系统102侧各自添加了保护屏障,即防御客户端301与防御服务器302。防御客户端301位于用户主机101侧,防御服务器302位于外网DNS服务系统102中。用户主机101侧的本地DNS解析器104被进一步配置将来自用户程序103的DNS请求传送到防御客户端301,由防御客户端301与外网DNS服务系统102进行交互以对来自用户程序103的DNS解析请求进行响应。
根据本发明的一个实施例,防御客户端301被配置为在遭到DDOS攻击时,发送包含校验值的DNS解析请求,在未受到DDOS攻击的正常情况下,发送常规的DNS解析请求。防御服务器302用于接收所有进入外网DNS服务系统102的DNS解析请求,在遭到DDOS攻击时,对大量同源的DNS解析请求进行过滤,但不过滤真正用户主机101的请求,只将校验值正确的响应消息传回防御客户端301。
本领域的技术人员完全可以理解,本文仅仅是出于解说的目的来解说防御客户端301与防御服务器302,防御客户端301与防御服务器302中的一者或多者的功能可被合并到单个模块或拆分到多个模块中。并且,防御客户端301与防御服务器302中的一者或多者可用软件、硬件或其组合的方式来实现。
以下参考图3进行进一步的描述。
根据本发明的一个实施例,防御服务器302被配置为监视来自同一IP的同源的DNS解析请求的请求频率,以判断该请求频率是否超过设定的过滤阈值。
根据本发明的一个实施例,过滤阈值可以与该IP所对应的用户主机侧的用户带宽(Mb/s)相关联。即,该过滤阈值指示:如果来自该IP的DSN解析请求的请求频率高于该过滤阈值,则会导致该IP所对应的用户主机侧的带宽资源具有潜在的耗尽的风险,例如,用于接收和/或处理与DNS解析请求相对应的DNS解析响应的带宽会超过用户带宽的合理比例。根据本发明的一个实施例,过滤阈值可被设定为用户主机侧的用户带宽的1/5。当然,可根据实际需求将阈值设定为用户带宽的其他百分比。
根据本发明的一个实施例,用户主机101(例如,防御客户端301)可与防御服务器302进行通信以提前告知用户主机101侧的用户带宽,或者,用户主机101可在DNS解析请求中包含指示用户带宽的信息,从而使得防御服务器302能够知晓用户主机101侧的用户带宽。根据本发明的另一个实施例,与某一IP相关联的过滤阈值可基于与该IP相对应的用户主机侧的用户带宽的变化而被动态地更新。例如,如果用户主机侧的用户带宽被升级或者降级,与其对应的过滤阈值可被相应地升高或降低。
根据本发明的一个实施例,防御服务器302被配置为在来自同一IP的同源的DNS解析请求的请求频率高于过滤阈值的情况下,进入服务器侧非正常状态。该服务器侧非正常状态表示有可能受到DDOS攻击,需要对同源的DNS解析请求进行过滤,以筛选出真正来自用户主机的正常的DNS解析请求。具体而言,在进入服务器侧非正常状态后,防御服务器302仅对包含正确校验值的DNS解析请求进行响应,而直接丢弃不包含校验值或包含不正确校验值的DNS解析请求。
防御服务器302被配置为,在进入服务器侧非正常状态之际,防御服务器302对接收自用户主机的最新的一条DNS解析请求进行响应,在该进行响应的最新的一条DNS解析响应中包括指示防御服务器302进入服务器侧非正常状态的标记。该标记可被记录在该最新的一条DNS解析响应的资源记录中,例如TXT记录、EDNS0 OPT(伪资源记录)的RDATA部分等。
根据本发明的一个实施例,防御客户端301被配置为在接收到包含指示防御服务器302进入服务器侧非正常状态的标记的DNS解析响应之际,进入用户主机侧非正常状态。防御客户端301被配置为,在进入用户主机侧非正常状态之际,开始向外网DNS服务系统102发送包含校验值的DNS解析请求。即,从进入用户主机侧非正常状态开始,防御客户端301所发送的每个DNS解析请求均包括校验值。
根据本发明的一个实施例,防御客户端301被配置为在进入用户主机侧非正常状态之后,对于每个接收自本地DNS解析器104的DNS解析请求,将校验值附加到该DNS解析请求,以形成向外网DNS服务系统102发送的包含校验值的DNS解析请求。
根据本发明的一个实施例,防御服务器302被配置为在接收到第一个包含校验值的DNS解析请求之际,防御服务器302识别出用户主机101进入了用户主机侧非正常状态,此时服务器侧和用户主机侧达成了某种攻击方无法或者难以识别的协议,此后服务器侧将会丢弃不符合这个秘密协议的非正常的DNS解析请求。
根据本发明的另一个实施例,考虑到可能遇到网络不稳定或丢包的情况,防御服务器302被配置为如果在向用户主机告知了进入服务器侧非正常状态后,在阈值时间内(例如,5分钟)没有从用户主机接收到包括校验值的DNS解析请求,即,从用户主机发送的DNS解析请求依然没有包括校验值,则防御服务器302可再次对接收自用户主机的最新的一条DNS解析请求进行响应,并在该最新的一条DNS解析响应中包括指示防御服务器302进入服务器侧非正常状态的标记。防御服务器302可被配置为按阈值时间间隔来周期性地向用户主机告知进入服务器侧非正常状态,直到收到来自用户主机的包含校验值的DNS解析请求/或直到防御服务器302退出服务器侧非正常状态。本领域的技术人员可以理解,阈值时间可按需设置。
根据本发明的一个实施例,在防御客户端301和防御服务器302双方都进入非正常状态的情况下,防御服务器302被配置对接收到的DNS解析请求中的校验值进行校验,如果校验通过,则表示该DNS解析请求来自用户主机101,需要对其进行正常的解析响应,如果校验不通过,则表示该DNS解析请求并不来自于用户主机101,丢弃该非正常的DNS解析请求,即不对该DNS解析请求进行响应。根据本发明的另一个实施例,在防御客户端301和防御服务器302双方都进入非正常状态的情况下,防御服务器302被配置为丢弃不包含校验值的DNS解析请求。
综上,校验通过的DNS解析请求被视为正常的DNS解析请求,需要对其进行响应,而不包括校验值/校验值错误的DNS解析请求被视为非正常的DNS解析请求,不对其进行响应。
根据本发明的一个实施例,防御服务器302被配置为,在DNS解析请求被判断为包括正确的校验值的情况下,将该DNS解析请求转发到外网DNS服务系统102内的一个或多个DNS服务器以进行递归查询,并将得到的DNS解析响应传送到用户主机101。
根据本发明的一个实施例,防御服务器302被配置为:如果同源的DNS解析请求的请求频率降低到过滤阈值之下,则表示DDOS攻击风险解除,需要向用户主机101告知退出服务器侧非正常状态。根据本发明的一个实施例,防御服务器302被配置为在对从用户主机101接收到的最新的一条DNS解析请求进行响应的最新的一条DNS解析响应中包括指示防御服务器302退出服务器侧非正常状态的标记,由此向防御客户端301告知进入正常状态,从而防御客户端301不再需要发送包含校验值的DNS解析请求。
根据本发明的一个实施例,防御客户端301在退出用户主机侧非正常状态后,不再向来自本地DNS解析器的DNS解析请求附加校验值,而可将来自本地DNS解析器的DNS解析请求直接发送到外网DNS服务系统。
图4示出了根据本发明的一个实施例的用于防御DDOS攻击的方法400的流程图。总体而言,该方法包括:在遭到DDOS攻击时,用户主机侧在发送的正常DNS解析请求中包含校验值;位于外网的DNS服务侧,对于大量的同源DNS解析请求进行过滤,同时识别来自真正用户的DNS解析请求,只将校验值正确的响应消息返回至用户主机。其中,以下步骤401,402,404,405,406,407可由外网DNS服务系统中的防御服务器302执行,而步骤403和408可由用户主机中的防御客户端301执行。
在401,外网DNS服务系统监视来自同一IP的同源的DNS解析请求的请求频率以判断其是否超过设定的过滤阈值。
在402,在检测到该请求频率超过设定的过滤阈值之际,外网DNS服务系统进入服务器侧非正常状态,并通过DNS解析响应来向用户主机告知其进入服务器侧非正常状态。根据本发明的一个实施例,外网DNS服务系统在进入服务器侧非正常状态之际,对接收自用户主机的最新的一条DNS解析请求进行响应以向用户主机发送最新的一条DNS解析响应,该最新的一条DNS解析响应包括指示外网DNS服务系统进入服务器侧非正常状态的标记。在进入服务器侧非正常状态后,即,在发送该条DNS解析响应之后,外网DNS服务系统将仅对包含正确校验值的DNS解析请求进行响应。
在403,用户主机基于包含在接收到的该条DNS解析响应中的该标记,进入用户主机侧非正常状态。在该用户主机侧非正常状态中,用户主机向外网DNS服务系统发送的DNS解析请求均包括校验值。
根据本发明的一个实施例,校验值可包括用户主机的“IP”以及计数值A,例如,校验值可采用{IP,A}的形式。该校验值可被记录在该DNS解析请求的资源记录中,例如TXT记录、EDNS0 OPT(伪资源记录)的RDATA部分等。
其中,计数值“A”表示用户主机在进入用户主机侧非正常状态之后发送的DNS解析请求的数量。例如,在进入用户主机侧非正常状态后,用户主机向外网DNS服务系统发送的第一条DNS解析请求中的“A”的值为1,用户主机向外网DNS服务系统发送的第二条DNS解析请求中的“A”的值为2,以此类推,用户主机向外网DNS服务系统发送的第n条DNS解析请求中的“A”的值为n。
在404,外网DNS服务系统对接收到的DNS解析请求进行校验。
在405,如果该DNS解析请求包括正确的校验值,则外网DNS服务系统对该DNS解析请求进行响应。
在406,如果该DNS解析请求不包括正确的校验值或不包括校验值,则外网DNS服务系统丢弃该DNS解析请求。
根据本发明的一个实施例,外网DNS服务系统在接收到包含校验值的DNS解析请求时,在本地检索与校验值所包括的IP地址相对应的计数值B,其中计数值B表示在进入服务器侧非正常状态后从该IP接收到的DNS解析请求的数量。
如果未检索到与校验值所包括的IP地址相对应的计数值B,则建立新的条目{IP,B},其中B被初始地赋值0,并判断接收到的DNS解析请求中所包含的校验值中的计数值A是否比计数值B大1,如果是,则表示校验通过,并将计数值B更新为1。
如果检索到与校验值所包括的IP地址相对应的计数值B,则判断计数值B是否比接收到的DNS解析请求中所包含的计数值A小1(即,A-B是否等于1),如果是,则表示校验通过,并将计数值B更新为DNS解析请求中所包含的计数值A。如果不是,则表示校验不通过,并丢弃该DNS解析请求。
举例而言,外网DNS服务系统在接收到来自用户主机的包含校验值“{IP,1}”的DNS解析请求(即,用户主机在进入用户主机侧非正常状态后发送的第一条DNS解析请求)后,在本地检索与该IP相对应的计数值B。由于该DNS解析请求是用户主机在进入用户主机侧非正常状态后发送的第一条DNS解析请求,因此,外网DNS服务系统在本地并没有与该IP相对应的计数值B。由此,外网DNS服务系统在本地建立{IP,B}的记录,并将B的值更新为1。
根据本发明的另一个实施例,外网DNS服务系统也可在进入服务器侧非正常状态后,就建立{IP,B}的记录,并将计数值B的值初始地赋值0。在这种情况下,外网DNS服务系统在接收到来自用户主机的包含校验值“{IP,1}”的DNS解析请求,可将校验值中的为“1”的计数值A与本地记录的为0的计数值B进行比较,由于A-B=1,因此将计数值B更新为当前的计数值A的值,1。
之后,外网DNS服务系统在接收到来自用户主机的包含校验值“{IP,2}”的DNS解析请求后,将校验值中的计数值A(即2)与本地记录的计数值B(当前为1)进行比较,如果A-B=1,则校验通过,并将本地的计数值B更新为当前DNS解析请求中所包含的计数值A,2。
通过此方式,在正常情况下,如果用户主机发送的DNS解析请求中的计数值A比外网DNS服务系统处记录的计数值B大1,则该DNS解析请求可被视为来自用户主机的正常的DNS解析请求,而非来自恶意攻击者的DDOS攻击。
本领域的技术人员完全可以理解,以上校验值的示例仅仅是示意性的,完全可以采用其他方式的校验值来实现相同的校验效果,以使得外网DNS服务系统仅对通过校验的DNS解析请求进行响应。
在407,在检测到该请求频率低于设定的过滤阈值之际,外网DNS服务系统通过DNS解析响应向用户主机告知退出服务器侧非正常状态。根据本发明的一个实施例,在检测到该请求频率低于设定的过滤阈值之后,外网DNS服务系统在对从用户主机接收到的最新的一条DNS解析请求进行响应的最新的一条DNS解析响应中包括指示外网DNS服务系统退出服务器侧非正常状态的标记。
在步骤408,用户主机在接收到步骤407中的包括该标记的DNS解析响应后,退出用户主机侧非正常状态。根据本发明的一个实施例,退出用户主机侧非正常状态表示用户主机将不再需要发送包含校验值的DNS解析请求,可发送正常的不包含校验值的DNS解析请求。
由此,步骤404-406在用户主机和外网DNS服务系统两者均进入非正常状态期间随着用户主机发送的每条DNS解析请求而执行,直到在步骤408双方退出非正常状态。
本发明的主要优点在于:
(1)本发明区别于一般的DDOS防御机制,针对DNS攻击的行为方式,在服务端接收到大量同一源地址的DNS请求时开启防御机制,不存在滞后问题;
(2)本发明并未对现有的DNS解析流程做较大改动,对现有DNS规范修改较小,实施简单成本较低,具有较高的实用性;
(3)本发明在用户受到DDOS攻击时启动防御机制,在网络正常后,能回到原状态正常地进行DNS解析流程,对用户主机影响较小。
图5示出了根据本发明的一个实施例的示例性计算设备的框图500,该计算设备是可应用于本发明的各方面的硬件设备(例如,用户主机101,DNS服务器105A-105N,防御服务器302等)的一个示例。
参考图5,现在将描述一种计算设备500,该计算设备是可应用于本发明的各方面的硬件设备的一个示例。计算设备500可以是可被配置成用于实现处理和/或计算的任何机器,可以是但并不局限于工作站、服务器、桌面型计算机、膝上型计算机、平板计算机、个人数字处理、智能手机、车载计算机或者它们的任何组合。前述的各种方法/装置/服务器/客户端设备可全部或者至少部分地由计算设备500或者类似设备或系统来实现。
计算设备500可包括可经由一个或多个接口和总线502连接或通信的组件。例如,计算设备500可包括总线502、一个或多个处理器504、一个或多个输入设备506以及一个或多个输出设备508。该一个或多个处理器504可以是任何类型的处理器并且可包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(例如,专门的处理芯片)。输入设备506可以是任何类型的能够向计算设备输入信息的设备并且可以包括但不限于鼠标、键盘、触摸屏、麦克风和/或远程控制器。输出设备508可以是任何类型的能够呈现信息的设备并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。计算设备500也可以包括非瞬态存储设备510或者与所述非瞬态存储设备相连接,所述非瞬态存储设备可以是非瞬态的并且能够实现数据存储的任何存储设备,并且所述非瞬态存储设备可以包括但不限于磁盘驱动器、光存储设备、固态存储器、软盘、软磁盘、硬盘、磁带或任何其它磁介质、光盘或任何其它光介质、ROM(只读存储器)、RAM(随机存取存储器)、高速缓冲存储器和/或任何存储芯片或盒式磁带、和/或计算机可从其读取数据、指令和/或代码的任何其它介质。非瞬态存储设备510可从接口分离。非瞬态存储设备510可具有用于实施上述方法和步骤的数据/指令/代码。计算设备500也可包括通信设备512。通信设备512可以是任何类型的能够实现与内部装置通信和/或与网络通信的设备或系统并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信设备和/或芯片组,例如蓝牙设备、IEEE 1302.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似设备。
总线502可以包括但不限于工业标准结构(ISA)总线、微通道结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和外部设备互连(PCI)总线。
计算设备500还可包括工作存储器514,该工作存储器514可以是任何类型的能够存储有利于处理器504的工作的指令和/或数据的工作存储器并且可以包括但不限于随机存取存储器和/或只读存储设备。
软件组件可位于工作存储器514中,这些软件组件包括但不限于操作系统516、一个或多个应用程序518、驱动程序和/或其它数据和代码。用于实现本发明上述方法和步骤的指令可包含在所述一个或多个应用程序518中,并且可通过处理器504读取和执行所述一个或多个应用程序518的指令来实现本发明的上述方法400。
也应该认识到可根据具体需求而做出变化。例如,也可使用定制硬件、和/或特定组件可在硬件、软件、固件、中间件、微代码、硬件描述语音或其任何组合中实现。此外,可采用与其它计算设备、例如网络输入/输出设备等的连接。例如,可通过具有汇编语言或硬件编程语言(例如,VERILOG、VHDL、C++)的编程硬件(例如,包括现场可编程门阵列(FPGA)和/或可编程逻辑阵列(PLA)的可编程逻辑电路)利用根据本发明的逻辑和算法来实现所公开的方法和设备的部分或全部。
尽管目前为止已经参考附图描述了本发明的各方面,但是上述方法、系统和设备仅是示例,并且本发明的范围不限于这些方面,而是仅由所附权利要求及其等同物来限定。各种组件可被省略或者也可被等同组件替代。另外,也可以在与本发明中描述的顺序不同的顺序实现所述步骤。此外,可以按各种方式组合各种组件。也重要的是,随着技术的发展,所描述的组件中的许多组件可被之后出现的等同组件所替代。
以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围,其均应涵盖在本申请的权利要求和说明书的范围当中。

Claims (10)

1.一种用于防御DDOS攻击的方法,包括:
外网DNS服务系统监视来自同一IP的同源的DNS解析请求的请求频率以判断所述请求频率是否超过设定的过滤阈值;
在检测到所述请求频率超过所述设定的过滤阈值之际,通过DNS解析响应来向与所述IP相对应的用户主机告知所述外网DNS服务系统进入服务器侧非正常状态,其中在进入所述服务器侧非正常状态后,所述DNS服务系统仅对包含正确校验值的DNS解析请求进行响应;
所述外网DNS服务系统对从所述用户主机接收到的DNS解析请求进行校验;
如果所述DNS解析请求包含正确的校验值,则外网DNS服务系统对所述DNS解析请求进行响应;
如果所述DNS解析请求未包含正确的校验值或未包含校验值,则外网DNS服务系统丢弃所述DNS解析请求;以及
在检测到所述请求频率低于所述设定的过滤阈值之际,所述外网DNS服务系统通过DNS解析响应来向所述用户主机告知退出服务器侧非正常状态。
2.如权利要求1所述的方法,其特征在于,所述过滤阈值与所述用户主机侧的用户带宽相关联。
3.如权利要求1所述的方法,其特征在于,通过DNS解析响应来向与所述IP相对应的用户主机告知所述外网DNS服务系统进入服务器侧非正常状态,进一步包括:所述外网DNS服务系统在进入所述服务器侧非正常状态后,对从所述用户主机接收到的最新的一条DNS解析请求进行响应以向所述用户主机发送与该最新的一条DNS解析请求相对应的一条DNS解析响应,该条DNS解析响应包括指示所述外网DNS服务系统进入所述服务器侧非正常状态的标记。
4.如权利要求3所述的方法,其特征在于,进一步包括:所述用户主机基于包含在接收到的该条DNS解析响应中的所述标记,进入用户主机侧非正常状态,其中在进入所述用户主机侧非正常状态后,所述用户主机向所述外网DNS服务系统发送的DNS解析请求均包括校验值。
5.如权利要求1所述的方法,其特征在于,所述外网DNS服务系统通过DNS解析响应来向所述用户主机告知退出服务器侧非正常状态进一步包括:在检测到所述请求频率低于所述设定的过滤阈值之后,在对从所述用户主机接收到的最新的一条DNS解析请求进行响应的最新的一条DNS解析响应中包括指示所述外网DNS服务系统退出服务器侧非正常状态的标记;
所述用户主机基于接收到的所述最新的一条DNS解析响应中的所述标记,退出所述用户主机侧非正常状态。
6.一种用于防御DDOS攻击的外网DNS服务系统,包括:
一个或多个DNS服务器,所述一个或多个DNS服务器被配置为对DNS解析请求进行解析;
防御服务器,所述防御服务器被配置为:
监视来自同一IP的同源的DNS解析请求的请求频率以判断所述请求频率是否超过设定的过滤阈值;
在检测到所述请求频率超过所述设定的过滤阈值之际,通过DNS解析响应来向与所述IP相对应的用户主机告知所述外网DNS服务系统进入服务器侧非正常状态,其中在进入所述服务器侧非正常状态后,所述DNS服务系统仅对包含正确校验值的DNS解析请求进行响应;
对从所述用户主机接收到的DNS解析请求进行校验;
如果所述DNS解析请求包含正确的校验值,则对所述DNS解析请求进行响应;
如果所述DNS解析请求未包含正确的校验值或未包含校验值,则丢弃所述DNS解析请求;以及
在检测到所述请求频率低于所述设定的过滤阈值之际,通过DNS解析响应来向所述用户主机告知退出服务器侧非正常状态。
7.如权利要求6所述的外网DNS服务系统,其特征在于,所述过滤阈值与所述用户主机侧的用户带宽相关联。
8.一种用于防御DDOS攻击的用户主机,包括:
用户程序;
本地DNS解析器,所述本地DNS解析器被配置将来自用户程序的DNS请求传送到防御客户端,由所述防御客户端与外网DNS服务系统进行交互以对来自所述用户程序的DNS解析请求进行响应;
所述防御客户端,所述防御客户端被配置为:
基于包含在接收到的来自外网DNS服务系统的DNS解析响应中的指示所述外网DNS服务系统进入服务器侧非正常状态的标记,进入用户主机侧非正常状态;
在进入所述用户主机侧非正常状态后,将校验值附加到接收自所述本地DNS解析器的DNS解析请求,以向所述外网DNS服务系统发送包含校验值的DNS解析请求;
基于包含在接收到的来自外网DNS服务系统的DNS解析响应中的指示所述外网DNS服务系统退出服务器侧非正常状态的标记,退出所述用户主机侧非正常状态。
9.如权利要求8所述的用户主机,其特征在于,所述校验值包括所述用户主机的IP以及计数值A,所述计数值A表示所述用户主机在进入所述用户主机侧非正常状态之后发送的DNS解析请求的数量。
10.一种用于防御DDOS攻击的系统,包括
如权利要求6所述的外网DNS服务系统;以及
如权利要求8所述的用户主机。
CN202111158646.9A 2021-09-30 2021-09-30 一种防御ddos攻击的方法和系统 Active CN114124442B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111158646.9A CN114124442B (zh) 2021-09-30 2021-09-30 一种防御ddos攻击的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111158646.9A CN114124442B (zh) 2021-09-30 2021-09-30 一种防御ddos攻击的方法和系统

Publications (2)

Publication Number Publication Date
CN114124442A true CN114124442A (zh) 2022-03-01
CN114124442B CN114124442B (zh) 2024-03-26

Family

ID=80441730

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111158646.9A Active CN114124442B (zh) 2021-09-30 2021-09-30 一种防御ddos攻击的方法和系统

Country Status (1)

Country Link
CN (1) CN114124442B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7426576B1 (en) * 2002-09-20 2008-09-16 Network Appliance, Inc. Highly available DNS resolver and method for use of the same
CN103051743A (zh) * 2012-12-27 2013-04-17 茂名市群英网络有限公司 一种基于分布式层级化的dns防御系统和方法
CN103248725A (zh) * 2013-05-23 2013-08-14 中国科学院计算机网络信息中心 一种安全可靠的域名解析修复方法和系统
CN103685213A (zh) * 2012-09-26 2014-03-26 西门子公司 一种减少针对dns的攻击的装置、系统和方法
CN104378327A (zh) * 2013-08-12 2015-02-25 深圳市腾讯计算机系统有限公司 网络攻击防护方法、装置及系统
CN110324295A (zh) * 2018-03-30 2019-10-11 阿里巴巴集团控股有限公司 一种域名系统泛洪攻击的防御方法和装置
CN112910839A (zh) * 2021-01-12 2021-06-04 杭州迪普科技股份有限公司 一种dns攻击的防御方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7426576B1 (en) * 2002-09-20 2008-09-16 Network Appliance, Inc. Highly available DNS resolver and method for use of the same
CN103685213A (zh) * 2012-09-26 2014-03-26 西门子公司 一种减少针对dns的攻击的装置、系统和方法
CN103051743A (zh) * 2012-12-27 2013-04-17 茂名市群英网络有限公司 一种基于分布式层级化的dns防御系统和方法
CN103248725A (zh) * 2013-05-23 2013-08-14 中国科学院计算机网络信息中心 一种安全可靠的域名解析修复方法和系统
CN104378327A (zh) * 2013-08-12 2015-02-25 深圳市腾讯计算机系统有限公司 网络攻击防护方法、装置及系统
CN110324295A (zh) * 2018-03-30 2019-10-11 阿里巴巴集团控股有限公司 一种域名系统泛洪攻击的防御方法和装置
CN112910839A (zh) * 2021-01-12 2021-06-04 杭州迪普科技股份有限公司 一种dns攻击的防御方法和装置

Also Published As

Publication number Publication date
CN114124442B (zh) 2024-03-26

Similar Documents

Publication Publication Date Title
US9369479B2 (en) Detection of malware beaconing activities
US11671402B2 (en) Service resource scheduling method and apparatus
US9712532B2 (en) Optimizing security seals on web pages
US10771500B2 (en) System and method of determining DDOS attacks
CN111010409B (zh) 加密攻击网络流量检测方法
US9578040B2 (en) Packet receiving method, deep packet inspection device and system
US8996681B2 (en) Passively attributing anonymous network events to their associated users
US11785049B2 (en) Methods and systems for network security and privacy protection
US20210112093A1 (en) Measuring address resolution protocol spoofing success
US20180176246A1 (en) Dynamic allocation of a signal receiver for dissemination of threat information
US20210314355A1 (en) Mitigating phishing attempts
EP4050859A1 (en) Network security protection method and protection device
US8161558B2 (en) Network management and administration
US20210136038A1 (en) Method and system for web filtering implementation consisting of integrated web extension and connected hardware device
US10764250B2 (en) Method and system for first party and third party detection and for the occlusion of network device TLS signatures
CN111786940A (zh) 一种数据处理方法及装置
CN114124442B (zh) 一种防御ddos攻击的方法和系统
CN116527390A (zh) 端口扫描检测
CN115883170A (zh) 网络流量数据监测分析方法、装置及电子设备及存储介质
US11683337B2 (en) Harvesting fully qualified domain names from malicious data packets
CN110995738B (zh) 暴力破解行为识别方法、装置、电子设备及可读存储介质
US20210400083A1 (en) Method and system for privacy and security policy delivery
US20210243205A1 (en) Management of bot detection in a content delivery network
US10992644B2 (en) Network security system and method thereof
EP3432544B1 (en) System and method of determining ddos 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