校园网ARP病毒防范研究与应用
2010-10-20彭接招赖维玮
彭接招,赖维玮
(江西财经大学,江西 南昌 330013)
校园网ARP病毒防范研究与应用
彭接招,赖维玮
(江西财经大学,江西 南昌 330013)
对于ARP病毒防范的常见对策是针对上网主机进行保护,但对有上千或上万台主机的高校校园网来说,对每台上网主机进行安全控制会很难实现。本文从网络层面对ARP病毒进行分析和研究,通过对网络设备进行设置实现ARP病毒的完全抑制,从而达到ARP病毒的防范。
PVLAN;ARP病毒抑制;以太网
一、引言
随着校园网规模的扩大和上网用户的增加,校园网建设已经成为高校信息化发展的重中之重。但由于校园网的开放、资源共享等因素,网络应用中的安全隐患也越来越凸显。其中利用ARP协议的漏洞对校园网进行攻击就是网络攻击中最常见的一种方式。ARP欺骗和ARP攻击不仅给个别用户的上网带来麻烦,更严重的是影响了同一网段的其他用户,同时对相应网络的接入层交换机造成影响,从而影响整个校园网的运行稳定。对付ARP攻击可以针对每台上网主机进行安全保护,例如:安装完全的系统补丁、安装防火墙并合理配置、安装防病毒软件并及时更新、安装恶意软件清理软件、安装ARP防护软件等。但在网络规模较大的时候,确保整个网段的主机不受ARP攻击是件比较困难的事情。本文根据笔者的工作经验提出防范ARP欺骗和ARP病毒爆发的解决方案。
二、ARP协议原理
根据当前Internet使用的TCP/IP模型,如图1所示,我们可以知道ARP协议位于IP层的底部。IP协议的一个功能是负责实现不同性质的物理网络互联并屏蔽网络底层的细节,但当数据到达网络层以下的数据链路层的时候,需要通过ARP协议实现IP报文封装,发送至链路层接收。
对于以太网而言,则需要ARP协议实现IP地址和MAC地址的转化,数据封装为MAC帧后通过CSMA/CD的机制进行数据在数据链路层的传输。通讯双方的主机如果不知道对方的MAC地址,则通过发送ARP请求报文和应答报文相互获得对方的MAC地址,并将映射关系存入本机的ARP缓存表(缓存表记录IP地址和MAC地址的对应关系),以后的访问即通过ARP缓存表完成,不需要再发送ARP广播报文,缓存表是动态的,ARP列表到达老化时间后自动更新。ARP缓存表的更新就是通过ARP请求报文和应答报文实现的。如果组网使用交换机,则交换机也存在一个ARP缓存表(三层交换机)或MAC地址缓存表(二层交换机)。
三、ARP攻击原理
ARP协议没有身份验证机制,发送ARP请求报文的主机以广播方式的ARP请求报文发送出去后,同一网段上的任何一台其他主机在收到广播报文后都可以发送响应报文,而请求主机也会直接接收此应答报文。
正常情况下,不符合请求报文需要的其他主机接收到请求报文后会直接丢弃此报文,不会应答此报文,只有符合要求的主机才处理此报文并返回应答报文,同时双方进行ARP缓存表的学习或更新,双方后续的通讯数据在数据链路层被封装为MAC帧进行传输。但如果有欺骗主机使用监听程序进行ARP报文接收,并发送假应答报文,让请求主机学习到了假主机的MAC地址,则通讯数据会发送给欺骗主机,导致ARP欺骗的结果。
主机之间学习和更新ARP缓存表,正常情况下可以实现数据报文封装为MAC帧在数据链路层发送和接收,但如果ARP缓存表被非法修改,则会导致发送给正确主机的数据报文发送给欺骗主机。
根据ARP欺骗的表现方式,可以分为三种情况:
(1)冒充网关欺骗受害主机。受害主机在发送ARP请求报文的时候,欺骗主机发送假应答报文给受害主机,导致受害主机将欺骗主机MAC地址作为其网关对应的MAC地址。此后受害主机发送的报文都会发送给欺骗主机而不是发送给网关,欺骗主机将报文都接收和篡改后再转发给真正的网关。此方式下网关发送给受害主机的报文直接发送给受害主机,不经过欺骗主机。
(2)冒充受害主机欺骗网关。欺骗主机发送假应答报文给网关,导致网关更新ARP缓存表,将正确的MAC地址修改为欺骗主机MAC地址,当网关有报文要发送给受害主机时,根据MAC地址查询结果,网关会将报文发送给欺骗主机,欺骗主机接收和篡改报文后再转发给受害主机。此方式下受害主机发送给网关的报文直接发送给网关,不经过欺骗主机。
(3)冒充网关欺骗受害主机,同时冒充受害主机欺骗网关。将上述两种方法组合使用的情况下,当ARP欺骗成功后,可以将受害主机和网关之间的所有通讯报文都截获并篡改。
由上述三点可以看出,欺骗主机通过更新对方的ARP缓存表实现对数据报文的侦听、接收或篡改,同时还要将接收或篡改的报文再转发出去,否则欺骗不能成立,也就是说ARP欺骗要更新对方的ARP缓存表、接收报文和转发报文。
ARP病毒使用ARP欺骗的原理,取得受害主机的信任后,再将病毒或木马传播给受害主机,ARP病毒不是特指某一种病毒,而是指所有包含有ARP欺骗功能的病毒的总称,病毒变种很多,防护也比较困难,ARP病毒会造成网络异常、主机被非法控制、传输数据被窃取和篡改等,在同一个网段内的电脑,如果有一台电脑有ARP病毒爆发,则会影响其他上网主机,并通过主机非法控制和数据篡改实现ARP病毒的扩散感染。
四、交换机VLAN设置分析
高校组网当前基本都使用局域网技术下的以太网方式(CSMA/CD),网络设备采用二层交换机和三层交换机通过双绞线进行接入层用户宽带接入互联,交换机通过光纤上行到上级网络设备汇集后接入校园核心骨干网络。虽然接入层交换机能够很好地处理介质共享(CSMA/CD)带来的冲突问题,将冲突域控制在交换机的每个端口,但以太网还存在广播域的问题,交换机的VLAN设置就是将广播域进行划分和控制。
校园网一般按照一个楼栋、一个部门进行VLAN的划分和网段划分,例如:某个楼栋划分为一个VLAN,同时将VLAN设置一个网段,选择其中一个地址作为VLAN地址,此地址也作为此网段的网关地址,此楼栋的交换机端口都配置为从属于这个VLAN,因为端口同属于一个VLAN,此方式下广播报文会向所有的交换机端口转发,ARP请求报文也是一种广播报文,ARP欺骗主机可以在此VLAN内任何一个端口对这个VLAN内的ARP请求报文进行接收和篡改,然后再转发出去。这种按照楼栋、楼层或部门进行VLAN和网段划分的组网方式存在APR欺骗和ARP病毒爆发的隐患,需要对组网方式重新进行设计。
五、PVLAN技术原理及需求分析
PVLAN(Private VLAN)技术是一种新的VLAN机制,它把一个VLAN划分为多个子VLAN,原来的VLAN叫做Primary VLAN,新划分的子VLAN叫做Secondary VLAN。Primary VLAN和Secondary VLAN是通讯关系,而Secondary VLAN之间是隔离关系,也就是说数据报文只能在Primary VLAN和Secondary VLAN之间传输,而在Secondary VLAN之间不存在数据传输。Secondary VLAN通常划分在交换机的每个普通端口上,实现交换机每个端口间都相互隔离,Primary VLAN划分在级联上行端口。这种让交换机普通端口都相互隔离,但都可和上行级联端口通讯的方法可以完全抑制ARP欺骗和ARP病毒爆发。
在实际使用中,将Primary VLAN划分的交换机上行级联端口指定为网关接口,将Secondary VLAN划分的交换机端口指定为主机接入端口,通过交换机设置可以实现各主机只能与自己的默认网关通信,主机相互之间不能通信。前面说过ARP欺骗要更新对方的ARP缓存表、接收报文和转发报文,三个环节都为必要条件。通过PVLAN技术在交换机上的配置,首先欺骗主机不能侦听和接收到广播方式的ARP请求报文;其次欺骗主机发送的ARP应答报文无论其发给谁,最终也只能发送给网关,而不能发送给受害主机;最后因为PVLAN的隔离技术使欺骗主机不能实现报文的转发,即使接收和篡改了报文也不能发送给受害主机。无论网络上是否有主机故意或无意地实施ARP欺骗或爆发ARP病毒,它都不会影响到其他上网主机,也就是说通过PVLAN技术虽然不能主动消除ARP欺骗和ARP病毒爆发,但可以阻止ARP欺骗和ARP病毒爆发的扩散,可以将其对网络的危害降到最低。
不支持PVLAN功能的交换机不能从配置方面进行ARP病毒的完全抑制,但可以通过将IP和MAC地址在交换机端口静态绑定并关闭ARP动态学习功能的方法实现ARP病毒防范;使用HUB组网的方式需要对网内每台上网主机做好系统安全工作和安全监控,但上述两种方法只能应用在网络主机数量少的情况下,对于存在大量主机的网络是不适用的。
六、PVLAN实施方案
华为和思科都支持PVLAN技术,这里以华为二层交换机为例,如图2所示,配置PVLAN机型为S3026T,带千兆上行级联端口G2/1,Primary VLAN为VLAN1000,对接上行的网关设备,Secondary VLAN为VLAN11、VLAN12和 VLAN13, 分别接入 PC1、PC2、PC3,3台 PC连接的交换机端口分别属于3个不同的VLAN,3台PC中任何一台发生ARP欺骗或ARP病毒爆发都不会影响和扩散到其他PC。
PVLAN不仅可以阻止ARP欺骗和ARP病毒的爆发,同时也可以解决VLAN数量不够用的问题,每个交换机都可以自行划分Secondary VLAN,不同交换机之间的相同或不同Secondary VLAN都不会相互影响,因此PVLAN可以大规模地在交换机上配置而不必担心VLAN数量不够的情况发生。
七、结束语
PVLAN技术已经在江西财经大学青山园校区交换机上设置并投入实际使用,使用结果符合要求,没有发生ARP病毒爆发导致校园网中断,校园网运行稳定,校园网用户存在的上网问题中也没有因为他人主机ARP病毒爆发和扩散导致不能上网等现象的发生。
PVLAN有待解决的其他问题如下:
(1)由于PVLAN的隔离技术导致同一网段内部的主机间不能直接相互访问 (不同网段的主机互访不受影响),需要将数据提交到网络层以上,例如通过QQ就可以在应用层相互访问,如何不通过上层网络就实现同一网段内部的主机相互访问也是需要探讨的问题;
(2)网关对ARP病毒爆发的承受压力问题;
(3)IP 盗用,MAC 盗用等问题;
(4)校园网接入层的其他问题等。
这些在网络接入层的问题需要结合认证系统、网络安全设备和其他网络设备共同解决,同时也有待和其他高校共同交流探讨。PVLAN技术虽然可以解决ARP欺骗和ARP病毒爆发和扩散的问题,但还需要加强主机安全保护、加强上网用户系统安全和网络安全意识才能达到最好的防范和防护效果。
[1]巴恩斯.Cisco局域网交换基础[M].北京:人民邮电出版社,2005.9.
[2]胡道元.计算机局域网[M].北京:清华大学出版社,2002.3.
[3]构建企业级交换网络[M].华为3COM技术有限公司,2004.7.
[4]周华等.运用ARP欺骗进行网络安全管理[J].网络安全技术与应用,2005(3).
TP309.5
B
1673-8454(2010)03-0019-03
(编辑:杨馥红)