ARP欺骗攻击技术分析与防御论文

上传人:大米 文档编号:561532356 上传时间:2023-06-25 格式:DOC 页数:14 大小:223.04KB
返回 下载 相关 举报
ARP欺骗攻击技术分析与防御论文_第1页
第1页 / 共14页
ARP欺骗攻击技术分析与防御论文_第2页
第2页 / 共14页
ARP欺骗攻击技术分析与防御论文_第3页
第3页 / 共14页
ARP欺骗攻击技术分析与防御论文_第4页
第4页 / 共14页
ARP欺骗攻击技术分析与防御论文_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《ARP欺骗攻击技术分析与防御论文》由会员分享,可在线阅读,更多相关《ARP欺骗攻击技术分析与防御论文(14页珍藏版)》请在金锄头文库上搜索。

1、第4期 辽宁省电子信息产品监督检验院年度论文 2008年1月ARP欺骗攻击技术分析与防御Address Resolution Protocol Deceit Attack Technology Analysis And Defense姜志坤摘 要:世界上没有绝对安全的网络。用户即使想尽一切办法升级自己的系统,并且及时地为它补上各种补丁,也不能保证自己的系统就是绝对的安全。Internet和TCP/IP从出现开始,在安全问题上就存在着难以克服的缺陷。TCP/IP很容易相信别人,即使对方是不怀好意的入侵者。TCP/IP的欺骗技术有很多种,包括ARP欺骗、序列号欺骗、路由攻击、源地址欺骗和授权欺骗等

2、。本文针对ARP欺骗的工作原理以及攻击过程,提出了一系列的解决方法。关键字:入侵者 ARP 欺骗 工作原理 攻击过程所谓ARP即地址解析协议(Address Resolution Protocol),是在仅知道主机的IP地址时确定其物理地址的一种协议。因IPv4和以太网的广泛应用,其主要用作将IP地址翻译为以太网的MAC地址,但其也能在ATM和FDDIIP网络中使用。从IP地址到物理地址的映射有两种方式:表格方式和非表格方式。ARP具体说来就是将网络层(IP层,也就是相当于OSI的第三层)地址解析为数据连接层(MAC层,也就是相当于OSI的第二层)的MAC地址。1. ARP欺骗原理1. 1 A

3、RP欺骗机制分析ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的低层协议,负责将某个IP地址解析成对应的MAC地址。从影响网络连接通畅的方式来看,ARP欺骗分为二种,一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。第一种ARP欺骗的原理是截获网关数据。它通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。第二种ARP欺骗的原理是伪造网关。它的原理是建立假网关,让被它欺骗的PC向假网关发数据,而

4、不是通过正常的路由器途径上网。在PC看来,就是上不了网了,“网络掉线了”。一般来说,ARP欺骗攻击的后果非常严重,大多数情况下会造成大面积掉线。有些网络管理员对此不甚了解,出现故障时,认为PC没有问题,交换机没掉线的“本事”,电信也不承认宽带故障。而且如果第一种ARP欺骗发生时,只要重启路由器,网络就能全面恢复,那问题一定是在路由器了。为此,宽带路由器背了不少“黑锅”。另外,为对抗假冒网关的ARP欺骗,路由器设计了网关的ARP广播机制,它以一个可选定的频次,向内网宣布正确的网关地址,维护网关的正当权益。在暂时无法及时清除ARP病毒,网络管理员还没有做PC上的IP-MAC绑定时,它能在一定程度上

5、维持网络的运行,避免灾难性后果,赢取系统修复的时间。这就是ARP主动防范机制。不过,如果不在PC上绑定IP-MAC,虽然有主动防范机制,但网络依然在带病运行。因为这种ARP是内网的事情,是不通过路由器的。让路由器插手只能做到对抗,不能根绝。ARP太猖獗时,就会发生时断时续的故障,那是主动防范机制在与ARP欺骗进行拉锯式的斗争。 1. 2 ARP欺骗攻击分析要想了解ARP欺骗攻击的原理,首先就要了解什么是ARP协议。ARP是地址转换协议的英文缩写,它是一个链路层协议,工作在OSI模型的第二层,在本层和硬件接口间进行联系,同时为上层(网络层)提供服务。我们知道,二层的以太网交换设备并不能识别32位

