2024年5月8日发(作者:)
2008年9月
太原大学学报
第9卷第3期总第35期
Journal of Taiyuan University Vo1.9No.3 SumNo.35
文章编号:1671—5977(2008)03—0113—03
ARP病毒防治攻略
张玛丽
(山西综合职业技术学院计算机工程系,山西太原030006)
摘要:ARP的病毒攻击会造成大面积的网络瘫痪,给许多企业和学校造成了严重的损失。这种病毒长
久得不到有效解决的原因一方面和ARP病毒的特性有关,另一方面也和很多人对这种病毒了解不深刻,防范
措施不到位有直接关系。要彻底消灭ARP病毒攻击,需要了解它的原理,结合实际情况部署策略。
关键词:ARP;病毒;防治
中图分类号:TP309.5
文献标识码:A
随着互联网的广泛应用,内部网络的安全问题逐渐
D,代表目的主机,即接收数据的电脑。这三台电脑的IP
成为人们关注的焦点。在频繁发生的攻击行为中,利用
地址分别为192.168.0.2,192.168.0.3,192.168.0.4。
ARP协议的漏洞进行攻击是主要的手段之一,而造成的
MAC地址分别为MAC A,MAC—S,MAC D。其网络拓
损失更加严重。所以对于ARP病毒攻击,我们要打起十
扑环境如图1。
二分精神来,从了解它的原理入手,结合多种技术将它彻
底消灭。
震
1深入了解ARP原理
D 192.168.0
合交换机
在局域网中,一台主机要和另一台主机进行通信,必
须要知道目标主机的IP地址,但是最终负责在局域网中
传送数据的网卡等物理设备是不能识别IP地址的,只能
92.168.0 92.168.0.3
识别其硬件地址即MAC地址。每一块网卡都有其全球
唯一的MAC地址,网卡之间发送数据,只能根据对方网
卡的MAC地址进行发送,这时就需要一个将高层数据包
图1
中的IP地址转换成低层MAC地址的协议,而这个重要
如果S电脑要给D电脑发送数据,在S电脑内部,上
的任务将由ARP协议完成。
层的数据包已经传送到最底层的网络接口层,数据包即
ARP全称为Address Resolution Protocol,地址解析协
将要发送出去的时候,却还不知道目的主机D电脑的
议。所谓“地址解析”就是主机在发送数据包前将目标主
MAC地址MAC-D。S电脑要先查询自身的ARP缓存
机IP地址转换成目标主机MAC地址的过程。ARP协议
表,查看里面是否有192.168.0.4这台电脑的MAC地
的基本功能就是通过目标设备的IP地址,查询目标设备 址,如果有,就将它封装在数据包的外面直接发送出去即
的MAC地址,以保证通信的顺利进行。一个局域网中的
可。如果没有,S电脑要向全网络发送一个ARP广播包,
电脑少则几台,多则上百台,这么多的电脑之问,如何能
报告说自己的IP是192.168.0.3,硬件地址是MAC—S,
准确地记住对方电脑网卡的MAC地址,以便数据的发送
想要知道IP地址为192.168.0.4的主机的MAC地址是
呢?这就涉及到了另外一个概念,ARP缓存表。在局域
多少。这时,全网络的电脑都收到该ARP广播包,包括A
网的任何一台主机中,都有一个ARP缓存表,该表中保
电脑和D电脑。A电脑得知其要查询的IP地址不是自
存着网络中各个电脑的IP地址和MAC地址的对照关
己的,就将该数据包丢弃不予理会。而D电脑一看IP地
系。当这台主机向同局域网中另外的主机发送数据的时
址是自己的,则回应S电脑自己的IP地址是129.168.0.4,
候,会根据ARP缓存表里的对应关系进行发送。[1]
硬件地址是MAC D。需要注意的是,这条回执信息是单
假设一个只有三台电脑组成的局域网,该局域网由
独回答的,即D电脑单独向S电脑发送的,并非刚才的广
交换机连接。其中一个电脑名叫A,代表攻击方;一台电
播。现在S电脑已经收到目的电脑D的MAC地址了,
脑叫S,代表源主机,即发送数据的电脑;另一台电脑名叫 它就可以将要发送的数据包上封装目的地址MAC—D发
收稿日期:2008—05—20
作者简介:张玛丽(1983一),女,山西稷山人,山西综合职业技术学院教师,山西大学计算机与信息技术学院2006级硕士
研究生
・
113 ・
送出去。同时它还会动态更新自身的ARP缓存表,将
192.168.0.4~MAC—D这一条记录添加进去,S电脑下
正常运行下出现部分子网上网缓慢或者干脆上不了网的
情况,即可确定为该子网中遭到了ARP攻击。在这种情
次再给D电脑发送数据的时候,就不需要用询问的方式
发送ARP广播包了。以上就是正常情况下的数据包发
送过程。
况中,整个子网表现为计算机终端上网时断时续,ping网
关丢包现象严重,并且时间间隔有一定规律可循,而其他
子网的计算机终端安然无恙。
案例2在配置管理交换机时出现El志报警现象,频
2彻底解读ARP欺骗过程
上述数据发送机制有一个致命的缺陷,即它是建立
在对局域网中的电脑全部信任的基础上的,也就是说它
的假设前提是:无论局域网中哪台电脑,其发送的ARIa
繁弹出ARP冲突警报,严重妨碍了交换机的查看配置工
作。
案例3如果你的计算机中装有ARP防火墙类软
数据包都是正确的。这样是非常危险的,因为局域网中
并非所有的电脑都安分守己。在上述数据发送中,当S
电脑向全网询问IP地址为192.168.0.4的主机的MAC
是多少的时候,D电脑回应了自己的正确MAC地址,但
同时A电脑也回应了自己的IP地址是192.168.0.4,相
应的硬件地址是MAC—A,此时它冒充的是D电脑的Ip
地址,而MAC地址却写成自己的。由于A电脑不停地发
送这样的应答数据包,本来S电脑的ARP缓存表中已经
保存了正确的记录,即192.168.0.4一MAC D,但是由于
A电脑的不停应答,这时S电脑并不知道A电脑发送的
数据包是伪造的,导致S电脑又重新动态更新自身的
ARP缓存表,即192.168.0.4一MAC—A,很显然,这是~
个错误的记录,这样就导致以后凡是S电脑要发送给D
电脑,也就是IP地址为192.168.0.4这台主机的数据,都
将会发送给MAC地址为MAC—A的主机,A电脑就这样
“劫持”了由S电脑发送给D电脑的数据。
如果A这台电脑不冒充D电脑,而是冒充网关,它向
全网不停的发送ARP欺骗广播,告诉网络中所有电脑自
己的IP地址是192.168.0.1,硬件地址是MAC—A,这样
局域网中的其它电脑都会更新自身的ARP缓存表,记录
下192.168.0.1一MAC—A这样的记录,当它们发送给网
关的数据,都会发送到MAC—A这台电脑中。这样一来,
A电脑就将监听整个局域网发送给互联网的数据包,最
终导致全网瘫痪。
基于以上原理.可以看出ARP欺骗根据欺骗对象的
不同可以分为三种,只欺骗受害主机;只欺骗路由器、网
关;双向欺骗,即前面两种欺骗方法的组合使用。
3全面出击彻底清除ARP攻击
既然我们了解到了ARP的运行原理和ARP病毒攻
击的各种方式,我们就能够找到一系列防止ARP攻击的
有效手段,虽然有些方法只能够暂时缓解网络故障,但是
只要我们在使用中加以改进综合应用,做到软硬兼施,还
是能够彻底清除ARP攻击的。在实际应用中,我们一般
遵循的步骤为:排查故障、确定攻击源头、交换机硬件防
护、客户端软件防护。
3.1排查故障
在我们解决ARP病毒攻击的时候,首先要做的就是
查看各种现象和数据,确定问题来自于ARP攻击。这里
只介绍几种常见的故障案例:
案例1 在整个局域网中如果路由设备、交换设备在
-
l14・
件,并且频繁收到ARP冲突警报,那可以确认该子网中
有 攻击。
3.2确定攻击源头
在确定了网络中的故障是由 攻击引起的以后,
我们必须找到攻击的源头彻底查杀该病毒。这里介绍几
种常见的跟踪方法:
方法1在安装有ARP防火墙的客户端发出的警报
中可以得知攻击源的MAC地址,我们可以查看计算机实
名和MAC地址对应表来找到该主机(如果有该表的话);
或利用LAN HELP类的局域网扫描软件来查找该MAC
地址对应的IP地址和主机名寻觅信息,但是从我们前面
了解到,ARP攻击的原理就是该攻击源不停的更换自己
的IP地址,扫描的方法效果并不好。建议在建网初期就
应该做好各客户端的MAC地址和实名对应表以备查看。
方法2在终端计算机上运行arp—a命令查看ARP
缓存表,查找那些同一个MAC地址对应多个IP地址的
主机,找到攻击源的MAC地址,对应MAC地址表查询。
由于ARP攻击有一定的时间限制,我们可以使用arp~d
命令来清除当前的ARP缓存表,再用arp—a命令重复查
询,直到找到攻击源MAC地址。这种方法随机性很大,
在真正使用中不能大规模应用。
方法3在交换机中的ARP冲突日志中查找频繁冲
突的MAC地址,并记录该MAC地址所属的交换机端口,
对照交换机端口地址表来查询该攻击源来自于哪里。该
方法查找精确直观,但缺点是在多条El志记录中筛选出
有问题的信息会花费过多的时间和精力,尤其是对于一
个网段中存在多点ARP攻击更加困难。
方法4通过在交换机端口镜像的抓包,查询那些大
量发送ARP请求的机器进行查杀病毒,常用的软件有
ethereal和sniffer等抓包软件。
3.3交换机硬件防护
所谓的硬件防护,是指在各个核心的交换机和二层
交换机上做相应的ARP防护措施,主动来防御ARP攻
击,变被动为主动。这里介绍几种常用的方法:
方法1 在交换机上阻止网络用户仿冒网关IP地址
的ARP攻击,过滤掉仿冒网关IP的ARP报文。我们可
以配置全局ACL(访问控制列表)禁止所有Sender IP Ad—
dress字段是网关IP地址的ARP报文。举例配置如下
(以华为交换机为例):
acl num 5000
rule 0 deny 0806 ffff 24网关IP地址ffffffff 40/{巴整
效,而且手工输入必须要知道网关的MAC地址是多少,
对于普通用户而言也许有一定的难度,这样需要网络管
理员给各个网段的用户下发一个批处理文件,用户只要
个端口冒充网关的ARP Reply报文禁掉
rule 1 permit 0806 fff 24网关MAC地址ffffffffffff
34/允许通过网关发送的ARP报文
把以上访问控制列表下发到交换机的端口中即可。
运行就可以了。在记事本中输入如下内容,并保存为
arp.bat文件即可。
@echo off
方法2在交换机上做IP和MAC的一对一绑定,尽
可能过滤掉那些伪造的IP地址,还ARP一个干净的空
问。
arp—d/先清除 6 缓存表内容
a_rp S 192.168.1.1 00~19一e0~3e—b4—26/绑
在主机之间互相通信的时候都必须要经过它们所在
的交换机进行数据的转发,以上方法正是利用这一点来
定网关的IP和MAC地址
方法2利用ARP防护软件来绑定网关并开启报警
进行防范措施,唯一不足的是具体实施起来需要专业的
功能,如ARP Anti等,具体用法这里不再阐述。
网络技术。
网络安全问题不是网络中心一个部门就能解决的,
3.4客户端软件防护
需要所有上网用户的配合和支持。因为病毒和木马等在
在ARP攻击中,受害最严重的是广大上网用户,由
网络中的传播速度越来越快,任何一个用户受到病毒感
于这些用户不具备专业的网络防范意识和能力,在上网
染,都可能给整个网络带来重大影响。应该通过各种方
受到影响的同时传送的数据更有可能被截获,造成严重
法提高用户的网络安全防范意识和能力,养成良好的上
的财产安全问题。所以在ARP病毒防护中,客户端用户
网习惯,如安装最新的系统补丁、安装杀毒软件等。只有
也应该具备一定的防病毒能力,让ARP病毒危害降至最 靠大家共同努力,才能营造一个稳定、安全、畅通的网络
小。这里介绍几种常用的方法和工具:
环境。
方法1客户端在频繁遇到断网后,可以使用arp—d
命令来清空ARP缓存表,如果网络恢复正常,可以断定
参考文献:
本机受到了ARP攻击。这时可以使用arp—S命令来静
[1]雷震甲.网络工程师教程[M].北京:清华大学出版社,
态绑定网关的IP地址和MAC地址来保护自己不受ARP
2004:269—272.
攻击。这种方法的缺点是机器重新启动以后静态绑定失
[责任编辑:赵寅生]
ARP Virus Prevention Strategy
ZHANG Ma-li
(Department of Computer Science,Shanxi Professional Synthetical Institute of Engineering,Taiyuan 030006,China)
Abstract:ARP virus attacks would cause large area network paralyzed.many of the businesses and schools have caused serious
losses.There are two reasons of the virus was not eliminated completely,on the one hand,the characteristics of the ARP virus
is special,on the other hand,many people aren’t understand the virus
,
have not effective preventive measures.To eliminate
the virus attacks completely,it needs to understand the principle of the virus and deployment the strategy in the actual condi—
tions.
Key words:ARP;Virus;prevention
・
1l5・


发布评论