ARP攻击的罪魁祸首便是这种"欺骗包",若针对欺骗包的处理是不相信或不接收的话,则不会出现问题。处理这种欺骗行为我们没法提前在黑客端做手脚,我们就剩下两个解决方法:
①保证电脑不接收欺骗包
②保证电脑收到欺骗包之后不相信
- 当黑客发起ARP欺骗包时,会途径局域网里面的交换机或无线路由器等网络设备;
- 如果网络设备能够识别这种欺骗包,并且提前丢弃掉…则电脑/手机端就不会被欺骗;
- 如果网络设备没有拦截这种欺骗包,则电脑/手机端需要做安全防御,然后再丢奈。
网络设备(交换机为例)的防御技术
局域网安全里比较常用的防御技术,这种防御技术被称为DAI (Dynamic ARP Inspection)-动态ARP检测,原理可以用两句话简单概括:
- 交换机记录每个接口对应的lIP地址和MAC,即port<->mac<->ip,生成DAI检测表;
- 交换机检测每个接口发送过来的ARP回应包,根据DAI表判断是否违规,若违规则丢弃此数据包并对接口进行惩罚。
PC3是在交换机的Port3、MAC地址是MAC3,IP地址是IP3,所以本地DAl表项内容是< port3-mac3-ip3 >。当交换机从接口Port3收到ARP回应包,内容却是IP2和MAC3映射,即< port3-mac3-ip2 >,经判断,这个包就是虚假的欺骗包,交换机马上丢弃这个包,并且可以对接口做惩罚(不同设备的惩罚方式有所不同,可以直接将接口"软关闭”,直接将攻击者断网;也可以"静默处理",仅丢弃欺骗包,其他通信正常)
上面这个动态ARP监测技术,可以说是目前防御ARP攻击最有效的方法之一。但是,作为初学者,大家可能还会有疑问:
-
一般的交换机或网络设备能部罴动态ARP监测技术吗?
大部分能支持这种动态ARP监测技术的交换机或者无线路由器,都基本是企业级的产品。即便是企业级交换机,具备局域网安全防御功能的设备,价格都要高出不少,所以很多中小型企业网或校园网,基本都愿意买"阉割版"网络接入产品,因为"能通就行",至于安全性怎样,这是另外要考虑的问题。
所以,简单的交换机不具备动态ARP监测技术,即便市面上有带安全防御的网络产品,企业、学校、医院等大量网络,仍然在早期采购的时候,用的是比较基础版本的交换机。当然,随着网络与安全市场的激烈竞争和网络安全意识的增强,以后会越来越好。 -
连接用户的交换机怎么熊识别P地址信息呢?
从现在的网络技术来看,分层界限越来越模糊,融合式的网络设备才是主流,现在的接入交换机基本能被Telnet/SSH/Web管理,更专业的交换机同时支持动态ARP监测(dai)、IP源防护(ipsg). DHCP侦听(dhcp snooping)、端口安全、AAA、802.1x等局域网安全技术,已经超越了原有二层交换机的定义。所以,交换机能读三层甚至七层的数据包已经不是什么新鲜事了,不要被"交换机就是二层设备"给束缚了,这只是纸面上的定义。 -
上面这张DAI表是如何生成的?是丕是像CAM表一样能自动识别?
在上面图解中,我们看到交换机查看的表已经不是原来的CAM表了,内容也不太一样,CAM表的内容主要是MAC和Port的映射,而DAl检测表则是Port、MAC、IP三个信息映射。目前这张表支持两种方式来生成:第一种方式就是手工静态绑定:即用户接入网络之后,管理员根据此用户电脑的MAC和IP地址,然后在接口上绑死,缺点就是用户数太多的话,手工绑定管不过来;第二种方式就是目前最主流的做法,即在交换机上开启DHCP侦听技术,当用户第一次通过DHCP获取到地址的时候,交换机就把用户电脑的IP、MAC、Port信息记录在DHCP侦听表,后面ARP检测直接调用这张DHCP侦听表即可。
普通用户防御ARP攻击
ARE防火墙在技术实现上,一般都有以下功能:
- 绑定正确的的IP和MAC映射,收到攻击包时不被欺骗。
- 能够根据网络数据包特征(参考上一篇讲解的ARP攻击数据包溯源分析),自动识别局域网存在的ARP扫描和欺骗行为,并做出攻击判断(哪个主机做了攻击,IP和MAC是多少)。
可以使用安全产品,也可以通过“ARP双向绑定”的技术来实现
从上图可以看到,PC1和PC2通信双方都静态绑定对方的IP和MAC映射,即便收到ARP欺骗包,由于静态绑定的ARP映射条目优先级高于动态学习到的,所以可以保证不被欺骗。这种做法不需要额外的软件安装,但是缺点也非常明显,例如普通用户不知道如何在电脑上做ARP静态绑定,另外工作量也比较大,每个主机和网关设备都需要绑定整个局域网的ARP静态映射。
补充:
Windows arp静态绑定方法:
- 进入命令行cmd界面;
- [arp -s ip地址mac地址],例如: arp -s 192.168.1.1 00-11-22-a1-c6-09
注:家用无线路由器若要进行ARP绑定,则需要通过web登录并进行图形操作