近一段时间带有ARP攻击行为的病毒,木马很是常见,主要有两种表现形式:
1. 频繁的出现地址冲突的现象
2. 上网速度很慢甚至上不了网。
经分析,这大部分是由于病毒进行ARP地址欺骗造成的。由于ARP协议的固有的缺陷,病毒通过发送假的ARP数据包,使得同网段的计算机误以为中毒计算机是网关,造成其它计算机上网中断(第一种情况)。或是假冒网络中特定的机器对这台机器通信的数据进行截获(第二种情况)。为了避免中毒计算机对网络造成影响,趋势科技已经提供相关的防御工具KB(62735),由于ARP病毒攻击的复杂多变性,现在针对两种基本的攻击行为的原理进行分析,并提出相应的解决思路。
1. 上网速度很慢甚至上不了网
我们首先要了解一下ARP(Address Resolution Protocol)地址解析协议,它是一种将IP地址转化成物理地址的协议。ARP具体说来就是将网络层(TCP/IP协议的IP层,也就是相当于OSI的第三层)地址(32位)解析为数据链路层(TCP/IP协议的MAC层,也就是相当于OSI的第二层)的MAC地址(48位)[RFC826]。ARP协议是属于链路层的协议,在以太网中的数据帧从一个主机到达网内的另一台主机是根据48位的以太网地址(硬件地址)来确定接口的,而不是根据32位的IP地址。内核(如驱动)必须知道目的端的硬件地址才能发送数据。当然,点对点(如两台直联的计算机)的连接是不需要ARP协议的。为了解释ARP协议的作用,就必须理解数据在网络上的传输过程。这里举一个简单的ping例子。
假设我们的计算机A的IP地址是192.168.1.50,要测试与B机器的连通性,执行这个命令:ping 192.168.1.51。该命令会通过ICMP协议发送ICMP数据包。该过程需要经过下面的步骤: