论文部分内容阅读
摘要:ARP协议欺骗是网络欺骗行为之一,该文在对ARP协议简要介绍的基础上,主要从以下4个部分:ARP协议工作原理、欺骗原理、基于ARP欺骗的实现过程、抵御方法对ARP协议欺骗技术进行了全面的、深入浅出的分析。
关键词:ARP协议;ARP欺骗;MAC地址;以太网
中图分类号:TP393.08 文献标识码:A 文章编号:1007-9599 (2011) 22-0000-02
Analysis of Principle of ARP Spoofing and Introduction of Protecting Method
Yang Yanqing,Shen Huan
(Zhangjiakou Vocational and Technical College,Zhangjiankou 075000,China)
Abstract:The ARP spoofing is one of the spoofing on the network.This article introduces the basic theory of ARP protocol.The content of this article mainly contains the following four parts:the working theory of ARP,the theory of ARP spoofing,the realizing process of ARP spoofing and the way of attack and the protecting method,from which the author gives a general analysis of ARP spoofing and explains its profound principle in a simple way.
Keywords:ARP protocol;ARP spoofing;MAC address;Ethernet
一、引言
互联网用户常遇到网络经常断线,网络链接速度变慢,甚至无法上网的问题。这是由一种ARP欺骗程序的攻击所致。本文介绍了ARP攻击的原理以及由此引发的网络安全问题,并且提出有效的防范方法。
二、ARP協议的工作原理
ARP(Address Resolution Protocol,地址解析协议)是TCP/IP协议族中重要的一个协议,它将网络层(IP层,OSI的第三层)地址解析为数据链路层(MAC层,OSI的第二层)地址。在以太网中,源主机和目的主机通信时,源主机不仅要知道目的主机的IP地址,还要知道目的主机的数据链路层地址,即网卡的MAC地址,ARP协议所做的工作就是查询目的主机的IP地址所对应的MAC地址,并实现双方通信。
正常情况下,每台主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址的对应关系。当源主机需要将一个数据包要发送到目的主机时,会首先检查自己ARP列表中是否存在该IP地址对应的MAC地址,如果有,就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个ARP响应数据包,告诉对方自己是它需要查找的MAC地址;源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。
三、ARP协议欺骗的实现过程
(一)同一网段的ARP欺骗
假设有A(10.10.1.1)、B(10.10.1.2,00:00:B4:C2:0D:CE)、C(10.10.1.3,00:01:96:DB:5F:61)三台主机,主机A对主机B有基于IP地址的信任关系,现在主机C想要窃取这种信任关系,那么它可以通过如下步骤:①首先主机C寻找主机B的安全漏洞,使主机B停止运行;②主机A再发给主机B的包将接收不到应答信息,主机A更新自己的ARP缓存表;③主机C将自己的IP地址更改为192.168.1.2,再发一数据包给主机A,主机A会将主机C的MAC地址和192.168.1.2的对应关系更新到缓存表,这样主机C就拥有了主机A的信任关系。
(二)不同网段的ARP欺骗
假设仍然是上面的三台计算机,但主机A和主机B处于同一网段,而主机C在另一网段,中间通过路由器连接,如果采用上面的方法,即使成功,主机A也不会把发给10.10.1.2的数据丢给路由器,因为这个地址在局域网内,不需要路由,这就涉及另一种欺骗方式:ICMP重定向。所谓的ICMP重定向指缺省路由向发送者报告另一条到特定主机的更短路由,攻击者可利用ICMP重定向报文破坏路由。不同网段的ARP欺骗采用的主要手段就是使主机A将发送给主机B的包丢给路由器,这样主机C就可以获取到信息了。重复同一网段ARP欺骗所作的步骤,然后主机C构造一ICMP的重定向广播帧发给主机A,内容是“到10.10.1.2的路由最短路径是路由器”,主机A收到这个合理的ICMP重定向之后,修改自己的路由路径,把发送给10.10.1.2的数据包都丢给路由器,这样不同网段的ARP欺骗就完成了。
四、arp协议攻击的防范措施
(一)采用PPPOE拨号上网的方式
PPPOE拨号自动生成一个以本地IP为网关的“虚拟网关”,局域网中只有你自己,ARP对网关的欺骗将没有任何意义,从而不能导致网络故障的大规模发生。
(二)采用ARP双向绑定的方式
ARP绑定就是把计算机的MAC地址与IP地址进行绑定。ARP绑定有MAC地址和路由器ARP缓存表及计算机自身的ARP缓存表的绑定两种。如果MAC地址只和路由器的ARP缓存表绑定而没有和计算机自身的ARP缓存表绑定的话,局域网内计算机的ARP缓存表被病毒攻击后就不会发送数据给路由器,而是发给一个病毒提供的假MAC地址。使得路由器无法访问而造成网络瘫痪。所谓的双向绑定事实上是要绑定三个地方,即本机的IP地址和MAC地址、网关的IP和MAC地址、客户机的IP和MAC地址。下面的批处理程序可以完成ARP绑定,例如我们要绑定的网关IP为192.168.10.1,MAC地址为XX-XX-XX-XX-XX-XX,那么可运行如下批处理命令:
@echo off
Arp -d
Arp –s 192.168.10.1 XX-XX-XX-XX-XX-XX
将其拖到计算机开始程序中的启动项中即可。
(三)建立DHCP服务器
DHCP不占用太多CPU,而且ARP欺骗攻击一般总是先攻击网关,所以DHCP服务器建在网关上。另外,所有客户机的IP地址及其相关主机信息,只能由网关这里取得,网关这里开通DHCP服务,但是要给每个网卡绑定固定唯一IP地址。一定要保持网内的机器IP/MAC一一对应的关系。这样客户机虽然是DHCP取地址,但每次开机的IP地址都是一样的。
(四)采取静态MAC地址表
ARP协议攻击的最根本原理是改变IP与MAC地址的对应关系。所以可以采取静态MAC地址表法的方法进行防范。根据ARP欺骗原理,主要是刷新主机的ARP列表,因此重点应该放在目标主机拒绝伪造的ARP应答上。DHCP本身作用是为主机动态分配IP地址,但是可以通过对DHCP协议加载安全功能,使其只为主机分配静态IP地址及绑定相应的MAC地址。大多数三层交换机都支持这种方法输入之后不再动态更新,显然可以避免ARP协议攻击。
(五)进行交换机端口设置
1.端口保护:ARP欺骗技术需要交换机的两个端口直接通讯,设为保护端口即可简单方便地隔离用户之间信息互通,不必占用VLAN资源。同一个交换机的两个端口之间不能进行直接通讯,需要通过转发才能相互通讯。
2.数据过滤:如果需要对报文做更进一步的控制,用户可以采用ACL(访问控制列表)。ACL利用IP地址、TCP/UDP端口等对进出交换机的报文进行过滤,根据预设条件,对报文做出允许转发或阻塞的决定。
五、结束语
ARP协议的安全漏洞来源于协议自身设计上的不足,ARP协议被设计成一种可信任协议,缺乏合法性验证手段。上述的各种防御措施也存在各自的局限性,不可能对所有的攻击都起到抑制作用。对于ARP协议的网络攻击,不仅需要用户自身做好防范工作,更需要网络管理员应该时刻保持高度警惕,并不断跟踪防范欺骗类攻击的最新技术,做到防范于未然。
参考文献:
[1]任侠,吕述望.ARP协议欺骗原理分析与抵御方法[J].计算机工程,2003,6
[2]李扬继,方勇.ARP协议的攻击与防范[J].网络信息技术,2004,23:4
[3]马时来.计算机网络实用技术教程[M].清华大学出版社,2003,2
关键词:ARP协议;ARP欺骗;MAC地址;以太网
中图分类号:TP393.08 文献标识码:A 文章编号:1007-9599 (2011) 22-0000-02
Analysis of Principle of ARP Spoofing and Introduction of Protecting Method
Yang Yanqing,Shen Huan
(Zhangjiakou Vocational and Technical College,Zhangjiankou 075000,China)
Abstract:The ARP spoofing is one of the spoofing on the network.This article introduces the basic theory of ARP protocol.The content of this article mainly contains the following four parts:the working theory of ARP,the theory of ARP spoofing,the realizing process of ARP spoofing and the way of attack and the protecting method,from which the author gives a general analysis of ARP spoofing and explains its profound principle in a simple way.
Keywords:ARP protocol;ARP spoofing;MAC address;Ethernet
一、引言
互联网用户常遇到网络经常断线,网络链接速度变慢,甚至无法上网的问题。这是由一种ARP欺骗程序的攻击所致。本文介绍了ARP攻击的原理以及由此引发的网络安全问题,并且提出有效的防范方法。
二、ARP協议的工作原理
ARP(Address Resolution Protocol,地址解析协议)是TCP/IP协议族中重要的一个协议,它将网络层(IP层,OSI的第三层)地址解析为数据链路层(MAC层,OSI的第二层)地址。在以太网中,源主机和目的主机通信时,源主机不仅要知道目的主机的IP地址,还要知道目的主机的数据链路层地址,即网卡的MAC地址,ARP协议所做的工作就是查询目的主机的IP地址所对应的MAC地址,并实现双方通信。
正常情况下,每台主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址的对应关系。当源主机需要将一个数据包要发送到目的主机时,会首先检查自己ARP列表中是否存在该IP地址对应的MAC地址,如果有,就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个ARP响应数据包,告诉对方自己是它需要查找的MAC地址;源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。
三、ARP协议欺骗的实现过程
(一)同一网段的ARP欺骗
假设有A(10.10.1.1)、B(10.10.1.2,00:00:B4:C2:0D:CE)、C(10.10.1.3,00:01:96:DB:5F:61)三台主机,主机A对主机B有基于IP地址的信任关系,现在主机C想要窃取这种信任关系,那么它可以通过如下步骤:①首先主机C寻找主机B的安全漏洞,使主机B停止运行;②主机A再发给主机B的包将接收不到应答信息,主机A更新自己的ARP缓存表;③主机C将自己的IP地址更改为192.168.1.2,再发一数据包给主机A,主机A会将主机C的MAC地址和192.168.1.2的对应关系更新到缓存表,这样主机C就拥有了主机A的信任关系。
(二)不同网段的ARP欺骗
假设仍然是上面的三台计算机,但主机A和主机B处于同一网段,而主机C在另一网段,中间通过路由器连接,如果采用上面的方法,即使成功,主机A也不会把发给10.10.1.2的数据丢给路由器,因为这个地址在局域网内,不需要路由,这就涉及另一种欺骗方式:ICMP重定向。所谓的ICMP重定向指缺省路由向发送者报告另一条到特定主机的更短路由,攻击者可利用ICMP重定向报文破坏路由。不同网段的ARP欺骗采用的主要手段就是使主机A将发送给主机B的包丢给路由器,这样主机C就可以获取到信息了。重复同一网段ARP欺骗所作的步骤,然后主机C构造一ICMP的重定向广播帧发给主机A,内容是“到10.10.1.2的路由最短路径是路由器”,主机A收到这个合理的ICMP重定向之后,修改自己的路由路径,把发送给10.10.1.2的数据包都丢给路由器,这样不同网段的ARP欺骗就完成了。
四、arp协议攻击的防范措施
(一)采用PPPOE拨号上网的方式
PPPOE拨号自动生成一个以本地IP为网关的“虚拟网关”,局域网中只有你自己,ARP对网关的欺骗将没有任何意义,从而不能导致网络故障的大规模发生。
(二)采用ARP双向绑定的方式
ARP绑定就是把计算机的MAC地址与IP地址进行绑定。ARP绑定有MAC地址和路由器ARP缓存表及计算机自身的ARP缓存表的绑定两种。如果MAC地址只和路由器的ARP缓存表绑定而没有和计算机自身的ARP缓存表绑定的话,局域网内计算机的ARP缓存表被病毒攻击后就不会发送数据给路由器,而是发给一个病毒提供的假MAC地址。使得路由器无法访问而造成网络瘫痪。所谓的双向绑定事实上是要绑定三个地方,即本机的IP地址和MAC地址、网关的IP和MAC地址、客户机的IP和MAC地址。下面的批处理程序可以完成ARP绑定,例如我们要绑定的网关IP为192.168.10.1,MAC地址为XX-XX-XX-XX-XX-XX,那么可运行如下批处理命令:
@echo off
Arp -d
Arp –s 192.168.10.1 XX-XX-XX-XX-XX-XX
将其拖到计算机开始程序中的启动项中即可。
(三)建立DHCP服务器
DHCP不占用太多CPU,而且ARP欺骗攻击一般总是先攻击网关,所以DHCP服务器建在网关上。另外,所有客户机的IP地址及其相关主机信息,只能由网关这里取得,网关这里开通DHCP服务,但是要给每个网卡绑定固定唯一IP地址。一定要保持网内的机器IP/MAC一一对应的关系。这样客户机虽然是DHCP取地址,但每次开机的IP地址都是一样的。
(四)采取静态MAC地址表
ARP协议攻击的最根本原理是改变IP与MAC地址的对应关系。所以可以采取静态MAC地址表法的方法进行防范。根据ARP欺骗原理,主要是刷新主机的ARP列表,因此重点应该放在目标主机拒绝伪造的ARP应答上。DHCP本身作用是为主机动态分配IP地址,但是可以通过对DHCP协议加载安全功能,使其只为主机分配静态IP地址及绑定相应的MAC地址。大多数三层交换机都支持这种方法输入之后不再动态更新,显然可以避免ARP协议攻击。
(五)进行交换机端口设置
1.端口保护:ARP欺骗技术需要交换机的两个端口直接通讯,设为保护端口即可简单方便地隔离用户之间信息互通,不必占用VLAN资源。同一个交换机的两个端口之间不能进行直接通讯,需要通过转发才能相互通讯。
2.数据过滤:如果需要对报文做更进一步的控制,用户可以采用ACL(访问控制列表)。ACL利用IP地址、TCP/UDP端口等对进出交换机的报文进行过滤,根据预设条件,对报文做出允许转发或阻塞的决定。
五、结束语
ARP协议的安全漏洞来源于协议自身设计上的不足,ARP协议被设计成一种可信任协议,缺乏合法性验证手段。上述的各种防御措施也存在各自的局限性,不可能对所有的攻击都起到抑制作用。对于ARP协议的网络攻击,不仅需要用户自身做好防范工作,更需要网络管理员应该时刻保持高度警惕,并不断跟踪防范欺骗类攻击的最新技术,做到防范于未然。
参考文献:
[1]任侠,吕述望.ARP协议欺骗原理分析与抵御方法[J].计算机工程,2003,6
[2]李扬继,方勇.ARP协议的攻击与防范[J].网络信息技术,2004,23:4
[3]马时来.计算机网络实用技术教程[M].清华大学出版社,2003,2