论文部分内容阅读
摘要:针对WPA的安全机制存在的缺陷,指出了对其进行攻击的方法,分析了WinAirCrackPack的攻击原理。利用WinAirCrackPack等工具对基于WPA-PSK认证方式的WLAN成功破获了其密钥,有效验证了WPA机制存在的安全缺陷。
关键词:WPA;802.1X;TKIP;安全缺陷;字典攻击
中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)33-1351-02
The Design of an Attack base on Limitation of Security Mechanism of WPA
LI Guo-peng,PAN Jin,LI Bo
(Laboratory of Network Safety and Countermeasure, Xi’an Communications Institute, Xi’an 710106, China)
Abstract: After analyzing the authentication system, key management, data encryption algorithm of the WPA-PSK, security flaws in the process of 4-step handshake key consultation is pointed out, the principle ofWinAirCrackpack is analyzed. WinAirCrackPack is used to attack the WLAN based on WPA-PSK, the key is successfully got, which effectively proves the existence of security flaws.
Key words: WPA; 802.1X;TKIP;security flaw;dictionary attack
1 引言
目前,WPA广泛应用于实际的无线局域网中。它是802.11i的一个子集,是WiFi联盟于2002年底提出的一种过渡的解决方案。WPA采用两种认证方式:共享密钥认证和IEEE 802.1X认证。前者较适用于一些小的企业、家庭、SOHO以及一些公共热点地区,没有认证服务器,这种方式也叫做PSK(Pre-Shared Key,预先共享密钥)模式;后者适用于大型运营商所建立的网络,由于设置了专门的认证服务器,故可采用802.1X认证。
WPA没有从根本上解决802.11b网络的安全问题,它存在诸多安全缺陷。本文针对WPA安全缺陷易遭受的攻击进行了研究,分析了进行攻击的方法,并利用实际的网络设备和工具,成功实现了对WPA-PSK其密钥的破获。
2 基于WPA安全机制的攻击方法
2.1 中间人攻击
2.1.1 攻击原理
802.1x认证者状态机只发送EAP-request消息和接受EAP-response消息,而申请者状态机不发送EAP-request消息。故802.1x协议为单向认证协议,即只有对用户身份的认证,而没有用户对认证系统的认证,AP的受控端口需要用户认证成功后才打开,但用户的端口却始终处于已认证状态,即打开着。这种单向认证机制会使申请者受到中间人攻击。
EAP/TLS确实能提供相互认证,但802.1x提供的是客户端和认证服务器之间的双向认证,而不是客户端和AP之间的认证,故可以饶过EAP/TLS进行中间人攻击。
2.1.2 攻击方法
当认证者从RADIUS服务器收到RADIUS-Access-Accept消息后,就向申请者发送一个EAP-Success消息。这就提示状态机认证已成功。无论上层认证方法采用EAP-TLS还是EAP-MD5或其它认证,这条消息都没有完整性保护。申请者的状态机无条件的转移到认证完成状态,因而,攻击者可以伪造这个数据包来冒充认证者,申请者会把攻击者当作合法AP,并把数据包发送到这个冒充的认证者。
2.2 会话劫持
2.2.1 攻击原理
由于802.1x协议是基于端口的认证协议,当申请者通过认证后,就可以经AP接入到网络中,但AP对每个业务数据包却并不进行认证,也就是说攻击者获取了合法用户的通道后就可以使用网络资源。
2.2.2 攻击方法
首先,合法的申请者进行认证;其次,攻击者冒充AP的MAC地址发送一条disassociate管理帧给申请者,这使得申请者的状态为disassociated,RSN状态机被设置为Unassociated,而802.1x的状态机为authenticated;最后,攻击者冒充申请者的MAC地址接入到网络。
2.3 拒绝服务攻击
2.3.1 假冒用户攻击AP
在802.1x协议中规定,当用户不再需要认证系统提供的服务,想要断开连接时,向认证系统发送EAP-Logoff数据包。如果攻击者假冒用户,向认证系统发送EAP-Logoff数据包,认证系统被欺骗,关闭受控端口,中止向用户提供服务。
2.3.2 假冒AP攻击用户
在AP和申请者正常的认证过程中,如果对申请者的认证没有成功,AP会向申请者发送EAP-Failure数据包,表示认证失败。此时申请者连接状态处于HELD状态,直到60s(缺省值)后,才再次尝试与认证系统进行连接。攻击者只要每60s向用户发送EAP-Failure数据包,就可以使用户始终处于HELD状态,无法完成认证过程,从而实现拒绝服务攻击
3 WinAirCrackPack的攻击原理
在WPA-PSK模式中,PSK并不是经过802.1x认证产生的,而是通过人工分配给每一个用户的,在四步握手密钥协商阶段,PSK将作为PMK,与AP的ANonce、STA的SNonce、双方的MAC地址一起通过PRF函数产生PTK,图1显示了PTK产生的整个过程,其中输入为PMK、每一方的当前值和每一方的MAC地址,输出是4个128位密钥。
WinAirCrackPack工具包用airodump捕获了STA和AP四步握手的数据包,然后将现有字典中的密钥逐个的作为PSK,通过图3的过程产生一个PTK,然后用新产生PTK与捕获的PTK比较,如果一致,则为真正的PSK。当然,攻击成功的前提是攻击者所用字典文件足够强大,用户的PSK已包含在该字典当中,而攻击成功的速度取决于真正的PSK在字典中的具体位置,位置越靠前,需要测试的密钥数量就越少,攻击时间就越短。
如果用户通过PSK进行开放系统认证,那么我们可以利用WinAirCrackPack工具包对其进行数据分析,从而破获该无线局域网的密钥。WinAirCrackPack是一个用于无线局域网数据包捕获和密钥破解的工具包,主要包括airodump、airdecap、aircrack等工具。它可以捕获无线网络中传输的数据包,用以计算WPA-PSK的密钥。运用WinAirCrackPack对WPA进行破解的基本步骤如图2所示:
图2 密钥破获流程
图3 密钥破获界面
4 WPA-PSK的攻击实现
4.1 攻击实验系统组成
攻击实验的硬件环境为:选用两台装有无线网卡的电脑作为合法STA1和STA2,一台电脑作为攻击者STA3,一台具有WPA加密功能的AP,实验采用的无线网卡型号为FW54C,AP型号为TWL542R,无线网卡驱动采用atheros4.2.9。
软件环境为:所有微机的操作系统采用windows xp系统。入侵者STA3安装WinAirCrackPack工具包。
4.2 实验的攻击过程和结果
1) 将无线路由器的加密类型和方法设置为WPA-PSK认证和TKIP加密方式;
2) 在STA3上运行airodump,该工具用来捕获数据包,按提示依次选择“11”,“a”,“6”,“shuju”(该输入文件名可任意),“n”,回车;
3) 让STA1重新连接上无线路由器,airodump将捕获一个无线路由器与STA1四次握手的过程;
4) 启动WinAircrack;
5) 点击左侧的“General”进行设置,选择加密类型为“WPA-PSK”,添加捕获的文件(testwpa.cap);
6) 点击左侧的“WPA”进行设置,选择一个字典文件;
7) 全部设置完后,点击右下角的“Aircrack the key”按钮,经过几分钟的计算,最终得到WPA密钥,如图3所示。
一旦攻击者破获密钥以后,就享有合法STA对该WLAN的访问权,攻击者就可以进行更为深入的攻击。攻击者可以利用IPBOOK等工具扫描该WLAN内计算机里面的文件,然后对该文件进行复制或修改,甚至将恶意病毒植入其计算机等,后果不堪设想。
5 结束语
该文针对WPA的安全机制攻击进行了的分析,并在实际的网络中,运用WinAirCrackPack工具包对基于WPA-PSK认证方式的无线局域网进行了攻击,成功破获了其密钥。该攻击的成功有力的证实了WPA-PSK漏洞的存在,而且该攻击具有可实现性,这对广大使用WPA的用户来讲,无疑是最好的警醒。在目前WPA已经广泛使用的情况下,如何保障用户无线接入的安全性和隐私性,采取行之有效的弥补方法是值得共同研究的课题。
参考文献:
[1] IEEE Standard 802.1X, IEEE Standard for Local and metropolitan area networks Port-Based Network Access Control[S].
[2] B.Aboba. IETF RFC 3748, Extensible Authentication Protocol[S].
[3] RFC 2246, The TLS Protocol Version 1.0[S].
[4] RFC 2716, PPP EAP TLS Authentication Protocol[S].
[5] ANSI/IEEE Std 802.11i, medium access control(MAC) security enhancements[S].
[6] J.C.Chen,Y.P.Wang. Extensible Authentication Protocol and IEEE 802.lx:Tutorial and Empirical Experience[EB/OL].. http://wire.cs.nthu.edu.tw/wirelx/.html.
[7] 周贤伟,刘宁,谭伯平.IEEE 802.1X协议的认证机制及其改进[J].计算机应用,2006,26(12):2895-2896.
[8] Gregory D Nowicki. Wireless security: The draft IEEE 802.11i standard[EB/OL]. http://www.giac.org/practical/GSEC/Greg_Nowicki_GSEC.pdf.
[9] RomanVichr. Privacy and Wi-Fi[EB/OL]. http://www-106.ibm.com/developerworks/wireless/library/wi-wifi.html.
关键词:WPA;802.1X;TKIP;安全缺陷;字典攻击
中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)33-1351-02
The Design of an Attack base on Limitation of Security Mechanism of WPA
LI Guo-peng,PAN Jin,LI Bo
(Laboratory of Network Safety and Countermeasure, Xi’an Communications Institute, Xi’an 710106, China)
Abstract: After analyzing the authentication system, key management, data encryption algorithm of the WPA-PSK, security flaws in the process of 4-step handshake key consultation is pointed out, the principle ofWinAirCrackpack is analyzed. WinAirCrackPack is used to attack the WLAN based on WPA-PSK, the key is successfully got, which effectively proves the existence of security flaws.
Key words: WPA; 802.1X;TKIP;security flaw;dictionary attack
1 引言
目前,WPA广泛应用于实际的无线局域网中。它是802.11i的一个子集,是WiFi联盟于2002年底提出的一种过渡的解决方案。WPA采用两种认证方式:共享密钥认证和IEEE 802.1X认证。前者较适用于一些小的企业、家庭、SOHO以及一些公共热点地区,没有认证服务器,这种方式也叫做PSK(Pre-Shared Key,预先共享密钥)模式;后者适用于大型运营商所建立的网络,由于设置了专门的认证服务器,故可采用802.1X认证。
WPA没有从根本上解决802.11b网络的安全问题,它存在诸多安全缺陷。本文针对WPA安全缺陷易遭受的攻击进行了研究,分析了进行攻击的方法,并利用实际的网络设备和工具,成功实现了对WPA-PSK其密钥的破获。
2 基于WPA安全机制的攻击方法
2.1 中间人攻击
2.1.1 攻击原理
802.1x认证者状态机只发送EAP-request消息和接受EAP-response消息,而申请者状态机不发送EAP-request消息。故802.1x协议为单向认证协议,即只有对用户身份的认证,而没有用户对认证系统的认证,AP的受控端口需要用户认证成功后才打开,但用户的端口却始终处于已认证状态,即打开着。这种单向认证机制会使申请者受到中间人攻击。
EAP/TLS确实能提供相互认证,但802.1x提供的是客户端和认证服务器之间的双向认证,而不是客户端和AP之间的认证,故可以饶过EAP/TLS进行中间人攻击。
2.1.2 攻击方法
当认证者从RADIUS服务器收到RADIUS-Access-Accept消息后,就向申请者发送一个EAP-Success消息。这就提示状态机认证已成功。无论上层认证方法采用EAP-TLS还是EAP-MD5或其它认证,这条消息都没有完整性保护。申请者的状态机无条件的转移到认证完成状态,因而,攻击者可以伪造这个数据包来冒充认证者,申请者会把攻击者当作合法AP,并把数据包发送到这个冒充的认证者。
2.2 会话劫持
2.2.1 攻击原理
由于802.1x协议是基于端口的认证协议,当申请者通过认证后,就可以经AP接入到网络中,但AP对每个业务数据包却并不进行认证,也就是说攻击者获取了合法用户的通道后就可以使用网络资源。
2.2.2 攻击方法
首先,合法的申请者进行认证;其次,攻击者冒充AP的MAC地址发送一条disassociate管理帧给申请者,这使得申请者的状态为disassociated,RSN状态机被设置为Unassociated,而802.1x的状态机为authenticated;最后,攻击者冒充申请者的MAC地址接入到网络。
2.3 拒绝服务攻击
2.3.1 假冒用户攻击AP
在802.1x协议中规定,当用户不再需要认证系统提供的服务,想要断开连接时,向认证系统发送EAP-Logoff数据包。如果攻击者假冒用户,向认证系统发送EAP-Logoff数据包,认证系统被欺骗,关闭受控端口,中止向用户提供服务。
2.3.2 假冒AP攻击用户
在AP和申请者正常的认证过程中,如果对申请者的认证没有成功,AP会向申请者发送EAP-Failure数据包,表示认证失败。此时申请者连接状态处于HELD状态,直到60s(缺省值)后,才再次尝试与认证系统进行连接。攻击者只要每60s向用户发送EAP-Failure数据包,就可以使用户始终处于HELD状态,无法完成认证过程,从而实现拒绝服务攻击
3 WinAirCrackPack的攻击原理
在WPA-PSK模式中,PSK并不是经过802.1x认证产生的,而是通过人工分配给每一个用户的,在四步握手密钥协商阶段,PSK将作为PMK,与AP的ANonce、STA的SNonce、双方的MAC地址一起通过PRF函数产生PTK,图1显示了PTK产生的整个过程,其中输入为PMK、每一方的当前值和每一方的MAC地址,输出是4个128位密钥。
WinAirCrackPack工具包用airodump捕获了STA和AP四步握手的数据包,然后将现有字典中的密钥逐个的作为PSK,通过图3的过程产生一个PTK,然后用新产生PTK与捕获的PTK比较,如果一致,则为真正的PSK。当然,攻击成功的前提是攻击者所用字典文件足够强大,用户的PSK已包含在该字典当中,而攻击成功的速度取决于真正的PSK在字典中的具体位置,位置越靠前,需要测试的密钥数量就越少,攻击时间就越短。
如果用户通过PSK进行开放系统认证,那么我们可以利用WinAirCrackPack工具包对其进行数据分析,从而破获该无线局域网的密钥。WinAirCrackPack是一个用于无线局域网数据包捕获和密钥破解的工具包,主要包括airodump、airdecap、aircrack等工具。它可以捕获无线网络中传输的数据包,用以计算WPA-PSK的密钥。运用WinAirCrackPack对WPA进行破解的基本步骤如图2所示:
图2 密钥破获流程
图3 密钥破获界面
4 WPA-PSK的攻击实现
4.1 攻击实验系统组成
攻击实验的硬件环境为:选用两台装有无线网卡的电脑作为合法STA1和STA2,一台电脑作为攻击者STA3,一台具有WPA加密功能的AP,实验采用的无线网卡型号为FW54C,AP型号为TWL542R,无线网卡驱动采用atheros4.2.9。
软件环境为:所有微机的操作系统采用windows xp系统。入侵者STA3安装WinAirCrackPack工具包。
4.2 实验的攻击过程和结果
1) 将无线路由器的加密类型和方法设置为WPA-PSK认证和TKIP加密方式;
2) 在STA3上运行airodump,该工具用来捕获数据包,按提示依次选择“11”,“a”,“6”,“shuju”(该输入文件名可任意),“n”,回车;
3) 让STA1重新连接上无线路由器,airodump将捕获一个无线路由器与STA1四次握手的过程;
4) 启动WinAircrack;
5) 点击左侧的“General”进行设置,选择加密类型为“WPA-PSK”,添加捕获的文件(testwpa.cap);
6) 点击左侧的“WPA”进行设置,选择一个字典文件;
7) 全部设置完后,点击右下角的“Aircrack the key”按钮,经过几分钟的计算,最终得到WPA密钥,如图3所示。
一旦攻击者破获密钥以后,就享有合法STA对该WLAN的访问权,攻击者就可以进行更为深入的攻击。攻击者可以利用IPBOOK等工具扫描该WLAN内计算机里面的文件,然后对该文件进行复制或修改,甚至将恶意病毒植入其计算机等,后果不堪设想。
5 结束语
该文针对WPA的安全机制攻击进行了的分析,并在实际的网络中,运用WinAirCrackPack工具包对基于WPA-PSK认证方式的无线局域网进行了攻击,成功破获了其密钥。该攻击的成功有力的证实了WPA-PSK漏洞的存在,而且该攻击具有可实现性,这对广大使用WPA的用户来讲,无疑是最好的警醒。在目前WPA已经广泛使用的情况下,如何保障用户无线接入的安全性和隐私性,采取行之有效的弥补方法是值得共同研究的课题。
参考文献:
[1] IEEE Standard 802.1X, IEEE Standard for Local and metropolitan area networks Port-Based Network Access Control[S].
[2] B.Aboba. IETF RFC 3748, Extensible Authentication Protocol[S].
[3] RFC 2246, The TLS Protocol Version 1.0[S].
[4] RFC 2716, PPP EAP TLS Authentication Protocol[S].
[5] ANSI/IEEE Std 802.11i, medium access control(MAC) security enhancements[S].
[6] J.C.Chen,Y.P.Wang. Extensible Authentication Protocol and IEEE 802.lx:Tutorial and Empirical Experience[EB/OL].. http://wire.cs.nthu.edu.tw/wirelx/.html.
[7] 周贤伟,刘宁,谭伯平.IEEE 802.1X协议的认证机制及其改进[J].计算机应用,2006,26(12):2895-2896.
[8] Gregory D Nowicki. Wireless security: The draft IEEE 802.11i standard[EB/OL]. http://www.giac.org/practical/GSEC/Greg_Nowicki_GSEC.pdf.
[9] RomanVichr. Privacy and Wi-Fi[EB/OL]. http://www-106.ibm.com/developerworks/wireless/library/wi-wifi.html.