近年来,ARP攻击问题日渐突出,严重者甚至造成大面积网络不能正常访问外网,尤其是校园网深受其害。
1.ARP概述
地址解析协议(address resolution protocol,ARP)是将IP地址解析为以太网MAC地址(或者为物理地址)的协议。
在局域网中,当主机或其他网络设备有数据要发送给另一个主机或设备时,它必须找到对方的网络层地址(即IP地址)。但是仅仅IP地址是不够的,因为IP数据报文必须封装成帧才能通过物理网络发送,因此发送站还必须有接收站的物理地址,所以需要一个从IP地址到物理地址的映射,如图2.54所示。APR就是实现这个功能的协议。ARP报文分为ARP请求和ARP应答报文,报文格式如图2.55所示。
图2.54 ARP解析
图2.55 ARP报文结构
(1)硬件类型 表示硬件地址类型。它的值为1,表示以太网地址;
(2)协议类型 表示要映射的协议地址类型。它的值为0×0800即表示IP地址;
(3)硬件地址长度和协议地址长度 分别指出硬件地址和协议地址的长度,以字节为单位。以太网IP地址的ARP请求或应答,值分别为6和4;
(4)操作类型(OP) 1表示ARP请求,2表示ARP应答;
(5)发送端MAC地址 发送方设备的硬件地址;
(6)发送端IP地址 发送方设备的IP地址;
(7)目标MAC地址 接收方设备的硬件地址。
(8)目标IP地址 接收方设备的IP地址。
2.ARP地址解析过程
假如主机A和B在同一网段,主机A要向主机B发送信息,具体的解析过程如下:
(1)主机A首先查看自己的ARP表,确定其中是否包含有主机B对应的ARP表项。如果找到了对应的MAC地址,则主机A直接利用ARP表中的MAC地址,对IP数据包进行帧封装,并将数据包发送给主机B。
(2)如果主机A在ARP表中找不到对应的MAC地址,则将缓存该数据报文,然后以广播方式发送一个ARP请求报文。ARP请求报文中的发送端IP地址和发送端MAC地址为主机A的IP地址和MAC地址,目标IP地址和目标MAC地址为主机B和IP地址全为0的MAC地址。由于ARP请求报文以广播方式发送,该网段上的所有主机都可以接受到该请求,但只有被请求的主机(即主机B)会对该请求进行处理。
(3)主机B比较自己的IP地址和ARP请求报文中的目标IP地址,当两者相同时将ARP请求报文中的发送端(即主机A)的IP地址和MAC地址存入自己的ARP表中。之后以单播方式发送ARP响应报文给主机A,其中包含了自己的MAC地址。
(4)主机A收到ARP报文后,将主机B的报文加入到自己的ARP表中,用于后续报文的转发,同时将IP数据包进行封装后发送出去。
当主机A和主机B不在同一网段时,主机A就会先向网关发出ARP请求,ARP请求报文中的目标IP地址为网关的IP地址。当主机A从收到的响应报文中获得网关的MAC地址后,将报文封装并发给网关。如果网关没有主机B的ARP表项,网关会广播ARP请求,目标IP地址为主机B的IP地址,网关从收到的响应报文中获得主机B的MAC地址后,就可以将报文发给主机B;如果网关已经有主机B的ARP表项,直接把报文发给主机B。(www.xing528.com)
3.ARP攻击原理
ARP协议有简单、易用的优点,但是也因为没有任何安全机制而容易被攻击发起者利用。目前ARP攻击和ARP病毒已经成为局域网安全的一大威胁,为了避免各种攻击带来的危害,设备提供多种技术对攻击进行检测和解决。
由于ARP协议是基于网络中的所有主机或者网关都为可信任的前提而制定的,导致在ARP协议中没有认证的机制,攻击者可以很容易的通过伪造ARP报文,填写错误的源MAC -IP对应关系来实现ARP攻击,也就是说,ARP攻击正是利用ARP协议本身的缺陷来实现的,如图2.56所示。
图2.56 ARP协议缺陷
4.常见ARP攻击类型
(1)网关仿冒攻击 实际网络环境,特别是校园网中,最常见的ARP攻击方式是仿冒网关攻击。即攻击者伪造ARP报文,发送源IP地址为网关IP地址,源MAC地址为伪造的MAC地址的ARP报文给被攻击的主机,使这些主机更新自身ARP表中网关IP地址与MAC地址的对应关系。主机访问网关的流量,被重定向到一个错误的MAC地址,导致该用户无法正常访问外网。
(2)中间人攻击 按照ARP协议的设计,一个主机即使收到的ARP应答并非自身请求得到的,也会将其IP地址和MAC地址的对应关系添加到自身的ARP映射表中。这样可以减少网络上过多的ARP数据通信,但也为ARP欺骗创造了条件。
图2.57 中间人攻击原理
如图2.57所示,局域网内有主机A,主机B和主机C等3台主机。如果有主机B想探听主机A和主机C之间的通信,它可以分别给这两台主机发送伪造的ARP应答报文,使主机A和主机C用主机B更新自身ARP映射表中与对方IP地址相应的表项。此后,主机A和主机C之间看似“直接”的通信,实际上都是通过黑客所在的主机间接进行的,即主机B担当了中间人的角色,可以对信息进行窃取和篡改。这种攻击方式就称作中间人攻击。
5.ARP攻击防御
(1)网关仿冒攻击检测 如图2.58所示,防火墙记录正确的网关IP地址和MAC地址的对应关系,当网络中有主机企图使用伪造的MAC地址仿冒网关的ARP报文时,防火墙会检测报文的IP地址和MAC地址。如果响应报文的IP地址和网关相同,但是MAC地址和防火墙绑定的实际网关的MAC地址不匹配,则丢弃该ARP报文,这样可以有效地防御网关仿冒攻击。
图2.58 网关仿冒攻击检测
(2)中间人攻击检测 如图2.59所示,根据ARP报文中源IP地址和源MAC地址检查可以有效地防御中间人攻击。对于源IP存在绑定关系但是MAC地址不符合的ARP报文,设备对非法报文进行丢弃处理;对于源IP不存在绑定关系和源IP存在绑定关系且MAC地址相符的ARP报文,设备认为是合法报文,检查通过。
图2.59 中间人攻击检测
6.配置ARP固化功能
在导航栏中选择“防火墙”→“ARP防攻击”→“固化”,进入如图2.60所示的页面。页面显示所有静态ARP表项(包括手工配置的和固化生成的)和动态ARP表项的信息。
图2.60 ARP固化
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。