巩海波 张琰
摘要:本文首先对ARP协议进行了简单介绍。由于ARP协议本身固有的缺陷和应用的广泛性,使得利用ARP协议在局域网中进行网络攻击具有广泛的应用性。本文详细讨论了ARP欺骗技术。文章最后以现网中的一个用户为例描述了网络遭受到ARP攻击之后的表现,并给出了两种安全解决方案。
关键词:ARP协议; ARP攻击; MAC地址; IP地址 ;安全
概述
在网络世界中,MAC地址的获取过程是一个动态的解析的过程。在这个过程之中通过ARP地址解析协议将IP地址与网卡MAC地址进行映射。但是由于ARP协议的解析过程中的漏洞和应用的广泛,黑客们往往在局域网中肆意对用户进行网络攻击,导致用户的局域网受阻甚至瘫痪,因此ARP攻击对网络安全产生了极大的隐患,需采取必要的手段对攻击进行安全防护。
ARP协议
ARP协议基本原理
ARP地址解析协议,英文全称是Address Resolution Protocol,位于TCP/IP四层参考模型的数据链路层,是一个底层协议,与本层的物理接口相连,同时对上层网络层提供服务。在TCP/IP网络环境下,每个主机都被分配了一个32位的IP地址。为了让报文在物理网路上传送,必须知道对方目的主机的物理地址。这就需要在将IP地址转换为相应MAC地址,这就是ARP协议需实现的基本功能。
查看和管理ARP缓存
在Windows計算机中可以对ARP缓存进行查看和管理,如显示或者删除ARP缓存中的IP地址和物理地址的映射关系,也可以手工添加静态表项。
arp-a IP地址:可以显示地址映射表项。
arp -d IP地址可以删除特定IP指定的对应表项;
arp -s IP地址 MAC地址,可以手工添加的静态映射表项。
需要注意的一点是,以上三种命令都只能管理本机上的ARP缓存表项,而不能管理对端机器上的ARP映射表项。
ARP攻击
ARP攻击就是通过伪造IP地址和MAC地址及其对应关系实现ARP欺骗,能够在网络中产生大量的ARP报文使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC对应条目,造成网络中断或中间人攻击。
ARP攻击主要包括ARP扫描技术、ARP欺骗技术和其他ARP攻击技术,ARP攻击的主要对象是同一个局域网的其他网元。由于其他两种攻击对局域网造成的影响比较小,故本文不做详细介绍,仅对ARP欺骗技术进行详细介绍。
ARP欺骗技术
ARP欺骗,又称ARP缓存欺骗。一台主机如果需要和另外一台主机通信,需要IP-MAC地址的对应关系。ARP协议提供这两种地址间的转换功能。当主机收到ARP请求包时,主机将保存下请求包内的地址对应关系到本机缓存表中。一般而言,由于ARP提供的是IP-MAC之间的动态映射关系,用户往往不必对其关心。但黑客们运用ARP的漏洞,通过构造伪IP-MAC对应关系报文来对主机进行ARP欺骗。
ARP欺骗的类型
常见的ARP欺骗分为以下两种类型。
第一种类型:对网关ARP表的欺骗。对网关ARP表的欺骗的原理如下:当网关A发出ARP查询广播报文后,攻击网元B可以截获网关发出的ARP查询报文,同时回复网关A一系列错误的MAC地址,并按照一定的频率使网关不停地学习和更新ARP缓存表,从而导致真实有用的表项无法保存在网关的ARP缓存地址映射表中。
第二种类型:对局域网中的PC进行欺骗。其原理与第一种类型正好相反,黑客通过网元B伪造自己是网关,向局域网中正常工作网元X、Y、Z发送ARP查询广播报文,导致网元X、Y、Z误以为B就是网关,向假的网关B发送自己的MAC地址,这样就会导致由于局域网中正常工作的网元都无法学习到正确的网关而无法向外访问。
综合以上两种ARP欺骗而言,第二种在现网中发生的频率更高一些,黑客只要修改自己的IP地址就可以轻松实现欺骗,且局域网受到攻击的范围更大,下面一个小结就以现网中的一个真实的用户为例讲解第二种类型的ARP欺骗。
同城互联VPN用户的ARP欺骗
某金融客户有96个支行网点的视频监控采用的是运营商的同城互联VPN搭建的,即全部的分支点以及中心点在运营商的城域网侧均采用同一个vlan透传将96个分支点加中心点互联在一起,在运营商城域网侧相当于仅对用户进行了二层透传,并未进行三层的隔离。用户在自己的设备将全部97个网点设置在同一个网段中192.0.0.x/24中,其中心点的IP地址为192.0.0.1/24,因此所有的97个网点在同一个局域网中,这样的设置也成为发生ARP欺骗的潜在危险源。
某天运营商维护人员突然接到用户电话,称中心点的大屏幕上的97个视频监控LED屏上仅能显示7-8块,其余均为黑屏状态。运营商侧维护人员查看连接用户中心点的三层交换机的CPU利用率、上联带宽占用率和设备日志并未发现异常。观察该端口下的MAC地址始终是正常状态。
此时用户再次打电话,声称中心点的监控图像时有时无,且原来7-8块显示图像的分支点,经过几分钟后又不能显示,又有其他几块图像可以显示,此时运营商维护人员考虑可能是有ARP欺骗的现象存在。遂在该三层交换机上配置192.0.0.234作为测试地址并对分支点和中心点分别进行ping测试,测试后发现原本应在三层交换机下联口学习上来的网关IP-MAC对应关系然是从设备上联口学习上来的。后经我方网络维护人员在城域网设备上一级一级寻找,终于找到了用户在历下区的某分支点上,存在伪造网关的设备。
ARP攻击的防范
对于ARP攻击的防范,我们可以分为主动防范和被动防范,下面我们就分别就两种防范进行讲解。
主动防范
主动防范我们可以通过绑定IP-MAC映射表项、安装杀毒软件和使用ARP防火墙等方式来实现。
绑定IP-MAC映射关系表项是防范ARP欺骗的最好的方法,需注意的是IP-MAC映射关系需要双向绑定方能起到最好的效果,在网关上面绑定其他所有的局域网的主机的IP-MAC映射关系,同时在局域网的所有主机上绑定与网关的IP-MAC映射关系,这样就可以很有效的对上述两种类型的ARP欺骗进行防范,但这种方式对ARP扫描和ARP报文攻击不起作用,且该方法只能保证网络正常运行,不能定位及清除ARP攻击源。
被动防范
手工查找攻击源的方式就是使用我们2.2小结讲过的arp –a的命令,如果ARP缓存中网关的IP地址对应的MAC地址不是真是的MAC地址,则可判断该MAC地址为ARP攻击的源MAC地址。无论手动还是通过软件,找到攻击源并不是最终目的,必须通过手工修改或者是通过软件查杀找到ARP病毒病清理干净才能达到我们最终需要的结果。
参考文献
林成浴,《TCP/IP协议及其应用》,人民邮电出版社
(美)Joe Cased,《TCP/IP入门经典》,人民邮电出版社
(美)W.Richard Steven,《TCP/IP Illustrated Volume 1:The Protocols》,机械工业出版社
周贺,彭婧,冯光焰,《ARP协议的安全问题及其解决方案》,计算机与网络
谢正均,《IP欺骗原理及其对策》,电信快报
林敏,《网络互联安全技术及解决方案》,中国金融电脑