ARP欺骗攻击技术及其防范方法_第1页
ARP欺骗攻击技术及其防范方法_第2页
ARP欺骗攻击技术及其防范方法_第3页
ARP欺骗攻击技术及其防范方法_第4页
ARP欺骗攻击技术及其防范方法_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

校园网中的ARP欺骗的分析与防御研究、什么是ARP协议要想了解ARP欺骗攻击的原理,首先就要了解什么是ARP协议。ARP是地址转换协议的英文缩写,它是一个链路层协议,工作在OSI模型的第二层,在本层和硬件接口间进行联系,同时为上层(网络层)提供服务。我们知道,二层的以太网交换设备并不能识别32位的IP地址,它们是以48位以太网地址(就是我们常说的MAC地址)传输以太网数据包的。因此IP地址与MAC地址之间就必须存在一种对应关系,而ARP协议就是用来确定这种对应关系的协议。ARP工作时,首先请求主机发送出一个含有所希望到达的IP地址的以太网广播数据包,然后目标IP的所有者会以一个含有IP和MAC地址对的数据包应答请求主机。这样请求主机就能获得要到达的IP地址对应的MAC地址,同时请求主机会将这个地址对放入自己的ARP表缓存起来,以节约不必要的ARP通信。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用(Windows系统这个时间为2分钟,而Cisco路由器的这个时间为5分钟),就会被删除。通过下面的例子我们可以很清楚地看出ARP的工作机制。假定有如下五个IP地址的主机或者网络设备,它们分别是:主机A主机B网关C主机D网关E假如主机A要与主机B通信,它首先会检查自己的ARP缓存中是否有这个地址对应的MAC地址,如果没有它就会向局域网的广播地址发送ARP请求包,大致的意思是的MAC地址是什么请告诉,而广播地址会把这个请求包广播给局域网内的所有主机,但是只有这台主机才会响应这个请求包,它会回应一个ARP包,大致的意思是的MAC地址是02-02-02-02-02-02。这样的话主机A就得到了主机B的MAC地址,并且它会把这个对应的关系存在自己的ARP缓存表中。之后主机A与主机B之间的通信就依靠两者缓存表里的MAC地址来通信了,直到通信停止后2分钟,这个对应关系才会从表中被删除。再来看一个非局域网内部的通信过程。假如主机A需要和主机D进行通信,它首先会发现这个主机D的IP地址并不是自己同一个网段内的,因此需要通过网关来转发,这样的话它会检查自己的ARP缓存表里是否有网关对应的MAC地址,如果没有就通过ARP请求获得,如果有就直接与网关通信,然后再由网关C通过路由将数据包送到网关E,网关E收到这个数据包后发现是送给主机D()的,它就会检查自己的ARP缓存,看看里面是否有对应的MAC地址,如果没有就使用ARP协议获得,如果有就是用该MAC地址与主机D通信。通过上面的例子我们知道,在以太局域网内数据包传输依靠的是MAC地址,IP地址与MAC对应的关系依靠ARP表,每台主机(包括网关)都有一个ARP缓存表。在正常情况下这个缓存表能够有效保证数据传输的一对一性,像主机B之类的是无法截获A与D之间的通信信息的。但是主机在实现ARP缓存表的机制中存在一个不完善的地方,当主机收到一个ARP的应答包后,它并不会去验证自己是否发送过这个ARP请求,而是直接将应答包里的MAC地址与IP对应的关系替换掉原有的ARP缓存表里的相应信息。这就导致主机B截取主机A与主机D之间的数据通信成为可能。首先主机B向主机A发送一个ARP应答包说的MAC地址是02-02-02-02-02-02,主机A收到这个包后并没有去验证包的真实性而是直接将自己ARP列表中的的MAC地址替换成02-02-02-02-02-02,同时主机B向网关C发送一个ARP响应包说的MAC是02-02-02-02-02-02,同样,网关C也没有去验证这个包的真实性就把自己ARP表中的的MAC地址替换成02-02-02-02-02-02o当主机A想要与主机D通信时,它直接把应该发送给网关的数据包发送到02-02-02-02-02-02这个MAC地址,也就是发给了主机B,主机B在收到这个包后经过修改再转发给真正的网关C,当从主机D返回的数据包到达网关C后,网关也使用自己ARP表中的MAC,将发往这个IP地址的数据发往02-02-02-02-02-02这个MAC地址也就是主机B,主机B在收到这个包后再转发给主机A完成一次完整的数据通信,这样就成功地实现了一次ARP欺骗攻击。因此简单点说,ARP欺骗的目的就是为了实现全交换环境下的数据监听。大部分的木马或病毒使用ARP欺骗攻击也是为了达到这个目的。二、 ARP欺骗的原理ARP的功能分为两部分:一部分在发送数据包时请求获得目的主机的物理地址,另一部分是向请求物理地址的主机发送解析结果。为了减少广播ARP请求带来的开销,每个主机都维护一个名为ARP高速缓存的本地列表,ARP高速缓存中含有最近使用过的IP地址和物理地址的映射列表,ARP请求方和应答方都把对方的地址映射存储在ARP高速缓存中。当发送IP数据报需要获取目的主机的物理地址时,首先检查它的ARP高速缓存,如果ARP高速缓存中已经存在对应的映射列表项,那么就直接从ARP的高速缓存中获取目的主机的物理地址。当主机收到一个ARP请求帧或响应帧时,都会检查它的ARP高速缓存,如果其中不存在对应的映射列表项,那么主机就会更新ARP高速缓存。由于IP地址和物理地址的映射关系可能因网络接口或IP地址的变化而变化,因此ARP高速缓存中的每一个表项都设置了一个超时值,使得每一个地址映射表项都有一个生命期。ARP欺骗就是基于A、B两点,通过发送伪造的ARP响应帧,达到更新主机ARP高速缓存中相应的表项。三、 如何发现及清除局域网内一旦有ARP的攻击存在,会欺骗局域网内所有主机和网关,让所有上网的流量必须经过ARP攻击者控制的主机。其他用户原来直接通过网关上网,现在却转由通过被控主机转发上网。由于被控主机性能和程序性能的影响,这种转发并不会非常流畅,因此就会导致用户上网的速度变慢甚至频繁断线。另外ARP欺骗需要不停地发送ARP应答包,会造成网络拥塞。一旦怀疑有ARP攻击我们就可以使用抓包工具来抓包,如果发现网内存在大量ARP应答包,并且将所有的IP地址都指向同一个MAC地址,那么就说明存在ARP欺骗攻击,并且这个MAC地址就是用来进行ARP欺骗攻击的主机MAC地址,我们可以查出它对应的真实IP地址,从而采取相应的控制措施。另外,我们也可以到路由器或者网关交换机上查看IP地址与MAC地址的对应表,如果发现某一个MAC对应了大量的IP地址,那么也说明存在ARP欺骗攻击,同时通过这个MAC地址查出用来ARP欺骗攻击的主机在交换机上所对应的物理端口,从而进行控制。四、 如何防范我们可以采取以下措施防范ARP欺骗。(1) 在客户端使用arp命令绑定网关的真实MAC地址命令如下:arp(先清除错误的ARP表)arp03-03-03-03-03-03(静态指定网关的MAC地址)(2) 在交换机上做端口与MAC地址的静态绑定。(3) 在路由器上做IP地址与MAC地址的静态绑定。(4) 使用“ARPSERVER”按一定的时间间隔广播网段内所有主机的正确IP-MAC映射表。(5) 最主要是要提高用户的安全意识,养成良好的安全习惯,包括:及时安装系统补丁程序;为系统设置强壮的密码;安装防火墙;安装有效的杀毒软件并及时升级病毒库;不主动进行网络攻击,不随便运行不受信任的软件。五、 国内外的研究现状ARP欺骗攻击的核心思想就是向目标主机发送伪造ARP应答,并使目标主机接收应答中伪造的IP地址与MAC地址之间的映射对,以此来更新目标主机的ARP缓存。ARP欺骗的原理已经十分明了,但对ARP欺骗的防范措施却并不十分有效。目前国内外还没有功能很强的软件能够很好的防御网络中的ARP欺骗。因此,如何防御ARP欺骗攻击及怎样降低这种攻击所带来的后果引起了全社会网络专家们的广泛关注,并成为目前网络安全界研究的热点问题。1、ARP欺骗攻击主要是利用了ARP协议的安全缺陷,体现在如下几点:(1) ARP请求均以广播方式进行:当源主机要和目的主机通信而没有目的主机的MAC地址时,便会向整个局域网广播ARP请求数据包。这使得攻击者可以伪装ARP应答,与真正的目的主机展开竞争,并由此确定子网内机器什么时候刷新ARP缓存,以实现最大限度的假冒和欺骗。(2) ARP地址转换表自我动态更新:这种机制的动态更新方式较为灵活,但同时也带来了安全隐患。由于正常的ARP地址转换表都是有时间限制的,这使得假冒者如果在下次交换之前成功修改了源主机的地址,就可以毫无阻拦的进行ARP欺骗行为。(3) ARP响应无控制且无认证:ARP协议设计之初,为了获得较高的传输效率,在数据链路层没有做安全上的防范,在使用ARP协议时无需认证,使用ARP协议的局域网假设通信双方是相互信任和相互独立的。2、 ARP欺骗的攻击方法主要有以下几种:中间人攻击:中间人攻击就是攻击者将自己插入两个目标主机通信路径之间,使它如同两个目标主机通信路径上的一个中继,这样攻击者就可以监听两个目标主机之间的通信。IP地址冲突:主机发送更改的ARP报文,将伪装的MAC地址映射到目标主机的IP地址,系统检测到两个不同的MAC地址对应同一个IP地址,因此表现为IP地址冲突。拒绝服务攻击:拒绝服务攻击就是使目标主机不能正常响应外部请求,从而不能对外提供服务的攻击方式。克隆攻击:通过修改网络接口的MAC地址,攻击者首先对目标主机实施拒绝服务攻击,使其不能对外部做出任何反应。然后攻击者就可以将自己的IP地址与MAC地址分别改为目标主机的IP地址与MAC地址,这样攻击者就可以对目标主机进一步实施各种非法攻击,窃取各种通信数据。ARP应答畸形包攻击:正常的ARP报文至少是46个字节,但是如果我们自己精心构造一个只有30个字节长的ARP应答报文,由于目前的网络交换设备没有充分考虑到这种情况的出现,当网络上连续出现这种畸形报文达到一定数量的时候,交换机的MAC缓存表就无法正常刷新,其严重后果就是整个局域网瘫痪。3、 针对以上的ARP欺骗攻击手段,已经制定出如下的防御措施:制定静态ARP缓存表:ARP协议攻击最根本的原理就是改变IP地址与MAC地址的正确对应关系。因此可以在目标主机的ARP缓存中设置静态地址映射记录来防止ARP欺骗攻击。但该方法的缺点是如果网络上节点较多或者节点经常发生变化则不易进行管理。设置ARP服务器:为了解决静态ARP缓存表中维护静态记录的工作分散的缺点,可以采用在局域网内部指定一台机器作为ARP服务器来集中保存和维护一个相对可信的局域网环境下所有主机的IP-MAC地址映射记录。但该方法首先要保证ARP服务器的网络安全,如果一旦该主机瘫痪,ARP缓存表将无法维护,整个网络系统会受到影响。数据加密传输:例如采用SSH替代telnet,采用sftp替代传统的ftp,即使连接被截获,也不可能被轻易伪造数据。该方法的缺点是加密和解密过程相对来说比较消耗系统资源。交换机绑定端口和MAC地址:设置交换机的每个端口与唯一的MAC地址相对应,一旦来自该端口的MAC地址发生变动,就自动封锁该端口,使主机无法连接到局域网。攻击者就无法发送伪造ARP数据帧,从而阻止了ARP欺骗的发生。这种方法的缺点是不灵活。引入硬件设备:目前,基于IP地址变换进行路由的第三层交换机逐渐被采用,第三层交换技术采用的是P路由交换协议,以往的数据链路层的MAC地址和ARP协议已经不起作用。但第三层交换机的价格普遍比较昂贵,而且普及率不高。使用新一代网络IPv6:在IPV6环境下,定义了邻居发现协议(NDP)。邻居发现协议使用特殊的安全要求控制对网络的访问,访问者需要有权限才能把主机接入网络,并且控制一些消息的认证,避免把数据发送到错误的地址。4、防御手段固然重要,但如果能够在ARP欺骗肆虐前或是刚刚出现ARP欺骗现象时进行检测,可以大大降低由ARP欺骗造成的损失。ARP欺骗的检测方法有如下几种:主机级的被动检测:当系统接收到来自局域网上的ARP请求时,系统检查该请求发送端的IP地址是否与自己的IP地址相同。如果相同,则说明该网络上另有一台机器与自己具有相同的IP地址。主机级的主动检测:检测ARP欺骗的另一种措施是安排主机在系统启动时或随后定期发送对自己IP地址的ARP请求报文。如果能收到另一ARP响应,则IP软件将向主机用户或管理人员报告检测到的ARP欺骗。服务器级检测:当服务器收到ARP响应时,为了证实它的真实性,根据反向地址解析协议(RARP),用从响应报文中给出的MAC地址再生成一个RARP请求,它询问

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论