首页 > 范文大全 > 正文

浅谈局域网防ARP病毒

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

ARP地址欺骗类病毒(以下简称ARP病毒)是一类特殊的病毒,该病毒一般属于木马(Trojan)病毒,不具备主动传播的特性,不会自我复制。但是,由于其发作时会向全网发送伪造的ARP数据包,干扰全网的运行,因此它的危害比一些蠕虫要严重得多。

一、ARP病毒的原理

(一)ARP病毒的症状

局域网络运行时断时续,同一网段内有的计算机突然不能联网,稍后又能联网,经常是重复掉线。在能联网时,网速很慢。检查主交换机、二层交换机、连接光纤等都正常,最后用“科来网络分析”软件对192.168.2.X网段进行网络数据流量扫描,发现不明IP地址ARP数据流量异常,此网段内计算机访问网上邻居拷贝文件无法完成,出现错误;然后使用ARP查询的时候会发现不正常的MAC地址,或者是错误的MAC地址对应,另外一个MAC地址对应多个IP的情况也会有出现,根据MAC地址查找目标计算机,在目标计算机上发现网络杀毒软件已被破坏。

(二)什么是ARP协议

ARP全称为Address Resolution Protocol,即地址解析协议。它在TCP/IP协议栈中属于较低层的协议,负责将IP地址解析成对应的MAC地址。当以太网中两台主机通信时,主机A首先检查自己的ARP缓存中有没有主机B的MAC地址,如果有则将主机B的IP地址映射到相应的MAC地址,协议栈将IP包封装到以太网帧中进行传送。如果没有,主机A会发送一个ARP请求广播包,当主机B收到此广播后,会发出ARP响应包,将自己的MAC地址传给主机A,同时主机B将主机A的IP地址/MAC地址添加到自己的ARP缓存中,以供后面使用。主机A收到主机B的ARP响应包后,将更新自己的ARP缓存,并开始通信。

(三)ARP协议的工作原理

在以太网中传输的数据包是以太包,而以太包的寻址是依据其首部的MAC地址。仅仅知道某主机的IP地址并不能让内核发送一帧数据给此主机,内核必须知道目的主机的MAC地址才能发送数据。ARP协议的作用就是在于把32位的IP地址变换成48位的以太地址。

在以太局域网内数据包传输依靠的是MAC地址,IP地址与MAC对应的关系依靠ARP缓存表,每台主机(包括网关)都有一个ARP缓存表。在正常情况下这个缓存表能够有效保证数据传输的一对一性。我们可以在命令行窗口中,输入命令ARP-A,进行查看,输入命令ARP-D进行刷新。

当数据源主机需要将一个数据包要发送到目的主机时,会首先检查自己ARP列表中是否存在该IP地址对应的MAC地址,如果存在,就直接将数据包发送到这个MAC地址;如果不存在,就向本地网段发起一个ARP请求的广播包,询问目的主机的IP所对应的MAC地址。网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果不一致就不作回应;如果一致,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,后给数据源主机发送一个ARP响应数据包,告诉对方自己是它需要查找的MAC地址;源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。若数据源主机一直没有收到ARP响应数据包,表示ARP查询失败。

(四)ARP病毒欺骗及攻击原理

ARP欺骗分为二种,一种是对交换机或路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。第一种ARP欺骗的原理是――截获网关数据。它通知交换机或路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在交换机或路由器中,结果交换机或路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。第二种ARP欺骗的原理是――伪造网关。它的原理是建立假网关,受感染的计算机对其他计算机宣称自己的MAC就是网关的MAC,对实际的网关说其他机器IP的MAC都是自己的MAC,这样网关(交换机或路由器)无法接受到联网主机的MAC,更新不了网关ARP表,就无法转发数据帧。这样将破坏内网中的主机和路由交换设备ARP高速缓存机制,其症状严重时会使网络流量加大,设备CPU利用率过高、交换机二层生成树环路、短时间内断网(全部断网或是部分断网)和主机上网不稳定或交换机短时瘫痪的严重状况。

