H3C WIPS技术白皮书
Copyright © 2023 新华三技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。
当今WLAN无线网络正在被各式各样的企业采用。随着WLAN的广泛应用,企业管理者已经开始意识到WLAN安全已经变得越来越重要。与有线的LAN不同,WLAN网络的传播媒界是空气,所有WLAN信号都在空气中利用RF射频进行传播,这种特性使WLAN相对于有线LAN来说更加不好控制且容易招致恶意攻击。
WLAN发展至今,在安全性上也做了不少改进。比如加密认证体系已经由原来的WEP过渡到了802.11i。企业通过802.1X认证与CCMP强加密,可以最大限度的保护无线数据安全,即使恶意攻击者监听到了这些报文,由于报文已被强加密,因此也无法还原出原始数据。但是,使用802.11i仍然无法完全保护企业无线网络不受恶意攻击。
WIPS(Wireless Intrusion Prevention System,无线入侵防御系统)被设计用于应对各种各样的WLAN攻击。
WIPS主要有以下几类主要功能:
(1) 报文统计和设备学习:通过分析WLAN管理报文、控制报文、数据报文,学习周围存在的WLAN设备;
(2) 设备分类:对检测到的所有设备,按照一定的规则方法,将设备分为Auth、Rogue等不同的类别;
(3) 设备反制:根据配置和分类结果,对满足条件的设备进行反制;
(4) 检测Flood攻击:为每种攻击设置速率阈值,当某种报文的速率超过阈值时发送告警;
(5) 检测畸形报文:通过报文解析检测出具有某些畸形类型特征的畸形报文,并发送告警;
(6) 检测仿冒攻击:是指攻击者仿冒其他设备,从而威胁无线网络的安全;
(7) WLAN网络环境监控。
一个组织或企业,可能存在多个职能不同的部门。这些部门可能按地域划分,也可能按楼层划分。每个不同的部门使用各自不同的一组AP,部门之间对接入服务的安全性、无线设备的无线行为要求各不相同。在WIPS系统中,可以将这些部门划分到不同VSD(Virtual Security Domain,虚拟安全域)中,每个虚拟安全域拥有一组Sensor,负责对本区域内的无线网络进行扫描。虚拟安全域的WIPS安全防护配置彼此独立。
图1 虚拟安全域
Sensor指开启WIPS功能的AP。Sensor可以基于Radio开启,当某个Radio工作在Sensor模式时,会持续在所有802.11信道之间进行跳变并监听信道上的无线报文,并对收集到的报文进行分析。
WIPS利用Sensor来监控WLAN网络,对各种WLAN设备发出的报文进行分析进而探知设备的存在,并将探测到的WLAN设备进行区分,WLAN设备主要分为:AP和客户端。通过分析报文的交互信息,还可以学到AP和客户端的关联关系。
表1 WLAN报文统计和设备学习表
检测项目 |
描述 |
AP和Client列表 |
所有已发现的WLAN设备列表及其运行状态 |
Sensor列表 |
所有Sensor列表及其运行状态 |
无线报文统计 |
对Sensor监听到的各种类型的无线报文进行统计,包括广播/组播/单播帧的数量统计、管理/控制/数据帧的数量统计、Beacon/Probe/Auth./Assoc.等关键无线帧的数量统计。 |
根据分类规则可将AP和客户端分为如下类别:
设备大类 |
设备小类 |
描述 |
AP |
Authorized AP |
合法AP,受信任的AP |
Rouge AP |
明确有攻击行为,或者会对网络产生危害的AP |
|
Misconfigured AP |
AP本身是合法AP,但是它的无线配置不正确 |
|
External AP |
周边其他无线网络中的AP。这种AP一般没有危害,但有可能造成信道干扰 |
|
Uncategorized AP |
无法确定此AP的分类 |
|
Ad hoc设备 |
开启了Ad hoc功能的AP |
|
Mesh AP |
开启了Mesh功能的AP |
|
Client |
Authorized Client |
合法的客户端 |
Unauthorized Client |
不允许使用的客户端 |
|
Misassociation Client |
错误关联的客户端,即错误关联到非授权AP上的合法客户端 |
|
Uncategorized Client |
无法确定此客户端的分类 |
系统会对所有WLAN设备进行分类。其中,对AP设备的分类处理流程如图2所示,对客户端设备的分类处理流程如图3所示。
自定义AP分类规则是指用户手工配置的分类规则。通过配置不同的自定义规则,可以灵活地将满足不同要求的设备分类为指定的类型。自定义AP分类规则可以极大的提高WIPS分类设备的准确性。目前支持的自定义AP分类规则如表3所示。需要注意的是,客户端设备不支持自定义分类规则。
表3 自定义AP分类规则
规则名 |
描述 |
匹配SSID |
对AP广播的SSID进行字符串匹配 |
匹配认证方式 |
对AP使用的无线服务安全认证方式匹配,如PSK或802.1X |
匹配安全加密条件 |
对AP使用的无线数据加密方式匹配 |
匹配设备OUI |
对AP设备的OUI或设备厂商vendor信息进行匹配 |
匹配RSSI信号强度 |
对AP的信号强度进行匹配。可匹配区间,也可匹配大小 |
匹配设备运行时间 |
对AP的运行时间进行匹配 |
匹配关联客户端数量 |
对AP关联客户端数量进行匹配 |
匹配发现AP数量 |
当Sensor周围发现的AP数超过阈值后,对新发现的AP触发 |
图2 AP设备分类流程图
泛洪攻击是指通过向无线设备发送大量同类型的报文,使无线设备会被泛洪攻击报文淹没而无法处理合法报文。WIPS通过持续地监控AP或客户端的流量来检测泛洪攻击。当大量同类型的报文超出上限时,认为无线网络正受到泛洪攻击。
目前支持的泛洪攻击检测包括如下类型:
攻击者通过模拟大量的客户端向AP发送鉴权请求帧,AP收到大量攻击报文后无法处理合法客户端的鉴权请求帧。
攻击者通过模拟大量的客户端向AP发送探查请求/关联请求/重关联请求帧,AP收到大量攻击报文后无法处理合法客户端的探测请求/关联请求/重关联请求帧。
IEEE 802.1X标准定义了一种基于EAPOL(EAP over LAN,局域网上的可扩展认证协议)的认证协议,该协议通过客户端发送EAPOL-Start帧开始一次认证流程。AP接收到EAPOL-Start后会回复一个EAP-Identity-Request,并为该客户端分配一些内部资源来记录认证状态。攻击者可以通过模拟大量的客户端向AP发送EAPOL-Start来耗尽该AP的资源,使AP无法处理合法客户端的认证请求。
攻击者通过仿冒AP向与其关联的客户端发送广播/单播的解除鉴权帧,使得被攻击的客户端与AP的关联断开。这种攻击非常突然且难以防范。单播取消鉴权攻击是针对某一个客户端,而广播取消鉴权攻击是针对与该AP关联的所有客户端。
攻击原理同广播/单播解除鉴权泛洪攻击。攻击者是通过仿冒AP向与其关联的客户端发送广播/单播解除关联帧,使得被攻击的客户端与AP的关联断开。这种攻击同样非常突然且难以防范。
在无线网络中,通信双方需要遵循虚拟载波侦听机制,通过RTS(Request to Send,发送请求)/CTS(Clear to Send,清除发送请求)交互过程来预留无线媒介,通信范围内的其它无线设备在收到RTS和(或)CTS后,将根据其中携带的信息来延迟发送数据帧。RTS/CTS泛洪攻击利用了虚拟载波侦听机制的漏洞,攻击者能通过泛洪发送RTS和(或)CTS来阻塞WLAN网络中合法无线设备的通信。
该攻击通过仿冒客户端发送伪造的Block ACK帧来影响Block ACK机制的正常运行,导致通信双方丢包。
该攻击通过仿冒合法客户端向与其关联的AP发送Null-data帧,并且将Null-data帧的节电位置位,使得AP误认为合法的客户端进入省电模式,将发往该客户端的数据帧进行暂存。如果攻击者持续发送Null-data帧,当暂存帧的存储时间超过AP暂存帧老化时间后,AP会将暂存帧丢弃,妨害了合法客户端的正常通信。
该攻击是通过发送大量的Beacon帧使客户端检测到多个虚假AP,导致客户端选择正常的AP进行连接时受阻。
在EAPOL认证环境中,当通过认证的客户端需要断开连接时,会发送一个EAPOL-Logoff帧来关闭与AP间的会话。但AP对接收到的EAPOL-Logoff帧不会进行认证,因此攻击者通过仿冒合法客户端向AP发送EAPOL-Logoff帧,可以使AP关闭与该客户端的连接。如果攻击者持续发送仿冒的EAPOL-Logoff帧,将使被攻击的客户端无法保持同AP间的连接。
在使用802.1X认证的WLAN环境中,当客户端认证成功时,AP会向客户端发送一个EAP-Success帧(code字段为success的EAP帧);当客户端认证失败时,AP会向客户端发送一个EAP-Failure帧(code字段为failure的EAP帧)。攻击者通过仿冒AP向请求认证的客户端发送EAP-Failure帧或EAP-Success帧来破坏该客户端的认证过程,通过持续发送仿冒的EAP-Failure帧或EAP-Success帧,可以阻止被攻击的客户端与AP间的认证。
畸形报文攻击是指攻击者向受害客户端发送有缺陷的报文,使得客户端在处理这样的报文时会出现崩溃。WIPS利用Sensor监听无线信道来获取无线报文,通过报文解析检测出具有某些畸形类型特征的畸形报文,并发送告警。
目前支持的畸形报文检测包括如下类型:
该检测是针对所有管理帧的检测。信息元素(Information Element,简称IE)是管理帧的组成元件,每种类型的管理帧包含特定的几种IE。报文解析过程中,当检测到该报文包含的某个IE的长度为非法时,该报文被判定为IE长度非法的畸形报文。
该检测是针对所有管理帧的检测。当解析某报文时,该报文所包含的某IE重复出现时,则判断该报文为重复IE畸形报文。因为厂商自定义IE是允许重复的,所以检测IE重复时,不检测厂商自定义IE。
该检测是针对所有管理帧的检测。报文解析过程中,当检测到既不属于报文应包含的IE,也不属于reserved IE时,判断该IE为多余IE,则该报文被判定为多余IE的畸形报文。
该检测是针对所有管理帧的检测。当解析完报文主体后,IE的剩余长度不等于0时,则该报文被判定为报文长度非法的畸形报文。
该检测是针对Beacon帧和探查响应帧进行的检测。当报文中的IBSS和ESS都置位为1时,由于此种情况在协议中没有定义,所以该报文被判定为IBSS和ESS置位异常的畸形报文。
该检测是针对认证帧的检测。当检测到以下情况时请求认证过程失败,会被判断为认证畸形报文。
· 当对认证帧的身份认证算法编号(Authentication algorithm number)的值不符合协议规定,并且其值大于3时;
· 当标记客户端和AP之间的身份认证的进度的Authentication Transaction Sequence Number 的值等于1,且状态代码status code不为0时;
· 当标记客户端和AP之间的身份认证的进度的Authentication Transaction Sequence Number的值大于4时。
该检测是针对认证请求帧的检测。当收到认证请求帧中的SSID的长度等于0时,判定该报文为畸形关联请求报文。
该检测是针对Beacon、探查响应帧、关联响应帧、重关联请求帧的检测。当检测到以下情况时,判定为HT IE的畸形报文,发出告警,在静默时间内不再告警。
· 解析出HT Capabilities IE的SM Power Save值为2时;
· 解析出HT Operation IE的Secondary Channel Offset值等于2时。
该检测是针对单播管理帧、单播数据帧以及RTS、CTS、ACK帧的检测。如果报文解析结果中该报文的Duration值大于指定的门限值,则为Duration超大的畸形报文。
该检测是针对探查响应报文。当检测到该帧为非Mesh帧,但同时该帧的SSID Length等于0,这种情况不符合协议(协议规定SSID Length等于0的情况是Mesh帧),则判定为无效探查响应报文。
该检测是针对解除认证畸形帧的检测。当解除认证畸形帧携带的Reason code的值属于集合[0,67~65535]时,则属于协议中的保留值,此时判定该帧为含有无效原因值的解除认证畸形报文。
该检测是针对解除关联帧的检测。当解除关联帧携带的Reason code的值属于集合[0,67~65535]时,则属于协议中的保留值,此时判定该帧为含有无效原因值的解除关联畸形报文。
该检测是针对Beacon、探查请求、探查响应、关联请求帧的检测。当解析报文的SSID length大于32字节时,不符合协议规定的0~32字节的范围,则判定该帧为SSID超长的畸形报文。
该检测是针对Authentication帧的检测。Fata-jack畸形类型规定,当身份认证算法编号即Authentication algorithm number的值等于2时,则判定该帧为Fata-jack畸形报文。
该检测是针对所有管理帧的检测。当检测到该帧的TO DS等于1时,表明该帧为客户端发给AP的,如果同时又检测到该帧的源MAC地址为广播或组播,则该帧被判定为Invalid-source-address畸形报文。
该检测是针对EAPOL-Key帧的检测。当检测到该帧的TO DS等于1且其Key Length大于0时,则判定该帧为Key长度超长的EAPOL报文。Key length长度异常的恶意的EAPOL-Key帧可能会导致DOS攻击。
Spoofing攻击是指攻击者仿冒其他设备,从而威胁无线网络的安全。例如:无线网络中的客户端已经和AP关联,并处于正常工作状态,此时如果有攻击者仿冒AP的名义给客户端发送解除认证/解除关联报文就可能导致客户端下线,从而达到破坏无线网络正常工作的目的;又或者攻击者仿冒成合法的AP来诱使合法的客户端关联,攻击者仿冒成合法的客户端与AP关联等,从而可能导致用户账户信息泄露。
目前支持的Spoofing检测包括如下类型:
该仿冒是指攻击者使用AP仿冒正常工作的AP的MAC地址,向客户端发送报文的行为。WIPS通过报文的接收时间和报文中的时间戳计算出AP的启动时间,并与之前记录的该AP的启动时间进行比较来判断是否发生仿冒。如果计算出的本次AP启动时间早于之前计算出的AP启动时间,则判定为发生AP仿冒AP攻击。
WIPS通过侦听无线网络内的Beacon或探查响应帧报文来检测AP仿冒AP行为。
该仿冒是指攻击者使用AP仿冒合法客户端的MAC地址发送报文。WIPS通过检测AP发送的报文中的MAC地址是否存在于客户端列表中来判断是否有仿冒发生。如果该AP的MAC地址存在于客户端列表中,则判定为发生了AP仿冒客户端。
该仿冒是指攻击者使用客户端仿冒合法AP的MAC地址发送报文。WIPS通过检测客户端发送的报文中发送端的MAC地址是否存在于AP列表中来判断是否有仿冒发生。如果该客户端的MAC地址存在于AP列表中,则判定为发生了客户端仿冒AP。
WEP安全协议使用的RC4加密算法存在一定程度的缺陷,当其所用的IV值不安全时会大大增加其密钥被破解的可能性,该类IV值即被称为Weak IV。WIPS特性通过检测每个WEP报文的IV值来预防这种攻击。
Omerta是一个基于802.11协议的DoS攻击工具,它通过向信道上所有发送数据帧的客户端回应解除关联帧,使客户端中断与AP的关联。Omerta发送的解除关联帧中的原因代码字段为0x01,表示未指定。由于正常情况下不会出现此类解除关联帧,因此WIPS可以通过检测每个解除关联帧的原因代码字段来检测这种攻击。
当攻击者仿冒成合法的AP,发送目的MAC地址为广播地址的解除关联帧或者解除认证帧时,会使合法AP下关联的客户端下线,对无线网络造成攻击。
支持802.11n标准无线设备可以支持20MHz和40MHz两种带宽模式。在无线环境中,如果与AP关联的某个无线客户端禁用了40MHz带宽模式,会导致AP与该AP关联的其它无线客户端也降低无线通信带宽到20MHz,从而影响到整个网络的通信能力。WIPS通过检测无线客户端发送的探测请求帧来发现禁用40MHz带宽模式的无线客户端。
对于处于非节电模式下的无线客户端,攻击者可以通过发送节电模式开启报文(Null帧),诱使AP相信与其关联的无线客户端始终处于睡眠状态,并为该无线客户端暂存帧。被攻击的无线客户端因为处于非节电模式而无法获取这些暂存帧,在一定的时间之后暂存帧会被自动丢弃。WIPS通过检测节电模式开启/关闭报文的比例判断是否存在节电攻击。
用户可以设置合法信道集合,并开启非法信道检测,如果WIPS在合法信道集合之外的其它信道上监听到无线通信,则认为在监听到无线通信的信道上存在入侵行为。
软AP是指客户端上的无线网卡在应用软件的控制下对外提供AP的功能。攻击者可以利用这些软AP所在的客户端接入公司网络,并发起网络攻击。WIPS通过检测某个MAC地址在无线客户端和AP这两个角色上的持续活跃时长来判断其是否是软AP,不对游离的无线客户端进行软AP检测。
当一个连接到有线网络的无线客户端使用有线网卡建立了Windows网桥时,该无线客户端就可以通过连接外部AP将外部AP与内部有线网络进行桥接。此组网方式会使外部AP对内部的有线网络造成威胁。WIPS会对已关联的无线客户端发出的数据帧进行分析,来判断其是否存在于Windows网桥中。
在无线网络中,如果有授权AP或信任的无线客户端使用的配置是未加密的,网络攻击者很容易通过监听来获取无线网络中的数据,从而导致网络信息泄露。WIPS会对信任的无线客户端或授权AP发出的管理帧或数据帧进行分析,来判断其是否使用了加密配置。
热点攻击指恶意AP使用热点SSID来吸引周围的无线客户端来关联自己。攻击者通过伪装成公共热点来引诱这些无线客户端关联自己。一旦无线客户端与恶意AP关联上,攻击者就会发起一系列的安全攻击,获取用户的信息。用户通过在WIPS中配置热点文件,来指定WIPS对使用这些热点的AP和信任的无线客户端进行热点攻击检测。
在AP扮演者攻击中,攻击者会安装一台恶意AP设备,该AP设备的BSSID和ESSID与真实AP一样。当该恶意AP设备在无线环境中成功扮演了真实AP的身份后,就可以发起热点攻击,或欺骗检测系统。WIPS通过检测收到Beacon帧的间隔是否小于Beacon帧中携带的间隔值来判断其是否为攻击者扮演的恶意AP。
当无线设备使用802.11n 绿野模式时,不可以和其他802.11a/b/g 设备共享同一个信道。通常当一台设备侦听到有其他设备占用信道发送和接收报文的时候,会延迟报文的发送直到信道空闲时再发送。但是802.11a/b/g设备不能和绿野模式的AP进行通信,无法被告知绿野模式的AP当前信道是否空闲,会立刻发送自己的报文。这可能会导致报文发送冲突、差错和重传。
攻击者在合法AP附近搭建一个蜜罐 AP,通过该AP发送与合法AP SSID相似的Beacon帧或Probe Response帧,蜜罐AP的发送信号可能被调得很大以诱使某些授权客户端与之关联。当有客户端连接到蜜罐AP,蜜罐AP便可以向客户端发起某些安全攻击,如端口扫描或推送虚假的认证页面来骗取客户端的用户名及密码信息等。因此,需要检测无线环境中对合法设备构成威胁的蜜罐AP。WIPS系统通过对外部AP使用的SSID进行分析,若与合法SSID的相似度值达到一定阈值就发送蜜罐AP告警。
图4 蜜罐AP检测
在中间人攻击中,攻击者在合法AP和合法客户端的数据通路中间架设自己的设备,并引诱合法客户端下线并关联到攻击者的设备上,此时攻击者就可以劫持合法客户端和合法AP之间的会话。在这种情况下,攻击者可以删除,添加或者修改数据包内的信息,获取验证密钥、用户密码等机密信息。中间人攻击是一种组合攻击,客户端在关联到蜜罐AP后攻击者才会发起中间人攻击,所以在配置中间人攻击检测之前需要开启蜜罐AP检测。
图5 中间人攻击检测
攻击者可以通过接入无线网桥侵入公司网络的内部,对网络安全造成隐患。WIPS通过检测无线网络环境中是否存在无线网桥数据以确定周围环境中是否存在无线网桥。当检测到无线网桥时,WIPS系统即产生告警,提示当前无线网络环境存在安全隐患。如果该无线网桥是Mesh网络时,则记录该Mesh链路。
关联/重关联DoS攻击通过模拟大量的客户端向AP发送关联请求/重关联请求帧,使AP的关联列表中存在大量虚假的客户端,达到拒绝合法客户端接入的目的。
AP设备在完成部署后通常是固定不动的,正常情况下WIPS通过检测发现网络环境的中AP设备的数目达到稳定后不会大量增加。当检测到AP的数目超出预期的数量时, WIPS系统即产生告警,提示当前无线网络环境存在安全隐患。
如果攻击者通过发送大量报文来增加WIPS的处理开销等。通过检测周期内学习到设备的表项来判断是否需要对表项学习进行限速处理。设备在统计周期内学习到的AP或客户端表项达到触发告警阈值,设备会发送告警信息,并停止学习AP表项和客户端表项。
WIPS反制的作用是阻止非法AP或客户端对网络进行破坏。有两种方式触发反制:手工方式和自动方式。网络管理员可以方便地在WLAN环境检测报表里选择需反制的设备予以反制;或者配置规则,例如发现某设备是Rogue AP时,自动予以反制。WIPS采用两种方法进行反制:
· 使用动态黑名单禁止非法设备接入组织网络;
· 向非法设备发送解关联报文使其无法正常工作。
独立组网是指企业之前并没有H3C的WLAN网络设备或根本没有WLAN网络,但出于安全的目的需要部署一套WIPS系统,可以防止内部员工未经允许使用WLAN网络或阻止外部攻击者攻击企业现有WLAN网络。
现网兼容组网是指在企业现有H3C WLAN网络基础上部署WIPS。推荐至少部署三分之一AP数量的Sensor,以达到较好的监控及防护效果。
WIPS的基本组网模型基本结构是AC下关联多台Sensor,这些Sensor分布于企业各个位置。
图6 典型WIPS部署