计算机安全DNS欺骗分析与防范.doc_第1页
计算机安全DNS欺骗分析与防范.doc_第2页
计算机安全DNS欺骗分析与防范.doc_第3页
计算机安全DNS欺骗分析与防范.doc_第4页
计算机安全DNS欺骗分析与防范.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计说明书(论文)用纸 计算机安全课程论文DNS欺骗分析与防范 院(系)名称信息工程学院计算机科学系 专业名称计算机应用技术 学号070601143 学生姓名尹晓宁 指导教师田建立 分 数 起止日期09年12月9日12月16日 2009年12月16日【摘要】DNS是目前大部分网络应用的基础,对它的攻击将影响整个Internet的正常运转。利用TCP/IP协议缺陷进行欺骗攻击是目前网络中常出现的攻击方法,通过与网络监听的结合,攻击者能在不被察觉的情况下实现对被攻击者通信数据的截获并篡改,给当今网络通信安全带来了严重威胁。DNS欺骗攻击是攻击者常用的手法,它具有隐蔽性强、打击面广、攻击效果明显的特点,但是目前对这种攻击还没有好的防范策略。本文在分析DNS欺骗原理的基础上,以太网中利用ARP欺骗突破交换网络对数据监听的限制,成为“中间人”截获DNS报文,进而伪造DNS报文进行DNS欺骗的技术,并给出基于WinPcap的实现,防范DSN欺骗的措施。 【关键词】: 交换式以太网 ARP欺骗 中间人攻击 DNS欺骗 网络安全DNS欺骗分析与防范一、DNS工作原理DNS的全称是Domain Name Server,即域名服务器。当一台主机发送一个请求,要求解析某个域名时,他会首先把解析请求发到自己的DNS服务器上。 假设现在有一台主机,他的DNS是机器,现在它拿到了某个域,但不知道其IP地址,这时它就要通过DNS查询来获得这个域名的IP地址。现在我们看看域名解析的整个过程。 首先,会将解析请求发往它的DNS服务器, 请求解析 _ 这个名字请求是从的某个随机选择的端口发送的53端口,这是DNS服务器的绑定端口。 收到这个解析请求后,就开始解析工作了。这时如的IP地址的缓存之中,那么询问别的DNS服务器。 它首先询会把查询的结果返回 请问com的权威服务器 _ com域名权威服务器IP是 _ 这回答,COM域的权威DNS是IP,然就会向查询子域的DNS服务器的地址。 请问子域的DNS _ 子域的DNS是 _ 现在cn,知道了子域的权威服务器的IP地址了。这时它就可以询的IP地址了。 请的IP地址 _ 的IP地址是 _ 现就得到的IP地址了,它再将这个IP地址反还给请求解析的 的IP地址是 _ 知道的IP地址后就可以和它进行连接,整个域名解析过程就结束了!二、什么是DNS欺骗?DNS欺骗是一种非常复杂的攻击手段。但是它使用起来比IP欺骗要简单一些,所以也比较常见。一个利用DNS欺骗进行攻击的典型案列,是全球著名网络安全销售商RSA Security的网站所遭到的攻击。其实RSA Security网站的主机并没有被入侵,而是RSA的域名被黑客劫持,当用户连上RSA Security时,发现主页被改成了其他的内容。DNS欺骗是一门改变DNS原始指向IP的艺术。为了更好的理解,让我们先来看一个例子。如果你想用浏览器去google搜索一些信息,毫无疑问的你会在地址栏里输入的网址然后回车。那么在这背后又有什么事情正在进行着呢?一般而言,你的浏览器将会向DNS服务器发送一个请求,从而要求得到与相匹配的IP地址,DNS服务器则会告诉你的浏览器google的IP地址,接着你的浏览器会连接并显示主页内容。哦,等一下,你打开的网页说google因无钱支付网站费用而转让给CSite的消息。你可能会非常吃惊,并打电话告诉你的好朋友。当然你的朋友一定会笑你疯掉了,因为你的朋友是可以登陆google并进行搜索的。还确信正在和你通信的IP地址是友好的吗?说不定你已成圈中之羊。当你在浏览器地址里输入http:/ 9并回车时,你又会发现,其实还健在。其实刚刚就是DNS劫持攻击时目击者可能看到的情形。 三、DNS欺骗的原理 主机域名与IP 地址的映射关系是由域名系统DNS来实现的,现在Internet上主要使用Bind 域名服务器程序。DNS 协议具有以下特点:(1) DNS 报文只使用一个序列号来进行有效性鉴别,序列号由客户程序设置并由服务器返回结果,客户程序通过它来确定响应与查询是否匹配,这就引入了序列号攻击的危险; (2) 在DNS 应答报文中可以附加信息,该信息可以和所请求的信息没有直接关系,这样,攻击者就可以在应答中随意添加某些信息,指示某域的权威域名服务器的域名及IP,导致在被影响的域名服务器上查询该域的请求都会被转向攻击者所指定的域名服务器上去,从而对网络的完整性构成威胁; (3) DNS的高速缓存机制,当一个域名服务器收到有关域名和IP的映射信息时,它会将该信息存放在高速缓存中,当再次遇到对此域名的查询请求时就直接使用缓存中的结果而无需重新查询。针对DNS协议存在的安全缺陷,目前可采用DNS 欺骗技术有:(1)内应攻击。攻击者在非法或合法地控制一台DNS 服务器后,可以直接操作域名数据库,修改指定域名所对应的IP 为自己所控制的主机IP。于是,当客户发出对指定域名的查询请求后,将得到伪造的IP 地址。(2) 序列号攻击。DNS协议格式中定义了序列号ID是用来匹配请求数据包和响应数据报,客户端首先以特定的ID向 DNS服务器发送域名查询数据包,在DNS服务器查询之后以相同的ID号给客户端发送域名响应数据包。这时客户端会将收到的DNS响应数据包的ID和自己发送的查询数据包ID相比较,如果匹配则表明接收到的正是自己等待的数据报,如果不匹配则丢弃之。利用序列号进行DNS欺骗的关键是伪装DNS服务器向客户端发送DNS 响应数据包,并在DNS服务器发送的真实DNS响应数据报之前到达客户端,从而使客户端DNS缓存中查询域名所对应的IP就是攻击者伪造的IP,因此将客户端带到攻击者所希望的网站。其欺骗的前提条件是攻击者发送的DNS响应数据包ID必须匹配客户的DNS查询数据包ID。在实际欺骗攻击中,利用序列号进行DNS欺骗可分两种情况:第一,当攻击者与DNS服务器、本地主机与客户端主机均不在同一个局域网内时,攻击者可以向客户端主机随机发送大量DNS响应数据报,其中序列号是任意给定的,因此序列号和客户端查询报文序列号匹配的概率很低; 第二,当攻击者至少与DNS服务器或客户端主机中的某一个处在同一个局域网内时,对于共享式以太网攻击者可以通过嗅探得到DNS查询报文的序列号,对于交换式以太网攻击者就需要通过ARP欺骗获取DNS查询报文序列号。四、DSN欺骗的实现 为了能在Windows下发送原始数据包,本文利用了WinPcap来开发实验程序。WinPcap是一个Win32平台下进行数据包捕获和网络分析的开源程序库,它具有内核级的包过滤器,提供了捕获原始数据包,按照一定规则过滤数据包,以及发送原始数据包功能。3.1 实验设计 实验程序的假设应用环境是攻击者和被攻击客户端(也可以是域名服务器)处于同一个交换式以太网中。首先,打开本地攻击者主机的路由功能,设置Windows2000 Server注册表键值HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersIPEnableRouter = 0x1,这样在实施欺骗攻击时被攻击客户端仍能访问互联网,达到隐蔽攻击者的目的。然后根据网关和被攻击客户端的IP发送ARP请求得到两者的MAC地址,为攻击做好准备。要突破交换式以太网数据监听的限制,成为“中间人”截获DNS报文,实验程序中创建了两个线程。一个线程进行实时的ARP欺骗,其具体负责间歇地向被攻击客户端和网关发送伪造的ARP响应报文,更新被攻击客户端和网关的ARP缓存,让攻击者成为双方通信的中继节点,即作为“中间人”插入被攻击客户端和网关的通信路径中,从而截获被攻击客户端和网关间的所有数据通信,为进行DNS欺骗奠定基础。另一个线程监听网关和被攻击客户端之间的数据包,若发现其中有客户发送的DNS域名服务查询数据包(目的端口为53),则提取客户DNS查询数据包中的ID序列号,伪造一个DNS响应报文发送给查询域名的客户,该响应报文中就带有攻击者希望客户去访问的IP地址。这样客户将先收到伪造的DNS响应报文并访问错误的或者被攻击者控制的网站。3.2 对进一步Web欺骗的分析 通过DNS欺骗,客户将访问到错误的网站,若攻击者在让客户访问的虚假网站上克隆了客户欲访问的真实网站,则对于普通计算机用户来说是无法分辨网站的真实性的,因此攻击者可诱骗客户输入如账号和密码等信息然后再将客户端重定向到真实网站,而客户却对自己遭到欺骗攻击的事实毫无察觉。此外,对于Web 服务等有链接服务,客户每次访问获得的数据中常常包含许多链接,而客户端用户也常常根据客户端界面的引导而对这些链接指向的地址进行访问。由于攻击者作为“中间人”转发客户端和Internet间通信的数据流,所以攻击者可以不进行DNS欺骗,直接对服务器返回内容中的链接进行修改,将它们指向攻击者控制的机器上去。当然,攻击者还要保留原来链接的足够信息,以便在收到新的访问请求时攻击者能够代替客户去访问正确的地址,回送看似正确的内容。当然,细心的用户可以通过查看Web 浏览器中的状态行、地址行或网页源代码等发现自己已经进入假冒的页面,这时攻击者就需要进行更细致的欺骗,文献4中详细介绍了这些技术。五、DNS欺骗的防范 防范DNS欺骗在你访问你的银行账户,在线购书网站甚至是网页电子邮件时尤为重要。而对于网站管理者来说,可行的防范措施有:1)对高速缓存器加以限制,保证不保留额外的记录。2)不要用或依赖DNS构架安全体系。3)使用SSL之类的加密技术,即使被攻击,难度也会加大。那么如何挫败这种攻击呢?这也很简单,直接用IP访问重要的服务,这样至少可以避开DNS欺骗攻击。最根本的解决办法就是加密所有对外的数据流,对服务器来说就是尽量使用SSH之类的有加密支持的协议,对一般用户应该用PGP之类的软件加密所有发到网络上的数据。说起来容易,做起来难!1.对于个人主机来说,只要及时更新补丁或者使用代理就可以防范到DNS攻击。2.对高标准的服务器来说,应该做到以下几点:1)安装新版软件;2)关闭服务器的递归功能;3)限制城

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论