当前位置:文档之家› 绿盟DNS专项防护产品-产品白皮书

绿盟DNS专项防护产品-产品白皮书

绿盟DNS专项防护产品白皮书© 2011 绿盟科技■版权声明本文中出现的任何文字叙述、文档格式、插图、照片、方法、过程等内容,除另有特别注明,版权均属绿盟科技所有,受到有关产权及版权法保护。

任何个人、机构未经绿盟科技的书面授权许可,不得以任何方式复制或引用本文的任何片断。

目录一. DNS是如何工作的 (3)二. DNS相关的安全挑战 (5)2.1DD O S分布式拒绝服务攻击 (5)2.2DNS缓存投毒 (6)2.3DNS服务器权限入侵 (8)2.4DNS信息泄露 (8)2.5其他DNS相关安全问题 (8)三. 传统的DNS安全手段的不足 (9)3.1安全加固 (9)3.2系统扩容 (10)3.3部署DNSSEC (10)3.4防火墙 (11)四. 绿盟科技DNS防护方案 (11)4.2绿盟科技DNS专项防护产品 (11)4.3核心原理 (13)4.3.1 DNS专项DDoS防护模块 (13)4.3.2 DNS投毒监控 (14)4.3.3 安全域名缓存 (15)4.3.4 DNS监控模块 (15)4.4旁路部署方式 (15)五. 结论 (16)插图索引图 1.1 DNS基本原理图 (4)图 2.1 DNS DDOS攻击示意图 (6)图 2.2 DNS缓存投毒过程 (7)图 2.3 DNS查询ID、端口信息 (7)图 2.4 DRDOS攻击过程 (9)图 4.1 DNS安全防护体系 (11)图 4.2 DNS安全防护体系 (12)图 4.3 DNS专项DDOS防护机制 (13)图 4.4 DNS投毒监控机制 (14)图 4.5 旁路部署方案 (16)一.前言DNS服务器作为互联网的组成部分,承担着重要的作用,DNS的任何故障(系统瘫痪、解析错误),都会引起非常严重的网络稳定性问题以及安全问题。

而DNS域名解析的集中性、服务器的开放性特点,则加大了这类安全问题的几率和效果。

因此DNS服务器和域名解析的安全防护也成为国家监管机构、运营商、企业、个人非常关心的一个课题。

但是,由于DNS的安全防护技术的复杂性,以及相应技术应用范围较小,使得很少有专业安全厂商涉及此类防护技术,大多数的DNS服务器还是利用传统的网络防火墙、IPS等产品进行保护,其安全防护效果必然有局限性。

本文展示了绿盟科技在DNS专项安全防护方面的研究成果,并针对DNS特点,提供了多种安全防护机制,并在自主研发的ADS-D系列产品中予以实现。

本文内容将主要包含如下部分:◆DNS基本情况综述;◆DNS相关的攻击手段;◆绿盟DNS安全专项防护技术。

一. DNS是如何工作的DNS 是域名系统(Domain Name System)的缩写,它用于命名组织到域层次结构中的计算机和网络服务。

DNS 命名用于Internet 等TCP/IP 网络中,通过用户友好的名称查找计算机和服务,当用户在应用程序中输入DNS 名称时,DNS 服务可以将此名称解析为与之相关的IP 地址等信息。

DNS域名服务器可进行正向查询和反向查询。

正向查询将名称解析成IP地址,而反向查询则将IP地址解析成名称。

在DNS的系统中,有一套复杂的、遍布世界的树状分布式域名数据库服务器构成,共同为完成域名解析工作。

根据不同DNS参与者在安全角度所扮演角色不同,这里将DNS系统分成三个层次,如图1.1 所示:图 1.1 DNS基本原理图1. 最左侧为客户端,主要是DNS的查询的发起者和使用者,如用户个人电脑等,称之为DNS客户端;2. 第二个层面是运营商或者企业为用户提供DNS服务的DNS缓存(递归、查询)服务器,通常DNS客户端直接向DNS缓存服务器发起递归查询的请求,询问某域名的IP地址,此类服务器称为DNS缓存服务器;3. 第三个层面是遍布全球的DNS服务器,主要是为了给缓存服务器提供迭代查询的服务,这类服务器从“.”开始的13个根服务器,一直到末梢保存权威域名解析地址的授权域(权威)服务器,统一称为迭代服务器,由于末梢的授权域服务器是最重要的,因此,本文中更多提及的是授权域(权威)服务器。

DNS查询过程分为递归查询和迭代查询,相应方式如下:1. 递归查询的工作方式递归查询是最常见的查询方式,域名服务器(通常为DNS缓存服务器)将代替提出请求的客户端(或者下级DNS服务器)进行域名查询,若域名服务器不能直接回答,则域名服务器会在域各树中的各分支的上下进行查询,最终将返回查询结果给客户机,在域名服务器查询期间,客户机将完全处于等待状态。

2. 迭代查询的工作方式迭代查询又称重指引,当服务器使用迭代查询时能够使其他服务器返回一个最佳的查询点提示或主机地址,若此最佳的查询点中包含需要查询的主机地址,则返回主机地址信息,若此时服务器不能够直接查询到主机地址,则是按照提示的指引依次查询,直到服务器给出的提示中包含所需要查询的主机地址为止,一般的,每次指引都会更靠近根服务器(向上),查寻到根域名服务器后,则会再次根据提示向下查找。

二. DNS相关的安全挑战DNS服务器是为整个网络服务的关键业务点,任何DNS服务的不可用或者解析错误,都可能导致用户网络中断或者引起后续更加复杂的安全问题——如用户信息泄露或者被挂马,因此DNS服务器和域名解析的安全防护也成为国家监管机构、运营商、企业、个人非常关心的一个课题。

