APP下载

ARP欺骗原理与防护技术研究

2012-04-29蒋文浩

环球市场信息导报 2012年9期
关键词:网卡IP地址网关

蒋文浩

该文通过分析ARP协议的原理及ARP欺骗的原理,设计了防御ARP病毒的方法。

地址解析协议;ARP欺骗;MAC地址

1.ARP协议简介

ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。它是通过地址解析协议(AddressResolution Protoco,l ARP)获得的。ARP协议是一个网络层子协议,它用于将网络中的IP地址解析为硬件地址(MAC地址),以保证通信的顺利进行。

2.ARP协议的工作原理

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

以主机H(192.168.1.5)向主机A(192.168.1.1)发送数据为例。当发送数据时,主机H会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址,主机H就会在网络上发送一个广播,目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:192.168.1.1的MAC地址是什么。网络上其他主机并不响应ARP询问,只有主机A接收到这个帧时,才向主机H做出这样的回应:192.168.1.1的MAC地址是00-aa-00-62-c6-09。这样,主机H就知道了主机A的MAC地址,它就可以向主机A发送信息了。同时它还更新了自己的ARP缓存表,下次再向主机A发送信息时,直接从ARP缓存表里查找就可以了。

ARP协议安全缺陷。在TCP/IP协议的网络环境下,ARP工作时,送出一个含有所希望的IP地址的以太网广播数据报。一个IP数据报走到哪里,要怎么走主要是靠路由表定义。但是,当IP数据包到达该网络后,哪台机器响应这个IP包却是靠该IP包中所包含的硬件MAC地址来识别。也就是说,只有机器的硬件MAC地址和该IP包中的硬MAC地址相同的机器才会应答这个IP包,所以,在每台主机的内存中,都有一个ARP→硬件MAC地址的转换表。通常是动态的转换表(该ARP表可以手工添加静态条目)。

ARP欺骗原理。典型的ARP欺骗过程如下:

假设局域网分别有IP地址为192.168.1.1、192.168.1.2和192.168.1.3的A、B、C三台主机,假如A和C之间正在进行通讯,此时B向A发送一个自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是192.168.1.3(C的IP地址),MAC地址是BB-BB-BB-BB-BB-BB,当A接收到B伪造的ARP应答,就会更新本地的ARP缓存,这时B就伪装成C了。同时,B同样向C发送一个ARP应答,应答包中为发送方IP地址192.168.1.1(A的IP地址),MAC地址BB-BB-BB-BB-BB-BB(A的MAC地址本来应该是AA-AA-AA-AA-AA-AA),当C收到B伪造的ARP应答,也会更新本地ARP缓存,这时B又伪装成了A。这时主机A和C都被主机B欺骗,A和C之间通讯的数据都经过了B,主机B完全劫持目标主机与其他主机的会话。

ARP欺骗一般分为两种:主机型ARP欺骗。欺骗过程:A欺骗B,A告诉B,我(A)就是C,当然告诉的是真IP地址和假MAC地址,使B不能与C连接。若C是网关,B就不能上外网Internet了。

网关型ARP欺骗。欺骗过程:B充当中间人角色向两个方向发送ARP欺骗包,使A的上网数据包经过B再到C,又使C的返回数据经过B再到A,卡在中间,以达到窃取数据的目的。B发送ARP欺骗包给A,B告诉A,我(B)就是网关;同时,B又发送ARP欺骗包给真正的网关C,告诉真正的网关C,我(B)就是A,这样B就欺骗了双方,接着B通过劫持A和C之间的通信会话,就可以窃听数据了。

从影响网络连接通畅的方式来看,ARP欺骗分为两种,一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。

3.ARP欺骗防范措施

建立DHCP服务器,另外所有客户机的IP地址及其相关主机信息,只能由网关这里取得,网关这里开通DHCP服务,但是要给每个网卡,绑定固定唯一IP地址。一定要保持网内的机器IP/MAC一一对应的关系。这样客户机虽然是DHCP取地址,但每次开机的IP地址都是一样的或手工清除PC和网关ARP表项,从新学习正确的ARP信息。ARP欺骗发生后的PC和网关设备的ARP表被篡改了,这样我们可以通过手工方式来清除ARP表项,然后让双方重新学习。

主机:arp–d

网关:clear arp。

建立MAC数据库,把局域网内所有网卡的MAC地址记录下来,每个MAC和IP、地理位置统统装入数据库,以便及时查询备案,PC机上静态绑定网关MAC地址,防止对主机的欺骗。在主机上可以使用静态的ARP绑定网关的IP地址和网关的MAC地址,比如在PC机上配置autoexec.bat批处理文件:

@echo off

arp–d

arp–s主机ip地址主机mac地址//mac地址格式为xx-xx-

xx-xx-xx-xx。

网关机器关闭ARP动态刷新的过程,使用静态路由,这样的话,即使ARP欺骗攻击网关的话,对网关也是没有用的,因此可以确保主机安全。网关建立静态IP/MAC捆绑的方法是:建立/etc/ethers文件,其中包含正确的IP/MAC对应关系,格式如下:192.168.2.3208:00:4E:B0:24:47然后在/etcrc. d/rc. local最后添加: arp -f生效即可。

网关监听网络安全。网关上面使用抓包程序截取每个ARP程序包,用脚本分析软件分析这些ARP协议。ARP欺骗攻击的包一般有以下两个特点,满足之一可视为攻击包报警:以太网数据包头的源地址、目标地址和ARP数据包的协议地址不匹配,或者ARP数据包的发送和目标地址不在自己网络网卡MAC数据库内,或者与自己网络MAC数据库MAC/IP不匹配。这些统统第一时间报警,查这些数据包(以太网数据包)的源地址(也有可能伪造),就大致知道哪台机器在发起攻击了。

使用支持端口隔离的二层交换机。通过端口隔离特性,可以将不同用户的端口划分到同一个VLAN,不同用户之间不能互通,从而增强了网络的安全性,阻止了ARP病毒源的机器对网络的影响,提供了灵活的组网方案,同时节省了大量的VLAN资源。

安装杀毒软件,及时升级病毒库,定期全网杀毒。

[1]陈明.网络协议教程[M].北京:清华大学出版社,2004

[2]杨义先等.网络安全理论与技术[M].北京:人民邮电出版社,2003

[3]龚俭,杨望.计算机网络安全导论(第二版)[M].南京:东南大学版社,2007

猜你喜欢

网卡IP地址网关
在DDS 中间件上实现双冗余网卡切换的方法
铁路远动系统几种组网方式IP地址的申请和设置
Server 2016网卡组合模式
IP地址切换器(IPCFG)
基于SNMP的IP地址管理系统开发与应用
公安网络中IP地址智能管理的研究与思考
挑战Killer网卡Realtek网游专用Dragon网卡
LTE Small Cell网关及虚拟网关技术研究
应对气候变化需要打通“网关”
读编往来