ARP欺骗的目的就是为了实现全交换环境下的数据监听,大部分的木马或病毒使用ARP欺骗攻击也是为了达到这个目的。假设一个只有三台电脑组成的局域网,该局域网由交换机(Switch)连接。其中一个电脑名叫A,代表攻击方;一台电脑叫S,代表源主机,即发送数据的电脑;另一台电脑名叫D,代表目的主机,即接收数据的电脑。这三台电脑的IP地址分别为:192.168.0.2,192.168.0.3,192.168.0.4。MAC地址分别为:MAC-A,MAC-S,MAC-D。现在,S电脑要给D电脑发送数据,则要先查询自身的ARP缓存表,查看里面是否有192.168.0.4这台电脑的MAC地址,如果有,就将MAC-D封装在数据包的外面,直接发送出去即可。如果没有,S电脑便向全网络发送一个这样的ARP广播包:S的IP是192.168.0.3,硬件地址是MAC-S,要求返回IP地址为192.168.0.4的主机的硬件地址。而D电脑接受到该广播,经核实IP地址,则将自身的IP地址和MAC-D地址返回到S电脑。现在S电脑可以在要发送的数据包上贴上目的地址MAC-D发送出去,同时它还会动态更新自身的ARP缓存表,将192.168.0.4-MAC-D这一条记录添加进去,这样,等S电脑下次再给D电脑发送数据的时候,发送ARP广播包进行查询了。这就是正常情况下的数据包发送过程。

但是,上述数据发送机制有一个致命的缺陷,即它是建立在对局域网中电脑全部信任的基础上的,也就是说它的假设前提是:无论局域网中哪台电脑,其发送的ARP数据包都是正确的。比如在上述数据发送中,当S电脑向全网询问后,D电脑也回应了自己的正确MAC地址。但是当此时,A电脑却返回了D电脑的IP地址和自己的硬件地址。由于A电脑不停地发送这样的应答数据包,则会导致S电脑又重新动态更新自身的ARP缓存表,这回记录成:192.168.0.4与MAC-A对应,我们把这步叫做ARP缓存表中毒。这样,就导致以后凡是S电脑要发送给D电脑,都将会发送给A主机。也就是说,A电脑就劫持了由S电脑发送给D电脑的数据。这就是ARP欺骗的过程。

如果A电脑不冒充D电脑,而是冒充网关,那后果会更加严重。一个局域网中的电脑要连接外网,都要经过局域网中的网关进行转发。在局域网中,网关的IP地址假如为192.168.0.1。如果A电脑向全网不停地发送IP地址是192.168.0.1,硬件地址是MAC-A的ARP欺骗广播,局域网中的其它电脑都会更新自身的ARP缓存表,将A电脑当成网关,这样,当它们发送数据给网关,结果都会发送到MAC-A这台电脑中。这样,A电脑就将会监听整个局域网发送给互联网的数据包。

二、ARP病毒的解决办法

(一)检测中ARP病毒的计算机

如果发现局域网ARP病毒攻击,只要利用ARP病毒的基本原理:发送伪造的ARP欺骗广播,由于中毒的计算机自身伪装成网关的特性,就可以快速被锁定。可以设想用程序来实现以下功能:在网络正常的时候,牢牢记住正确网关的IP地址和MAC地址,并且实时监控来自全网的ARP数据包,当发现有某个ARP数据包广播,其IP地址是正确网关的IP地址,但其MAC地址却是其他计算机的MAC地址的时候,无疑是发生了ARP欺骗。对此可疑MAC地址报警,再根据网络正常时候的IP―MAC地址对照表查询该机,定位出其IP地址,这样就能找出中毒的机器了。

