时间:2024-05-04
郑瑞环
(四川大学网络空间安全学院,成都610065)
在移动互联网时代,无线网络已经成为人们生活中不可或缺的部分,其存在给人们带来了诸多便利。目前,无线接入点(Access Point,AP)几乎随处可见。无论何时何地,用户可以通过AP 连接互联网以处理各种事务。然而,正是无线接入点的广泛部署引起了相应的攻击。攻击者通过创建与合法AP 相同SSID 和MAC 地址的伪AP(Rogue Access Point)进行信息窃取。然而大多数用户很难判断当前连接的AP 是否安全,所以通过搭建伪AP,攻击者可以很简单地达到攻击目的。当用户连接上伪AP 后,其所有的网络数据流量将会被暴露。攻击者可以通过对网络数据流量进行分析,得到用户的相关密码和隐私信息从而造成相关的损失。
基于802.11 协议的无线网络是当前的主流。根据该协议标准[1],若环境中有多个具有同样SSID 和MAC地址的AP,客户端会自动连接上其中信号强度最高的AP。基于上述原因,攻击者可以非常容易地搭建伪AP,其仅需要设立一个AP,将其SSID 和MAC 地址设置为与被伪造的AP 一致,并将其信号强度尽可能提高即可实现伪AP 攻击,如图1 所示。目前,利用Aircrack-ng[2]、WiFi-Pumpkin[3]等工具可以实现快速搭建伪AP。当前伪AP 的攻击方式主要分为被动式攻击和主动式攻击。
图1 伪AP攻击原理
伪AP 被动地等待客户连接的攻击方式即为被动式攻击。伪AP 通过增加其信号强度实现被动式攻击。由于伪AP 和真实AP 的配置信息相同,当伪AP的信号强度大于真实AP 的信号强度时,用户设备会自动连接上伪AP,攻击者继而进行进一步的攻击过程,如通过分析网络流量获取用户的隐私信息。一般来说增加信号强度的方式包括将伪AP 尽量靠近被攻击者,同时包括TP-Link、水星等绝大多数品牌的路由器管理页面都有信号强度的选项,攻击者可以结合多种方式增强信号强度以达到更好的攻击效果。
主动式攻击指攻击者部署伪AP 后,通过主动的方式断开终端和合法AP 之间的连接来达到攻击目的。实现主动式攻击的方法一般分为物理层攻击和MAC层攻击[4]。物理层攻击主要通过射频干扰实现(RF Jamming Attack),该攻击通过发出干扰射频实现破坏无线通信的目的。MAC 层攻击则主要利用802.11 协议身份认证的缺陷,由于控制帧和管理帧没有相关的保护和认证方法,攻击者可以通过伪造控制帧和管理帧的方法发起攻击,导致合法AP 和客户端连接断开,引诱客户端接入伪AP 以实现进一步的攻击。
(1)物理层攻击
物理层攻击主要为射频干扰攻击。射频干扰攻击通过发出干扰射频实现破坏无线通信的目的。IEEE 802.11 协议标准规定,无线局域网采用载波侦听多路访问/避免冲突(CSMA/CA)机制,该机制使用信道空闲评估程序来决定信道是否空闲[5]。射频干扰攻击通过在无线局域网工作的频段上施加信号,使移动终端或者AP 误以为信道繁忙,从而放弃通信。
(2)MAC 层攻击
图2 802.11协议状态转换
MAC 层的攻击主要是针对身份认证缺陷的阻塞攻击。IEEE 802.11 协议标准规定,只有当终端已认证已连接的情况下终端才能和AP 进行通信。其状态转换过程如图2 所示,只有当终端保持为状态3 时,通信才能正常进行。攻击者利用此特性,构造解除认证帧(Deauthentication)和解除连接帧(Disassociation)进行攻击,使终端无法保持状态3,阻塞其和AP 之间的通信。
目前主要有三种检测伪AP 的方法。第一种为基于硬件特征的检测方法,由于每一个设备都具有其独特性,该方法利用相关的特征同事先存储的信息进行比较实现伪AP 的检测。第二种为基于网络特征的检测方法,通过网络相关特征如RTT,运行traceroute 命令得到的路径结果等特征作为伪AP 判定的特征。第三种为基于位置信息的方法,此种方法通过信号强度等数据结合机器学习算法对待测AP 进行定位,通过判定其位置与事先记录的位置是否匹配实现对伪AP 的检测。
由于每个AP 在硬件层面都具有其独特性,基于硬件特征的检测方法主要依靠AP 的硬件差异对AP 的合法性进行判断。此种方法需要事先在数据库中保存合法AP 的相关信息,在检测时同已存储的信息进行匹配以检测伪AP 的存在。
Kohno 等人[6]提出一种将硬件时钟偏差作为指纹建模的方案。由于AP 中谐振荡器的原材料石英的切片方向和角度不同会造成设备的时钟相对标准时钟存在误差,通过此误差可以唯一的标识某一个AP。他们的方案通过收集到的TCP/ICMP 报文上的时间戳来测算时钟偏差。
Jana 等人[7]同样使用时钟偏移(clock skew)进行伪AP 的检测。但其发现,TCP/ICMP 报文上的时间戳可以通过软件手段进行伪造,所以其时钟偏移是通过计算来自信标帧和请求响应帧(beacon/probe response frames)的时间戳得到。
Sriram 等人[8]提出一种基于设备参数的方法。首先将合法AP 的MAC 地址、SSID 等设备参数保存在数据库中;在检测时,通过获取相应的设备参数与事先保存的信息进行比对以实现伪AP 的检测。
同组织的合法AP 普遍在网络相关参数上具有相似性,例如同组织的合法AP 通常会使用相同的出口网络或者使用相同的网络服务提供商,所以合法AP 的网络时延或者数据传输路径等具有相似性,通过此相似性可以区分出待测AP 是否为伪AP。
Nikbakhsh 等人[9]提出一种基于路由跟踪的方法,该方法分别在两个配置相同的AP 上执行到相同地址的traceroute 命令,然后比较两次路径结果来判断是否有伪AP 存在。若两个AP 的结果不相符,则说明有伪AP 存在。但是此种方法没有并没有事先保存合法AP的traceroute 结果,所以仅能判断是否有伪AP 存在。
刘洋[10]提出基于802.11 协议特征的检测方案和基于traceroute 的钓鱼AP 混合检测方案。基于802.11协议的检测方案提取AP 的协议特征信息,如AP 的MAC、速率特征等,同时向同一SSID 下的AP 发送特殊的请求探查报文,统计接收的探查响应报文,最后通过相关信息与存储的信息进行对比,实现钓鱼AP 的检测。基于traceroute 的方案通过构造ICMP-Traceroute、TCP-Traceroute 以及UDP-Traceroute 路由跟踪报文,跟踪测试点到指定目的服务器的路由路径,实现钓鱼AP 的检测。
Zhang 等人[11]提出一种基于网络状态相似度的方法来检测伪AP,其通过计算数据到服务器的RTT 和数据到AP 的RTT 的差值来对其网络状况进行画像。通过获得一段时间内的网络延迟数据,计算网络状态的相似度。如果伪AP 和合法AP 的在一个局域网内或者使用同一个网络提供商,则该方法失效。
基于位置信息的检测方法利用RSSI(Received Signal Strength Indication,无线信号接收强度)等数据对AP 的位置进行推算,通过判断AP 现在的位置和记录的位置是否匹配判断该AP 是否为伪AP。此种方法一般应用于室内,通过在固定位置搭设嗅探点,并进行离线训练得到定位模型,在线检测时通过嗅探器分别得到待检测AP 的相关信息,通过该信息计算出待测AP的位置用于检测。
Awad 等人[12]提出一种基于位置信息检测伪AP 的方法。本文通过应用粒子群优化算法检测并定位伪AP。RSSI 用于估计接入点与已知位置之间的距离。该方法通过收集一组RSSI 数据来估计待测AP 的位置并将其与真实AP 的位置进行比对来检测伪AP。
Wu 等人[13]提出一种基于RSSI 的伪AP 检测方法,其搭建了六个不同位置的嗅探器来分别得到某一个AP 的一组RSSI 数据。在离线分析阶段,多次收集每个合法AP 的RSSI 数据,并在聚类分析后得到两个质心之间的距离,从而得到相关的阈值。最后将每个AP的阈值分别保存在服务器中,并在检测阶段通过聚类分析检测某个AP 是否为伪AP。
顾啸林[14]在上述的方法上进行了改进,由于某些位置可能会发生距离较远,某个嗅探器无法获得该AP 数据的情况,在训练阶段可能存在某个RSSI 分量有缺失的问题。在数据预处理阶段通过对缺失分量的均值化数据填补,数据剔除等手段防止缺失的分量导致离线训练时造成的偏差以提高待测AP 定位的精度以实现检测率的提高。
本文一共介绍了三种伪AP 检测技术,但每种方法都具有一定的缺陷。若使用传统基于设备参数的方法,该种方法使用的特征如SSID、MAC 地址等一般可以通过在路由设置中进行设置,从而达到模仿合法AP的效果,通过这些字段进行伪AP 的检测容易造成该种检测方法失效;基于时钟偏移的伪AP 检测方法表现较好,但是在离线和在线检测阶段均需要较长的时间对时间偏移进行计算。基于网络特征的方法通过RTT、运行traceroute 命令得到的路径信息等特征实现对伪AP 的检测,但是由于多种因素都会造成网络特征的改变,导致该方法使用的特征不够稳定从而对检测率有较大的影响。基于位置信息的检测方法是目前伪AP检测研究中最主要的方法,该方法的思想是通过收集相关信息推测出待测AP 的位置,但是该方法大多需要部署多个设备收集位置相关信息以增加定位精度,导致该方法所需的设备成本高,且部署复杂。基于此,在未来的研究中伪AP 检测应该着重寻找更加稳定、易于采集且难以伪造的特征以解决目前检测方法的不足。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!