6、的IP地址,它们是以48位以太网地址(就是我们常说的MAC地址)传输以太网数据包的。因此IP地址与MAC地址之间就必须存在一种对应关系,而ARP协议就是用来确定这种对应关系的协议。ARP工作时,首先请求主机发送出一个含有所希望到达的IP地址的以太网广播数据包,然后目标IP的所有者会以一个含有IP和MAC地址对的数据包应答请求主机。这样请求主机就能获得要到达的IP地址对应的MAC地址,同时请求主机会将这个地址对放入自己的ARP表缓存起来,以节约不必要的ARP通信。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用(Windows系统这个时间为2分钟,而Cisco路由器的这个时间为5

7、分钟),就会被删除。通过下面的例子我们可以很清楚地看出ARP的工作机制。假定有如下五个IP地址的主机或者网络设备,它们分别是:主机A 192.168.1.2 主机B 192.168.1.3网关C 192.168.1.1主机D 10.1.1.2网关E 10.1.1.1假如主机A要与主机B通信,它首先会检查自己的ARP缓存中是否有192.168.1.3这个地址对应的MAC地址,如果没有它就会向局域网的广播地址发送ARP请求包,大致的意思是192.168.1.3的MAC地址是什么请告诉192.168.1.2,而广播地址会把这个请求包广播给局域网内的所有主机,但是只有192.168.1.3这台主机才会

8、响应这个请求包,它会回应192.168.1.2一个ARP包,大致的意思是192.168.1.3的MAC地址是02-02-02-02-02-02。这样的话主机A就得到了主机B的MAC地址,并且它会把这个对应的关系存在自己的ARP缓存表中。之后主机A与主机B之间的通信就依靠两者缓存表里的MAC地址来通信了,直到通信停止后2分钟,这个对应关系才会从表中被删除。再来看一个非局域网内部的通信过程。假如主机A需要和主机D进行通信,它首先会发现这个主机D的IP地址并不是自己同一个网段内的,因此需要通过网关来转发,这样的话它会检查自己的ARP缓存表里是否有网关192.168.1.1对应的MAC地址,如果没有就

9、通过ARP请求获得,如果有就直接与网关通信,然后再由网关C通过路由将数据包送到网关E,网关E收到这个数据包后发现是送给主机D(10.1.1.2)的,它就会检查自己的ARP缓存,看看里面是否有10.1.1.2对应的MAC地址,如果没有就使用ARP协议获得,如果有就是用该MAC地址与主机D通信。通过上面的例子我们知道,在以太局域网内数据包传输依靠的是MAC地址,IP地址与MAC对应的关系依靠ARP表,每台主机(包括网关)都有一个ARP缓存表。在正常情况下这个缓存表能够有效保证数据传输的一对一性,像主机B之类的是无法截获A与D之间的通信信息的。但是主机在实现ARP缓存表的机制中存在一个不完善的地方,

10、当主机收到一个ARP的应答包后,它并不会去验证自己是否发送过这个ARP请求,而是直接将应答包里的MAC地址与IP对应的关系替换掉原有的ARP缓存表里的相应信息。这就导致主机B截取主机A与主机D之间的数据通信成为可能。首先主机B向主机A发送一个ARP应答包说192.168.1.1的MAC地址是02-02-02-02-02-02,主机A收到这个包后并没有去验证包的真实性而是直接将自己ARP列表中的192.168.1.1的MAC地址替换成02-02-02-02-02-02,同时主机B向网关C发送一个ARP响应包说192.168.1.2的MAC是02-02-02-02-02-02,同样,网关C也没有去

