局域网ARP攻击及防御策略的研究论文_第1页
局域网ARP攻击及防御策略的研究论文_第2页
局域网ARP攻击及防御策略的研究论文_第3页
局域网ARP攻击及防御策略的研究论文_第4页
局域网ARP攻击及防御策略的研究论文_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、辽宁科技大学接着教育学院毕业设计(论文)题 目: 局域网ARP攻击及防备策略的研究学院、系: 鞍山科技大学 专业班级: 计算机应用专科 学生姓名: 姜明程 指导教师: 迟呈英 2013年 4 月 15 日局域网ARP攻击及防备策略的研究摘要当今的信息社会是建立在计算机网络的基础之上的,网络信息安全形势十分严峻。网络协议安全是网络安全的重要环节,对网络协议的分析、利用越来越受到人们的关注。ARP协议是网络协议中的基础协议,尽管ARP协议使用起来特不方便快捷,但其中却隐藏着专门多漏洞。本文首先对ARP 协议进行了详细的分析,深入了解了ARP 协议的工作原理,并对ARP 欺骗发生的条件和欺骗原理做了

2、深入的介绍,同时总结了ARP 欺骗攻击的检测方法,细致的分析了对各种不同的ARP 欺骗方式相对应的防备手段。其次针对局域网中出现的 ARP 欺骗的攻击方式进行有针对性的分析,使用抓包工具截获攻击包后进行相关研究,并制定出防备局域网中出现的ARP欺骗的方法,同时对该方法进行适当改进以提高防备效率。ARP欺骗病毒一直是网络中爆发范围较广且专门难根除的顽疾,最近几年针对ARP欺骗病毒的防备研究在不断进行,但由于互联网布局的复杂性特征,专门难在防备该病毒方面获得统一的治理和部署,本文提出的检测和防备方法经小范围应用取得了较好的效果,希望在以后的接着学习与研究过程中能够将该方法完善并推广。关键词:ARP

3、欺骗,ARP协议,802.1x协议,认证扩展,病毒防备目 录摘 要.2目 录.3-4第1 章 绪 论.71.1 课题背景和意义.71.2 国内外研究现状.91.3 论文的研究内容及组织结构.121.3.1 论文的研究内容.131.3.2 论文的组织结构.13第2 章 ARP 协议 .142.1 ARP 协议介绍.142.1.1 地址解析的作用.142.1.2 直接映射法.152.1.3 动态地址解析法.172.1.4 动态地址解析的缓冲区与高效率.182.2 ARP 协议的应用.182.2.1 ARP 的标准与历史.182.2.2 ARP 地址详述与差不多操作.192.2.3 ARP 信息的格

4、式.212.2.4 ARP 缓存.222.2.5 代理ARP .242.3 ARP 欺骗.252.3.1 ARP 欺骗原理.252.3.2 ARP 欺骗的攻击方式.272.3.3 ARP 攻击的检测.292.3.4 ARP 病毒的防备.302.4 本章小结.30第3 章 局域网ARP 病毒检测与防备.313.1 局域网遭受ARP 病毒攻击的症状及危害.573.2 检测与分析.583.2.1 正常网络数据的捕获与分析.583.2.2 ARP 欺骗数据包的捕获与分析.593.3 ARP 欺骗的防备.603.3.1 针对网关ARP 欺骗的防备.613.3.2 针对网内主机ARP 欺骗的防备.623.

5、4 ARP 欺骗防备方法的改进.623.5 本章小结.63总结. .35参考文献 .35第1 章 绪 论1.1 课题背景和意义随着互连网的进展,网络的安全问题随之浮出水面,并一直是计算机网络安全体系的重要方面。网络作为信息的共享平台,其开放性与跨地域性令网络攻击难以循迹,一旦重要的网络信息系统陷入瘫痪,对社会是一种毁灭性的打击。最近几年,网络安全问题日益严峻,关于网络安全的报道层出不穷,造成的经济损失越来越大。黑客往往通过网络入侵的手段达到窃取敏感信息的目的,也有人通过网络攻击达到不可告人的目的。ARP 协议是一个位于TCP/IP 协议栈中网络层的协议,负责将IP 地址解析成对应的MAC 地址

6、。由于网络通信是按照MAC 地址进行传输的,因此,关于局域网而言,ARP 协议是网络正常通信的基础。但基于历史缘故,ARP 协议在设计之初,考虑到传输效率的问题,缺乏必要的身份认证和鉴不机制,导致安全性能弱不禁风。ARP 欺骗攻击是一种利用TCP/IP 协议中ARP 协议本身漏洞3( 即为了提高效率,不对发送来的ARP 应答包进行验证,直接更新ARP 地址缓存表)进行攻击的。它通过发送ARP 应答包给目标主机,让目标主机更新自己的ARP地址缓存表,使本应该发送给被冒充机器的数据包发送给了自己,达到了欺骗信息的作用。因此,制定出一套高效的 ARP 欺骗攻击防备策略具有专门大的现实意义。1.2 国

7、内外研究现状ARP 欺骗攻击的核心思想确实是向目标主机发送伪造ARP 应答, 并使目标主机接收应答中伪造的IP 地址与MAC 地址之间的映射对, 以此来更新目标主机的ARP 缓存。ARP 欺骗的原理差不多十分明了,但对ARP 欺骗的防范措施却并不十分有效。目前国内外还没有功能专门强的软件能够专门好的防备网络中的ARP欺骗。因此,如何防备ARP 欺骗攻击及如何样降低这种攻击所带来的后果引起了全社会网络专家们的广泛关注,并成为目前网络安全界研究的热点问题。ARP 欺骗攻击要紧是利用了ARP 协议的安全缺陷,体现在如下几点:(1)ARP请求均以广播方式进行:当源主机要和目的主机通信而没有目的主机的M

