360天巡实验室:如何使用WIPS产品对抗KRACK漏洞
前言:
近日,有安全研究员披露 WPA2 协议层中存在逻辑缺陷,几乎所有支持Wi-Fi的设备都面临威胁,其传输的数据存在被嗅探、篡改的风险。攻击者可获取WiFi网络中的数据信息,如信用卡、邮件、账号、照片等,危害巨大。对于用户而言,应该关注设备厂商安全公告,及时更新修补漏洞。而对于企业而言,除了督促员工尽快更新设备外,还可以利用WIPS产品来帮助抵御KRACK攻击等无线安全攻击威胁,保护企业内部的WiFI设备安全。
360天马安全团队&天巡实验室将以KRACK攻击为例,介绍WIPS产品为何能快速支持KRACK攻击检测并进行防御。
图1
一.什么是WIPS
WIPS(无线入侵防御系统)是针对企业无线应用环境的安全威胁发现与防护系统,通过将无线通信技术、无线攻防、数据分析与挖掘等技术相结合,确保企业的无线网络边界安全、可控。
较为出名的WAIDPS,便是一款由Python编写的无线入侵检测工具,基于Linux平台,完全开源。它可以探测包括WEP/WPA/WPS在内的无线入侵&攻击方式,并可以收集周边WiFi相关的所有信息。
图2
1.WIPS(无线入侵防御系统)基本架构
WIPS通常采用采用B/S或者C/S架构,收发引擎分布式部署在企业办公环境中,将收集到的热点信息传给中控服务器。管理员通过通过管理平台查看企业内部热点信息,对捕获到的攻击行为进行告警,并对恶意、违规的热点进行阻断。
图3
2.基本功能
利用WIPS产品可以查看并管理企业内可信热点、未知热点;识别并告警可疑攻击行为;快速响应WiFi攻击及威胁事件。能够有效防止恶意热点、未知及外部热点、伪造热点、未授权移动终端等可能带来的安全隐患,从而保护企业的无线网络安全。
图4
分布式部署在企业办公环境中的收发引擎将会回收整个区域内所有802.11原始数据并进行分析识别,如:
●热点、客户端识别
■ 回收热点、客户端BSSID、ESSID、PWR、OUI & Loc等信息。
■ 判断并标记恶意热点、未授权热点、错误配置热点(弱密码、有漏洞的加密协议)。
■ 发现客户端未授权连接。
■ ..
●攻击行为识别
■ 检测MDK3去认证攻击
■ 检测伪造合法热点攻击
■ 检测伪造MAC地址攻击
■ 检测Aircrack-NG无线破解攻击
■ ..
3.无线攻击识别规则
由于后文对KRACK攻击的检测方法涉及检测伪造热点,此处便以此为例进行说明。
伪造热点攻击(Evil-Twin)是众多无线攻击方法中,成本较低、效果较好的一种,因此及时地发现并阻断钓鱼热点是非常必要的。常见的伪造热点攻击检测方法有:热点常规信息检测、登录凭证验证检测、时钟偏差检测等方式。
●常规信息检测
利用目标AP的Beacon、Interval、SSID、Channel及其他无线信息进行比较得出判断。
●凭证验证检测
利用AP登记保存的凭证信息向目标设备发起连接,若成功再用错误密码尝试连接,若提示错误则证明是合法热点。
●时钟偏差检测等方式
通过计算两个相邻信标帧之间的timestamp间隔差异,即时钟偏差,与预先设定的阈值进行比较来检测伪AP。如果AP的时钟偏差值与特征库中储存的偏差值不一样,则可认定这个AP为一个无线钓鱼AP。
图5
如上图就是一个Python利用Scapy模块以实现通过时钟偏差检测识别钓鱼热点的示例
二.KRACK攻击原理分析
本次的WPA2“密钥重装攻击”,基本原理为:利用WPA协议层中的逻辑缺陷,多次重传握手过程中的消息3从而导致重放随机数和重播计数器,为攻击者提供了利用条件。
在协议标准中还存在一条危险的注释“一旦安装后,就可从内存中清除加密密钥”,若按此注释进行实现,在密钥重装攻击时会从内存中取回已经被0覆盖的key值,从而导致客户端安装了值全为零的秘钥。而使用了含漏洞wpa_supplicant版本的Linux及Android设备便因此遭受严重威胁。
KRACK攻击利用方式(攻击视频分析)
1、首先测试设备连接真实的testnetwork网络:
图6
2.开启WireShark监听并在稍后被设为钓鱼热点的网卡:
图7
3、 攻击演示:
真实热点Real AP:
SSID:testnetwork
Mac:bc:ae:c5:88:8c:20
Channel:6
被攻击客户端Target:
SSID: 90:18:7c:6e:6b:20
伪造同名同MAC热点(Rouge AP):
SSID: testnetwork
Mac:bc:ae:c5:88:8c:20
Channel:1(信道不同)
图8
注入CSA beacon pairs 将客户端信道变为1,也就是迫使客户端Target与Rouge AP通信。伪AP向目标Target发送Disassociate数据包,使其解除关联。
4.利用网卡建立目标AP的伪造热点,迫使客户端连接到伪造热点上。此时设备经历重连,WiFI状态为正在认证。
当目标targe与真实AP完成认证过程,准备发起连接时,注入CSA beacon pairs,使信道切换到Channel 1 实施中间人攻击,同时客户端状态保持在State 2,接下来开始发送四次握手中的Message 3,实施密钥重新安装(Key Reinstallation Attack)攻击。
图9
图10
5.此时密钥重装攻击已经执行成功,客户端已连接上伪造热点:
图11
6.在此伪造热点中,被攻击端所有流量皆可被嗅探、篡改;演示视频中使用经典的MITM工具sslstrip对HTTPS进行降级,便可获取用户传输的明文账号信息。
图12
图13
7、用户提交的账号信息便可被获取:
图14
三.检测KRACK的几种途径
之前有讲到KRACK的攻击原理,根据现有KRACK的Demo来看,攻击者的主要利用方式为:在被攻击客户端与正常AP建立连接时,攻击代码(POC)“克隆”了被攻击客户端所连接的AP,建立了一个相同BSSID、ESSID,但Channel不同的热点;通过发送Disassociate Frame迫使被攻击客户端解除关联,此时设备经历重连;准备重新与正常AP发起连接时,注入CSA beacon pairs(Channel Switch Announcement),使信道切换到恶意AP所在信道,实施中间人攻击;同时客户端状态保持在State 2(通过对访问点进行身份验证的身份验证状态),接下来开始发送四次握手中的Message 3,实施密钥重新安装(Key Reinstallation Attack)攻击,即可与伪AP建立正常连接通信。
图15
根据以上攻击流程,我们分析便得出KRACK现有的攻击方式特征,并能据此添加对KRACK攻击进行检测:
图16
1.建立同ESSID、BSSID但不同Channel的Rouge AP;
2.向客户端发送异常Deauth/Disassociate Frame;
3.重新发送四次握手中的message3强制重置nonce,相同IV;
4.Sequence Number和Timestamp乱序;
5.Client在建立握手的时候切换Channel;
四.红蓝对抗演示
作为使用WPA2协议设备的用户来说,官方的解决方案是等待协议漏洞的修复与厂家设备的升级。在企业环境中,能否将无线防护的主动权掌握在自己手中呢。安全专家的建议是企业应合理部署WIPS,但是WIPS能否抵御这种突如其来的无线安全威胁呢?
在详细分析了黑客的攻击过程后,天巡实验室准备进行一场红黑对抗,一组扮演黑客模拟相同的攻击手段进行无线攻击;另一组实验人员扮演企业管理员进行无线防护,同时在实验环境内部署WIPS,测试WIPS的防御效果。
1.首先建立testnetwork热点,企业用户连接该热点并通过认证后可访问企业内网资源;通过WIPS管理员可直观了解该热点的设备属性和安全属性,包括热点ESSID、BSSID、热点厂商、频道和加密方式等等。
图17
2.然后黑客伪造与testnetwork相同名称及配置的热点,尝试欺骗用户连接;此时企业无线网络环境中同时出现了两个热点,非专业人员根本无法识别哪个是企业自建热点,哪个是非法的钓鱼热点。可以看到此时非法热点已经被WIPS识别出来并阻断,当前连接终端数为“无”。
图18
3.与此同时WIPS也第一时间向管理员通报伪造合法热点攻击事件的发生及处理情况。WIPS的及时响应为管理员在突发情况发生时争取了更多的处置时间。
图19
4.黑客为了使其他终端连接非法热点简直无所不用其极,泛洪终端拒绝服务攻击是成本最低也是最见效的方式。该种攻击方式可断开所有终端与合法热点的连接,在其他场景也可以干扰公共网络终端与热点的连接,造成网络瘫痪。此时WIPS系统能够发现此类攻击,在提供处理建议的同时,还能定位攻击发生的具体位置,管理员可实地排查是否有可疑人员。
图20
5.可以说黑客的攻击行踪已经完全暴露在WIPS之下,原本看不见摸不着的无线威胁,透过WIPS的映射逐渐变得清晰。还不知道发生了什么的黑客继续他的攻击,黑客通过收集和重放重新发送四次握手中的Message3强制重置nonce,从而成功攻击加密协议,解密客户端发送通信数据包,截获敏感信息。但是此时WIPS系统已经监测到该攻击,并对实施钓鱼的热点进行了阻断,使不知情的“用户”免于威胁。
图21
五.小结
最终“红方”利用WIPS的监测与阻断服务,成功阻止了“黑方”利用无线网络入侵与监听数据的攻击行为。通过实验表明,WIPS的确可以有效防范KRACKs攻击。随着移动互联网、BYOD、智慧城市、物联网等无线网络应用的兴起,无线网络正在扮演着越来越重要的角色。而无线网络重应用轻防护的建设理念,将吸引越来越多的黑客征服这片未被保护的领域,KRACKs不是无线网攻击的结束,是无线安全认知与建设的开始。