DNS欺骗攻击及其防护研究
第1l卷第3期
2012年3月
软件导刊
S o ftwareGuide
Vo1.1lNO.3
M ar2 O l2
DNS欺骗攻击及其防护研究
王伟
(西安财经学院信息与教育技术中心,陕西西安710100)
摘要:DNS是计算机用户访问网站使用的域名地址解析系统.DNS欺骗则是攻击者常见的攻击手段.从DNS的
服务工作过程入手,分析了DNS的欺骗原理,探讨了防止DNS欺骗攻击的技术方法.
关键词:DNS;欺骗攻击;防护研究
中图分类号:TP309文献标识码:A文章编号:1672—7800(2012)003—0138—030引言
域名系统(DomainNameSystem,DNS)是一个将D o—mainName和IPAddre s s进行互相映射的D istributed
Database.DNS是网络应用的基础设施,它的安全性对于
互联网的安全有着举足轻重的影响.但是由于DNSPro—toeol在自身设计方面存在缺陷,安全保护和认证机制不
健全,造成DNS自身存在较多安全隐患,导致其很容易遭
受攻击.很多专家就DNSProtocol的安全缺陷提出了很
多技术解决方案.例如IETF提出的域名系统安全协议
(DomainNameSystemSecurity,DNS SEC),其目标就在于
解决这些安全隐患.这个Protocol增加了安全认证项目,
增强了Protocol自身的安全功能.但是新增加的安全机制需要占用更多的系统和网络资源,同时要升级Database和SystemManggamentSoftware,这些基于DNS SEC协议的软件还不成熟,距离普及应用还有较长时间.目前,常见的措施是定期升级DNS软件和加强相关的安全配置,禁用不安全的端口等.本文对以侦听为基础的DNSID欺骗(DNSIDspoo fing)进行了探讨,并提出了相关的防护解决方案.
1 DNSSERVER的服务工作过程
DN S是一种实现Do mainName和IPAddre s s之间转换的系统,它的工作原理就是在两者间进行相互映射,相当于起到翻译作用,所以称为域名解析系统.DNS Sys—tem分为Server和Client两部分,Server的通用Port是
53.当Client向Server发出解析请求时,LocalDNSServer第一步查询自身的Database是否存在需要的内容,如果有则发送应答数据包并给出相应的结果;否则它将向上
一
层DNS S erver查询.如此不断查询,最终直至找到相应的结果或者将查询失败的信息反馈给客户机.如果LocalDNSServer查到信息,则先将其保存在本机的高速缓存中,然后再向客户发出应答.日常我们上网是通过Browser方式来申请从DomainName到IPAddre ss的解析,即Client向DNS Server提交域名翻译申请,希望得到对应的IPAddress.这里以笔者所在院校为例,说明DNS的工作原理.
例如Client的Address为10.252.2.16,学校DNS
S erver为218.3 O.19.4O,从此客户机来访问西安财经学院网站.在地址栏键入学校网站的www.xaufe.edu.cn,通过DNS Server查找其对应的IPAddress.这个申请从
10.252.2.16的一个随机PORT发送出去,由218.30.19.
4O的53绑定端口接收到此申请并进行翻译,首先在218.
3 O.19.40的高速缓存中查找www.xaufe.edu.en的IP
Addres s,若存在对应的映射关系,就直接将IPAddress发
送给客户机,若缓存中没有,则218.30.19.40会向上层
DNSSERVER查询,最后将查询到的结果先发送到218.
30.19.4O,最后由218.30.19.40将西安财经学院的1P
Address(281.195.32.1)返回给Client 10.252.2.16.这
样10.252.2.16就可以和西安财经学院站点建立连接并
访问了,其具体过程如图1所示.
将网页发送给客户返NIP218195321
时间时间时间
图1客户端Browser向DNS查询Web服务器的IP地址
作者简介:王伟(1978一),男,山西新绛人,硕士,西安财经学院信息与教育技术中心工程师,研究方向为计算机信息系统,网络管理与
安全.
第3期王伟:DNS欺骗攻击及其防护研究?139?
2DNS欺骗攻击原理
2.1欺骗原理
Client的DNS查询请求和DNSServer的应答数据包
是依靠DNS报文的ID标识来相互对应的.在进行域名
解析时,Client首先用特定的ID号向DNSServer发送域
名解析数据包,这个ID是随机产生的.DNS Server找到
结果后使用此ID给Client发送应答数据包.Client接收
到应答包后,将接收到的ID与请求包的ID对比,如果相
同则说明接收到的数据包是自己所需要的,如果不同就丢
弃此应答包.根据攻击者的查询和应答原理,可使用不同
方法实现攻击,如:
(1)因为DNSMessage仅使用一个简单的认证码来
实施真实性验证,认证码是由Client程序产生并由DNSS erver返回结果的,客户机只是使用这个认证码来辨别应答与申请查询是否匹配,这就使得针对ID认证码的攻击威胁成为可能.
(2)在DNSRequestMessage中可以增加信息,这些
信息可以与客户机所申请查询的内容没有必然联系,因此攻击者就能在RequestMessage中根据自己的目的增加某些虚假的信息,比如增加其它DomainS erver的DomainName及其IPAddress.此时Client在受到攻击的Do—mainS erver上的查询申请均被转向此前攻击者在Re—questMessage中增加的虚假DomainServer,由此DNS欺骗得以产生并对网络构成威胁.
(3)当DNS S erver接收到Do mainName和IPAd—dress相互映射的数据时,就将其保存在本地的Cache中.若再有C lient请求查询此D o mainName对应的IPAd—dress,DomainServer就会从Cache中将映射信息回复给Client,而无需在Database中再次查询.如果黑客将DNSRequestMessage的存在周期设定较长时间,就可进行长期欺骗.
2.2DNS欺骗攻击的方式
DNS欺骗技术常见的有内应攻击和序列号攻击两种.内应攻击即黑客在掌控一台DNS S erver后,对其D omainD atab as e内容进行更改,将虚假IPAddre s s指定给特定的D omainName,当C lient请求查询这个特定域名的IP时,将得到伪造的IP.
序列号攻击是指伪装的DNS Server在真实的DNSS erver之前向客户端发送应答数据报文,该报文中含有的序列号ID与客户端向真实的DNS Server发出请求数据包中含有的ID相同,因此客户端会接收该虚假报文,而丢
弃晚到的真实报文,这样DNSID序列号欺骗成功.客户机得到的虚假报文中提供的域名的IP是攻击者设定的IP,这个IP将把客户带到攻击者指定的站点.
2.3DNS序列号欺骗攻击原理
DN S序列号(ID)欺骗以侦测ID和P ort为基础.在
Switch构建的网络中,攻击方首先向目标实施ARP欺骗.当Client,攻击者和DNSServer同在一个网络时,攻击流程如下:①攻击方向目标反复发送伪造的ARPRequestMe s s age,修改目标机的ARP缓存内容,同时依靠IP续传使D ata经过攻击方再流向目的地;攻击方用Sniffer软件侦测DNS请求包,获取ID序列号和Potr;②攻击方一旦获得ID和Potr,即刻向客户机发送虚假的DNSRequestMessage,Client接收后验证ID和Potr正确,认为接收了合法的DNS应答;而Client得到的IP可能被转向攻击方诱导的非法站点,从而使Client信息安全受到威胁;③Cli—ent再接收DNS Server的RequestMessage,因落后于虚假的DNS响应,故被Client丢弃.当Client访问攻击者指向的虚假IP时,一次DNSID欺骗随即完成.
3DNS欺骗检测和防范思路
3.1检测思路
发生DNS欺骗时,Client最少会接收到两个以上的
应答数据报文,报文中都含有相同的ID序列号,一个是合法的,另一个是伪装的.据此特点,有以下两种检测办法:
(1)被动监听检测.即监听,检测所有DNS的请求和
应答报文.通常DNS S erver对一个请求查询仅仅发送一个应答数据报文(即使一个域名和多个IP有映射关系,此时多个关系在一个报文中回答).因此在限定的时间段内
一
个请求如果会收到两个或以上的响应数据报文,则被怀
疑遭受了DNS欺骗.
(2)主动试探检测.即主动发送验证包去检查是否有DNS欺骗存在.通常发送验证数据包接收不到应答,然而黑客为了在合法应答包抵达客户机之前就将欺骗信息发送给客户,所以不会对DNS Server的IP合法性校验,继续实施欺骗.若收到应答包,则说明受到了欺骗攻击.
3.2防范思路
在侦测到网络中可能有DNS欺骗攻击后,防范措施有:①在客户端直接使用IPAddress访问重要的站点,从而避免DNS欺骗;②对DNSServer和Client的数据流进行加密,Server端可以使用SSH加密协议,Client端使用PGP软件实施数据加密.
对于常见的ID序列号欺骗攻击,采用专业软件在网络中进行监听检查,在较短时间内,客户端如果接收到两个以上的应答数据包,则说明可能存在DNS欺骗攻击,将后到的合法包发送到DNS S erver并对DNS数据进行修改,这样下次查询申请时就会得到正确结果.
4DNS防护方案
4.1进行IP地址和MAC地址的绑定
(1)预防ARP欺骗攻击.因为DN S攻击的欺骗行为要以ARP欺骗作为开端,所以如果能有效防范或避免ARP欺骗,也就使得DN S ID欺骗攻击无从下手.例如可以通过将GatewayRouter的IpAddres s和MACAddres s?
140?软件导刊2O12年
静态绑定在一起,就可以防范AR P攻击欺骗.
(2)DNS信息绑定.DNS欺骗攻击是利用变更或者伪装成DNS Server的IPAddress,因此也可以使用MACAddres s和IPAddres s静态绑定来防御DNS欺骗的发
生.由于每个NetworkCard的MACAddres s具有唯一性质,所以可以把DNS Server的MACAddress与其IPAddres s绑定,然后此绑定信息存储在客户机网卡的Eprom中.当客户机每次向DNS Server发出查询申请后,就会检测DNS Server响应的应答数据包中的MACAddress是否与Eprom存储器中的MACAddress相同,要是不同,则很有可能该网络中的DNS Server受到DNS欺骗攻击.这种方法有一定的不足,因为如果局域网内部的客户主机也保存了DNS Server的MACAddress,仍然可以利用MACAddres s进行伪装欺骗攻击.
4.2使用DigitalPassword进行辨别
在不同子网的文件数据传输中,为预防窃取或篡改信息事件的发生,可以使用任务数字签名(TSIG)技术即在主从DomainNameServer中使用相同的Password和数学模型算法,在数据通信过程中进行辨别和确认.因为有Password进行校验的机制,从而使主从Server的身份地位极难伪装,加强了D o mainN ame信息传递的安全性.安全性和可靠性更好的DomainName S ervice是使用域名系统的安全协议(DomainNameSystemS ecurity,DNS SEC)),用DigitalS ignature的方式对搜索中的信息源进行分辨,对DATA的完整性实施校验,DNsSEC的规范可参考RF C 2605.因为在设立D o ma in时就会产生Password,同时要求上层的DomainName也必须进行相关的D omainP as swordS ignature,显然这种方法很复杂,所以InterNIC域名管理截至目前尚未使用.然而就技术层次上讲,DNS SEC应该是现今最完善的DomainName设立和解析的办法,对防范D omainName欺骗攻击等安全事件是非常有效的.
4.3优化DNSSERVER的相关项目设置
对于DNS Server的优化可以使得DNS的安全性达到较高的标准,常见的工作有以下几种:①对不同的子网使用物理上分开的DomainName S erver,从而获得DNS功能的冗余;②将外部和内部DomainNameServer从物理上分离开并使用Forwarders转发器.外部D omainNameS erver可以进行任何客户机的申请查询,但For—warders则不能,Forwarders被设置成只能接待内部客户机的申请查询;③采用技术措施限制DNS动态更新;④将区域传送(zonetransfer)限制在授权设备上;⑤利用事务签名对区域传送和区域更新进行数字签名;⑥隐藏服务器上的B ind版本;⑦删除运行在DNS服务器上的不必要服务,如FTP,telnet和Http;⑧在网络外围和DNS服务器上使用防火墙,将访问限制在那些DNS功能需要的端口上.
4.4直接使用IP地址访问
对个别信息安全等级要求十分严格的WE B站点尽量不要使用DNS进行解析.由于DNS欺骗攻击中不少是针对窃取客户的私密数据而来的,而多数用户访问的站点并不涉及这些隐私信息,因此当访问具有严格保密信息的站点时,可以直接使用IP地址而无需通过DNS解析,这样所有的DNS欺骗攻击可能造成的危害就可以避免了.除此,应该做好DNS Server的安全配置项目和升级DNS软件,合理限定DNS Server进行响应的IP地址区间,关闭DNS Server的递归查询项目等.
4.5对DNS数据包进行监测
在DNS欺骗攻击中,Client会接收到至少两个DNS的数据响应包,一个是真实的数据包,另一个是攻击数据包.欺骗攻击数据包为了抢在真实应答包之前回复给Client,它的信息数据结构与真实的数据包相比十分简单,
只有应答域,而不包括授权域和附加域.因此,可以通过
监测DNS响应包,遵循相应的原则和模型算法对这两种
响应包进行分辨,从而避免虚假数据包的攻击.
5结束语
本文对DNS解析及DNS欺骗的原理进行了阐述,对
DNS欺骗攻击的方式,检测和防范的思路进行了探讨,最
后给出了一些预防DNS欺骗的常见方法.相信这些方案
的应用,可以大大提高DNS的安全性和可靠性.但网络
的发展和应用Et新月异,在实践中还要不断紧跟技术变化
的步伐,不断学习和总结才能有效抵御各种新类型的
DNS故障.
参考文献:
Eli滕步炜.DNS欺骗技术的实现[J].连云港职业技术学院,2007
(12).
Ezq闫伯儒,方滨兴,李斌,等.DNS欺骗攻击的检测和防范EJ].计算机工程,2006(21).
[3]孔政,姜秀柱.DNS欺骗原理及其防御方案[J].计算机工程,2010
(2).
I-4]张小妹,赵荣彩.基于DNS的拒绝服务攻击研究与防范[J].计算机工程与设计,2008(1).
(责任编辑:杜能钢)
6元虚拟主机是否值得购买?近期各商家都纷纷推出了优质便宜的虚拟主机产品,其中不少6元的虚拟主机,这种主机是否值得购买,下面我们一起来看看。1、百度云6元体验三个月(活动时间有限抓紧体验)体验地址:https://cloud.baidu.com/campaign/experience/index.html?from=bchPromotion20182、Ucloud 10元云主机体验地址:https:...
RackNerd 商家给的感觉就是一直蹭节日热点,然后时不时通过修改配置结构不断的提供低价年付的VPS主机,不过他们家还是在做事的,这么两年多的发展,居然已经有新增至十几个数据中心,而且产品线发展也是比较丰富。比如也有独立服务器业务,不过在他们轮番的低价年付VPS主机活动下,他们的服务器估摸着销路不是太好的。这里,今天有看到RackNerd商家的独立服务器业务有促销。这次提供美国多个机房的高配独立...
提速啦的来历提速啦是 网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑 由赣州王成璟网络科技有限公司旗下赣州提速啦网络科技有限公司运营 投资1000万人民币 在美国Cera 香港CTG 香港Cera 国内 杭州 宿迁 浙江 赣州 南昌 大连 辽宁 扬州 等地区建立数据中心 正规持有IDC ISP CDN 云牌照 公司。公司购买产品支持3天内退款 超过3天步退款政策。提速啦的市场定位提速啦主...