谭 彦,厉 萍,卢洪涛,邓博存
(1.中国电信股份有限公司广东研究院 广州 510630;2.中国电信股份有限公司广东分公司 广州 510081)
目前在热点地区,Wi-Fi是用于无线上网的主要方式之一,用户乐于使用这种方便而且速度快的上网手段。但是随着黑客使用钓鱼Wi-Fi攻击手段有可能盗取用户账号和密码的事件见诸报章,引起了公众对使用Wi-Fi过程中安全性的疑虑。而所谓Wi-Fi无线钓鱼攻击,是指用户接入假冒的“钓鱼”无线网络接入点而遭到攻击的安全问题,这种攻击方式能够奏效的原因是利用了Wi-Fi系统协议架构中缺乏用户对接入点(access point,AP)合法性验证的相关措施而产生的漏洞,本文通过深入研究分析这种攻击方式的攻击原理及过程,提出3种适合于运营商应用的应对技术。
Wi-Fi钓鱼攻击者首先会建立一个假冒的无线网络接入点,诱骗用户接入其无线接入点。但是,一旦用户接入了其所建立的无线网络,攻击者就可以对用户使用的系统进行扫描、入侵和攻击,部分用户的计算机会被其控制,被控计算机可能遭遇密码泄露、机密文件被盗取、感染木马等安全威胁。以下对该过程中涉及的技术问题和原理进行深入的分析。
(1)无线电波的仿冒
Wi-Fi以无线电波作为物理传输媒介,这种媒介本质上就是开放且易被利用的。但IEEE 802.11通信协议的设计者并未考虑无线电波的这种特性,也没有纳入安全性协议的考虑,这就使黑客可以在物理层上对无线电波进行仿冒。
(2)仿冒SSID
在基础结构型的Wi-Fi网络中,使用SSID(service set identifier)定义不同的网络服务,工作站通过连接不同的SSID获得特定的无线网络资源。而SSID通过信标(beacon)帧向外广播来声明该网络的存在,beacon帧结构如图1所示。移动式工作站获取到beacon帧中的相关信息后,才得知哪些无线网络资源可供申请加入。这个过程中的问题在于设计协议的时候,没有考虑到整个过程中帧信息的唯一性,也就是说,任何其他基础结构型架构的Wi-Fi网络,都可以使用相同的beacon帧向外广播相同的SSID,但SSID对应的无线网络资源却可以是不同的。
通过对无线认证体系的攻击,攻击者能够使合法AP中断与正常连接的客户端的连接,客户端无线网卡在中断原有连接后,根据机制,会重新选择接入点,这就为攻击者实施钓鱼攻击创造了条件。
图1 信标(beacon)帧结构
(1)IEEE 802.11认证体系的脆弱性
由于IEEE 802.11在设计之时仅强调使用的简便性,因此,安全性被置于比较次要的位置,考虑得不够完善。例如,运行在开放频段中,管理和控制报文都是明文传输,没有经过加密等。由于该协议的以上特点,它在实际使用中存在着一系列的安全弱点,总结如下。
·认证方式简单,存在授权用户可能会访问到非授权接入点的弱点。仅采用MAC地址进行认证,没有对设备的身份进行验证。这样用户极容易连接到非授权的钓鱼网络资源,当用户接入非授权的网络资源之后,钓鱼攻击者就可以骗取用户的名称和密码。
·没有消息完整性检验,导致重放等弱点。没有消息完整性验证,可以修改任何无线数据帧的内容,因此导致无线网络中传输的帧并不是完全可信的。
·伪客户端,攻击者的身份难以被确认,AP受到攻击后容易中断服务。攻击方式可以是IEEE 802.11物理层的攻击,也可以是链路层的攻击,导致其他客户端的服务被中断。
(2)TCP/IP体系的脆弱性
由于TCP/IP本身的脆弱性,钓鱼攻击者在诱导客户端连接上仿冒的无线接入点后,进一步使用ARP攻击结合DHCP攻击的方法接管客户端的会话,这样就为钓鱼攻击者下一步的对流量进行分析引导创造了条件,达到诱骗的目的。
·ARP的脆弱性:ARP简单易用,但是却没有任何安全机制,攻击者可以发送伪造ARP报文对网络进行攻击,欺骗网络中的主机或者网关,达到控制流量走向的目的。Wi-Fi钓鱼攻击主要使用到的ARP攻击方式有仿冒网关攻击、仿冒用户攻击、泛洪攻击等。
·DHCP的脆弱性:由于DHCP在设计时并没有过多地考虑安全性的问题,特别是没有考虑服务器与客户端之间双向认证的问题,这直接导致在进行DHCP交互时,虽然服务器可以通过客户机MAC地址实现很有限的认证,但客户机却无法实现对服务器的认证。
正是基于这个协议设计的缺陷,钓鱼攻击者可以利用伪造的DHCP服务器,与合法用户进行DHCP交互,从而为其提供错误的配置信息,为后续的攻击奠定基础。具体来讲,当一个局域网中出现多台DHCP服务器时,客户端会根据不同服务器发出的DHCP offer报文到达的先后顺序决定所选中的服务器,这时,若钓鱼攻击者抢先在合法的服务器发出报文前发送DHCP offer报文给客户端,客户端就会选择使用仿冒的DHCP服务器提供的IP地址。进一步地,利用伪造的DHCP服务器实现对原有服务器的抢占式拒绝服务,并向客户机提供伪造的网关与DNS服务器IP地址,从而可以诱使用户连接上钓鱼网站,实现盗取用户信息的目的。
(3)Portal认证体系的脆弱性
由于用户在进行认证时,没有对Portal的合法性进行验证的手段,因此,钓鱼攻击者可以搭建仿冒的Portal页面,诱惑用户进行连接,从而实施中间人攻击。中间人攻击通过接管用户与服务器之间的会话对用户通信进行欺骗。攻击者一般首先通过控制运营商的网络设备又或者通过ARP欺骗或IP欺骗的方式接管会话,引导用户访问仿冒的Portal页面,从而使用户误以为自己正与合法的服务器进行通信。
如果用户通过钓鱼Wi-Fi网络进行数据的传递和交换时,就会产生其报文被攻击者进行解码的风险,具体来讲可能造成的安全威胁主要如下。
·窃听、破译传输信息:客户如果使用未经加密的Wi-Fi网络进行重要数据和报文的传递,攻击者能够通过侦听等方式,获取传输的信息内容,造成信息泄漏或瘫痪。
·重放攻击:即使攻击者无法破译报文内容,也无法对报文进行篡改或删减,但也可以通过重新发送收到的数据分组的方式,进行重放攻击。
根据以上分析总结得出,无线钓鱼网络攻击利用的是无线空口的脆弱性、加密认证体系的脆弱性和TCP/IP网络的脆弱性等。根据不同的脆弱性特点,应对的技术主要有3种,分别是无线环境的帧监测方法、三元架构的双向鉴别方法和网络指纹识别技术。以上3种技术,其针对的脆弱性不同,使其适用的场景各有不同,具体的说明如下。
检查空口明文传输的无线管理帧,提取其中恶意攻击的或伪装的无线管理帧的特征信息,将特征信息与预置的规则进行比对,是无线环境的帧监测方法基本技术原理。该方法针对无线空口数据帧传输的脆弱性,通过识别无线帧的合法性,发现仿冒的无线信号。
无线环境的帧监测方法通过在Wi-Fi热点网络场景中部署无线检测设备,对无线网络环境中的各种Wi-Fi接入点设备空中传播的无线管理帧进行检测,以确定Wi-Fi网络中是否存在钓鱼网络,Wi-Fi无线检测设备的无线帧监测功能一般包括3个主要的部分:设备检测、策略管理、钓鱼设备识别。
·设备检测:可疑设备检测首先通过监听周围的无线信号和报文,提取信号和报文的特征信息并最终创建无线环境中其他设备的信息摘要。实际部署时,可以把AP设定工作在检测模式以满足检测的需求。
·策略管理:定义了确定钓鱼设备的相关规则组合,可疑AP设备的信息摘要需要与具体的判断策略进行逐一匹配。
·钓鱼设备识别:是整个无线环境设备帧监测方法的核心,会根据钓鱼设备识别策略中规则的匹配结果,最终确定哪些设备为钓鱼设备。
在实际应用时,对钓鱼网络的检测过程如下:
(1)检测设备,通过对接收到的信号和IEEE 802.11无线帧进行分析,创建被检测到的设备摘要信息;
(2)钓鱼设备识别模块根据配置的策略,判断被检测到的设备是否为钓鱼设备;
(3)如果设备确定为钓鱼设备时,系统会产生相应的日志信息和trap信息;
(4)如果启动了钓鱼设备抑制功能,则系统将启动对被检测到的钓鱼设备的抑制处理。
WAPI标准提出采用三元架构的双向鉴别方法实现鉴别AP设备的身份,从而确保无线客户端所连接的AP的合法性。该方法主要针对无线加密认证体系中,对AP设备身份没有进行鉴别认证的脆弱性,采用证书技术,使客户端和AP之间能够相互鉴别其合法身份,从而避免连接上钓鱼AP。另外,在客户端连接上合法AP之后,还能通过WAPI加密技术为用户传输的数据进行加密,防止无线嗅探。
WAPI鉴别协议交互过程如图2所示。在WAPI安全体制下,无线客户端和接入点AP二者处于对等地位,二者均具有用于验证使用的独立身份凭证,当需要确认对方身份的合法性时,二者可在公信的第三方AS控制下相互鉴别:接入点AP可以通过AS证书鉴别响应验证无线客户端的合法性,无线客户端同样也可以通过AS验证接入点AP设备的合法性。双向鉴别既可防止未经授权的无线客户端接入Wi-Fi网络,同时也可防止假冒的AP设备提供非法的接入服务。
图2 WAPI鉴别协议交互过程
在WAPI中使用数字证书作为用户身份凭证,在鉴别过程中采用椭圆曲线签名算法,并使用安全的消息杂凑算法保障消息的完整性,攻击者难以对鉴别信息进行修改和伪造,安全强度高。
网络指纹识别技术以验证运营商无线网络系统的指纹作为验证AP身份的主要手段,用户可以通过内置运营商无线网络指纹数据库或查询运营商提供的在线指纹数据库获得鉴别结果。该方法主要针对TCP/IP网络中,对DHCP、ARP、Web等服务的脆弱性,采用指纹识别的方法快速对Wi-Fi涉及的后台系统进行鉴别,以确保用户认证过程中所涉及的系统服务的合法性。
运营商的无线网络指纹包括运营商无线接入点的服务标识、动态获取的IP地址、Portal的URL地址等运营商网络的专有信息,可以通过收集运营商网络中的所有设备信息建立指纹数据库。
网络指纹验证过程是一项较为复杂安全控制过程,它的流程大约分为以下3个步骤:
(1)运营商建立所运营网络的无线网络指纹库;
(2)客户端验证离线指纹库对无线接入点进行快速鉴别;
(3)无法鉴别的无线接入点通过在线指纹库获得鉴别结果。
网络指纹验证技术结合了SSL传输加密、网络指纹库、数据加密、指纹识别以及未来可拓展至的专门的安全芯片等安全技术控制来确保验证过程的安全可靠,主要有以下几个方面:
·在进行指纹比对时,需同时采取对客户端进行双向身份验证、对指纹特征码限定时效范围、生成凭据以标志用户身份等措施实现验证过程的可靠性,从而消除欺骗客户端、服务器端的安全隐患;
·通过特定算法得到指纹特征码并融入时间戳加密技术,使得特征比对信息在短时间内一次性有效,验证完毕则无效,避免受到重放攻击;
·生成特定的凭据以标志用户身份,这样假如在用户验证的同一时刻,黑客拿到指纹,但是黑客端电脑没有凭据则认证也无效,避免了黑客对服务端发起拒绝式攻击而使验证过程无效。
通过对3种应对方法原理和应用方案的分析介绍,可见其各有优缺点而且针对的脆弱性都有所区别,在实际应用中应结合实际情况进行考虑。3种方案的对比见表1。
Wi-Fi无线钓鱼攻击方式是一种混合了多种协议漏洞的比较复杂的攻击方式,实际场景下比较难防御,能够产生用户信息泄露、系统入侵、网络终止服务等安全风险,当中涉及的工具经过修改甚至可以用于对3G、LTE网络的攻击,危害性巨大。总括而言,Wi-Fi无线钓鱼攻击之所以难以防御,是由于IEEE 802.11、TCP/IP自设计之初所存在的容易仿冒、缺乏身份验证等弱点,要求实际应用防御的方案有很高的要求,必须综合考虑到各种协议的特点。本文从深入研究Wi-Fi无线钓鱼攻击的原理和过程出发,提出了3种应对的技术解决方法,并对其优缺点、针对的脆弱性方面进行了对比分析,各种方法适用于安全需求不同的场景,在实际应用中应结合实际情况进行综合考虑。因此,面对无线钓鱼网络威胁,一方面除了根据实际需要综合使用多种防御方法外,关键之处还是需要多进行安全意识宣传,以提高用户使用无线网络的安全意识,劝导用户尽量不要使用可疑的无线网络。
表1 应对无线钓鱼网络攻击的解决方法对比
1 谭彦,周俊.运营级Wi-Fi网络安全策略.电信技术,2011(11):14~17
2 高峰,高泽华,文柳等.无线城市电信级Wi-Fi网络建设与运营.北京:人民邮电出版社,2011
3 汤彦丹.构建基于有线宽带网的运营级WLAN网络.通信技术,2008(8):132~134
4 GB15629.11-2003无线局域网媒体访问控制和物理层规范,2003