收藏 分享(赏)

ARP病毒攻击的防范论文.doc

上传人:春华秋实 文档编号:3292184 上传时间:2018-10-10 格式:DOC 页数:40 大小:676.50KB
下载 相关 举报
ARP病毒攻击的防范论文.doc_第1页
第1页 / 共40页
ARP病毒攻击的防范论文.doc_第2页
第2页 / 共40页
ARP病毒攻击的防范论文.doc_第3页
第3页 / 共40页
ARP病毒攻击的防范论文.doc_第4页
第4页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、.页眉.页脚XXXXXXXX专科毕业设计(论文)题 目 ARP 病毒的攻击与防范学生姓名 专业班级 学 号 系 别 指导教师(职称) .页眉.页脚ARP 病毒的攻击与防范摘 要ARP攻击是指黑客利用ARP协议缺陷的基本原理,通过在区域内一台终端或服务器上发布欺骗ARP广播包以达到进行盗取用户帐号、篡改网站内容、嵌入恶意代码、发布不良信息、监听传输数据等非法活动的目的。ARP欺骗原理在过去常被运用到简单的拒绝服务攻击中。然而,随着大量缺乏管理且使用者流动性较大的网吧与其他公共上网环境的普及,互联网上开始出现许多由ARP基本攻击与侦听、网页篡改等黑客技术相互结合的攻击方式。这种ARP攻击之所以能在

2、各类公共上网设施内迅速蔓延是因为在拥有上千台机器的公众上网环境或对外服务的IDC托管机房中,同一网段中往往有着来自不同单位或不同人群使用的各类终端与服务器,由于其中各类系统的安全责任点归属复杂、使用人员流动性大,造成环境内安全管理漏洞较大、安全盲点较多,从而使新一代以ARP欺骗为基础的网页挂码或重定向攻击得以滋生。而且,ARP攻击相对与通常攻击方式可能造成的更大的破坏在于:一般来说IP地址的冲突可以通过多种方法和手段来避免,而ARP协议工作在更底层协议上,隐蔽性更高。系统并不会判断ARP缓存的正确与否,无法像IP地址冲突那样给出提示。很多黑客工具可以随时发送ARP欺骗数据包和ARP恢复数据包,

3、这对于公众上网环境来说,就可以在任何权限的终端计算机上通过发送ARP数据包的方法来控制网络中任何一台计算机甚至服务器或网络设备的网络连接、侦探通讯数据、篡改数据包以加入病毒代码或不良信息进行传播。黑客还可以最大化的利用ARP欺骗原理,将其与其他攻击方法组合后运用于多种攻击,如,侦听、拒绝服务、挂载病毒等。从而达到多种攻击目的,如:窃取信息、病毒传播、破坏网络路由,暴力广告等等。本文通过现象分析逐步推测出ARP的攻击原理。随后通过对ARP数据帧格式的解析,证明了ARP协议漏洞是可以被用作ARP欺骗。在探讨ARP攻击的防御措施时,文章从MAC地址集中管理、ARP数据包探测以及系统安全加固三方面进行

4、论述。对于公众上网环境中存在可被ARP攻击的漏洞进行分析,并对整体防御构架进一步探索。关键词 ARP 攻击/ARP 协议/安全防护.页眉.页脚目 录第 1 章绪论 .11.1 引言 11.2 研究背景及意义 21.3 本文研究内容和组织结构 3第 2 章 ARP 攻击原理综述 32.1ARP 工作原理 32.1.1 以太网中的协议简介 32.1.2ARP 协议原理 .42.2 ARP 攻击的危害 62.3 ARP 攻击程序结构 72.4 ARP 协议缺陷 82.5 ARP 表的操作方法 122.6 ARP 伪造帧格式 132.7 网关出口上的 ARP 欺骗 20第 3 章 ARP 欺骗攻击的实

5、现 .223.1 构造 ARP 欺骗帧 223.2 发送 ARP 欺骗帧 283.3 同时发向两台机器的“MAN-IN-T HE-MIDDLE”.293.4IP 数据包的转发 .313.5 侦听 353.6 用 ARP 攻击 WINDOWS 系统 .353.7 对交换机攻击 353.8 挂载病毒 36第 4 章 ARP 欺骗攻击防范 384.1 ARP 防护整体布局思路 384.2 计算机系统安全加固 404.3 ARP 杀毒软件 404.4 ARP 攻击探测器 414.5 MAC 地址集中管理 424.5.1 传统的交换机 MAC 地址管理 434.5.2 基于地址扫描的 MAC 中央管理

