Arp欺骗实现网络准入控制方法研究.docx
《Arp欺骗实现网络准入控制方法研究.docx》由会员分享,可在线阅读,更多相关《Arp欺骗实现网络准入控制方法研究.docx(8页珍藏版)》请在冰点文库上搜索。
Arp欺骗实现网络准入控制方法研究
技术资料
Arp欺骗实现网络准入控制方法分析
北京赛门铁克信息技术有限公司
2006年08月
版本变更记录
版本
修订日期
修订人
描述
1.0
2006-8-11
叶永军
初稿
目录
第1章ARP欺骗的原理1
1.1Arp协议介绍1
1.2Arp病毒/Arp木马工作原理2
1.2.1病毒故障现象2
1.2.2病毒实现原理3
1.3Arp实现网络准入控制的原理3
第2章ARP欺骗的防范措施4
2.1防范Arp欺骗的重要性4
2.2防范Arp的措施5
2.2.1设置静态Mac表5
2.2.2应用反Arp欺骗技术5
第3章ARP欺骗实现网络控制的问题6
3.1防范ARP欺骗与利用ARP欺骗的矛盾6
3.2控制的效果6
3.3对网络的负面影响7
第4章ARP技术的有效运用7
第1章ARP欺骗的原理
局域网中,通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)的。
ARP协议对网络安全具有重要的意义。
通过伪造IP地址和MAC地址实现ARP欺骗,可以实现交换环境下的会话嗅探,第三方会话劫持攻击;不当的ARP欺骗可能导致整个局域网的不稳定甚至瘫痪;一些网络管理软件利用ARP欺骗也可以实现局域网强制接入的控制(如Internet上流行的“网络执法官”工具)。
本文将详细分析ARP欺骗的工作原理,给网络可能造成的不稳定因素以及防范措施,并证明采用ARP欺骗技术实现网络接入控制的局限性。
1.1Arp协议介绍
对Arp协议和工作原理比较了解的读者可以跳过此章节。
ARP协议是“AddressResolutionProtocol”(地址解读协议)的缩写。
在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。
在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。
但这个目标MAC地址是如何获得的呢?
它就是通过地址解读协议获得的。
所谓“地址解读”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。
ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,如下表所示:
主机IP地址MAC地址
A192.168.16.1aa-aa-aa-aa-aa-aa
B192.168.16.2bb-bb-bb-bb-bb-bb
C192.168.16.3cc-cc-cc-cc-cc-cc
D192.168.16.4dd-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缓存表的长度,加快查询速度。
1.2Arp病毒/Arp木马工作原理
2006年上半年,在全国大范围内爆发了一种通过传奇网络游戏外挂传播的木马病毒,对众多企业、教育、政府单位的网络造成严重影响。
通过Google搜索可以查阅更详细的关于该病毒的报道。
1.2.1病毒故障现象
当局域网内某台主机运行ARP欺骗的木马程序时,会欺骗局域网内所有主机和路由器,让所有上网的流量必须经过病毒主机。
其他用户原来直接通过路由器上网现在转由通过病毒主机上网,切换的时候用户会断一次线。
切换到病毒主机上网后,如果用户已经登陆了传奇服务器,那么病毒主机就会经常伪造断线的假像,那么用户就得重新登录传奇服务器,这样病毒主机就可以盗号了。
由于ARP欺骗的木马程序发作的时候会发出大量的数据包导致局域网通讯拥塞以及其自身处理能力的限制,用户会感觉上网速度越来越慢。
当ARP欺骗的木马程序停止运行时,用户会恢复从路由器上网,切换过程中用户会再断一次线。
1.2.2病毒实现原理
从上面介绍的Arp协议可以看出,ARP协议的基础就是信任局域网内所有的人,那么就很容易实现在以太网上的ARP欺骗。
攻击者对局域网终端和网关进行欺骗,终端和网关的通信将由攻击者进行中间转发,从而实现会话嗅探和劫持。
详细过程如下:
对目标A进行欺骗,A去Ping主机C却发送到了DD-DD-DD-DD-DD-DD这个地址上。
如果进行欺骗的时候,把C的MAC地址骗为DD-DD-DD-DD-DD-DD,于是A发送到C上的数据包都变成发送给D的了。
这不正好是D能够接收到A发送的数据包了么,嗅探成功。
A对这个变化一点都没有意识到,但是接下来的事情就让A产生了怀疑。
因为A和C连接不上了。
D对接收到A发送给C的数据包可没有转交给C。
做“maninthemiddle”,进行ARP重定向。
打开D的IP转发功能,A发送过来的数据包,转发给C,好比一个路由器一样。
D直接进行整个包的修改转发,捕获到A发送给C的数据包,全部进行修改后再转发给C,而C接收到的数据包完全认为是从A发送来的。
不过,C发送的数据包又直接传递给A,倘若再次进行对C的ARP欺骗。
现在D就完全成为A与C的中间桥梁了,对于A和C之间的通讯就可以了如指掌了。
1.3Arp实现网络准入控制的原理
一些网管软件通过Arp欺骗的方式实现了网络准入控制,其原理与Arp木马工作原理非常类似。
网管软件通过向局域网终端发送Arp欺骗数据包,修改网关IP地址的Mac地址应答,由于局域网终端学习到的网关Mac地址为虚假的Mac地址,导致终端发送到网关的通信不会被网关接受,从而不能连接到网关。
在以上方式中,只能控制终端与网关的通信,如果需要控制终端与同网段内其他所有终端的通信,则需要对该被控终端进行更多的arp欺骗。
也有个别网管软件为了保证控制效果,不仅仅对被控终端进行arp欺骗,还对所有网段中的正常终端进行欺骗,从而保证被控终端与正常终端双向都不能正常通信。
需要主意的是:
由于Arp地址表会定期刷新,因此必需以一定的频率反复发送arp欺骗包,保证控制效果。
实际应用中,发送频率通常为秒级,如5-10秒,才能确保压制的效果。
第2章ARP欺骗的防范措施
2.1防范Arp欺骗的重要性
ARP欺骗利用了Arp协议完全信任,缺少安全鉴别机制的安全漏洞,给网络管理者带来了很大的挑战。
Arp病毒/木马、“网络执法官”等非法软件的使用,极大地增加了局域网安全隐患,包括:
●信息泄漏
只需要简单的arp欺骗工具和操作步骤(如著名的CAIN工具,只需要点击两个按钮,sniffer和arp欺骗),就可以实现对交换环境中的通信进行嗅探,包括管理员管理账户口令、用户各种应用(mail、ftp、web)账户口令、用户通信内容等,导致严重的信息泄漏,为更严重的攻击行为提供了条件。
●Arp病毒
Arp病毒的主要危害不仅仅体现在病毒本身的目的,比如窃取传奇账号等,更为严重的是其对网络运行的拒绝服务攻击。
一方面,由于ARP欺骗的木马程序发作的时候会发出大量的数据包导致局域网通讯拥塞,另一方面,由于自身处理能力的限制,经常导致攻击者的网络通信中转失败或效能下降,导致正常用户网络中断或者网络速度极慢。
●“网络执法官”等非法软件的滥用
个别用户处于好奇、好玩等目的,下载使用“网络执法官”等非法控制软件,通过arp欺骗,可以让任意终端网络连接中断。
2.2防范Arp的措施
2.2.1设置静态Mac表
不要把你的网络安全信任关系建立在IP基础上或MAC基础上,(rarp同样存在欺骗的问题),设置静态的MAC-->IP对应表,可以杜绝Arp欺骗包刷新Mac地址表。
2.2.2应用反Arp欺骗技术
针对arp木马流行,越来越多的管理者注意到了Arp欺骗的危害,安全厂商、安全软件开发者也针对这种攻击行为有了相应的解决方案。
最常用的ARP欺骗拦截技术原理如下:
Arp欺骗的一个重要特征是通过ArpReply的高频率发送,刷新用户的Mac地址表,而事实上,针对这些Reply包,用户并没有发送相应的请求包。
因此,一个简单的技术机制可以很好地应对Arp欺骗攻击,主机对于接受到的没有请求过的ArpReply数据包直接丢弃并告警,就可以实现Arp欺骗的防范,并定位进行攻击的攻击源。
网关层面,目前主流交换机、路由器厂商的设备具备抗Arp欺骗攻击的能力,终端上,越来越多的个人防火墙产品(如Symantec)都已经内置了对Arp欺骗的防护。
一些免费的软件(如AntiARPSniffer)也提供类似的功能。
第3章ARP欺骗实现网络控制的问题
如前所述,一些网络管理软件可以通过ARP欺骗的方式对非授权终端进行强制的接入控制,禁止接入网络。
但是,该方式存在较大的管理局限性和负面影响,详细分析如下:
3.1防范ARP欺骗与利用ARP欺骗的矛盾
如2.1章节所述,由于利用Arp欺骗导致的攻击、病毒行为将极大的危害整个局域网络的安全,因此必需采用相应的Arp欺骗防范技术。
而要实现网络控制,则绝对不能使用Arp欺骗防范技术,否则将导致控制失效。
之所以会由这样的矛盾,根本原因在于该网络控制方式采用的是一种非法的,基于黑客攻击的方式。
而这种攻击方式的滥用,将给网络带来更大的危害。
3.2控制的效果
根据其实现原理,可以很容易理解其实现的控制效果并不理想。
首先,由于Arp广播包只能在同一个网段或者VLAN中生效,不能跨网段,更不能跨路由,则极大地影响了该方式的实施效果。
必需确保每一个Vlan,每一个远程接入网段内,必需存活一台该软件可管理的设备,由该设备实现Arp欺骗功能,从而实现准入控制。
因此,很多网络场景,比如远程接入的终端,移动营业厅的终端等,都无法实现接入控制。
其次,由于针对Arp欺骗防范技术已经比较成熟,终端用户自行设定静态Mac地址,安装相应的防护软件(如AntiARPSniffer),启用防火墙软件(需支持arp欺骗防护功能),都可以逃避这种网络接入控制方式。
另外,个别软件声称即时被控终端有以上防范措施,仍然能够进行控制,其实现原理是对其他正常的终端进行更大范围的Arp欺骗,确保正常终端给受控终端的通信不能正常进行。
这种方法一方面要求所有正常终端必需暴露在arp欺骗攻击的影响下,不能使用任何防护措施,另一方面,该方式对于UDP等单向及可完成通信的攻击没有效果,也就是说,攻击者感染的蠕虫病毒(如SqlSlammer)在一个UDP包中已经包含了整个攻击过程,该数据包会不受控制地发送给全网其他终端,攻击过程并不需要正常终端的回复。
3.3对网络的负面影响
为了保证准入控制效果,大量的,高频度的Arp欺骗包在局域网内传播,降低了网络的性能。
另一方面,当真正的攻击发生或者出现网络故障时,网络中存在大量的攻击包将影响真正问题的定位和修复。
第4章ARP技术的有效运用
Arp技术的合理使用也可以对网络管理有合适的帮助,比如定位非授权终端。
一些网管软件通过Arp的方式扫描全网,可以发现那些违规计入的终端。
使用Arp方式而不是snmp或者Ping的方式,可以有效地发现那些启用了防火墙的终端。
但是这种方式一个负面效果是仍然存在大量的额外的Arp扫描包,同样,为了保证发现的即时性,扫描操作会以高频度反复执行。
另外,目前有一些防火墙技术可以禁止这种Arp扫描的方式,从而逃避探测。
SymantecSygate安全代理的LanSensor功能也应用了Arp发现的技术,但是与上述方式不同的是,不会增加任何额外流量。
终端接入网络时,必然会发送Arp广播包,对于安装了Sygate安全代理的终端,其发送的Arp广播报文被适当修改标识(不影响正常使用)。
从而,通过部署在同网段的LanSensor代理(安全代理的一个功能组件)就可以接受这些广播包,并且识别发送广播包的代理是否安装有Sygate安全代理。
对于未安装Sygate安全代理的终端,可以实时发现并同一告警。
这种技术在违规终端发现上即保证了效果,又不会对网络造成任何影响,是Arp技术的一个有效运用。