摘 要
随着无线局域网热点在公共场所大规模的部署,无线局域网安全问题变得尤为突出和重要,其中伪AP钓鱼攻击是无线网络中最严重的安全威胁之一。攻击者通过搭建伪AP可获取用户的上网流量,进而获取其隐私信息,对用户造成损失。本文主要介绍了伪AP攻击原理,归纳总结目前了伪AP检测和阻断技术。
背景介绍
移动互联网时代,无线网络已经成为人们生活中不可或缺的部分,AP(Access Point),即无线访问接入点,俗称“热点”,它是人们使用无线设备(手机、平板、笔记本电脑等无线设备)进入有线设备的接入点,主要用于带宽家庭、大楼内部、校园内部、园区内部以及仓库、工厂等需无线覆盖的地方,有效覆盖距离几十米至上百米,主要技术为IEEE802.11系列。伪AP钓鱼攻击是通过仿照正常的AP搭建一个伪AP,然后通过对合法AP进行拒绝服务攻击或者提供比合法AP更强的信号迫使无线客户端连接到伪AP,这样就会完全控制无线客户端网络连接,并且可以发起任何进一步的攻击。那么,伪AP是如何进行攻击的呢?要先从无线设备连接上网说起。
无线设备终端在连接Wi-Fi,通过AP传输数据前,要经过三个阶段:扫描阶段、认证阶段和关联阶段。
(1)扫描阶段:当用户打开手机的Wi-Fi时,我们一会儿便可以看到手机上会显示搜索到的附近的Wi-Fi热点列表,这个搜索过程叫做扫描。扫描的目标是找到一个无线网络的名字,即SSID,然后加入该网络。主要分为主动扫描和被动扫描。主动扫描是STA(终端,如手机)依次在13个信道发出Probe Request帧,寻找与STA有相同SSID的AP,若找不到,则一直扫描下去。被动扫描时STA通过侦听AP定期发送的Beacon帧来发现网络,该帧包括了接入点的MAC地址、信号强度、加密和认证方式。当STA找到与其有相同SSID的AP,在SSID匹配的AP中,根据收到的AP信号强度,选择一个信号最强的AP,然后进入认证阶段。
(2)认证阶段:认证方式有开放式和共享密钥认证。开放式认证即STA发起认证请求,认证服务器收到后回应;共享密匙认证是STA发起认证请求,认证服务器收到请求后回复质询文本,STA利用预置的key加密明文发送给认证服务器,认证服务器用预置的key解密并和之前的明文比较,如一致则认证通过。当AP向STA返回认证响应信息,身份认证获得通过后,进入关联阶段。
(3)关联阶段:首先STA向AP发送关联请求;然后 AP 向STA返回关联响应。至此,接入过程才完成,STA初始化完毕,可以开始向AP传送数据帧。
伪AP攻击原理及实现流程
根据无线设备连接上网的过程,我们可以知道,如果环境中有多个具有同样的SSID和MAC地址的AP,客户端会自动连接上其中信号强度最高的AP。基于上述过程,攻击者可以非常容易地搭建伪AP,将其SSID和MAC地址设置为与被伪造的AP一致,并将其信号强度尽可能提高,即可实现伪AP攻击。下面就黑客通过伪AP攻击的一般实现流程进行总结。
(1)获取无线网络的密钥。
对于采用WEP或WPA认证的无线网络,黑客可以通过无线破解工具,或者采用社会工程的方法,来窃取目标无线网络的密钥,对于未加密的无线网络则可以省略这一步骤,使得无线钓鱼攻击更容易得手。
(2)伪造目标无线网络。
用户终端在接入一个无线网络之前,系统会自动扫描周围环境中是否存在曾经连接过的无线网络。当存在这样的网络时,系统会自动连接该无线网络,并自动完成认证过程;当周围都是陌生的网络时,需要用户手工选择一个无线网络,并输入该网络的密钥,完成认证过程。
(3)被动式攻击与主动式攻击
被动式攻击由于伪AP和真实AP的配置信息相同,当伪AP使用高增益天线使得伪AP的信号强度大于真实AP的信号强度时,客户端会主动连接上伪AP,攻击者继而进行进一步攻击过程,如通过分析网络流量获取用户的隐私信息。
主动式攻击主要针对那些没有自动上钩的移动终端,为了使其主动走进布好的陷阱,黑客会对附近合法的网络发起无线DoS攻击,使得这些无线网络处于瘫痪状态。这时,移动终端会发现原有无线网络不可用,重新扫描无线网络,并主动连接附近同一个无线网络中信号强度最好的AP。由于其他AP都不可用,并且黑客伪造的钓鱼AP信号强度又比较高,移动终端会主动与伪造的AP建立连接。
(4)截获流量或发起进一步攻击。
无线钓鱼攻击完成后,移动终端就与黑客的攻击系统建立了连接,由于黑客采用了具有桥接功能的软AP,可以将移动终端的流量转发至Internet,因此移动终端仍能继续上网,但此时,所有流量已经被黑客尽收眼底。黑客会捕获流量并进一步处理,如果使用中间人攻击工具,甚至可以截获采用了SSL加密的Gmail邮箱信息,而那些未加密的信息更是一览无余。
伪AP检测方法
目前主要有三种检测伪 AP 的方法。第一种为基于硬件特征的检测方法,由于每一个设备都具有其独特性,该方法利用相关的特征同事先存储的信息进行 比较进而实现伪 AP 的检测。第二种为基于网络特征的检测方法,通过网络相关特征如 RTT,运行 traceroute 命令得到的路径结果等特征作为伪 AP 判定的特征。第三种为基于位置信息的方法,此种方法通过信号强度等数据结合机器学习算法对待测 AP 进行定位,通过判定其位置与事先记录的位置是否匹配实现对伪AP的检测。
(1)基于硬件特征的检测方法[1]
每个 AP 在硬件层面都具有其独特性,基于硬件特征的检测方法主要依靠 AP 的硬件差异对 AP 的合法性进行判断。此种方法需要事先在数据库中保存合法 AP 的相关信息,在检测时同已存储的信息进行匹配以检测伪 AP 的存在。Kohno 等人提出一种将硬件时钟偏差作为指纹建模的方案。由于 AP 中振荡器的原材料石英的切片方向和角度不同会造成设备的时钟相对标准时钟存在误差,通过此误差可以唯一的标识某一个AP。他们的方案通过收集到的 TCP/ICMP 报文上的时间戳来测算时钟偏差。Sriram[2] 等人提出一种基于设备参数的方法。首先将合法 AP 的 MAC 地址、SSID 等设备参数保存在数据库中;在检测时,通过获取相应的设备参数与事先保存的信息进行比对以实现伪 AP 的检测。
基于硬件特征的检测方法总的来说需要找到能唯一识别一个伪AP的特性,就像人的指纹能唯一识别每个人一样,公安机关通过已经建立好的罪犯指纹库与犯罪现场提取的指纹进行比对,从而确定犯罪嫌疑人。通过构建AP的硬件指纹特征库,然后通过一定的方法和手段获取实际环境中的AP的硬件指纹,放入硬件指纹特征库中进行比较,确定该AP的安全性。
(2)基于网络特征的检测方法[1]
同组织的合法 AP 普遍在网络相关参数上具有相似性,例如同组织的合法 AP 通常会使用相同的出口网络或者使用相同的网络服务提供商,所以合法 AP 的网络时延或者数据传输路径等具有相似性,通过此相似性可以区分出待测 AP 是否为伪 AP。例如一种基于路由跟踪的伪AP检测方法, 该方法分别在两个配置相同的 AP 上执行到相同地址的 traceroute 命令,然后比较两次路径结果来判断是否有伪 AP 存在。若两个 AP 的结果不相符,则说明有伪 AP 存在。这种方法的基本思路是:交给两个AP到达相同目的地的任务,根据两个AP完成任务时所走过的路径是否相同来判断AP的真伪,但是此种方法没有并没有事先保存合法 AP 的 traceroute 结果,所以仅能判断是否有伪 AP 存在,并不能确定哪个才是伪造的AP,哪个是真正的AP。
3)基于位置信息的检测方法[1]
基于位置信息的检测方法利用 RSSI(Received Signal Strength Indication,无线信号接收强度)等数据对 AP 的位置进行推算,通过判断 AP 现在的位置和记录的位置是否匹配判断该 AP 是否为伪 AP。此种方法通过在固定位置搭设嗅探点,并进行离线训练得到定位模型,在线检测时通过嗅探器分别得到待检测 AP 的相关信息,通过该信息计算出待测 AP 的位置用于检测。
该方法首先使用信号接收强度这个参数来对AP的位置进行建模,使用建好的模型对新出现的AP做位置推断,推测AP的具体位置,然后和已有记录AP的位置做比较,若推测出的位置信息与记录不符,则该AP是伪AP。从中可以看出,这个方法严重依赖于AP的定位算法,算法做的好的话,检测精度高,算法做的不好的话,检测精度低。这是该方法的不足。
总 结
随着城市无线局域网热点在公共场所大规模的部署,越来越多的人使用Wi-fi接入网络进行信息传输,然而受到各种客观因素的限制,很多数据在Wi-Fi网络上传输时都是明文的,无线局域网安全问题变得尤为突出和重要。利用部署伪AP钓鱼攻击获取用户的各种隐私是无线网络中严重的安全威胁之一。本文从用户终端通过AP连接入网的过程说起,介绍了伪AP攻击的原理及具体实现的流程,并且介绍了几种伪AP检测方法。从保护个人隐私的角度,借此提醒无线网络提供方,应加强网络安全检测,使用者应加强防范意识。
参考文献
[1]伪AP检测方法研究综述[J]. 现代计算机, 2020, No.686(14):28-31.
[2] Sriram V, Sahoo G, Agrawal K K. Detecting and eliminating Rogue Access Points in IEEE802.11 WLAN - a multi-agent sourcing Methodology. IEEE, 2010.
作者:仇昭花
责编:何洁
声明:本文来自中国保密协会科学技术分会,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。