一种基于分布式层级化的dns防御系统和方法

文档序号:7870372阅读:146来源:国知局
专利名称:一种基于分布式层级化的dns防御系统和方法
技术领域
本发明涉及网络安全技术领域,尤其涉及一种基于分布式层级化的DNS防御系统和方法。
背景技术
DNS是域名系统(Domain Name System)的缩写,它是由解析器和域名服务器组成的。DNS服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。普通的DNS服务器只负责为用户解析出IP记录,而不去判断用户从哪里来,这样会造成所有用户都只能解析到固定的IP地址上。随着技术的更新换代,智能DNS的出现颠覆了这个概念。智能DNS会判断用户的来路,而做出一些智能化的处理,然后把智能化判断后的IP返回给用户,而不需要用户进行选择。比如一个企业的站点同时拥有三个运营商的带宽电信、网通、移动,如果访问者是网通用户,智能DNS服务器会把该企业网站的域名对应的网通IP地址解析给这个访问者;其他的也同理。有些网站在国外和国内都放置了服务器,使用智能DNS可以让国外的网络用户链接到国外的服务器,国内的用户链接到国内的服务器,从而使国内外的用户都能迅速的访问到该网站的服务器。然而,现在大多数的DNS系统没有提供智能DNS解析的功能,提供了智能DNS解析功能的DNS系统又无法提供在大流量或大量恶意查询的情况下提供正常DNS服务的保障。常见的智能DNS系统都会使用单一的服务IP组,当该组IP受到攻击时,不但被攻击的域名无法正常解析,同样使用该组IP的所有域名都会出现区域访问的故障。

因此,如何增强智能DNS系统在遭遇大量恶意查询时的抵抗能力,提高智能DNS系统对大流量查询的承受力,成为了亟待解决的问题。

