APP下载

Radius认证服务漏洞解析与防护

2016-02-06李太金

网络安全技术与应用 2016年8期
关键词:入侵者无线网络密码

◆李太金

(广西大学计算机与电子信息学院 广西 530000)

Radius认证服务漏洞解析与防护

◆李太金

(广西大学计算机与电子信息学院 广西 530000)

目前各大无线网络运营商和一些高校都采用了Radius认证计费系统,以此作为提供网络服务的身份认证手段和计费手段。虽然Radius身份认证的密码系统从最开始的静态密码系统不断升级为更安全的动态密码系统,但是这样的系统并不是无法攻破的。通过利用模拟认证界面的伪基站骗取合法用户的认证要素、利用合法用户的MAC地址进行寄生入侵,可以避开Radius认证。为了保护合法用户的权益,采用动态双向身份认证通信加密系统,可阻止伪基站鱼入侵和基于MAC地址的寄生入侵。

Radius认证计费系统;动态双向身份认证通信加密系统;伪基站;寄生入侵

0 引言

随着Internet网络技术的不断进步,云应用技术的全面普及,无线网络技术得到了突飞猛进的发展,使云应用得到了实现。无线网络的发展正在逐步打破禁锢云应用信息传输的瓶颈,实现云应用的全覆盖和高性能,带给了人们极大的方便。但任何事物都具有两面性,无线网络也不例外。无线网络促进云应用的发展,带给人们便捷的同时也带来了新的信息安全问题。

1 无线网络采用的认证模式

目前无线网络采用的认证模式有:WEP(Wired Equivalent Privacy)、WPA/WPA2(Wi-Fi Protected Access)、WPA-PSK/WPA-PSK2(Wi-Fi Protected Access Pre-shared key)、Radius(Remote Authentication Dial User Service)认证等。有线等效加密(WEP)因存在非强制使用、不包含钥匙管理协定、十六进制格式密钥猜识破解等诸多漏洞已停止使用,取而代之的为保护无线电脑网络安全系统(WPA/WPA2、WPA-PSK/WPA-PSK2),其中WPA/WPA2使用802.1x协议进行安全认证,一般为企业用户使用。WPA-PSK/WPA-PSK2则是让每个用户使用同一个密语,其安全性相对WPA/WPA2要低一些,一般为个人用户使用。Radius协议认证则是集成了认证用户名、认证接入密码、认证MAC等多项认证信息,并对接入的用户进行信息计费,一般为大型企业、网络运营商提供网络服务时应用。

2 Radius认证模式

在公共场合中,Radius认证服务采用交互认证方式:用户通过连接指定的无线网络,访问到指定的认证界面。通过提供界面中要求用户提供的身份认证要素,将其发送给Radius认证服务器进行身份认证,如果身份认证成功,则用户就可以通过计费的方式对指定网络资源进行访问。Radius身份认证从认证要素的特性来进行分类,可分为两类,一类是静态认证,即身份认证的要素都是固定的。另一类是动态身份认证,即身份认证要素中存在一个或多个动态认证要素。由于静态认证的一些缺陷,目前大型网络运营商和大型企业都采用动态身份认证方式。动态认证方式主要分为动态密码和挑战码两类,网络运营商根据手机移动终端的特性,利用挑战码方式来进行身份认证。即通过向密码生成服务器发送运营商所指定的手机号,来生成Radius身份认证所需要的密码,密码通过短信的形式发送到指定的手机号,用户将得到的密码和自身的手机号通过Radius身份认证界面发送给Radius服务器进行认证,如果认证通过,用户就可以以计费的方式,通过运营商提供的无线网络进行资源访问。相较于静态认证方式,动态认证方式采用TOTP(Time-base One-time Password)基于时间的一次一密策略,提高了身份认证的安全性,但值得注意的是无论是采用了静态认证方式还是动态认证方式的Radius认证方式,单就Radius认证而言,在系统进行身份认证后,用户通信数据并没有经过数据加密,这就给后续的认证攻击提供了突破口。

3 Radius认证过程解析

Radius认证的过程参加对象主要有:STA(Station)接入点、AP(Access Point)访问接入点、AC(Access point Controller)接入点控制器、Radius服务器等组成。现在就Radius身份认证过程进行解析(如图1所示):