8、AC 地址时, 便会向整个局域网广播ARP请求数据包。这使得攻击者能够伪装ARP应答, 与真正的目的主机展开竞争, 并由此确定子网内机器什么时候刷新ARP缓存, 以实现最大限度的假冒和欺骗。(2)ARP 地址转换表自我动态更新:这种机制的动态更新方式较为灵活,但同时也带来了安全隐患。由于正常的ARP 地址转换表差不多上有时刻限制的,这使得假冒者假如在下次交换之前成功修改了源主机的地址,就能够毫无阻拦的进行ARP 欺骗行为。(3)ARP 响应无操纵且无认证:ARP 协议设计之初,为了获得较高的传输效率,在数据链路层没有做安全上的防范,在使用ARP 协议时无需认证,使用ARP协议的局域网假设通信双

9、方是相互信任和相互独立的。ARP 欺骗的攻击方法要紧有以下几种:(1)中间人攻击:中间人攻击确实是攻击者将自己插入两个目标主机通信路径之间,使它如同两个目标主机通信路径上的一个中继,如此攻击者就能够监听两个目标主机之间的通信。(2)IP 地址冲突:主机发送更改的ARP 报文,将伪装的MAC 地址映射到目标主机的IP 地址,系统检测到两个不同的MAC 地址对应同一个IP 地址,因此表现为IP 地址冲突。(3)拒绝服务攻击:拒绝服务攻击确实是使目标主机不能正常响应外部请求,从而不能对外提供服务的攻击方式。(4)克隆攻击:通过修改网络接口的MAC 地址,攻击者首先对目标主机实施拒绝服务攻击,使其不能

10、对外部做出任何反应。然后攻击者就能够将自己的IP地址与MAC 地址分不改为目标主机的IP 地址与MAC 地址,如此攻击者就能够对目标主机进一步实施各种非法攻击,窃取各种通信数据。(5)ARP 应答畸形包攻击:正常的ARP 报文至少是46 个字节,然而假如我们自己精心构造一个只有30 个字节长的ARP 应答报文,由于目前的网络交换设备没有充分考虑到这种情况的出现,当网络上连续出现这种畸形报文达到一定数量的时候,交换机的MAC 缓存表就无法正常刷新,其严峻后果确实是整个局域网瘫痪。针对以上的 ARP 欺骗攻击手段,差不多制定出如下的防备措施6,7,8:(1)制定静态ARP 缓存表:ARP 协议攻击

11、最全然的原理确实是改变IP 地址与MAC 地址的正确对应关系。因此能够在目标主机的ARP 缓存中设置静态地址映射记录来防止ARP 欺骗攻击。但该方法的缺点是假如网络上节点较多或者节点经常发生变化则不易进行治理。(2)设置ARP 服务器:为了解决静态ARP 缓存表中维护静态记录的工作分散的缺点,能够采纳在局域网内部指定一台机器作为ARP 服务器来集中保存和维护一个相对可信的局域网环境下所有主机的IP-MAC 地址映射记录。但该方法首先要保证ARP 服务器的网络安全,假如一旦该主机瘫痪,ARP 缓存表将无法维护,整个网络系统会受到阻碍。(3)数据加密传输:例如采纳SSH 替代telnet,采纳sf

12、tp 替代传统的ftp,即使连接被截获,也不可能被轻易伪造数据。该方法的缺点是加密和解密过程相对来讲比较消耗系统资源。(4)交换机绑定端口和MAC 地址:设置交换机的每个端口与唯一的MAC 地址相对应,一旦来自该端口的MAC 地址发生变动,就自动封锁该端口,使主机无法连接到局域网。攻击者就无法发送伪造ARP 数据帧,从而阻止了ARP 欺骗的发生。这种方法的缺点是不灵活。(5)引入硬件设备:目前, 基于IP 地址变换进行路由的第三层交换机逐渐被采纳,第三层交换技术采纳的是P 路由交换协议,以往的数据链路层的MAC 地址和ARP 协议差不多不起作用。但第三层交换机的价格普遍比较昂贵,而且普及率不高

13、。1.3 论文的研究内容及组织结构1.3.1 论文的研究内容计算机网络体系包含两大方面,终端体系与网络通信体系。而各自的安全要求则衍生了可信计算平台以及可信网络连接的规范。爱护整个终端体系和网络通信体系的完整性与安全性就需要综合考虑两方面的需求。构建可信网络平台,采纳802.1x 在宽带及无线接入方面的优势是显而易见的。同时也被众多互联网服务提供商所广泛采纳。本文的要紧工作是针对ARP 病毒的特点,详细论述了ARP 协议的原理,进展过程以及ARP 协议的应用。对ARP 协议的实现及漏洞进行了详细的分析,并针对ARP 欺骗攻击的特征,对其攻击方法进行了详细的介绍。同时,依照ARP欺骗的攻击方法总

14、结出ARP 欺骗的各种检测方法,并有针对性的制订了ARP 欺骗的防备措施。由于 ARP 欺骗经常在局域网中爆发,局域网是ARP 欺骗病毒肆虐的典型网络。本文结合局域网中ARP 欺骗攻击的实际现象,使用抓包软件对其进行检测并加以分析,再依照常见网络设备的特点逐步制定出防备局域网中ARP欺骗的措施,并加以改进。1.3.2 论文的组织结构本文共分为3 个章节,各章节要紧内容如下:第 1 章,绪论。介绍了ARP 欺骗的攻击行为与对其进行防备的研究背景和现状,分析了现有防备方法的不足。描述本文的研究内容,给出了本论文的组织结构。第 2 章,ARP 协议。详细的介绍了ARP 协议,ARP 协议的工作原理以

15、及ARP 协议的应用。同时也对ARP 协议本身存在的漏洞,ARP欺骗攻击的原理,以及对现有的ARP 欺骗攻击既定检测与防备方法进行了细致介绍,并分析了他们各自的优缺点。第 3 章,局域网ARP 病毒检测与防备。该章节针对局域网中频繁出现的ARP 欺骗攻击现象,进行抓包采样,经分析后逐步制定出应对方案,并对其进行适当改进。第2 章 ARP 协议2.1 ARP 协议介绍ARP(Address Resolution Protocol)即地址解析协议,确实是用来进行地址解析的协议。网络中的通信是通过使用网络层(OSI 网络结构中的第三层)地址发送数据完成的。但实际上,网络中数据的传输是通过使用数据链路

