徐标 淮安清江石油化工有限责任公司
ARP病毒自问世以来,已成为局域网安全的主要威胁,通过ARP攻击盗取或篡改信息,导致网络异常现象频发。随着网络应用范围不断扩大,ARP攻击危害快速升级,所以理解ARP协议,分析ARP协议漏洞、了解ARP攻击方式并提出检测和防范措施具有实践指导作用。
ARP协议工作在OSI模型的数据链路层,在局域网中每个主机都有IP地址,数据在网络中是通过“帧”传输的,而“帧”必须封装源、目的主机的MAC地址,即局域网中通信需要通过MAC地址来实现,因此一个主机要和另一个主机直接通信,必须借助ARP协议将数据帧中的目的IP地址解析为目的MAC地址。ARP协议的基本功能就是通过目的主机IP地址,查询其MAC地址,从而保证通信顺利进行。
安装TCP/IP协议的计算机都有一个ARP缓存表,表中IP地址与MAC地址一一对应,以主机A(192.168.1.1)向主机B(192.168.1.2)发送数据为例。当发送数据时,主机A会查找本地的ARP缓存表,如果匹配主机B的IP地址,也就得到了目的MAC地址,将目的MAC地址直接写入数据帧发送即可;如果在ARP缓存表中没有找到相对应的目的IP地址,主机A就在网络上发送一个目的MAC地址是“FF-FF-FF-FF-FF-FF”广播,向同一网段内的所有主机发出询问:“192.168.1.2的MAC地址是什么?”网络上其它主机并不响应这个ARP询问,只有IP地址是192.168.1.2的主机B接收到这个数据帧时,才向主机A做出回应:“192.168.1.2的MAC地址是C8-9C-DC-F0-04-BA”,至此,主机A在ARP缓存表增加了主机B的IP地址与MAC映射关系,向主机B发送信息时就直接通过本地ARP缓存表查找目的MAC地址。
ARP是一个高效的数据链路层传输协议,设计初衷是方便网络数据传输,工作环境是绝对安全和信任的网络,因此在设计时并没有考虑网络安全因素,导致ARP本身存在诸多固有的缺陷,主要有如下三个方面:
(1)动态性,基于高速缓存的ARP地址映射表根据接收到的ARP报文在一段时间内动态更新;
(2)无认证性,只要主机接收到的ARP报文是有效的,该主机就会无条件地刷新ARP地址映射表,无需认证;
(3)无连接性,任一主机可以随时接受ARP报文,更新ARP地址映射表,即使该主机没有发出ARP请求。
ARP攻击在局域网中经常出现,通过伪造IP-MAC地址映射关系实施ARP攻击,轻则导致网内主机通信异常,重则导致网络瘫痪,达到攻击者窃取信息、阻碍网络正常运行的目的。以下是几种常见的ARP攻击方式:
2.2.1 ARP洪泛攻击
网络中含病毒的PC发送大量ARP报文,这些ARP报文无论内容或者对网络中其它主机ARP表项影响都是合规的,但是这些报文发送速率非常快,以至被攻击对象没有足够的资源(如CPU)来响应网络内其它主机的ARP请求,并且消耗网络资源,影响网络正常运行。
2.2.2 冒充网关攻击
攻击者伪造ARP报文,报文中源IP地址是网关IP地址,但源MAC地址则是伪造的,被攻击主机接收报文后更新ARP地址映射表,获得错误的网关IP-MAC地址映射关系,造成被攻击主机的所有数据都流向伪造的网关,使其不能正常上网。冒充网关攻击通常表现为网络内一台或多台主机断网,重启后恢复正常,但是一段时间后问题依旧。
2.2.3 欺骗网关攻击
攻击者伪造ARP响应报文发送给网关,该报文中源IP地址是合法的,但是源MAC地址则是伪造的,网关根据接收的伪ARP报文刷新ARP地址映射表,获得错误的网内主机IP-MAC地址映射关系,使网关发送到该主机的所有数据都流向伪造的主机,导致该被攻击主机无法上网。
2.2.4 克隆攻击
攻击者将目的主机ARP地址映射表中所有MAC篡改,使其与外界断绝联系,然后攻击者使用目的主机的IP地址、MAC地址,从而成为目的主机副本;当克隆攻击的对象是服务器时,可以在终端用户不察觉的情况下获取攻击者所需信息。
ARP攻击易造成信息窃取及篡改、网络运行异常、非法控制等,具体表现为断线、IP冲突、隐私信息泄露、网络速度受第三方控制等危害,根本原因是ARP病毒可以对网络通信参数进行强行修改。越早判断出ARP攻击对于网络安全越有益,为此给出以下几种检测方法:
Sniffer等工具软件对网络通信数据抓包检测,查找发布大量广播类报文的源主机及其他无请求响应类ARP报文的发送源,或将检测的报文与本网段MAC地址库匹配,查看是否存在等方式来判断网络是否遭受ARP攻击。
通过系统自身命令来分析定位ARP攻击源主机。首先Ping网关IP地址,完成后,再用命令“arp -a”查看本机及网关IP地址所对应的MAC地址,若此时有相对应重复的,那么有可能遭受了ARP攻击。
ARP攻击本质是利用ARP漏洞进行攻击,即利用主机对ARP报文的无条件信任,强行修改主机ARP缓存表,实现各种攻击目的,因此防范ARP攻击就要确保缓存表中IP-MAC地址映射关系正确,尽最大可能避免非法篡改缓存表。这里简述一些攻击防范措施:
由于ARP缓存表对ARP报文是无条件信任而实时更新的,且ARP缓存表中的类型默认是“动态”的,所以在网关和每个主机上同时做IP-MAC地址双向静态绑定,使ARP缓存表不能动态更新,可以有效避免ARP攻击。
在网络中使交换机端口与主机一一对应,强制将主机IP地址、MAC地址与交换机端口实施静态绑定;在攻击者发送伪造的ARP报文时交换机主动检测出IP地址、MAC地址不一致,从而阻断伪造报文,避免网络被攻击。
由于ARP请求是广播报文,其只能在主机所在的广播域内传播,ARP攻击不能够跨网段,因此在网络组建时,通过VLAN技术划分广播域,限制ARP攻击的影响范围,避免整个网络运行异常, 也方便定位出现攻击时的网段和主机。
目前关于ARP的安全软件较多。比如360等,这些软件不仅能检测出ARP攻击,还以一定的频率向网络广播正确的ARP信息;它们采用系统内核层拦截技术和主动防御技术,可解决大部分欺骗、ARP攻击带来的问题,有效防范来自主机内外的ARP攻击。
通过分析ARP协议的工作原理,理解它在数据传输过程中的作用,掌握ARP攻击方式及检测、防范措施,使网络管理人员和计算机使用者能够有效地避免和防范ARP攻击。总之,面对不断滋生的木马病毒,不仅需要计算机使用者做好防范工作,还需要网络管理人员尽职尽责,不断学习防范各类攻击的技术,防患于未然,全员防御,协力保障网络正常运行。