6、.43.页眉.页脚总结 结论 .45致 谢 .46参考文献 .46.页眉.页脚第 1 章绪论1.1 引言网络安全问题一直是网络发展中的突出问题,2008年5月公安部公共信息网络安全监察局举办的2008年度信息网络安全状况与计算机病毒疫情调查结果显示,我国信息网络安全事件发生比例为62.7%,计算机病毒感染率下降为85.5%,感染计算机病毒、蠕虫和木马程序的情况依然最为突出,其次是网络攻击、端口扫描、垃圾邮件和网页篡改。在发生的安全事件中,攻击或传播源涉及内部人员的达到54%,比去年激增了15% ;涉及外部人员的却锐减了18%。由此可见,计算机病毒对网络安全的影响仍然很大,发生在局域网的网络安全

7、问题也更为突出,因此,网络安全形势依旧严峻。网络的飞速发展改变了人们的工作和生活,在带来便利的同时也带来了很多麻烦。由于网络安全问题的日益突出,使得计算机病毒、网络攻击和犯罪频繁发生。根据国家计算机病毒应急处理中心发布的中国互联网网络安全报告(2009年上半年)中的数据显示,2009年上半年,国家互联网应急中心(CNCERT)通过技术平台共捕获约90万个恶意代码,比去年同期增长62.5%。每年都有相当数量具有一定影响力的新计算机病毒出现,它们造成的破坏和损失也更大,人们花费在病毒防治方面的精力和技术也越多。如2008年ARP(Address Resolution Protocol)病毒就表现很

8、突出,江民公司发布的07年上半年病毒报告及十大病毒中病毒排名第四,瑞星公司发布的2007年上半年电脑病毒疫情和互联网安全报告中ARP病毒排名第六。造成信息和网络安全问题的因素很多,主要可归纳为两方面。一方面是技术方面的问题,目前的计算机操作系统和应用软件或多或少存在一定的安全漏洞,而攻击者恰恰利用了这些漏洞,由于计算机病毒防治技术相对要落后于病毒攻击,因此会造成病毒在一定范围内蔓延;另一方面是管理方面的问题,由于管理人员的技术水平不足和管理不善造成的安全问题也层出不穷,系统漏洞修复的滞后和安全防护措施的不够给攻击者提供了机会。再加之,互联网是一个开放的系统,任何微小的漏洞和病毒都会快速蔓延,甚

9、至殃及全球,因此网络安全问题不容忽视。ARP病毒很大程度上是因为技术方面的问题而导致的,因此,可以通过技术改进加以防范。.页眉.页脚1.2 研究背景及意义ARP协议是一个基础协议,它的应用非常广泛。ARP由口层复用,用于解析局域网内任意合法第3层协议地址和第2层硬件地址之间的映射关系。ARP协议工作在局域网中,早期的协议设计者认为局域网是可信赖的,同时为了考虑传输效率,没有加入安全机制。现在的网络规模已经今非昔比,局域网已经不再是原始意义上的局域网络,但ARP协议仍然扮演着同样重要的角色,攻击者正是利用了这一特点,利用该协议实现攻击目的。ARP欺骗攻击通过伪造IP 地址和MAC地址映射来实现,

10、它造成目标主机ARP高速缓存信息错误,从而影响网络通信、实施网络欺骗。目前,“ARP”骗技术正在被越来越多的病毒所使用,成为局域网安全的新杀手。病毒预报(2008-2009)报道,国家计算机病毒应急处理中心通过互联网络监测发现,一种新型“ 地址解析协议欺骗 ”(简称: ARP欺骗)的恶意木马程序的正在互联网络中传播,并且它会在局域网络中寻找网络数据响应包,在包内加入恶意木马程序的代码信息,最终导致局域网中用户计算机系统感染木马程序,使得计算机系统中的信息篡改或丢失。该“ARP欺骗”的恶意木马程序入侵某个局域网中的计算机系统后,它会试图通过“ARP欺骗”手段截获所在局域网络内其它计算机系统的通信

11、信息,导致该局域网出现突然掉线,过一段时间后又会恢复正常的现象。同时,网内的其他计算机系统也会受到影响,出现IP 地址冲突、频繁断网、浏览器频繁出错,以及一些系统内常用软件出现故障等现象。除外,它会对局域网络中所有的数据包进行分析,过滤出网页浏览请求的应答数据包,并在数据包里面插入恶意代码,一旦计算机系统中的IE浏览器存在漏洞,那么计算机用户浏览网页的同时就会自动下载并运行恶意木马程序。“ARP欺骗”类恶意木马程序的危害性比较大,特别是对校园网、网吧等局域网会造成大范围的破坏和影响,轻则影响网络使用,重则导致网络瘫痪,是个不容忽视的问题。目前,很多研究者已经给出了针对ARP欺骗攻击的防治方法,

