网络安全与局域网ARP地址欺骗攻击(一)

【摘 要】ARP协议存在很多漏洞,ARP地址欺骗将会给局域网的安全带来很多威胁。利用命令行法、工具软件法或sniffer抓包嗅探法可定位ARP地址欺骗攻击者。使用静态的IP-MAC地址解析、ARP服务器或第三层交换技术等方法可防御ARP地址欺骗的攻击。
  【关键词】ARP协议ARP地址欺骗
  
  ARP,全称Address Resolution Protocol,它是“地址解析协议的缩写。MAC地址是固化在网卡上串行EEPROM中的物理地址,是由48比特长(6字节),16进制的数字组成,0~23位是由厂家自己分配,24~47位叫做组织唯一标志符,是识别LAN(局域网)节点的标识。
  
  一、ARP地址欺骗攻击者的定位
  
  利用ARP协议的漏洞,攻击者对整个局域网的安全造成威胁,那么,怎样才能快速检测并定位出局域网中的哪些机器在进行ARP地址欺骗攻击呢?面对着局域网中成百台电脑,一个一个地检测显然不是好办法。其实,我们只要利用ARP病毒的基本原理:发送伪造的ARP欺骗广播,中毒电脑自身伪装成网关的特性,就可以快速锁定中毒电脑。可以设想用程序来实现以下功能:在网络正常的时候,牢牢记住正确网关的IP地址和MAC地址,并且实时监控来自全网的ARP数据包,当发现有某个ARP数据包广播,其IP地址是正确网关的IP地址,但是其MAC地址竟然是其他电脑的MAC地址的时候,这时,无疑是发生了ARP欺骗。对此可疑MAC地址报警,再根据网络正常时候的IP一MAC地址对照表查询该电脑,定位出其IP地址,这样就定位出攻击者了。
  下面再介绍几种不同的检测ARP地址欺骗攻击的方法。
  1.命令行法
  在CMD命令提示窗口中利用系统自带的ARP命令即可完成。当局域网中发生ARP欺骗的时候,攻击者会向全网不停地发送ARP欺骗广播,这时局域网中的其他电脑就会动态更新自身的ARP缓存表,将网关的MAC地址记录成攻击者本身的MAC地址,此时,我们只要在其受影响的电脑中使用“ARP -a”命令查询一下当前网关的MAC地址,就可知道攻击者的MAC地址。我们输入“ARP -a',命令后的返回信息如下:
  Internet Address 00-50-56-e6-49-56 Physical Address Type 192.168.0. dynamic。
  由于当前电脑的ARP表是错误的记录,因此,该MAC地址不是真正网关的MAC地址,而是攻击者的MAC地址。这时,再根据网络正常时,全网的IP-MA C地址对照表,查找攻击者的IP地址就可以了[4]。由此可见,在网络正常的时候,保存一个全网电脑的IP-MA C地址对照表是多么的重要。可以使用nbtscan工具扫描全网段的IP地址和MAC地址,保存下来,以备后用。
  2.工具软件法
  现在网上有很多ARP病毒定位工具,其中做得较好的是Anti ARP Sniffer(现在已更名为ARP防火墙)。利用此类软件,我们可以轻松地找到ARP攻击者的MAC地址。然后,我们再根据欺骗机的MAC地址,对比查找全网的IP-MA C地址对照表,即可快速定位出攻击者。
  3.Sniffer抓包嗅探法
  当局域网中有ARP地址欺骗时,往往伴随着大量的ARP欺骗广播数据包,这时,流量检测机制应该能够很好地检测出网络的异常举动,利用Ethereal之类的抓包工具找出大量发送ARP广播包的机器,这基本上就可以当作攻击者进行处理。
  以上3种方法有时需要结合使用,互相印证,这样可以快速、准确地将ARP地址欺骗攻击者找出来。找到攻击者后,即可利用杀毒软件或手动将攻击程序删除。
  
  二、ARP地址欺骗攻击的防御及其解决办法
  
  1.使用静态的I P-MAC地址解析
  针对ARP地址欺骗攻击的网络特性,我们可以使用静态的IP-MA C地址解析,主机的IP-MA C地址映射表由手工维护,输人后不再动态更新。即便网络中有ARP攻击者在发送欺骗的ARP数据包,其他电脑也不会修改自身的ARP缓存表,数据包始终发送给正确的接收者。这种防御方法中常用的是“双向绑定法”。双向绑定法,顾名思义,就是要在两端绑定IP-MA C地址,其中一端是在路由器(或交换机)中,把所有PC的IP-MA C输入到一个静态表中,这叫路由器IP-MA C绑定。另一端是局域网中的每个客户机,在客户端设置网关的静态ARP信息,这叫PC机IP-MA C绑定。除此之外,很多交换机和路由器厂商也推出了各自的防御ARP病毒的软硬产品,如:华为的FIX AR 18-6X 系列全千兆以太网路由器就可以实现局域网中的ARP病毒免疫,该路由器提供MAC和IP地址绑定功能,可以根据用户的配置,在特定的IP地址和MAC地址之间形成关联关系。对于声称从这个IP地址发送的报文,如果其MAC地址不是指定关系对中的地址,路由器将予以丢弃,这是避免IP地址假冒攻击的一种方式。