ARP欺骗/攻击反复袭击,是近来网络行业普遍了解的现象,随着ARP攻击的不断升级,不同的解决方案在市场上流传。但是笔者最近发现,有一些方案,从短期看来似乎有效,实际上对于真正的ARP攻击发挥不了作用,也降低局域网工作效率。Qno侠诺的技术服务人员接到很多用户反应说有些ARP防制方法很容易操作和实施,但经过实际深入了解后,发现长期效果都不大。
对于ARP攻击防制,Qno侠诺技术服务人员的建议,最好的方法是先踏踏实实把基本防制工作做好,才是根本解决的方法。由于市场上的解决方式众多,我们无法一一加以说明优劣,因此本文解释了ARP攻击防制的基本思想。我们认为读者如果能了解这个基本思想,就能自行判断何种防制方式有效,也能了解为何双向绑定是一个较全面又持久的解决方式。
一、不坚定的ARP协议
一般计算机中的原始的ARP协议,很像一个思想不坚定,容易被其它人影响的人,ARP欺骗/攻击就是利用这个特性,误导计算机作出错误的行为。ARP攻击的原理,互联网上很容易找到,这里不再覆述。原始的ARP协议运作,会附在局域网接收的广播包或是ARP询问包,无条件覆盖本机缓存中的ARP/MAC对照表。这个特性好比一个意志不坚定的人,听了每一个人和他说话都信以为真,并立刻以最新听到的信息作决定。
就像一个没有计划的快递员,想要送信给“张三”,只在马路上问“张三住那儿?”,并投递给最近和他说“我就是!”或“张三住那间!”,来决定如何投递一样。在一个人人诚实的地方,快递员的工作还是能切实地进行;但若是旁人看快递物品值钱,想要欺骗取得的话,快递员这种工作方式就会带来混乱了。
我们再回来看ARP攻击和这个意志不坚定快递员的关系。常见ARP攻击对象有两种,一是网络网关,也就是路由器,二是局域网上的计算机,也就是一般用户。攻击网络网关就好比发送错误的地址信息给快递员,让快递员整个工作大乱,所有信件无法正常送达;而攻击一般计算机就是直接和一般人谎称自己就是快递员,让一般用户把需要传送物品传送给发动攻击的计算机。
由于一般的计算机及路由器的ARP协议的意志都不坚定,因此只要有恶意计算机在局域网持续发出错误的ARP讯息,就会让计算机及路由器信以为真,作出错误的传送网络包动作。一般的ARP就是以这样的方式,造成网络运作不正常,达到盗取用户密码或破坏网络运作的目的。针对ARP攻击的防制,常见的方法,可以分为以下三种作法:
1、利用ARP echo传送正确的ARP讯息:通过频繁地提醒正确的ARP对照表,来达到防制的效果。
2、利用绑定方式,固定ARP对照表不受外来影响:通过固定正确的ARP对照表,来达到防制的效果。
3、舍弃ARP协议,采用其它寻址协议:不采用ARP作为传送的机制,而另行使用其它协议例如PPPoE方式传送。
以上三种方法中,前两种方法较为常见,第三种方法由于变动较大,适用于技术能力较佳的应用。下面针对前两种方法加以说明。
PK 赛之“ARP echo”
ARP echo是最早开发出来的ARP攻击解决方案,但随着ARP攻击的发展,渐渐失去它的效果。现在,这个方法不但面对攻击没有防制效果,还会降低局域网运作的效能,但是很多用户仍然以这个方法来进行防制。以前面介绍的思想不坚定的快递员的例子来说,ARP echo的作法,等于是时时用电话提醒快递员正确的发送对象及地址,减低他被邻近的各种信息干扰的情况。
但是这种作法,明显有几个问题:第一,即使时时提醒,但由于快递员意志不坚定,仍会有部份的信件因为要发出时刚好收到错误的信息,以错误的方式送出去;这种情况如果是错误的信息频率特高,例如有一个人时时在快递员身边连续提供信息,即使打电话提醒也立刻被覆盖,效果就不好;第二,由于必须时时提醒,而且为了保证提醒的效果好,还要加大提醒的间隔时间,以防止被覆盖,就好比快递员一直忙于接听总部打来的电话,根本就没有时间可以发送信件,耽误了正事;第三,还要专门指派一位人时时打电话给快递员提醒,等于要多派一个人手负责,而且持续地提醒,这个人的工作也很繁重。
以ARP echo方式对应ARP攻击,也会发生相似的情况。第一,面对高频率的新式ARP攻击,ARP echo发挥不了效果,掉线断网的情况仍旧会发生。ARP echo的方式防制的对早期以盗宝为目的的攻击软件有效果,但碰到最近以攻击为手段的攻击软件则公认是没有效果的。第二,ARP echo手段必须在局域网上持续发出广播网络包,占用局域网带宽,使得局域网工作的能力降低,整个局域网的计算机及交换机时时都在处理ARP echo广播包,还没受到攻击局域网就开始卡了。第三,必须在局域网有一台负责负责发ARP echo广播包的设备,不管是路由器、服务器或是计算机,由于发包是以一秒数以百计的方式来发送,对该设备都是很大的负担。
图一:ARP攻击防制 方法之“ARP echo”图示说明
常见的ARP echo处理手法有两种,一种是由路由器持续发送,另一则是在计算机或服务器安装软件发送。路由器持续发送的缺点是路由器原本的工作就很忙,因此无法发送高频率的广播包,被覆盖掉的机会很大,因此面对新型的ARP攻击防制效果小。因此,有些解决方法,就是拿ARP攻击的软件来用,只是持续发出正确的网关、服务器对照表,安装在服务器或是计算机上,由于服务器或是计算机运算能力较强,可以同一时间内发出更多广播包,效果较大,但是这种作法一则大幅影响局域网工作,因为整个局域网都被广播包占据,另则攻击软件通常会设定更高频率的广播包,误导局域网计算机,效果仍然有限。
此外,ARP echo一般是发送网关及私服的对照信息,对于防止局域网计算机被骗有效果,对于路由器没有效果,仍需作绑定的动作才可。
PK赛之“ARP绑定”
ARP echo的作法是不断提醒计算机正确的ARP对照表,ARP绑定则是针对ARP协议“思想不坚定“的基本问题来加以解决。Qno侠诺技术服务人员认为,ARP绑定的作法,等于是从基本上给这个快递员培训,让他把正确的人名及地址记下来,再也不受其它人的信息干扰。由于快递员脑中记住了这个对照表,因此完全不会受到有心人士的干扰,能有效地完成工作。在这种情况下,无论如何都可以防止因受到攻击而掉线的情况发生。
但是ARP绑定并不是万灵药,还需要作的好才有完全的效果。第一,即使这个快递员思想正确,不受影响,但是攻击者的网络包还是会小幅影响局域网部份运作,网管必须通过网络监控或扫瞄的方法,找出攻击者加以去除;第二,必须作双向绑定才有完全的效果,只作路由器端绑定效果有限,一般计算机仍会被欺骗,而发生掉包或掉线的情况。
双向绑定的解决方法,最为网管不喜欢的就是必须一台一台加以绑定,增加工作量。但是从以上的说明可知道,只有双向绑定才能有效果地解决ARP攻击的问题,而不会发生防制效果不佳、局域网效率受影响、影响路由器效能或影响服务器效能的缺点。也就是说双向绑定是个硬工夫,可以较全面性地解决现在及未来ARP攻击的问题,网管为了一时的省事,而采取片面的ARP echo解决方式,未来还是要回来解决这个问题。
图二:ARP攻击防制 方法之侠诺“ARP双向绑定”图示说明
另外,对于有自动通过局域网安装软件的网络,例如网吧的收费系统、无盘系统,都可以透过自动的批次档,自动在开机时完成绑定的工作,网管只要撰写一个统一的批次文件程序即可,不必一一配置。这些信息可以很容易地在互联网上通过搜索找到或者是向Qno侠诺的技术服务人员索取即可。
二、现阶段较佳解决方案——双向绑定
以上以思想不坚定的快递员情况,说明了常见的ARP攻击防制方法。ARP攻击利用的就是ARP协议的意志不坚,只有以培训的方式让ARP协议的意志坚定,明白正确的工作方法,才能从根本解决问题。只是依赖频繁的提醒快递员正确的作事方法,但是没有能从快递员意志不坚的特点着手,就好像只管不教,最终大家都很累,但是效果仍有限。
Qno侠诺的技术服务人员建议,面对这种新兴攻击,取巧用省事的方式准备,最后的结果可能是费事又不管用,必须重新来过。ARP双向绑定虽然对网管带来一定的工作量,但是其效果确是从根本上有效,而且网管也可参考自动批次档的作法,加快配置自动化的进行,更有效地对抗ARP攻击。