论文部分内容阅读
摘 要: 随着校园网规模的不断扩大,ARP攻击问题在校园网管理中越来越突出。本文介绍了ARP攻击的原理,以及由此引发的网络安全问题,并针对校园网中不同的实际应用情况,提出不同的ARP攻击防御解决方案,以解决校园网中因ARP攻击而引发的网络安全问题。
关键词: ARP攻击 校园网安全 防御解决方案
1.引言
校园网是CERNET/Internet的基本组成单位,是为学校師生员工的教学、科研、管理、服务、文化娱乐等提供服务的信息支撑平台,是学校必不可少的基础设施。校园网有用户数量大、用户类型复杂、管理策略复杂、流量大、网络安全威胁性大等特点。如何保证校园网安全顺畅地运行是迫切需要解决的问题。
在校园网的管理中,ARP攻击几乎成为每个网络管理人员必须面对的难题。校园网中的ARP欺骗病毒传播迅速,容易泛滥;某些局域网工具软件也具备扰乱ARP表的功能;ARP网关欺骗往往会造成整个网段用户的无法正常上网,故障的面积大,给学校网络管理员造成的压力也很大,同时故障的定位较难,需要到用户端排查故障,管理员要耗费大量精力,等等。在校园网的管理中,如何阻止ARP攻击的发生,成为保障校园安全一项刻不容缓的重要课题。
2.ARP概述
2.1ARP概念
ARP(Address Resolution Protocol),其中文意思为:地址解析协议。ARP的主要功能是将目的主机的IP地址解析成MAC地址。ARP与反向地址解析协议RARP结合使用,便可实现主机IP地址与MAC地址的相互映射[1]。
2.2ARP工作原理和以太网通信机制
计算机间进行通信,必须知道目标主机的IP地址,即将目的主机的IP地址封装到网络层的IP协议中。这些IP数据包常是通过以太网发送的,但负责传送数据的网卡及二层的以太网交换机等物理设备却不能识别IP地址,它们是以以太网地址即MAC地址传输以太网数据帧的。也就是说,两台计算机相互通信时,其实质是以对方主机的MAC地址作为目的地址传输数据帧的,在这种多点连接的网络通信中,只有以MAC地址作为目的地址才能保证每一个数据帧都能地送到正确的目的地址,因为每个网卡所对应的MAC地址都是唯一的。因此,将IP地址转化成MAC地址是计算机相互通信的前提,ARP主要的功能就是实现这样的转换。ARP工作在位于网络层和物理层的数据链路层,数据链路层即与硬件的网卡接口直接联系,同时又为上层网络层提供服务。
ARP是怎样实现这个转换的呢?在IP地址和MAC地址之间存在着某种静态的或算法的映射,以这些映射为依据即可形成一张ARP表,以太网中的每台计算机都会有这样一张ARP表,其中所记录的就是其它计算机IP地址与其MAC地址的对应关系,计算机就是通过在ARP高速缓存中维持ARP表实现IP地址到MAC地址的转换。当计算机向目的主机发送数据包时,首先在自己的ARP缓存表中查询,如果ARP缓存表中存有目的主机IP地址所对应的MAC地址,那么源主机就将数据包向该MAC地址所对应的主机直接发送。如果ARP缓存表中没有目的主机IP地址对应的MAC地址,源主机就在网络中发送一个包含所期望MAC地址的ARP请求广播包,以获取目的主机的IP地址和对应的MAC地址;网络中的主机接收到ARP广播请求后,就会查询自己的ARP缓存表,如果表中存有对应的IP地址和MAC地址,就对源主机作出应答,向源主机发送ARP响应数据包;源主机在接收到ARP响应数据包后,就会更新自己的ARP缓存表,将目的主机的IP地址与MAC地址记录其中,在ARP缓存项的生存周期内,源主机以此为依据向目的主机发送数据包。
3.ARP攻击概述
3.1ARP攻击的源头——ARP本身的缺陷
ARP本身的天然缺陷和不完善是ARP攻击的源头。ARP是通过发送ARP请求包获取目的主机的MAC地址,这种请求机制缺陷在于它假设计算机发送的或响应的ARP数据包都是正确的,而攻击者利用这一特点发送或响应虚假的ARP数据包实行ARP攻击。
ARP的漏洞和缺陷可归纳为两个方面:首先,ARP没有认证机制,当主机收到其它计算机响应的ARP包,便会直接更新自己的ARP表,而不管发送方是谁,发送的ARP包正确与否,这样攻击者就可轻易地将虚假的ARP包传播出去。其次,ARP并未将正确的IP地址与MAC地址的映射关系静态绑定,而是定时动态更新,即使攻击者不主动发送虚假的ARP包也可以待缓存表项生存周期结束后响应虚假的ARP包。在默认情况下,Windows操作系统如Windows Server 2003和Windows XP,ARP缓存中的表项仅存储2分钟。如果一个ARP缓存表项在2分钟内被用到,那么其期限再延长2分钟,直到最大生命期限10分钟为止。超过10分钟的最大期限后,ARP缓存表项将被移出,然后通过ARP请求与ARP回应将IP地址与MAC地址的映射关系重新添加上去。也就是说一条IP地址与MAC地址的映射关系最多10分钟,最少2分钟就会更新一次,那么攻击者就可利用主机发送ARP请求包更新ARP缓存表时将响应虚假的ARP包实行欺骗。
3.2ARP攻击原理
ARP攻击就是通过伪造IP地址和MAC地址的映射关系实现ARP欺骗,攻击者只要持续不断地发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP地址与MAC地址的映射关系,根据攻击者对所截获的数据包的处理情形而异造成网络中断或中间人攻击,这些地址可以是普通的主机,也可以是网关,因此,攻击者既可以冒充网关欺骗主机,又可以冒充主机欺骗网关,或者冒充主机欺骗其它主机实现中间人攻击,或者填写根本不存在的地址造成拒绝服务攻击,等等。
ARP攻击的实质通过各种手段使主机修改ARP缓存表中IP地址与MAC地址映射表项。下面本文就以同一个网段内的ARP攻击来分析其原理[2]。
如图1所示,在同一个网段内有三台计算机,其中进行ARP攻击的计算机A、源主机S及目的主机D,它们的IP地址与MAC地址分别如下所示:
攻击者A:IP为IP_A,MAC地址为MAC_A;
源主机S:IP为IP_S,MAC地址为MAC_S;
目的主机D:IP为IP_D,MAC地址为MAC_D;
源主机S向目的主机D发送数据包之前必须要知道目的主机D的MAC地址,因此,源主机S发送一个包含本机IP_S、MAC_S及IP_D的ARP请求广播包,希望得到目的主机的MAC地址,当目的主机D发现查询的正是本机的MAC地址,就回复一个包含IP_D—MAC_D对应关系的正确的响应包,因为整个网段都将收到该ARP请求包,攻击者A就可以伪造包含IP_D—MAC_A对应关系的虚假响应包不停回复S。因此源主机S就会收到来自A和D的响应包,因为没有验证机制,并且攻击者A不停地发送虚假包,源主机S将会动态更新本机的ARP缓存项,即错误地将IP_D—MAC_A形成映射关系。这样源主机S本来发给目的主机D数据包发送给攻击者A,攻击者A在窃取到数据包之后再转发或进行其它处理。
4.校园网中ARP攻击防御解决方案
ARP攻击防御解决方案可以通过对客户端、接入交换机和网关三个控制点实施自上而下的“全面防御”,并且能够根据不同的网络环境和需求进行“模块定制”,提供多样、灵活的ARP攻击防御解决方案。
关键词: ARP攻击 校园网安全 防御解决方案
1.引言
校园网是CERNET/Internet的基本组成单位,是为学校師生员工的教学、科研、管理、服务、文化娱乐等提供服务的信息支撑平台,是学校必不可少的基础设施。校园网有用户数量大、用户类型复杂、管理策略复杂、流量大、网络安全威胁性大等特点。如何保证校园网安全顺畅地运行是迫切需要解决的问题。
在校园网的管理中,ARP攻击几乎成为每个网络管理人员必须面对的难题。校园网中的ARP欺骗病毒传播迅速,容易泛滥;某些局域网工具软件也具备扰乱ARP表的功能;ARP网关欺骗往往会造成整个网段用户的无法正常上网,故障的面积大,给学校网络管理员造成的压力也很大,同时故障的定位较难,需要到用户端排查故障,管理员要耗费大量精力,等等。在校园网的管理中,如何阻止ARP攻击的发生,成为保障校园安全一项刻不容缓的重要课题。
2.ARP概述
2.1ARP概念
ARP(Address Resolution Protocol),其中文意思为:地址解析协议。ARP的主要功能是将目的主机的IP地址解析成MAC地址。ARP与反向地址解析协议RARP结合使用,便可实现主机IP地址与MAC地址的相互映射[1]。
2.2ARP工作原理和以太网通信机制
计算机间进行通信,必须知道目标主机的IP地址,即将目的主机的IP地址封装到网络层的IP协议中。这些IP数据包常是通过以太网发送的,但负责传送数据的网卡及二层的以太网交换机等物理设备却不能识别IP地址,它们是以以太网地址即MAC地址传输以太网数据帧的。也就是说,两台计算机相互通信时,其实质是以对方主机的MAC地址作为目的地址传输数据帧的,在这种多点连接的网络通信中,只有以MAC地址作为目的地址才能保证每一个数据帧都能地送到正确的目的地址,因为每个网卡所对应的MAC地址都是唯一的。因此,将IP地址转化成MAC地址是计算机相互通信的前提,ARP主要的功能就是实现这样的转换。ARP工作在位于网络层和物理层的数据链路层,数据链路层即与硬件的网卡接口直接联系,同时又为上层网络层提供服务。
ARP是怎样实现这个转换的呢?在IP地址和MAC地址之间存在着某种静态的或算法的映射,以这些映射为依据即可形成一张ARP表,以太网中的每台计算机都会有这样一张ARP表,其中所记录的就是其它计算机IP地址与其MAC地址的对应关系,计算机就是通过在ARP高速缓存中维持ARP表实现IP地址到MAC地址的转换。当计算机向目的主机发送数据包时,首先在自己的ARP缓存表中查询,如果ARP缓存表中存有目的主机IP地址所对应的MAC地址,那么源主机就将数据包向该MAC地址所对应的主机直接发送。如果ARP缓存表中没有目的主机IP地址对应的MAC地址,源主机就在网络中发送一个包含所期望MAC地址的ARP请求广播包,以获取目的主机的IP地址和对应的MAC地址;网络中的主机接收到ARP广播请求后,就会查询自己的ARP缓存表,如果表中存有对应的IP地址和MAC地址,就对源主机作出应答,向源主机发送ARP响应数据包;源主机在接收到ARP响应数据包后,就会更新自己的ARP缓存表,将目的主机的IP地址与MAC地址记录其中,在ARP缓存项的生存周期内,源主机以此为依据向目的主机发送数据包。
3.ARP攻击概述
3.1ARP攻击的源头——ARP本身的缺陷
ARP本身的天然缺陷和不完善是ARP攻击的源头。ARP是通过发送ARP请求包获取目的主机的MAC地址,这种请求机制缺陷在于它假设计算机发送的或响应的ARP数据包都是正确的,而攻击者利用这一特点发送或响应虚假的ARP数据包实行ARP攻击。
ARP的漏洞和缺陷可归纳为两个方面:首先,ARP没有认证机制,当主机收到其它计算机响应的ARP包,便会直接更新自己的ARP表,而不管发送方是谁,发送的ARP包正确与否,这样攻击者就可轻易地将虚假的ARP包传播出去。其次,ARP并未将正确的IP地址与MAC地址的映射关系静态绑定,而是定时动态更新,即使攻击者不主动发送虚假的ARP包也可以待缓存表项生存周期结束后响应虚假的ARP包。在默认情况下,Windows操作系统如Windows Server 2003和Windows XP,ARP缓存中的表项仅存储2分钟。如果一个ARP缓存表项在2分钟内被用到,那么其期限再延长2分钟,直到最大生命期限10分钟为止。超过10分钟的最大期限后,ARP缓存表项将被移出,然后通过ARP请求与ARP回应将IP地址与MAC地址的映射关系重新添加上去。也就是说一条IP地址与MAC地址的映射关系最多10分钟,最少2分钟就会更新一次,那么攻击者就可利用主机发送ARP请求包更新ARP缓存表时将响应虚假的ARP包实行欺骗。
3.2ARP攻击原理
ARP攻击就是通过伪造IP地址和MAC地址的映射关系实现ARP欺骗,攻击者只要持续不断地发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP地址与MAC地址的映射关系,根据攻击者对所截获的数据包的处理情形而异造成网络中断或中间人攻击,这些地址可以是普通的主机,也可以是网关,因此,攻击者既可以冒充网关欺骗主机,又可以冒充主机欺骗网关,或者冒充主机欺骗其它主机实现中间人攻击,或者填写根本不存在的地址造成拒绝服务攻击,等等。
ARP攻击的实质通过各种手段使主机修改ARP缓存表中IP地址与MAC地址映射表项。下面本文就以同一个网段内的ARP攻击来分析其原理[2]。
如图1所示,在同一个网段内有三台计算机,其中进行ARP攻击的计算机A、源主机S及目的主机D,它们的IP地址与MAC地址分别如下所示:
攻击者A:IP为IP_A,MAC地址为MAC_A;
源主机S:IP为IP_S,MAC地址为MAC_S;
目的主机D:IP为IP_D,MAC地址为MAC_D;
源主机S向目的主机D发送数据包之前必须要知道目的主机D的MAC地址,因此,源主机S发送一个包含本机IP_S、MAC_S及IP_D的ARP请求广播包,希望得到目的主机的MAC地址,当目的主机D发现查询的正是本机的MAC地址,就回复一个包含IP_D—MAC_D对应关系的正确的响应包,因为整个网段都将收到该ARP请求包,攻击者A就可以伪造包含IP_D—MAC_A对应关系的虚假响应包不停回复S。因此源主机S就会收到来自A和D的响应包,因为没有验证机制,并且攻击者A不停地发送虚假包,源主机S将会动态更新本机的ARP缓存项,即错误地将IP_D—MAC_A形成映射关系。这样源主机S本来发给目的主机D数据包发送给攻击者A,攻击者A在窃取到数据包之后再转发或进行其它处理。
4.校园网中ARP攻击防御解决方案
ARP攻击防御解决方案可以通过对客户端、接入交换机和网关三个控制点实施自上而下的“全面防御”,并且能够根据不同的网络环境和需求进行“模块定制”,提供多样、灵活的ARP攻击防御解决方案。