Arp攻击原理及防范

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Arp攻击原理及防范

1.ARP协议简介

在局域网中,一台主机要和另一台主机进行通信,必须要知道另一台主机的IP地址,但是最终负责在局域网中传送数据的网卡等物理设备是不识别IP地址的,只能识别其MAC地址。MAC地址是48位的,通常表示为12个16进制数,每2个16进制数之间用“-”或者冒号隔开,如:FF-FF-FF-FF-FF-FF就是一个MAC地址。每一块网卡都有其全球唯一的MAC地址,网卡之间发送数据,只能根据对方网卡的MAC地址进行发送,这时就需要一个将数据包中的IP地址转换成MAC地址的协议,而这个重要的任务将由ARP协议完成。

ARP全称为Address Resolution Protocol,即地址解析协议。所谓“地址解析”就是主机在发送数据包前将目标主机IP地址转换成目标主机MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。这时就涉及到一个问题,一个局域网中的电脑少则几台,多则上百台,这么多的电脑之间,如何能准确的记住对方电脑网卡的MAC地址,以便数据的发送呢?这就涉及到了另外一个概念,ARP 缓存表。在局域网的任何一台主机中,都有一个ARP缓存表,该表中保存这网络中各个电脑的IP地址和MAC地址的对照关系。当这台主机向同局域网中另外的主机发送数据的时候,会根据ARP缓存表里的对应关系进行发送。

下面,我们用一个模拟的局域网环境,来说明ARP欺骗的过程。

2.ARP欺骗过程:

如图(1)所示(在相册)局域网中有三台主机与交换机相连接,主机名分别为A、B、C,交换机为网关命名为S,IP如图所示。现在A与C进行通信,正常情况下通信过程如下:A 将自身的数据打包目地IP为C的IP,因为不知道C的MAC,所以A向全网发出ARP请求要求得到C的MAC,C收到广播报文后将自身的MAC地址发送给A,A得到C的MAC后将数据打包,封装目的为C的IP和MAC,然后将数据包发送给S;S收到该包后拆包得到C的MAC,然后再对照自身的ARP缓存表,将数据包发送给C,一次通信完成。

这样的机制看上去很完美,似乎整个局域网也天下太平,相安无事。但是,上述数据发送机制有一个致命的缺陷,即它是建立在对局域网中电脑全部信任的基础上的,也就是说它的假设前提是:无论局域网中那台电脑,其发送的ARP数据包都是正确的。那么这样就很危险了!因为局域网中并非所有的电脑都安分守己,往往有非法者的存在。此时A想得到C 的MAC向全网发送广播,C将自己的MAC发给A,而此时一直沉默的B也向全网发出广播报文,说自已的IP为192.168.0.4MAC为B的MAC即MAC_b,原本A得到的C的MAC是正确的,由于B不停的发送广播报文,但A不知道B的MAC是伪造的,导致A重新动态更新自己的ARP缓存表,此时A的ARP缓存表里记录了一条错误的记录,这就导致了A以后要发送给C的数据全部发给了B。这就是ARP欺骗中冒充主机的方式。

如果B冒充网关又会是什么情况呢?大家知道局域网中所有电脑上网都要通过网关转发数据才能登陆互联网。此时如果B向全网发送广播说我的IP为192.168.0.1 MAC为MAC_b 即B自己的MAC,由于局域网通信的前提条件是信任任何电脑发送的ARP广播包。这样局域网中的其它电脑都会更新自身的ARP缓存表,记录下192.168.0.1-MAC_b这样的记录,这样,当它们发送给网关,也就是IP地址为192.168.0.1这台电脑的数据,结果都会发送到MAC_b这台电脑中!这样,B就将会监听整个局域网发送给互联网的数据包!

ARP病毒新的表现形式

