ARP攻击的原理分析及防御方案

2014-12-16 03:25陈禹航
电脑知识与技术 2014年32期
关键词:IP地址

陈禹航

摘要:在以太网环境下,ARP攻击一方面会造成网络连接不稳定,引发用户通信中断,另一方面截取用户报文进而获取用户敏感信息等危害。为此,该文从ARP协议的原理入手,分两类分析了四种常见的ARP攻击方式的过程和原理,然后提出以太网环境下计算机和交换机的全面立体的ARP防御方案,最后结合一个实际案例分析以太网环境下ARP攻击的定位过程。

关键词:ARP协议;ARP攻击;IP地址;MAC地址;ARP防御;ARP攻击定位

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2014)32-7594-04

Abstract: In the Ethernet environment,when ARP attack happens, network connection is precarious to interrupt communication network on one hand and and intercept users packets to get users sensitive messages on the other hand .So,taking the principle of ARP protocol as a key, this paper discusses four common ARP attacks,then,

Key words:ARP protocol;ARP attack;IP address;MAC address;defence for ARP;location of ARP attacking

在以太网接入因特网环境下,ARP攻击时有发生,造成网内主机频繁断网,甚至截取用户报文,给网内用户带来很大的不便。

1 ARP协议的工作原理

1) 网关首先查看本机的ARP缓存中是否存在主机A的IP地址对应的MAC地址。若有,则直接利用ARP表中的MAC地址,封装IP数据包再发送给主机A。

2) 若无,以广播方式发送一个ARP请求报文。ARP请求报文中的发送端IP和MAC地址分别为网关的IP和MAC地址,目标IP和MAC地址分别为主机A的IP地址和全0的MAC地址。由于ARP请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求,但只有被请求的主机,即主机A,会对该请求进行处理,如图1中的②。

3) 主机A比较自己的IP地址和ARP请求报文中的目标IP地址,当两者相同时进行如下处理:将ARP请求报文中的发送端(即网关)的IP和MAC地址存入自己的ARP表中。之后以单播方式发送ARP响应报文给主机A,其中包含了自己的MAC地址,如图1中的③。

4) 网关收到ARP响应报文后,将主机A的MAC地址加入到自己的ARP表中,同时将IP数据包进行封装后发送出去。

为避免ARP数据包过多地占用网络带宽,ARP协议设计计算机、交换机、路由器及防火墙等网络设备维护本机的ARP缓存。在正常情况下,ARP缓存可以有效保证数据传输的正确性。

2 ARP攻击技术

按照ARP协议的设计,网络设备在收到ARP包时并没有判断包的合法性,直接更新本机的ARP缓存,这就为ARP攻击提供了条件。在本文中,将分两类讨论ARP攻击的四种常见方式,并分析它们的攻击过程与原理。

2.1 ARP欺骗攻击

ARP欺骗攻击,是指攻击者通过发送伪造的ARP报文,恶意修改网络设备或网络内其他用户主机的ARP表项,造成网络或用户的报文通信异常。

2.1.1基于ARP的中间人攻击

拓扑图如图3,假设主机A是攻击者,主机B是被攻击者,攻击过程如下:

1) 主机A向主机B连续发送大量虚假ARP响应包,使主机B的ARP表更新为:网关的IP地址192.168.1.1对应的MAC地址为MAC-A;

2) 主机A以192.168.1.1为源IP构造SYN数据包,向主机B发起伪TCP连接;

3) 当主机B收到该包后,就构造一个目的IP为192.168.1.1的SYN ACK包发往网关。由于主机B的ARP缓存中192.168.1.1对应的MAC地址为MAC-A,这个SYN ACK包实际上是发往主机A;

4) 由于主机A的IP地址为192.168.1.2,与SYN ACK包的目的IP不一致,所以主机A的系统将丢弃SYN ACK包。但是,主机A可以在数据链路层直接把数据帧获取下来,并再次以192.168.1.1为源IP构造伪装SYN ACK包发往主机B以完成TCP的第三次握手。这样,TCP的三次握手完成,主机A对主机B的伪连接也成功建立;

5) 主机A以192.168.1.1为源IP向主机B连续发送大量数据,这样,主机B的所有可用的操作系统资源都被消耗殆尽,最终主机B无法处理合法用户的服务请求。

2.2.2 MAC泛洪现象