12、在一定程度上减少了ARP 问题的发生,这类方法主要是通过保护ARP高速缓存等方法来实现,它们没有从根本上解决ARP欺骗问题,因为ARP 欺骗问题的发生是因为ARP 协议本身存在在不可信网络中运行的漏洞。本文将从ARP协议本身出发,分析ARP协议的不安全因素,并针对存在的问题给出解决的具体方法,达到从根本上解决ARP病毒问题.页眉.页脚的目的。1.3 本文研究内容和组织结构本文主要目的是通过研究ARP协议缺陷,来阐述ARP攻击原理。然后根据此原理剖析ARP侦听、病毒挂载等众多攻击手段。文章的创新点在于阐述了MAC地址绑定等常用方法只能针对单机防护,而在大型公众上网环境中必须以MAC地址集中管理、

13、ARP广播包探测等综合管理手段相辅助,进行整体防护。文章最后以上海东方数字社区为实例说明综合防护手段的实施方法。第一章绪论。本章介绍了本文的课题研究背景,阐述了课题的研究目的以及意义,然后说明了本文的主要创新点和全文结构。第二章 ARP攻击原理综述。本章首先用实例说明ARP攻击的危害性,然后详细介绍ARP协议概念、ARP帧结构、以及其他相关概念。此章最后论证了ARP 协议缺陷是ARP攻击症结所在。第三章 ARP欺骗攻击的实现。本章通过Socket程序代码说明如何实现ARP欺骗攻击,然后通过程序代码叙述D.O.S拒绝服务攻击、侦听、病毒挂载、 Windows系统攻击、交换机攻击等多种混合类攻击的

14、实现原理。第四章 ARP欺骗攻击的防范。针对如何在拥有上千个终端大型社区网络中有效防止ARP攻击蔓延,本章比较了常用的MAC 地址绑定、系统安全加固等方法指出要在大范围内防止ARP 攻击需要用综合手段,并提出ARP攻击探测、MAC 地址中央管理等适用于大型网络的新方法。第五章总结与展望。本章对全文的研究工作进行总结,提出了主要结论,并介绍了课题今后进一步的改进和发展方向。第 2 章 ARP 攻击原理综述2.1ARP 工作原理2.1.1 以太网中的协议简介IEEE的802标准委员会和802项目组定义了两种主要的LAN 传输方法以太网和令牌环网。以太网在IEEE802.3规范中被定义为LAN 标准

15、,令牌环网则在IEEE802.5规范中定义。这两种方法的使用范围都很广泛,本文的研究针对以太网.页眉.页脚进行。以太网利用了总线和星形拓扑结构的优点,采用了CSMA/CD技术,网络上想要发送帧的结点与另外的结点竞争资源,没有哪个结点的优先级比其他结点高,帧按照物理地址查找其特定的目标,以太网通过一个广播信道向所有结点发送数据,处于同一广播域的结点都会收到该数据。虽然每台主机都由一个IP地址,但是IP 地址是运行TCP/IP协议机器的通用标识,IP 地址自身不能使报文到达其目的地,数据传输必须依靠网络适配器唯一的硬件地址,该地址也被称为MAC地址或者数据链路地址,该地址通常在网络适配器生产厂家唯

16、一编址,具有全球唯一性。以太网中的硬件地址采用48位长度表示,ARP协议为IP 地址到对应的硬件地址之间提供动态映射脚,因此,担负IP地址和硬件地址转换的ARP 协议具有非常重要的地位。2.1.2ARP 协议原理ARP协议起初是为DEC/Intel/Xerox的10兆以太网设计的,现在已允许用在其它类型的网络上。当来自上层的数据要发送时,需要知道目标主机的硬件地址,这时就需要通过IP地址找到相应的硬件地址,网络接口输出函数会调用 ARP协议进行ARP解析。ARP解析函数发送ARP请求(作为广播包发送),目标主机收到 ARP请求后发送ARP应答(作为单播包发送),当发送主机收到ARP应答后就可发

17、送数据。为了避免频繁发送ARP请求和应答,实现时在主机中都会有一个ARP高速缓存用来存放已经解析成功的ARP 信息,所以通常数据发送前先查找ARP高速缓存,找不到时才会发送ARP请求。2.1.2.1ARP 分组格式RFC826定义了ARP分组的格式,在以太网上使用的ARP分组格式见图2-1。该分组由以太网首部和以太网ARP字段两部分组成。图2-1ARP的分组格式(1)以太网首部:以太网首部包括以太网目的地址、以太网源地址和帧类型三部分,以太网目的地址是通信目的端的MAC地址,长度为48位,目的地址为全1.页眉.页脚是广播地址,这时,电缆上的所有以太接口都要接收此数据并进行处理。以太网源地址是通