由于现在的网络游戏数据包在发送过程中,均已采用了强悍的加密算法,因此这类ARP病毒在解密数据包的时候遇到了很大的难度。现在又新出现了一种ARP病毒,与以前的一样的是,该类ARP病毒也是向全网发送伪造的ARP欺骗广播,自身伪装成网关。但区别是,

它着重的不是对网络游戏数据包的解密,而是对于HTTP请求访问的修改。

HTTP是应用层的协议,主要是用于WEB网页访问。还是以上面的局域网环境举例,如果局域网中一台电脑A要请求某个网站页面,如想请求这个网页,这台电脑会先向网关发送HTTP请求,说:“我想登陆网页,请你将这个网页下载下来,并发送给我。”这样,网关就会将页面下载下来,并发送给A电脑。这时,如果B这台电脑通过向全网发送伪造的ARP欺骗广播,自身伪装成网关,成为一台ARP中毒电脑的话,这样当A电脑请求WEB网页时,B电脑先是“好心好意”地将这个页面下载下来,然后发送给A电脑,但是它在返回给A电脑时,会向其中插入恶意网址连接!该恶意网址连接会利用MS06-014和MS07-017等多种系统漏洞,向A电脑种植木马病毒!同样,如果C电脑也是请求WEB页面访问,B电脑同样也会给C电脑返回带毒的网页,这样,如果一个局域网中存在这样的ARP病毒电脑的话,顷刻间,整个网段的电脑将会全部中毒!沦为黑客手中的僵尸电脑!

ARP欺骗的防范

1、仅在PC上绑定安全网关的IP和MAC地址或者做一个批处理文件来进行绑定,当病毒机器伪造IP/MAC,使错误的数据包充斥与网络中会造成大面积的掉线等情况。

2、仅在路由器做MAC绑定,没有从根本上解决ARP防护,当中ARP病毒的机器伪造网关使其他电脑将数据发到伪造的网关同样会造成掉线等相关问题。

3、利用一些辅助工具软件,比如一些防ARP病毒攻击软件,或者在PC机安装系统是安装IP/MAC绑定软件等,但现在还没有一款很实用的防ARP攻击软件可以做到有效的防制功能,再就是有些软件占用系统资源比较大,如果有攻击的话会大量占用CPU使用率以及内存等同样造成网络的不可用等问题。

4、使用监控软件,但是ARP病毒的发作不是说有规律可寻找的,网络管不可能时时都去注意这样的问题。

5、某些软件通过做几个假的DLL文件欺骗探测软件,但是某些ARP新的变种病毒不需要探测就可以进行ARP攻击。

6、在客户绑定过程中出现输入的错误等操作上的不足。

以上几个常用的方法其起到的作用是有限的,但是都会存在这样或者那样的弊端,我们必须寻求更好的解决办法,下面我们来介绍几招新的升级版的防治办法。

通过对批处理文件做相应的修改,再检查路由器上的绑定,之后这个网吧就没有发现掉线问题了,至今网络运行正常,所以可看出通过双向绑定是完全可以解决ARP病毒防制的,确实是一个行之有效的办法,完全可以解决ARP病毒造成网络吊线、IP冲突的现象,使ARP 病毒无能为力。同时建议用户在做双向绑定后,通过Arp –a的命令检查绑定是否有效,和路由器上的绑定是否有错误,这样来进一步确保防制ARP病毒的攻击,下面强调防制几个注意的问题。

1、执行完之后要用arp -a 看type 是static 还是dynamic。

2、不要用复杂的脚本,最简单的即可防止别人中了,自己不受影响,发现有中了ARP,提醒一下别人以防盗取帐号密码。

3、目前防毒软件也没有对此有很好的防范。

4、ARP称之为病毒,但实质上对于ARP协议来说,只是完善和加强(就好象信用卡在中国需要加密码,在外国只需要签名一样,但不是信用机制出了问题)。

5、不要指望能过广播发包,最终受影响的是自己的网络。

具体的ARP的解决方法

相关文档
最新文档