(1)在认证过程中STA接入(Connect)到AP后,由于AC对STA访问状态进行了控制,STA处于访问受限(Limited)状态,STA无法访问相应的资源。

(2)AC向Radius服务器提出访问请求Access-request。

(3)Radius服务器回应Access-challenge,并返回身份认证界面Auth.page。STA只能访问Auth.page页面。

图1 Radius身份认证过程

(4)用户根据认证界面提供的信息输入指定的认证要素Auth.parament。值得注意的是,一些认证要素并不一定需要用户去输入,这些认证要素可以通过隐蔽的方式获取,如MAC(Media Access Control)地址、IP(Internet Protocol)地址,可由通信数据包获得。Radius静态认证一般需要用户提供认证的用户名和密码,其密码是静态的;Radius动态认证则需要用户先提供一个认证要素,如手机号、用户名、机器码等,并将这一认证要素先发送给Radius服务器,经Radius服务器进行身份认证通过后,把认证的信息发送给动态密码生成服务器,同时从动态密码服务器处获得该用户将要进行认证的密码。动态密码生成服务器通过其他的信息传输方式,如手机短信,向指定的认证用户发送动态认证密码。认证用户根据收到的动态密码,向Radius服务器发起身份认证。

(5)用户提供身份认证要素Auth.parament后,AC再次向Radius服务器发送Access-request。

(6)Radius服务器根据Auth.parament进行身份认证,如果认证通过返回Access-Accept,否则返回Access-Reject,这时进入(9)处理过程。

(7)如果AC收到Access-Accept回应,则AC向Radius服务器请求计费,Radius服务器回应计费请求。

(8)申请通过后AC解除STA的Limited状态并设置为Accounting状态,STA可以正常进行网络资源访问,直至认证计费状态结束。

(9)当AC收到的为Access-Reject回应,则AC将STA的Limited状态转换为Disconnect状态,用户连接状态被终止。

从认证过程可以发现,Radius认证并不是双向的,即只有服务器对用户进行身份认证,而用户无法对服务器进行认证,同时大部分采用Radius认证服务的网络,为了提高用户的体验度,基本取消了数据加密措施,这就给入侵者提供了网络入侵的漏洞。

4 针对Radius认证的入侵和预防

针对Radius的认证攻击有弱口令攻击、Radius报文属性攻击、重放攻击等,现在通过一定的技术手段可以预防这些攻击,但Radius认证还存在着其他的入侵方法。

4.1 伪基站钓鱼入侵

由于网络技术的不断进步,密码加密位数、非法访问阻断技术的提高,使得采用暴力破解密码的方式更加复杂困难,破解所花费的时间周期也更长。为了更好地隐蔽自己的入侵路径,入侵者们可能会采用木马截获、无线抓包分析和字典破解等非法的途径获得用户的认证信息,以利用合法用户的身份入侵网络。

钓鱼网站是入侵者们非法获得用户信息的一个手段,入侵者可能会利用类似的方式窃取合法用户的认证信息,通过合法用户的身份进行网络入侵。

(1)伪基站钓鱼入侵原理

伪基站钓鱼入侵利用了网络上常见的钓鱼网站技术,通过建立伪AP信号接入点和后台WEB数据库,发送与正规AP一样的SSID和身份认证模拟界面,诱骗警惕性低的用户输入认证要素,以达到窃取用户身份认证要素,入侵无线网络的目的,其实现原理如图2所示。

图2 伪基站钓鱼入侵过程

①复制或模拟将要入侵网络的Radius认证界面,并在后台搭建一个用于模仿Radius认证界面的WEB平台和存储用户名和密码的数据库,并向外发布伪造的身份认证界面forgery-auth.page。

②在将要入侵的网络附近搭建一个无线基站或AP接入点,并发布Forgery-SSID,其SSID标识与将要入侵的无线网络SSID一致。

③当合法用户连接时,由于伪基站的SSID和认证界面与入侵网络的SSID及认证界面样式一致,警惕性低的用户会直接发送认证所需要的要素信息Auth.paraments。

④合法用户的认证信息Auth.paraments通过伪基站网络,被记录进后台的数据库。

⑤入侵者通过后台数据库获取合法用户的认证信息。

