校园网ARP攻击的防范
2011-12-29李凌峰
考试周刊 2011年24期
随着信息技术的发展,特别是现代高速网络技术的快速推进,各大高校对互联网的应用更加广泛。很多新的应用技术也在不断地开发并投入应用之中。但是科技从来都是“矛盾”并行的,新技术可以让我们感受到科技带来的便利,同时也会给我们“附送”新的烦恼。在我们越来越依赖互联网的时候,网络攻击的问题也更加突出。对于校园网来说,ARP攻击就是一个挥之不去的梦魇。
ARP攻击又称为“ARP欺骗”,这种攻击往往被加载到木马和病毒程序上,在校园网内快速扩散,严重干扰了校园网正常运行。ARP攻击的具体表现为:在使用校园网时经常突然掉线,过一会儿网络又可能恢复,这种现象频繁出现。如果重新启动计算机或者在命令提示符下键入“arp-d”,暂时又可以恢复网络的使用,如此周而复始。ARP攻击一般较为顽固,在一个网络中只要一台电脑有ARP病毒程序,就会导致整个网络出现间歇性中断,甚至整个网络瘫痪,危害特别大,前一段时间,各大校园网都受到不同程序的攻击。ARP攻击由于附着于木马之上,经常还兼有盗取用户QQ密码、游戏账号,以及网上银行账号等行为,给用户带来了不便甚至造成了经济损失。
鉴于ARP攻击的危害极大,对于ARP攻击的防范在校园网的应用中就为一种常规任务了。我院在遭受ARP攻击后,采用相关技术积极应对,大大减少了ARP攻击的成功率,确保了学院校园网的正常运行。下面我就我院出现的ARP攻击现象简单分析ARP攻击的过程和相应的对策。
1.ARP协议及ARP攻击原理及攻击方式
1.1ARP协议简介
ARP协议是Address Resolution Protocol地址解析协议的缩写。是一种将IP地址转化成物理地址,即MAC地址的协议,在TCP/IP局域网中以帧的方式传输数据。并且根据帧中目标主机的MAC地址来进行寻址。在TCP/IP网络中,一台主机与另一台主机进行直接通信,就必须要知道目的主机的MAC地址。这个目的MAC地址就是通过ARP协议获取的。地址解析就是主机在发送帧前将目的主机的IP地址转换成目的主机MAC地址的过程。这样即可实现各主机间的通信。
1.2ARP协议的工作方式
ARP在同网段和不同网段的工作方式略有不同。
在同网段内:源主机若要向目的主机发送信息,首先会查看本机的缓存表,确定其中是否包含有目的主机对应的ARP表。如果有目的主机对应的MAC地址,则直接利用ARP表中的MAC地址,对IP数据包进行帧封装,并将数据包发送给目的主机。如果在本机中没有找到目的主机对应的MAC地址,则将缓存该数据报文。然后以广播方式发送一个ARP请求报文。由于ARP请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求。但只有被请求的目的主机会对该请求进行处理,其他主机会自动丢弃这个请求报文。而目的主机会比较自己的IP地址和ARP请求报文中的目标IP地址。如果相同则将ARP请求报文中的源主机的IP地址和MAC地址存入自己的ARP表中,之后以单播方式发送ARP响应报文给源主机。源主机在收到ARP响应报文后会将目的主机的MAC地址加入到自己的ARP缓存表中,用于后续报文的转发。同时将IP数据包进行封装后发送出去。
在不同网段中:源主机在确认与目的主机不在同一个网段时,就会先向网关发出ARP请求报文,从收到的响应报文中获得网关的MAC地址后,将报文封装并发给网关。如果网关已经有目的主机的ARP表项,网关直接把报文发给目的主机;如果网关没有目的主机的ARP表项,网关会广播ARP请求。目标IP地址为目的主机的IP地址。当网关从收到的响应报文中获得目的主机的MAC地址后,就可以将报文发给目的主机,同时将目的主机的IP地址和MAC地址存入ARP缓存表中,以后再进行数据交换时,只需直接从缓存表中读取映射条目就可以了。
1.3ARP攻击的工作方式
从ARP协议的工作方式可以看出,由于网络中各主机是建立在互相信任的基础之上,协议本身考虑更多的是稳定性和高效性,所以ARP协议是一个高效的数据链路层协议。但是也存在如下的缺陷:ARP高速缓存根据所接收到的ARP协议包随时进行动态更新;ARP没有连接的概念,任意主机即使在没有ARP的时候也可以做出应答;ARP协议没有认证机制,只要接收到的协议包是有效的,主机就无条件地根据协议包的内容刷新本机ARP缓存,并不检查该协议包的合法性。因此攻击者可以随时发送虚假的ARP包更新被攻击主机上的ARP缓存,进行地址欺骗或拒绝服务攻击。
ARP的攻击主要分为两种形式:一种是截获网关数据,这种方法是攻击者通知网关一系列错误的内网MAC地址,并按照一定的频率不断进行改善,使真实的地址信息无法通过更新保存到网关的路由中,结果造成网关的所有数据只能发送给错误的MAC地址,造成正常的主机无法收到信息,或者信息被监听或转发。另一种是伪造网关,这种方法建立虚假的网关,让被欺骗的主机向它发送数据,而不是通过正常的网关途径上网,造成被攻击主机无法上网。
2.ARP攻击的解决思路和防御策略
2.1ARP攻击的检测
如果怀疑网络中的主机受到了ARP攻击,可以采用如下几种方法进行检测。
2.1.1进入命令提示符界面,键入“arp-a”命令,查看本机ARP的缓存。正常情况下,除网关外不会有其他记录,需要注意的是网关的MAC地址是否和正常的时候一样。在没有更换网关的网卡的情况下,如果出现不同、没有记录或者记录过多,都有可能是受到了ARP攻击。键入“arp-d”命令,查看网络是否可以恢复。如果情况有所缓解,说明已经恢复了默认的arp缓存表。
2.1.2Ping网关,看看是否出现丢包的现象,如果有丢包现象,但是又有时能够连通,则有可能受到了攻击。
2.1.3使用tracert命令跟踪网络连接。直接使用tracert连接最近的路由,检查是不是原来设定的路由,如果或者通过很多路由,就可能受到了攻击,而且通过的路径都有可能是攻击路由。
2.2ARP攻击的解决思路
2.2.1应该把网络安全信任关系建立在IP和MAC基础之上,不能仅仅建立在IP或MAC基础上(因为RARP同样可以攻击)。
2.2.2设定好静态的IP-MAC对应表,不让主机去更新绑定的ARP缓存表,从而制止ARP攻击。
2.2.3管理员定期轮询,检查主机上的ARP缓存表。
2.2.4使用ARP防火墙监视网络,发现ARP攻击及时阻断攻击源并立即追踪。
2.3ARP攻击的总体防御对策
我根据上面提到的思路,再结合我院软硬件条件,制定了一套切实可行的防御策略并着手实施。
2.3.1对整个网络进行一次全面而彻底的杀毒,而且为了避免以后再次受到ARP攻击,要求本网络内的所有计算机都安装上正版杀毒软件,并且保持随时更新。
2.3.2针对性地安装ARP防火墙,控制ARP攻击在本网内的传播和发作。
2.3.3绑定本网络中所有机器的IP-MAC地址,将本网中所有的IP地址、MAC地址及对应的使用人登记备案,以便在发生ARP攻击时快速定位攻击源。
3.总结
由于TCP/IP最初设计的应用环境是美国国防系统的内部网络,这个网络环境是互相信任的。因此,TCP/IP协议只是为了解决计算机的互联互通的问题。而当其推广到全社会的应用环境后,安全问题就发生了,其中IPv4中的ARP协议簇的安全缺陷就是来源于协议自身设计思想上的时间局限性。我对ARP协议的工作原理和安全缺陷进行了简单分析,同时根据我院受到的ARP攻击情况分析了基于ARP协议安全缺陷的攻击,并提出了针对ARP攻击的检测和防御策略。这些防御策略能有效地抵御ARP攻击,但是校园网的管理者日常管理维护的工作量相当大,网络问题也并不仅仅是ARP攻击。如果要彻底解决网络中的ARP攻击,目前最根本有效的措施就是在校园网中使用IPv6协议。因为IPv6协议簇定义了邻机发现协议(NDP),把ARP纳入NDP并运行于Internet控制报文协议(ICMP)上,使ARP更具有一般性,包括更多的内容,适用于各种链路层协议,而不用为每种链路层协议定义ARP。另外,NDP中还定义了可达性检测过程,可达性检测的目的是确认相应IP地址代表的主机或路由器是否还能收发报文,对此,IPv4还没有统一的解决方法。
本文为院级科研基金项目。