泛洪是快速散布网络设备更新信息到网络每一个结点的一种方法。MAC泛洪是交换机的ARP缓存溢出现象,即因为交换机可以主动学习客户端的IP与MAC地址对以建立和维护其固定大小的ARP高速缓存表,当交换机收到大量的ARP欺骗包时,其ARP缓存将迅速被填满错误的ARP条目,同时,这些ARP条目将被更新到网络中的其他交换机中,从而造成它们的ARP表溢出、负载过大、网络缓慢、丢包甚至网络瘫痪。

3.2.2 静态ARP与端口绑定

静态ARP是针对交换机的ARP缓存的技术,即ARP缓存中的IP与MAC地址对固定,交换机在收到ARP报文时其不会被动态修改;而端口绑定是一种简单的安全机制,通过交换机上的绑定功能,可以对端口转发的报文进行过滤控制。当端口接收到报文后查找绑定表项,如果报文中的特征项与绑定表项中记录的特征项匹配,则端口转发该报文,否则丢弃处理。

3.2.3 ARP报文限速

该技术可以防止设备因处理大量ARP报文,导致CPU负荷过重而无法处理其他业务。该技术的原理是通过对每秒内交换机全局、VLAN、接口或源IP接收的ARP报文数量进行统计,若每秒收到的ARP报文数量超过设定值,则认为该交换机全局、VLAN、接口或源IP接收的ARP报文处于超速状态,即受到ARP报文攻击。此时,交换机将丢弃超出阈值部分的ARP报文,从而避免大量ARP报文攻击设备。

3.2.4 基于接口的ARP表项限制

该技术通过在指定接口下配置接口能够学习到的最大动态ARP表项数目,以确保当指定接口下的动态ARP表项达到允许学习的最大数目后,将不允许新增动态ARP表项,达到防止当一个接口所接入的某一用户主机发起ARP攻击时导致整个设备的ARP表资源都被耗尽的目的。

4.4 ARP攻击处理流程

ARP攻击的处理一般是先确定产生攻击的源MAC地址,再通过查看交换机判断该源MAC地址所接的交换机端口,最后把该攻击端口物理关闭即可。

5 小结

综上所述,ARP协议在设计时并未考虑到安全问题,给以太网安全带来很大的挑战,因此,在网络管理中,我们需要高度重视ARP欺骗攻击,从局域网主机和网络设备两个层面构建全面立体的防御体系,才能确保网络安全。

参考文献:

[1] 谢希仁.计算机网络[M].4版.北京:电子工业出版社,2003.

[2] 协议分析网[DB/OL].http://www.cnpaf.net.

[3] H3C S3100-52P以太网交换机操作手册-Release 1702-6W100.

[4] Quidway S3900系列以太网交换机操作手册-Release 1602.

[5] Quidway S3700系列以太网交换机操作手册-V100R006C03.

摘要:在以太网环境下,ARP攻击一方面会造成网络连接不稳定,引发用户通信中断,另一方面截取用户报文进而获取用户敏感信息等危害。为此,该文从ARP协议的原理入手,分两类分析了四种常见的ARP攻击方式的过程和原理,然后提出以太网环境下计算机和交换机的全面立体的ARP防御方案,最后结合一个实际案例分析以太网环境下ARP攻击的定位过程。

关键词:ARP协议;ARP攻击;IP地址;MAC地址;ARP防御;ARP攻击定位

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2014)32-7594-04

Abstract: In the Ethernet environment,when ARP attack happens, network connection is precarious to interrupt communication network on one hand and and intercept users packets to get users sensitive messages on the other hand .So,taking the principle of ARP protocol as a key, this paper discusses four common ARP attacks,then,

Key words:ARP protocol;ARP attack;IP address;MAC address;defence for ARP;location of ARP attacking

在以太网接入因特网环境下,ARP攻击时有发生,造成网内主机频繁断网,甚至截取用户报文,给网内用户带来很大的不便。

1 ARP协议的工作原理

1) 网关首先查看本机的ARP缓存中是否存在主机A的IP地址对应的MAC地址。若有,则直接利用ARP表中的MAC地址,封装IP数据包再发送给主机A。

2) 若无,以广播方式发送一个ARP请求报文。ARP请求报文中的发送端IP和MAC地址分别为网关的IP和MAC地址,目标IP和MAC地址分别为主机A的IP地址和全0的MAC地址。由于ARP请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求,但只有被请求的主机,即主机A,会对该请求进行处理,如图1中的②。