18、信源端的MAC地址,长度为48位。帧类型表示以太网首部所携带数据的类型,如果是IP帧则为0x0800,如果是帧则为 0x0806。(2)以太网ARP字段:包括ARP 首部和ARP数据两部分。其中 ARP首部包括硬件类型、协议类型、硬件地址长度、协议地址长度和操作码五部分,硬件类型字段值为1表示是以太网地址,协议类型字段值为0x8000表示IP地址,硬件地址长度为6表示是以太网硬件地址,协议地址长度字段值为4表示是IP地址,操作码指出了ARP操作的四种类型,其中 ARP请求值为1,ARP 应答值为2,RARP请求和应答分别人3和4(可参见RARP协议的相关资料,本文不进行介绍);ARP数据部分包

19、括了发送方硬件地址、发送方IP地址、目的硬件地址和目的 IP地址,它们根据不同情况进行填充,ARP请求包填充除目的硬件地址以外的所有数据,而应答数据则填充全部数据。2.1.2.2ARP 发包和收包流程(1)发包当网络层往下传来一个包,路由选择将确定该包下一跳的协议地址(目的主机的口地址),为了正确发送该数据包,必须知道目的主机的硬件地址,这时就需要进行IP 地址至MAC 地址的解析,为此需要发送 ARP请求,即发送一个帧类型字段为0x0806的以太网包,该包中以太网目的地址全为(ARP请求以广播形式发送),除了目的硬件地址外全部填充,其中以太网源地址、发送者硬件地址和发送者IP地址填充本机的信

20、息,ARP 操作码填充1,协议地址长度填充4,硬件地址长度填充6,目的IP 地址填充路由确定的下一跳协议地址,目的硬件地址的值是想要得到的值。ARP 请求包会被广播到所有在以太网电缆上的主机,如果目的主机得到该ARP请求包则会发送一个ARP 应答包,如果一定时间没有收到ARP应答包,则会继续发送若干次,如果还没有收到应答包,则认为该主机不可达到,停止发送ARP请求。为了提高通信效率,通常主机中会保存已经解析到的IP和MAC地址的映射,通常称之为ARP高速缓存。它保存了IF 索引(物理接口索引)、IP 和MAC地址的映射,以及该映射的类型信息等,类型有4种可能的值,值2意味着表项是无效的,值3意

21、味着映射是动态的(表项可能改变),值4说明是静态项(表项不变化),值1意味着不是上面的任何一种情况。动态表项有一定的生存期,动态ARP表项如果在一定.页眉.页脚时间没有被使用,则会因超时被删除,如果在生存期内被使用,则生存期会被重置为最大值。通常,在数据发送前先会查找ARP高速缓存寻找相应的MAC地址,如果没有找到才会发送相应的ARP请求。免费ARP主机在启动时会主动发送一个ARP请求包,该包中发送端的协议地址和目的端的协议地址一致。免费ARP 包可以检测在以太网中是否存在IP地址冲突,可以使其他机器更新其相应信息,使得网络通信快速恢复。如果发送免费ARP的主机正好改变了硬件地址(有可能是更换

22、网络适配器,然后重新启动),那么这个免费ARP就可以使其它主机ARP高速缓存中旧的硬件地址进行相应的更新。(2)收包当接口收到ARP请求包后会进行检查,检查该包的硬件地址类型及长度和协议地址类型及长度是不是符合本接口,如果符合,那么在ARP高速缓存中查找发送者IP地址相关的映射,如果找到一个相符的表项,那么更新此表项(覆盖原来的硬件地址为新的硬件地址)。判断本机是不是通信的目标主机,如果是,并且没有进行过中的更新,那么更新高速缓存。如果收到的是一个ARP请求,那么生成一个相应的ARP应答包,并且将这个ARP应答包发送给对方, ARP应答包以单播的形式发送,它填充了ARP 包中的所有内容。2.2

23、 ARP 攻击的危害ARP欺骗不同于通常攻击可造成的巨大破坏。ARP欺骗可以造成内部网络的混乱,某些被欺骗的计算机无法正常访问内外网,让网关无法和客户端正常通信。实际上他的危害还不仅仅如此,一般来说IP地址的冲突我们可以通过多种方法和手段来避免,而ARP协议工作在更低层,隐蔽性更高。系统并不会判断ARP缓存的正确与否,无法像IP地址冲突那样给出提示。而且很多黑客工具,可以随时发送 ARP欺骗数据包和ARP恢复数据包,这样就可以实现在一台普通计算机上通过发送ARP数据包的方法来控制网络中任何一台计算机的网络连接截获其通讯数据并可做篡改以加入病毒代码进行传播,甚至还可以直接对网关进行攻击,让所有连

24、接网络的计算机都无法正常上网。这点在以前是不可能的,因为普通计算机没有管理权限来控制.页眉.页脚网关所以说。ARP欺骗的危害是巨大的,而且非常难对付,非法用户和恶意用户可以随时发送ARP欺骗和恢复数据包,这样就增加了网络管理员查找攻击源的难度。归纳ARP欺骗类攻击的危害性如下:(1)攻击点范围广:不需要攻占具体服务器,在不获得目标主机的权限的条件下,只要在网络环境的任何一个点上安放一台“肉机”便可以感染整个网段;(2)攻击非常隐蔽:不需要改动任何目标主机的页面或者是配置,在网络传输的过程中间直接插入病毒的代码;(3)发觉困难:如没有机房网络管理人员协助协查,服务器系统管理员光靠系统日志无法在短

