论文部分内容阅读
摘 要: ARP协议负责实现IP地址到网络接口硬件地址的映射,是计算机网络运行的基础协议之一。它最早运行在可信局域网之上,而今局域网已经不再是可信网络,因而ARP运行中出现一些不安全因素。目前在网络上出现了很多利用ARP协议进行黑客攻击的行为,给网络安全造成很大的影响。本文将对这一问题给出全面深刻的剖析及有效的解决方案。
关键词: 互联网 ARP欺骗 ARP防范
随着信息技术的发展,人们工作和生活已经离不开互联网。但人们使用互联网的同时,或多或少遭遇到计算机病毒的毒害或黑客的攻击,甚至许多人在经济上还有一定的损失,在这纷繁的网络世界里,人们有时会谈网色变。那么我们在日常工作和生活中是不是无法防范互联网安全问题呢?不是,其实互联网安全还是可以防范的。下面就谈互联网欺骗与防范的一种方法—ARP欺骗与防范。ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。所谓“地址解析”就是主机在发送数据包前将目标主机IP地址转换成目标主机MAC地址的过程。在局域网中一台主机要和另一台主机进行通信,必须知道目标主机的IP地址,但是最终负责在局域网中传送数据的网卡等物理设备是不识别IP地址的,只能识别其硬件地址即MAC地址。MAC地址是48位的,通常表示为12个16进制数,每两个16进制数之间用“-”或者冒号隔开,如00-0D-7E-2F-E8-EA就是一个MAC地址。每一块网卡都有其全球唯一的MAC地址,网卡之间发送数据,只能根据对方网卡的MAC地址发送,这时就需要一个将高层数据包中的IP地址转换成低层MAC地址的协议,而这个重要的任务将由ARP协议完成。
一、ARP工作原理与欺骗原理
(一)ARP工作原理。
首先,每台主机都会在自己的ARP缓冲区(ARP Cache)中建立一个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查询失败。
(二)ARP欺骗原理。
1.ARP欺骗原理的分类
从影响网络连接通畅的方式看,ARP欺骗分为两种:一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。第一种ARP欺骗的原理是截获网关数据。它通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。第二种ARP欺骗的原理是伪造网关。它的原理是建立假网关,让被它欺骗的PC向假网关发数据,而不是通过正常的路由器途径上网。在PC看来,就是上不了网了(网络掉线了)。
2.ARP欺骗新的表现形式
现在又新出现了一种ARP病毒,与以前一样的是,该类ARP病毒也是向全网发送伪造的ARP欺骗广播,自身伪装成网关。但区别是它着重的不是对网络游戏数据包的解密,而是对HTTP请求访问的修改。还是以上面的局域网环境举例,如果局域网中一台电脑B要请求某个网站页面,这台电脑会先向网关发送HTTP请求,说:“我想登录这个网页,请你将这个网页下载下来,并发送给我。”这样,网关就会将这个页面下载下来,并发送给B电脑。这时,如果A这台电脑通过向全网发送伪造的ARP欺骗广播,自身伪装成网关成为一台ARP中毒电脑的话,这样当B电脑请求WEB网页时,A电脑先是“好心好意”地将这个页面下载下来,然后发送给B电脑,但是它在返回给B电脑时,会向其中插入恶意网址连接,该恶意网址连接会利用MS06-014和MS07-017等多种系统漏洞,向B电脑种植木马病毒。同样,如果C电脑也是请求WEB页面访问。A电脑同样会给C电脑返回带毒的网页,这样,如果一个局域网中存在这样的ARP病毒电脑的话,顷刻间,整个网段的电脑将全部中毒。
二、ARP攻击类型分析
由于ARP协议设计之初,并没有考虑到网络中主机的不安全性,因此,在ARP协议中存在着一些不安全因素,主要体现在以下四个方面:无连接性、无认证性、无状态性和广播性。任何主机都能够发送ARP数据包,而且只要接收的数据包是有效的,主机会将接收到的数据添加到ARP缓存表中,不会对其进行合法性检测,同时,ARP缓存表是时刻变化的,而对MAC地址的寻找,大多数是通过广播形式获得的。
正是由于ARP协议没有对用户身份和ARP报文的合法性进行检测,一旦收到ARP请求就会更新ARP缓存表,这样网络中任何一台主机都能发起ARP攻击,都能随意伪造ARP数据包。网络攻击者正是利用ARP协议中的这些漏洞,对用户发动ARP攻击,ARP攻击的方式和类型有很多种,而且层出不穷,目前来说主要有以下几种:
(一)IP地址冲突攻击。
因为IP地址对主机来说相当于唯一的身份证号码,每台主机的IP地址都不能相同,如果有IP地址相同的两台主机,就会导致IP地址冲突。一台主机检测自身IP地址是否与网络中其他主机IP地址冲突的方法是向网络中发送广播,将目标主机的IP地址设为自身的IP地址,如果收到应答则证明网络中存在与自身IP地址相同的主机,这时本机上会弹出IP地址冲突的警告。很多ARP攻击者利用这一原理,将ARP数据包中的源主机IP地址和目标主机IP地址均设置为被攻击者的IP地址,将目标主机的MAC地址设置为被攻击者的MAC地址,被攻击者收到这个数据包之后,就会以为IP地址存在冲突,从而释放自身的IP地址,导致无法正常通信 (二)ARP泛洪攻击。
在网络中的每一个网络设备中都存在着一张ARP表,ARP表的大小是固定的,攻击者不断发送伪造的ARP广播数据包,让交换机不停地处理广播数据包,耗尽带宽。另外,大量虚假的MAC地址填充整个ARP表,从而让网络设备无法根据ARP表进行正常的通信。
(三)ARP欺骗。
ARP协议并不只有在发送ARP请求之后才接收ARP应答,当主机接收到一个ARP应答数据包之后,它就会更新自己的ARP缓存表。如果攻击者伪造一个ARP应答,主机会将这个伪造的IP地址和MAC地址的映射存入ARP缓存表中,从而可能让网络出现问题。ARP欺骗分为两种:一种是攻击者将自己伪装成主机,给网关发送一系列错误的AAC地址,并且按照一定的频率不断进行,让真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送到错误的MAC地址,从而导致主机无法正常收到信息。第二种是伪造网关,即建立假网关,让被它欺骗的主机向假网关发送数据,从而截获这些信息。
三、ARP攻击防御策略
由于ARP攻击是利用ARP协议本身的漏洞开展的,要从根本上解决这个问题需要修改ARP协议的认证体系,但是修改协议从现阶段来说是不太可能实现的,在目前情况下,我们可以采取以下几种措施防御ARP攻击。
(一)利用交换机对VLAN进行合理地分段,同时将VLAN和交换机绑定。
这种方式首先是将VLAN进行细分,从而有效减少广播域的范围,ARP的影响只会在很小范围以内,不会产生很大很恶劣的影响;然后将与交换机连接的主机的IP地址与MAC地址的映射及其对应端口保存在交换机中,当交换机的某个端口收到ARP数据包的时候,就将包中的源地址与交换机中保存的源地址进行比较,一旦发现两者不符合,则会禁止该端口发来的所有数据包。
(二)将IP地址和MAC地址进行绑定。
很多ARP攻击者就是利用ARP缓存表会进行动态更新的特点发动攻击的,因此只要将ARP缓存表中的IP地址与MAC地址的映射绑定后且不允许刷新,就能有效防止ARP攻击。不过这种方法也有明显不足,第一是重启之后必须重新绑定IP地址和MAC地址,十分麻烦;第二,这种绑定方法不灵活,一旦主机有变更,就需要重新对IP地址和MAC地址进行绑定,对于那种主机数量很多的局域网来说,这种方式是不可取的。
(三)利用Sniffer等监听软件对局域网中的ARP数据包进行监听。
因为正常的主机在一定时间内发送和接收的数据包是一定的,只有那些ARP攻击者会在短时间内发送大量的数据包,因此,通过监听软件我们可以发现哪些主机在短时间内发送了大量数据包,从而对这些主机进行排查。
(四)在网关和主机上安装ARP防火墙。
AHF防火墙通过在系统内核层拦截虚假的ARP数据包及主动通告网关本机正确的MAC地址,可以保障数据流向正确,不经过第三者。从而保证通讯数据安全和网络畅通,保证数据不受第三者控制。ARR防火墙包括拦截ARP攻击、拦截IP地址冲突、DOS攻击抑制和ARP数据分析的功能。
(五)增强人员的网络安全意识。
所有连接局域网的计算机都要安装杀毒软件,定期进行升级更新并对计算机进行病毒扫描,及时安全系统补丁程序,使用U盘和移动硬盘前要先对其进行安全扫描,不安装或运行陌生、可疑的文件和程序。
参考文献:
[1]阎宏生.计算机网络安全与防护[M].北京:军事科学出版社,2002.7.
[2]刘启业,赵利军.网络安全[M].北京:军事谊文出版社,2010.9.
[3]史子新.校园网ARP攻击的分析与综合防御[J].成都:四川大学学报,2013.10.
关键词: 互联网 ARP欺骗 ARP防范
随着信息技术的发展,人们工作和生活已经离不开互联网。但人们使用互联网的同时,或多或少遭遇到计算机病毒的毒害或黑客的攻击,甚至许多人在经济上还有一定的损失,在这纷繁的网络世界里,人们有时会谈网色变。那么我们在日常工作和生活中是不是无法防范互联网安全问题呢?不是,其实互联网安全还是可以防范的。下面就谈互联网欺骗与防范的一种方法—ARP欺骗与防范。ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。所谓“地址解析”就是主机在发送数据包前将目标主机IP地址转换成目标主机MAC地址的过程。在局域网中一台主机要和另一台主机进行通信,必须知道目标主机的IP地址,但是最终负责在局域网中传送数据的网卡等物理设备是不识别IP地址的,只能识别其硬件地址即MAC地址。MAC地址是48位的,通常表示为12个16进制数,每两个16进制数之间用“-”或者冒号隔开,如00-0D-7E-2F-E8-EA就是一个MAC地址。每一块网卡都有其全球唯一的MAC地址,网卡之间发送数据,只能根据对方网卡的MAC地址发送,这时就需要一个将高层数据包中的IP地址转换成低层MAC地址的协议,而这个重要的任务将由ARP协议完成。
一、ARP工作原理与欺骗原理
(一)ARP工作原理。
首先,每台主机都会在自己的ARP缓冲区(ARP Cache)中建立一个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查询失败。
(二)ARP欺骗原理。
1.ARP欺骗原理的分类
从影响网络连接通畅的方式看,ARP欺骗分为两种:一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。第一种ARP欺骗的原理是截获网关数据。它通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。第二种ARP欺骗的原理是伪造网关。它的原理是建立假网关,让被它欺骗的PC向假网关发数据,而不是通过正常的路由器途径上网。在PC看来,就是上不了网了(网络掉线了)。
2.ARP欺骗新的表现形式
现在又新出现了一种ARP病毒,与以前一样的是,该类ARP病毒也是向全网发送伪造的ARP欺骗广播,自身伪装成网关。但区别是它着重的不是对网络游戏数据包的解密,而是对HTTP请求访问的修改。还是以上面的局域网环境举例,如果局域网中一台电脑B要请求某个网站页面,这台电脑会先向网关发送HTTP请求,说:“我想登录这个网页,请你将这个网页下载下来,并发送给我。”这样,网关就会将这个页面下载下来,并发送给B电脑。这时,如果A这台电脑通过向全网发送伪造的ARP欺骗广播,自身伪装成网关成为一台ARP中毒电脑的话,这样当B电脑请求WEB网页时,A电脑先是“好心好意”地将这个页面下载下来,然后发送给B电脑,但是它在返回给B电脑时,会向其中插入恶意网址连接,该恶意网址连接会利用MS06-014和MS07-017等多种系统漏洞,向B电脑种植木马病毒。同样,如果C电脑也是请求WEB页面访问。A电脑同样会给C电脑返回带毒的网页,这样,如果一个局域网中存在这样的ARP病毒电脑的话,顷刻间,整个网段的电脑将全部中毒。
二、ARP攻击类型分析
由于ARP协议设计之初,并没有考虑到网络中主机的不安全性,因此,在ARP协议中存在着一些不安全因素,主要体现在以下四个方面:无连接性、无认证性、无状态性和广播性。任何主机都能够发送ARP数据包,而且只要接收的数据包是有效的,主机会将接收到的数据添加到ARP缓存表中,不会对其进行合法性检测,同时,ARP缓存表是时刻变化的,而对MAC地址的寻找,大多数是通过广播形式获得的。
正是由于ARP协议没有对用户身份和ARP报文的合法性进行检测,一旦收到ARP请求就会更新ARP缓存表,这样网络中任何一台主机都能发起ARP攻击,都能随意伪造ARP数据包。网络攻击者正是利用ARP协议中的这些漏洞,对用户发动ARP攻击,ARP攻击的方式和类型有很多种,而且层出不穷,目前来说主要有以下几种:
(一)IP地址冲突攻击。
因为IP地址对主机来说相当于唯一的身份证号码,每台主机的IP地址都不能相同,如果有IP地址相同的两台主机,就会导致IP地址冲突。一台主机检测自身IP地址是否与网络中其他主机IP地址冲突的方法是向网络中发送广播,将目标主机的IP地址设为自身的IP地址,如果收到应答则证明网络中存在与自身IP地址相同的主机,这时本机上会弹出IP地址冲突的警告。很多ARP攻击者利用这一原理,将ARP数据包中的源主机IP地址和目标主机IP地址均设置为被攻击者的IP地址,将目标主机的MAC地址设置为被攻击者的MAC地址,被攻击者收到这个数据包之后,就会以为IP地址存在冲突,从而释放自身的IP地址,导致无法正常通信 (二)ARP泛洪攻击。
在网络中的每一个网络设备中都存在着一张ARP表,ARP表的大小是固定的,攻击者不断发送伪造的ARP广播数据包,让交换机不停地处理广播数据包,耗尽带宽。另外,大量虚假的MAC地址填充整个ARP表,从而让网络设备无法根据ARP表进行正常的通信。
(三)ARP欺骗。
ARP协议并不只有在发送ARP请求之后才接收ARP应答,当主机接收到一个ARP应答数据包之后,它就会更新自己的ARP缓存表。如果攻击者伪造一个ARP应答,主机会将这个伪造的IP地址和MAC地址的映射存入ARP缓存表中,从而可能让网络出现问题。ARP欺骗分为两种:一种是攻击者将自己伪装成主机,给网关发送一系列错误的AAC地址,并且按照一定的频率不断进行,让真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送到错误的MAC地址,从而导致主机无法正常收到信息。第二种是伪造网关,即建立假网关,让被它欺骗的主机向假网关发送数据,从而截获这些信息。
三、ARP攻击防御策略
由于ARP攻击是利用ARP协议本身的漏洞开展的,要从根本上解决这个问题需要修改ARP协议的认证体系,但是修改协议从现阶段来说是不太可能实现的,在目前情况下,我们可以采取以下几种措施防御ARP攻击。
(一)利用交换机对VLAN进行合理地分段,同时将VLAN和交换机绑定。
这种方式首先是将VLAN进行细分,从而有效减少广播域的范围,ARP的影响只会在很小范围以内,不会产生很大很恶劣的影响;然后将与交换机连接的主机的IP地址与MAC地址的映射及其对应端口保存在交换机中,当交换机的某个端口收到ARP数据包的时候,就将包中的源地址与交换机中保存的源地址进行比较,一旦发现两者不符合,则会禁止该端口发来的所有数据包。
(二)将IP地址和MAC地址进行绑定。
很多ARP攻击者就是利用ARP缓存表会进行动态更新的特点发动攻击的,因此只要将ARP缓存表中的IP地址与MAC地址的映射绑定后且不允许刷新,就能有效防止ARP攻击。不过这种方法也有明显不足,第一是重启之后必须重新绑定IP地址和MAC地址,十分麻烦;第二,这种绑定方法不灵活,一旦主机有变更,就需要重新对IP地址和MAC地址进行绑定,对于那种主机数量很多的局域网来说,这种方式是不可取的。
(三)利用Sniffer等监听软件对局域网中的ARP数据包进行监听。
因为正常的主机在一定时间内发送和接收的数据包是一定的,只有那些ARP攻击者会在短时间内发送大量的数据包,因此,通过监听软件我们可以发现哪些主机在短时间内发送了大量数据包,从而对这些主机进行排查。
(四)在网关和主机上安装ARP防火墙。
AHF防火墙通过在系统内核层拦截虚假的ARP数据包及主动通告网关本机正确的MAC地址,可以保障数据流向正确,不经过第三者。从而保证通讯数据安全和网络畅通,保证数据不受第三者控制。ARR防火墙包括拦截ARP攻击、拦截IP地址冲突、DOS攻击抑制和ARP数据分析的功能。
(五)增强人员的网络安全意识。
所有连接局域网的计算机都要安装杀毒软件,定期进行升级更新并对计算机进行病毒扫描,及时安全系统补丁程序,使用U盘和移动硬盘前要先对其进行安全扫描,不安装或运行陌生、可疑的文件和程序。
参考文献:
[1]阎宏生.计算机网络安全与防护[M].北京:军事科学出版社,2002.7.
[2]刘启业,赵利军.网络安全[M].北京:军事谊文出版社,2010.9.
[3]史子新.校园网ARP攻击的分析与综合防御[J].成都:四川大学学报,2013.10.