3) 主机A比较自己的IP地址和ARP请求报文中的目标IP地址,当两者相同时进行如下处理:将ARP请求报文中的发送端(即网关)的IP和MAC地址存入自己的ARP表中。之后以单播方式发送ARP响应报文给主机A,其中包含了自己的MAC地址,如图1中的③。

4) 网关收到ARP响应报文后,将主机A的MAC地址加入到自己的ARP表中,同时将IP数据包进行封装后发送出去。

为避免ARP数据包过多地占用网络带宽,ARP协议设计计算机、交换机、路由器及防火墙等网络设备维护本机的ARP缓存。在正常情况下,ARP缓存可以有效保证数据传输的正确性。

2 ARP攻击技术

按照ARP协议的设计,网络设备在收到ARP包时并没有判断包的合法性,直接更新本机的ARP缓存,这就为ARP攻击提供了条件。在本文中,将分两类讨论ARP攻击的四种常见方式,并分析它们的攻击过程与原理。

2.1 ARP欺骗攻击

ARP欺骗攻击,是指攻击者通过发送伪造的ARP报文,恶意修改网络设备或网络内其他用户主机的ARP表项,造成网络或用户的报文通信异常。

2.1.1基于ARP的中间人攻击

拓扑图如图3,假设主机A是攻击者,主机B是被攻击者,攻击过程如下:

1) 主机A向主机B连续发送大量虚假ARP响应包,使主机B的ARP表更新为:网关的IP地址192.168.1.1对应的MAC地址为MAC-A;

2) 主机A以192.168.1.1为源IP构造SYN数据包,向主机B发起伪TCP连接;

3) 当主机B收到该包后,就构造一个目的IP为192.168.1.1的SYN ACK包发往网关。由于主机B的ARP缓存中192.168.1.1对应的MAC地址为MAC-A,这个SYN ACK包实际上是发往主机A;

4) 由于主机A的IP地址为192.168.1.2,与SYN ACK包的目的IP不一致,所以主机A的系统将丢弃SYN ACK包。但是,主机A可以在数据链路层直接把数据帧获取下来,并再次以192.168.1.1为源IP构造伪装SYN ACK包发往主机B以完成TCP的第三次握手。这样,TCP的三次握手完成,主机A对主机B的伪连接也成功建立;

5) 主机A以192.168.1.1为源IP向主机B连续发送大量数据,这样,主机B的所有可用的操作系统资源都被消耗殆尽,最终主机B无法处理合法用户的服务请求。

2.2.2 MAC泛洪现象

泛洪是快速散布网络设备更新信息到网络每一个结点的一种方法。MAC泛洪是交换机的ARP缓存溢出现象,即因为交换机可以主动学习客户端的IP与MAC地址对以建立和维护其固定大小的ARP高速缓存表,当交换机收到大量的ARP欺骗包时,其ARP缓存将迅速被填满错误的ARP条目,同时,这些ARP条目将被更新到网络中的其他交换机中,从而造成它们的ARP表溢出、负载过大、网络缓慢、丢包甚至网络瘫痪。

3.2.2 静态ARP与端口绑定

静态ARP是针对交换机的ARP缓存的技术,即ARP缓存中的IP与MAC地址对固定,交换机在收到ARP报文时其不会被动态修改;而端口绑定是一种简单的安全机制,通过交换机上的绑定功能,可以对端口转发的报文进行过滤控制。当端口接收到报文后查找绑定表项,如果报文中的特征项与绑定表项中记录的特征项匹配,则端口转发该报文,否则丢弃处理。

3.2.3 ARP报文限速

该技术可以防止设备因处理大量ARP报文,导致CPU负荷过重而无法处理其他业务。该技术的原理是通过对每秒内交换机全局、VLAN、接口或源IP接收的ARP报文数量进行统计,若每秒收到的ARP报文数量超过设定值,则认为该交换机全局、VLAN、接口或源IP接收的ARP报文处于超速状态,即受到ARP报文攻击。此时,交换机将丢弃超出阈值部分的ARP报文,从而避免大量ARP报文攻击设备。

3.2.4 基于接口的ARP表项限制