⑥利用伪基站和钓鱼网站,入侵者们就可以轻易地收集大量用户的Auth.paraments,通过这些窃取的用户信息,以合法的身份进行无线网络入侵。

(2)针对伪基站钓鱼入侵的应对措施

从伪基站的角度出发,它的主要任务是通过模拟正常Radius认证的界面,诱骗用户输入认证要素,使入侵者从后台获取合法用户的认证信息。这些认证信息通常都是静态的,伪基站钓鱼入侵模式对静态认证要素的窃取是相对有效的,因此为了预防这种入侵,从动态认证的安全角度出发,应尽可能使用动态认证模式,避免全静态要素认证模式,同时改变Radius单向认证的模式,采用双向认证的机制(如图3),即参与认证的STA首先向此服务器进行身份认证,确认此服务器是否为授权的Radius服务器,而Radius服务器也必须向STA发起身份认证,确认此STA是否为系统授权的用户。通过实现这种动态双向认证的机制可以抑制伪基站钓鱼入侵。

首先,STA与Radius Server均采用一样的动态密码系统(Dynamic-password),两个系统通过NTP Server时间同步服务器进行时间同步。两个动态密码系统在同一时刻生成同一密码,每个用户的密码都是不一致的,生成的密码有固定的生命周期,在固定的生命周期内每个密码有且仅有一次使用机会,生命周期结束或者使用过一次,则对应的动态密码失效。

①STA要进行身份认证时,首先记录下此时的动态密码STA-D_KEY1,并向Radius Server发送Connect-request请求,将请求的时间STA_T1发送给Radius Server。

②Radius Server根据收到的STA_T1、接收时间RS_T1、生命周期ΔT计算在STA_T1时刻下的RS-D_KEY1和RS_T1的下一周期密码RS-D_KEY2。

③Radius Server记录计算出的RS-D_KEY1,并向STA发送连接回复Connect-response,将RS-D_KEY2和RS_T1发送给STA。

④STA根据收到的RS_T1和生命周期ΔT计算在RS_T1的下一周期密码STA-D_KEY2,并比较STA-D_KEY2和收到的RS-D_KEY2是否匹配。如果匹配,继续进行身份认证⑤,否则终止身份确认。

⑤STA向Radius Server发送连接请求,并将STA-D_KEY1发送给Radius Server。

⑥Radius Server收到请求和STA-D_KEY1后,将记录的RS-D_KEY1与STA-D_KEY1进行匹配。如果匹配,回复STA身份认证确认⑦,否则终止身份确认。

⑦Radius Server回复STA身份认证通过。

⑧STA开始计费状态并可通过WLAN对网络的资源访问。

图3 基于时间同步的双向动态认证模式

4.2 寄生入侵

虽然通过动态双向认证机制可抑制伪基站钓鱼入侵,但它并不是万能的,寄生入侵相对于伪基站入侵更加直接隐蔽。这种入侵的出发点就是利用同MAC地址通信的特性,采用类似于寄生的形式,通过MAC地址识别的漏洞,绕过Radius认证,以达到网络入侵的目的

(1)同MAC地址通信特性

MAC地址是网络通信的重要元素,随着技术手不断进步,已经出现了大量修改MAC地址的软件,人们可以利用这些软件对网卡的MAC地址进行修改,这说明网络的MAC地址已经不存在唯一性。通过网络实验证实,两张MAC地址相同的无线网卡不仅通过DHCP服务器获得一样的IP地址,同时还包括网络中断服务、网络重连接等信息,即两张MAC地址相同的网卡可以获得对方相同的数据,具有信息同步性。

虽然同MAC地址的两张无线网卡可以获得相同的数据,但是同MAC地址的网卡通信是不稳定的,因为它们的应用层访问数据的差异性导致了访问的不稳定性。

(2)寄生入侵的原理

寄生入侵需要利用AC连接状态的超时确认漏洞。无线网络控制器AC在设计时,为了提高用户的体验度,避免反复进行身份确认,对无线终端的连接状态设计有一个连接状态超时确认机制。即用户移动终端在经过身份认证连接到AP后,在其非正常离线状态下,AC对用户终端连接状态有一个确认周期,只要在这个确认周期以内,除正常注销外,用户移动终端的重连接都将视为在线状态,无需再经过Radius身份认证。大部分AC以用户终端的MAC地址作为确认用户身份的标识,这给寄生入侵的实现提供了可能。