25、时间内找到攻击源;(4)恢复复杂:网站管理员即时发现被攻击后,但是从系统层面上无法自己清除;(5)攻击手段变化多样:黑客可以最大化的利用ARP欺骗,将他与其他攻击方法组合后运用于多种攻击,如,侦听、拒绝服务、挂载病毒。从而实现多中攻击目的,如:窃取信息、病毒传播、破坏网络路由,暴力广告等等;2.3 ARP 攻击程序结构随着互联网的发展,ARP攻击已经从早期简单模式,即发送ARP回应包使收欺骗机器无法上网发展到不只是对ARP协议层的攻击。攻击者利用ARP信任局域的重大缺陷作为突破口,并通过一系列数据包转发的方法模拟出正常的通讯手段来欺骗数据收发双方,然后作为一个透明的网关在当中进行监听与数据伪装

26、的方法。图2-2 ARP攻击的结构框架图整个攻击的结构如图2-2所示,所有ARP类攻击的核心原理是ARP协议MAC地址欺骗。在数据链接层MAC地址欺骗基础上使用类似于路由器的数据包转发技术.页眉.页脚可形成对攻击目标的网络数据侦听。然后便可以与各种攻击方式相互结合,达到数据篡改、数据监听、停止服务攻击,以及病毒挂载的目的。2.4 ARP 协议缺陷ARP攻击的突破口是ARP协议缺陷,为了说明黑客程序是如何进行ARP 欺骗进而修改ARP表,首先需要研究ARP 协议的工作原理。 ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。位于OSI网络七层模型中的第

27、二层数据链路层。在数据链路层中网络中实际传输的封装数据包为数据“帧” ,帧的传播寻址方法是依靠目标主机的MAC地址。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。这个目标MAC地址是通过地址解析协议获得的。 Internet上常用到DNS域名解析是将IP地址与域名对应起来,而数据链接层的“MAC地址解析”原理与DNS 相似,其实就是将网卡的MAC硬件地址与IP地址对应,整个“MAC地址解析”的过程其实就是主机在发送帧前将目标IP 地址转换成目标MAC地址的过程。而ARP 协议的基本功能就是通过目标设备的IP 地址,查询目标设备的MAC地址,以保证通信的顺利进行

28、。图 2-3 互联网名字解析协议原理在图2-3所示的互联网名字解析方法中,每台使用TCP/IP协议上网的电脑内部都有一个ARP缓存表,表里的IP 地址与MAC地址是一一对应的。这个高速缓存存放.页眉.页脚了最近Internet地址到硬件地址之间的映射记录。高速缓存中每一项的生存时间一般默认为2 0分钟(可通过注册表修改),缓存的起始时间从被创建时开始算起。ARP缓存表下图所示。图2-4 ARP缓存表举例说明IP-MAC地址表转换工作原理。在192.168.1.0 网段中有四台主机,每台主机都会存有一张 IP-MAC地址对照关系如表2-2 。表 2-1IP-MAC 地址对照关系根据表2-1 的配

29、置,以主机A(192.168.1)向主机B(192.168.2)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP 地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以;如果在ARP缓存表中没有找到相对应的IP 地址,主机A就会在网络上发送一个广播,目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出询问:“192. 168.1.2的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A 做出这样的回应:“192.168.1.2的MAC地址是 “bb-bb-bb-b

30、b -bb-bb”。这样,主机A就知道了主机B 的MAC地址,它就可以向主机B发送信息了。同时它还更新了自己的ARP缓存表,下次再向.页眉.页脚主机B 发送信息时,直接从ARP 缓存表里查找就可以了。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。整个ARP查询过程如图2-5 所示。图2-5 正常ARP查询流程从图2-5 中可以发现,ARP协议存在一个重大的缺陷:每台主机的ARP表的更新是信任广播域内所有机器的回应包的,也就是在说在ARP协议中,接受回应帧的主机无法验证回应包的真伪。所以,在ARP协议中就很容易实现

31、在以太网中的ARP欺骗。在表2-1 所示环境,对目标A进行欺骗。C发出ARP回应数据帧到A ,告诉A “B的MAC地址是 CC-CC-CC-CC-CC”,A接受了假回应包,但是无法验证,于是就将自己的缓存更新了。结果,A去Ping主机却发送到了CC-CC-CC-CC-CC 这个地址.页眉.页脚上。如果进行欺骗的时候,把B的MAC地址欺骗为CC-CC-CC-CC-CC-CC,于是A发送到B 上的数据包都变成发送给C的了。如此一来C能够接收到A 发送的数据桢,数据桢的截获成功。由于ARP 缓存表项是动态更新的,其生命周期默认是两分钟,如果再没有新的信息更新,ARP 映射项将会自动去除。所以,如果要

