要想知道ARP攻击怎么解决,我们首先就得知道它的攻击原理。
那么什么是APR协议呢?
ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必需要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基础功效就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的。我们以主机A(192.168.16.1)向主机B(192.168.16.2)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是不是有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表现向同一网段内的所有主机发出这样的询问:“192.168.16.2的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机B吸收到这个帧时,才向主机A做出这样的回应:“192.168.16.2的MAC地址是bb-bb-bb-bb-bb-bb”。这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。同时它还更新了自己的ARP缓存表,下次再向主机B发送信息时,直接从ARP缓存表里查找就可以了。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有应用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。从上面可以看出,ARP协议的基础就是信任局域网内所有的人,那么就很容易实现在以太网上的ARP诱骗。对目标A进行诱骗,A去Ping主机C却发送到了DD-DD-DD-DD-DD-DD这个地址上。如果进行诱骗的时候,把C的MAC地址骗为DD-DD-DD-DD-DD-DD,
于是A发送到C上的数据包都变成发送给D的了。这不正好是D能够吸收到A发送的数据包了么,嗅探成功。A对这个变更一点都没有意识到,但是接下来的事情就让A产生了猜忌。因为A和C连接不上了。D对吸收到A发送给C的数据包可没有转交给C。做“man in the middle”,进行ARP重定向。打开D的IP转发功效,A发送过来的数据包,转发给C,好比一个路由器一样。不过,假如D发送ICMP重定向的话就中断了全部打算。D直接进行全部包的修正转发,捕获到A发送给C的数据包,全部进行修正后再转发给C,而C吸收到的数据包完整认为是从A发送来的。不过,C发送的数据包又直接传递给A,倘若再次进行对C的ARP诱骗,现在D就完整成为A与C的中间桥梁了,对于A和C之间的通信就可以了如指掌了。
【故障现象】
当局域网内某台主机运行ARP诱骗的木马程序时,会诱骗局域网内所有主机和路由器,让所有上网的流量一定要经过病毒主机。其他用户本来直接通过路由器上网现在转由通过病毒主机上网,切换的时候用户会断一次线。切换到病毒主机上网后,如果用户已经登陆了传奇服务器,那么病毒主机就会经常捏造断线的假像,那么用户就得重新登录传奇服务器,这样病毒主机就可以盗号了。
【HiPER用户快速创造ARP诱骗木马】
在路由器的“系统历史记载”中看到大批如下的信息(440以后的路由器软件版本中才有此提示):
MAC Chged 10.128.103.124
MAC Old 00:01:6c:36:d1:7f
MAC New 00:05:5d:60:c7:18
这个消息代表了用户的MAC地址产生了变更,在ARP诱骗木马开端运行的时候,局域网所有主机的MAC地址更新为病毒主机的MAC地址(即所有信息的MAC New地址都一致为病毒主机的MAC地址),同时在路由器的“用户统计”中看到所有用户的MAC地址信息都一样。如果是在路由器的“系统历史记载”中看到大批MAC Old地址都一致,则阐明局域网内曾经涌现过ARP诱骗(ARP诱骗的木马程序结束运行时,主机在路由器上恢复其真实的MAC地址)。
【解决思路】
1、不要把你的网络安全信任关系建立在IP基础上或MAC基础上,(rarp同样存在诱骗的问题),理想的关系应当建立在IP+MAC基础上。
2、设置静态的MAC-->IP对应表,不要让主机刷新你设定好的转换表。
3、除非很有必要,否则结束应用ARP,将ARP做为永久条目保存在对应表中。
4、应用ARP服务器。通过该服务器查找自己的ARP转换表来响应其他机器的ARP广播。确保这台ARP服务器不被黑。
5、应用"proxy"代理IP的传输。
6、应用硬件屏蔽主机。设置好你的路由,确保IP地址能达到合法的路径。(静态配置路由ARP条目),注意,应用交换集线器和网桥无法禁止ARP诱骗。
7、管理员定期用响应的IP包中获得一个rarp恳求,然后检查ARP响应的真实性。
8、管理员定期轮询,检查主机上的ARP缓存。
9、应用防火墙持续监控网络。注意有应用SNMP的情况下,ARP的诱骗有可能导致陷阱包丧失。
【HiPER用户的解决方案】
建议用户采用双向绑定的方法解决并且防止ARP诱骗。
1、在PC上绑定路由器的IP和MAC地址:
1)首先,获得路由器的内网的MAC地址(例如HiPER网关地址192.168.16.254的MAC地址为0022aa0022aa)。
2)编写一个