APP下载

基于Arp欺骗的中间人攻击及防范对策研究

2021-04-20赵菁

网络安全技术与应用 2021年3期
关键词:表项中间人IP地址

◆赵菁

基于Arp欺骗的中间人攻击及防范对策研究

◆赵菁

(北京信息职业技术学院 北京 100018)

本文以某单位多个用户反映自己的密码被盗为案例背景,在讨论ARP欺骗原理的基础上,搭建了仿真实验环境,再现了基于ARP欺骗的中间人攻击情景,使用Kali Linux中提供的典型arpspoof工具实现ARP攻击,在攻击过程中,利用Wireshark捕获用户账号信息,并使用Wireshark的专家系统分析数据包,发现攻击行为。最后本文给出针对该攻击的防御方法。

ARP协议;ARP欺骗原理;中间人攻击;arpspoof;Wireshark;防范对策

中间人攻击是一个危险的攻击,它可以劫持一段会话,即会话劫持,以窃取凭证和其他机密信息,即使使用了SSL加密。本文讨论了中间人攻击的相关理论,通过演示该攻击的实现过程,说明该攻击的危险性,并使用Wireshark分析判断是否受到了ARP欺骗,并给出了针对该攻击的防范对策,以帮助用户的计算机免受基于ARP的中间人攻击。

1 中间人攻击的相关理论

1.1 ARP地址解析协议

地址解析协议,即 ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。在每一台计算机中都存在一个ARP缓存表,这个表动态地保存了一些IP地址和MAC地址的对应关系。当计算机接收到一个数据包后,就会通过ARP程序在这个表中查找包中IP地址所对应的表项,然后根据这个表项在数据包中再添加MAC地址。如果没有在缓存表中查找到对应的表项,ARP程序就会在局域网中进行广播,询问网络中是否存在这样一个IP地址。如果局域网中有计算机使用了这个IP地址,那么它就会回应一个包含自己MAC地址的信息,这样计算机就可以将这个信息添加到自己的ARP缓存中,并将这个数据包填写好目的MAC地址发送输出,这就是ARP协议的工作过程。

1.2 ARP欺骗的原理

ARP协议简单高效,但是这个协议存在一个重大的缺陷,即在ARP协议的工作过程中并没有任何的认证机制,也就是说如果一台主机收到ARP请求数据包,并没有对这个数据包进行任何真伪的判断,都会将其添加到ARP表中。因此黑客就可能会利用这个漏洞来冒充网关等主机,导致目标计算机与网关通信失败,更会导致通信重定向,所有的数据都会通过攻击者的机器,因此存在极大的安全隐患。这样就可以实现中间人攻击。

2 中间人攻击的实现

案例背景为某单位多个用户反映自己的密码被盗,这些被盗的密码属于多种不同的应用,其中既包括购物网站,也有电子邮箱,甚至还有该单位用于上传下载文件的FTP。考虑到受害的用户数量众多,而且这些密码又都分属于不同的应用,所以被钓鱼网站欺骗的可能性较小。初步认为是网络内部遭到了中间人攻击造成的。

为了演示基于ARP欺骗的中间人攻击,搭建的网络拓扑包括3台主机,其中包括攻击机、目标机和网关。攻击机为Kali Linux主机,其网络配置是IP地址:192.168.1.2,硬件地址:00:0c:29:e6:37:94。目标主机为Win7主机,其网络配置是IP地址:192.168.1.3,硬件地址:00-0C-29-72-05-D6。服务器为Windows Server 2003主机,在其上搭建了ftp服务器,账户为:test,密码为123456。其网络配置是IP地址:192.168.1.4,硬件地址:00-0C-29-62-52-CC。本次欺骗中实现了对目标主机与FTP服务器通信的监听。

在正常情况下,目标主机的ARP表示正确的,如果目标主机最近曾访问过FTP服务器,查看其ARP缓存表将看到FTP服务器的IP地址与其物理地址的映射条目信息。现在只需要将目标主机的ARP表中的FTP服务器地址表项修改了即可。修改的方法很简单,在Kali Linux中提供了很多可以实现网络欺骗的工具,其中最为典型的arpspoof就可以实现arp欺骗。这个工具的使用格式是:arpspoof [-i指定使用的网卡] [-t要欺骗的目标主机] [-r]要伪装成的主机,现在使用该工具完成一次网络欺骗:arpspoof -ieth0 –t 192.168.1.3 –r 192.168.1.2。现在arpspoof完成了对目标主机的欺骗任务,可以截获到目标主机发往FTP服务器的数据包。这时arpspoof只是截获数据包,不能查看数据包,现在需要使用Kali Linux中的Wireshark来查看由目标机发送的数据包。从图1中可以看到捕获到的登录FTP服务器的用户名和密码分别为test和123456。

3 使用Wireshark的专家系统分析中间人攻击