发明内容
有鉴于此,有必要针对上述问题,提供一种基于分布式层级化的DNS防御系统和方法,在大流量及大量恶意查询的情况下,为DNS服务系统的正常查询服务提供保障,保证DNS解析不受影响。为此,本发明采用以下技术方案
一种基于分布式层级化的DNS防御系统,包括前端防御系统和多个智能DNS服务系统,每一个智能DNS服务系统的输入端与前端防御系统的输出端连接,前端防御系统的输入端与网络连接。所述前端防御系统包括
流量防御模块,用于对输入到前端防御系统的查询数据包进行流量清洗;
数据包过滤模块,用于滤除输入到前端防御系统中的恶意查询数据包;
流量防御模块和数据包过滤模块依次连接。所述智能DNS服务系统包括定时扫描模块,用于定时扫描输入到智能DNS服务系统的查询数据包,统计各域名数据被查询数据包查询的频率,将被查询频率超过阈值的域名数据反馈给数据包过滤模块;DNS解析模块,用于对输入到智能DNS服务系统的查询数据包的查询请求进行响应,完成DNS解析工作;
定时扫描模块和DNS解析模块依次连接,各智能DNS服务系统的定时扫描模块分别与前端防御系统的数据包过滤模块连接。所述数据包过滤模块收到定时扫描模块反馈回的域名数据后,将正在查询所述域名数据的查询数据包滤除。所述阈值大于500次每10秒,小于1000次每10秒。一种基于分布式层级化的DNS防御方法,包括
51、将多个智能DNS服务系统的输入端分别与一前端防御系统的输出端连接,所有查询数据包均由所述前端防御系统的输入端接收;
52、所述前端防御系统对收到的查询数据包进行流量清洗;
53、所述前端防御系统滤除查询数据包中的恶意查询数据包;
54、所述前端防御系统根据查询数据包所指定的地址,将过滤后的访问数据分别发送到各自指向的目标智能DNS服务系统,进行DNS解析工作。所述方法还包括
55、定时扫描输入到智能DNS服务系统的查询数据包,统计各域名数据被查询数据包查询的频率,将被查询频率超过阈`值的域名数据反馈给前端防御系统;
56、前端防御系统收到反馈回的域名数据后,将正在查询所述域名数据的查询数据包滤除。在S2中,前端防御系统滤除不符合FQDN规则的查询数据包。在S3中,前端防御系统滤除不符合DNS查询包构建规则的查询数据包。在S5中,所述阈值大于500次每10秒,小于1000次每10秒。本发明实施例提供的一种基于分布式层级化的DNS防御系统和方法,将前端防御系统架设在多个智能DNS服务系统的前端,用于进行流量清洗及恶意查询数据包的过滤,在这一层处理掉95%以上的恶意数据。而连接于前端防御系统下的各智能DNS服务系统,一方面为用户提供智能DNS解析服务,另一方面则对穿透的小部分恶意数据进行定时扫描统计,并将存在问题的查询项目向前端防御系统反馈,辅助过滤恶意查询数据包。本发明实施例提供的一种基于分布式层级化的DNS防御系统和方法,为智能DNS服务系统提供了两层防御,在首层防御大流量的攻击,并滤除大部分的恶意访问数据,然后在服务层处理少量遗漏的恶意查询数据。这种分层设计大大降低了防御过程中智能DNS服务系统的资源消耗,既提高了防御的效果,又提高了 DNS解析效率。综上所述,本发明实施例提供的一种基于分布式层级化的DNS防御系统和方法,提高了智能DNS服务系统对大流量查询的承受力,增强了智能DNS服务系统在遭遇大量恶意查询时的抵抗能力,能够在大流量及大量恶意查询的情况下,为智能DNS服务系统的正常服务提供保障,保证DNS解析不受影响。


图1为本发明实施例提供的一种基于分布式层级化的DNS防御系统的结构示意图。图2为本发明实施例提供的一种基于分布式层级化的DNS防御系统的其中一条支路的具体功能模块示意图。图3为本发明实施例提供的一种基于分布式层级化的DNS防御方法的流程示意图。
具体实施例方式下面将结合附图和具体的实施例对本发明进行进一步的详细说明。如图1所示,本发明实施例提供的一种基于分布式层级化的DNS防御系统包括前端防御系统和多个智能DNS服务系统,每一个智能DNS服务系统的输入端与前端防御系统的输出端连接,前端防御系统的输入端与网络连接。图2示出了前端防御系统和其中一个智能DNS服务系统的连接关系及具体功能模块结构。其他智能DNS服务系统的结构与图2所示的结构相同,在本实施例中不再一一列举。具体地,所述前端防御系统包括依次连接的流量防御模块和数据包过滤模块。流量防御模块用于对输入到前端防御系统的查询数据包进行流量清洗。数据包过滤模块用于滤除输入到前端防御系统中的恶意查 询数据包。所述智能DNS服务系统包括依次连接的定时扫描模块和DNS解析模块。各智能DNS服务系统的定时扫描模块分别与前端防御系统的数据包过滤模块连接。定时扫描模块用于定时扫描输入到智能DNS服务系统的查询数据包,统计各域名数据被查询数据包查询的频率,将被查询频率超过阈值的域名数据反馈给数据包过滤模块。DNS解析模块用于对输入到智能DNS服务系统的查询数据包的查询请求进行响应,完成DNS解析工作。相应地,本发明还提供了一种基于分布式层级化的DNS防御方法,该方法也是上述实施例中的DNS防御系统的工作原理,具体包括以下步骤。S1、将多个智能DNS服务系统的输入端分别与一前端防御系统的输出端连接,所有查询数据包均由所述前端防御系统的输入端接收。S2、所述前端防御系统对收到的查询数据包进行流量清洗。进入到前端防御系统的查询数据包首先会在流量防御模块中进行流量清洗,防止下一级的各智能DNS服务系统收到大流量的攻击数据或恶意查询数据。流量清洗主要是针对采用带宽占用、服务处理能力消耗等方式的DDOS攻击进行探测分析,发现有异常流量存在时,将异常流量和用户正常数据分离,将异常流量拦截或丢弃,将正常的用户数据注回到主干网中,从而保证网络畅通,保证正常业务的连续性。本发明实施例中的流量清洗的方法使用了数据流指纹检测技术,采用的是一种基于连接的状态检测机制,将属于同一连接的所有查询数据包作为一个整体的数据流看待,构成连接状态表,通过规则表与状态表的共同配合,对表中的各个连接状态因素加以识别。其中,所述动态连接表中的记录可以是以前的通信信息,也可以是其他相关应用程序的信息。本发明实施例采用的流量清洗方法具有优良的灵活性和安全性。流量清洗可以滤除不符合FQDN规则的查询数据包,将其拦截或丢弃;确保进入数据包过滤模块的查询数据包都是符合FQDN规则的。但是,这仍然不能确保进入到下一级的智能DNS服务系统的查询数据包一定是非异常的查询数据包,因此需要在数据包过滤模块中进一步验证查询数据包的合法性及有效性。S3、所述前端防御系统滤除查询数据包中的恶意查询数据包。在流量防御模块中经过流量清洗后剩下的有效访问数据被发送到数据包过滤模块,由数据包过滤模块滤除恶意查询数据包。本发明实施例中的数据包过滤模块采用数据帧特征匹配法判断恶意查询数据包。一个正常的DNS查询包一般都是按照固定的规则和格式构建的,而特殊的异常数据包往往都不是依据规则的DNS查询包构建的。因此,通过将查询数据包与DNS查询包构建规则进行逐帧的特征对比,可以很容易地区分出恶意查询包。具体的判断依据包括协议非UDP协议、数据帧奇偶校验码数据异常、DNS查询和返回数据非FQDN数据等等。不符合DNS查询包构建规则的查询数据包将被作为恶意查询数据,被数据包过滤模块拦截或丢弃。S4、所述前端防御系统根据查询数据包所指定的地址,将过滤后的访问数据分别发送到各自指向的目标智能DNS服务系统,进行DNS解析工作。经过流量清洗和过滤后,剩余的查询数据包将被发送到自身指向的目标智能DNS服务系统,由智能DNS服务系统中的DNS解析模块完成正常的智能DNS解析工作。S5、定时扫描输入到智能DNS服务系统的查询数据包,统计各域名数据被查询数据包查询的频率,将被查询频率超过阈值的域名数据反馈给前端防御系统。这一步的工作主要由智能DNS服务系统中的定时扫描模块完成。对于正常的域名,其DNS设置的TTL (Time To Live)值一般为600,则网站正常访问时,每60秒被查询的次数在30次以内,即每两秒该域名允许被查询一次,若超过该值,则极有可能是攻击造成。本发明实施例中,定时扫描模块将定时扫描并统计各域名数据被查询的频率,当某一域名数据的被查询的频率超过阈值时,定时扫描模块会把该域名数据反馈给前端防御系统中的数据包过滤模块。具体地 ,本实施例中的所述阈值大于500次每10秒,小于1000次每10秒,即如果每10秒内同一域名数据被查询的次数超过50(Γ1000次每10秒,所有查询该域名数据的查询数据包均会被视为异常数据。S6、前端防御系统收到反馈回的域名数据后,将正在查询所述域名数据的查询数据包滤除。为了防止域名继续被恶意查询数据包查询,减小智能DNS服务系统负担,提高DNS解析效率,所述数据包过滤模块在收到定时扫描模块反馈回的域名数据后,会将该域名数据转换为十六进制,存储在禁止查询列表中。数据包过滤模块会将所有经过的查询数据包的相关关键字段与禁止查询列表中的数据进行匹配,匹配成功的查询数据包将被作为恶意查询数据包,被数据包过滤模块拦截或丢弃,达到辅助防御的目的。本发明实施例提供的一种基于分布式层级化的DNS防御系统和方法,将前端防御系统架设在多个智能DNS服务系统的前端,用于进行流量清洗及恶意查询数据包的过滤,在这一层处理掉95%以上的恶意数据。而连接于前端防御系统下的各智能DNS服务系统,一方面为用户提供智能DNS解析服务,另一方面则对穿透的小部分恶意数据进行定时扫描统计,并将存在问题的查询项目向前端防御系统反馈,辅助过滤恶意查询数据包。本发明实施例提供的一种基于分布式层级化的DNS防御系统和方法,为智能DNS服务系统提供了两层防御,在首层防御大流量的攻击,并滤除大部分的恶意访问数据,然后在服务层处理少量遗漏的恶意查询数据。这种分层设计大大降低了防御过程中智能DNS服务系统的资源消耗,既提高了防御的效果,又提高了 DNS解析效率。综上所述,本发明实施例提供的一种基于分布式层级化的DNS防御系统和方法,提高了智能DNS服务系统对大流量查询的承受力,增强了智能DNS服务系统在遭遇大量恶意查询时的抵抗能力,能够在大流量及大量恶意查询的情况下,为智能DNS服务系统的正常服务提供保障,保证DNS解析不受影响。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所 附权利要求为准。
权利要求
1.一种基于分布式层级化的DNS防御系统,其特征在于,包括前端防御系统和多个智能DNS服务系统,每一个智能DNS服务系统的输入端与前端防御系统的输出端连接,前端防御系统的输入端与网络连接。
2.根据权利要求1所述的基于分布式层级化的DNS防御系统,其特征在于,所述前端防御系统包括流量防御模块,用于对输入到前端防御系统的查询数据包进行流量清洗;数据包过滤模块,用于滤除输入到前端防御系统中的恶意查询数据包;流量防御模块和数据包过滤模块依次连接。
3.根据权利要求3所述的基于分布式层级化的DNS防御系统,其特征在于,所述智能 DNS服务系统包括定时扫描模块,用于定时扫描输入到智能DNS服务系统的查询数据包,统计各域名数据被查询数据包查询的频率,将被查询频率超过阈值的域名数据反馈给数据包过滤模块;DNS解析模块,用于对输入到智能DNS服务系统的查询数据包的查询请求进行响应,完成DNS解析工作;定时扫描模块和DNS解析模块依次连接,各智能DNS服务系统的定时扫描模块分别与前端防御系统的数据包过滤模块连接。
4.根据权利要求3所述的基于分布式层级化的DNS防御系统,其特征在于,所述数据包过滤模块收到定时扫描模块反馈回的域名数据后,将正在查询所述域名数据的查询数据包滤除。
5.根据权利要求3所述的基于分布式层级化的DNS防御系统,其特征在于,所述阈值大于500次每10秒,小于1000次每10秒。
6.一种基于分布式层级化的DNS防御方法,其特征在于,包括51、将多个智能DNS服务系统的输入端分别与一前端防御系统的输出端连接,所有查询数据包均由所述前端防御系统的输入端接收;52、所述前端防御系统对收到的查询数据包进行流量清洗;53、所述前端防御系统滤除查询数据包中的恶意查询数据包;54、所述前端防御系统根据查询数据包所指定的地址,将过滤后的访问数据分别发送到各自指向的目标智能DNS服务系统,进行DNS解析工作。
7.根据权利要求6所述的方法,其特征在于,还包括55、定时扫描输入到智能DNS服务系统的查询数据包,统计各域名数据被查询数据包查询的频率,将被查询频率超过阈值的域名数据反馈给前端防御系统;56、前端防御系统收到反馈回的域名数据后,将正在查询所述域名数据的查询数据包滤除。
8.根据权利要求6所述的方法,其特征在于,在S2中,前端防御系统滤除不符合FQDN 规则的查询数据包。
9.根据权利要求6所述的方法,其特征在于,在S3中,前端防御系统滤除不符合DNS查询包构建规则的查询数据包。
10.根据权利要求7所述的方法,其特征在于,在S5中,所述阈值大于500次每10秒, 小于1000次每10秒。
全文摘要
本发明涉及一种基于分布式层级化的DNS防御系统和方法,包括前端防御系统和多个智能DNS服务系统,每一个智能DNS服务系统的输入端与前端防御系统的输出端连接,前端防御系统的输入端与网络连接。本发明实施例提供的一种基于分布式层级化的DNS防御系统和方法,提高了智能DNS服务系统对大流量查询的承受力,增强了智能DNS服务系统在遭遇大量恶意查询时的抵抗能力,能够在大流量及大量恶意查询的情况下,为智能DNS服务系统的正常服务提供保障,保证DNS解析不受影响。
文档编号H04L29/06GK103051743SQ20121057587
公开日2013年4月17日 申请日期2012年12月27日 优先权日2012年12月27日
发明者黄鹏波, 邹定洲, 庾明超, 黄勤, 林茂海, 梁生 申请人:茂名市群英网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1