16、层(OSI 网络结构中的第二层)地址实现的。这就意味着网络中的每一个设备都要拥有网络层地址和数据链路层地址。这就需要定义某种方式将网络层地址与数据链路层地址有效联系起来。那么,这种将网络层地址与数据链路层地址一一映射的过程就被称为地址解析。2.1.1 地址解析的作用当我们研究OSI 网络参考模型时,分不有两层携带地址:网络层与数据链路层。处于网络层以上的各层均通过网络层地址进行信息传输。而网络层地址与数据链路层地址是两种截然不同的地址类型同时具有不同的功能,数据链路层地址用于局域网内两个硬件设备间的信息直传,它们多用于执行差不多的LAN,WLAN 与WAN 的网络通信,而网络层地址则用于网际间

17、的等价传输。通俗地讲确实是数据链路层用于处理直接连接的网络设备间的信息传输,而网络层地址则用于非直连的网络设备间的数据传输。网络层地址与数据链路层地址的关系:事实上,当我们通过网络层连接两个设备时,这仅仅是概念上的连接,当你使用IP 发送一个请求,每一跳都发生在数据链路层。当你的请求传送到本地路由器的网络层时,实际的请求差不多被封装在一个桢中,并使用路由器的数据链路层地址传送出去。传送的每一步差不多上基于第三层的网络地址,但实际的传输执行是使用数据链路层地址进行路由的。地址解析将网络层地址转换为数据链路层地址。IP 地址(网络层地址)关于网络硬件来讲是一个处于OSI 网络模型较上层的地址,当你

18、要访问一个网站,输入网址后路由器得到的信息是该网站的IP 地址,但实际上信息是向网络服务器的MAC 地址(数据链路层地址)传送的。在LAN 网络中同样使用如此的传输原理,即使网络服务器就摆设在发送请求电脑的旁边,也一定要通过数据链路层完成这一过程。因此我们需要一种解析这两种地址的方法,那个过程就叫做地址解析。地址解析的方法:地址解析的功能当然重要,但地址解析的效率也不容忽视,耗费大量网络资源的地址解析方法是不可取的。现现在有两种地址解析的方法:(1)直接映射:有一个公式能够将高层地址转化为底层地址,这是比较简单有效的方法,但当数据链路层地址长度大于网络层地址时会受到一些限制。(2)动态解析:一

19、个专门的协议用来通过网络设备的IP 地址就可明白其相应的数据链路层地址,即一个数据链路层地址对应一个给定的 IP 地址。这种方法尽管比直接映射法复杂,但具有更大的灵活性。2.1.2 直接映射法当每一个数据报在网络中传输的过程中,网络层地址被许多次解析成数据链路层地址。因此我们希望那个过程能够尽可能的简单快捷,完成这一过程最简单的方法确实是将两类地址直接映射。直接映射法的差不多思想确实是将对应的网络地址与数据链路层地址存放在一个表中,我们能够通过特不简单的算法通过其中之一找到对应项。不管何时都能够通过网络层地址找到对应的数据链路层地址。数据链路层地址和网络层地址具有同样的结构和语义是不切实际的,

20、因为这两类地址基于不同的工作目的和完全不相容的执行标准。但假如我们创建的网络层地址足够大,可将数据链路层地址编码入其中的话,我们便能够将两类地址做直接映射。如此,数据链路层地址就成为网络层地址的一部分。当 MAC 地址的长度小于IP 地址时,能够用直接映射的方法从IP 地址中得到硬件地址。这使地址解析变得特不简单,但大大降低了地址编排的弹性。在硬件地址较大的情况下,直接映射已成为不可能:不幸的是,只有在 MAC 地址作为IP 地址一部分时才能使用直接映射的方法。但在以太网中,MAC 地址直接嵌入硬件,更重要的是MAC 地址长度大于IP 地址,因此这种情况下无法使用直接映射的方法。在现现在,使用

21、最广泛的以太网的数据链路层地址是48 位,而IP 地址仅有32 位,这确实是什么缘故直接映射法无法应用在以太网环境中。直接映射的缺点:在下一代网络 IPv6 中,由于IPv6 支持128 位的大地址空间,远远大于MAC地址的长度,理论上能够在IPv6 网络环境中使用直接映射进行地址解析。然而在IPv6 网络中人们决定使用动态地址解析,因为在IPv4 网络中差不多使用动态地址解析,更重要的缘故是因为直接映射的非弹性化缺点,因为动态地址解析同意IP 地址与MAC 地址相对独立。2.1.3 动态地址解析法直接映射法是一种简单且高效的将网络地址解析为数据链路层地址的方法,但这种方法不能应用在现在的主题

22、网络结构中,当数据链路层地址长度大于网络层地址时直接映射法就行不通了。动态地址解析方法能够专门好的弥补直接映射法的缺陷。当设备 A 向要向设备B 发送信息时,设备A 只明白设备B 的IP 地址,而不明白设备B 的MAC 地址,设备A 首先向网络中每个设备发送一个包含设备B 的IP 地址的数据报,除设备B 之外的所有设备都忽略那个数据报,因为数据报中含有设备B 的IP 地址,设备B 接收到数据报后向设备A 恢复一个直接应答数据报,告知设备A 究竟设备B 的MAC 地址是什么,这确实是动态地址解析的整个过程。在动态地址解析方法中,网络层地址与数据链路层地址能够有完全不同的结构与长度,他们之间不用有

