[刘志军 汲传鑫 彭巍 肖慧]
基于多层级限速的DNS安全防护技术应用
[刘志军汲传鑫彭巍肖慧]
摘要针对DNS系统常见的攻击类型进行了分析,结合各类攻击手段对DNS系统安全防护几种典型技术进行了总结,同时结合运营商网络的情况,提出了一种基于多层级限速的DNS系统安全防护技术和解决方案,能有效解决传统DNS系统存在的安全防护能力不足的问题,有效地抵御现网针对DNS系统的DDoS流量攻击,对于今后DNS系统的安全防护功能的提升以及DNS系统的建设具有较好的指导和参考意义。
关键词:DNS系统 DDoS攻击 多层级限速
刘志军
中国电信股份有限公司广东分公司,硕士,研究方向为IP网络。
汲传鑫
上海牙木通讯技术有限公司,学士,研究方向为DNS设备与系统研发。
彭巍
中国电信股份有限公司广东研究院,硕士,研究方向为IP网络。
肖慧
中国电信股份有限公司广东分公司,硕士,研究方向为IP网络。
DNS(Domain Name System)域名系统,作为互联网的基础服务设施,为域名和精确IP地址建立映射关系,实现用户访问互联网上的网站、应用与业务。近年来,随着网络应用和业务的不断发展,网络攻击事件日益频繁,DNS系统也遭到一系列的攻击,造成了严重的经济、社会效益损失。
从2009年至今,国内外也已发生多起针对DNS系统的较大安全事件,例如:
(1)2009年5月19日,域名免费托管组织DNSPod遭受DDoS攻击,加上暴风影音软件自身的问题,导致了国内六省长时间断网事件。
(2)2010年1月12日,百度DNS被劫持,造成其网站数小时内无法被访问,造成较大经济损失。
(3)2010年8月7日,国际知名DNS服务提供者DNS Made Easy遭受DDoS攻击,造成1.5小时的服务宕机,经观测发现DDoS的攻击流量高达50Gbit/s。
(4)2012年2月7日下午3点多到晚上7点多,多个省份遭受到大流量的DDOS攻击,攻击流量最高达60万QPS。
(5)2014年12月全国多省运营商DNS系统受到散列域名攻击,攻击流量峰值达到70G,请求次数峰值超过1亿次Qps。
以上事件反映出目前国内外DNS系统在自身处理能力、安全防护、管理监控方面存在不足,表明DNS系统服务将面临着愈来愈严峻的安全形式。迫切需要提高DNS系统的安全防护能力,抵抗各种流量攻击进而保证正常用户的域名查询服务。
DNS系统面临的安全方面的攻击主要包括DNS服务内容被篡改和DNS服务器受到流量攻击两种类型。
对于DNS内容被篡改方面,一种叫做DNS缓存窥探,它通过正常的DNS解析过程,来探测某一个资源记录是否存在于所查询的DNS缓存中;还有域名劫持,它是攻击者通过相关黑客手段控制了域名权威服务器,或者控制了域名管理邮箱和密码,通过在DNS权威服务器上进行添加、修改相应的域名记录,使得用户在访问该域名的时候,却访问了黑客修改后所指向的内容;还有一种称为DNS缓存投毒,它是利用DNS服务的分层结构,将访问某域名的用户在无感知的情况下,访问了攻击者所指定的某个服务器;此外还有DNS中间人攻击,它是基于ARP解析的攻击手段,攻击者和被攻击者在同一局域网内,通过ARP攻击拦截被攻击者的DNS查询请求,发送伪造的DNS应答,使得被攻击者访问恶意的网站,其在局域网及WLAN中存在较大的风险。
而对于DNS服务器的流量攻击方面包括以下类型:
(1)针对DNS的DDoS攻击
分布式拒绝攻击是最常见的网络攻击方式,攻击方式有多种,针对DNS的DDoS攻击最基本的方法就是利用大量正常的DNS查询请求来占用DNS服务器的网络带宽、CPU、内存等资源,使得其它合法的用户的DNS查询得不到响应。DDoS攻击利用大量的傀儡机来发起攻击,互联网的高速发展给DDoS攻击创造了有利的条件,用户的家用电脑、家庭路由器、各类型网络终端、各类服务器等设备都可能被攻击者控制成为傀儡机。DDoS攻击通过僵尸网络发起大量的正确域名查询、前缀变化的错误域名查询,或者发起全散列的错误域名查询,可以大量拥挤并造成DNS节点的网络带宽瘫痪,同时造成DNS缓存服务器、DNS递归服务器资源消耗而宕机,导致整个DNS节点无法为用户提供服务,这是目前网络中最常见的DNS攻击类型,危害极大。
(2)DNS放大攻击
DNS放大攻击利用自身DNS协议的特性,即通常DNS查询报文可能只有几十个字节,但所查询特定域名的DNS应答报文却很长,例如支持ANY类型、TXT类型或者EDNS0的DNS应答报文可以上千甚至几千个个字节,即应答报文的长度是通常查询报文的几十倍。攻击者利用这一点,向DNS服务器发送大量的长度很小的DNS查询包,但DNS服务器将回复几十倍的应答流量,可能导致被攻击者的资源耗尽。
(3)DNS反射攻击
DNS反射攻击利用DNS服务器作为反射体进行,攻击者利用僵尸网络,伪造第三方服务器,向多个DNS服务器发起大量的DNS查询请求,利用DNS放大攻击使得第三方服务器的网络带宽阻塞及服务器资源消耗殆尽。DNS反射攻击通常是结合DNS放大攻击一起使用,发起大量伪造的会放大应答报文类型的DNS查询请求,DNS服务器就会向第三方服务器回复经放大流量的应答数据,从而导致第三方服务器轻易崩溃。
因此当前针对DNS的流量攻击手段经常被攻击者组合使用,网络上的DNS DDoS攻击常常体现为混合类型,对于DNS服务器的危害极大,常常使得服务器资源耗尽,网络链路出现拥塞,无法为广大用户提供正常服务。综上目前针对DNS DDoS流量攻击是DNS服务提供者所面临的重要安全问题。?
(1)加强DNS的安全管理
主要是加强对域名服务器的安全管理,将对外提供服务的DNS解析服务器和管理服务器分离,利用自身服务器的安全加固技术,结合定期更改密码、加强漏洞修复等手段,从而可以防范攻击者通过黑客手段获取管理权限,能有效防范诸如域名劫持之类的常见攻击,但无法应用流量攻击。
(2)应用HTTP DNS技术
DNS协议默认均采用UDP协议传输,UDP协议本身的无连接特性,使得DNS服务器无法确定其查询用户的真实性,间接上为DDoS攻击、放大攻击、反射攻击提供了相当程度的便利。HTTP DNS技术通过HTTP协议承载DNS协议,除了能有效解决流量调度的问题之外,它还可以利用TCP协议的特性,有效地确认查询用户的真实性,通过该方法可以有效防范类似缓存投毒、DDoS攻击、放大攻击、反射攻击等攻击手段。但是HTTP DNS技术在应用方面具有很大的局限性,只能应用于类似移动APP之类的特殊客户端,对于网络运营商而言无法为海量的普通用户提供大规模的查询服务。
(3)TC标志位重传技术
DNS标准协议中,有一个TC标志位字段,当DNS应答结果超过512字节UDP协议无法承载时,会在应答报文中将该标志字段置1,DNS查询客户端收到该DNS应答后,会重新发起基于TCP协议的DNS查询,DNS服务器将所有应答结果基于TCP协议回复给客户端。
TC标志位重传技术就是利用DNS协议的这一特性,确认DNS查询客户端的真实性,有效防护DDoS攻击。该技术是一种针对客户响应的方法,但是TCP协议的自身特性会对系统资源消耗巨大,同时在DNS查询流量比较大的情况下该技术会产生较大误差,实际上在网络运营商的大容量DNS缓存服务器中难以使用。
(4)CNAME类型重传技术
类似TC标志位重传技术类型,它利用DNS协议的特性,DNS递归服务器收到DNS权威服务器的CNAME应答结果后,会重新发起对这个CNAME结果的DNS查询请求,以此来确认DNS查询客户端的真实性。这种技术同样有很大的局限性,只能应用于DNS权威服务器,以此来确认DNS递归服务器的真实性。其无法应用于普通的DNS缓存服务器和递归服务器,实际上无法为包括网络运营商在内的DNS服务提供者实现防流量攻击保护。
(5)DNS限速技术
DNS限速技术有分为IP限速和域名限速。
IP限速是指限定每个IP用户的每秒钟DNS查询次数。IP限速可以有效的抑制DNS放大攻击和DNS反射攻击,对DDoS攻击有一定的缓解作用,但对于有大量僵尸网络的DDoS攻击并不能起到很好的防护作用。域名限速是指限定某个特定域名或泛域名的每秒钟DNS查询次数。域名限速主要是为了防护前缀变化的DNS递归攻击,有效的保护DNS递归服务器,但是针对全散列的错误域名攻击无法防护。
综前所述,各种防护技术都具有其自身的局限性,从而形成在当前网络环境中针对大量僵尸网络的不同类别DDoS攻击难以实现有效防护的局面。同时在复杂的现网环境下也可能难以精确溯源攻击者,因此如何有效应对大量的运行在UDP协议上全散列域名的DDoS攻击是网络运营商所面临的重大难题。
本文针对目前常见的大规模DDoS域名流量攻击,结合当前网络运营商采用的专业化DNS缓存设备,提出了一种基于多层级限速的流量控制安全防护技术,该技术方案能有效过滤不同类型DDoS攻击流量,最大限度保证正常用户的DNS访问。多层级限速可防止某一地址段或者对某些域名的查询流量占用太多资源,从而影响整体系统性能。当出现局部IP段或域名段查询流量异常变大,则可能是DDoS攻击所造成,则可通过多层级限速实现防御功能。
在多层级限速过滤技术实现中,在每一层级别都有不同的过滤策略,不同的过滤策略针对不同的DDoS攻击流量,每一层级别的过滤策略都是一个限速过滤矩阵,DNS请求包依次通过这些限速过滤矩阵做判断,通过的为正常请求包,过滤的为异常的DDoS攻击包。
图1 DNS缓存设备的多层级限速示意图
目前的限速过滤矩阵主要有如下几种:
(1)源IP限速过滤矩阵
判断识别每个源IP的请求是否超过限速阈值,超过的丢弃。具体是将源IP范围划分成各种网段,通过IP网段或单个IP来控制DNS查询。在系统遭受单个IP或IP段发起大量DNS请求的攻击下,有较好的防护作用。
(2)域名限速矩阵
判断识别每个域名的请求是否超过限速阈值,超过的丢弃。不同的域名有不同的限速阈值,可进行配置,防止系统遭受单个域名大量DNS请求的流量攻击。
(3)授信域名过滤矩阵
通过分析一定时间内现网所有的DNS请求应答数据,得到所有应答结果为NoError的域名清单,将这份清单作为可信的域名列表,DNS请求域名在这份可信的列表中的,不做过滤并正常通过;域名不在这份列表中的DNS查询请求,授信域名过滤矩阵通过聚合分析域名的三级后缀、二级后缀,再做限速过滤。
处理流程如图2所示。
图2 多层级限速流程图
(4)泛域限速过滤矩阵
如果授信域名列表不全或者不存在,为了应对前缀变化的泛域递归攻击,例如:xxx.abc.com,xxx.abc.com. cn攻击,将通过泛域限速功能进行防护。泛域限速是为了控制递归流量,从域名三级后缀、二级后缀的角度进行聚合统计分析,丢弃递归流量较大的域。在递归性能有限的情况下,保证正常域名的递归。
上述多层级限速的系统内处理流程如图3所示。
图3 泛域限速过滤矩阵处理流程
目前在广东电信的DNS网络环境中已经在DNS缓存设备上现网部署了多层级限速技术方案。经现网运行检验,应用多层级限速技术后,多次针对DNS的DDoS攻击流量被大大限制,充分反映该技术是应对全散列域名DDoS攻击最有效的方法。
本文对现网DNS系统存在的安全方面的问题进行了分析,对现有的一些安全防护手段进行了概括并分析了它们存在的问题,针对网络运营商为用户提供大规模DNS查询的特性,提出了在现有DNS缓存设备上应用基于多层级限速的安全防护技术,可以有效实现对域名服务的安全防护,大大降低了针对DNS的DDoS攻击流量所造成的影响,有力地保证了广东电信海量互联网用户正常的域名查询,保证了各类互联网业务能安全可靠为用户提供服务。同时也为今后运营商DNS网络的安全能力提升和系统建设提供了指导和参考,具有重要的推广应用价值。
参考文献
1DNS and Bind ,the 9th edition
2基于全局anycast的智能域名系统架构演进研究 彭巍、曹维华、李文云、华山 广东通信技术
3基于转发和控制分离的DNS新型架构研究 曹维华 贺晓东彭巍 朱华虹
DOI:10.3969/j.issn.1006-6403.2016.04.004
收稿日期:(2016-03-10)