假设:
计算机A的IP为192.168.1.1,MAC地址为00-11-22-33-44-01;
计算机B的IP为192.168.1.2,MAC地址为00-11-22-33-44-02;
ARP工作原理如下:
在TCP/IP协议中,A给B发送IP包,在包头中需要填写B的IP为目标地址,但这个IP包在以太网上传输的时候,还需要进行一次以太包的封装,在这个以太包中,目标地址就是B的MAC地址.
计算机A是如何得知B的MAC地址的呢?解决问题的关键就在于ARP协议。
在A不知道B的MAC地址的情况下,A就广播一个ARP请求包,请求包中填有B的IP(192.168.1.2),以太网中的所有计算机都会接收这个请求,而正常的情况下只有B会给出ARP应答包,包中就填充上了B的MAC地址,并回复给A。
A得到ARP应答后,将B的MAC地址放入本机缓存,便于下次使用。
本机MAC缓存是有生存期的,生存期结束后,将再次重复上面的过程。
以上三种方法中,前两种方法较为常见,第三种方法由于变动较大,适用于技术能力较佳的应用。下面针对前两种方法加以说明。
PK 赛之"ARP echo"
ARP echo是最早开发出来的ARP攻击解决方案,但随着ARP攻击的发展,渐渐失去它的效果。现在,这个方法不但面对攻击没有防制效果,还会降低局域网运作的效能,但是很多用户仍然以这个方法来进行防制。以前面介绍的思想不坚定的快递员的例子来说,ARP echo的作法,等于是时时用电话提醒快递员正确的发送对象及地址,减低他被邻近的各种信息干扰的情况。
但是这种作法,明显有几个问题:第一,即使时时提醒,但由于快递员意志不坚定,仍会有部份的信件因为要发出时刚好收到错误的信息,以错误的方式送出去;这种情况如果是错误的信息频率特高,例如有一个人时时在快递员身边连续提供信息,即使打电话提醒也立刻被覆盖,效果就不好;第二,由于必须时时提醒,而且为了保证提醒的效果好,还要加大提醒的间隔时间,以防止被覆盖,就好比快递员一直忙于接听总部打来的电话,根本就没有时间可以发送信件,耽误了正事;第三,还要专门指派一位人时时打电话给快递员提醒,等于要多派一个人手负责,而且持续地提醒,这个人的工作也很繁重。
以ARP echo方式对应ARP攻击,也会发生相似的情况。第一,面对高频率的新式ARP攻击,ARP echo发挥不了效果,掉线断网的情况仍旧会发生。ARP echo的方式防制的对早期以盗宝为目的的攻击软件有效果,但碰到最近以攻击为手段的攻击软件则公认是没有效果的。第二,ARP echo手段必须在局域网上持续发出广播网络包,占用局域网带宽,使得局域网工作的能力降低,整个局域网的计算机及交换机时时都在处理ARP echo广播包,还没受到攻击局域网就开始卡了。第三,必须在局域网有一台负责负责发ARP echo广播包的设备,不管是路由器、服务器或是计算机,由于发包是以一秒数以百计的方式来发送,对该设备都是很大的负担。
常见的ARP echo处理手法有两种,一种是由路由器持续发送,另一则是在计算机或服务器安装软件发送。路由器持续发送的缺点是路由器原本的工作就很忙,因此无法发送高频率的广播包,被覆盖掉的机会很大,因此面对新型的ARP攻击防制效果小。因此,有些解决方法,就是拿ARP攻击的软件来用,只是持续发出正确的网关、服务器对照表,安装在服务器或是计算机上,由于服务器或是计算机运算能力较强,可以同一时间内发出更多广播包,效果较大,但是这种作法一则大幅影响局域网工作,因为整个局域网都被广播包占据,另则攻击软件通常会设定更高频率的广播包,误导局域网计算机,效果仍然有限。
此外,ARP echo一般是发送网关及MAC的对照信息,对于防止局域网计算机被骗有效果,对于路由器没有效果,仍需作绑定的动作才可。
PK 赛之"ARP绑定"
ARP echo的作法是不断提醒计算机正确的ARP对照表,ARP绑定则是针对ARP协议"思想不坚定"的基本问题来加以解决。ARP绑定的作法,等于是从基本上给这个快递员培训,让他把正确的人名及地址记下来,再也不受其它人的信息干扰。由于快递员脑中记住了这个对照表,因此完全不会受到有心人士的干扰,能有效地完成工作。在这种情况下,无论如何都可以防止因受到攻击而掉线的情况发生。
但是ARP绑定并不是万灵药,还需要作的好才有完全的效果。第一,即使这个快递员思想正确,不受影响,但是攻击者的网络包还是会小幅影响局域网部份运作,网管必须通过网络监控或扫瞄的方法,找出攻击者加以去除;第二,必须作双向绑定才有完全的效果,只作路由器端绑定效果有限,一般计算机仍会被欺骗,而发生掉包或掉线的情况。
双向绑定的解决方法,最为网管不喜欢的就是必须一台一台加以绑定,增加工作量。但是从以上的说明可知道,只有双向绑定才能有效果地解决ARP攻击的问题,而不会发生防制效果不佳、局域网效率受影响、影响路由器效能或影响服务器效能的缺点。也就是说双向绑定是个硬工夫,可以较全面性地解决现在及未来ARP攻击的问题,网管为了一时的省事,而采取片面的ARP echo解决方式,未来还是要回来解决这个问题。
II、现阶段唯一解决方案----双向绑定
以上以思想不坚定的快递员情况,说明了常见的ARP攻击防制方法。ARP攻击利用的就是ARP协议的意志不坚,只有以培训的方式让ARP协议的意志坚定,明白正确的工作方法,才能从根本解决问题。只是依赖频繁的提醒快递员正确的作事方法,但是没有能从快递员意志不坚的特点着手,就好像只管不教,最终大家都很累,但是效果仍有限。
经我公司技术团队仔细研究,建议:面对这种新兴攻击,取巧用省事的方式准备,最后的结果可能是费事又不管用,必须重新来过。ARP双向绑定虽然对管理带来一定的工作量,但是其效果确是从根本上解决了问题。
三、网域ARP欺骗攻击防护专区实现方式介绍:
从影响网络连接通畅的方式来看,ARP欺骗分为二种,一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。
第一种ARP欺骗的原理是——截获网关数据。它通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。第二种ARP欺骗的原理是——伪造网关。它的原理是建立假网关,让被它欺骗的PC向假网关发数据,而不是通过正常的路由器途径上网。在PC看来,就是上不了网了,“网络掉线了”。
基于以上两种ARP欺骗的方式,我公司在上海电信外高桥数据中心采用独立网段加上双向绑定的方法设立了防ARP欺骗攻击专区,拓朴结构示意图如下:
ARP欺骗攻击防护实现方式:
外部防护
1、此防护区域使用独立网关,从电信路由层以独立VLAN的物理结构方式接入,与其他非防护区域服务器完全隔离
内部防护
2、防护专区中心交换机以机柜为单位划分VLAN,保证机柜之间无法直接通信,防止机柜之间的ARP 欺骗攻击。防护专区中心交换机进行 IP段—MAC---交换机端口 配对绑定,服务器只能在指定交换机机柜和指定交换机端口使用,防止内部ARP攻击机截获网关数据,进行欺骗攻击。
3、机柜交换机进行 IP—MAC—交换机端口 配对绑定,服务器只能在指定交换机端口使用,防止内部ARP攻击机发送虚假IP 地址,虚假MAC地址,伪造网关,进行欺骗攻击。
4、机柜交换机进行 网关IP—网关MAC 静态绑定,为机柜内部服务器提供静态的网关MaC地址解析。