23、任何关系。2.1.4 动态地址解析的缓冲区与高效率动态地址解析剔除了直接映射法的约束,同时能够专门容易的将IP 地址与MAC 地址建立关联,然而不是每次进行地址解析都要发送额外的信息来确认对方的MAC 地址呢?发送单个额外的信息看起来并不耗费资源,但假如每一步都进行如此的操作,网络的负载就会急剧增加。因此,仅有动态地址解析是不够的,为了降低该操作带来的阻碍,我们引入了地址缓冲区。在一个设备将网络层地址解析为数据链路层地址后,两者之间的对应关系会被存放在缓存中一段时刻。当下次需要用到书数据路层地址时,设备在其缓存中快速进行查询。也确实是讲每次发送数据包之前,我们只需要在缓存表中查询一下,而不需要

24、发送广播请求。ARP 缓存在增强动态地址解析能力方面扮演专门重要的角色,但假如其他设备的地址信息变更了,存储在缓存表中的信息就会失效,因此缓存表中的数据都会有一个生存周期,过期则信息作废。两个在网络中通讯的设备会互相添加彼此的地址到自己的缓存表中。有了ARP 缓存表,我们只需要做一次地址解析,而不用多次做重复的操作。2.2 ARP 协议的应用目前,世界上应用范围最广的网络协议确实是TCP/IP 网络协议。而最重要的地址解析协议确实是与YCP/IP 协议齐名的ARP 协议了。2.2.1 ARP 的标准与历史OSI 网络参考模型的第一层是物理层,第二层是数据链路层,物理层和数据链路层使用数据链路层

25、地址实现物理功能。但是网络协议的功能应用在第三层,也确实是网络层,将这些由物理硬件组成的网络连接起来形成一个大的因特网,相互之间使用网络层地址传输信息。地址解析是将网络层地址解析为数据链路层地址的过程,数据传输一次通过一个设备。在 TCP/IP 协议开发的初期,地址解析所设计的问题就专门突出。最初的IP 协议是在以太网的雏形技术上运行的,即便以太网以IEEE802.3 作为其官方标准,也专门有必要定义一种方法使IP 地址与MAC 地址实现映射以便在网际之间实现信息传输。有两种差不多方法用来实现地址解析功能:直接映射与动态地址解析。但是MAC 地址长度是48 位,而IP 地址仅有32 位,这已完

26、全不符合直接映射法,动态地址解析的模型应运而生,这确实是TCP/IP 协议的地址解析协议(ARP)。ARP 协议要紧是为了用某种方法改进网络传输的执行效率。最开始的每发一次数据包都进行一次广播,效率专门低而且专门繁琐。后来使用ARP 缓冲区,使得本地IP 地址与MAC 地址有效关联起来保存在缓冲表中。现在,各种各样的技术差不多逐渐被研发出来,用于改进并维护ARP 地址缓冲表。支持跨区域信息传输的代理ARP 技术也早差不多问世,并被列入差不多ARP 特征库中。2.2.2 ARP 地址详述与差不多操作地址解析协议的执行是在一台源主机要发送IP 数据包开始的。首先需要确定目标主机是否与它处于同一网络

27、中,假如两者在同一网络中,它向目标主机直接发送信息即可;假如不在同一网络中,源主机需要向与它处于同一网络的路由器发送数据包,之后通过ARP 软件进行地址解析。ARP 协议最差不多的操作确实是在本地网络上发送请求或进行应答,源主机发送广播请求得到目标主机的地址,目标主机接收到请求后单播回应,告之源主机它的MAC 地址是什么。从源主机发向目的主机的信息包和从目的主机发向源主机的数据包是不同的,主机作为发送方与接收方的身份是来回互换的。通信双方都各自有自己的IP地址与MAC 地址,四个地址表达各自的信息:发送方 MAC 地址:ARP 数据包中发送方的数据链路层地址。发送方 IP 地址:ARP 数据包

28、中发送方的网络层地址。接收方 MAC 地址:ARP 数据包中接收方的数据链路层地址。接收方 IP 地址:ARP 数据包中接收方的网络层地址。这四个地址在 ARP 信息包中都有各自固定的位置。而ARP 请求与应答也分为如下几步:(1)源主机首先在ARP 缓冲表中查找目标主机的硬件地址:源主机首先在自己的ARP 缓冲表中查找其中是否对目标主机进行过地址解析。假如做过,它便能够直接跳到最后一步。(2)源主机创建ARP 申请报文:源主机创建一个ARP 申请信息,它将其自己的MAC 地址作为发送方的MAC 地址,将其自己的IP 地址作为发送方的IP 地址。而它将目标主机的IP 地址作为接收方的IP 地址

29、,目标主机的MAC 地址是需要确定的信息,将其留作空白。(3)源主机广播ARP 请求信息:源主机在它所处的局域网内广播ARP 请求信息。(4)本地局域网设备对ARP 请求信息进行处理:ARP 广播信息被本地局域网中所有主机接收到,所有主机都进行匹配对比,不匹配的将该信息丢弃,假如匹配则进行下一步处理。(5)目标主机创建ARP 应答信息:自身IP 地址与ARP 申请信息中IP 地址匹配的目标主机创建一个ARP 应答信息,现在该目标主机的身份差不多从接收方转换为发送方,信息中包含从ARP 申请信息中获得的发送方的MAC 地址和发送方IP 地址,并将其作为目标主机的MAC 地址与IP 地址,并将它自

30、己的MAC地址与IP 地址作为发送方信息。(6)目标主机刷新自己的ARP 缓存:作为一种最优化的方法,目标主机将会向自己的ARP 缓存中添加源主机的MAC 地址与IP 地址,这是为目标主机为后续操做做预备。(7)目标主机发送ARP 应答信息:目标主机发送的ARP 应答信息是专门向源主机单播发送的,因为差不多没有必要再发送广播信息了。(8)源主机处理ARP 应答信息:源主机对接收到的ARP 应答信息进行处理,将发送端(目的主机)的MAC 地址作为目标主机的数据链路层地址,并发送IP 数据包。(9) 源主机刷新自己的ARP 缓存:源主机用接收到的ARP 应答信息刷新自己的ARP 缓存,以便以后再与

