CN109756480A - 一种DDoS攻击防御方法、装置、电子设备及介质 - Google Patents
一种DDoS攻击防御方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN109756480A CN109756480A CN201811453152.1A CN201811453152A CN109756480A CN 109756480 A CN109756480 A CN 109756480A CN 201811453152 A CN201811453152 A CN 201811453152A CN 109756480 A CN109756480 A CN 109756480A
- Authority
- CN
- China
- Prior art keywords
- response
- bag
- attack
- threshold value
- nslookup
- 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
Abstract
本发明提供了一种DDoS攻击防御方法、装置、电子设备及介质,所述方法包括:启动DNS服务器,加载区文件,并设置初始应答阈值;接收DNS请求流量;基于DNS协议检索区数据,生成与所述DNS请求流量中各DNS请求报文对应的应答包,同时根据各应答包的应答价值和应答成本生成与各应答包对应的应答权重码;当检测到因存在攻击流量而导致DNS服务器无法正常解析时,根据攻击流量的特征调整应答阈值,并根据调整后的应答阈值和各应答包的应答权重码对各应答包进行过滤处理,以过滤掉相应的攻击流量。本发明采用基于攻击流量应答后的特征进行分类的思路,按照应答特征中的应答价值和应答成本对DNS请求流量进行分类,达到针对不同攻击流量进行有效精准清洗的防御功效。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种DDoS攻击防御方法、装置、电子设备及介质。
背景技术
域名系统(Domain Name System,简称DNS)主要用于完成从域名到互联网协议(Internet Protocol,简称IP)地址的映射及其他互联网资源的解析,是互联网中重要的基础设施。分布式拒绝服务(Distributed Denial of Service,简称DDoS)攻击,通常由黑客控制傀儡集群向目标发送大量合法请求,导致目标的系统资源耗尽无法提供正常服务。DDoS攻击的主要目标是网络基础架构,随着互联网的高速发展,DDoS攻击已成为DNS目前面临的重要威胁,对DNS防御能力的要求也与日俱增。针对DNS网络服务的DDoS攻击最主要的就是利用放大(Amplification)或反射(Reflection)方式所产生的巨量DDoS攻击。其中DNS放大攻击是一种拒绝服务攻击,利用回复包比请求包大的特点(放大流量),伪造请求包的源IP地址,产生针对一个目标的大量的虚假的通信,目的是耗尽攻击目标的系统资源。
DNS包含递归解析系统和权威解析系统。针对权威解析系统存在一种递归代理放大攻击:黑客控制傀儡集群向递归解析系统发送大量攻击请求,以递归解析系统为跳板,攻击目标权威解析系统。这种攻击存在两个特点:1)由于直接攻击源是真实的递归解析系统,因此权威解析系统不能针对源IP进行清洗,否则会导致使用相关递归解析系统的正常用户无法上网;2)DNS请求包含域名(name)、类型(type)、类(class,一般为IN)三元组,递归解析系统以三元组为主键缓存资源记录,傀儡集群发送的攻击请求,三元组需随机变化,以避免命中递归缓存,从而达到攻击权威服务系统的目的。
针对权威解析系统的DDoS攻击,目前业内普遍基于特征库,按性质(正常流量和攻击流量)对DNS查询流量进行分类,清洗攻击流量,避免系统资源耗尽。在递归代理攻击的情况下,这种方式的主要问题是:由于直接攻击源是真实的递归解析系统,而查询流量的三元组又是随机变化的,源IP和域名等主要特征失效,导致分类准确率大幅降低,防御能力显著减弱。
发明内容
针对现有技术中的问题,本发明提供一种DDoS攻击防御方法、装置、电子设备及介质。
为解决上述技术问题,本发明提供以下技术方案:
第一方面,本发明提供了一种DDoS攻击防御方法,包括:
启动DNS服务器,加载区文件,并设置初始应答阈值;其中,所述初始应答阈值不对DNS请求流量进行任何过滤;
接收DNS请求流量;
基于DNS协议检索区数据,生成与所述DNS请求流量中各DNS请求报文对应的应答包,同时根据各应答包的应答价值和应答成本生成与各应答包对应的应答权重码;
当检测到因存在攻击流量而导致DNS服务器无法正常解析时,根据攻击流量的特征调整应答阈值,并根据调整后的应答阈值和各应答包的应答权重码对各应答包进行过滤处理,以过滤掉相应的攻击流量。
进一步地,在根据各应答包的应答价值和应答成本生成与各应答包对应的应答权重码时,以应答价值为第一优先级,应答成本为第二优先级,生成与各应答包对应的应答权重码;其中,应答权重码越大,优先级越高。
进一步地,所述根据各应答包的应答价值和应答成本生成与各应答包对应的应答权重码,包括:
按照各应答包的应答价值的高低和应答成本的高低生成与各应答包对应的应答权重码;
其中,应答价值从低到高,依次为:
查询域名的父域无NS记录且无DNAME记录,查询域名不存在,查询域名无匹配的泛域名;
查询域名的父域无NS记录且无DNAME记录,查询域名存在或有匹配的泛域名;
查询域名或匹配的泛域名无NS记录、无CNAME记录且无查询类型记录;
查询域名的父域无NS记录且无DNAME记录,查询域名存在或有匹配的泛域名,查询域名或匹配的泛域名有NS记录、有CNAME记录或有查询类型记录;
查询域名的父域有NS记录或有DNAME记录;
其中,应答成本从低到高,依次为:
非DNSSEC应答流量、DNSSEC肯定应答流量和DNSSEC否定应答流量。
进一步地,所述按照各应答包的应答价值的高低和应答成本的高低生成与各应答包对应的应答权重码,包括:
对于每个应答包,根据应答包与八个预设应答特征的符合情况以及八个预设应答特征的优先级程度,生成对应的应答权重码;
其中,所述八个预设应答特征按照优先级程度由高到低的顺序依次为:查询域名的父域是否有NS记录、查询域名的父域是否有DNAME记录、查询域名或匹配的泛域名是否存在、查询域名或匹配的泛域名是否有NS记录、查询域名或匹配的泛域名是否有CNAME记录、查询域名或匹配的泛域名是否有查询类型记录、应答包是否需要DNSSEC应答和应答包是否为否定应答。
进一步地,所述根据调整后的应答阈值和各应答包的应答权重码对各应答包进行过滤处理,以过滤掉相应的攻击流量,包括:
将应答权重码低于调整后的应答阈值的应答包进行过滤处理,以过滤掉相应的攻击流量。
进一步地,所述根据攻击流量的特征调整应答阈值,包括:
获取攻击流量中占比较高的一种攻击流量,并根据占比较高的攻击流量的特征调整应答阈值,使得调整后的应答阈值能够滤除占比较高的攻击流量,或,在滤除占比较高的攻击流量之外,还滤除应答权重码低于所述占比较高的攻击流量的其他流量。
进一步地,所述方法还包括:
当检测到攻击停止时,将应答阈值恢复至初始应答阈值,DNS服务器恢复到正常解析服务。
第二方面,本发明还提供了一种DDoS攻击防御装置,包括:
初始化模块,用于启动DNS服务器,加载区文件,并设置初始应答阈值;其中,所述初始应答阈值不对DNS请求流量进行任何过滤;
接收模块,用于接收DNS请求流量;
处理模块,用于基于DNS协议检索区数据,生成与所述DNS请求流量中各DNS请求报文对应的应答包,同时根据各应答包的应答价值和应答成本生成与各应答包对应的应答权重码;
防御模块,用于当检测到因存在攻击流量而导致DNS服务器无法正常解析时,根据攻击流量的特征调整应答阈值,并根据调整后的应答阈值和各应答包的应答权重码对各应答包进行过滤处理,以过滤掉相应的攻击流量。
第三方面,本发明还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述DDoS攻击防御方法的步骤。
第四方面,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述DDoS攻击防御方法的步骤。
由上述技术方案可知,本发明提供的DDoS攻击防御方法,启动DNS服务器,加载区文件,并设置初始应答阈值;其中,所述初始应答阈值不对DNS请求流量进行任何过滤;接收DNS请求流量;基于DNS协议检索区数据,生成与所述DNS请求流量中各DNS请求报文对应的应答包,同时根据各应答包的应答价值和应答成本生成与各应答包对应的应答权重码;当检测到因存在攻击流量而导致DNS服务器无法正常解析时,根据攻击流量的特征调整应答阈值,并根据调整后的应答阈值和各应答包的应答权重码对各应答包进行过滤处理,以过滤掉相应的攻击流量。可见,本发明提供的DDoS攻击防御方法,区别于目前业内常用的基于攻击流量解析前的特征进行分类的流量清洗方式,采用基于攻击流量应答后的特征进行分类的思路,按照应答特征中的应答价值和应答成本对DNS请求流量进行分类,达到针对不同攻击流量进行有效精准清洗的防御功效。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的DDoS攻击防御方法的流程图;
图2是本发明一实施例提供的防御方案实施位置示意图;
图3是本发明一实施例提供的防御方案实施步骤示意图;
图4是本发明另一实施例提供的DDoS攻击防御装置的结构示意图;
图5是本发明又一实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对现有技术中的问题,本发明提供了一种DDoS攻击防御方法、装置、电子设备及介质,本发明提供的DDoS攻击防御方法,区别于目前业内常用的基于攻击流量解析前的特征进行分类的流量清洗方式,而是采用基于攻击流量应答后的特征进行分类的思路,按照应答特征中的应答价值和应答成本对DNS请求流量进行分类,达到针对不同攻击流量进行有效精准清洗的防御功效。下面将通过具体实施例对本发明提供的内容进行详细解释说明。
图1示出了本发明一实施例提供的DDoS攻击防御方法的流程图,参见图1,本发明实施例提供的DDoS攻击防御方法,包含但不限于递归代理攻击防御,本发明实施例提供的DDoS攻击防御方法具体包括如下步骤:
步骤101:启动DNS服务器,加载区文件,并设置初始应答阈值;其中,所述初始应答阈值不对DNS请求流量进行任何过滤。
在本步骤中,在未检测到因存在攻击流量而导致DNS服务器无法正常解析时,保持初始的应答阈值,因为初始的应答阈值不对DNS请求流量进行任何过滤。
步骤102:接收DNS请求流量。
步骤103:基于DNS协议检索区数据,生成与所述DNS请求流量中各DNS请求报文对应的应答包,同时根据各应答包的应答价值和应答成本生成与各应答包对应的应答权重码。
在本步骤中,与现有技术中在检索区数据前对流量进行分类进而实现攻击防御方法不同的是,本实施例先基于DNS协议检索区数据,生成与所述DNS请求流量中各DNS请求报文对应的应答包,并根据各应答包的应答价值和应答成本生成与各应答包对应的应答权重码,后续将会根据每个应答包的应答权重码以及根据攻击流量特征调整的应答阈值,来对各应答包进行过滤处理,以过滤掉相应的攻击流量。
在本步骤中,如图2所示,本实施例提供的基于DNS应答价值和应答成本的攻击防御方法是在域名搜索后,编码回应前设置防御点,而传统的攻击防御方法是在报文解码后,域名搜索前设置防御点。
步骤104:当检测到因存在攻击流量而导致DNS服务器无法正常解析时,根据攻击流量的特征调整应答阈值,并根据调整后的应答阈值和各应答包的应答权重码对各应答包进行过滤处理,以过滤掉相应的攻击流量。
在本步骤中,在发现异常流量,判断存在大流量DDoS攻击,导致DNS服务器无法正常解析时,根据攻击流量的特征(攻击流量的应答价值特征和应答成本特征)调整应答阈值,并根据调整后的应答阈值和各应答包的应答权重码对各应答包进行过滤处理,以过滤掉相应的攻击流量。需要说明的是,根据攻击流量的特征调整后的应答阈值应能够将攻击流量进行滤除而保留正常流量。
需要说明的是,现有技术中基于特征库,单一地按流量性质(正常流量和攻击流量)对DNS请求流量进行分类,清洗攻击流量的方式,一方面是无法精确区分正常查询流量和攻击流量(例如常用的通过IP、三元组方式进行流量清洗时无法精确区分正常查询流量和攻击流量,导致部分正常查询流量同时被过滤掉),另一方面是在特定场景下存在明显缺陷(如果是以递归服务器为跳板的随机变化的三元组流量,该方式无效)。也即在某些特定场景下,常用的基于攻击流量解析前的特征进行分类的流量清洗方案无法进行有效的DDoS攻击防御,针对该问题,本实施例结合DNS业务的特点,对流量进行多维分类,基于流量应答后的特征,从应答价值和应答成本两个维度对流量进行分类,并根据应答价值和应答成本为每个应答包生成一个对应的应答权重码,并将应答权重码与设定好的应答阈值(根据攻击流量特征设定)进行比较,进而将网络中的攻击流量部分滤除。可见,本实施例提供的攻击防御方法可弥补现有技术攻击防御方案的不足,增强DNS权威解析系统对DDoS攻击的防御能力,可在复杂的攻击场景下实现精准过滤,降低对用户的影响。
需要说明的是,本实施例选择的应答价值和应答成本两个分类维度对于攻击防御处理具有较高的参考意义。举例来说,一方面,DNS解析系统对www.baidu.com的应答,可以让用户正常访问百度,而对vvv.baidu.com(不存在的域名)的应答,只是让用户稍早看到异常提示页面,也就是说对于用户而言,不同类型流量的应答价值是不同的,即可以从应答价值的维度对流量进行分类;另一方面,DNS应答报文通常比其请求报文大,如DNSSEC否定应答、DNSSEC肯定应答和非DNSSEC应答,应答流量大约分别为查询流量的10倍、5倍和2倍,也就是说对于权威解析系统而言,不同类型流量的应答成本是不同的,即可以从应答成本的维度对流量进行分类。本实施例基于DNS应答价值和应答成本的防御方案,根据查询结果为每一个应答包生成一个对应的应答权重码,并在检测到存在大流量的DDoS攻击,导致DNS服务器无法正常解析时,通过分析攻击流量特征,调整应答阈值,使得攻击流量被滤除,从而实现攻击防御效果。本实施例提供的DDoS攻击防御方法,区别于目前业内常用的基于攻击流量解析前的特征进行分类的流量清洗方式,而是采用基于攻击流量应答后的特征进行分类的思路,按照应答特征中的应答价值和应答成本对DNS请求流量进行分类,达到针对不同攻击流量进行有效精准清洗的防御功效。
由上述技术方案可知,本实施例提供的DDoS攻击防御方法,启动DNS服务器,加载区文件,并设置初始应答阈值;其中,所述初始应答阈值不对DNS请求流量进行任何过滤;接收DNS请求流量;基于DNS协议检索区数据,生成与所述DNS请求流量中各DNS请求报文对应的应答包,同时根据各应答包的应答价值和应答成本生成与各应答包对应的应答权重码;当检测到因存在攻击流量而导致DNS服务器无法正常解析时,根据攻击流量的特征调整应答阈值,并根据调整后的应答阈值和各应答包的应答权重码对各应答包进行过滤处理,以过滤掉相应的攻击流量。可见,本实施例提供的DDoS攻击防御方法,区别于目前业内常用的基于攻击流量解析前的特征进行分类的流量清洗方式,而是采用基于攻击流量应答后的特征进行分类的思路,按照应答特征中的应答价值和应答成本对DNS请求流量进行分类,达到针对不同攻击流量进行有效精准清洗的防御功效。
基于上述实施例的内容,在一种优选实施方式中,在根据各应答包的应答价值和应答成本生成与各应答包对应的应答权重码时,以应答价值为第一优先级,应答成本为第二优先级,生成与各应答包对应的应答权重码;其中,应答权重码越大,优先级越高。
需要说明的是,相较于应答成本特征,应答价值特征对用户意义更大,因此应将其作为第一优先级被考虑,因此,在根据各应答包的应答价值和应答成本生成与各应答包对应的应答权重码时,以应答价值为第一优先级,应答成本为第二优先级,生成与各应答包对应的应答权重码;其中,应答权重码越大,优先级越高。
基于上述实施例的内容,在一种优选实施方式中,按照各应答包的应答价值的高低和应答成本的高低生成与各应答包对应的应答权重码;
其中,应答价值从低到高,依次为:
查询域名的父域无NS记录且无DNAME记录,查询域名不存在,查询域名无匹配的泛域名;
查询域名的父域无NS记录且无DNAME记录,查询域名存在或有匹配的泛域名;
查询域名或匹配的泛域名无NS记录、无CNAME记录且无查询类型记录;
查询域名的父域无NS记录且无DNAME记录,查询域名存在或有匹配的泛域名,查询域名或匹配的泛域名有NS记录、有CNAME记录或有查询类型记录;
查询域名的父域有NS记录或有DNAME记录;
其中,应答成本从低到高,依次为:
非DNSSEC应答流量、DNSSEC肯定应答流量和DNSSEC否定应答流量。
基于上述实施例的内容,在一种优选实施方式中,给出了一种根据各应答包的应答价值和应答成本生成与各应答包对应的应答权重码的处理方式,具体如下:
对于每个应答包,根据应答包与八个预设应答特征的符合情况以及八个预设应答特征的优先级程度,生成对应的应答权重码;
其中,所述八个预设应答特征按照优先级程度由高到低的顺序依次为:查询域名的父域是否有NS记录、查询域名的父域是否有DNAME记录、查询域名或匹配的泛域名是否存在、查询域名或匹配的泛域名是否有NS记录、查询域名或匹配的泛域名是否有CNAME记录、查询域名或匹配的泛域名是否有查询类型记录、应答包是否需要DNSSEC应答和应答包是否为否定应答。
在本实施例中,根据应答包与八个预设应答特征的符合情况以及八个预设应答特征的优先级程度,生成对应的应答权重码,进而根据每个应答包的应答权重码和根据攻击流量特征总结得到的应答阈值,可以将属于攻击流量的应答包精准滤除,从而实现了对攻击流量进行有效精准清洗的防御目的。需要说明的是,通过调整应答阈值,可以实现对不同特征的攻击流量的精准清洗,后面将通过具体例子进行举例说明。
基于上述实施例的内容,在一种优选实施方式中,对于每个应答包,根据应答包与八个预设应答特征的符合情况以及八个预设应答特征的优先级程度,生成对应的应答权重码,具体可通过下面的方式实现:
例如,设置一个8位应答权重码,并将应答包是否为否定应答设置为bit0位,其中,0表示是,1表示不是;将应答包是否需要DNSSEC应答设置为bit1位,其中,0表示需要,1表示不需要;将查询域名或匹配的泛域名是否有查询类型记录设置为bit2位,其中,0表示没有,1表示有;将查询域名或匹配的泛域名是否有CNAME记录设置为bit3位,其中,0表示没有,1表示有;将查询域名或匹配的泛域名是否有NS记录设置为bit4位,其中,0表示没有,1表示有;将查询域名或匹配的泛域名是否存在设置为bit5位,其中,0表示不存在,1表示存在;将查询域名的父域是否有DNAME记录设置为bit6位,其中,0表示没有,1表示有;将查询域名的父域是否有NS记录设置为bit7位,其中,0表示没有,1表示有;
根据各应答包的应答价值对应所述8位应答权重码的bit位和在对应bit位的取值,以及,各应答包的应答成本对应所述8位应答权重码的bit位和在对应bit位的取值,生成与各应答包对应的应答权重码。
在本实施例中,通过设置一个8位的应答权重码,根据各应答包的实际应答成本和应答价值为每个应答包生成一个对应的应答权重码,进而根据每个应答包的应答权重码和根据攻击流量特征总结得到的应答阈值,可以将属于攻击流量的应答包精准滤除,从而实现了对攻击流量进行有效精准清洗的防御目的。需要说明的是,通过调整应答阈值,可以实现对不同特征的攻击流量的精准清洗,后面将通过具体例子进行举例说明。
需要说明的是,本实施例按应答价值和应答成本对DNS请求流量进行分类的DDoS攻击防御方法,区别于目前业内常用的基于攻击流量解析前的特征进行分类的流量清洗方案,本实施例提供了一种基于攻击流量应答后的特征进行分类的思路。本实施例根据应答特征对应答包进行应答权重编码,并结合应答阈值的配置,达到针对不同攻击流量进行有效精准清洗的防御功效。此外,本实施例提供的清洗策略在保护服务的前提下,还降低了对用户的负面影响。例如假设进行应答为NXDOMAIN的攻击流量清洗,对于正常用户,回应NXDOMAIN或者不回应,最终结果都是打不开网站,因此对用户的负面影响较小。
基于上述实施例的内容,在一种优选实施方式中,所述步骤104中根据调整后的应答阈值和各应答包的应答权重码对各应答包进行过滤处理,以过滤掉相应的攻击流量,包括:
将应答权重码低于调整后的应答阈值的应答包进行过滤处理,以过滤掉相应的攻击流量。
需要说明的是,根据上述8位应答权重码的设置规则和每个bit位代表的含义可知,应答权重码高于或等于调整后的应答阈值的应答包应该为正常的应答包,而应答权重码低于调整后的应答阈值的应答包应该为与攻击流量具有类似应答特征的应答包,应该被滤除,因此,在进行攻击流量滤除时,应将应答权重码低于调整后的应答阈值的应答包进行过滤处理,以过滤掉相应的攻击流量。
基于上述实施例的内容,在一种优选实施方式中,所述根据攻击流量的特征调整应答阈值,包括:
获取攻击流量中占比较高的一种攻击流量,并根据占比较高的攻击流量的特征调整应答阈值,使得调整后的应答阈值能够滤除占比较高的攻击流量,或,在滤除占比较高的攻击流量之外,还滤除应答权重码低于所述占比较高的攻击流量的其他流量。
需要说明的是,在根据攻击流量的特征调整应答阈值时,为尽可能多地滤除掉攻击流量或尽可能较为完全地滤除掉攻击流量,因此应该获取攻击流量中占比较高的一种攻击流量,并根据占比较高的攻击流量的特征调整应答阈值,使得调整后的应答阈值能够滤除占比较高的攻击流量,或,在滤除占比较高的攻击流量之外,还滤除应答权重码低于所述占比较高的攻击流量的其他流量。对于第二种情况,一方面可以较为完全地滤除掉占比较高的攻击流量,另一方面,即便存在部分正常流量被滤除的情况,但是由于这部分正常流量的应答权重码比较低,也即这部分正常流量的优先级比较低,因此即便滤除也不会对用户造成什么影响。例如,经分析,应答流量多为否定应答时,可将应答阈值调整为128,过滤所有的否定应答。又如,经分析,应答流量多为DNSSEC应答时,可将应答阈值设置为192,会过滤所有的DNSSEC应答和否定应答,由于否定应答一方面很有可能是攻击流量,另一方面即便一部分否定应答不是攻击流量而是正常流量,由于为否定应答,对于正常用户,回应NXDOMAIN或者不回应,最终结果都是打不开网站,因此,对用户影响不大,或者说在保护服务的前提下,尽可能地降低了负面影响。
基于上述实施例的内容,在一种优选实施方式中,所述方法还包括:
当检测到攻击停止时,将应答阈值恢复至初始应答阈值,DNS服务器恢复到正常解析服务。
需要说明的是,当检测到攻击停止时,应不对查询流量进行任何的过滤,因此,应将应答阈值恢复至初始应答阈值,使得DNS服务器恢复到正常解析服务。
需要说明的是,本实施例所给出的多个优选实施方式,在逻辑或结构相互不冲突的前提下,可以自由组合,本发明对此不做限定。
下面结合图2~图3对本实施例提供的DDoS攻击防御方法进行更为详细的说明。
如图2所示,本实施例提供的基于DNS应答价值和应答成本的攻击防御方法是在编码回应前设置防御点,而传统的攻击防御方法是在报文解码后域名搜索前设置防御点。
当DNS服务器遭受大流量DDoS攻击时,传统的流量清洗(攻击防御)方式是在报文解码后,根据源IP、三元组通过ACL(访问控制列表)过滤等方式进行流量清洗。如果是以递归服务器为跳板的随机变化的三元组流量,该方式无效。而本实施例提供的基于DNS应答价值和应答成本的攻击防御方法是在编码回应前设置防御点,本实施例根据查询结果生成应答权重码,与应答阈值作比较即可清洗掉攻击流量(例如,NXDOMAIN否定应答流量)。
下面结合图3所示的实施过程示意图和一个具体实例对本实施例提供的基于DNS应答价值和应答成本的攻击防御方法进行详细介绍,本实施例的具体步骤描述如下:
一、正常启动DNS服务器,应答阈值设为255(不对查询流量进行任何过滤)。
二、接收查询流量。
三、检索区数据,并根据各查询报文的应答特征,生成相应的应答权重码。初始应答权重码为255。
A、查询结果为否定应答(NXDOMAIN、NODATA、SERVFAIL)时,生成应答权重码127(bit0为0)。
B、查询结果为DNSSEC应答时,生成应答权重码191(bit1为0)。
C、查询域名(匹配的泛域名)没有查询类型记录时(NODATA),生成应答权重码223(bit0、bit2为0)。
D、查询域名(匹配的泛域名)没有CNAME记录时,生成应答权重码239(bit3为0)。
E、查询域名(匹配的泛域名)没有NS记录时,生成应答权重码247(bit4为0)。
F、查询域名(匹配的泛域名)不存在时(NXDOMAIN),生成应答权重码251(bit5为0)。
G、查询域名的父域没有DNAME记录,生成应答权重码253(bit6为0)。
H、查询域名的父域没有NS记录,生成应答权重码254(bit7为0)。
四、发现异常流量,判断存在大流量DDoS攻击,导致DNS服务器无法正常解析时,分析攻击流量特征,调整应答阈值,保障服务器的正常解析。例如:
A、经分析,应答流量多为否定应答时,可将应答阈值调整为128,过滤所有的否定应答。
B、经分析,应答流量多为DNSSEC应答时,可将应答阈值设置为192,会过滤所有的DNSSEC应答和否定应答。
此外,需要说明的是,当攻击停止时,恢复到初始应答阈值,DNS服务器恢复到正常解析服务。
由上面描述可见,本实施例提供的基于DNS应答价值和应答成本的攻击防御方法具有如下优点:
I、区别于目前业内常用的基于攻击流量解析前的特征进行分类的流量清洗方案,本实施例提供了一种基于攻击流量应答后的特征进行分类的思路,根据应答特征对攻击流量进行有效精准清洗。
II、本实施例提供的攻击防御方法简单易操作,可根据攻击流量特征实时在线调整应答阈值,防御策略可立即生效,有针对性的进一步提高防御效率。
III、本实施例提供的攻击防御方法适用场景包含但不限于递归代理攻击防御,同时对多种攻击流量混合的场景也能起到防御作用。
IV、本实施例提供的清洗策略在保护服务的前提下,还降低了对用户的负面影响。例如假设进行应答为NXDOMAIN的攻击流量清洗,对于正常用户,回应NXDOMAIN或者不回应,最终结果都是打不开网站,因此对用户的负面影响较小。
基于相同的发明构思,本发明另一实施例提供了一种DDoS攻击防御装置,参见图4,该装置包括:初始化模块21、接收模块22、处理模块23和防御模块24,其中:
初始化模块21,用于启动DNS服务器,加载区文件,并设置初始应答阈值;其中,所述初始应答阈值不对DNS请求流量进行任何过滤;
接收模块22,用于接收DNS请求流量;
处理模块23,用于基于DNS协议检索区数据,生成与所述DNS请求流量中各DNS请求报文对应的应答包,同时根据各应答包的应答价值和应答成本生成与各应答包对应的应答权重码;
防御模块24,用于当检测到因存在攻击流量而导致DNS服务器无法正常解析时,根据攻击流量的特征调整应答阈值,并根据调整后的应答阈值和各应答包的应答权重码对各应答包进行过滤处理,以过滤掉相应的攻击流量。
由于本实施例提供的DDoS攻击防御装置,可以用于执行上述实施例所述的DDoS攻击防御方法,其工作原理和有益效果类似,故此处不再详述,具体内容可参见上述实施例的介绍。
基于相同的发明构思,本发明又一实施例提供了一种电子设备,参见图5,所述电子设备具体包括如下内容:处理器501、存储器502、通信接口503和总线504;
其中,所述处理器501、存储器502、通信接口503通过所述总线504完成相互间的通信;所述通信接口503用于实现各建模软件及智能制造装备模块库等相关设备之间的信息传输;
所述处理器501用于调用所述存储器502中的计算机程序,所述处理器执行所述计算机程序时实现上述DDoS攻击防御方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤101:启动DNS服务器,加载区文件,并设置初始应答阈值;其中,所述初始应答阈值不对DNS请求流量进行任何过滤;
步骤102:接收DNS请求流量;
步骤103:基于DNS协议检索区数据,生成与所述DNS请求流量中各DNS请求报文对应的应答包,同时根据各应答包的应答价值和应答成本生成与各应答包对应的应答权重码;
步骤104:当检测到因存在攻击流量而导致DNS服务器无法正常解析时,根据攻击流量的特征调整应答阈值,并根据调整后的应答阈值和各应答包的应答权重码对各应答包进行过滤处理,以过滤掉相应的攻击流量。
基于相同的发明构思,本发明又一实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述DDoS攻击防御方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤101:启动DNS服务器,加载区文件,并设置初始应答阈值;其中,所述初始应答阈值不对DNS请求流量进行任何过滤;
步骤102:接收DNS请求流量;
步骤103:基于DNS协议检索区数据,生成与所述DNS请求流量中各DNS请求报文对应的应答包,同时根据各应答包的应答价值和应答成本生成与各应答包对应的应答权重码;
步骤104:当检测到因存在攻击流量而导致DNS服务器无法正常解析时,根据攻击流量的特征调整应答阈值,并根据调整后的应答阈值和各应答包的应答权重码对各应答包进行过滤处理,以过滤掉相应的攻击流量。
在本发明的描述中,需要说明的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种DDoS攻击防御方法,其特征在于,包括:
启动DNS服务器,加载区文件,并设置初始应答阈值;其中,所述初始应答阈值不对DNS请求流量进行任何过滤;
接收DNS请求流量;
基于DNS协议检索区数据,生成与所述DNS请求流量中各DNS请求报文对应的应答包,同时根据各应答包的应答价值和应答成本生成与各应答包对应的应答权重码;
当检测到因存在攻击流量而导致DNS服务器无法正常解析时,根据攻击流量的特征调整应答阈值,并根据调整后的应答阈值和各应答包的应答权重码对各应答包进行过滤处理,以过滤掉相应的攻击流量。
2.根据权利要求1所述的方法,其特征在于,在根据各应答包的应答价值和应答成本生成与各应答包对应的应答权重码时,以应答价值为第一优先级,应答成本为第二优先级,生成与各应答包对应的应答权重码;其中,应答权重码越大,优先级越高。
3.根据权利要求2所述的方法,其特征在于,所述根据各应答包的应答价值和应答成本生成与各应答包对应的应答权重码,包括:
按照各应答包的应答价值的高低和应答成本的高低生成与各应答包对应的应答权重码;
其中,应答价值从低到高,依次为:
查询域名的父域无NS记录且无DNAME记录,查询域名不存在,查询域名无匹配的泛域名;
查询域名的父域无NS记录且无DNAME记录,查询域名存在或有匹配的泛域名;
查询域名或匹配的泛域名无NS记录、无CNAME记录且无查询类型记录;
查询域名的父域无NS记录且无DNAME记录,查询域名存在或有匹配的泛域名,查询域名或匹配的泛域名有NS记录、有CNAME记录或有查询类型记录;
查询域名的父域有NS记录或有DNAME记录;
其中,应答成本从低到高,依次为:
非DNSSEC应答流量、DNSSEC肯定应答流量和DNSSEC否定应答流量。
4.根据权利要求3所述的方法,其特征在于,所述按照各应答包的应答价值的高低和应答成本的高低生成与各应答包对应的应答权重码,包括:
对于每个应答包,根据应答包与八个预设应答特征的符合情况以及八个预设应答特征的优先级程度,生成对应的应答权重码;
其中,所述八个预设应答特征按照优先级程度由高到低的顺序依次为:查询域名的父域是否有NS记录、查询域名的父域是否有DNAME记录、查询域名或匹配的泛域名是否存在、查询域名或匹配的泛域名是否有NS记录、查询域名或匹配的泛域名是否有CNAME记录、查询域名或匹配的泛域名是否有查询类型记录、应答包是否需要DNSSEC应答和应答包是否为否定应答。
5.根据权利要求4所述的方法,其特征在于,所述根据调整后的应答阈值和各应答包的应答权重码对各应答包进行过滤处理,以过滤掉相应的攻击流量,包括:
将应答权重码低于调整后的应答阈值的应答包进行过滤处理,以过滤掉相应的攻击流量。
6.根据权利要求5所述的方法,其特征在于,所述根据攻击流量的特征调整应答阈值,包括:
获取攻击流量中占比较高的一种攻击流量,并根据占比较高的攻击流量的特征调整应答阈值,使得调整后的应答阈值能够滤除占比较高的攻击流量,或,在滤除占比较高的攻击流量之外,还滤除应答权重码低于所述占比较高的攻击流量的其他流量。
7.根据权利要求1~6任一项所述的方法,其特征在于,所述方法还包括:
当检测到攻击停止时,将应答阈值恢复至初始应答阈值,DNS服务器恢复到正常解析服务。
8.一种DDoS攻击防御装置,其特征在于,包括:
初始化模块,用于启动DNS服务器,加载区文件,并设置初始应答阈值;其中,所述初始应答阈值不对DNS请求流量进行任何过滤;
接收模块,用于接收DNS请求流量;
处理模块,用于基于DNS协议检索区数据,生成与所述DNS请求流量中各DNS请求报文对应的应答包,同时根据各应答包的应答价值和应答成本生成与各应答包对应的应答权重码;
防御模块,用于当检测到因存在攻击流量而导致DNS服务器无法正常解析时,根据攻击流量的特征调整应答阈值,并根据调整后的应答阈值和各应答包的应答权重码对各应答包进行过滤处理,以过滤掉相应的攻击流量。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述DDoS攻击防御方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述DDoS攻击防御方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811453152.1A CN109756480B (zh) | 2018-11-30 | 2018-11-30 | 一种DDoS攻击防御方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811453152.1A CN109756480B (zh) | 2018-11-30 | 2018-11-30 | 一种DDoS攻击防御方法、装置、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109756480A true CN109756480A (zh) | 2019-05-14 |
CN109756480B CN109756480B (zh) | 2021-07-16 |
Family
ID=66403389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811453152.1A Active CN109756480B (zh) | 2018-11-30 | 2018-11-30 | 一种DDoS攻击防御方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109756480B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111131285A (zh) * | 2019-12-30 | 2020-05-08 | 互联网域名系统北京市工程研究中心有限公司 | 一种针对随机域名攻击的主动防护方法 |
CN111885089A (zh) * | 2020-08-06 | 2020-11-03 | 四川长虹电器股份有限公司 | 基于层次分析法的DNS服务器DDoS攻击防御方法 |
CN113872953A (zh) * | 2021-09-18 | 2021-12-31 | 杭州迪普信息技术有限公司 | 一种访问报文处理方法及装置 |
CN115801468A (zh) * | 2023-02-09 | 2023-03-14 | 南京聚铭网络科技有限公司 | 一种零日漏洞攻击检测方法、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103391272A (zh) * | 2012-05-08 | 2013-11-13 | 深圳市腾讯计算机系统有限公司 | 检测虚假攻击源的方法及系统 |
CN105119906A (zh) * | 2015-07-21 | 2015-12-02 | 北京泰策科技有限公司 | 一种用于防御dns递归攻击的方法、装置及系统 |
CN105681133A (zh) * | 2016-03-14 | 2016-06-15 | 中国科学院计算技术研究所 | 一种检测dns服务器是否防网络攻击的方法 |
CN107135238A (zh) * | 2017-07-12 | 2017-09-05 | 中国互联网络信息中心 | 一种dns反射放大攻击检测方法、装置及系统 |
EP3337123A1 (en) * | 2015-08-13 | 2018-06-20 | Alibaba Group Holding Limited | Network attack prevention method, apparatus and system |
EP3343871A1 (en) * | 2016-12-28 | 2018-07-04 | VeriSign, Inc. | Method and system for detecting and mitigating denial-of-service attacks |
-
2018
- 2018-11-30 CN CN201811453152.1A patent/CN109756480B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103391272A (zh) * | 2012-05-08 | 2013-11-13 | 深圳市腾讯计算机系统有限公司 | 检测虚假攻击源的方法及系统 |
CN105119906A (zh) * | 2015-07-21 | 2015-12-02 | 北京泰策科技有限公司 | 一种用于防御dns递归攻击的方法、装置及系统 |
EP3337123A1 (en) * | 2015-08-13 | 2018-06-20 | Alibaba Group Holding Limited | Network attack prevention method, apparatus and system |
CN105681133A (zh) * | 2016-03-14 | 2016-06-15 | 中国科学院计算技术研究所 | 一种检测dns服务器是否防网络攻击的方法 |
EP3343871A1 (en) * | 2016-12-28 | 2018-07-04 | VeriSign, Inc. | Method and system for detecting and mitigating denial-of-service attacks |
CN107135238A (zh) * | 2017-07-12 | 2017-09-05 | 中国互联网络信息中心 | 一种dns反射放大攻击检测方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
LAURA FEINSTEIN: ""Statistical Approaches to DDoS Attack Detection and Response"", 《IEEE》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111131285A (zh) * | 2019-12-30 | 2020-05-08 | 互联网域名系统北京市工程研究中心有限公司 | 一种针对随机域名攻击的主动防护方法 |
CN111131285B (zh) * | 2019-12-30 | 2022-03-01 | 深圳网基科技有限公司 | 一种针对随机域名攻击的主动防护方法 |
CN111885089A (zh) * | 2020-08-06 | 2020-11-03 | 四川长虹电器股份有限公司 | 基于层次分析法的DNS服务器DDoS攻击防御方法 |
CN113872953A (zh) * | 2021-09-18 | 2021-12-31 | 杭州迪普信息技术有限公司 | 一种访问报文处理方法及装置 |
CN113872953B (zh) * | 2021-09-18 | 2024-03-26 | 杭州迪普信息技术有限公司 | 一种访问报文处理方法及装置 |
CN115801468A (zh) * | 2023-02-09 | 2023-03-14 | 南京聚铭网络科技有限公司 | 一种零日漏洞攻击检测方法、装置及存储介质 |
CN115801468B (zh) * | 2023-02-09 | 2023-04-25 | 南京聚铭网络科技有限公司 | 一种零日漏洞攻击检测方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109756480B (zh) | 2021-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109756480A (zh) | 一种DDoS攻击防御方法、装置、电子设备及介质 | |
CN101291323B (zh) | 使用部分确定性有限自动模式匹配来进行网络攻击检测 | |
US9191403B2 (en) | Cyber security adaptive analytics threat monitoring system and method | |
Li et al. | Large-scale IP traceback in high-speed Internet: Practical techniques and theoretical foundation | |
Xing et al. | Survey on botnet detection techniques: Classification, methods, and evaluation | |
Jiang et al. | Identifying suspicious activities through dns failure graph analysis | |
Feroz et al. | Phishing URL detection using URL ranking | |
Bagui et al. | Using machine learning techniques to identify rare cyber‐attacks on the UNSW‐NB15 dataset | |
US20140047543A1 (en) | Apparatus and method for detecting http botnet based on densities of web transactions | |
CN101702660A (zh) | 异常域名检测方法及系统 | |
CN106850647B (zh) | 基于dns请求周期的恶意域名检测算法 | |
CN102984178B (zh) | 数据报文的检测方法及装置 | |
Wang | Machine learning for the detection of spam in twitter networks | |
Tang et al. | WEDMS: An advanced mean shift clustering algorithm for LDoS attacks detection | |
Marchal et al. | PhishScore: Hacking phishers' minds | |
Munivara Prasad et al. | BIFAD: Bio-inspired anomaly based HTTP-flood attack detection | |
CN103916379A (zh) | 一种基于高频统计的cc攻击识别方法及系统 | |
Sadan et al. | Social network analysis of web links to eliminate false positives in collaborative anti-spam systems | |
Zang et al. | Identifying fast-flux botnet with AGD names at the upper DNS hierarchy | |
Bhatia et al. | Soft computing for anomaly detection and prediction to mitigate IoT-based real-time abuse | |
Haddadi et al. | Malicious automatically generated domain name detection using stateful-SBB | |
Nguyen et al. | An efficient approach to reduce alerts generated by multiple IDS products | |
TW202008749A (zh) | 網名過濾方法 | |
Cai et al. | A behavior-based method for detecting DNS amplification attacks | |
Yan et al. | A new weighted ensemble model for detecting dos attack streams |
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 |