该技术通过在指定接口下配置接口能够学习到的最大动态ARP表项数目,以确保当指定接口下的动态ARP表项达到允许学习的最大数目后,将不允许新增动态ARP表项,达到防止当一个接口所接入的某一用户主机发起ARP攻击时导致整个设备的ARP表资源都被耗尽的目的。

4.4 ARP攻击处理流程

ARP攻击的处理一般是先确定产生攻击的源MAC地址,再通过查看交换机判断该源MAC地址所接的交换机端口,最后把该攻击端口物理关闭即可。

5 小结

综上所述,ARP协议在设计时并未考虑到安全问题,给以太网安全带来很大的挑战,因此,在网络管理中,我们需要高度重视ARP欺骗攻击,从局域网主机和网络设备两个层面构建全面立体的防御体系,才能确保网络安全。

参考文献:

[1] 谢希仁.计算机网络[M].4版.北京:电子工业出版社,2003.

[2] 协议分析网[DB/OL].http://www.cnpaf.net.

[3] H3C S3100-52P以太网交换机操作手册-Release 1702-6W100.

[4] Quidway S3900系列以太网交换机操作手册-Release 1602.

[5] Quidway S3700系列以太网交换机操作手册-V100R006C03.

摘要:在以太网环境下,ARP攻击一方面会造成网络连接不稳定,引发用户通信中断,另一方面截取用户报文进而获取用户敏感信息等危害。为此,该文从ARP协议的原理入手,分两类分析了四种常见的ARP攻击方式的过程和原理,然后提出以太网环境下计算机和交换机的全面立体的ARP防御方案,最后结合一个实际案例分析以太网环境下ARP攻击的定位过程。

关键词:ARP协议;ARP攻击;IP地址;MAC地址;ARP防御;ARP攻击定位

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2014)32-7594-04

Abstract: In the Ethernet environment,when ARP attack happens, network connection is precarious to interrupt communication network on one hand and and intercept users packets to get users sensitive messages on the other hand .So,taking the principle of ARP protocol as a key, this paper discusses four common ARP attacks,then,

Key words:ARP protocol;ARP attack;IP address;MAC address;defence for ARP;location of ARP attacking

在以太网接入因特网环境下,ARP攻击时有发生,造成网内主机频繁断网,甚至截取用户报文,给网内用户带来很大的不便。

1 ARP协议的工作原理

1) 网关首先查看本机的ARP缓存中是否存在主机A的IP地址对应的MAC地址。若有,则直接利用ARP表中的MAC地址,封装IP数据包再发送给主机A。

2) 若无,以广播方式发送一个ARP请求报文。ARP请求报文中的发送端IP和MAC地址分别为网关的IP和MAC地址,目标IP和MAC地址分别为主机A的IP地址和全0的MAC地址。由于ARP请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求,但只有被请求的主机,即主机A,会对该请求进行处理,如图1中的②。

3) 主机A比较自己的IP地址和ARP请求报文中的目标IP地址,当两者相同时进行如下处理:将ARP请求报文中的发送端(即网关)的IP和MAC地址存入自己的ARP表中。之后以单播方式发送ARP响应报文给主机A,其中包含了自己的MAC地址,如图1中的③。

4) 网关收到ARP响应报文后,将主机A的MAC地址加入到自己的ARP表中,同时将IP数据包进行封装后发送出去。

为避免ARP数据包过多地占用网络带宽,ARP协议设计计算机、交换机、路由器及防火墙等网络设备维护本机的ARP缓存。在正常情况下,ARP缓存可以有效保证数据传输的正确性。

2 ARP攻击技术

按照ARP协议的设计,网络设备在收到ARP包时并没有判断包的合法性,直接更新本机的ARP缓存,这就为ARP攻击提供了条件。在本文中,将分两类讨论ARP攻击的四种常见方式,并分析它们的攻击过程与原理。

2.1 ARP欺骗攻击

ARP欺骗攻击,是指攻击者通过发送伪造的ARP报文,恶意修改网络设备或网络内其他用户主机的ARP表项,造成网络或用户的报文通信异常。

2.1.1基于ARP的中间人攻击

拓扑图如图3,假设主机A是攻击者,主机B是被攻击者,攻击过程如下:

1) 主机A向主机B连续发送大量虚假ARP响应包,使主机B的ARP表更新为:网关的IP地址192.168.1.1对应的MAC地址为MAC-A;

