一、ARP欺骗攻击
ARP(Address Resolution Protocol,地址解析协议)是局域网中用来进行地址解析的协议,它将IP地址映射到MAC地址。
图1所示为ARP地址解析的过程。当PC1要给PC2发送报文时,它先检查本地的ARP缓存,如果没有查找到PC2的MAC地址,则向网络中发送一个广播的ARP(ARP Request)请求报文,表示要请求解析PC2(172.16.1.2)的MAC地址,并且此报文的目的MAC地址为广播地址FFFF。
FFFF.FFFF.由于ARP请求报文是广播报文,网络中所有的设备都会接收到,但只有IP地址与ARP请求报文中被请求解析的IP地址相同的设备才会回复。图中由于PC2的IP地址就是PC1要请求的对象,PC2将回复一个单播的ARP应答(ARP Reply)报文,表示自己(172.16.1.2)的MAC地址是0002.0002.0002,报文的目的MAC地址为PC1的MAC地址(0001.0001.0001),也就是说,只有PC1会收到此应答。当PC1收到ARP应答报文后,它便获知了PC2的MAC地址,并将此条目加入到ARP缓存表中,用于后续的数据发送。
由于ARP当初被开发时,没有考虑到安全的因素,不存在任何的验证机制,所以就导致了ARP报文很容易伪造,也就是被欺骗。另一方面,发送ARP请求的设备并不能判断收到的ARP应答是否合法,是否为正确的源所发送的,只要它接收到ARP应答报文,它就将结果放入ARP表中,而不管是否之前已经存在此条目,或者与之前存在的条目不一样,这就给攻击者可趁之机。利用以上这些缺陷,攻击者就可以通过发送伪造(欺骗)的ARP应答报文(应答报文中的IP与MAC的绑定关系是错误的、伪造的)来更新其他设备的ARP缓存,导致其他设备之间不能正常进行通信。
图2所示就是一个典型的ARP攻击。用户PC的IP地址为172.16.1.2,网管出口的路由器地址为172.16.1.1,所有PC要发往外部网络的数据都要通过网关。我们来看一下攻击者(Attacker,172.16.1.3)是如何发起ARP欺骗攻击。在PC要向外部网络发送数据是,首先它要使用ARP请求报文去请求网关的MAC地址,由于请求是广播的,攻击者也可以收到此请求报文。之后攻击者将向PC发送伪造的ARP应答报文,而且攻击者可以通过特定的工具以特定的速率连续发送伪造的ARP应答报文。当PC收到伪造的应答报文后,它会毫不犹豫地将伪造报文的错误绑定信息加入到本地的ARP缓存中,不管之前是否已经获得了正确的绑定信息。攻击者在它发送的应答报文中“声称”自己就是网关,即172.16.1.1的MAC地址是0003.0003.0003(攻击者的MAC地址)。这样后续PC发往网关的数据都会发给攻击者而不是网关,达到了欺骗的目的,从而造成PC不能正常访问外部网络资源。
二、ARP欺骗攻击工具
1.WinPcap.exe与WinArpAttacker组合,WinPcap是Win32平台下用于抓包和分析的系统,主要用于为Win32应用程序提供访问网络底层的数据包,包括一个内核级别的packetfilter、一个底层的DLL(packet.dll)和一个高级的独立于系统的DLL(Wpcap.dll)。而WinArpAttacker是以款ARP综合攻击攻击,能够在局域网内进行主机扫描、ARP攻击、ARP攻击检查、ARP表防护和ARP代理。
2.WinPcap.exe与NetFuke组合,NetFuke软件具有ARP欺骗、ICMP欺骗和网络监视等功能。
3.WinPcap.exe与“网络执法官”组合,“网络执法官”是一款局域网管理辅助软件,采用网络底层协议,能穿透各客户端防火墙对网络中的每一台主机(本文中主机指各种计算机、交换机等配有IP的网络设备)进行监控。
三、ARP攻击的局限性
ARP攻击只能在局域网内进行,无法对外网(互联网、非本区域内局域网)进行攻击。
四、ARP攻击防范措施
1.防范措施一,安装360ARP防火墙、瑞星防火墙、AntiARP防火墙或其他具有防范ARP攻击的防火墙。
2.防范措施二,在SOHO、宽带、网吧专用路由器上设置IP与MAC地址绑定,防止ARP攻击。
(1)进入路由器WEB页面,通过“ARP映射表”可以批量导入计算机IP地址与MAC地址对应信息,进行绑定操作。
(2)通过“静态ARP绑定设置”,可以启用和编辑“ARP绑定”。
3.防范措施三,网管员可以通过二层或三层交换机设置,将IP和MAC地址进行绑定,可以防止用户进行恶意的ARP欺骗,下面以锐捷二层交换机RG-S2328G为例介绍。
「配置命令」
4.防范措施四,网管员可以通过措施三防止ARP欺骗,但需要在每个接入端口上配置地址绑定,工作量过大,因此可以考虑采用交换机DAI功能解决ARP欺骗攻击的问题。DAI(动态ARP检测),交换机的DAI功能可以检查端口收到的ARP报文的合法性,并可以丢弃非法的ARP报文,防止ARP欺骗攻击。交换机DAI技术,是以DHCP Snooping的绑定表为基础,对于没有使用DHCP的服务器个别机器,采用静态添加ARP实现。下面以锐捷三层交换机RG-S3760-24和二层交换机RG-S2328G为例介绍(两台交换机均支持DHCP与DAI),图3所示。
「配置步骤」
(1)配置DHCP服务器将一台PC配置为DHCP服务器,可以使用Windows server配置DHCP服务器,或第三方DHCP服务器软件。DHCP服务器中的地址池为172.16.1.0/24.
(2)交换机RG-S2328G基本配置及DHCP监听配置(接入层)。