ARP欺骗有两种攻击可能,一种是对路由器(网关)的欺骗;另一种是对内网计算机的欺骗,当然也可能两种攻击同时进行。不管怎么样,欺骗广播发送后,计算机和路由器之间发送的数据包就可能被送到错误的MAC地址上,从表面上来看,就是“上不了网”或打开的网站个个有病毒,上网的计算机若没有及时更新系统补丁,就很容易感染病毒,网络用户的安全信息也很容易被盗。从这儿可以看出ARP欺骗对局域网计算机安全影响巨大,已成为目前影响网络正常运行的主要原因。

图1
由于ARP欺骗是利用了网络连接建立原理设计上的缺陷,所以要从根本上解决的方案估计没有,但要恢复局域网中计算机的正常上网,阻断欺骗机对网络的影响,还是有办法的。根据ARP欺骗的原理,要防止ARP欺骗必须阻止计算机和路由器的ARP缓存表被非法篡改。目前较为有效的方法是MAC地址双向绑定。即路由器上绑定客房机IP-MAC地址对照信息,客户机上绑定路由器IP-MAC地址对照信息,对于客户机上的MAC地址绑定相对较容易,使用下面的批处理并加入计算机的启动项中就可完成。
ARP –d
ARP –s 网关IP 网关MAC
然而这种方法只能在计算机启动时实施一次MAC地址绑定,效果可能有限。互联网上也有专门用于防范ARP欺骗的软件,如Ani ARP Sniffer、360ARP防火墙 等,这类软件的防范原理是自动检测实时防篡改的MAC地址绑定,效果优秀。
ARP –d
ARP –s 计算机A IP地址 计算机A网关MAC地址
ARP –s 计算机B IP地址 计算机B网关MAC地址
…………
鉴于ARP欺骗的流行,不少网络设备厂商推出号称具有防范ARP欺骗的安全网关、路由器产品,其防范原理是定期(如10次/秒的频度)不断的向内部网络广播正确的网关IP-MAC地址对照信息(方法类似ARP木马广播伪造的MAC信息,汗……),应该说具有一定的防护作用,但在欺骗攻击较多时,也会失去它的作用,且这类网络设备和MAC地址欺骗木马一起不断向网络发送广播数据包,占用了很大的网络带宽,会大大降低网络的连接速度,故不推荐采用。
笔者认为,ARP欺骗是由中ARP欺骗病毒计算机发起的,运用上边介绍的方法只能从表面上解决客户机的正常上网,问题的关键并没有解决,及时找到中毒计算机,将其从网络隔离,清除ARP欺骗病毒并做好防病毒工作,这才是维护网络正常运作的关键。
三、 开启交换机MAC地址过滤,轻松拦截ARP欺骗广播包
笔者所在的单位拥有计算机数量较多,用MAC地址双向绑定的方法难度较大,且局域网内计算机的IP为动态分配,但一般情况下同时在线的计算机300台左右。在网管机上安装防ARP欺骗及监测软件Ani ARP Sniffer ,当发现ARP欺骗机时,立即将欺骗机MAC地址添加到主交换机的MAC 地址过滤池中(需要打开交换机的远程管理功能,基于telnet或web方式等), 主交换机会立即将由欺骗机发来的数据包丢弃过滤,避免了伪造的MAC地址广播包发送到其他计算机,网络也就恢复正常。此时欺骗机因数据包过法通过主交换机而将始终无法上网,且无法分配到IP地址(需要DHCP服务器接在主交换机的另一端口上)。管理员若备有计算机MAC地址记录表(网络正常时,可以通过MAC地址扫描软件得到),则很快可以找到发动攻击的欺骗机,及时进行处理。若没有记录表,欺骗机用户因不能上网会主动向网管处反应情况,也就找到了中毒主机。对于“MAC地址过滤”一般的可网管交换机都具有该功能,查阅相应的资料就能找到操作方法。将所有中毒主机处理后,及时更新系统补丁,安装有效的防病毒软件(笔者用的是NOD32),加强整个网络的防病毒能力,实时监测整个网络的ARP数据包,发现问题及时处理,就能从最大程度上解决ARP欺骗对内部网络的影响。