朴东奎
摘要:无线网络的公开传输特性导致WiFi环境中的通信存在着极大的安全隐患。文章通过使用Rogue DHCP攻击方法,对现实环境中的家用WiFi安全性进行了深入评估分析,进一步提出了基于IP冲突的Rogue DHCP攻击方法,并进行了测试验证。结果表明:被测试厂商在路由器环境中,Rogue DHCP攻击都能有效实施,其中“IP冲突诱导”ARP攻击会导致Android设备出现暂时无法使用网络的现象,而iOS设备第一次收到攻击数据包时没有任何反应,但收到持续的攻击数据包时,会导致系统暂时处于无法通信的状态。文章最后提出了针对性的解决方案并予以代码实现。
关键词:Rogue DHCP;ARP欺骗;IP冲突
中图分类号:TP393.0 文献标识码:A
1 引言
随着互联网的不断发展,WiFi无线网络凭借着无需布线、便捷接入的特点,逐渐成为家庭、办公环境中的首选网络接入方式。从使用数量上统计,随着移动终端用户规模的不断增长和IoT等设备的不断普及,WiFi无线网络接入技术已经成为当前互联网终端的主要网络接入方式。
然而,不同于由本地交换机、路由器等提供的传统有线网络,WiFi无线网络具有物理开放性,其中的节点难以准确识别设备身份。因此,无线网络很容易受到监听、劫持等黑客攻击的影响。
其中,Rogue DHCP 攻击是一种WiFi无线网络中的经典攻击,攻击者通过伪装成DHCP服务器,向DHCP客户端发送伪造的网络配置信息,欺骗DHCP客户端。在该攻击中,攻击者不仅可以向DHCP客户端提供任意IP地址,而且还可以伪造DHCP Option值(例如默认网关、默认DNS服务器地址等),攻击者因此可以任意截获受害者的流量甚至劫持流量路径。
为了确认在WiFi环境中Rogue DHCP攻击的实际威胁性,对DHCP协议及其安全机制进行了深入分析,并在研究过程中提出了基于Rogue DHCP攻击的新攻击方案。首先,利用IP地址冲突机制,改进了现有攻击方法,使被动攻击转换为主动攻击,有针对性地对已经接入无线网络的设备发起攻击,扩大了攻击范围并提高了攻击效率。然后,在进行实际攻击实验的基础上,设计了针对无线网络客户端的安全防御机制,避免了无线路由器固件难以更新管理的问题。
2 Rogue DHCP 攻击
由于DHCP协议没有验证机制,协议容易受到伪造攻击的影响。邹承明在论文[1]中提到DHCP没有从安全角度进行设计:DHCP信息通过明文传输;DHCP没有认证机制,因此DHCP服务器和客户端不能确认(认证)通讯对方的身份。
根据Mayank Agarwal的论文[2],Rogue DHCP服务器没有网络管理权限,只是网络中的一个未经认证的服务器,这会引起问题:新的客户端试图通过DHCPDISCOVER信息的广播连接,此时信息可能会更早到达非法的服务器,如Rogue DHCP服务器。Rogue DHCP服务器将比合法的现有服务器先把DHCPOFFER传输到客户端,客户端接受DHCPOFFER响应中提供的如默认网关等网络配置信息,并将其应用到自己的设备上。通过这些手段,攻击者可以监听分析客户端的所有数据包,并且任意操作数据包的流向。
除此之外,谢杰民在论文[3]中提到,攻击者可以利用DHCP协议中的潜在漏洞,通过Rogue DHCP攻击进行一系列其它相关的恶意网络攻击,如拒绝服务、中间人攻击等。
从协议标准来看,DHCP中的潜在攻击在RFC2131文件的第七部分和RFC3118中都曾提到过。值得一提的是,使用DHCP协议中的域名搜索选项,攻击者伪装为Rogue DHCP服务器后可以将流量引向其他网站。例如,当用户准备访问“myhost.bigco.com”时,可以将其改为访问“redalection.com”。DNSSEC[RFC2535]无法防止这种情况的发生,因为myhost.roguedomain.com的Resource Records值已经被合法签署[4]。相对于提供正确DNSServer的攻击,这种利用域名搜索选项的攻击更为隐蔽,影响更大。
3 IP冲突与Active Rogue DHCP
IP沖突是指子网内存在两个以上的设备使用相同的IP地址,造成无法连接网络的现象。发生冲突的设备可以手动更改或者从DHCP服务器重新分配得到新的IP地址,从而解决冲突问题。在RFC5227文档中,S.Cheshire明确定义该地址冲突检测机制适用于所有IEEE 802 LANs,不仅可以用在ethernet(802.3)、token-ring(802.5)上,还可适用于无线局域网(802.11)[5]。因此,本文提出了攻击方法:在WiFi环境中,攻击者通过IP地址伪造任意触发IP地址冲突,从而将被动等待受害者的Passive Rogue DHCP攻击转变成为强制要求受害者重新连接Rogue DHCP服务器、申请新IP的Active Rogue DHCP攻击。
4 实验设计
实验环境如表1所示,程序开始后,因为需要利用原始套接字发送定制数据包,程序首先确认是否获得Root权限执行,没有获得Root权限时,程序终止。如果按Root权限执行,则程序可通过系统接口获取攻击者IP 地址、攻击者MAC地址、Gateway IP地址、Gateway MAC地址等网络配置信息,并在屏幕上输出。如果没有成功获得网关IP 地址,则判断程序运行所在设备节点没有网络连接,从而终止程序。如果判断该网络信息已经全部获得,则进一步提示攻击者输入目标的IP地址,攻击者可以在直接输入或通过IP扫描获得的列表中选择攻击对象的IP地址。
输入IP地址以后,程序将确认并可以选择是否扫描目标的OS信息。选择OS信息扫描,可以获得目标IP的OS信息,如操作系统版本、开放端口等,也可以不执行扫描,直接进行攻击。攻击开始后以相关收集的网络信息为基础,构建Rogue DHCP服务器并开始发送定制的诱导攻击对象IP冲突的ARP数据包。
针对不同厂商的无线路由器进行实验,是为了在现实具体的无线网络环境下验证攻击的可行性和威胁程度。具体针对表2中13家厂商的路由器为对象进行了测试。
5 实验结果
经过实验,所测试的厂商路由器环境中,Rogue DHCP攻击都能有效实施,“IP冲突诱导”ARP攻击导致Android设备出现暂时无法使用网络的现象。
其中,值得注意的是针对iOS的实验结果。iOS系统第一次收到攻击数据包(碰撞通知ARP)时没有任何反应,但收到持续的攻击数据包时会暂时处于无法通信的状态。此时,系统会自动发送DHCPDECLINE及DHCPDISCOVER,同时也向本网络中的DHCP服务器发出IP地址更新要求。然而,由于无线网络的公开特性,系统的DHCPDISCOVER分组也会被传输到攻击者的DHCP服务器上。因此,攻击者获得了受害者的信息,并且可以通过伪造DHCPOFFER分组,任意设定DHCP报文中的各种网络配置选项(如默认网关、默认地域系统服务器)。通过实际网络环境抓包测试,攻击者成功收到了受害者发送的DHCP请求,并伪造了响应,如图1所示。
本文所提出的攻击与已有的De-authentication攻击方法不相同。De-authentication攻击时,受害者的操作系统会随机连接到已储存的网络配置文件,也就是说将随机连接到曾连接过的已知路由器WiFi。但在本文的通过“碰撞分组”进行攻击时,受害者系统只会试图连接之前连接的路由器WiFi。
6 解决方案
为了解决Rogue DHCP攻击而导致的WiFi网络安全性问题,本文设计了针对无线网络客户端的安全防御机制,如图2所示。WiFi认证开始时,需要从设备中读取数据并生成认证文件,此时用文件填写的信息是BSSID、ESSID、Subnet、Default Gateway、Default DNS Server、Domain Name等。设备连接AP时,以BSSID和ESSID为基准,检测相关网络配置Profile文件是否已经存在。如果相关Profile文件不存在,就保存相关文件设置并连接AP;如果相关Profile文件已存在,则将已有的Profile文件和现在的Profile文件进行对比。如果一致,就连接AP;如果不一致,就通过De-authentication传输切断连接,并将变更的事项告知用户。如果用户认可变更的事项并未连接,则经过认证后可重新连接;如果用户不愿意连接,则终止程序。通过以上防御机制,可以成功地避免无线路由器固件难以更新管理的问题,其机制运行流程如图3所示。
7 结束语
本文对WiFi环境中的底层协议漏洞进行了深入研究,提出利用IP地址冲突将现有Rogue DHCP攻击的Passive特点转换成Active,并对该攻击方案进行了可行性验证。经过在现实路由器无线网络环境下的具体测试,本文所测试的AP设备厂商,均受到本文所涉攻击的影响,说明了本文攻击的威胁广泛性。最后,本文提出了基于终端进行网络配置信息检测的攻击防范措施。
参考文献
[1] 邹承明,刘攀文,唐星.動态主机配置协议泛洪攻击在软件定义网络中的实时防御[J].计算机应用,2019,39(4):1066-1072.
[2] Mayank Agarwal,Santosh Biswas,Sukumar Nandi.Discrete Event System Framework for Fault Diagnosis with Measurement Inconsistency:Case Study of Rogue DHCP Attack[J].IEEE/CAA Journal of Automatica Sinica,2019,6(3):789-806.
[3] 谢杰民.关于DHCP服务攻击的安全防护策略[J].信息与电脑(理论版),2018(18):199-200.
[4] 杨礼.基于eNSP的DHCP原理设计与分析[J].新疆师范大学学报(自然科学版),2019,38(1):85-90.
[5] 缪振龙.解决局域网IP地址冲突故障[J].网络安全和信息化,2019(5):145-146.