产品
产品中心
< 返回主菜单
产品

交换机

交换机所有产品
< 返回产品
交换机
查看交换机首页 >

无线

无线所有产品
< 返回产品
无线
查看无线首页 >

云桌面

云桌面产品方案中心
< 返回产品
云桌面
查看云桌面首页 >

安全

安全所有产品
< 返回产品
安全
查看安全首页 >
产品中心首页 >
行业
行业中心
< 返回主菜单
行业
行业中心首页 >

ARP欺骗防御解决方案技术白皮书

通过锐捷网络GSN解决方案中的“ARP三重立体防御体系”,解决了ARP欺骗中的网关型欺骗,中间人欺骗以及ARP泛洪攻击,在可能发生ARP请求和响应的所有环节,都加以防范,有效弥补了由于ARP协议本身的缺陷所带来的漏洞,解决了困扰广大网络管理员的ARP欺骗问题,给我们的局域网带来更加健康和谐的网络环境。

  • 发布时间:2009-10-15

  • 点击量:

  • 点赞:

分享至

我想评论

1 ARP协议与ARP欺骗

ARP欺骗,一个让我们耳熟能详的网络安全事件,普遍的存在于校园网、企业网等网络环境中,给我们的工作、学习和生活带来了很大的不变,轻则网络变慢、时断时续,重则直接无法上网、重要信息被窃取,可以说,ARP欺骗是网络的一块顽疾。分析ARP欺骗,就不得不研究一下ARP协议,因为这种攻击行为正是利用了ARP协议本身的漏洞来实现的。
     1.1 ARP协议

ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写,它的作用,就是将IP地址转换为MAC地址。在局域网中,网络中实际传输的是“数据帧”,数据帧如果要到达目的地,就必须知道对方的MAC地址,它不认IP的。但这个目标MAC地址是如何获得的呢?它就是通过ARP协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。 

每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,例如下表所示。
                          表1 ARP缓存表举例 

     主机

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欺骗产生了。下面我们来看看ARP欺骗到底是怎么回事。

1.2 ARP欺骗原理   

为什么会有ARP欺骗,这还要从ARP协议说起,前面我们介绍了,当源主机不知道目标主机的MAC地址的话,就会发起广播询问所有主机,然后目标主机回复它,告知其正确的MAC地址,漏洞就在这里,如果一个有不轨图谋的主机想收到源主机发来的信息(可能是用户名、密码、银行账号之类的信息),那么它只需也向源主机回复一下,响应的IP地址没错,但MAC地址却变成了发起欺骗的主机的,这样,信息就发到它那里去了(前面说了,数据帧只认MAC地址)。这是一种欺骗的方式,还有一种方式,是利用了“免费ARP”的机制。所谓免费ARP就是不需要别人问,一上来就先告诉别人,我的IP地址是多少,我的MAC地址是多少,别的主机无需广播,就已经知道了该主机的IP和MAC,下次需要发到这个IP的时候,直接发就行了。既然是主动发起的,就可以被别有用心的人利用了,用一个假冒的IP地址(可能是网关的或者重要服务器的地址)加上自己的MAC出去骗别人,就把重要的信息都骗到这里来了。下面我们来看看ARP欺骗的具体操作过程。

1.2.1 局域网主机冒充网关进行ARP欺骗   

欺骗过程:如下图所示, PC A 跟网关GW C 通讯时,要知道GW 的MAC地址,如果PC B 假冒GW 告诉PC A , GW的mac地址是 MAC B; 或者干脆告诉PC A,GW的mac地址是 MAC X, 那么,PC A就受骗了,PC A 的数据就到不了网关,造成断线。 

1.2.2 局域网主机冒充其他主机欺骗网关
       欺骗过程:网络通讯是一个双向的过程,也就是说,只有保证PC A -> Gw C以及Gw C -> PC A 都没问题,才能确保正常通讯。假如,PC B冒充主机PC A,告诉GW C:PC A的MAC是MAC B,网关就受骗了,那么,PC A到GW C没有问题,可是,GW C到不了PC A,因而造成网络断线。
       以上两种欺骗,尤其是第二种类型的欺骗,现在更为常见。从本质上说,同一局域网内(这里指在同一网段)的任何两个点的通讯都可能被欺骗,无论是主机到网关,网关到主机,主机到服务器,服务器到主机,还有主机之间都是一样,都可能产生进行ARP欺骗,欺骗本质都是一样。
1.2.3 其他欺骗类型
       1. 主机冒用其它主机,欺骗其它主机的方式:如主机A冒用主机B的Mac,欺骗主机C,以达到监听主机B和主机C的目的,并且导致主机B到主机C之间的网络连接中断。
       2. 外网欺骗:外网冒用路由器A的MAC,欺骗更上一级的路由器B,导致更上一级的路由器被骗,将内网信息全部转发给外网恶意主机。