32、保持A上的错误信息,C接下来要做的就是一直连续不断地向 A和 B发送虚假的 ARP 响应数据帧,让A的ARP缓存中保持被篡改了的映射表项。图2-5 ARP欺骗的流程图2-5演示了如何运用ARP协议固有的缺陷对其进行欺骗,但是仅仅这种欺骗并不能完成对A与B之间数据交换的窃听与篡改,原因是,光有第二层的欺骗是不够的,在建立起数据连接层欺骗后,虽然A对这个变化一点都没有意识到,但是接.页眉.页脚下来在进行网络层TCP/IP握手以及应用层会话建立时由于C上并没有能模仿B的应用端口监听,所以A和C是无法建立连续连接的,通常当TCP/IP三次握手不成功时,A与C的接将断开,C对接收到A发送给B的数据包可没

33、有转交给B。这种攻击最多也就造成A与B之间连接中断,无法造成更大危害。本章介绍数据链接层协议中ARP协议的先天缺陷,也是整个ARP欺骗攻击的突破口。2.5 ARP 表的操作方法2.4中指出了ARP欺骗的突破点ARP 协议缺陷,可见对计算机内部ARP 缓存表的修改是ARP欺骗的关键所在。在大多数的TCP/IP实现中,ARP 是一个基础协议,但是它的运行对于应用程序或系统管理员来说一般是透明的。ARP高速缓存在它的运行过程中非常关键,系统管理员可以用ARP命令对高速缓存进行检查和操作。高速缓存中的每一项内容都有一个定时器,根据它来删除不完整和完整的表项。ARP命令可以显示和修改 ARP高速缓存中的

34、内容。下面说明操作系统中对ARP 缓存表的基本操作方法。(1)ARP命令的使用:进行ARP欺骗攻防的基本操作是使用Windows的命令ARP来实现IP 地址和MAC 地址的映射与绑定。比如在 Windows XP的命令提示符窗口中键入“arp -a”或 “arp -g”可以查看 ARP缓存中的内容;键入“arp -d IPaddress”表示删除指定的IP 地址项(IPaddress表示IP地址)。arp命令的其他用法可以键入“arp /?”查看到。(2)ARP命令其他参数的功能:超级用户可以用选项- d来删除ARP高速缓存中的某一项内容。另外,可以通过选项- s来增加高速缓存中的内容。这个参

35、数需要主机名和以太网地址:对应于主机名的IP地址和以太网地址被增加到高速缓存中。新增加的内容是永久性的(比如,它没有超时值),除非在命令行的末尾附上关键字temp。位于命令行末尾的关键字pub和-s选项一起,可以使系统起着主机ARP代理的作用。系统将回答与主机名对应的IP地址的ARP 请求,并以指定的以太网地址作为应答。如果广播的地址是系统本身,那么系统就为指定的主机名起着委托ARP代理的作用。(3)特殊类别ARP的操作:委托ARP(当路由器对来自于另一个路由器接口的ARP请求进行应答时)和免费ARP (发送自己IP地址的ARP请求,一般发生在引导.页眉.页脚过程中)。微软的ISA Serve

36、r 中没有提供对于MAC 地址的控制功能,这是因为MAC地址只能在本地网络中使用,当数据包跨越路由器时,数据包中主机的源MAC地址就会被路由器的出站接口的MAC地址所代替,这个时候,使用MAC地址来进行控制就不适用了。所以只要是企业级的硬件或者软件防火墙,都基本没有提供对MAC地址的控制功能。不过在Windows中,如果安装了TCP/IP网络协议组件,就可以执行命令ARP。ARP命令的作用是查看本机的ARP缓存、静态绑定IP 地址和MAC地址和删除静态绑定项。其实绑定IP地址和MAC地址的本意是为了减少ARP广播流量,只是可以利用这一功能来控制IP地址的使用。(4)不同操作系统中ARP设置的差

37、异:在Windows server 2003和XP以前的WIN DOWS系统中,就算设置了静态MAC地址绑定项,同样会通过接收其他主机的数据包而更新已经绑定的项。而在Windows server 2003和XP中,静态绑定的项不会被动态更新,直到TCP/IP协议终止为止,例如重启计算机。如果要创建永久的静态MAC地址绑定项,可以写一个脚本文件来执行ARP静态绑定,然后使用计划任务在启动计算机时执行该脚本即可。(5)ARP高速缓存超时设置:在ARP高速缓存中的表项一般都要设置超时值。默认情况下ARP缓存的超时时限是两分钟,如果再没有新的信息更新, ARP 映射项会自动去除。所以,为了保持A与C被

