首页 > 范文大全 > 正文

浅议ARP协议及网络安全策略

开篇:润墨网以专业的文秘视角,为您筛选了一篇浅议ARP协议及网络安全策略范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【摘 要】 网络欺骗攻击作为一种非常专业化的攻击手段 ,给网络安全管理者带来了严峻的考验 。本文通过分析arp协议的工作原理 ,讨论了ARP协议从IP地址到物理地址解析过程中存在的安全隐患, 然后详细分析了ARP病毒的两种常见攻击方式,接着介绍了ARP病毒源的查找和病毒清除方法,最后提出了有效防范ARP病毒的措施。

【关键词】 地址解析;ARP欺骗攻击;缓存表;IP/MAC 绑定

1、引言

互联网几乎时时刻刻都遭受到各种各样的攻击 ,不时有网络服务器被击破的报告,这使网络安全受到了严重威胁,干扰了互联网的正常发展。因此,如何有效地防范各种攻击,增强网络安全性,是一项长期而又艰巨的任务。

近期,我校校园网多个网段多次受到ARP病毒的攻击,造成网络运行不稳定,利用ARP协议欺骗攻击网络的病毒在校园网中大肆传播,用户计算机出现频繁断网、IE浏览器频繁出错等故障,极大地影响了校园网用户的正常使用,甚至造成校园网瘫痪。为此,本文在介绍ARP协议工作原理的基础上,对ARP病毒攻击进行了详细分析,并提出了切实可行的病毒诊断和防范措施。

2、ARP协议

欺骗类攻击是网络中常见的攻击类型,对网络服务器的危害很大,由于它属于一种非常专业化的攻击手段,一般人员对其攻击机制不甚了解,因此造成了防范此类攻击的困难。

ARP欺骗作为一种典型的欺骗类攻击,包括构造伪造的ARP请求和ARP应答包[1]。攻击主机通过发送伪造的ARP应答来更新目标主机的ARP缓存,从而使自身赢得目标主机的信任。然后再实施有效攻击或非法监听网络数据包,造成目标主机被攻破或机密信息泄漏等一系列灾难性后果。ARP协议对网络安全具有重要的意义。通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞。

2.1、什么是ARP协议

ARP协议(Address Resolution Protocol,地址解析协议)是TCP/IP协议族中的一个重要协议,实现将网络层(Network Layer,OSI的第三层)地址解析为数据链路层(Data Link Layer,OSI的第二层)地址。

在局域网中,网络中实际传输的是“帧”,当一台主机把以太网数据帧发送到另一台主机时,以太网设备并不识别32位IP地址,它们是根据48位以太网地址来确定目的接口的,网络中实际传输的每一帧里包含有目标主机的介质访问控制子层MAC(Media Ac2cess Control )地址[2]。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址,但这个目标MAC地址是如何获得的呢?它就是通过地“地址解析”协议获得的。所谓“地址解析”就是在IP地址和硬件地址MAC之间提供的动态映射。将MAC地址转换为网络IP地址是通过反向地址解析协议RARP(Reverse AddressResolution Protocol)来实现的。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。所以说从某种意义上讲ARP协议是工作在更低于IP协议的协议层。这也是为什么ARP欺骗更能够让人在神不知鬼不觉的情况下出现网络故障的原因,他的危害更加隐蔽。

2.2、ARP协议工作原理

ARP解析地址的过程就是[3]主机在发送数据帧之前将目标主机的IP地址转换成目标主机的MAC地址的过程,ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。

当主机A欲向本网络的主机B发送IP数据报时[4],就先在其ARP高速缓存中查看有无主机B的IP地址,如果存在,就可查出其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过局域网将该MAC帧发往此硬件地址对应的主机;如果不存在,主机A就要在网络上用广播方式发送ARP请求分组,在此网络上的所有主机上运行的 ARP进程都收到此ARP请求分组,主机B在ARP请求分组中见到自己的IP地址,就向主机A发送ARP响应分组,并写入自己的硬件地址,其它的所有主机都不响应这个ARP请求分组。

为了减少网络上的通信量,主机A在发送其ARP请求分组时,就将自己的IP地址到硬件地址的映射写入ARP请求分组。当主机B收到主机A的ARP请求分组时,就将主机A的这一地址映射写入主机B自己的ARP高速缓存中,这样,主机B以后向主机A发送数据报时就可以直接发送了。

如果目标主机和源主机不在同一个局域网上,那么就要通过ARP表找到一个和本网络相连的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络,直到找到目标主机。

从IP地址到硬件地址的解析是自动进行的,主机的用户对这种地址解析过程是不知道的。只要主机或路由器要和本网络上的另一个已知IP地址的主机或

路由器进行通信,ARP协议就会自动地将该IP地址解析为链路层所需要的硬件地址。

ARP的基本功能就是通过目标主机的IP地址,查询其物理MAC地址,以保证通信的顺利进行。然而一个局域网中的电脑少则几台,多则上百台,这么多的电脑之间,如何能准确的记住对方电脑网卡的MAC地址,以便数据的发送呢?这就涉及到了ARP缓存表[5]。如表1所示,这是一个同一网络的ARP缓存表的一部分,其中Internet Address是主机的IP地址,Physical Address是主机网卡的物理地址,Type为地址映射项目的类型(分为动态型、静态型)。在局域网的任何一台主机中,都有一个ARP缓存表,该表中保存此网络中各个电脑的IP地址和MAC地址的对照关系,当这台主机向同局域网中另外的主机发送数据时,会根据ARP缓存表里的对应关系进行发送。

以计算机A(192.168.0.3)向计算机B(192.168.0.1)发送请求为例,当A向路由器发出请求时,会在自己的ARP缓存表中寻找是否有路由器的IP地址。如果找到了,也就知道了路由器的MAC地址,直接把路由器的MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:192.168.0.1的“MAC地址是什么?”网络上其他主机并不响应ARP询问,只有路由器接收到这个帧时,才向主机A做出这样的回应“192. 168.0.1的MAC地址是00-00。这样,主机A就知道了路由器-cd-1c-3d-e9”的MAC地址,它就可以向路由器发送请求了。同时它还更新了自己的ARP缓存表,下次再向路由器发送信息时,直接从ARP缓存表里查找就可以了。