2) 主机A以192.168.1.1为源IP构造SYN数据包,向主机B发起伪TCP连接;

3) 当主机B收到该包后,就构造一个目的IP为192.168.1.1的SYN ACK包发往网关。由于主机B的ARP缓存中192.168.1.1对应的MAC地址为MAC-A,这个SYN ACK包实际上是发往主机A;

4) 由于主机A的IP地址为192.168.1.2,与SYN ACK包的目的IP不一致,所以主机A的系统将丢弃SYN ACK包。但是,主机A可以在数据链路层直接把数据帧获取下来,并再次以192.168.1.1为源IP构造伪装SYN ACK包发往主机B以完成TCP的第三次握手。这样,TCP的三次握手完成,主机A对主机B的伪连接也成功建立;

5) 主机A以192.168.1.1为源IP向主机B连续发送大量数据,这样,主机B的所有可用的操作系统资源都被消耗殆尽,最终主机B无法处理合法用户的服务请求。

2.2.2 MAC泛洪现象

泛洪是快速散布网络设备更新信息到网络每一个结点的一种方法。MAC泛洪是交换机的ARP缓存溢出现象,即因为交换机可以主动学习客户端的IP与MAC地址对以建立和维护其固定大小的ARP高速缓存表,当交换机收到大量的ARP欺骗包时,其ARP缓存将迅速被填满错误的ARP条目,同时,这些ARP条目将被更新到网络中的其他交换机中,从而造成它们的ARP表溢出、负载过大、网络缓慢、丢包甚至网络瘫痪。

3.2.2 静态ARP与端口绑定

静态ARP是针对交换机的ARP缓存的技术,即ARP缓存中的IP与MAC地址对固定,交换机在收到ARP报文时其不会被动态修改;而端口绑定是一种简单的安全机制,通过交换机上的绑定功能,可以对端口转发的报文进行过滤控制。当端口接收到报文后查找绑定表项,如果报文中的特征项与绑定表项中记录的特征项匹配,则端口转发该报文,否则丢弃处理。

3.2.3 ARP报文限速

该技术可以防止设备因处理大量ARP报文,导致CPU负荷过重而无法处理其他业务。该技术的原理是通过对每秒内交换机全局、VLAN、接口或源IP接收的ARP报文数量进行统计,若每秒收到的ARP报文数量超过设定值,则认为该交换机全局、VLAN、接口或源IP接收的ARP报文处于超速状态,即受到ARP报文攻击。此时,交换机将丢弃超出阈值部分的ARP报文,从而避免大量ARP报文攻击设备。

3.2.4 基于接口的ARP表项限制

该技术通过在指定接口下配置接口能够学习到的最大动态ARP表项数目,以确保当指定接口下的动态ARP表项达到允许学习的最大数目后,将不允许新增动态ARP表项,达到防止当一个接口所接入的某一用户主机发起ARP攻击时导致整个设备的ARP表资源都被耗尽的目的。

4.4 ARP攻击处理流程

ARP攻击的处理一般是先确定产生攻击的源MAC地址,再通过查看交换机判断该源MAC地址所接的交换机端口,最后把该攻击端口物理关闭即可。

5 小结

综上所述,ARP协议在设计时并未考虑到安全问题,给以太网安全带来很大的挑战,因此,在网络管理中,我们需要高度重视ARP欺骗攻击,从局域网主机和网络设备两个层面构建全面立体的防御体系,才能确保网络安全。

参考文献:

[1] 谢希仁.计算机网络[M].4版.北京:电子工业出版社,2003.

[2] 协议分析网[DB/OL].http://www.cnpaf.net.

[3] H3C S3100-52P以太网交换机操作手册-Release 1702-6W100.

[4] Quidway S3900系列以太网交换机操作手册-Release 1602.

[5] Quidway S3700系列以太网交换机操作手册-V100R006C03.

猜你喜欢
IP地址
铁路远动系统几种组网方式IP地址的申请和设置
解决局域网IP地址冲突故障
IP地址便捷修改器
IP地址切换器(IPCFG)
基于SNMP的IP地址管理系统开发与应用
公安网络中IP地址智能管理的研究与思考
通过PE查电脑IP地址
《IP地址及其管理》教学设计
计算机的网络身份IP地址
《IP地址及其管理》教学设计