ARP攻击实验仿真及防范技术分析
2016-02-05◆靳燕
◆靳 燕
(山西大学商务学院信息学院 山西 030031)
ARP攻击实验仿真及防范技术分析
◆靳 燕
(山西大学商务学院信息学院 山西 030031)
局域网内ARP攻击极为泛滥,其利用ARP协议设计上存在的漏洞,通过发送伪造ARP应答包给目标主机,来实现ARP攻击,可造成通信内容的泄露或网络访问的受限等。本文以“因特网接入失效”和“中间人攻击”两种形式,分别在给定的网络结构中,介绍和分析了ARP攻击的实施原理,并自主构建协议数据,给出了ARP攻击的协议字段信息,为初学者提供了实践指导。为有效防范ARP攻击,给出了PC机与网络核心设备上,各自应当采取的常用防范措施,可为企业及校园网等的安全管理提供参考与帮助。
ARP协议;漏洞利用;因特网接入失效;中间人攻击;ARP防范措施
0 引言
人们在尽情享用网络系统的同时,也面临各类安全威胁,如:隐私信息的泄露、网络个人口令信息的非法盗取、各类网络攻击的破坏等[1]。在常见的网络攻击行为中,欺骗技术应用极广,如:依靠IP地址欺骗实现的SYN洪水攻击和smurf攻击,利用ARP欺骗实现的ARP攻击。ARP攻击通过伪造ARP应答包并发送至目标主机,致使目标主机因受欺骗而导致通信内容的泄露或网络访问的受限[2]。
本文通过自主构建协议数据来呈现ARP攻击的原理,并在局域网环境下进行仿真,较为直观地呈现出该攻击的原理与方法,并据此给出防范ARP攻击的常用措施。
1 ARP攻击依赖的协议及原理分析
ARP攻击是通过向目标主机发送大量的ARP虚假信息来欺骗目标主机的,ARP虚假信息是以ARP应答包形式呈现的IP地址与ARP地址的映射关系。由于信息的海量,导致网络拥塞;又由于映射关系的不真实,导致目标主机被骗,进一步作为中间人,可非法获得双方的通信信息或实现信息的非法篡改。
由于ARP攻击是利用ARP协议实施的,使其仅可在局域网范围内传播与相互感染,所以,校园网、企业网极易遭受的网络攻击中,ARP占据较大份额。
1.1 攻击依赖的ARP协议
本文在图1给定的网络结构中介绍和分析ARP协议原理和攻击原理。主机A、B为内网主机,通过网关GW与因特网相连,主机C位于因特网中。设定各个主机及网关接口的IP及MAC信息如表1所列。
图1 局域网连接示意图
表1 IP及MAC信息
以所有主机和网络设备刚开始运行为前提,当主机向外发送信息时,先判断目的主机与自身是否为同一网段,同一网段时,直接取出目的主机的MAC地址构建数据帧并发送;不同网段时,取出网关MAC地址生成数据帧发送出去[3]。
MAC地址会记录在本地主机的 ARP缓存中,若缓存中未找到记录信息,需要向本网段广播查询ARP,这一过程使用ARP协议实现。仅有匹配IP的主机回应ARP,该ARP 成为响应包。询问主机收到ARP响应包后会立即更新本地ARP缓存。
1.2 ARP攻击原理分析
ARP协议一个致命缺陷是主机接收ARP响应包时,不会验证数据源的真实性,也不核查是否发送过相应的请求,这一漏洞被攻击方挖掘利用,以虚假身份发送IP地址与虚假MAC映射的ARP响应给目标主机,致使ARP攻击产生[4]。
ARP攻击的两个典型例子:因特网接入失效和中间人攻击。
(1)因特网接入失效攻击方法分析
以图1所示网络连接为例,设攻击方为主机A,攻击目标为主机B。导致主机B无法接入因特网,即无法主动与因特网主机通信,实现的关键是让主机B无法与网关GW/0接口通信。如果主机B本地的ARP缓存中,记录的网关GW/0接口的MAC错误,就可实现该要求。
如此,在攻击方主机上,产生网关GW/0接口IP和虚假MAC映射的ARP响应包,发送给主机B,主机B会更新本地ARP缓存,之后的因特网主机访问均会失效。
(2)中间人攻击方法分析
所谓中间人攻击,是指攻击方截获通信双方的数据,并进行篡改。过程示意图如图2所示。对通信数据的简单截获只能泄露,无法篡改。要篡改通信数据,必须改变数据的流向。图2所示的通信过程,B主机发往C主机的通信数据先流向攻击方A主机,再经攻击方发往C主机,另一方向通信也是这样进行的。
图2 中间人攻击示意图
该过程中,攻击方需要分别对B主机和C主机进行攻击欺骗:告之B主机,自己是C主机;告之C主机,自己是B主机。在图1所示的网络环境中,B主机与C主机在两个网段,需要经过网关进行数据转发。“告之B主机,自己是C主机”应当设计为“告之B主机,自己是GW/0”,“告之C主机,自己是B主机”应当设计为“告之GW/0,自己是B主机”。
该处的设计与“断网”攻击有所区别,“告之B主机,自己是GW/0”,这样做是为了截获主机B发出的信息,应当让主机B具有GW/0接口IP与A主机MAC的映射信息,可以通过发送ARP响应包来实现。“告之GW/0,自己是B主机”,该欺骗的实现是向网关GW/0接口发送ARP响应包,包含B主机的IP与A主机的MAC。
当两个ARP响应包被海量发往相应主机时,主机A作为通信双方的中间人,可接收主机B发来的通信数据,篡改后以主机B身份转给网关接口GW/0,最终提交给主机C;来自主机C的数据,原本发往主机B,但经网关GW/0接口转发后,交给主机A,主机A进行篡改后再以网关GW/0身份发往主机B,完成了一次完整的双方数据通信,并成功实现了ARP欺骗。
2 ARP攻击实验仿真
2.1 实验仿真涉及的网络命令
在实验仿真过程中,为便于查看和操作本地ARP缓存信息,可以在命令符窗口使用arp命令,下面以三项操作为例:
(1)ARP缓存信息:>arp -a
(2)清空ARP缓存信息:>arp -d
(3)静态绑定IP与MAC映射:
>arp -s IP_address MAC_address
2.2 ARP攻击仿真
本文所述的两种攻击方式的仿真,是借助数据包发送软件(本文使用了Colasoft Packet Builder)来实现的,用户也可以自行开发ARP协议数据发送程序。
(1)因特网接入失效攻击仿真
“因特网接入失效攻击”的仿真极为简单,只需发送一条ARP欺骗数据给目标主机即可。图3以1.2部分的攻击为例,给出了攻击方A应当产生的ARP响应包的相关协议字段信息。
分析图3,为了很好的隐藏自身,主机A常以虚假身份出现,即发送数据帧的源端信息可为伪造(如:66-66-66-66-66-66),目的端信息为主机B的MAC。在ARP响应包的数据部分,将源IP与MAC映射分别写为网关GW/0的IP和虚假MAC。对虚假MAC,可以是根本不存在的值,若攻击方有意要截获目标主机的数据,可将虚假MAC写为自己的,但这样易导致身份暴露。
当目标主机B收到该ARP响应包后,会取出ARP中的源IP(192.168.1.1)和源MAC(66-66-66-66-66-66),并将该映射写入本地ARP缓存中。当该欺骗信息海量地发往目标主机,目标主机将无法再获得正确的映射信息,导致无法接入因特网。
图3 因特网接入失效攻击的ARP欺骗响应包协议字段信息
(2)中间人攻击仿真
对于“中间人攻击”,按本文给出的表1和图1信息,以1.2部分的攻击为例,给出了攻击方A应当产生的“告之B主机,自己是GW/0”和“告之GW/0,自己是B主机”的ARP响应包,对应的协议字段信息依次见图4和图5。
图4 中间人攻击——欺骗B方产生的ARP响应包协议字段信息
图5 中间人攻击——欺骗GW/0方产生的ARP响应包协议字段信息
主机A在发送欺骗数据前,应当先执行捕包操作,当海量欺骗数据发送出去后,主机B与主机C之间产生的通信数据可被主机A捕获,执行篡改后,以原来数据的身份发送给相应主机(目标主机信息需要修改)。
(3)仿真安全性分析
由于ARP缓存信息设有有效期,若仿真数据仅发送极少的量,仿真效果不明显。仿真期间,建议“循环发送”。另,缓存信息的有效期特点,可以保证仿真结束后,被攻击主机可以很快获得真实的映射信息,进而实现更新。该仿真过程不会对目标主机造成破坏,也不会影响原有配置的。若目标主机的ARP缓存更新不理想,或仍然延续仿真阶段的状况,可在目标主机上运行arp -d命令,以清空缓存并强制更新,但考虑到攻击仿真期间的影响,应尽量在实验室环境中进行。
3 防范ARP攻击技术分析
通过上述攻击原理分析,可以得出:防止ARP欺骗就是在有效防范ARP攻击[5-6]。
3.1 PC机防范ARP攻击常用方法
导致ARP攻击产生的主要原因是ARP协议设计上存在的漏洞,该漏洞无法避免,且系统的ARP缓存更新方法也无法直接改变。
对PC机而言,有效防范的方法包括:
(1)静态绑定关键主机的IP与MAC
可以在PC机上绑定本地网关、网段内服务器等关键主机的地址映射信息。静态绑定映射信息可通过命令arp来完成,现在主机B上执行绑定命令,如下:
>arp -s 192.168.1.1 11-11-11-11-11-11
(2)及时查看ARP缓存以发现ARP攻击
ARP攻击产生时,可通过实时监测本地ARP缓存信息的变化来及时察觉。使用arp -a可查看本地ARP缓存信息。
ARP缓存中,若网关IP映射的MAC发生变化,或者,当出现多个IP与同一个MAC相绑定时,都将预示存在ARP攻击。
(3)使用流量监测软件发现ARP攻击
ARP攻击常会发送大量欺骗响应包至目标主机,在流量监测软件上,若发现大量ARP响应数据,要提高警惕。
(4)使用专门的ARP防范软件
目前,因特网上可以免费获取众多用于防范ARP各类攻击的软件,对于个人用户而言,若不具备较为专业的计算机网络管理知识,可以借助专用软件轻松实现攻击的有效防范。
3.2 对网段有效管理以防范ARP攻击
对整个网段,为有效防范ARP攻击,应将网段关键设备“网关”加以保护,以防范ARP的“中间人攻击”等。
在网关上常用的方法包括:
(1)静态绑定
将网段合法IP与相应MAC静态绑定,可防范非授权的信息访问和中间人攻击等。静态绑定被视为是有效的防范方法,但当绑定主机更换网卡后,需要及时更新绑定信息,因而,人工管理参与较多。
(2)ARP异常流量实时监测
网关时常是ARP攻击的目标,因此,应当具有实时监测ARP异常流量的功能,以及时发现攻击源,并进行有效处理[7]。
网段内一旦有主机感染ARP,极易在局域网内传播,为有效管理网段安全,应当找出ARP攻击源头。通常,当主机被ARP攻击时,缓存地址映射中,多个IP均指向的那同一个MAC,即为攻击的源端。
(3)ARP流量限制
除本文所介绍的两种ARP攻击形式外,当大量ARP响应包(可以不含欺骗信息,但通常是人为构造出来的)发往网关时,也可因大量ARP映射信息的写入导致ARP缓存空间占满而无法再写入其他主机的映射信息,进而导致网关与主机通信失败,该攻击形式称为ARP洪水攻击。因此,可在网关上增加ARP流量限制功能,以有效防范。
(4)选用具备ARP防护技术的网络设备
在众多网络设备厂商中,不少已在相应的网络设备功能中加入了ARP防护功能,可为网络的安全管理提供有利条件。
4 小结
ARP攻击利用了ARP协议的设计漏洞,通过伪造ARP应答包并发送给目标主机,致使目标主机因受欺骗而导致通信内容的泄露或网络访问的受限等。
本文以“因特网接入失效”和“中间人攻击”两种形式,分别在给定的网络结构中,介绍和分析ARP攻击的原理。通过自主构建协议数据,结合局域网结构进行仿真,给出了ARP攻击的协议字段信息,直观呈现出攻击的实施过程,为初学者提供了实践指导。
依据ARP攻击的实施原理,罗列出PC机与网络核心设备上,各自应当采取的常用防范措施,可为企业及校园网等局域网环境下有效防范ARP攻击提供参考与帮助。
[1]陈明奇,姜禾,张娟等.大数据时代的美国信息网络安全新战略分析[J].信息网络安全,2012.
[2]Ma H,Ding H,Yang Y,et al.Bayes-based ARP att ack detection algorithm for cloud centers[J].Tsinghua Science a nd Technology,2016.
[3]谢希仁.计算机网络[M].电子工业出版社,2008.
[4]Wei Y,Xiaoliang X.AN ARP ATTACK-RESISTAN CE IMPROVEMENT WITH PRIORITY AND AUTHEN TICATION[J].Computer Applications and Software,2014.
[5]王力,李禹生,胡乐炜.基于 SNMP 与 WinPcap 的ARP 攻击实时检测与恢复[J].科技通报,2012.
[6]姚玉开,卢翠荣,孙冠婴等.解析 Windows 环境中基于 ARP 的网络攻防技术[J].网络安全技术与应用,2014.
[7]宋若宁.海量数据环境下的网络流量异常检测的研究[D].北京邮电大学,2015.
[8]靳燕,彭新光.折中规划分类性能的少数类误分代价优化设计[J/OL].计算机工程与应用,2016.