38、修改的ARP 表,B一直连续不断地向A 和C发送这种虚假的 ARP 响应包。可以在注册表中进行修改。可以修改的键值有两个,都位于 HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services TcpipParameters。 键值 1:ArpCacheLife ,类型为Dword,单位为秒,默认值为120。键值2:ArpCacheMinReferencedLife,类型为Dword,单位为秒,默认值为600这些键值默认是不存在的,如果想修改,必须自行创建。修改后重启计算机后生效。如果ArpCacheLife的值比ArpCacheMinReferenc

39、edLife的值大,那么ARP缓存的超时时间设置为ArpCacheLife的值。如果ArpCacheLife的值不存在或者比ArpCacheMinReferencedLife的值小,那么超时时间设置为120秒。对于正在使用的ARP缓存,超时时间则设置为ArpCacheMinReferencedLife的值。2.6 ARP 伪造帧格式在ARP攻击中,黑客是运用ARP 协议缺陷更改ARP缓存表的。要发动ARP欺骗攻击需要获得ARP请求与应答帧的格式。ARP 帧使用是工作在数据链接层的协议,.页眉.页脚它也可以用于其他类型的网络以解析IP地址以外的地址(报文第 13、14两字节的“帧类型”以及15、

40、16字节“硬件类型”以及17、18字节“协议类型”说明了解析的是什么网络)。对于ARP攻击我们仅研究在以太网地址解析时的格式。ARP请求和应答帧的格式如图2-7所示:图2-7ARP数据帧格式(1)如图2-7所示,以太网报头中的前两个字段是以太网的源地址和目的地址。在以太网首部最后两个字节长的以太网“帧类型”表示后面数据的类型。在表示ARP请求或应答时该字段被设置成“0x0806”。(2)头部后面的2字节的“硬件类型”和两字节的“协议类型”用来描述ARP分组中的各个字段。在以太网的解析中,一个ARP请求分组询问“协议类型”填写IP(0x0800即表示IP),硬件类型填写以太网(值为1即表示以太网

41、)。这些类型字段的值在以太网数据帧中是固定的。(3)第19与20字段的两个 1字节的字段,“硬件地址长度”和“协议地址长度”分别指出硬件地址和协议地址的长度。当用于在以太网上进行IP地址的ARP查询时,“硬件地址长度”的值为6,“协议地址长度”为4。注意:此处是以字节为单位。(4)接下来的OP为“操作字段”,可以选择四种操作类型,分别是ARP请求(值为1)、ARP应答(值为 2)、R ARP请求(值为 3)和R ARP应答(值为4)。由于在ARP请求和ARP应答时的“帧类型”字段值相同(都为0x0806),所以需要从这个字段来区分是请求还是应答。(5)报文最后的四个字段将重复出现发送与接受端的

42、硬件地址(在以太网的数据帧报头中出现过)。最后四个字段分别是:发送源以太网地址、目的地以太网地址、发送源IP地址以及目的地IP地址。(6)另外,由于ARP请求或回答的数据帧长都是42字节(28字节的ARP数据加上14字节的以太网帧头),因此,每一帧都必须加入填充字符以达到以太网数据帧60.页眉.页脚字节的最小长度要求。表2-2 ARP帧机构实验的IP-MAC地址对照关系(1)假设在表2-2网络环境中:A主机的IP地址为192.168.1.1,它现在需要与IP 为192.168.1.2的主机(主机B)进行通讯,那么将进行以下动作:(2)A主机查询自己的 ARP缓存列表,如果发现具有对应于目的IP

43、 地址192.168.1.2的MAC地址项,则直接使用此MAC地址项构造并发送以太网数据包,如果没有发现对应的MAC地址项则继续下一步;(3)在A主机发出 ARP解析请求广播的过程中,A会发出一个目的MAC地址是FF:FF:FF:FF:FF:FF的ARP 请求帧,来请求IP为192.168.1.2 的主机回复MAC地址;图2-8 ARP请求数据帧格式(4)B主机收到ARP 解析请求广播后,回复给A主机一个 ARP应答数据包,其中包含自己的IP地址192.168.1.2和MAC地址bb-bb-bb-bb-bb-bb;.页眉.页脚图2-9 ARP回复数据帧格式(5)A接收到B主机的ARP 回复后,

44、将B主机的MAC地址放入自己的ARP缓存列表,然后使用B主机的MAC地址作为目的MAC 地址, B主机的IP地址(192.168.1.2)作为目的IP地址,构造并发送以太网数据包 .(6)如果A主机还要发送数据包给192.168.1.2,由于在 ARP缓存列表中已经具有IP地址 192.168.1.2的MAC地址,所以A主机直接使用此MAC地址发送数据包,而不再发送ARP解析请求广播;当此缓存地址项超过两分钟没有活动(没有使用)后,此ARP 缓存将超时被删除。以上是正常情况下ARP查询与回复的数据帧结构,如果使用ARP欺骗,从C发送伪造的ARP数据包,则当 C收到一份目的端为B的 ARP请求广