11、验证这个包的真实性就把自己ARP表中的192.168.1.2的MAC地址替换成02-02-02-02-02-02。当主机A想要与主机D通信时,它直接把应该发送给网关192.168.1.1的数据包发送到02-02-02-02-02-02这个MAC地址,也就是发给了主机B,主机B在收到这个包后经过修改再转发给真正的网关C,当从主机D返回的数据包到达网关C后,网关也使用自己ARP表中的MAC地址,将发往192.168.1.2这个IP地址的数据发往02-02-02-02-02-02这个MAC地址也就是主机B,主机B在收到这个包后再转发给主机A完成一次完整的数据通信,这样就成功地实现了一次ARP欺骗攻击

12、。因此简单点说,ARP欺骗的目的就是为了实现全交换环境下的数据监听。大部分的木马或病毒使用ARP欺骗攻击也是为了达到这个目的。局域网内一旦有ARP的攻击存在,会欺骗局域网内所有主机和网关,让所有上网的流量必须经过ARP攻击者控制的主机。其他用户原来直接通过网关上网,现在却转由通过被控主机转发上网。由于被控主机性能和程序性能的影响,这种转发并不会非常流畅,因此就会导致用户上网的速度变慢甚至频繁断线。另外ARP欺骗需要不停地发送ARP应答包,会造成网络拥塞。一旦怀疑有ARP攻击我们就可以使用抓包工具来抓包,如果发现网内存在大量ARP应答包,并且将所有的IP地址都指向同一个MAC地址,那么就说明存在

13、ARP欺骗攻击,并且这个MAC地址就是用来进行ARP欺骗攻击的主机MAC地址,我们可以查出它对应的真实IP地址,从而采取相应的控制措施。另外,我们也可以到路由器或者网关交换机上查看IP地址与MAC地址的对应表,如果发现某一个MAC对应了大量的IP地址,那么也说明存在ARP欺骗攻击,同时通过这个MAC地址查出用ARP欺骗攻击的主机在交换机上所对应的物理端口,从而进行控制。在局域网中,通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)。ARP协议对网络安全具有重要的意义。通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞或者实现“man in t

14、he middle” 进行ARP重定向和嗅探攻击。用伪造源MAC地址发送ARP响应包,对ARP高速缓存机制的攻击。每个主机都用一个ARP高速缓存存放最近IP地址到MAC硬件地址之间的映射记录。MS Windows高速缓存中的每一条记录(条目)的生存时间一般为60秒,起始时间从被创建时开始算起。默认情况下,ARP从缓存中读取IP-MAC条目,缓存中的IP-MAC条目是根据ARP响应包动态变化的。因此,只要网络上有ARP响应包发送到本机,即会更新ARP高速缓存中的IP-MAC条目。攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。A

15、RP协议并不只在发送了ARP请求才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和 MAC地址存储在ARP缓存中。因此,B向A发送一个自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是192.168.1.3(C的IP地址),MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了)。当A接收到B伪造的ARP应答,就会更新本地的ARP缓存(A可不知道被伪造了)。当攻击源大量向局域网中发送虚假的ARP信息后,就会造成局域网中的机器ARP缓存的崩溃。Switch上同样维护着一

16、个动态的MAC缓存,它一般是这样,首先,交换机内部有一个对应的列表,交换机的端口对应MAC地址表Port n Mac记录着每一个端口下面存在哪些MAC地址,这个表开始是空的,Switch从来往数据帧中学习。因为MAC-PORT缓存表是动态更新的,那么让整个 Switch的端口表都改变,对Switch进行MAC地址欺骗的Flood,不断发送大量假MAC地址的数据包,Switch就更新MAC-PORT缓存,如果能通过这样的办法把以前正常的MAC和Port对应的关系破坏了,那么Switch就会进行泛洪发送给每一个端口,让Switch基本变成一个 HUB,向所有的端口发送数据包,要进行嗅探攻击的目的一样能够达到。也将造成Switch MAC-PORT缓存的崩溃,如下下面交换机中日志所示:Internet 172.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号