校园网络环境下ARP欺骗过程及安全防御策略
2010-12-27雷云光周增国
雷云光,周增国
(大连大学 校园网建设办公室,辽宁 大连 116622)
校园网络环境下ARP欺骗过程及安全防御策略
雷云光,周增国*
(大连大学 校园网建设办公室,辽宁 大连 116622)
从ARP协议的功能和内容入手,分析了ARP协议所存在的安全漏洞,给出了同一网段和跨网段ARP欺骗的实现过程。从校园网用户的角度和网络管理员的角度,提出了安全防御策略。
校园网;ARP欺骗;防御策略
校园网络出现断线或者时断时续的现象,不仅严重影响广大师生在网络平台上的学习、工作和生活,同时也会给学校网络管理工作带来极大的困扰和压力。一般来说,造成网络不稳定的原因在于一些基于ARP协议漏洞的欺骗程序攻击,使网络感染了ARP欺骗病毒程序,计算机通过ARP广播冒充网段内的网关,截取其他网络用户的数据流,从而导致这些正常用户的计算机无法连接到正确的网关,出现网络故障。
一、ARP协议及ARP欺骗的实现过程
ARP 是“Address Resolution Protocol”(地址解析协议)的缩写。它是一个位于 TCP/IP协议栈中的低层协议,负责将某个 IP地址解析成对应的MAC地址,在网络层和网络层以上使用的是 IP地址,而数据链路层及其以下使用的是硬件地址(MAC地址)。在局域网中,网络中实际传输的是“帧”,帧包括源主机MAC地址及目标主机的M AC地址。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的M AC地址。获得目标主机MAC地址就是通过ARP地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标主机的IP地址转换成目标主机的MAC地址的过程。ARP的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
ARP病毒工作时,首先将安装有ARP机器的网卡M AC地址通过ARP欺骗广播至整个局域网。计算机的原始ARP协议很像一个思想不坚定的人,容易被他人影响,ARP欺骗攻击就是利用了这一特性,误导计算机做出错误的行为,使局域网中的工作站误认为安装ARP的机器是该局域网的网关。当它伪装成网关时,由于物理地址错误,网络上的计算机发来的数据无法正常发送到网关,无法正常上网,造成这些计算机无法访问外网,而局域网中所有机器的数据却都可能流经它而被它窃取。ARP欺骗包括同一网段和不同网段的ARP欺骗。
1.同一网段的ARP欺骗
设在同一网段的三台主机A,B,C。其 IP地址和物理(MAC)地址映射关系如表1所示。
?
假设A与B是信任关系,A欲向B发送数据包。攻击方C通过前期准备,收集信息,发现B的漏洞,使B暂时无法工作。然后C发送包含自己M AC地址的ARP应答给A。由于大多数的操作系统在接收到ARP应答后会及时更新ARP缓存,而不考虑是否发出过真实的ARP请求,所以A接收到应答后,就更新它的ARP缓存,建立新的 IP/MAC地址映射对,即B的 IP地址192.168.1.101对应 C的 MAC地址 CC-CC-CC-CC-CC-CC。这样,A就将发往B的数据包发向了C。由此看来A像一个意志不坚定的快递员,A想把信送给B,在路上问:“B住哪?”听信C的话“我就是!”来决定自己的传递行为。A在一个人人诚实的地方,他的工作能顺利进行。但是若是旁边人看到递物贵重,想要欺骗,A的工作方式就会陷入混乱。而网络网关也就是路由器,其情况和A是一样的,路由器ARP协议的意志也不坚定,所以ARP对路由器ARP表持续发出错误的ARP讯息,通知路由器一系列错误的MAC地址,使路由器信以为真,真实的MAC地址信息却无法保存在路由器中。
2.跨网段的ARP欺骗
这种方式的欺骗要比同一网段的ARP欺骗复杂得多,它需要把ARP欺骗与 ICM P重定向攻击结合在一起。假设A和B在同一网段,C在另一网段,其IP地址和MAC地址映射关系如表2所示。
?
首先攻击方C修改 IP包的生存时间,将其延长,以便做充足的广播。然后寻找并攻击主机B的漏洞,使主机B暂时无法工作。此后,攻击方C发送IP地址为B的 IP地址192.168.1.101和C的M AC地址 CC-CC-CC-CC-CC-CC的 ARP应答给A。A接收到应答后,更新其ARP缓存。这样,在主机A上B的IP地址就对应C的MAC地址。但是,A在发数据包给B时,仍然会在局域网内寻找192.168.1.101的MAC地址,不会把包发给路由器,这时就需要进行 ICM P重定向,告诉主机A“到192.168.1.101的最短路径不是局域网,而是路由,请主机重定向路由路径,把所有到192.168.1.101的包发给路由器”。主机A在接受到这个合理的ICM P重定向后,修改自己的路由路径,把对192.168.1.101的数据包都发给路由器。这样攻击方C就能得到来自内部网段的数据包,进行跨网ARP欺骗。
二、安全防御策略
1.用户端计算机的防御策略
(1)安装杀毒软件、防火墙。用户对杀毒软件和防火墙要定期升级更新病毒代码,定时进行病毒扫描,及时更新补丁程序,包括系统补丁、IE浏览器补丁、OFFICE软件补丁等,防止ARP病毒侵入和攻击。杀毒软件很多,如金山毒霸、瑞星、360安全卫士、金山ARP防火墙等,要装什么样的杀毒软件和防火墙,优选的安装,看是否有效地阻挡来自网络的ARP病毒侵入和攻击。与此同时还可以考虑安装专杀工具对ARP攻击侵入及时清除,也可以考虑安装还原系统和安装影子系统,通过启动系统清除ARP病毒。
(2)注意上网安全。用户不要随便点击打开QQ、M SN等聊天工具上发来的链接信息,更不要随便打开陌生可疑的文件程序,如邮件中的陌生附件外接程序,尽可能不在网上玩游戏。许多带有ARP病毒的木马程序往往都是隐藏在网络游戏的外挂中,通过网络游戏私服进行传播。
(3)在用户端计算机上绑定交换机网关的IP和MAC地址。Window s用户可通过在命令行方式执行“arp-s网关 IP网关MAC地址”命令来减轻中毒计算机对本机的影响。网关IP和网关M AC地址可在网络工作正常时通过命令行方式下的“arp-a”命令来得到。可以编写一个批处理文件arp.bat,实现将交换机网关的MAC地址和网关的IP地址的绑定,并将这个批处理文件拖到“开始-程序-启动”中,以便用户每次开机后计算机自动加载并执行该批处理文件。内容如下:
(4)考虑到学生宿舍端口较少,用户使用无智能管理的交换机在做网络接入,而这类设备不论在其性能还是稳定性方面都容易出现问题,所以建议学生寝室使用性能好的交换机,这样对于ARP病毒的防御能起到辅助作用。
2.网络设备管理端的防御策略
(1)在核心交换机上绑定用户主机的IP地址和网卡的M AC地址,并在边缘交换机上将用户计算机网卡的MAC地址和交换机端口绑定。同时在三层交换机上实时检控用户的IP,MAC对应表以及在二层交换机上限制用户端接口上最大可以上传的M AC数量。
IP和MAC地址的绑定。在核心交换机上将所有局域网络用户的 IP地址与其网卡M AC地址一一对应进行全部绑定。这样可以在极大程度上避免非法用户使用ARP欺骗或盗用合法用户的IP地址进行流量的盗取。但是这样工作量比较大,需要用户提交网卡地址,网络管理员将用户提交的IP地址与其网卡MAC地址进行绑定。
MAC地址与交换机端口的绑定。根据局域网络用户所在的区域、楼体和用户房间所对应的交换机端口号,将用户计算机网卡的MAC地址和交换机端口绑定。此方案可以防止非法用户随意接入网络端口上网。网络用户如果擅自改动本机网卡的MAC地址,该机器的网络访问将被交换机认定为非法而无法实现上网,自然也就不会对局域网造成干扰。
(2)采用VLAN技术隔离交换机端口。局域网的网络管理员可根据本单位网络的拓扑结构,具体规划出若干个VLAN,同时可将交换机上的VLAN进一步划小。由于ARP报文是一种广播报文,它只能在一个广播域内传输,通过VLAN技术可以隔离广播域。将交换机上每一个用户的端口对应一个单独的VLAN,也就是类似 PVLAN的技术,隔离感染病毒的用户。这样即使有ARP攻击,在一定程度上可以减轻对整个网络的影响。当发现有非法用户在恶意利用ARP欺骗攻击网络,或因合法用户受ARP病毒感染而影响网络时,网络管理员可利用技术手段首先查找该用户所在的交换机端口,然后将该端口划一个单独的VLAN,进行逻辑隔离,以避免对其他用户的影响。
(3)开启交换机上针对ARP的特定功能。由于ARP欺骗攻击严重影响了网络的正常运行,各交换机厂家也积极应对ARP欺骗攻击的特点提供了相应的解决策略。如在锐捷S21系列二层交换机上可以通过开启Anti-ARP-Spoofing功能,防止同一网段内针对用户的ARP欺骗攻击。CISCO的可以使用ARP-Inspection,H3C的可以使用Anti-ARP-at2tack。
(4)使用ARP服务器查找自己的ARP转换表来响应其他机器的 ARP广播,但必须确保这台ARP服务器不被黑客攻击。
(5)对上网用户进行上网认证和地址绑定。单纯依靠客户端或者网络设备测试的防治都不能完全杜绝ARP攻击行为。如果要彻底防治ARP病毒必须双管齐下。通过在用户侧使用静态IP同时在汇聚交换机上进行IP-MAC对的绑定,同时开启帐号+密码+IP+MAC+接入交换机IP+接入交换机PORT的六元素绑定,杜绝同一MAC对应多个IP以及用户MAC对应网关 IP的ARP欺骗。通过地址绑定基本可以实现网络对于ARP欺骗攻击的完全性免疫。
(6)发现ARP病毒,包括主动和被动发现。
主动发现是防御主要采用的方法。具体方法是在路由表中查找一个物理地址出现多个IP地址情况;根据物理地址在相应的交换机的Bridge表中找到相应的端口,将其关闭。有些交换机当出现IP地址冲突时有记录,察看交换机的报警记录进行处理,即在三层交换机上实时检控用户的IP与M AC对应表,当发现用户的MAC地址发生变化,就在交换机上禁止这个MAC地址的通讯数据;也可以在二层交换机上限制用户端接口上最大可以上传的MAC数量,限制单个端口所连接MAC地址的数目,以及限制端口上学习的MAC地址数量,可以控制整个二层交换机CAM表长度,可以防止ARP泛洪攻击。
被动发现是当网络出现故障,用户报警用sniffer软件抓包分析找到故障点。分析得到的ARP数据包,有一些ARP病毒是会把通往网关的路径指向自己,有一些是发出虚假的ARP回应包来混淆网络通信,第一种处理比较容易,第二种处理就比较困难,因为大批量的报警是没法查的,有些要依靠网络管理员的技术水平,其方法并不适合于小学校。另外,有的没有排序功能,很难发现。推荐方法是在PING一下网关 IP地址,然后使用“arp-a”的命令看网关是否与实际情况相符,如不符可查找与该MAC地址对应的电脑。还可以使用MAC地址扫描工具NBTSCAN扫描全网端IP地址和MAC地址对应表,以判断感染ARP病毒对应的MAC地址和IP地址。如果严格按上述方法是可以找到感染ARP病毒的机器,基本上可以遏制ARP病毒泛滥。
ARP Fraud Processand Security Defense Strategy in Campus Network
LEI Yun-guang,ZHOU Zeng-guo
(Cam pus Network Construction Off ice,Dalian University,Dalian 116622,China)
Starting from the function and contents of ARP protocol,the paper analyze s the ARP vulnerabilities and describes the process of the same-network segment ARP fraud and the inter-segment ARP fraud.Security strategies are put forward from the perspectives of the campus network users and network administrators.
campus network;ARP fraud;defense strategy
G451.2
B
1008-388X(2010)01-0061-03
2009-11-19
雷云光(1959-),男,辽宁大连人,工程师。
惠子]