网络通信 频道

实例分析:抵抗ARP网络攻击有高招

    编者按:本文在分析针对ARP协议弱点进行ARP欺骗所产生的局域网安全问题的基础上,通过与传统的防止ARP欺骗的方法相比较,提出了一种新的防止ARP欺骗的方法,同时给出了具体的代码实现和详细的注释。

一:ARP协议介绍分析

   IP数据包常通过以太网发送。以太网设备并不识别32位IP地址:它们是以48位以太网地址传输以太网数据包的。因此,IP驱动器必须把IP目的地址转换成以太网目的地址。在这两种地址之间存在着某种静态的或算法的映射,常常需要查看一张表。地址解析协议(Address Resolution Protocol,ARP)就是用来确定这些映象的协议。ARP为IP地址到对应的硬件地址之间提供动态映射,这个过程是自动完成的,在每台主机上都有一个ARP高速缓存,这个高速缓存存放了最近IP地址到硬件地址之间的映射记录.高速缓存中每一项的生存时间一般为20分钟。

    ARP协议弱点

   ARP作为一个局域网协议,是建立在各个主机之间相互信任的基础上的,因此存在安全问题。

(I) 主机地址映射表是基于高速缓存的,动态更新的。由于正常的主机间的MAC地址刷新都是有时限的,这样恶意用户如果在下次交换前成功地修改了被欺骗机器上的地址缓存,就可进行假冒或拒绝服务攻击。

(II)可以随意发送ARP应答分组。由于ARP协议是无状态的,任何主机即使在没有请求的时候也可以做出应答,因此任何时候都可以发送ARP应答。只要应答分组是有效的,接收到ARP应答分组的主机就无条件地根据应答分组的内容刷新本机的高速缓存。

(III)ARP应答无须认证。由于局域网内的主机间通信基本上是相互信任的,因此,只要是收到来自局域网内的ARP应答分组,就会将其中的MA C/IP地址对刷新到本机的高速缓存中,而不进行任何认证。

1.3 ARP欺骗针对ARP协议的弱点,下面就举例说明如何进行ARP欺骗。
如图1所示:3台主机A,B,C

    我们通过主机A对主机B进行ARP欺骗。首先,在主机A上伪造一个ARP应答分组,在这个应答分组中,将主机A的ip地址192.168.0.3与主机A的MAC地址MAC1绑定,然后向主机B发送这个ARP应答分组。当主机B收到我们在主机A上伪造的ARP应答分组后,由于局域网内的主机间通信基本上是相互信任的,所以主机B就会更新自己的ARP高速缓存表,将192.168.O.3与MAC1相关联,那么在主机B广播ARP REQUEST包更新缓存之前,主机B发往主机C的所有数据报都将发往主机A,这样就对主机B成功地进行ARP欺骗。

0
相关文章