设为首页
加入收藏

  

 

ARP病毒的分析及解决

 

一、ARP原理分析

在局域网中,通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)的。ARP协议对网络安全具有重要的意义。通过伪造IP地址和MAC地址实现ARP欺骗,能够在网

络中产生大量的ARP通信量使网络阻塞。

ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,

查询目标设备的MAC地址,以保证通信的顺利进行。每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,如下表所示。

  主机 IP地址 MAC地址

A 192.168.16.1 aa-aa-aa-aa-aa-aa

B 192.168.16.2 bb-bb-bb-bb-bb-bb

C 192.168.16.3 cc-cc-cc-cc-cc-cc

D 192.168.16.4 dd-dd-dd-dd-dd-dd

  我们以主机A(192.168.16.1)向主机B(192.168.16.2)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:“192.168.16.2的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.16.2的MAC地址是bb-bb-bb-bb-bb-bb”。这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。同时它还更新了自己的ARP缓存表,下次再向主机B发送信息时,直接从ARP缓存表里查找就可以了。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的

长度,加快查询速度。

  从上面可以看出,ARP协议的基础就是信任局域网内所有的人,那么就很容易实现在

以太网上的ARP欺骗。对目标A进行欺骗,A去Ping主机C却发送到了DD-DD-DD-DD-DD-DD这个地址上。如果进行欺骗的时候,把C的MAC地址骗为DD-DD-DD-DD-DD-DD,于是A发送到C上的数据包都变成发送给D的了。这不正好是D能够接收到A发送的数据包了么,嗅探成功。

A对这个变化一点都没有意识到,但是接下来的事情就让A产生了怀疑。因为A和C

连接不上了。D对接收到A发送给C的数据包可没有转交给C。

  做“man in the middle”,进行ARP重定向。打开D的IP转发功能,A发送过来的数据包,转发给C,好比一个路由器一样。不过,假如D发送ICMP重定向的话就中断了整个

计划。

D直接进行整个包的修改转发,捕获到A发送给C的数据包,全部进行修改后再转发给C,而C接收到的数据包完全认为是从A发送来的。不过,C发送的数据包又直接传递给A,倘若再次进行对C的ARP欺骗。现在D就完全成为A与C的中间桥梁了,对于A

和C之间的通讯就可以了如指掌了。

二、故障现象

  当局域网内某台主机运行ARP欺骗的木马程序时,会欺骗局域网内所有主机和路由器,让所有上网的流量必须经过病毒主机。其他用户原来直接通过路由器上网现在转由通过病毒

主机上网,切换的时候用户会断一次线。

  切换到病毒主机上网后,如果用户已经登陆了传奇服务器,那么病毒主机就会经常伪造

断线的假像,那么用户就得重新登录传奇服务器,这样病毒主机就可以盗号了。

  由于ARP欺骗的木马程序发作的时候会发出大量的数据包导致局域网通讯拥塞以及其自身处理能力的限制,用户会感觉上网速度越来越慢。当ARP欺骗的木马程序停止运行时,

用户会恢复从路由器上网,切换过程中用户会再断一次线。

三、解决思路

1、不要把你的网络安全信任关系建立在IP基础上或MAC基础上,(rarp同样存在欺骗

的问题),理想的关系应该建立在IP+MAC基础上。

2、设置静态的MAC-->IP对应表,不要让主机刷新你设定好的转换表。

3、除非很有必要,否则停止使用ARP,将ARP做为永久条目保存在对应表中。

4、使用ARP服务器。通过该服务器查找自己的ARP转换表来响应其他机器的ARP广

播。确保这台ARP服务器不被黑。

5、使用“proxy”代理IP的传输。

6、使用硬件屏蔽主机。设置好你的路由,确保IP地址能到达合法的路径。(静态配置

路由ARP条目),注意,使用交换集线器和网桥无法阻止ARP欺骗。

7、管理员定期用响应的IP包中获得一个rarp请求,然后检查ARP响应的真实性。

8、管理员定期轮询,检查主机上的ARP缓存。

9、使用防火墙连续监控网络。注意有使用SNMP的情况下,ARP的欺骗有可能导致陷

阱包丢失。

四、Wealnet用户的解决方案

建议用户采用双向绑定的方法解决并且防止ARP欺骗。

1、在PC上绑定路由器的IP和MAC地址:

1)首先,获得路由器的内网的MAC地址(例如Wealnet网关地址192.168.16.1的MAC地址为0022aa0022aa局域网端口MAC地址>)。

2)编写一个批处理文件rarp.bat内容如下:

@echo off

arp -d

arp -s 192.168.16.1 00-22-aa-00-22-aa

  将文件中的网关IP地址和MAC地址更改为您自己的网关IP地址和MAC地址即可。

  将这个批处理软件拖到“windows--开始--程序--启动”中,开机运行。

2、用抓包软件分析网络,看哪一台电脑在广播大量的ARP包,查找对应的IP地址及MAC地址,对该主机进行查杀病毒或者重装操作系统处理。

 

 

        

 

 

  地址:东莞市塘厦镇石马村连塘角工业区3号
深圳市盈泽维网电子科技有限公司版权所有
  电话:(86)-769-21720608
Copyright © 2006 Full River(HongKong)LIMITED
  传真:(86)-769-87819239
All rights reserved.