31、该目标主机通信。ARP 协议是一种相对简单的请求/应答协议。源主机通过目标主机的IP 地址发送ARP 请求,目标主机向源主机回送ARP 应答信息告知目标主机的MAC 地址。ARP 缓存的使用和自动更新缓存信息的应用大大增强了地址解析的效率,这也是什么缘故将其列入ARP 协议特征的重要缘故。2.2.3 ARP 信息的格式用 ARP 协议进行地址解析是通过在源主机与目的主机之间互换信息来完成的。在其他协议中,地址解析的每一步所涉及的信息都包含在其他协议的信息格式中。ARP 信息的格式相对较简单,其中有用于描述信息类型的信息,还有关于通信双方IP 地址与MAC 地址的信息,为方便不同长度地址的存放,

32、专门为IP地址与MAC 地址划分了不同长度的地址空间。ARP 的信息格式如下:硬件类型协议类型硬件地址长度协议长度操作字段发送方硬件地址(字节0-3)发送方硬件地址(字节4-5)发送方IP 地址(字节0-1)发送方IP 地址(字节2-3)目的硬件地址(字节0-1)目的方硬件地址(字节2-5)目的方IP 地址(字节0-3)图2.1 ARP 信息格式下面用一个图表来讲明ARP 信息中各部分所代表的内容:表 2.1 ARP 信息讲明字段 名大小属 性硬件类型2字节发送方想明白的硬件接口类型,以太网的值为 1。协议类型2字节协议类型是硬件类型的补充,描述了 IP 地址的类型,并指明发送方提供的高层协议

33、类型。关于IPv4 网络来讲,IP 值为0800(16 进制)。硬件地址长度1字节定义硬件地址的长度,对以太网或其他以 IEEE802 作为标准的网络的MAC 地址来讲,值为6。协议长度1字节指明高层协议地址的长度,关于 IPv4 地址来讲值为4。操作字段2字节定义 ARP 信息的属性,ARP 请求为1,ARP 应答为2,RARP 请求为3,RARP 应答为4。发送方硬件地址变长发送方的硬件地址发送方 IP 地址变长发送方的 IP 地址目的硬件地址变长目的主机的硬件地址目的 IP 地址变长目的主机的 IP 地址当 ARP 数据包构造完成后,将其向下传递到数据链路层,然后发送出去。整个ARP 数

34、据包作为有效载荷在网络中传输。由于地址字段的信息是变长的,因此整个ARP 数据包的大小是可变的。但事实上一个完整的ARP 数据包是特不小的。2.2.4 ARP 缓存ARP 协议是一种动态地址解析协议,也确实是讲每进行一次地址解析都要求在网络上互换地址信息。虽讲ARP 信息包并不大,但假如每一个IP 数据包在网络上的每一跳都如此做,网络上的压力将会达到无法预料的大。那么,相关于简单的直接映射来讲,这种方法既耗费资源又白费时刻。总的来讲,ARP 请求信息包发送出去后,网络上的每台主机都要把接收到的信息与自己比较一下,看是否与之匹配。动态地址解析方法效率问题的总体解决方案确实是引入地址缓存。另外,为

35、了降低网络交通的压力,地址缓存也保证了地址解析所耗费的时刻特很多。这也是地址缓存功能从一开始就被写入ARP 协议的重要缘故。ARP 缓存以表的形式保存映射的IP 地址与MAC 地址对,网络中的每个设备治理其自己的ARP 缓存表。有两种方式向ARP 缓存表中写入数据:(1)静态ARP 缓存:在进行动态解析时人工向ARP 缓存表中添加记录信息,并在缓存中永久保存。静态记录一般由ARP 治理软件进行治理。(2)动态ARP 缓存:该方式在通过ARP 地址解析后,IP 地址与MAC 地址对由软件自动填写入ARP 地址缓存中。他们在ARP 地址缓存中仅保存一段时刻,之后便从中删除。一个设备的 ARP 缓存

36、中包括动态和静态的记录,每种记录方式都有其优点与缺点。但在大多数情况下使用动态ARP 缓存记录,因为它是自动添加,而且可不能牵涉治理员的经历。在规范网络中,静态 ARP 缓存记录得到专门好的应用,但这种方法的缺点确实是需要人工添加记录,同时一旦MAC 地址或IP 地址有变更需要人工修改。每条静态记录都会占据缓存表的空间,因此,缓存表中静态记录数量有限,不能使用太多静态记录。动态记录是自动添加进缓存的,不需要人工添加和人工服务。但动态记录不可能永久保存在缓存中,因为随着网络情况的变化,保存在缓存中的静态记录会因无效而失去作用。假设主机 A 的ARP 缓存中保存着另一网络主机B 的动态映射,假如动

37、态记录永久保存在缓存表中,下列情况就会发生:(1)主机的硬件发生改变:若主机B 更换了网卡,由于记录中的MAC 地址可不能再出现,主机A 的ARP 缓存中保存的动态映射信息变为无效。(2)主机的IP 地址发生改变:假如设备B 的IP 地址发生了改变,保存在设备A 中的映射记录也会变为无效。(3)设备被移除:假如设备B 从网络中移除,设备A 不需要再向它发送信息,但映射记录照旧保存在设备A 的地址缓存中,如此不仅白费缓存空间,而且还会在设备A 查询缓存表时耗费时刻。为了幸免这些问题的出现,将动态地址记录设置一定的生存周期,一般为10 分钟或20 分钟。规定时刻过后,记录自动从缓存中删除,下次再通