2009年5月19日,由于DDoS攻击,造成了全国6个省份DNS失效,在若干小时内无法正常上网(5.19事件)。

各类DNS安全问题依旧层出不穷,如2009年6月22日,新网互联发表公告确认DNS解析服务器遭受攻击,2010年1月12日,百度DNS 服务遭受劫持攻击。

这些安全问题给当事单位和公司除了造成经济损失外,也造成了巨大的信誉伤害。

现在绝大部分DNS服务器都使用了BIND的系统,(一款开放源码的DNS服务器软件,BIND由美国加州大学Berkeley分校开发,现由ISC机构维护,全名为Berkeley Internet Name Domain),尽管现在已经进入到V9版本,并进行了一系列功能和性能的改进,但是受制于历史原因,并且由于现在DNS服务器已经数以万计,遍布全球,相互之间密切关联,很难统一进行大规模整改,因此,整个DNS系统长期面临着重大安全隐患。

DNS服务器安全问题和其自身特点有直接关系,相对于运营商骨干网络上的高性能、封闭操作系统、比较安全的核心路由器,DNS具有的开源性、开放性、以及缺乏专业安全防护手段的问题,这都使得DNS服务器成为最容易攻击的目标之一。

DNS的安全问题,主要分为以下几类:2.1 DDoS分布式拒绝服务攻击DDoS是DNS面临的最大安全威胁问题。

多年年来,全国各地都有检测到对DNS的DDoS攻击的记录,只是由于影响地域范围相比5.19事件小得多,因此没有受到太多关注。

由于攻击DNS导致断网不容易给黑客带来直接的经济收益,因此黑客对DNS进行DDoS的攻击动机通常是政治性展示、对运营商报复、或者仅仅是个人技术表演。

未来一段时间,如果有传统的一些政治性、公众性的事件出现时,DNS服务器将会成为安全威胁的重点。

图 2.1 DNS DDoS攻击示意图DNS Query FLood(DNS查询泛洪攻击)是专门针对DNS服务器的最常见DDoS攻击类型。

如上图中,黑客控制的僵尸网络的主机不断发出DNS Query的查询包,这些域名/IP 根据不同的攻击变种可能有所变化,但最经常的是一些不可能存在的域名,本地DNS的缓存中不存在这种域名解析,故每个地址都需要进行完全的迭代查询。

如果僵尸网络的查询数量过多,占据了全部DNS服务器的资源,则最终形成DDoS,这样正常用户的查询就得不到DNS服务器的响应了。

事实上,现有的DNS系统在查找算法上并不高效。

用BIND举例,如果我要查找一个,BIND需要先查找,然后再查找www. 。

如果www. 不存在,那么再去找*,直至找到或者找不到结果,再给用户返回。

在www. 存在的情况下,BIND需要查找2次。

如果不存在,BIND需要查找3次甚至4次。

如果攻击者构造一个恶意的域名,比如a.b.c.d.e.f.g.h.i.j.k. ,按照上面的查找方法,这个域名需要查找至少13次。

除了上述DNS Query Flood攻击,传统的流量型DDoS也可以对DNS服务器造成影响,如SYN Flood、Connection Flood、UDP Flood、ICMP Flood等类型攻击,可以很容易完成对DNS服务器资源的消耗,从而使DNS同样无法响应正常用户的需求。

2.2 DNS缓存投毒DNS缓存投毒,也叫DNS缓存污染,通常是针对缓存服务器进行的攻击,攻击者可以通过猜测DNS解析过程中的报文序列号来伪造DNS权威服务器的应答,从而达到“污染”高速缓存(Cache)中的记录的目的,即将错误的域名指向信息注入DNS服务器,最终导致受到污染的DNS服务器将对外提供错误的解析结果,此类攻击被称之为DNS缓存投毒。

DNS缓存投毒的传统过程如下:图 2.2 DNS缓存投毒过程假设,黑客的恶意网站地址为2.2.2.2,要替代合法网站1.1.1.1下面的。

黑客通常首先会利用僵尸网络进行DDoS攻击,将的授权域服务器压制住;之后黑客主动进行访问;由于本地DNS服务器会有缓存过期,因此,需要重新查询的授权域服务器,但此时,授权域服务器正在被DDoS攻击无法进行正式回应,黑客不断尝试发送的假的回应报文:2.2.2.2,从而最终使本地DNS服务器缓存被改写。

以后一旦正常用户访问网站,就会被指向到了2.2.2.2,在黑客的恶意网站上,通常会进行钓、鱼挂马等后续攻击。

对于DNS缓存投毒,主要攻击手法为暴力猜测法。

DNS在查询过程中,其查询报文和回应报文的认证关系依赖端口号和ID号两个信息,如下图:图 2.3 DNS查询ID、端口信息在查询数据报文中,ID和Port为16位的两个字段,即使在一个固定的情况下,理论上攻击者也需要进行32768个猜测才能猜到。

但是很多DNS服务器的ID或者Port是固定数字、顺序增加、采用伪随机算法、NAT转换、端口限制、放弃某些位的变换、或者存在生日攻击漏洞,这些使得攻击者的猜中概率大幅增加,从而成为DNS投毒的一个渠道。

除此之外,粘合投毒(Classic Glue Poison),特别是Kaminski Attack,也是DNS服务器投毒的一类重要手法,其基本方式是在正常DNS解析应答的报文后,附加其他域名的解析信息,从而形成DNS缓存投毒攻击。

2.3 DNS服务器权限入侵由于DNS服务器通常采用UNIX/LINUX操作系统以及BIND软件,这样操作系统和软件不可避免出现的漏洞,为黑客的直接DNS攻击提供了可乘之机。

相关主题