[ARP欺骗及防范方法] 防范dns欺骗攻击可采取如下措施

  [摘要] 本文先介绍了ARP欺骗的工作原理,然后给出了一种防范ARP欺骗的方法和具体实现的例子。   [关键词] ARP欺骗 DHCP嗅探 动态ARP检测   
  在OSI七层网络模型中,由于ARP协议(Address Resolution Protocol,地址解析协议)是一个较底层协议,似乎扮演着一个不怎么重要的角色,因此一般受到关注的程度都不够。但是实际上这个不怎么惹人注意的协议却是现在大多数网络通信的基础,并且随着网络技术的飞速发展,大量的团体、机构、单位都建立了自己的网络,因而,其安全性研究越来越受到重视。
  一、ARP欺骗分析
  在以太局域网中,IP地址不能直接用来进行通信。因为以太网络设备只能识别MAC地址,如果要将网络层中传送的数据报交给目的主机,必须知道该主机的MAC地址,因此必须将IP地址解析为MAC地址。ARP协议就是用来完成IP地址转换为第二层物理地址(即MAC地址)的专用协议。
  网络中每台计算机(包括路由器)都有一个ARP高速缓存(位于内存中)存放最近的IP地址到MAC地址之间的对应条目。默认情况下,源计算机会先查询ARP缓存来完成目的计算机IP到MAC的转换,只有当在ARP缓存中没有找到该对应条目时,源计算机才会向以太局域网广播一个ARP请求报文来获取目的计算机MAC地址,并且只有具有和目的计算机相同IP的计算机收到这份广播报文才会向源计算机回送一个包含其IP和MAC的ARP应答报文,同时源计算机会将该IP-MAC对应条目加到自己的ARP高速缓存中,供以后使用,但该ARP高速缓存有一定的存活期,时间一到,ARP高速缓存中的IP-MAC对应条目便会被删除,以便反映网络的变化。
  从ARP的转换过程可以看到,只要ARP缓存中有对应的IP-MAC条目,它都会直接进行IP到MAC的转换。因此,必需保证ARP缓存是正确的。但ARP有一个特点,计算机只要收到ARP应答,不管自己是否在此之前曾发出ARP请求报文,都会自动更新自己的ARP缓存,因此这种IP-MAC的对应条目,不能保证是正确的。ARP欺骗正是利用了ARP的这一特点,通过持续不断的发送非法的ARP应答(用假的或在本网络中不存在的MAC地址来对应合法的IP地址)来维持计算机中的ARP缓存,让计算机通过ARP缓存完成的IP-MAC的转换是错误的,导致数据会发送到别的计算机中或不存在的计算机中,表现为计算机能够上网但数据被别的计算机同时收到(别的计算机必须开启IP转发功能)或不能上网。因此,ARP欺骗的后果是比较严重的。
  二、DHCP嗅探和动态ARP检测技术
  DHCP SNOOPING(DHCP嗅探)是交换机捕获通过它的DHCP应答报文,然后建立一张包含有用户MAC地址、IP地址、租用期、VLAN ID、交换机端口等信息的一张表,并且将交换机的端口分为可信任端口和不可信任端口,对一个不可信任端口收到DHCP服务器的报文(比如DHCP0FFER报文、DHCPACK报文、DHCPNAK报文)交换机会直接将该报文丢弃,对信任端口收到的DHCP服务器的应答报文,交换机不会丢弃而直接转发的一种技术。
  DAI(Dynamic ARP Inspection 动态ARP检测)是一种在交换机中提取ARP报文中发送者的IP地址和MAC地址,然后和DHCP SNOOPING生成的表做比较:对于二层交换机来说,如果匹配,则转发该ARP报文,如果不匹配,则丢弃该ARP报文;对三层交换机来说,如果匹配,则更新ARP表,如果不匹配,则不更新ARP表。并且可以设置交换机接收ARP报文的PPS(每秒钟接收ARP报文的个数)来防止ARP攻击者发送大量ARP报文的技术。
  三、ARP欺骗的防范及实现
  防范方法:防范ARP欺骗的方法其实很简单,只要保证用户端和路由器端的ARP表是正确的即可。目前,比较流行且可行的方法是在用户接入交换机启用上启用DHCP 嗅探和DAI动态ARP检测来防止非法的ARP报文通过交换机,从而达到该非法ARP报文破坏用户端和路由器端ARP表的目的来防范ARP欺骗。但是,不是所有厂家的所有二层交换机都同时支持这两种功能。目前,国内锐捷的二层交换机S2126G就同时支持这两种功能,如果网络在接入层中采用该交换机,那基本上可以防范ARP的欺骗。
  在锐捷S2126G中实现防范ARP欺骗所需的配置步骤如下:
  1.在交换机的全局配置模式中启用DHCP中继功能
  交换机名称(config)#service dhcp
  交换机名称(config)#ip help-address dhcp服务器的IP地址
  2.在交换机的全局配置模式中启用DHCP SNOOPING
  交换机名称(config)#ip dhcp snooping
  3.在交换机的全局配置模式中起用DAI功能
  交换机名称(config)#ip arp inspection
  4.在交换机的全局配置模式中起用指定VLAN的DAI功能
  交换机名称(config)#ip arp inspection vlan vlanid
  四、结论
  ARP协议的安全缺陷来源于协议自身设计上的不足:ARP协议被设计成为一种可信任协议(Trusted Protoco1),缺乏合法性验证手段,任何主机收到ARP应答后都要修改其缓存(不管是否发送ARP请求),这就给破坏者提供了机会,因此要完全杜绝这类破坏基本上是不可能的,只能在一定程度上减少这种破坏。
  
  参考文献:
  [1]周明天等:TCP/IP网络原理与技术.北京:清华大学出版社,1993年
  [2]王晓春等:计算机网络与Intemet教程.北京:清华大学出版社,1999年
  [3]http://www.省略/