ARP欺骗原理及防范方案设计
王增波
(衡阳师范学院数学系,湖南衡阳421008)
[摘要]AR P欺骗是一种利用AR P协议的漏洞对局域网内主机的通信实施攻击的欺骗行为,这里对ARP协议的工作原理和安全漏洞进行了论述,通过分析AR P欺骗的方式,并提出一个整体方案来抵御这种欺骗。
[关键词]ARP欺骗;MAC地址;ARP攻击
1前言
近期不少的个人电脑和学校局域网电脑经常遭到ARP欺骗攻击,这是一称为"地址解析协议欺骗"(简称A RP欺骗)的恶意木马程序的入侵破坏,严重影响了学校、公司、小区和网吧局域网中用户计算机系统的正常运行。如果这种"A RP欺骗"的恶意木马程序入侵某个局域网中的计算机系统,那么该系统就会试图通过"A RP欺骗"手段截获所在局域网络内其他计算机系统的通信信息,导致该局域网出现突然掉线。同时网内的其他计算机系统也会受到影响,出现IP地址冲突、频繁断网、IE浏览器频繁出错等问题。严重的甚至还会窃取用户密码,如QQ 密码、网络游戏密码、和网上银行账号密码,给用户造成了极大的不便和巨大的经济损失。本文通过对ARP欺骗的工作原理详细分析,设计了一个有效防范方案避免遭受ARP欺骗的攻击。
2ARP欺骗原理
2.1AR P协议
ARP(A ddress Re sol ution Protocol,地址解析协议)是一个位于TCP/IP协议中的低层协议,工作在OSI参考模型七层协议中的第二层链路层,负责将某个IP地址解析成对应的MA C地址。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。如果设备知道了某主机的IP地址,但不知道被请求主机的MAC地址,它就会发送ARP请求,ARP请求通常以广播形式发送,以便所有主机都能收到。所以说从某种意义上讲ARP协议是工作在更低于IP协议的协议层。
2.2AR P协议漏洞
在整个局域网内,要发送数据的源主机是以广播方式发送ARP请求,而应答包为单播包,协议在设计时出于传输效率上的考虑,子网内的任何主机都可以随意发送ARP应答包,而且在数据链路层就没有对接收到的应答ARP进行安全验证。即ARP协议不只是在发送了ARP 请求时才接受A RP应答包,凡是发给它的应答包都接受,然后将其插入到自己的A RP地址转换表中,所以对于大多数操作系统,如果收到一个应答ARP,它们不管自己是否在此之前曾经发出请求,都会自动更新ARP,而且从不对其进行检验。这个协议是建立在主机间的通信相互信任的基础之上的,这个问题导致攻击者就可以伪装ARP应答,与广播者真正要通信的机器进行竞争,还可以确定子网内机器什么时候会刷新MA C地址缓存,以确保最大
时间限度地进行假冒。
2.3AR P攻击的实现方式
2.3.1对网内主机的欺骗攻击
通过上面对ARP协议漏洞的分析可知,对一台主机来说,即使收到的A RP应答并非因自己请求而得到的,它也会将其插入到自己的A RP地址转换表中,监听正是利用这一漏洞来实现的。受到arp攻击
在这里可以举一个例子来说明ARP攻击实现方式。假设有主机A 和一个被A RP欺骗的主机B。主机A不断告诉主机B它是网关,结果主机B也认为它是网关,于是把连接数据发送给它。主机A再做一个连接的角,把主机B的信息包加上木马发到真正的网关,结果用户得到的信息都是带了木马的网页,而主机B本身没木马。
2.3.2网内主机与网关之间信息的窃取
当主机B想要获取主机对外通信的内容时,会分别给主机和网关发送一个R应答包,让和网关都把第三方监听者误认为是对方,这样,主机看似成功的实施了对外通信,而实际上中间夹着监听主机B。此时,主机B不仅可以完成监听,而且还可以随意更改数据包中地某些信息,并成功完成数据包转发。
3防范方案设计
在局域网内一旦有ARP攻击存在,欺骗者就会试图欺域网内所有主机和网关,一旦欺骗成功,那么正常的两台主机之间的通信,或者主机与网关之间的通信就会通过第三者修改或转发后进行,由于实施攻击的主机性能和程序性能的影响,这种转发并不会非常流畅,因此就会导致用户上网的速度变慢甚至频繁断线。要解决ARP欺骗,就是要解决如何让目标主机拒绝接受伪造的应答包以及在受到ARP攻击时,如何及时发现并对A RP缓存表进行及时更新修正。本文设计的抵御方案主要分为以下三个部分。
3.1在客户端绑定网关和AR P服务器的真实MA C地址
首先通过在客户端的主机上静态绑定网关和ARP服务器的MA C 地址,来防范第三方对源主机与网关和ARP服务器之间的通信进行监视,这样主机发送数据前不需要通过向所在的局域网广播请求来得到网关的MAC地址,它会直接查询静态记录以获得地址。攻击者若在没有收到ARP请求的情况下仍发送伪造的ARP应答数据包企图实施欺骗时,源主机将拒绝用伪造的数据更新A RP缓存表的静态记录,即不再对ARP缓存表中对信息进行更新,这样可以防止第三者对主机与网关之间的通信信息进行窃听,也能保证定时发往ARP服务器的A RP应答包没有经过第三者转发,所以通信是可靠的。
3.2设置AR P服务器
A RP服务器的主要功能是接受局域网内的所有主机定时发送的ARP应答数据包,对各个主机的ARP请求进行应答,然后对接收到的所有应答包的信息进行分析判断,看是否存在相同的IP地址对应不同的MA C
地址,如果存在,对发生矛盾的信息暂时不进行更新,然后服务器将判断的结果再发送给网关,网关通过这个MA C地址查出用来实施A RP欺骗攻击的主机在交换机上所对应的物理端口,从而进行控制。在服务器和网关之间实行联动机制,使得ARP攻击能及时被发现并被及时清除。系统要求网内各个主机发往ARP服务器的数据要定期主动发送,即使在没有收到ARP服务器发送的A RP请求时也要进行发送,其发送周期要尽量短,原则上不能超过服务器对ARP缓存表进行更新的周期,这样设置的理由是周期越短,服务器越能及时发现企图实施攻击的计算机,以便通知网关对其通信端口进行控制。
3.3设置主机的AR P请求
当源主机要和局域网内的一台主机进行通信时,源主机就发送一个ARP请求数据包给ARP服务器,服务器对接受到的信息进行分析,分别发送给要通信的两台主机一个ARP应答数据包,内容就是对方的IP 地址和对应的MAC地址。由于两台主机对服务器的地址都进行了绑定,所以受到的信息是可靠的,两台主机收到这个信息后就可以进行通信了,ARP服务器设置于网关的前端,对客户端来说是透明的。
4结论
本文通过分析ARP协议的工作原理和欺骗方式,提出了防止局域网内A RP欺骗的整体方案,本方案的主要优点是对网关的MA C地址进行绑定,并且使用专用的ARP服务器来检测局域网内是否存在ARP 攻击,并且服务器和网关之间实行联动,能够在发现攻击后及时通知网关采取措施。
应用科技
5
E C H E
A A
A P A
A
7
T NOLO GY TR N D
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论