2 防御ARP欺骗的解决方案概览

面多ARP欺骗带来的危害日益升级,越来越多的网络深受其害,在网络安全界也涌现出了多种ARP欺骗的防御方案,这里简单加以总结。  

2.1 接入交换机/网关手动绑定

       目前主流的安全接入交换机/网关都具有IP、MAC绑定功能,像锐捷网络的安全接入交换机甚至提供了6元素(IP、MAC、VLAN ID、交换机端口号、用户名、密码)的绑定,可以通过在接入交换机上将下联每台主机的IP和MAC地址绑定起来,将不符合IP、Mac绑定信息的报文全部丢弃,这样有效的防住了内网用户冒充网关或其他主机来欺骗内网其他用户的目的。
   

这种方法的局限性:
        配置工作量大,每台交换机下所连的所有用户都要一一手动绑定,对于交换机下联客户机变换频繁的场合,基本无可用性;
        无法防御来自外部的ARP欺骗,只对本交换机所接用户负责;
        无法适用于采用动态IP的场合;
        接入交换机/网关手动绑定的方法,是现在采用的比较多的手段,但由于其以上的局限性,所以要配合其他手段才能完善的防御ARP欺骗。

2.2 主机端手动绑定

通过Windows自带的ARP-S命令,可以将特定的IP地址和Mac地址进行绑定,实现一定的ARP欺骗防御。
        这种方法的局限性:
        配置麻烦,主机需要通信的目标很多,不可能一个一个都绑起来。
        容易失效,这种方法进行的绑定,一拔掉网线或者关机、注销就全部失效了,如果想继续使用,就需要重新绑定。
        只能进行主机端的防御,如果网关遭欺骗则无能为力。
        跟接入交换机绑定一样,主机端手动绑定也是只能实现部分防御,需要与其他方法结合来完善。

 2.3 网关定期发送免费ARP
   

这是一种抑制的方法,因为ARP表项有老化期,经过一段时间就需要重新更新,所以通过网关定期发送免费ARP,不时的“提醒”主机,真正的网关在这里,来防止伪装成网关的ARP欺骗。
       这种方法的局限性:
       网关定期发送免费ARP,对于网关设备的性能提出了很高的要求,同时,大量的免费ARP报文无疑也大大占用了网络的带宽;
       由于很多ARP欺骗也是通过频繁大量发送免费ARP报文来实现的,所以如果网关这么做,欺骗只需要将发送的频率加大几倍就依然可以欺骗成功。

2.4 主机安装ARP防御软件

目前这类软件很多,其基本原理与上一个方法相同,就是每个主机都不停的发送免费ARP广播,来告诉别人自己的IP和MAC的绑定关系,以达到抑制欺骗ARP报文的目的。
        这种方法的局限性:
        同上一个方法一样,这种方法也是通过耗费大量网络带宽来实现的,所以在许多主机安装了ARP防火墙的网络中,网络性能往往都会非常低下,因为大量的带宽都被免费ARP报文占用了。
        以上就是目前常见的几种防范ARP欺骗的解决方案,我们可以看到,每个方案各有利弊,都无法完善方便的防住ARP欺骗。只有通过多种手段的结合,配合完善的内网管理机制,才能实现ARP欺骗的真正防御。
 

3 锐捷网络三重立体ARP防御解决方案

       ARP欺骗攻击存在的原因,究其根本在于ARP协议本身的不完善,通信双方的交互流程缺乏一个授信机制,使得非法的攻击者能够介入到正常的ARP交互中进行欺骗。要从根本上解决ARP欺骗的问题,必须要在局域网内的通信双方之间建立起一个可信任的验证体系。
       锐捷网络GSN全局安全解决方案中特有的“ARP三重立体防御体系”,正是为了应对现在日益严重的ARP欺骗现象而制定的,整个解决方案遵循以下思路进行:

