解析中间人攻击(2/4)---DNS欺骗

  在上篇文章中,我们讨论了正常ARP通信以及ARP缓存中毒是如何利用潜在恶意信息通过另一台设备重定向设备网络通信的问题,这看似高级的中间人攻击形式(即ARP缓存攻击)其实是非常容易实现的。而在本文中我们将讨论一种类似的中间人攻击,即DNS欺骗。

  DNS欺骗

  DNS欺骗是这样一种中间人攻击形式,它是攻击者冒充域名服务器的一种欺骗行为,它主要用于向主机提供错误DNS信息,当用户尝试浏览网页,例如IP地址为XXX.XX.XX.XX ,网址为www.bankofamerica.com,而实际上登录的确实IP地址YYY.YY.YY.YY上的www.bankofamerica.com ,用户上网就只能看到攻击者的主页,而不是用户想要取得的网站的主页了,这个网址是攻击者用以窃取网上银行登录证书以及帐号信息的假冒网址,DNS欺骗其实并不是真的“黑掉”了对方的网站,而是冒名顶替、招摇撞骗罢了。整个操作过程其实非常简单,下面我们将探讨DNS欺骗攻击是如何实现的以及如何抵御这种攻击。

  正常DNS通信

  域名系统(DNS)协议在RFC 1034/1035中是这样定义的:它被认为是互联网使用中最重要的协议之一。当你在浏览器输入网址时(例如http://www.google.com),就会向DNS服务器发送一个DNS请求以便找到与该网址相对应的IP地址。这是因为与互联网互连的路由器和设备并不知道google.com,它们只知道IP地址,如74.125.95.103。

  DNS服务器本身的工作原理是,存储IP地址到DNS名称映射的记录(称为资源记录)数据库,联系这些资源记录与客户端,并将这些资源记录与其他DNS服务器联系。整个企业和整个互联网的DNS服务器架构是有点复杂的,事实上,有很多关于DNS架构的专门书籍,但在本文中我们将不会涵盖DNS架构或者所有不同DNS通信类型的内容,不过我们将介绍基本的DNS通信,如图1所示。

  DNS查询和响应

  图1: DNS查询和响应

  DNS函数是属于查询/响应类型的格式,当客户端希望解析DNS域名为IP地址时,就会向DNS服务器发送一个查询,然后服务器会将对应的作为回复。从客户端的角度来看,看到的只有两个数据包:查询和响应。

DNS查询和响应数据包

  图2: DNS查询和响应数据包

posted on 2016-03-31 12:48  Alim  阅读(2209)  评论(0编辑  收藏  举报

导航