目前大部分电信运营商或企业在所提供的无线网络中,为了提高访问的体验度,通常只采用了单一的动态密码或挑战码Radius认证结构并提供DHCP服务。入侵者可以通过同MAC地址通信特性和连接状态超时确认漏洞,巧妙的绕过Radius认证,从而实现网络入侵。其基本原理如图4所示。

①入侵者通过伪基站钓鱼、无线网络截包工具、木马入侵收集等方式,获取入侵网络中合法用户的MAC地址。

②入侵者通过MAC地址修改软件,将自己的MAC地址修改为合法用户的MAC地址。

③为了能够绕过Radius的认证服务,入侵者必须确认此时的合法用户已经完成了Radius的身份认证,并成功的接入网络。如果合法用户在线,则入侵者连接合法用户所在的无线网络。

④由于Radius已经对合法用户进行了认证,此时接入网络的入侵者具有和合法用户一样的MAC地址,Radius认证服务器会将入侵者和合法用户误认为是同一人。入侵者就这样巧妙的绕过了Radius身份认证。

⑤入侵者虽然已经绕过了Radius身份认证,但由于同MAC地址网卡的通信特性,入侵者对网络的访问并不是稳定的,他们可能会利用合法用户非正常退出时AC进行连接状态超时确认的时机,重新连接AC。由于入侵者的MAC地址与合法用户的MAC是一致的,且连接的时间并未超时,AC会将入侵者的连接误认为是合法用户的重连接,进而使入侵者顺利地继承了原来合法用户的连接状态和身份认证状态,以此巧妙地绕过Radius认证。

图4 寄生入侵原理

(3)寄生入侵的应对措施

寄生入侵利用同MAC地址通信和AC连接状态超时确认漏洞,可入侵采用静态或动态身份认证的Radius认证模式。由于其具有了和合法用户一样的MAC地址,其隐蔽性更强,同时由于合法用户的MAC地址遭到恶意复制,从通信角度上出发,使得入侵者难以被隔离。

虽然寄生入侵很隐藏,但它并不是完美的。从数据传输模式出发,可以抑制这种入侵。

通过实验证实,在基于WPA/WPA2、WPA-PSK/WPA-PSK2身份认证的网络中,入侵者在没有获得WPA/WPA2、WPA-PSK/WPA-PSK2密钥的情况下,利用寄生入侵是无法通过身份验证的,因为认证用户与AP的数据通信是加密的,没有获得密钥的入侵者是无法解密收到的数据的。根据这一实验,将动态双向认证模式进行改进后,利用应用层通信加密,可抑制寄生入侵。改进型的动态双向认证模式如图5所示。

图5 改进型的基于时间同步的动态双向认证模式

与基于时间同步的动态双向认证模式所不同的是,改进型的认证模式在原有的认证模式基础上借鉴了WPA/WPA2、WPA-PSK/WPA-PSK2通信实验原理,采用通信加密策略,在应用层上对入侵者进行数据阻断。

①STA_T1时,STA记录此刻生成的密码STA-D_KEY1。STA发出连接请求,并将密码生成的时间STA_T1发送给Radius Server。

②Radius服务器在收到请求和STA_T1后,通过STA_T1、RS_T1和ΔT计算RS-D_KEY1和RS_T1的下一周期密码RS-D_KEY2。利用RS-D_KEY1加密RS-D_KEY2和时间RS_T1。

③Radius服务器记录下RS-D_KEY1和RS-D_KEY2后,将加密的RS-D_KEY2和时间RS_T1一起回复给STA。

④STA收到Radius服务器发送来的数据后,使用STA_T1时刻的密钥STA-D_KEY1对数据进行解密。利用解密获得的RS_T1和ΔT计算STA在RS_T1的下一周期密码STA-D_KEY2,并比较STA-D_KEY2与RS-D_KEY2。如果匹配,则继续认证过程⑤,否则终止身份确认。当确认匹配后,STA使用STA_T2和ΔT计算STA_T2下一周期的生成密码STA-D_KEY3,以其作为应用层的加密密钥,同时利用STA-D_KEY2对STA-D_KEY1和STA_T2进行数据加密。