38、信就需要刷新缓存。相关于静态记录,这种方法在效率上仅存在微乎其微的差距,每10分钟或20 分钟发送两个28 字节的信息对网络几乎没有任何阻碍。假如主机 A 初次开始地址解析时发送一个标准的ARP 申请,在网络中每个接收到申请信息的主机都需要刷新自己的ARP 缓存记录。然而,第三方设备不必为设备A 创建新的缓存记录。从对主机 A 进行地址解析的角度来讲,为主机A 创建新的缓存记录能够为以后的通信提供方便,但这意味着网络中所有设备的ARP 缓存表会专门快被其他主机的地址解析信息填满。有些主机可能会创建如此的缓存记录,但一定会把这些记录设置好有效期,以幸免缓存表被填满。2.2.5 代理 ARP在同一

39、网络中连接的设备通过ARP 协议进行通信。网络中的每台主机都能够向其他主机发送单播或广播信息。通常情况下,假如主机A 和主机B 被路由器分开,主机A 就不能与主机B 直接通信。他们会通过数据链路层先向路由器传输信息,依照IP 地址通过两跳到达主机B。与一般情况不同的是,有些网络是由两个网络通过路由器连接组成的,两个网络具有相同的IP 地址段和子网掩码。也确实是讲,主机A 和主机B 在数据链路层分不处于不同的局域网,但却具有相同的IP 地址段。因此,当发送IP 数据包时,主机A 与主机B 都认为对方和自己处于同一个局域网。假如主机A 要向主机B 发送数据包,可它的地址缓存中并没有主机B 的MAC

40、 地址,则主机A 只好进行地址解析。但实际上主机B 与主机A 并不在同一个局域网中,连接两个网络的路由器并可不能自动将主机A 的广播发给主机B 所在的网络,主机B 也不回接收到来自主机A 的请求,因此主机A 可不能接到包含主机B 的MAC 地址的回复。对这种情况所作的 ARP 的改进称作ARP 代理。架在两个局域网之间的路由器用来代表主机B 回复主机A 的广播,它告之主机A 的并不是主机B 的MAC地址,即主机A 不可能直接与主机B 通信。而路由器告诉主机A 的是路由器本身的MAC 地址。假如主机A 想与主机B 通信,主机A 先向路由器发送信息。反过来的过程也是一样的。路由器并不自动转发ARP

41、 广播,它只作为一个ARP代理设备。ARP 代理的优势确实是同意通信双方能够处于不同的局域网。当它也有缺点,首先,它增加了复杂度。其次,假如两个有相同IP 地址段的网络中间出现多个路由器,那么问题就会升级。ARP 代理同样会带来潜在的安全问题。因此,ARP代理应该被重新规划设计,并尽可能在两个局域网中架设一个路由器。2.3 ARP 欺骗2.3.1 ARP 欺骗原理当IP 数据报预备发送时,由数据链路层将它封装入以太网数据帧,然后才能在以太网中传送。然而在封装过程中,数据链路层并不明白以太网数据帧头中目的主机的MAC 地址。唯一的信息是IP 数据报头中的目的主机的IP 地址。为了找到与目的主机I

42、P 地址相对应的MAC 地址,依照地址解析协议(ARP),源主机会以广播的形式发送一个ARP 请求以太网数据帧给以太网上的每一个主机。ARP 请求数据帧中包含目的主机的IP 地址,只有具有此IP 地址的主机收到这份广播报文后,才会向源主机回送一个包含其MAC 地址的ARP 应答。同时为了尽量减少广播ARP 请求的次数,每个主机都有一个ARP 缓存,那个缓存存放了最近的IP 地址与MAC 地址之间的映射记录。主机每隔一定时刻或者当收到ARP应答,就会用新的地址映射对更新ARP 缓存。因为ARP 是一个无状态协议,因此关于大多数操作系统来讲,假如收到一个ARP 应答,它们不管自己是否在此之前曾经发

43、出ARP 请求,都会更新自己的ARP 缓存。这就为系统安全留下了专门大的隐患。ARP 欺骗的核心思想确实是向目标主机发送伪造的ARP 应答,并使目标主机依照顾答中伪造的IP 地址与MAC 地址之间的映射对,更新目标主机ARP 缓存。假设S 代表源主机,立即要被欺骗的主机;D 代表目的主机,源主机S 本来是向它发送数据的;A 代表攻击者主机,进行ARP 欺骗。假设主机A 已知主机D 的IP 地址,因此它临时将自己的IP 地址改为主机D 的IP 地址。当源主机S 想要向主机D 发送数据时,假设目前其ARP 缓存中没有关于目的主机D 的记录,那么它首先在局域网中广播包含主机D 的IP 地址的ARP

44、请求。但现在攻击者主机A 具有与目的主机D 相同的IP 地址,因此分不来自攻击者主机A 与目的主机D的ARP 响应报文将相继到达源主机S。现在,攻击者主机A 是否能够欺骗成功就取决于源主机S 的操作系统处理重复ARP 响应报文的机制。不妨假设该机制总是用后到达的ARP 响应中的地址对刷新缓存中的内容。那么假如攻击者主机A 操纵自己的ARP 响应晚于目的主机D 的ARP 响应到达源主机S,源主机S 就会将如下伪造映射:将目的主机D 的IP 地址对应攻击者主机A 的MAC 地址,保存在自己的ARP 缓存中。在那个记录过期之前,凡是源主机S 发送给目的主机D 的数据实际上都将发送给攻击者主机A,而源

45、主机S 却毫不察觉。或者攻击者主机A 在上述过程中,利用其它方法直接抑制来自目的主机D 的ARP 应答将是一个更有效的方法而不用依靠于不同操作系统的处理机制。进一步分析,攻击者主机A 可不依靠于上述过程,直接在底层伪造ARP 响应报文来达到同样的欺骗目的。2.3.2 ARP 欺骗的攻击方式ARP 攻击发生时,攻击者利用地址解析协议本身的运行机制发动攻击行为。包括进行对主机发动IP 冲突攻击、数据包轰炸,切断局域网上任何一台主机的网络连接等9。ARP 欺骗的攻击方式有如下几种:(1)中间人攻击:中间人攻击确实是攻击者将自己插入两个目标主机通信路径之间,使它如同两个目标主机通信路径上的一个中继,如

