ARP病毒的危害大家都知道了。根本原因就是:
1、ARP请求是广播的,大家都能听到,这使ARP病毒知道了合适的入侵时机。
2、默认的ARP更新规则,就是凡是听到应答包就更新,这在当初无疑是一个高效的做法,但是也是ARP病毒主动修改对方ARP表的根源。
3、ARP的更新中没有认证信息,这使的接收到应答包的机器只要能够解析其中的字段,就能更新自己的MAC表。
新的协议的思想:我们暂且吧这个协议叫做MAP(mac address protocol)协议:
1、开发一个二层的协议,禁止掉ARP协议,但是不修改原来的协议栈,用MAP协议来更新ARP表格中的静态条目来达到目的,这样不用对原协议栈进行修改。
2、MAP协议采取手工指定主MAP服务器和备份MAP服务器的方法。不进行自动MAP服务器选举及发现,因为发现过程需要广播,并且自动选举会遭到恶意的干扰。手工指定MAC服务器,最大限度的减少了监听的可能。
3、MAP有服务端和客户端2部分,服务端负责维护整个网络的MAC和IP对表格,客户端从服务器取得表格,并更新自己的MAC地址表。
4、MAP协议要有认证手段,可以是用户名+密码,甚至可以加入一些动态的变量,譬如客户机在MAP服务器的注册时间等,这样即使泄露了用户名和密码也不可能干预到认证过程,因为不明确客户机的注册时间。而注册时间是不需要在包中发布的。
5、MAP服务器和客户间要保持保活信息,服务器定期发质询包证明自己的存在,客户收到质询返回应答证明自己的存活。
6、更新:更新MAC地址表时。考虑到对带宽的影响,要采用触发更新,平时服务器和客户端之间保持保活信息,当服务器的MAC地址表发生变化是,服务器发出更新信息,客户端确认更新信息,并根据自己的MAC表的情况来选择更新,更新时发送整个MAC地址表来增加协议的稳定性及新机器加入时保证能够获得完整的MAC表格。
7、几种必须要的消息格式:1)服务器质询信息:用于询问客户端的存在;2)客户端应答信息,用于证明自己还活着,或者确认更新;3)服务器MAC地址更新消息:该消息为触发更新,包括整个网络的MAC地址表。4)协商消息:用于MAP服务器和客户端之间协商一些参数,譬如认证方式,质询定时器,一些标志等;5)请求消息:客户端请求加入到MAP服务器;以上消息中均带为加密消息,密钥为认证过程中协商。
8、几个重要的动作过程:
1)当服务器启动时,它监听客户端的请求消息,当请求消息到达时和客户端协商参数,并更新自己的MAC地址表及整个网络的地址表;定期的发送质询信息来发现客户端的存在。2)当一台客户机加入到MAP服务器时,先想服务器发送请求消息,然后协商工作参数,左后更新自己的MAC地址表。
3)当一台客户机离线,或者线路断掉时。服务器的质询消息无法得到回应,当重试并且超时一段时间后,服务器认为客户端不存在了。则发送MAC更新消息更新地址表。
4)当服务器宕机时,这个时候要有备份服务器的存在,备份服务器和主MAP服务器保持同步,关键是认证信息及MAC表的同步,平时不发出任何和MAP有关的消息,当发现主MAP服务器宕机时,代替主服务器的工作。
5)当服务器收到莫名其妙的应答消息时,譬如服务器发出了更新广播包,本来MAC地址表中没有这个MAC,却收到了这个MAC发来的应答表。这时候服务器要发送协商消息,来和客户端重新协商认证等过程,保证恶意的攻击。
以上是我对新的协议的一些设想,欢迎大家提出意见,如果有足够的精力与时间,可能会有LINUX下的版本出现。
3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.com/exam/