方法之一:命令行法。这种方法比较简便,不利用第三方工具,利用系统自带的ARP命令即可完成。上文已述,当局域网中发生ARP欺骗的时候,中了ARP病毒的机器会向全网不停地发送ARP欺骗广播,这时局域网中的其他计算机就会动态更新自身的ARP缓存表,将网关的MAC地址记录成该机的MAC地址,此时只要在其他受影响的机器中查询一下当前网关的MAC地址,就知道该中毒机的MAC地址了,查询命令为ARP-a,需要在cmd命令提示行下输入。输入后的返回信息如下:

InternetAddress PhysicalAddress Type

192.168.0.10000-50-56-e6-49-56 dynamic

这时,由于该机的ARP表是错误的记录,因此,该MAC地址不是真正网关的MAC地址。再根据网络正常时,全网的IP―MAC地址对照表,查找中毒机器的IP地址就可以了。由此可见,在网络正常的时候,保存一个全网计算机的IP--MAC地址对照表是多么重要。可以使用nbtscan工具扫描全网段的IP地址和MAC地址,保存下来,以备后用。

方法之二:工具软件法。现在网上有很多ARP病毒定位工具,其中做得较好的是360ARP防火墙。

(二)解决ARP病毒

1.手动绑定网关,IP和正确的MAC。静态绑定法,针对网关劫持的ARP攻击,可以使用以下命令:“arps网关IP地址网关MAC地址”,在客户端电脑手工绑定网关的IP地址和MAC地址。为了避免每次开机都要进行重复操作,建立以下批处理文件,并将该批处理文件设成随机自动启动即可。但需要说明的是,手工绑定在计算机关机重开机后就会失效,需要再次绑定。所以,要彻底根除攻击,只有找出网段内被病毒感染的计算机,令其杀毒,方可解决。也可以写一个批处理文件来每次开机自动绑定,如下所示。

@echo Off

arp-d

arps网关IP网关MAC

将文件中的网关IP地址和MAC地址更改为您自己的网关IP地址和MAC地址,然后将这个批处理软件拖到“windows―开始―程序―启动”中。

2.使用软件解决。对于对计算机不是很熟悉的办公人员,最好使用软件来解决ARP中毒问题。推荐360ARP护火墙。360ARP护火墙的下载地址:http://www.省略。只要把软件装上,上网的时候把软件打开让它运行,一般就可以预防ARP病毒的攻击了。

3.建立良好的防范措施。A,建立DHCP服务器,要给每个网卡,绑定固定惟一IP地址。保持网内的机器IP/MAC一一对应的关系。这样客户机虽然是DHCP取地址,但每次开机的IP地址都是一样的。B,利用交换机的IP、MAC地址与端口的绑定,可以防止盗用IP,防止ARP欺骗。C,网关ARP强制广播技术,针对ARP攻击中最常见的网关劫持,可以命令网关设备不断强制广播正确的ARP报文,压制ARP攻击。由于现在局域网中ARP病毒的泛滥,许多厂家的网关设备中增加了ARP强制广播功能。D,建立MAC数据库,把同一网段内所有网卡的MAC地址记录下来,每个MAC和IP、地理位置统统装入数据库,以便及时查询备案。E,配置VLAN,VLAN可以有效地隔离广播报文,大大减少ARP病毒的传播范围和传播速度,同时也减轻了交换机的流量负荷,减少广播风暴出现的几率。

由于ARP协议的先天缺陷,要根治ARP攻击,不仅需要局域网管理者的努力,也需要网内每一个用户的配合,建立良好的网络环境,包括给所有的服务器和客户瑞定期打系统补丁,减少木马感染,计算机用户都安装上网络版的杀毒软件,定期升级病毒库等才能将ARP攻击对局域网的影响减小到最低的程度。

参考文献:

[1]谢希仁.计算机网络[M].电子工业出版社,ISBN:7-5053-5237-8767―3.

[2]宋晓辉.ARP病毒攻击机理与防御[J].网络安全与应用,2006,(12).

[3]张世永著.网络安全原理与应用[M].科学出版社,2003-5.

[4]黄玉春,王自南.浅谈局域网中的嗅探原理和arp欺骗.大众科技出版社,2006.

(作者单位:青海日报社网络信息中心)