曾晓华 张宁丹
[摘要]由于ARP协议自身设计上的不足,使得ARP协议在使用的过程中存在ARP攻击等网络安全问题。分析ARP攻击的几种方式,给出几种抵御ARP攻击的防范措施。
[关键词]ARP协议 MAC地址 ARP攻击
中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0220073-01
随着计算机网络技术的发展,网络已经成为人们日常生活中不可缺少的部分。由于网络的开放性、资源的共享性等特点,各种对网络的攻击与破坏方式也逐渐增多。本文就针对较常见的一些利用ARP协议的漏洞对网络进行攻击的方式进行分析,并提出几种较有效的防范策略。
一、ARP协议的工作特点
ARP,全称Address Resolution Protocol,中文名为地址解析协议,它工作在数据链路层,在本层和硬件接口联系,同时对上层提供服务。
IP数据包常通过以太网发送,以太网设备并不识别32位IP地址,它们是以48位以太网地址传输以太网数据包。因此,在通信过程中,必须把IP目的地址转换成以太网目的地址。这个以太网地址(MAC地址)就是通过ARP协议获得的。即ARP协议的作用是将网络中的IP地址解析为的MAC地址,以保证通信的顺利进行。
二、ARP欺骗原理
在网络中,每台计算机具有两个不同的地址:IP地址和物理地址(MAC地址),局域网内部的主机是根据MAC地址来通信的。ARP协议是根据目标主机的IP地址来获得其MAC地址,当IP数据包准备发送时,由数据链路层加上源MAC地址和目的MAC地址封装成以太网数据包发送出去,如果数据链路层不知道目的IP的MAC地址,它就向局域网广播一个ARP请求,报文给局域网中的每一计算机,只有具有此IP的主机收到这份广播报文才会向源主机回送一个包含其MAC的ARP应答报文,每个主机都有一个ARP高速缓存,存放了最近的IP-MAC映像,主机每隔一段时间或当收到ARP应答都会更新缓存。对大多数操作系统而言,如果收到一个ARP应答,它们不管自己是否在此之前曾发出ARP请求报文,都会自动更新自己的ARP缓存。因此,ARP协议的攻击方法最根本的途径,就是利用主机对ARP应答的无条件信任,篡改主机的ARP缓冲,从而实现各种攻击。比如,主机A发送报文给主机C,攻击者利用ARP欺骗将C的MAC地址映射为主机D,这样就把主机A发送给主机C的报文的发送给了攻击者所指定的一台主机D,而主机A却没有察觉。
三、ARP协议的网络攻击方式
(一)简单的欺骗攻击
攻击者通过发送伪造的ARP包来欺骗目标主机或路由器,让对方认为这是一台合法的主机,从而达到欺骗的目的。这种欺骗多发生在同一个网段内。
(二)中间人攻击
中间人攻击就是攻击者将自己的主机插入两个目标主机通信路径之间,截获并且转发双方的数据包,通过截获数据包,可以探测有价值的信息,破坏信息的机密性,甚至纂改信息的内容,并发出虚假信息,窃取或骗取用户的钱财和信息。
(三)基于ARP的DOS攻击
将ARP攻击和DOS(Denial of Service,拒绝服务)攻击相结合,这是一种新的攻击手段,也叫拒绝服务攻击。如果攻击者将目标主机ARP缓存中的MAC地址全部改为根本就不存在的地址,或者攻击者将大量ARP连接请求都发送到一台目标主机时,由于主机的处理能力有限,使网络中其他主机就无法与该主机进行通信,从而导致目标主机产生拒绝服务。
(四)更改主机IP
攻击者通过发出更改过的ARP报文,将一个错误的MAC地址强行映射到目的主机的IP地址,当系统检测到两个不同的MAC地址对应了一个IP地址,误以为网络中该IP地址已经被其他主机使用,Windows操作系统会弹出IP地址冲突的警告对话框,并使网络中断。
四、ARP欺骗的防范措施
分析基于ARP协议的攻击方法最根本的途径,就是利用主机对ARP应答的无条件信任,篡改主机的ARP缓冲,从而实现各种攻击。而在实际的网络运行当中,有很多用户不知道自己的计算机已经被欺骗攻击了,然后在不知情的情况下自己又对别的计算机发起攻击或进行ARP欺骗的。因此,对ARP的欺骗防范不仅要从技术上进行防范,也要从管理上进行防范。主要防范措施有以下几点:
1.检测自己主机的IP地址是否正在被其它机器挪用。主机定期向所在局域网发送查询自己IP地址的ARP请求报文,如果能够收到另一ARP响应报文,则说明该网络上另有一台机器与自己具有相同的IP地址。一旦发现攻击,应立即采取有效措施,解决被攻击主机的问题,以恢复网络的正常使用。
2.定期对计算机进行系统升级,安装防范杀毒软件。设置系统自动检测杀毒软件的病毒特征库是否升级到最新版本,并能自动更新。关闭一些不必要的服务,以防止攻击者利用服务漏洞进行攻击。
3.设置静态IP。ARP协议攻击的最根本原理是改变IP与MAC地址的对应关系。所以可以采取静态MAC地址表法的方法进行防范,即在目标主机的ARP缓存中设置静态地址映射记录,设置之后不再动态更新,这样可以避免ARP协议攻击。但是,这种方法的缺陷也很明显,在一个局域网内经常会出于各种正当的原因需要修改主机的IP地址,这种手工维护MAC表的方式不适用,而且它也要求网络硬件支持这种配置方式,因此在实际中用得较少。
4.使用ARP服务器。指定局域网内部的一台机器作为ARP服务器,专门保存并且维护可信范围内的所有主机的IP地址与MAC地址映射记录。该服务器通过查阅自己的ARP缓存的静态记录并以被查询主机的名义响应局域网内部的ARP请求。同时可以设置局域网内部的其它主机只使用来自ARP服务器的ARP响应,但必须保证ARP服务器不被黑客攻击。
5.使用硬件屏障主机。设置好路由器,在路由器上将IP地址与MAC地址绑定,启用ARP检查,以过滤伪造源MAC地址的ARP攻击,这样可以防止路由器受到ARP攻击。
五、结束语
ARP协议攻击主要来源于协议自身设计上的不足。ARP攻击给网络带来了极大的安全隐患。本文通过研究ARP协议的各种攻击方式,给出了一些抵御ARP攻击的方法,从而提高网络的安全性。
参考文献:
[1]双木编著,网络管理之ARP协议篇[M].中国人民大学出版,2003-06-05.
[2]马军、王岩,ARP协议攻击及其解决方案[J].微计算机信息,2006(15):70-71,140.
[3]陈英、马洪涛,局域网内ARP协议攻击及解决办法[J].中国安全科学学报,2007(7):126-131.
[4]任侠、吕述望,ARP协议欺骗原理分析与抵御方法[J].计算机工程,2003(9):127-128,182.