46、此攻击者就能够监听两个目标主机之间的通信。其过程如下:C 侵染目标主机A 与B 的ARP 缓存,使得当A 向B 发送数据时,使用的是B 的IP 地址与C 的MAC 地址,同时当B 向A 发送数据时,使用的是A 的IP 地址与C 的MAC 地址。因此,所有A 与B 之间的通信数据都将通过C,再由C 转发给它们。假如攻击者对一个目标主机与它所在的局域网的路由器实施中间人攻击,那么攻击者就能够窃取网络上与那个目标主机之间的全部通信数据,同时能够对数据进行窜改和伪造。但动态映射对存在过期的问题,而且主机A 与B 之间也会进行正常的ARP 数据包交互。要解决那个问题,主机C 能够选择比较小的时刻间隔持续

47、发送伪造的数据包,如此就能够使主机A 与B 之间的通信一直中断。(2)IP 地址冲突9:主机发送更改的ARP 报文,将伪装的MAC 地址映射到目标主机的IP 地址,制造出局域网上有另一台主机与受害主机共享一个IP 地址的假象,系统会检测到两个不同的MAC 地址对应同一个IP 地址,由于违反了唯一性要求,出现了IP 地址冲突,受害主机会自动向用户弹出警告对话框。最终导致被攻击主机无法正常上网。(3)拒绝服务攻击8:拒绝服务攻击确实是使目标主机不能正常响应外部请求,从而不能对外提供服务的攻击方式。假如攻击者将目标主机ARP 缓存中的MAC地址全部改为全然就不存在的物理地址,那么目标主机向外发送的所

48、有以太网数据帧会丢失,使得上层应用忙于处理这种异常而无法响应的外来请求,也就导致目标主机产生拒绝服务。还有其他方式的拒绝服务攻击。拒绝服务攻击还会对本子网内所有的 ARP请求信息进行响应,应答的MAC 地址全部填写为本子网网关的MAC 地址,由于网关自身是具有IP 转发功能的,因此导致本子网内部的任何数据通信都需要通过网关进行一次转发,加重网关负荷,会造成网关超负荷而崩溃或者等待队列过长,进而子网内部主机之间、子网内部与外部主机之间的通信连接全部失败或者收发数据超时。假如某一子网内存在专门多具有IP 转发功能的主机(如该子网内存在专门多路由器或者提供NAT 服务的服务器),利用篡改ARP 缓冲

49、的技术就能够实现多种形式的讯息洪泛(Message Flood)。例如某子网存在具有IP 转发功能的主机A、B 和C, 将主机 A 本地ARP 缓冲中默认网关对应的MAC 地址篡改为B 的MAC 地址,再将B 本地ARP 缓冲中默认网关对应的MAC 地址篡改为C 的MAC 地址,如此A 与网关的数据通道就变成了A 先到B,然后再通过C,最后到达网关,假如A 的数据流量专门大,则B 与C 也会有较高的负荷,同时在本子网内将会产生较之原来3 倍的数据流量,也确实是讲主机越多,随之产生的流量也成倍增加,从而形成讯息洪泛,导致整个子网的性能急剧降低。一般交换网络采纳的二层交换机自身维护的一个 ARP

50、缓冲,用于映射MAC地址对应的交换机端口号,那个缓冲中可容纳的映射条目数是有限的,假如不足够大,我们向其发送大量MAC 地址不重复的ARP 数据包,就有可能造成交换机拒绝服务,不能正常转发数据包。(4)克隆攻击:通过修改网络接口的MAC 地址,攻击者首先对目标主机实施拒绝服务攻击,使其不能对外部做出任何反应。然后攻击者就能够将自己的IP地址与MAC 地址分不改为目标主机的IP 地址与MAC 地址,如此攻击者的主机就变成了与目标主机一样的副本。攻击者就能够对目标主机进一步实施各种非法攻击,窃取各种通信数据。(5)ARP 应答畸形包攻击:假如我们自己精心构造一个小于正常ARP 报文大小的ARP 应

51、答报文,由于目前的网络交换设备没有充分考虑到这种情况的出现,当网络上连续出现这种畸形报文达到一定数量的时候,交换机的MAC 缓存表就无法正常刷新,常用的操作系统对这种畸形报文临时没有专门好的处理方法,其严峻后果确实是导致整个局域网瘫痪。(6) ARP 缓冲区溢出攻击:进行攻击的主机持续把伪造的MAC-IP 地址映射对发给受害主机,受害主机会耗费大量的系统资源去维护ARP 高速缓存。假如进一步采纳分布式攻击,能够由一台进攻主机操纵远端几台中间主机发动进攻,如此攻击能够取得更好的效果。2.3.3 ARP 攻击的检测当局域网内有某些用户遭受了ARP 欺骗攻击时,由于攻击端不断向被攻击者发送ARP 欺

52、骗数据包,被攻击的主机会出现网络时断时续的现象。同时,被感染主机感染ARP 病毒后,也会向本网段内所有其他主机发送ARP 欺骗报文,谎称自己是那个网段的网关设备,让原本流向网关的数据流改道流向染毒主机,致使受害者尽管能构正常进行网络通讯,但信息却被窃取了。要定位感染ARP 病毒的电脑,有如下几种方法10:(1)能够查看三层交换机网段里面的ARP 信息,假如发觉里面存在有多个不同IP 地址对应相同的MAC 地址列表的情况,就能够确信该网段内有ARP 欺骗,那个MAC 地址确实是感染了ARP 病毒的电脑MAC 地址。(2)用户端能够通过在命令窗口输入命令的方式,输入arp -a 命令即可显示在该局

