王 芬
摘要:本文针对目前校园网中地址解析协议(ARP)病毒的频繁发作.分析了ARP安全漏洞及病毒攻击原理:利用数据链路层地址解析协议(ARP)可以实施“中间人”攻击、MAC/CAM攻击、DHCP攻击、地址欺骗等攻击的形式,因为ARP协议具有实现lP地址到网络接口硬件地址(MAC)的映射功能,所以利用此特性在数据链路层发动的攻击具有很强的隐蔽性。针对ARP攻击的方式,提出了一种防范算法,以先发送请求和验证发送端地址方法,有效防范ARP攻击,提高了网络的安全性能。
关键词:Arp缓存;Arp病毒;arp协议原理,攻击
1引言
近一段时间以来,校园网内经常受到ARP病毒的攻击,其病毒攻击原理是通过伪造IP地址和MAC地址实现ARP欺骗,破坏内网中的主机和交换路由设备ARP高速缓存机制,其症状严重时会使网络流量加大.网络设备CPU利用率过高、交换机二层生成树环路、短时间内断网(全部断网或是部分断网)和主机上网不稳定或交换机短时瘫痪的严重状况。甚至出现盗用网内用户的帐号,密码等重要信息,给校园网中的有用资源造成很大破坏。
2ARP地址解析协议分析
针对ARP病毒攻击,我们首先分析ARP协议以及它的工作原理。ARP即地址解析协议是专门用来确定这些映像的协议。在网络中使用的每台装有TCP/IP协议的主机或服务器内都配有一个ARP缓存表,该表里的IP地址与MAC地址是一一对应的。ARP协议的结构定义如下:
当数据发送成功后就存入ARP缓存表是,下次发送就直接从表里查找即可。ARP缓存表采用了“老化机制”,在一段时间内如果表中的某一个MAC地址没有使用,就会被删除,这样可以减少ARP缓仔表的长度,以加快查询速度。
3ARP攻击原理
通过上述ARP工作原理得知,系统的ARP缓存表是可以随时更新的动态转换表,表中的IP和MAC是可以被修改的,这样在以太网中很容易实现ARP欺骗。ARP攻击可分为几种:“中间人”攻击、MAC/CAM攻击、DHCP攻击、地址欺骗等攻击的形式,表现为对内网pc机和网络交换机、DHCP服务的欺骗。
3.1对内网IP/MAC的欺骗
发送大量持续伪造的ARP包时,会造成局域网中的机器ARP缓存混乱,使网出现时断时续的情况。
下面通过一个例子说明:
B站点分别给A站点和C站点发送假信息,这样在A、C收到帧以后,A站点和C站点都认为是以MAC地址为00-0f-ea-b7-33-71的站点发送来的信息。这时B站点的欺骗成功。(下见图1)
3.2 Switch的CAM欺骗
Switch上同样维护着一个动态的MAC缓存。整个Switch的端口表CAM是动态的。对交换机的CAM 攻击是指利用木马程序产生欺骗MAC,快速填满CAM表,交换机CAM表被填满后,交换机以广播方式处理通过交换机的报文,把以前正常的MAC和Port对应的关系破坏了,这时攻击者可以利用各种嗅探攻击获取网络信息。
3.3 DHCP服务的攻击
采用DHCP server可以自动为用户设置网络IP地址、子网掩码、网关,DNS等网络参数,简化用户网络设置,提高管理效率。但由于DHCP的运作通常没有服务器和客户端的认证机制,病毒对其攻击的方式通常表现在DHCP server的冒充,DHCP server的DoS攻击等,所谓冒充是将DHCP服务器所能分配的IP地址耗尽,然后冒充合法的DHCP服务器。为用户分配一个经过修改的DNS server,在用户毫无察觉的情况下被引导在预先配置好的假网站,骗取用户账户和密码等机密信息。
4ARP病毒分析
ARP病毒多数属于木马程序或蠕虫类病毒,这种病毒的程序如pwstea1.1emir或其变种,windows2000/xp/2003将受到影响,其病毒的运作机理大多是通过它们组件将其操作系统的一些驱动程序用病毒文件覆盖掉,然后用病毒的组件注册(并监视)为内核级驱动设备并同时负责发送指令来操作驱动程序(发送ARP欺骗包,抓包,过滤包等),这些病毒程序破坏表现症状为:欺骗局域网内所有主机和交换机,让局域网中总的信息流量必须经过病毒主机。由于ARP欺骗的木马程序发作的时候会发出大量的数据包导致局域网通信拥塞以及其自身处理能力的限制,用户会感觉上网速度越来越慢。
5防御措施
根据ARP病毒对内网主机和交换机、DHCP服务器攻击的特点,在防治该病毒时也必须对这三个环节加强防护才能保证问题的最终解决。
5.1应急措施
发现病毒攻击时首先从病毒源头采取措施,直接采取便捷的方法:
在客户机,输入命令:arp-a查看网关IP对应的正确MAC地址,将其记录下来。注:如果已经不能上网,则先运行一次命令arp -dip_address mac_address将arp缓存中的内容删空,计算机可暂时恢复上网(攻击如果不停止的话),如:一旦能上网就立即将网络断掉(禁用网卡或拔掉网线),再运行arp-a。手工绑定可在命令窗口下运行以下命令:
Arp -s ip_address mac_address
这时,类型变为静态(static),就不会再受攻击影响了。但是,需要说明的是,手工绑定在计算机关机重开机后就会失效,需要再绑定。所以,要彻底根除攻击,只有找出网段内被病毒感染的计算机,令其杀毒,方可解决。
5.2一种改进的算法
由于ARP协议是一个无状态的协议,主机在接收到 应答(或请求)报文后就更新ARP缓存,而不管是否已经发送了ARP请求.因此,防范ARP欺骗的主要思想就是:规定接受ARP协议报文的顺序为先发送请求报文后验证接收应答报文,不符合此顺序要求的ARP报文丢弃处理。按照这种思路,提出一种算法对ARP协议报文进行控制,使其更加安全。
由于是先来先应答,故设置两个线性表REQ_LIST(请求表)和RES_LIST应答表分别保存已发ARP请求和已收的ARP应答数据报文信息,用类C语言描述:
@echo off
c:
ARP -d
cd
ping 202.201.206.48 -n
if exist ipcfg.ini del ipcfg.ini
ipconfig /all >c: ipcfg.ini
if exist phyad.ini del phyad.ini
find "MAC" ipcfg.ini >c:phyad.ini
for /f "skip=2 tokens=12" %%M in (phyad.ini) do set Mac=%%M
if exist IPAd.ini del IPad.ini
find "IP Address" ipcfg.ini >c:IPAd.ini
for /f "skip=2 tokens=15" %%I in (IPAd.ini) do set IP=%%I
arp -s %IP% %Mac%
if exist GateofIP.ini del GateofIP.ini
find "Default Gateway" ipcfg.ini >c:GateofIP.ini
for /f "skip=2 tokens=13" %%G in (GateofIP.ini) do set GateOFIP=%%G
if exist GMac.ini del GMac.ini
arp -a %GateIP% >c:GMac.ini
for /f "skip=3 tok=2" %%H in(GMac.ini) do set GateMac=%%H
arp -s %GateIP% %GateMac%
select case method on
case eof(IPcfg.ini):del IPcfg.ini;
case eof(Phyad.ini):del Phyad.ini;
case eof(IPAd.ini):del IPAd.ini;
case eof(GateofIP.ini):del GateofIP.ini;
case eof(GMac.ini):del GMac.ini;
exit
由于在处理时,增加了网络开销,因此在采应该方法时要综合考滤网络安全和网络性能多方面的因素。
6总结
上述分析了ARP的病毒攻击机理,以及这些攻击给校园网内的工作站和Switch、Router等带来的危害,同时也可看出设置静态ARP以阻止ARP欺骗攻击是无效的。并提出了一种改进的ARP防范算法,采用该方法时要综合考滤网络性能和安全要素的关联和互补,最终确保网络系统的安全。
参考文献:
[1]W.Richard Stevens.TCP/IP详解卷1:协议.机械工业出版社.1999.
[2]Refdom.交换网络中的嗅探和ARP欺骗.http://www.xfocus.net.
[3]王敏,黄心汉,熊春LU.交换式没备和网络的安全缺陷与改进措施.计算机工程,2000,26(1O).
[4]谭国真等.Pc机群环境下最短路径并行算法的研究[J].小型微型计算机系统,2001,22(11):1302-1304.
[5]D E Bel1.L J LaPadula.Secure Computer System:Unified Expositionand Multics Interpretation[R].Tech Report MTR-2997.The MITRECorp oration,Bedford,MA,1975-07.
[6]S Ghazizadeh.O Ilghami.E Sirin eta1.Security-Aware Adaptive DynamicSource Routing Protocol[C].In:27th Annual IEEE Conference on Iz~calComputer Networks,2002.
[7]David B Johnson,David A Maltz.Yih-Chun Hu.The Dynamic SoumeRouting Protocol for Mobile Ad Hoc Networks(DSR).