论文局域网ARP欺骗攻击及安全防范策略Word文件下载.docx
- 文档编号:16312706
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:14
- 大小:59.38KB
论文局域网ARP欺骗攻击及安全防范策略Word文件下载.docx
《论文局域网ARP欺骗攻击及安全防范策略Word文件下载.docx》由会员分享,可在线阅读,更多相关《论文局域网ARP欺骗攻击及安全防范策略Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。
BasedonanintroductiontothefunctionsandworkingtheoryoftheARP(AddressResolutionProtocol),thispaperanalysesthesecurityholesinARP.ThesecurityvulnerabilityofARP,theattackingformsandpotentialdamagesareextensivelydiscussed.Severalprotectionsolutionsfordailymanagementsanddetectionaregiven,advantagesanddisadvantageofthesemeasuresaredetailed.
Keyword:
ARP;
securityvulnerabilities;
protectionmeasures;
attackways;
detectionmethod
1、ARP协议的含义和工作原理……………………………………………………5
1.1、ARP协议简介……………………………………………………………5
1.2、ARP协议的数据结构……………………………………………………5
1.3、ARP协议的利用………………………………………………………5
1.3.1、交换网络的嗅探…………………………………………………5
1.3.2、IP地址冲突………………………………………………………6
1.3.3、阻止目标的数据包通过网关………………………………………6
1.3.4、通过ARP检测混杂模式节点………………………………………7
1.4、ARP协议的原理……………………………………………………………7
2、ARP协议存在的安全漏洞………………………………………………………8
3、ARP欺骗攻击实现的过程………………………………………………………9
3.1、网段内的ARP欺骗攻击…………………………………………………9
3.2 跨网段的ARP欺骗攻击…………………………………………………10
4、ARP攻击的分类…………………………………………………………………10
4.1、ARP欺骗攻击……………………………………………………………10
4.2、网络监听…………………………………………………………………11
4.3、广泛拒绝服务攻击DOS…………………………………………………11
4.4、IP地址冲突………………………………………………………………12
4.5、克隆攻击…………………………………………………………………12
5、防范ARP攻击的解决方案………………………………………………………13
5.1、设置静态的ARP缓存表…………………………………………………13
5.2、交换机上绑定端口和MAC地址…………………………………………14
5.3、VLAN技术…………………………………………………………………15
5.4、建立信任IP-MAC地址映射表……………………………………………15
5.5、ARP报文限速……………………………………………………………16
6、ARP欺骗的检测…………………………………………………………………16
6.1、ARP地址欺骗攻击者的定位……………………………………………16
6.2、ARP欺骗攻击的检测……………………………………………………17
6.2.1、命令行法…………………………………………………………17
6.2.2、工具软件法………………………………………………………17
6.2.3、Sniffer抓包嗅探法……………………………………………17
6.2.4、主机级检测方法……………………………………………………18
6.2.5、网络级检测方法…………………………………………………18
7、结束语…………………………………………………………………………19
参考文献…………………………………………………………………………20
附录………………………………………………………………………………21
致谢………………………………………………………………………………22
1、ARP协议的含义和工作原理
1.1、ARP协议简介
ARP协议是“AddressResolutionProtocol”(地址解析协议)的缩写。
在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。
在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。
但这个目标MAC地址是如何获得的呢?
它就是通过地址解析协议获得的。
所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。
ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
1.2、ARP协议的数据结构
typedefstructarphdr
{unsignedshortarp_hrd;
/*硬件类型*/
unsignedshortarp_pro;
/*协议类型*/
unsignedchararp_hln;
/*硬件地址长度*/
unsignedchararp_pln;
/*协议地址长度*/
unsignedshortarp_op;
/*ARP操作类型*/
unsignedchararp_sha[6];
/*发送者的硬件地址*/
unsignedlongarp_spa;
/*发送者的协议地址*/
[6];
/*目标的硬件地址*/
unsignedlongarp_tpa;
/*目标的协议地址*/
}ARPHDR,*PARPHDR;
1.3、ARP协议的利用
1.3.1、交换网络的嗅探
ARP协议并不只在发送了ARP请求才接收ARP应答。
当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。
因此,在上面的假设网络中,B向A发送一个自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是192.168.10.3(C的IP地址),MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了)。
当A接收到B伪造的ARP应答,就会更新本地的ARP缓存,将本地的IP-MAC对应表更换为接收到的数据格式,由于这一切都是A的系统内核自动完成的,A可不知道被伪造了。
1.3.2、IP地址冲突
我们知道,如果网络中存在相同IP地址的主机的时候,就会报告出IP地址冲突的警告。
这是怎么产生的呢?
比如某主机B规定IP地址为192.168.0.1,如果它处于开机状态,那么其他机器A更改IP地址为192.168.0.1就会造成IP地址冲突。
其原理就是:
主机A在连接网络(或更改IP地址)的时候就会向网络发送ARP包广播自己的IP地址,也就是freearp。
如果网络中存在相同IP地址的主机B,那么B就会通过ARP来reply该地址,当A接收到这个reply后,A就会跳出IP地址冲突的警告,当然B也会有警告。
因此用ARP欺骗可以来伪造这个ARPreply,从而使目标一直遭受IP地址冲突警告的困扰。
1.3.3、阻止目标的数据包通过网关
比如在一个局域网内通过网关上网,那么连接外部的计算机上的ARP缓存中就存在网关IP-MAC对应记录。
如果,该记录被更改,那么该计算机向外发送的数据包总是发送到了错误的网关硬件地址上,这样,该计算机就不能够上网了。
这里也主要是通过ARP欺骗进行的。
有两种办法达到这样的目的。
1、向目标发送伪造的ARP应答数据包,其中发送方的IP地址为网关的地址,而MAC地址则为一个伪造的地址。
当目标接收到该ARP包,那么就更新自身的ARP缓存。
如果该欺骗一直持续下去,那么目标的网关缓存一直是一个被伪造的错误记录。
当然,如果有些了解的人查看ARP-a,就知道问题所在了。
2、欺骗网关。
向网关发送伪造的ARP应答数据包,其中发送方的IP地址为目标的IP地址,而MAC地址则为一个伪造的地址。
这样,网关上的目标ARP记录就是一个错误的,网关发送给目标的数据报都是使用了错误的MAC地址。
这种情况下,目标能够发送数据到网关,却不能接收到网关的任何数据。
同时,目标自己查看ARP-a却看不出任何问题来。
1.3.4、通过ARP检测混杂模式节点
在混杂模式中,网卡进行包过滤不同于普通模式。
本来在普通模式下,只有本地地址的数据包或者广播(多播等)才会被网卡提交给系统核心,否则的话,这些数据包就直接被网卡抛弃。
现在,混合模式让所有经过的数据包都传递给系统核心,然后被sniffer等程序利用。
通过特殊设计的ARP请求可以用来在一定程度上检测处于混杂模式的节点,比如对网络中的每个节点都发送MAC地址为FF-FF-FF-FF-FF-FE的ARP请求。
对于网卡来说这不是一个广播地址(FF-FF-FF-FF-FF-FF),所以处于普通模式的节点就会直接抛弃该数据包,但是多数操作系统核心都认为这是一个广播地址,如果有一般的sniffer程序存在,并设置网卡为混杂模式,那么系统核心就会作出应答,这样就可以判断这些节点是否存在嗅探器了。
可以查看,很多基于ARP的攻击都是通过ARP欺骗实现的。
至于ARP欺骗的防范,还是尽可能使用静态的ARP。
对于WIN,使用arp-s来进行静态ARP的设置。
当然,如果能够完全使用静态的IP+MAC对应,就更好了,因为静态的ARP缓存只是相对的。
当然,可以有一些方法来实现ARP欺骗的检测。
设置一个ARP的嗅探器,其中维护着一个本地网络的IP-MAC地址的静态对应表,查看所有经过的ARP数据,并检查其中的IP-MAC对应关系,如果捕获的IP-MAC对应关系和维护的静态对应关系对应不上,那么就表明是一个欺骗的ARP数据包了。
1.4、ARP协议的原理
以主机A(192.168.1.5)向主机B(192.168.1.1)发送数据为例。
当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。
如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;
如果在ARP缓存表中没有找到目标IP地址,主机A就会在网络上发送一个广播,A主机MAC地址是“主机A的MAC地址”,这表示向同一网段内的所有主机发出这样的询问:
“我是192.168.1.5,我的硬件地址是"
主机A的MAC地址"
.请问IP地址为192.168.1.1的MAC地址是什么?
”网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:
“192.168.1.1的MAC地址是00-aa-00-62-c6-09”。
这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。
同时A和B还同时都更新了自己的ARP缓存表(因为A在询问的时候把自己的IP和MAC地址一起告诉了B),下次A再向主机B或者B向A发送信息时,直接从各自的ARP缓存表里查找就可以了。
ARP缓存表采用了老化机制(即设置了生存时间TTL),在一段时间内(一般15到20分钟)如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。
ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。
ARP攻击主要是存在于局域网网络中,局域网中若有一个人感染ARP木马,则感染该ARP木马的系统将会试图通过“ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。
RARP的工作原理:
1、发送主机发送一个本地的RARP广播,在此广播包中,声明自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址;
2、本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址;
3、如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用;
4、如果不存在,RARP服务器对此不做任何的响应;
5、源主机收到从RARP服务器的响应信息,就利用得到的IP地址进行通讯;
如果一直没有收到RARP服务器的响应信息,表示初始化失败。
6、如果在第1-3中被ARP病毒攻击,则服务器做出的反映就会被占用,源主机同样得不到RARP服务器的响应信息,此时并不是服务器没有响应而是服务器返回的源主机的IP被占用。
二、ARP协议存在的安全漏洞
ARP协议是建立在信任局域网内所有结点的基础上的,它很高效,但却不安全。
它的主要漏洞有以下三点。
1、主机地址映射表是基于高速缓存、动态更新的,ARP将保存在高速缓存中的每一个映射地址项目都设置了生存时间,它只保存最近的地址对应关系。
这样恶意的用户如果在下次交换前修改了被欺骗机器上的地址缓存,就可以进行假冒或拒绝服务攻击。
2、由于ARP是无状态的协议,即使没有发送ARP请求报文,主机也可以接收ARP应答,只要接受到ARP应答分组的主机就无条件地根据应答分组的内容刷新本机的高速缓存。
这就为ARP欺骗提供了可能,恶意节点可以发布虚假的ARP报文从而影响网内结点的通信,甚至可以做“中间人”。
3、任何ARP应答都是合法的,ARP应答无须认证,只要是区域网内的ARP应答分组,不管(其实也不知道)是否是合法的应答,主机都会接受ARP应答,并用其IP一MAC信息篡改其缓存。
这是ARP的另一个隐患。
三、ARP欺骗攻击实现的过程
3.1、网段内的ARP欺骗攻击
ARP欺骗攻击的核心就是向目标主机发送伪造的ARP应答,并使目标主机接收应答中伪造的IP与MAC间的映射对,并以此更新目标主机缓存。
设在同一网段的三台主机分别为A,B,C,详见表1。
表1:
同网段主机IP地址和MAC地址对应表
用户主机IP地址MAC地址
A10.10.100.100-E0-4C-11-11-11
B10.10.100.200-E0-4C-22-22-22
C10.10.100.300-E0-4C-33-33-33
假设A与B是信任关系,A欲向B发送数据包。
攻击方C通过前期准备,可以发现B的漏洞,使B暂时无法工作,然后C发送包含自己MAC地址的ARP应答给A。
由于大多数的操作系统在接收到ARP应答后会及时更新ARP缓存,而不考虑是否发出过真实的ARP请求,所以A接收到应答后,就更新它的ARP缓存,建立新的IP和MAC地址映射对,即B的IP地址10.10.100.2对应了C的MAC地址00-E0-4C-33-33-33。
这样,导致A就将发往B的数据包发向了C,但A和B却对此全然不知,因此C就实现对A和B的监听。
3.2、跨网段的ARP欺骗攻击
跨网段的ARP欺骗比同一网段的ARP欺骗要复杂得多,它需要把ARP欺骗与ICMP重定向攻击结合在一起。
假设A和B在同一网段,C在另一网段,详见表2。
表2、跨网段主机IP地址和MAC地址对应表
C10.10.200.300-E0-4C-33-33-33
首先攻击方C修改IP包的生存时间,将其延长,以便做充足的广播。
然后和上面提到的一样,寻找主机B的漏洞,攻击此漏洞,使主机B暂时无法工作。
此后,攻击方C发送IP地址为B的IP地址10.10.100.2,MAC地址为C的MAC地址00-E0-4C-33-33-33的ARP应答给A。
A接收到应答后,更新其ARP缓存。
这样,在主机A上B的IP地址就对应C的MAC地址。
但是,A在发数据包给B时,仍然会在局域网内寻找10.10.100.2的MAC地址,不会把包发给路由器,这时就需要进行ICMP重定向,告诉主机A到10.10.100.2的最短路径不是局域网,而是路由,请主机重定向路由路径,把所有到10.10.100.2的包发给路由器。
主机A在接受到这个合理的ICMP重定向后,修改自己的路由路径,把对10.10.100.2的数据包都发给路由器。
这样攻击方C就能得到来自内部网段的数据包。
四、ARP攻击的分类
4.1、ARP欺骗攻击
“中间人”攻击,又称为ARP双向欺骗。
它的基本原理就是将自己的主机插入到两个目标主机通讯路径之间。
截获两个目的主机直接的通讯数据。
假设有三台主机(如图1所示),正常下A与C直接的通讯是不可见的,但是利用“中间人,的欺骗技术,主机B可以实现交换机网络下的嗅探。
其主要步骤如下:
1、主机B向主机A发送一个非法的ARP响应包,里面包括主机C的IP地址和主机B的MAC地址,主机A收到这个包后并没有去验证包的真实性就把ARP缓存中C的地址篡改为B的MAC地址。
2、主机B也向主机C发送一个非法的ARP包,里面包含了A的IP地址和B的MAC地址,由于ARP协议的漏洞,主机C也没有验证ARP的真实性就把ARP缓存中A的MAC地址改为B的MAC地址。
3、主机B启动IP转发功能。
主机A与C的所有直接的通讯将经过B,再由B转发给他们。
这样主机B就成功的对网内的用户进行了ARP欺骗。
4.2、网络监听
由图1可知,当攻击者B想要截取主机C对外网通讯的信息时,主机B会给主机C和网关D发送一个欺骗的ARP应答包,根据“中间人”的欺骗原理,主机C和网关D都会认为主机B是对方,这样主机C看似能于外网进行通讯了,然而实际上它的通讯信息却受到主机B的监听。
此时,主机B不仅可以完成监听,还可以随意改变数据包中的信息,并成功转发数据包。
假如主机B在区域网上广播一个IP地址为网关的欺骗ARP通知包,并篡改网关D的ARP缓存内的IP-MAC映射,主机B则可以监听区域网内与外网的所有通讯信息。
大部分的木马或病毒都使用该ARP欺骗攻击手段到达攻击的目的。
4.3、广泛拒绝服务攻击DOS
拒绝服务攻击DOS就是使目标主机不能正常响应外界请求,不能对外提供服务。
拒绝服务攻击主要有以下4种方式:
1、进攻主机持续响应本网络内的所有ARP应答,并且应答为一个虚构的MAC地址,那么目的主机向外发送的所有数据帧都会丢失,使得上层应用忙于处理这种异常而无法响应外来请求,也就导致目标主机产生拒绝服务。
2、进攻主机持续响应本网络所有的ARP进行应答,并且应答包内的MAC地址全部为本子网网关的MAC地址,由于网关自身有IP转发功能的,那么本子网内所有的数据通讯都需要网关进行一次转发,这样就无形中增加了网关的负荷,会导致网关超负荷而崩溃或者等待队列过长,进而使子网主机内部之间,子网主机与外网主机之间的通讯全部失败或者收发数据超时。
3、一般交换网络采用的多是二层交换机,此类交换机自身维护着一个ARP缓存,用于映射MAC地址对应的交换机的端口号,这个缓存中可容纳的映射条数是有限的。
如果进攻主机发送大量的包含不同MAC地址的ARP包,当数量足够多时,就有可能造成交换机DOS,不能正常转发数据包,使得交换机所连接的所有网络中断。
4、如果某一子网中存在着许多像路由器或者提供NAT服务的服务器这些具有IP转发功能的主机,利用ARP篡改的技术则可以实现多种形式的信息洪泛。
假设某子网包含了具有IP转化功能的主机1、2和3,通过ARP欺骗,把主机1的ARP缓存中默认网关对应的MAC地址改为主机2的MAC地址,利用同样的方法把主机2的ARP缓存的默认网关对应的MAC地址改为主机3的MAC地址,这样主机1到网关的数据通道就变成了1-2-3-网关,如果1的数据流量很大,则2,3也会有较高的负荷,并且分析可知被欺骗后子网的通讯流量是原来的三倍。
从而形成讯息洪泛,整个子网的性能就急剧降低了。
4.4、IP地址冲突
进攻主机发送更改后的ARP报文,其包括目的主机的IP地址和伪装的MAC地址,当系统检测到两个不同的MAC地址对应同一个IP地址则会提示IP地址冲突,在Windows操作系统中弹出警告对话框,Unix/Linux操作系统上表现为系统以mail方式等警告用户,这两种情况下都会使目的主机发生网络中断。
4.5、克隆攻击
如今,攻击者已经能修改网络接口的MAC地址。
攻击者首先对目标主机进行拒绝服务攻击,使其不能对外部做出任何反应。
然后攻击者就可以将自己的MAC地址与IP地址分别改为目标主机的MAC地址与IP地址,这样攻击者的主机就变成了目标主机的副本,从而进一步伪装了自己更进一步的实施各种非法攻击,窃取各种通信数据。
五、防范ARP攻击的解决方案
5.1、设置静态的ARP缓存表
ARP协议进攻最根本的原理就是改变IP地址与MAC地址对应关系,所以可以通过设置静态的ARP缓存表来防止ARP协议攻击。
设置静态ARP表有两种方法,一是在目的主机的ARP缓存中设置静态的地址映射记录,二是在三层交换机设置IP-->
MAC地址对应表。
在三层交换机上设置后,攻击主机就没有机会应答向其他主机发送ARP请求。
如果攻击者在未收到ARP请求的情况下仍凭空伪造ARP应答请求发送给其他主机,三层交换机将拒绝用伪造的数据更新ARP缓存表中的静态记录。
这种方法比较简单,比较直观,但是在经常要更换IP地址且有较多主机的的局域网里,这种方法就显得十分繁琐,工作量大。
在目的主机的ARP缓存中设置静态的地址映射记录的具体方法为:
用户在DOS提示符下执行arp–a命令,看到
C:
“DocumentsandSettings“userarp-a
Interface:
10.10.100.1---0x2
InternetAddress
PhysicalAddress
Type
10.10.100.254
00-40-66-77-88-d7
dynamic
其中10.10.100.254和00-30-6d-bc-9c-d7分别为网关的IP地址和MAC地址,因用户所在的区域、楼体和交换机不同,其对应网关的IP地址和MAC地址也不相同。
或者编写一个批处理文件arp.bat,实现将交换机网关的MAC地址和网关的IP地址的绑定,内容
@echooff
arp-d
arp-s
10.10.100.254
00-40-66-77-88-d7
用户应该按照第一步中查找到的交换机网关的IP地址和MAC地址,填入arp-s后面即可,同时需要将这个批处理软件拖到“windows--开始--程序--启动”中,以便用户每次开机后计算机自动加载并执行该批处理文件,对用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 论文 局域网 ARP 欺骗 攻击 安全 防范 策略