53、域网内,与该电脑曾进行过通信的主机MAC 地址,如此就会发觉电脑网关所对应的MAC 地址是否被修改,假如被修改,即可判定该电脑感染了ARP病毒。(3)还能够通过安装网络检测软件来检测电脑是否遭受ARP 病毒的侵袭,假如在网段中有ARP 攻击,检测软件会有报警,一般情况下ARP 病毒软件会自动弹出攻击者的MAC 地址,或者显示一个与MAC 地址对应的两个IP 地址,其中一个IP 地址必定为网关,那么该MAC 地址对应的电脑确实是发起ARP 欺骗的攻击者。(4) 另外,ARP 欺骗需要不停地向外发送ARP 应答包,因此容易造成网络拥塞。一旦怀疑有ARP 攻击,我们能够使用抓包工具来抓包,假如发觉网

54、内存在大量ARP 应答包,同时将所有的MAC 地址都指向同一个IP 地址,那么就讲明存在ARP 欺骗攻击,那个MAC 地址确实是用来进行ARP 欺骗攻击的主机MAC地址,如此就能够采取相应的操纵措施。此外,利用三层交换机设备可检查其三层交换机设备上的ARP 表。假如发觉有多个IP 地址对应同一MAC 地址,则讲明此地址对应的计算机专门可能中了此病毒。可通过下连的二层交换机的转发表查到此对应的交换机端口,从而定位出有问题的计算机,进而采取进一步的行动。还能够扫描本网段内的全部IP 地址,然后查看ARP 缓存表。假如有一3 个IP 地址对应的MAC 地址与网关的MAC地址相同,那么那个IP 地址和

55、MAC 地址确实是中了ARP 病毒计算机的IP 地址和MAC 地址。2.3.4 ARP 病毒的防备依照ARP 欺骗原理,在防备过程中要紧关注点确实是ARP 缓存表。因此,重点应放在目标主机拒绝伪造ARP 应答上。在不同的情况下,对ARP 欺骗的防备应该视ARP 欺骗的种类不同,采取不同的防备方法6。(1)设置静态ARP 缓存表:ARP 协议攻击最全然的原理确实是改变IP 地址与MAC 地址的正确对应关系。因此能够采取静态ARP 表来防范,确实是在目标主机的ARP 缓存中设置静态地址映射记录。如此,当主机A 向主机B 发送数据前,就不需要通过向所在的局域网广播ARP 请求来获得B 的MAC 地址

56、,它会直接查询ARP 静态记录表来获得B 的MAC地址。攻击者也就没有机会向A发送ARP应答。然而,攻击者在未接收到ARP 请求的情况下仍会凭空伪造ARP 应答发送给主机A,主机A 将拒绝用伪造的数据更新ARP 缓存中的静态记录。但这种方法有专门明显的缺点,确实是在经常更换IP 地址的局域网环境里,由于每个主机都采纳ARP 静态记录,其手工维护会十分繁琐,工作量特不大,因此这种方法在实际上应用中专门少采纳。(2)设置ARP 服务器:为了解决上述方法中维护静态记录工作分散的缺点,能够采纳在局域网内部指定一台机器作为ARP 服务器来集中治理,专门保存和维护一个相对可信的局域网环境下所有主机的IP-

57、MAC 地址映射记录。该服务器通过查阅自己的ARP 缓存静态记录并以被查询主机的名义来响应局域网内部的ARP 请求。按照一定的时刻间隔广播网段内所有正确的IP-MAC 地址表,同时能够设置局域网内部的其它主机只使用来自该ARP 服务器的ARP 响应。现在的问题是,如何将一台主机配置成只相信来自ARP 服务器的ARP 响应,目前依旧专门困难的。(3)交换机上绑定端口和MAC 地址:设置交换机的每个端口与唯一的MAC地址相对应,一旦来自该端口的MAC 地址发生变动,就自动封锁该端口,使主机无法连接到局域网。如此,攻击者就无法发送伪造ARP 数据帧,从而阻止了ARP 欺骗的发生。但该方法的缺点是不够

58、灵活。(4)禁用网络接口做ARP 解析:在操作系统中禁止某个网络接口做ARP 解析协议以对抗ARP 欺骗的攻击,能够做静态ARP 协议设置(因为对方可不能响应ARP请求报文)。例如手工输入“arp -s IP 地址 MAC 地址”。绝大多数操作系统如Unix、BSD、Windows NT 等,都能够结合“禁用网络接口做ARP 解析”和“使用静态ARP 缓存表”的设置来对抗ARP 欺骗攻击。关于Linux 操作系统,其静态ARP缓存表可不能被动态刷新,在Linux 下使用ifconfig arp,能够使网卡驱动程序停止使用ARP 协议,因此不需要“禁用网络接口做ARP 解析”即可对抗ARP 欺骗

59、的攻击。(5)数据加密传输:通常情况下, ARP 欺骗攻击导致数据包从源主机流向攻击方,使得网络通信被非法截取和监听。因此能够使用数据加密传输方法,即使攻击方得到发送的通信数据包,也不能解密获得有价值的信息。当前常用的加密传输有:1)针对特定的单一应用的加密方法,这些加密协议工作在应用层,针对特定的应用进行加密。如应用于远程登录的SSH(Secure Shell),用于E-mail 保密的PGP(Pretty Good Privacy) 和S/MIME(Secure MIME) , 用于WWW 服务的SSL(Secure Sockets Layer)等。2)针对网络传输的虚拟专用网(VPN),

60、VPN 工作在网络层,对所有的应用提供加密服务。它采纳隧道技术,将内部专网的数据加密封装后,透过虚拟的公网隧道进行传输,从而防止敏感数据被窃。3)针对认证机制的加密方法。比如用于增强Telnet 和FTP 安全性的Stanford SRP(Secure RemotePassword) 。(6)第三层交换方式:目前,基于IP 地址变换进行路由的第三层交换机逐渐被采纳,第三层交换技术采纳的是P 路由交换协议,以往的数据链路层的MAC地址和ARP 协议差不多不起作用。但第三层交换机的价格比较昂贵。(7)安全ARP的应用:安全ARP是ARP功能的一种扩展,使用非对称加密技术。SARP协议是建立在ARP

温馨提示

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

最新文档

评论

0/150

提交评论