维普资讯 http://www.cqvip.com 第l9卷第2期 塔里木大学学报 V01.19 No.-2 2007年6月 Journal of Tarim University Jun.2oo7 文章编号:1009—0568(2007)02—0088—04 ARP欺骗入侵的检测与防范策略 曹洪武 (塔里木大学信息工程学院,新疆阿拉尔843300) 摘要本文分析了ARP协议工作原理,ARP欺骗原理和基于ARP欺骗的实现过程。并通过分析ARP欺骗实例,给出了基于 ARP的网络欺骗的检测方法和防范策略。 关键词ARP协议;MAC;ARP欺骗;入侵检测 中图分类号:TP393.08 文献标识码:A Detect and Precaution Based on Intrusion of ARP Spoofing Cao Hongwu (College of Information Engineering,Tarim University,Alar,Xinjiang 843300) Abstract This paper analyzed the working theory of ARP,the theory of ARP spoofing and the realizing process of ARP spoofing.By analyzing examples of ARP spoofing,it gave some detective methods and some precaution tactics of network spoofing based on ARP. Key words Address Resolution Protocol;MAC;ARP spoofing;intrusion detection ARP协议是TCP/IP协议族中网络层上的一个 ARP请求。当该IP地址确定为本地IP地址时,源 重要协议,主要是用来实现IP地址和对应设备的 主机在ARP缓存中查找目标主机的硬件地址。 MAC地址之间的相互转换,从而达到通过IP地址 1.1.2若找不到映射,ARP就建立一个请求。源 来访问网络设备的目的。近年来,网络中的非法入 主机IP和硬件地址会被包括在请求中,该请求通过 侵者利用ARP协议设计上的缺陷,通过篡改IP与 广播,使所有本地主机均能接收并处理。 MAC之间的对应关系,非法获取并替换他人的 1.1.3本地网上的每个主机都收到广播并寻找相 MAC,以达到非法监听和获取他人在网络上所传输 符的IP地址。 的信息的目的,这种网络入侵方式称为ARP欺骗入 1.1.4 当目标主机断定请求中的IP与自身的IP 侵¨J。ARP欺骗的出现已经成为网络入侵攻击中 相符时,直接发送一个ARP答复,将自身的硬件 的一种主要形式,严重威胁着网络信息的安全。本 MAC地址传递给源主机。使用源主机的IP和 文将通过对上述入侵方式的工作原理和入侵过程的 MAC更新它的ARP缓存。源主机收到应答后便建 分析,给出检测方法和防范策略。 立起了通信关系。网段内ARP请求与应答过程如 1 ARP协X_z-作原理 图1所示。 1.2不同网段间ARP请求与应答过程 1.1 同一网段内ARP请求与应答过程 将不同网段间的主机IP地址解析为MAC时, 将本地网络的主机IP地址解析为MAC时,网 因目标IP属于一个不同网段主机,则ARP将广播 段内ARP解析过程分为4步: 一个源主机的缺省网关路由器的地址。此时,ARP 1.1.1 当一台主机要与别的主机通信时,初始化 解析过程分为5步进行: ①收稿日期:2006—10—20 作者简介:曹洪武(1980一)男,助教,主要从事计算机网络应用的教学研究工作。 维普资讯 http://www.cqvip.com 第2期 曹洪武:ARP欺骗人侵的检测与防范策略 1.2.1初始化通信请求,得知目标IP为远程地址。 源主机在本地路由表中查找,若没有找到,源主机就 认为是缺省网关的IP。在ARP缓存中查找符合该 网关记录的IP的MAC地址。 ARP获得此网关的MAC,并将数据包被直接发送到 下一个目标主机。 1.2.4目标主机收到请求后,形成ICMP响应。因 源主机在远程网上,将在本地路由表中查找源主机 网络的网关。找到网关后,ARP就获取它的硬件地 址MAC。 1.2.5如果此网关的硬件地址不在ARP缓存中, 图1网段内APR请求与应答过程 1.2.2若没找到该网关的记录,ARP将广播一个 包含网关地址而不是目标主机的地址的请求。路由 器用自己的硬件地址响应源主机的ARP请求。源 主机则将数据包送到路由器以传送到目标主机的网 络,最终达到目标主机。 图2网段间APR请求与应答过程 1.2.3如果是本地IP地址,路由器用ARP缓存或 ARP广播方式获得硬件地址MAC。如果是远程IP 地址,路由器在其路由表中查找该网关,然后运用 则通过ARP广播获得。一旦它获得硬件地址,Ic— MP响应就送到路由器上,然后传回源主机。网段 间ARP请求与应答过程如图2。. 2 ARP欺骗 2.1 ARP欺骗原理 当主机接收到ARP应答帧的时候,就会对本地 的ARP缓存进行更新,将应答帧中的IP地址和 MAC地址存储在ARP高速缓存中,此时不要求主 机必须先发送ARP请求后才能接收ARP应答,同 时不对其进行检验 J。其次,在通讯中,由于ARP 缓存的优先级最高,所以总是最先从ARP缓存中找 与IP地址对应MAC地址。使得网络上的非法人侵 攻击者有可能发送一个带有欺骗性的ARP请求和 回答,导致改变另一个主机的ARP高速缓存中的地 址映射(即IP与MAC之l目拘对应关系),使得被攻 击的主机在地址解析时发生错误结果,导致所封装 的数据被发往攻击者所希望的目的主机,从而使数 据信息被劫取。 2.2 ARP欺骗的实现过程 下面通过实验讨论ARP欺骗的具体过程。首 先,假设有三台位于同一网段内的主机,分别是:主 机A、主机B、主机C。各主机IP地址与MAC对应 情况如表1所示。 表1 各实验主机的IP地址和网卡MAC地址对应表 在同一子网内部,主机A与主机B进行正常通 信,如图3所示。此时,如果未取得信任的主机c 想窃听主机A与主机B之间的通信信息,它可以利 用ARP协议的漏洞,冒用主机B的名义与主机A 通信,同时冒用主机A的名义与主机B通信,实现 ARP欺骗,如图4 所示。主机C向主机A发送 维普资讯 http://www.cqvip.com 塔里木大学学报 第19卷 ARP响应报文,在响应文中将主机B的IP地址 行判断。正常的系统回应的时间没有太明显的变 172.30.241.2与主机C的网卡地址对应,当主机A 化,而存在ARP欺骗的系统由于对大量的无意义的 收到ARP响应报文时,更新ARP高速缓存,增加 测试信息会全盘接收,其回应时间可能会发生较大 “172.30.241.2<一>00—53—45—22—00—00’’ 变化。 项。同时,主机C向主机B发送ARP响应报文,在 3.1.2 利用Ping方法进行监测 响应报文中将主机A的IP地址172.30.241.1与 当一台主机实施ARP欺骗时,以太网的网卡 主机C的网卡地址对应,当主机B收到ARP响应 会将所有不属于它的数据照单全收。按照上述思 报文时,更新ARP高速缓存,增加“172.30.241.1< 路,可以这样来操作:假设网络中被怀疑的主机的 一>00—53—45—22—00—00”项。这样,当主机A MAC地址是00—53—45—0o一00—0o,它的IP是 再次与主机B通信时,其数据包会发送到网卡地址 172.30.241.1,那么现在伪造出这样的一种ICMP 是0o一53—45—22—00—00的主机C上;主机B 数据包:硬件地址是不与局域网内任何一台主机相 圈 ▲|_ 与主机A通信时,数据包也会发送到网卡地址是0o 同的00—53—45—00—0O—AA,目的IP是172. 一53—45—22—0o一00的主机C上。此时,如果主 30.241.1不变。根据正常的主机会检查这个数据 机c能够实现自动路由转发,就可以在不影响主机 包,比较数据包的硬件地址,如果与自身的不同, A与主机B之间通信的前提下进行数据窃听。 . 则忽略这个数据包;而处于网络监听模式的主机, 由于它的网卡是混杂模式,所以它不对比这个数据 ..I-—————_|-. 包的硬件地址,而是将这个数据包直接传到上层并 检查数据包的IP,若符合自身的IP,则会对这个 Ping的包做出回应,以此方式实施检测。 3.1.3 观测DNS解析请求的变化情况 图3子网内主机间正常通信 许多网络监听软件会尝试进行地址反向解析, 在怀疑有ARP网络欺骗发生时,可以在DNS系统 巨 上观测有没有明显增多的解析请求。因为发起ARP 欺骗的主机会不问断的尝试正反解析冒充的网关 IP,发送数量非常多的重复解析数据包,据此可以 检测局域网中是否有ARP欺骗存在 J。 3.1.4 利用ARP数据包进行监测 图4子网内ARP欺骗通信 这种模式是ping方式的一种变体,它使用ARP 3 ARP欺骗的检测与防范策略 数据包替代了上述iemp数据包。向局域网内的主 机发送非广播方式的ARP包,如果局域网内的某个 基于ARP的网络欺骗入侵给网络安全带来了 主机响应这个ARP请求,那么就可以判断它很可能 严重威胁,为了防止ARP欺骗,下面给出一些检测 就是处于网络监听模式,这是目前相对而言比较好 方法和防范对策。 的检测方法。 3.1 ARP欺骗的检测方法 3.1.5检测同一网段内IP地址和MAC地址对应 客观上来说,各种网络安全的对策是相对的,关 关系的一致性 J。 键是看用户平时对网络安全的重视程度。对基于 3.2 ARP欺骗的防范策略 ARP的网络欺骗,由于产生网络监听行为的主机不 3.2.1 设置静态ARP缓存 会主动发出任何信息,一直以来都缺乏很好的检测 使用静态的IP一>MAC的解析新ARP协议攻 方法。以下仅指出部分检测方法。 击的最根本原理是改变IP与MAC地址的对应关 3.1.1 检测疑似ARP欺骗发送主机反应时间 系 J。可以采取静态MAC地址表法的方法进行防 通过向怀疑有ARP网络欺骗行为的网络发送 范。主机的IP一>MAC地址对应表手工维护,输入 大量测试数据包,根据各个主机回应的时间情况进 之后不再动态更新,显然可以避免ARP协议攻击, 维普资讯 http://www.cqvip.com 第2期 曹洪武:ARP欺骗人侵的检测与防范策略 9l 大多数三层交换机都支持这种方法。但是,这种方 法的缺陷也很明显,在移动或经常变化的网络环境 中,这种手工维护MAC表的方式不适用,而且它也 4 结束语 由于ARP协议制定时间较早,且现有的基于 要求网络硬件支持这种配置方式。另外,采用此方 式设置静态ARP缓存,管理员需要定期轮询,检查 IPv4标准的协议的体系结构考虑不够全面,使得 ARP攻击成为网络中常见的且破坏性较大的人侵 攻击方式。本文通过对ARP协议的工作原理的分 主机上的ARP缓存。 3.2.2 网络路由分割 目前,网络上已经使用高层交换的方式,基于 IP地址变换进行路由的第三层(第四层)交换机逐 渐被采用,第三层交换技术用的是IP路由交换协 议。以往的链路层的MAC地址和ARP协议已经不 起作用,因而ARP欺骗攻击在这种交换环境下不起 作用。 3.2.3 使用ARP代理服务器" 通过该服务器查找ARP转换表来响应其他机 器的ARP广播。但必须确保这台ARP服务器不被 黑客攻击。 3.2.4 定期捕获ARP请求 管理员定期在响应的IP包中捕获ARP请求, 检查ARP响应的真实性。 3.2.5采用加密手段防范 ARP欺骗过程中,即使是使用Snifer类的抓包 软件抓取到了数据,但由于数据包都是以密文传输 的,因此不会造成严重影响。 析和对ARP欺骗技术的研究,增强用户在网络使用 中的安全防范意识,防止数据泄密,提高网络的安全 ,性和访问的合法性。本文中仅介绍如何进行ARP 欺骗的检测与其相关防范策略,但仍未做到完全避 免ARP欺骗,这仍有待于继续探讨。 参考文献 [I]张新瑞.ARP协议揭密http://www.xfoeus.net/arti- cles/2003 12/647.htrn1. [2] 程春,杨春.关于IP的几种欺骗的分析与研究[J]. 四川师范大学学报,1999(4):45—48. [3] 孟晓明基于ARP的网络欺骗的检测与防范.信息技 术,2005(5):41—44. [4] 雷斯林.ARP欺骗的解决策略以及原理和技术资料. 2005.9.I http://www.winmag.corn.cn/forum. [5] 张健,李焕洲.网络嗅探原理及其检测和预防.四川师 范大学学(自然科学版),2003(I):79—82. [6] 马军,王岩.ARP协议攻击及其解决方案微计算机信 息,2006(22):51—53. [7] 广东科达信息技术有限公司.网络安全中的ARP协 议和欺骗技术及其对策.2006.3.31 http://www.ccit- se 0m/morel01.htm.