ARP欺骗是个很老的话题了,自从有了TCP/IP协议的那一刻起它就存在了。曾起何时,ARP不过是大学校园的“赖皮”学生用来争抢IP的一种技术手段而已!而现在利用ARP攻击方式盗取密码的事情数见不鲜!由于ARP攻击导致频繁掉线的事情频频出现。,让人很恼火。本文将着力解释什么是ARP攻击及其原理等,让读者朋友们对其有个深入的了解,并通过对国内六款主流的ARP防火墙的横向评测,为读者挑出自己满意的ARP防火墙。
什么是ARP
ARP是地址转换协议(Address Resolution Protocol)的英文缩写,它是一个链路层协议,工作在OSI模型的第二层,在本层和硬件接口间进行联系,同时对上层(网络层)提供服务。二层的以太网交换设备并不能识别32位的IP地址,它们是以48位以太网地址(就是我们常说的MAC地址)传输以太网数据包的。也就是说IP数据包在局域网内部传输时并不是靠IP地址而是靠MAC地址来识别目标的,因此IP地址与MAC地址之间就必须存在一种对应关系,而ARP协议就是用来确定这种对应关系的协议。
Windows操作系统,在命令行窗口输入"arp -a"命令可查看本机当前的ARP缓存表,ARP缓存表保存的就是IP地址与MAC地址的对应关系,如图1所示:
(图:1)
上图中,"Internet Address"指的就是IP地址,"Physical Address"指的就是MAC地址。
ARP欺骗原理(此资料引自彩影软件官方网站http://www.antiarp.com/)
要说到ARP的欺骗原理,就不得不先说下ARP协议的工作原理:
ARP数据包根据接收对象不同,可分为两种:
1. 广播包(Broadcast)。广播包目的MAC地址为FF-FF-FF-FF-FF-FF,交换机设备接收到广播包后,会把它转发给局域网内的所有主机。
2. 非广播包(Non-Broadcast)。非广播包后只有指定的主机才能接收到。
ARP数据包根据功能不同,也可以分为两种:
1. ARP请求包(ARP Request)。ARP请求包的作用是用于获取局域网内某IP对应的MAC地址。
2. ARP回复包(ARP Reply)。ARP回复包的作用是告知别的主机,本机的IP地址和MAC是什么。
广播的一般都是ARP请求包,非广播的一般都是ARP回复包。
假设局域网内有以下两台主机,主机名、IP地址、MAC地址分别如下:
主机名 IP地址 MAC地址
A 192.168.0.1 AA-AA-AA-AA-AA-AA
B 192.168.0.2 BB-BB-BB-BB-BB-BB
当主机A需要与主机B进行通讯时,它会先查一下本机的ARP缓存中,有没有主机B的MAC地址。如果有就可以直接通讯。如果没有,主机A就需要通过ARP协议来获取主机B的MAC地址,具体做法相当于主机A向局域网内所有主机喊一嗓子:“喂~谁是192.168.0.2?我是192.168.0.1,我的MAC地址是AA-AA-AA-AA-AA-AA
。你的MAC地址是什么,快告诉我”,这时候主机A发的数据包类型为:广播-请求。
当主机B接收到来自主机A的“ARP广播-请求”数据包后,它会先把主机A的IP地址和MAC地址对应关系保存/更新到本机的ARP缓存表中,然后它会给主机A发送一个“ARP非广播-回复”数据包,其作用相当于告诉主机A:“嘿,我是192.168.0.2,我的MAC地址是BB-BB-BB-BB-BB-BB”。当主机A接收到主机B的回复后,它会把主机B的IP地址和MAC地址对应关系保存/更新到本机的ARP缓存表中,之后主机A和B就可以进行通讯了。
从上述局域网主机通讯过程可以看出,主机在两种情况下会保存、更新本机的ARP缓存表,
1. 接收到“ARP广播-请求”包时
2. 接收到“ARP非广播-回复”包时
从《ARP协议工作原理》一文我们已经了解到,主机在两种情况下会保存、更新本机的ARP缓存表,
1. 接收到“ARP广播-请求”包时
2. 接收到“ARP非广播-回复”包时
从中我们可以看出,ARP协议是没有身份验证机制的,局域网内任何主机都可以随意伪造ARP数据
包,ARP协议设计天生就存在严重缺陷。
假设局域网内有以下三台主机(其中GW指网关),主机名、IP地址、MAC地址分别如下:
主机名 IP地址 MAC地址
GW 192.168.0.1 01-01-01-01-01-01
PC02 192.168.0.2 02-02-02-02-02-02
PC03 192.168.0.3 03-03-03-03-03-03
在正常情况下,主机PC02与GW之间的数据流向,以及它们各自的ARP缓存表如图2所示:
(图:2)
当网络爱好者,主机PC03出现之后,他为了达到某种目的,于是决定实施一次ARP欺骗攻击。PC03首先向PC02发送了一个ARP数据包,作用相当于告诉PC02:“嘿,我是192.168.0.1,我的MAC地址是03-03-03-03-03-03”,接着他也向GW发送了一个ARP数据包,作用相当于告诉GW:“嘿,我是192.168.0.2,我的MAC地址是03-03-03-03-03-03”。于是,主机PC02与GW之间的数据流向,以及它们各自的ARP缓存表就变成如图3所示:
(图:3)
从上图我们可以看出,ARP欺骗之后,主机PC02与GW之间的所有网络数据都将流经PC03,即PC03已经掌控了它们之间的数据通讯。以上就是一次ARP欺骗的实施过程,以及欺骗之后的效果。
ARP欺骗的种类及危害
ARP欺骗根据欺骗对象的不用可以分为三种,
1. 只欺骗受害主机。实施欺骗后效果如下:图4
(图:4)
2. 只欺骗路由器、网关。实施欺骗后效果如下:图5
(图:5)
3. 双向欺骗,即前面两种欺骗方法的组合使用。实施欺骗后的效果如下:图6
(图:6)
ARP欺骗带来的危害可以分为几大类,
1. 网络异常。具体表现为:掉线、IP冲突等。
2. 数据窃取。具体表现为:个人隐私泄漏(如MSN聊天记录、邮件等)、账号被盗用(如QQ账号、银行账号等)。
3. 数据篡改。具体表现为:访问的网页被添加了恶意内容,俗称“挂马”。
4. 非法控制。具体表现为:网络速度、网络访问行为(例如某些网页打不开、某些网络应用程序用不了)受第三者非法控制。
ARP欺骗根据发起个体的不同可以分为两类,
1. 人为攻击。人为攻击的目的主要是:造成网络异常、窃取数据、非法控制。
2. ARP病毒。ARP病毒不是特指某一种病毒,而是指所有包含有ARP欺骗功能的病毒的总称。ARP病毒的目的主要是:窃取数据(盗号等)、篡改数据(挂马等)。
好了,在详细了解ARP之后,我们再来了解一下各ARP防火墙的相关信息。
测评对象
※ 风云防火墙
国内防火墙新兴力量,风云防火墙。风云防火墙将秉持自己的简约而不简单的核心开发思想,认真综合、考虑用户的建议,开发、整合适于当前网络时代防火墙趋势与理念的功能,为用户提供防护优秀、功能实用、操作简单、占用资源低的风云防火墙。
※ 奇虎360ARP防火墙
360ARP防火墙通过在系统内核层拦截ARP攻击数据包,确保网关正确的MAC地址不被篡改,可以保障数据流向正确,不经过第三者,从而保证通讯数据安全、保证网络畅通、保证通讯数据不受第三者控制,完美的解决局域网内ARP攻击问题。
※ 彩影ARP防火墙个人版
ARP防火墙采用内核层拦截技术和主动防御技术,几大功能模块(拦截ARP攻击/拦截IP冲突/DoS攻击抑制/安全模式/ARP数据分析/监测ARP缓存/主动防御/追踪攻击源/查杀ARP病毒/系统时间保护/IE首页保护/ARP缓存保护/自身进程保护/智能防御)互相配合,可彻底解决ARP相关问题,扼杀DoS攻击源。
※ 瑞星防火墙
瑞星就不用多介绍了,国内老牌的安全软件厂商。
※ 超级巡警
专门查杀并可辅助查杀各种木马、流氓软件、利用rootkit技术的各种后门和其它恶意代码(间谍软件、蠕虫病毒)等等。提供了多种专业工具,提供系统 /IE修复、隐私保护和安全优化功能,提供了全面的系统监测功能,使你对系统的变化了如指掌,配合手动分析可近100%的查杀未知恶意代码!
※ 金山ARP防火墙
金山公司出品的,不多作介绍了。