Wireshark的专家系统是Wireshark在捕获文件中发现的异常的一种日志。利用专家系统可以更好地显示“罕见”或仅是值得注意的网络行为。与“手动”扫描数据包列表相比,新手和专家用户都能更快地找到可能的网络问题。这里给出一个专家信息条目的示例如图所示。其中,Severity表示专家信息的严重性级别,如Chat、Note、Warn和Error,每种级别代表不同的严重程度,例如Warn(黄色)表示警告信息,当应用程序返回“异常”错误代码,或连接问题时会出现相应的提示信息;Group表示一些常见的专家信息组,如Checksum,Sequence,Response Code等,图2中所示的Sequence提示协议序列可疑,例如序列不连续或检测到重传或其他问题;Protocol表示引起专家信息的协议;Summary是每个专家信息给出的一个简短的附加文本,其中包含一些进一步的说明。

图1 Wireshark捕获到的用户名和密码

图2 专家信息示例

专家信息目前主要用来解决TCP的通信故障问题,在今后的版本中,Wireshark可能会扩展专家系统的功能。虽然专家系统十分有用,但在实际工作中我们不能过度地依赖它,往往还需要进一步验证,因为缺少专家信息并不一定意味着一切正常。

下面使用专家系统分析上面的中间人攻击。从捕获的数据包可以发现大量的ARP数据包,而在ARP的工作流程中,通常一个主机在建立一个连接时,只需要发送一个ARP请求,收到一个ARP应答。即表示只需要两个ARP 数据包就可以完成。如果同时出现了大量的ARP数据包,通常是由以下3种情况造成的。一是有攻击者在利用ARP请求对网络主机进行扫描;二是有计算机感染了ARP病毒并在破坏网络的通信;最后是有攻击者在利用ARP欺骗发动中间人攻击。从案例背景中用户反映看,显然是有攻击者在利用ARP欺骗在发动中间人攻击的可能性最大。图3是Wireshark专家系统窗口警告的数据包。专家系统提示现在192.168.1.3和192.168.1.4所对应的硬件地址是相同的,都是00:0c:29:e6:37:94。在数据包列表面板处也可以看到同样的情形。

4 防范对策

防御ARP欺骗的方法很多,本文介绍3种比较典型的方法。

(1)静态绑定ARP表项

由于中间人攻击时通常通过篡改网关的地址发起的,所以将其IP地址和MAC地址进行绑定。绑定的命令是:arp –s 网关的IP地址网关的mac地址。

图3 专家系统窗口警告的数据包

另外,交换机上也提供了端口安全机制,可以将端口和设备的MAC地址进行绑定。不过这个方法并不适合大型网络,因为配置的工作量过大。

(2)使用DHCP Snooping功能

DHCP 监听(DHCP Snooping)是一种DHCP安全特性。当交换机开启了DHCP Snooping后,会对DHCP报文进行侦听,并可以从接收到的DHCP Request或DHCP Ack报文中提取并记录IP地址和MAC地址信息。然后利用这些信息建立和维护一张DHCP Snooping的绑定表,这张表包含了可信任的IP和MAC地址的对应关系。结合 DAI(Dynamic ARP Inspection)可实现ARP防欺骗。

(3)划分VLAN

通过VLAN技术可以在局域网中建立多个子网,这样就限制了攻击者的攻击范围。

发现基于ARP的中间人攻击其实是很容易识别的,受害主机可以使用ARP命令查看ARP缓存,从而发现是否存在异常。还可以设置ARP缓存表为静态,即对每台主机进行IP和MAC地址静态绑定,这个状态下是不会在接收到ARP包时改变本地缓存的,从而有效地防止ARP攻击,但不推荐。因为在一个大型的网络中,它要花费很长的时间手动设置,这是不可能的。

除了上述方法,还有很多工具可以用来帮助用户判断是否受到了ARP欺骗,而且有几种工具是可用的,它可以保护用户的计算机免受该攻击并且检测出ARP缓存表的变更,一些比较出名的工具包括ARPon、ARP Wath和XARP。

5 结论

ARP欺骗技术是实现中间人攻击的基础,ARP欺骗是一种非常危险的攻击,攻击者可以很容易探取受害者主机证书和其他机密信息。本文演示了一次基于ARP欺骗的中间人攻击,并在Wireshark的帮助下对ARP欺骗进行了深入的分析。最后给出了防御该攻击的方法。

[1]张小林,罗汉云.基于KALI 2.0的Ettercap工具实现中间人攻击实验综述报告[J].电脑知识与技术,2020.

[2]潘家富. ARP攻击的原理分析及防范对策研究[J]. 软件工程,2019.

猜你喜欢

表项中间人IP地址
一种改进的TCAM路由表项管理算法及实现
夹在妻子和弟弟中间,怎样当好中间人?
基于ARMA模型预测的交换机流表更新算法
铁路远动系统几种组网方式IP地址的申请和设置
重庆转口贸易优势分析及政策建议——利用信息不对称和中间人理论
IP地址切换器(IPCFG)
SDN数据中心网络基于流表项转换的流表调度优化
基于SNMP的IP地址管理系统开发与应用
公安网络中IP地址智能管理的研究与思考
无线网络的中间人攻击研究