3.1 方案原理
        用户身份合法性验证
        通过部署GSN解决方案,实行基于IEEE 802.1X协议的身份认证系统,所有用户都必须要经过统一集中的身份鉴权认证方能允许接入网络。统一的身份认证系统确保了所有网络中的在线用户都有合法的身份信息,并且利用802.1X协议基于MAC地址的逻辑端口认证特性,保障了认证系统的中央服务端能够在用户认证过程中获取到用户真实的IP-MAC对应信息。
        确保真实ARP信息来源
        防治ARP欺骗的最重要一个环节是确保ARP信息的真实可靠。对于局域网通信最主要的两个对象:网关和用户来说,网关的IP-MAC对应关系是不会轻易变更的;而通过在全网实施的入网身份认证系统,能够确保在用户每次上线时的认证过程中都能提交真实的IP-MAC信息。网络中各元素的真实ARP信息有了可靠的来源保障。
        中立的第三方ARP授信体系
        前文已经谈到,要从根本上防治ARP欺骗,必须在通信双方之间建立可靠的验证体系。而由于ARP协议本身的缺陷性,不管是通信双方的网关或是主机都无法胜任对ARP信息的可靠性进行验证的角色,需要通过中立的第三方系统把控ARP协议的通信过程。GSN系统能够对在线用户的身份信息进行统一的管理,非常适合进行ARP信息的授权管理。
        建立可信任ARP(Trusted ARP)机制
        可信任ARP机制用于在局域网通信的双方之间进行可靠的ARP信息同步,具体到各个不同的网络元素之间的同步过程,可以分为以下两种操作:
        主机ARP静态绑定:在客户端主机进行网关的ARP静态绑定。当用户认证上线时,认证服务端在本地保存的网关IP-MAC对应关系表中查找用户所属网关,并将该用户所对应的网关IP和MAC地址进行下发,由802.1X认证客户端程序在用户的主机端进行网关MAC和IP的ARP静态绑定。
        客户端在认证成功后进行ARP静态绑定,然后定时进行ARP静态绑定是否被更改的检测,如果被更改,则重新进行绑定,以防止一些木马程序以合法的方式对ARP静态绑定进行的更改,用户下线时删除主机的网关ARP静态绑定。
        网关可信任ARP绑定:当用户认证上线时,认证服务端通过接入交换机获取用户真实的IP-MAC关联信息,并根据用户的网关信息,将用户相应的ARP表项在网关进行主机的IP和MAC的ARP静态绑定.该方式同主机ARP静态绑定相结合,能够达到双绑定的效果。

在网关设备上增加可信ARP表项 

锐捷网络S37系列等智能三层接入/汇聚交换机能够支持可信任ARP表项功能。可信任ARP作为一类特殊ARP,添加在交换机端的ARP表中。可信任ARP同时具有静态ARP和动态ARP两者的特征,其优先级高于动态ARP表项、并且低于静态ARP表项。可信任ARP具有类似于动态ARP的老化机制――通过记录和刷新每个表项的老化时间来判断该表项是否需要老化。可信任ARP具有静态ARP的相关特征,即不被动态ARP所覆盖。 

可信任ARP归类为动态ARP,因此对于ARP的相关功能模块,该可信任ARP将被视为动态ARP。使用这种方式可避免可信任ARP对原有ARP相关模块的影响。同时,由于静态ARP优先级高于可信任ARP,因此用户手动配置的静态ARP可以覆盖可信任ARP。 

因此,在实施了可信任ARP功能之后,对于网络管理员来说,所有操作完全都是透明的,不会对网络管理员的原有网络管理产生任何影响,因为对于原有的网络来说,可信任ARP就是动态ARP。只有在ARP更新这个地方有了轻微了变化,而且所有的一切动作都是后台进行的。 

3.2 方式实现过程及效果 

3.2.1 第一重,网关防御 

网关防御的实现过程如下:
        SMP学习已通过认证的合法用户的IP-MAC对应关系。
        SMP将用户的ARP信息通知相应网关。
        网关生成对应用户的可信任ARP表项。

GSN网关防御过程如下: 

攻击者冒充用户IP对网关进行欺骗。

真正的用户已经在网关的可信任ARP表项中,欺骗行为失败。

3.2.2 第二重,客户端防御

用户端防御的实现方法如下:
        在SMP上设置网关的正确IP-MAC对应信息。
        用户认证通过,SMP将网关的ARP信息下传至SU。
        SU静态绑定网关的ARP。

用户端防御的实现过程如下:
        攻击者冒充网关欺骗合法用户。
        用户已经静态绑定网关地址,欺骗攻击无效。

3.2.3 第三重,交换机非法报文过滤 

交换机非法报文过滤,是通过锐捷网络安全智能交换机的安全功能来实现的,具体实现方法如下:
        用户认证通过后,交换机会在接入端口上绑定用户的IP-MAC对应信息。
        交换机对报文的源地址进行检查,对非法的攻击报文一律丢弃处理。
        该操作不占用交换机CPU资源,直接由端口芯片处理。

交换机非法报文过滤实现过程如下:
         攻击者伪造源IP和MAC地址发起攻击。
         报文不符合绑定规则,被交换机丢弃。

4 方案总结 

通过锐捷网络GSN解决方案中的“ARP三重立体防御体系”,解决了ARP欺骗中的网关型欺骗,中间人欺骗以及ARP泛洪攻击,在可能发生ARP请求和响应的所有环节,都加以防范,有效弥补了由于ARP协议本身的缺陷所带来的漏洞,解决了困扰广大网络管理员的ARP欺骗问题,给我们的局域网带来更加健康和谐的网络环境。 

点赞

更多技术博文

任何需要,请联系我们

返回顶部

请选择服务项目
关闭咨询页
售前咨询 售前咨询
售前咨询
售后服务 售后服务
售后服务
意见反馈 意见反馈
意见反馈
更多联系方式