浅析ARP攻击原理及其防御
2017-07-24智阳光胡曦明
◆智阳光 胡曦明,2 马 苗,2
(1.陕西师范大学计算机科学学院 陕西 710119;2.现代教学技术教育部重点实验室 陕西 710119)
浅析ARP攻击原理及其防御
◆智阳光1胡曦明1,2马 苗1,2
(1.陕西师范大学计算机科学学院 陕西 710119;2.现代教学技术教育部重点实验室 陕西 710119)
利用ARP协议的漏洞对网络进行攻击,是当前计算机网络所面临的的主要威胁之一。本文首先对ARP 协议进行了理论分析,探究了ARP协议的工作原理和存在的漏洞,并根据漏洞进行了ARP攻击和防御的实验,提出了ARP缓存清除,MAC地址静态绑定、划分VLAN等ARP攻击防御的方法。研究结果可以用于局域网内的安全防御,同时整个实验过程还可为高校计算机网络安全教学提供教学实例。
ARP协议;ARP攻击;漏洞;网络安全;ARP防御
0 引言
随着计算机技术和互联网技术的不断发展,人们的活动也越来越多的在网络中进行,比如网络购物、游戏、聊天通信等等。但是由于网络的开放性和资源的共享性,随之而来的网络安全问题必然很多,比如最近引起人们广泛关注的WannaCry勒索病毒就对人们的工作和学习生活造成很大的影响,而利用 ARP 协议的漏洞对网络进行攻击或欺骗更是长期存在的一大隐患。
1 ARP协议简介
ARP(Address Resolution Protocol)是根据IP地址获取MAC地址的一个TCP/IP协议,即动态的将IP地址解析为MAC地址的协议在实际进行通信时,IP数据包常通过以太网发送,但是以太网设备并不能识别IP地址,而是用MAC地址来确定目的地址,因此,需要在逻辑IP地址和MAC地址建立映射关系。地址解析协议为这两种不同的地址提供映射。
ARP协议的工作原理:ARP之所以能高效运行,是因为每个主机和路由器上都有 ARP缓存表,工作时,主机会首先查看自己的 ARP表。如果找不到对应的表项,则会以广播方式发送一个含有所希望的 IP地址的请求报文,局域网内所有主机都会收到该请求,但是只有一个IP地址和目的IP地址相同的主机会以单播方式将含有IP地址和MAC地址对的数据包作为应答。发送者将此地址映射缓存在ARP表中,下次请求时直接查询ARP缓存表就可以得到目的MAC地址,以减少不必要的ARP广播。
2 ARP协议的漏洞
ARP协议存在很多漏洞和不足,给计算机网络造成很大的隐患。首先ARP协议是以广播方式发送ARP请求的,只要是同一个网段内主机都可以收到,这就为攻击者以可乘之机,攻击者可以发送大量的 ARP请求包,阻塞正常网络宽带,使局域网中有限的网络资源被无用的广播信息所占用,造成网络拥堵;其次ARP协议没有安全认证机制,因为局域网内主机是建立在信任的基础上的,所以只要主机接收到ARP应答包,都会缓存在ARP表中,这就为ARP欺骗提供了可能。攻击者可以发送错误的IP地址和MAC地址的映射关系,下文的实验就是根据此漏洞进行的。
3 ARP攻击实验模拟
3.1 实验平台
此实验是在 Windows 10操作系统上进行的,首先安装VMware Workstation Pro软件,在软件中构建三个虚拟机,并安装Ubuntu系统,因为windows系统为了安全,很多功能默认关闭或者不能使用,所以在这里使用Linux系统进行实验,实验拓扑如图1所示。
图1 ARP攻击实验拓扑图
3.2 实验具体内容
(1)在Ubuntu系统下安装wireshark,disniffer,driftnet,如图2。
图2 软件安装
(2)在各个系统终端输入ifconfig,查看三台Ubuntu主机的IP地址,MAC地址信息,整理如表1。
表1 IP/MAC地址表
(3)检测三台主机是否可以互通,用互相ping对方IP地址的方法,如图3,可知三台主机可以互相ping通。
图3 PING对方IP地址
(4)查看ARP缓存表,输入命令“ARP”即可,可以发现每个主机的ARP表在相互PING之后,都添加了其他主机的IP地址和MAC地址的映射关系[9]。为了防止新建立的地址映射影响到之后的攻击实验,将对应的记录删除,如图4,主机A、B的IP地址和MAC地址的映射关系已经删除。
图4 ARP缓存表
(5)首先主机C去ping主机B,发现可以PING通。然后在攻击主机A上输入命令:arpspoof -i ens33 -t 192.168.48.138 192.168.48.137后,运行wireshark软件,从捕获到的ARP协议报文,从如图5可以看出,主机A一直在发送欺骗报文,告诉主机C,主机B的MAC地址是00:0c:29:93:f2:e2,此时发现主机C和主机Ping不通了,查看ARP缓存,看出ARP缓存表里主机B的MAC地址由00:0c:29:f6:77:08变成00:0c:29:93:f2:e2了,说明攻击成功。
图5 捕获到的ARP协议报文
(6)接下来在ARP攻击的基础上进行数据的嗅探。
①首先开启攻击主机A的IP转发功能,如图6:
图6 开启IP转发功能
图7 重定向流量
图8 网关数据重定向
图9 捕获数据包
图10 捕捉到的数据
4 ARP防御
4.1 ARP防御的三个控制点
Arp防御可以从,网关,接入设备,客户端即用户三个控制点来预防ARP攻击,如图11。
图11 ARP防御控制点
4.2 ARP防御措施
众说周知,ARP攻击是网络安全问题的一大隐患,当网络遭受ARP攻击时,局域网内所有主机出现时断时续掉线、IP地址冲突等问题,对网络的正常通讯造成了重大影响。对此,除了可以使用360杀毒.金山卫士,腾讯电脑管家等杀毒软件这些常用且简单的措施之外,还可以用以下措施:
(1)设置静态 ARP 缓存,通过使用“arp -s”将IP 地址和 MAC 地址绑定。对此我们进行如下实验:
①如图12,主机在受到ARP攻击后,通信中断,网络不可达。
图12 主机受到攻击后
图13 攻击前后的ARP缓存表
图14 MAC地址静态绑定后的ARP缓存
(2)在接入设备,如路由器,交换机等进行IP/MAC地址吧的双向绑定。
(3)在局域网内划分 VLAN,可以有效地控制广播域的范围,增强局域网的安全性和健壮性。当部分网络受到攻击时,可以将网络攻击限制在一个VLAN内,而不会使成整个局域网内所有主机都受到影响。
(4)安装 AntiArpSniffer、ArpKill 等软件,用来防止 ARP 攻击。
①以AntiArpSniffer为例,开始进行ARP攻击,攻击主机A的MAC地址为:00:0c:29:93:f2:e2,如图15。
图15 ARP攻击图
图16 Anti ARP Sniffer软件截图
(5)整个ARP攻击与防御实验完整清晰,且有趣味性,可以为高校计算机网络安全教学提供教学实例。
5 总结与展望
由于 ARP协议是无连接,无状态,无认证的协议,网络上的黑客等不法分子很容易利用漏洞对局域网进行攻击,对我们的学习和工作生活造成一定的影响。通过上文提到的防御措施可以最大程度降低 ARP攻击的风险,但是不能从根本上解决问题,不能一劳永逸。但是随着计算机技术的不断发展,Internet研究人员提供了安全性更高的网络层协议,IPV6就是其中之一,它取消使用 ARP协议,取而代之的是 NDP(Neighbor Discovery Protocol),即邻居发现协议,增加了报文传播范围,增强了网络安全性。随着IPv6的不断应用和普及,ARP攻击的问题也将迎刃而解。
[1]Kevin R. Fall[美] W. Richard Stevens[美].TCP/IP详解卷一:协议(第二版)[M].北京:机械工业出版社,2016.
[2]杭州华三通信技术有限公司.路由与交换技术第一卷(下册)[M].北京:清华大学出版社,2011.
[3]任侠,吕述望.ARP协议欺骗原理分析与抵御方法[J].计算机工程,2003.
[4]郭会茹,杨斌,牛立全.ARP攻击原理分析及其安全防范措施[J].网络安全技术与应用,2015.
[5]靳燕.ARP攻击实验仿真及防范技术分析[J].网络安全技术与应用,2016.
[6]黄学毛.论局域网中 ARP攻击及防范措施[J].电脑知识与技术,2013.
[7]蔡海岩.以 ARP欺骗技术为基础的交换式局域网嗅探技术[J].网络安全技术与应用,2016.
[8]王林胜.公司集团局域网 ARP恶意攻击分析与防范措施研究[J].网络安全技术与应用,2016.
[9]任俭.试谈适于医院局域网的 ARP攻击防范[J].中国新通信,2015.
[10]于夫.ARP病毒在局域网中的防治研究[J].网络安全技术与应用,2014.
[11]万绪江,万朔,班显秀,袁健.局域网中ARP攻击检测与防御方法[J].中国新通信,2009.
[12]李少峰,周天宏.局域网环境下直接和间接ARP风暴攻击的探讨[J].网络安全技术与应用,2014.
中央高校基本科研业务费专项资金资助项目(GK201503065),现代教学技术教育部重点实验室开放课题资助项目(SYSK201501),陕西师范大学非师范拔尖创新人才培养计划2017年度项目。