45、播报文后,C会把自己的硬件地址填进去,然后将目的端的MAC与IP地址写成发送源A 的物理与逻辑地址,源MAC地址伪装成自己的地址,源IP地址填写 B的IP 。最后把操作字段置为2,发回数据帧。伪装的数据帧结构如图2-10示。图2-10ARP欺骗数据帧格式2.7 网关出口上的 ARP 欺骗在公众上网环境的实际运行中,最大的威胁就是服务器在网关出口处被加入中间层欺骗服务器“man-in-the-middle” 。利用上文所说的 ARP欺骗报文以及ARP代理中存在的缺陷,可以在服务器和网关之间插入一个“伪造的网关”,在上面进行数.页眉.页脚据的重定向与篡改操作。目前,一般的交换网络对探测进行了限制,

46、目的是限制探测的深入程度,让他被隔绝在局域网内部。但是,只要主机以及交换设备中的ARP缓存表依然是动态的,利用ARP协议漏洞,依然可以形成“man-in-the-middle” 攻击方式。图2-14 网关类ARP欺骗如图2-14 示,主机C同时向主机A与网关B发出ARP应答数据包,之后主机A的缓存表中网关的MAC地址变成CCCCCCCCCCCC。所以当A 要发出数据包时,他会将数据发往主机C,C 又将数据包转发给网关B,由B转发到目的地网络。所以此时C相当与 A的网关,插入A与B的路由之间,所以此时C能够收取A与公网之间的所有数据并可进行篡改。此时,相当于网络中的路由设备被黑客攻占了。第3章A

47、RP 欺骗攻击的实现3.1 构造 ARP 欺骗帧在知道了ARP欺骗攻击的原理以及ARP 数据请求与响应帧格式后,接下来就是研究如何通过编程实现ARP 攻击黑客工具。在ARP攻击程序编写中,使用Parcket32开发包编写程序实现攻击。假设使用windows 2000/XP系统,则在ARP协议并不只在发送了ARP请求才接收 ARP应答。当计算机接收到 ARP应答数据包的时候,就会立即对本地的ARP缓存进行更新,将应答中的IP 和MAC地址存储在ARP缓存中。因.页眉.页脚此,在表2-2 示例的网络环境中,C向A发送一个自己伪造的 ARP应答,而这个应答中的数据为发送方IP地址是192.168.1

48、.2(B的IP地址),MAC地址是CC-CC-CC-CC-CC-CC(B的MAC地址本来应该是BB-BB-BB-BB-BB-BB,这里被用C的MAC地址伪造了)。当A接收到C伪造的ARP 应答后,由于A并不知道地址是被C伪造的,就会更新自己的ARP缓存。现在192.168.1.2的 MAC地址在A 上被改变成了攻击源C的MAC地址。以下来研究如何使用编程实现这样的ARP欺骗。编写欺骗程序的主要思路是:首先,构造一个ARP数据包,其中包含目标主机的IP地址与欺骗主机的MAC地址;然后,将这个arp数据包利用底层API驱动发送到A机器,致使A 修改自己的缓存。ARP报文使用是工作在数据链接层的协议

49、,所以可以用于其他类型的网络以解析IP地址以外的地址(报文第13、14两字节的 “帧类型”以及15、16字节“硬件类型”以及17、18字节“协议类型”说明了解析的是什么网络)。在以太网上解析IP地址时,ARP请求和应答分组的格式如图2-8所示,以太网报头中的前两个字段是以太网的源地址和目的地址。在以太网首部最后两个字节长的以太网“帧类型”表示后面数据的类型。在表示ARP请求或应答时该字段被设置成“0x0806”。头部后面的2字节的“硬件类型”和两字节的“协议类型”用来描述ARP分组中的各个字段。在以太网的解析中,一个ARP请求分组询问“协议类型”填写IP(0x0800即表示IP),硬件类型填写以太网(值为1即表示以太网)。这些类型字段的值在以太网数据帧中是固定的。第19与20字段的两个1字节的字段,“硬件地址长度”和“协议地址长度”分别指出硬件地址和协议地址的长度。当用于在以太网上进行IP地址的ARP 查询时,“硬件地址长度”的值为6,“协议地址长度”为4。注意:此处是以字节为单位。接下来的OP为“操作字段”,可以选择四种操作类型,分别是ARP请求(值为1)、ARP 应答(值为2)、R ARP 请求(值为3)和R ARP应答(值为4)。由于在 ARP请求和ARP应答

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报