文献检索正文_第1页
文献检索正文_第2页
文献检索正文_第3页
文献检索正文_第4页
文献检索正文_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

文献综述第页学位论文开题报告文献综述学号100503011005工程领域软件工程姓名李奥飞指导教师罗回彬二○一三年五月十日ARP攻击、防护措施及解决方案绪论1.1引言网络安全问题一直是网络发展中的突出问题,2008年5月公安部公共信息网络安全监察局举办的2008年度信息网络安全状况与计算机病毒疫情调查结果显示,我国信息网络安全事件发生比例为62.7%,计算机病毒感染率下降为85.5%,感染计算机病毒、蠕虫和木马程序的情况依然最为突出,其次是网络攻击、端口扫描、垃圾邮件和网页篡改。在发生的安全事件中,攻击或传播源涉及内部人员的达到54%,比去年激增了15%;涉及外部人员的却锐减了18%。由此可见,计算机病毒对网络安全的影响仍然很大,发生在局域网的网络安全问题也更为突出,因此,网络安全形势依旧严峻。网络的飞速发展改变了人们的工作和生活,在带来便利的同时也带来了很多麻烦。由于网络安全问题的日益突出,使得计算机病毒、网络攻击和犯罪频繁发生。根据国家计算机病毒应急处理中心发布的《中国互联网网络安全报告(2009年上半年)》中的数据显示,2009年上半年,国家互联网应急中心(CNCERT)通过技术平台共捕获约90万个恶意代码,比去年同期增长62.5%。每年都有相当数量具有一定影响力的新计算机病毒出现,它们造成的破坏和损失也更大,人们花费在病毒防治方面的精力和技术也越多。如2008年ARP(AddressResolutionProtocol)病毒就表现很突出,江民公司发布的《07年上半年病毒报告及十大病毒》中ARP病毒排名第四,瑞星公司发布的《2007年上半年电脑病毒疫情和互联网安全报告》中ARP病毒排名第六。造成信息和网络安全问题的因素很多,主要可归纳为两方面。一方面是技术方面的问题,目前的计算机操作系统和应用软件或多或少存在一定的安全漏洞,而攻击者恰恰利用了这些漏洞,由于计算机病毒防治技术相对要落后于病毒攻击,因此会造成病毒在一定范围内蔓延;另一方面是管理方面的问题,由于管理人员的技术水平不足和管理不善造成的安全问题也层出不穷,系统漏洞修复的滞后和安全防护措施的不够给攻击者提供了机会。再加之,互联网是一个开放的系统,任何微小的漏洞和病毒都会快速蔓延,甚至殃及全球,因此网络安全问题不容忽视。ARP病毒很大程度上是因为技术方面的问题而导致的,因此,可以通过技术改进加以防范。1.2研究背景及意义ARP协议是一个基础协议,它的应用非常广泛。ARP由口层复用,用于解析局域网内任意合法第3层协议地址和第2层硬件地址之间的映射关系。ARP协议工作在局域网中,早期的协议设计者认为局域网是可信赖的,同时为了考虑传输效率,没有加入安全机制。现在的网络规模已经今非昔比,局域网已经不再是原始意义上的局域网络,但ARP协议仍然扮演着同样重要的角色,攻击者正是利用了这一特点,利用该协议实现攻击目的。ARP欺骗攻击通过伪造IP地址和MAC地址映射来实现,它造成目标主机ARP高速缓存信息错误,从而影响网络通信、实施网络欺骗。目前,“ARP”骗技术正在被越来越多的病毒所使用,成为局域网安全的新杀手。《病毒预报》(2008-2009)报道,国家计算机病毒应急处理中心通过互联网络监测发现,一种新型“地址解析协议欺骗”(简称:ARP欺骗)的恶意木马程序的正在互联网络中传播,并且它会在局域网络中寻找网络数据响应包,在包内加入恶意木马程序的代码信息,最终导致局域网中用户计算机系统感染木马程序,使得计算机系统中的信息篡改或丢失。该“ARP欺骗”的恶意木马程序入侵某个局域网中的计算机系统后,它会试图通过“ARP欺骗”手段截获所在局域网络内其它计算机系统的通信信息,导致该局域网出现突然掉线,过一段时间后又会恢复正常的现象。同时,网内的其他计算机系统也会受到影响,出现IP地址冲突、频繁断网、浏览器频繁出错,以及一些系统内常用软件出现故障等现象。除外,它会对局域网络中所有的数据包进行分析,过滤出网页浏览请求的应答数据包,并在数据包里面插入恶意代码,一旦计算机系统中的IE浏览器存在漏洞,那么计算机用户浏览网页的同时就会自动下载并运行恶意木马程序。“ARP欺骗”类恶意木马程序的危害性比较大,特别是对校园网、网吧等局域网会造成大范围的破坏和影响,轻则影响网络使用,重则导致网络瘫痪,是个不容忽视的问题。目前,很多研究者已经给出了针对ARP欺骗攻击的防治方法,在一定程度上减少了ARP问题的发生,这类方法主要是通过保护ARP高速缓存等方法来实现,它们没有从根本上解决ARP欺骗问题,因为ARP欺骗问题的发生是因为ARP协议本身存在在不可信网络中运行的漏洞。本文将从ARP协议本身出发,分析ARP协议的不安全因素,并针对存在的问题给出解决的具体方法,达到从根本上解决ARP病毒问题的目的。1.3本文研究内容和组织结构本文主要目的是通过研究ARP协议缺陷,来阐述ARP攻击原理。然后根据此原理剖析ARP侦听、病毒挂载等众多攻击手段。文章的创新点在于阐述了MAC地址绑定等常用方法只能针对单机防护,而在大型公众上网环境中必须以MAC地址集中管理、ARP广播包探测等综合管理手段相辅助,进行整体防护。文章最后以上海东方数字社区为实例说明综合防护手段的实施方法。第一章绪论。本章介绍了本文的课题研究背景,阐述了课题的研究目的以及意义,然后说明了本文的主要创新点和全文结构。第二章ARP攻击原理综述。本章首先用实例说明ARP攻击的危害性,然后详细介绍ARP协议概念、ARP帧结构、以及其他相关概念。此章最后论证了ARP协议缺陷是ARP攻击症结所在。第三章ARP欺骗攻击的实现。本章通过Socket程序代码说明如何实现ARP欺骗攻击,然后通过程序代码叙述D.O.S拒绝服务攻击、侦听、病毒挂载、Windows系统攻击、交换机攻击等多种混合类攻击的实现原理。第四章ARP欺骗攻击的防范。针对如何在拥有上千个终端大型社区网络中有效防止ARP攻击蔓延,本章比较了常用的MAC地址绑定、系统安全加固等方法指出要在大范围内防止ARP攻击需要用综合手段,并提出ARP攻击探测、MAC地址中央管理等适用于大型网络的新方法。第五章总结与展望。本章对全文的研究工作进行总结,提出了主要结论,并介绍了课题今后进一步的改进和发展方向。二、ARP攻击原理综述2.1ARP工作原理2.1.1以太网中的ARP协议简介IEEE的802标准委员会和802项目组定义了两种主要的LAN传输方法——以太网和令牌环网。以太网在IEEE802.3规范中被定义为LAN标准,令牌环网则在IEEE802.5规范中定义。这两种方法的使用范围都很广泛,本文的研究针对以太网进行。以太网利用了总线和星形拓扑结构的优点,采用了CSMA/CD技术,网络上想要发送帧的结点与另外的结点竞争资源,没有哪个结点的优先级比其他结点高,帧按照物理地址查找其特定的目标,以太网通过一个广播信道向所有结点发送数据,处于同一广播域的结点都会收到该数据。虽然每台主机都由一个IP地址,但是IP地址是运行TCP/IP协议机器的通用标识,IP地址自身不能使报文到达其目的地,数据传输必须依靠网络适配器唯一的硬件地址,该地址也被称为MAC地址或者数据链路地址,该地址通常在网络适配器生产厂家唯一编址,具有全球唯一性。以太网中的硬件地址采用48位长度表示,ARP协议为IP地址到对应的硬件地址之间提供动态映射脚,因此,担负IP地址和硬件地址转换的ARP协议具有非常重要的地位。2.1.2ARP协议原理ARP协议起初是为DEC/Intel/Xerox的10兆以太网设计的,现在已允许用在其它类型的网络上。当来自上层的数据要发送时,需要知道目标主机的硬件地址,这时就需要通过IP地址找到相应的硬件地址,网络接口输出函数会调用ARP协议进行ARP解析。ARP解析函数发送ARP请求(作为广播包发送),目标主机收到ARP请求后发送ARP应答(作为单播包发送),当发送主机收到ARP应答后就可发送数据。为了避免频繁发送ARP请求和应答,实现时在主机中都会有一个ARP高速缓存用来存放已经解析成功的ARP信息,所以通常数据发送前先查找ARP高速缓存,找不到时才会发送ARP请求。ARP分组格式RFC826定义了ARP分组的格式,在以太网上使用的ARP分组格式见图2-1。该分组由以太网首部和以太网ARP字段两部分组成。图2-1ARP的分组格式以太网首部:以太网首部包括以太网目的地址、以太网源地址和帧类型三部分,以太网目的地址是通信目的端的MAC地址,长度为48位,目的地址为全1是广播地址,这时,电缆上的所有以太接口都要接收此数据并进行处理。以太网源地址是通信源端的MAC地址,长度为48位。帧类型表示以太网首部所携带数据的类型,如果是IP帧则为0x0800,如果是ARP帧则为0x0806。(2)以太网ARP字段:包括ARP首部和ARP数据两部分。其中ARP首部包括硬件类型、协议类型、硬件地址长度、协议地址长度和操作码五部分,硬件类型字段值为1表示是以太网地址,协议类型字段值为0x8000表示IP地址,硬件地址长度为6表示是以太网硬件地址,协议地址长度字段值为4表示是IP地址,操作码指出了ARP操作的四种类型,其中ARP请求值为1,ARP应答值为2,RARP请求和应答分别人3和4(可参见RARP协议的相关资料,本文不进行介绍);ARP数据部分包括了发送方硬件地址、发送方IP地址、目的硬件地址和目的IP地址,它们根据不同情况进行填充,ARP请求包填充除目的硬件地址以外的所有数据,而ARP应答数据则填充全部数据。2.2ARP攻击的危害ARP欺骗不同于通常攻击可造成的巨大破坏。ARP欺骗可以造成内部网络的混乱,某些被欺骗的计算机无法正常访问内外网,让网关无法和客户端正常通信。实际上他的危害还不仅仅如此,一般来说IP地址的冲突我们可以通过多种方法和手段来避免,而ARP协议工作在更低层,隐蔽性更高。系统并不会判断ARP缓存的正确与否,无法像IP地址冲突那样给出提示。而且很多黑客工具,可以随时发送ARP欺骗数据包和ARP恢复数据包,这样就可以实现在一台普通计算机上通过发送ARP数据包的方法来控制网络中任何一台计算机的网络连接截获其通讯数据并可做篡改以加入病毒代码进行传播,甚至还可以直接对网关进行攻击,让所有连接网络的计算机都无法正常上网。这点在以前是不可能的,因为普通计算机没有管理权限来控制网关所以说。ARP欺骗的危害是巨大的,而且非常难对付,非法用户和恶意用户可以随时发送ARP欺骗和恢复数据包,这样就增加了网络管理员查找攻击源的难度。归纳ARP欺骗类攻击的危害性如下:(1)攻击点范围广:不需要攻占具体服务器,在不获得目标主机的权限的条件下,只要在网络环境的任何一个点上安放一台“肉机”便可以感染整个网段;(2)攻击非常隐蔽:不需要改动任何目标主机的页面或者是配置,在网络传输的过程中间直接插入病毒的代码;(3)发觉困难:如没有机房网络管理人员协助协查,服务器系统管理员光靠系统日志无法在短时间内找到攻击源;(4)恢复复杂:网站管理员即时发现被攻击后,但是从系统层面上无法自己清除;(5)攻击手段变化多样:黑客可以最大化的利用ARP欺骗,将他与其他攻击方法组合后运用于多种攻击,如,侦听、拒绝服务、挂载病毒。从而实现多中攻击目的,如:窃取信息、病毒传播、破坏网络路由,暴力广告等等。三、ARP欺骗攻击的实现3.1构造ARP欺骗帧在知道了ARP欺骗攻击的原理以及ARP数据请求与响应帧格式后,接下来就是研究如何通过编程实现ARP攻击黑客工具。在ARP攻击程序编写中,使用Parcket32开发包编写程序实现攻击。假设使用windows2000/XP系统,则在ARP协议并不只在发送了ARP请求才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会立即对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。因此,在表2-2示例的网络环境中,C向A发送一个自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是(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缓存。现在的MAC地址在A上被改变成了攻击源C的MAC地址。以下来研究如何使用编程实现这样的ARP欺骗。编写欺骗程序的主要思路是:首先,构造一个ARP数据包,其中包含目标主机的IP地址与欺骗主机的MAC地址;然后,将这个arp数据包利用底层API驱动发送到A机器,致使A修改自己的缓存。ARP报文使用是工作在数据链接层的协议,所以可以用于其他类型的网络以解析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)、RARP请求(值为3)和RARP应答(值为4)。由于在ARP请求和ARP应答时的“帧类型”字段值相同(都为0x0806),所以需要从这个字段来区分是请求还是应答。报文最后的四个字段将重复出现发送与接受端的硬件地址(在以太网的数据帧报头中出现过)。最后四个字段分别是:发送源以太网地址、目的地以太网地址、发送源IP地址以及目的地IP地址。另外,由于ARP请求或回答的数据帧长都是42字节(28字节的ARP数据加上14字节的以太网帧头),因此,每一帧都必须加入填充字符以达到以太网数据帧60字节的最小长度要求。在表2-2示例的网络环境中,当主机A在自己的缓存中找不到B的MAC地址而需要进行询问时。A发送了一个ARP询问报文,在这个报文中,目的地址为全1(FF-FF-FF-FF-FF-FF)的特殊广播地址。广播域内链接的所有以太卡网都会接收广播的数据帧。广播报文结构如图3-1所示:对于一个ARP请求来说,除目的端硬件地址外的所有其他的字段都有填充值。当系统收到一份目的端为本机的ARP请求报文后,它就把硬件地址填进去,然后用两个目的端地址分别替换两个发送端地址,并把操作字段置为2,最后把它发送回去。所以,我们要进行ARP欺骗所需要构造的伪装应答报文如下所示:构造报文的结构代码可以这样写:(1)首先我们定义“14字节的以太网头部”结构ETHHDR1:typedefstructethhdr1(/*定义“14字节的以太网头部”*/unsignedchareh_dst[6];/*目标以太网地址6字节*/unsignedchareh_src[6];/*源以太网地址6字节*/unsignedshorteh_type;)/*帧类型2字节*/ETHHDR1,*PETHHDR1;(2)定义“28字节的ARP请求或应答”的结构:typedefstructarphdr1/*定义“28字节的ARP请求或应答”*/unsignedshortarp_hrd;/*帧类型2字节*/unsignedshortarp_pro;/*协议类型2字节*/unsignedchararp_hln;/*硬件地址(MAC)长度1字节*/unsignedchararp_pln;/*协议地址(IP)长度1字节*/unsignedshortarp_op;/*op操作类型2字节*/unsignedchararp_sha[6];/*源以太网地址6字节*/unsignedlongarp_spa;/*源IP网地址4字节*/unsignedchararp_tha[6];/*目标以太网地址6字节*/unsignedlongarp_tpa;/*目标以IP地址4字节*/}ARPHDR1,*PARPHDR1;(3)接下来,将构造好的前14字节与后28字节连在一起,成为ARP报文:typedefstructarpPacket1/*构造42字节ARP报文arpPacket1结构*/{ETHHDR1ethhdr1;/*“14字节的以太网头部”结构*/ARPHDR1arphdr1;/*“28字节的ARP请求或应答”结构*/}ARPPACKET1,*PARPPACKET1;(4)定义数据报文中的常量#defineT_IP0x0800/*常量IP协议表示IP的类型值*/#defineT_ARP0x0806/*常量ARP表示ARP的类型值*/#defineH_ARP0x0001/*值为1即表示以太网硬件类型*/#defineOP_ARPR0x0001/*OP操作类型1表示ARP请求*/#defineOP_ARPB0x0002/*OP操作类型2表示ARP应答*/(5)当报文结构定义好后,需要定义一个报文并把数据填入:ARPPACKET1ARPPacket1;/*定义一个数据报文结构ARPPacket1*/ToMacAddr("AAAAAAAAAAAA",MacAddr))/*将字符串AAAAAAAAAAAA转化成MAC地址*/memcpy(ARPPacket1.e1hhdr1.eh_dst,MacAddr,6);/*定义目的MAC地址AAAAAAAAAAAA*/ToMacAddr("CCCCCCCCCCCC",MacAddr)/*将字符串CCCCCCCCCCCC转化成MAC地址*/memcpy(ARPPacket1.ethhdr1.eh_src,MacAddr,6);/*定义源MAC地址CCCCCCCCCCCC*/ARPPacket1.ethhdr1.eh_type=htons(T_ARP);/*常量ARP表示ARP的类型值*/ARPPacket1.ethhdr1.arp_hrd=htons(H_ARP);/*值为1即表示以太网硬件类型*/ARPPacket1.ethhdr1.arp_pro=htons(T_IP);/*常量IP协议表示IP的类型值*/ARPPacket1.ethhdr1.arp_hln=6;/*MAC地址长度为6字节*/ARPPacket1.ethhdr1.arp_pln=4;/*IP地址长度为4字节*/ARPPacket1.ethhdr1.arp_op=htons(OP_ARPB);/*OP操作类型2表示ARP应答*/ToMacAddr("CCCCCCCCCCCC",MacAddr));memcpy(ARPPacket1.arphdr1.arp_sha,MacAddr,6);//伪造的B的MAC地址ARPPacket1.arphdr1.arp_spa=inet_addr("");//B的IP地址ToMacAddr("AAAAAAAAAAAA",MacAddr))memcpy(ARPPacket1.arphdr1.arp_tha,MacAddr,6);//目标A的MAC地址ARPPacket1.arphdr1.arp_tpa=inet_addr("");//目标A的IP地址四、ARP欺骗攻击防范4.1ARP防护整体布局思路在上文我们分析了ARP欺骗攻击的原理危害,以及关键攻击源代码。了解到ARP类攻击的特征后,我们可以通过在计算机或者交换器上绑定MAC地址来防止ARP欺骗,但是在大型公众上网网络环境中作到每个单点都进行MAC绑定就相当困难了。所以需要在网络环境中安插ARP欺骗包探测工具来进行整体的布局,以应对ARP欺骗可能存在的多种攻击手段,如:拒绝服务、数据窃听、病毒木马挂载、强制访问等。从上文ARP攻击原理我们可以看出,防范ARP欺骗攻击最大困难在于其攻击不是针对服务器或交换机系统本身的,而且攻击源可以在网段内任何一个地方隐藏,其隐蔽性很高。所以有时候即使我们发现了攻击的存在,要在最短时间内快速定位攻击源也是非常困难得事情。这就意味着像防治普通攻击或病毒那样单一的从服务器系统或者从网络网关上进行防范效果不是很好。因此,我们提出的ARP攻击防范策略需要从三方面同时入手:计算机系统安全加固、MAC-ARP对应表管理、以及网络非法ARP包探测。Arp攻防体系在图4-1中描述了ARP综合防护体系中各种手段的组成。具体方法有:(1)设置静态的MACtoIP对应表,并防止黑客刷新静态转换表。不要把网络安全信任关系建立在IP基础上或MAC基础上,尽量将信任关系应该建立在IP+MAC上。(2)使用MAC地址管理服务器。通过该服务器查找自己的ARP转换表来响应其他机器的ARP广播。(3)使用代理IP的传输。(4)使用防火墙隔离非信任域对内网机器的ARP包传输。(5)定期使用rarp请求来检查ARP响应的真实性。(6)定期轮询检查主机上的ARP缓存。(7)使用防火墙连续监控网络。(8)使用ARP探测工具,在网络上探测非法ARP广播数据帧。4.2计算机系统安全加固目前很多常见的普通ARP攻击常常以病毒程序的形式存在。其中传播甚广的有“网游大盗”、“高波”等,这些ARP病毒寄存于Windows系统中,且一般会用到npptools.dll等系统漏洞,所以只要做好对操作系统的升级与加固可以防止此类病毒感染。(1)npptools.dll是windows系统的一个动态库(networkpacketprovideroolshelper)被ARP病毒利用,所以,禁止了npptools.dll将使此类病毒无法正常运行。具体方法是:在安全模式中,打开WINDOWS\SYSTEM32\NPPTOOLS.DLL文件。删除这个文件后,用零字节的文件替换。最后将nnptools.dll保存为只读文件。(2)给系统安装补丁程序。通过WindowsUpdate安装好系统补丁程序(关键

温馨提示

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

评论

0/150

提交评论