⑤STA向Radius服务器提出认证请求,并将加密后的STA-D_KEY1和STA_T2一起发送给Radius服务器。

⑥Radius服务器收到身份认证请求后,使用记录的RS-D_KEY2对STA-D_KEY1和STA_T2进行解密。Radius服务器通过记录的RS-D_KEY1和解密获得的STA-D_KEY1进行比对。如果匹配,则继续身份认证,否则终止身份确认。当确认匹配后,Radius服务器利用解密获得的STA_T2和ΔT计算Radius服务器在STA_T2的下一周期密码RS-D_KEY3,并将其作为通信应用层的加密密钥。

⑦Radius服务器回应STA,密钥已加载,认证服务完成。

⑧认证服务完成后,STA与AP通过在应用层上进行数据加解密来完成通信。

图6 公共密钥加密通信系统与私有密钥加密通信系统

改进型的身体认证模式与WPA/WPA2、WPA-PSK/WPA-PSK2认证模式相比,改进型的身份认证模式克服了WPA/WPA2、WPAPSK/WPA-PSK2采用静态密码、公共密码所产生的泄露风险。与旧的Radius身份认证系统相比,改进型的认证模式抑制了伪基站钓鱼入侵、寄生入侵的风险。虽然改进型的身份认证模式可靠性和安全性有了提高,但它需要对现有的通信加密系统进行改造:将原有的公共密钥加密通信系统修改为私有密钥加密通信系统(如图6所示),以降低因公共密钥集中化、固定化带来的泄露风险。私有密钥加密通信系统相对于公共密钥加密通信系统,它缩小了密钥泄露所波及的范围,离散了公共认证的风险要素,提高通信的安全性。

5 总结

无线网络技术的不断进步,各种无线网络入侵手段大量出现,给无线网络的服务安全产生巨大的影响。此次发现的两个入侵漏洞可能会成为黑客入侵的手段,它们不仅可以使入侵者盗用合法用户的身份,并以此为掩护入侵无线网络,损害合法用户的利益,同时由于通信身份的重叠作用,使得对入侵者的隔离和网络追查愈发困难。希望通过对发现的漏洞进行原理分析和相关安全系统进行改进,引起信息安全部门、各大无线网络运营商以及网络管理人员的重视,及时地修补漏洞,避免给用户的信息安全带来损害,并为防范措施和系统升级提供参考依据。

[1]IEEE Standards,IEEE 802.11i-2004[S].https://en.wikip edia.org/wiki/IEEE_802.11i-2004.

[2]IEEE 802.1x,RADIUS[S].https://en.wikipedia.org/wiki /RADIUS.

[3]RFC6238,TOTP:Time-Based One-Time Password Algorithm[S].http://www.rfc-base.org/rfc-6238.html.

[4]张琪,喻占武,李锐.Radius服务器安全性分析及其改进[J].计算机工程,2007.

[5]何为超,梁华强,陈守强.Radius认证协议安全策略研究[J].计算机与网络,2007.

[6]朱晓妍,薛赟.基于MAC地址的Radius认证在Linux下的实现[J].山西农业大学学报(自然科学版),2009.

[7]华镔,曹娜.基于802.1x协议的Radius认证原理及实现[J].信息技术,2010.

[8]杨晓丹,李晓波,贾波.基于RADIUS协议的网络认证安全机制研究12[A].Proceedings of 2011 International confere nce on Intelligent Computation and Industrial Application(ICI A 2011 V1)[C].2011.

[9]于璐.WIFI无线登录安全性研究[J].软件,2013.

[10]刘涛,李坚,于东旭,赵运海.认证服务器(RADIUS)的优化改造[J].铁道通信信号,2014.

猜你喜欢

入侵者无线网络密码
密码里的爱
滤波器对无线网络中干扰问题的作用探讨
密码抗倭立奇功
“入侵者”来袭
无线网络的中间人攻击研究
密码藏在何处
TD-LTE无线网络高层建筑覆盖技术研究与应用
“外星人”入侵档案之隐形入侵者
夺命密码
小行星2014 AA:地球的新年入侵者