APP下载

基于USRP的移动用户隐私安全研究

2021-11-24李贵勇吴妙灵黄俊霖张杰棠

关键词:信令手机号码攻击者

李贵勇,何 沛,吴妙灵,黄俊霖,张杰棠

(重庆邮电大学通信与信息工程学院,重庆400065)

随着LTE网络的全面覆盖,以及微信、支付宝等实时通讯软件和支付软件的兴起,人们的生活水平得到了极大的提升。然而,移动通信网络在给我们带来便捷的同时,也因其空中接口的开放性,为移动用户带来了不可避免的安全风险。为此,通过优化通信网络的系统架构和安全机制,商用移动通信技术由LTE网络演进到了更加安全的5G网络。2019年6月6日,工信部向中国移动、中国联通、中国电信以及中国广电4家运营商颁发5G牌照,中国正式开启5G商用时代[1]。然而,我国的5G网络仍处于初期部署阶段,并且部分可用的5G网络采用的是与LTE基站或LTE核心网共用的非独立组网架构,这导致了现有的5G网络不可避免地继承了LTE网络中的大部分安全漏洞[2]。另外,目前我国LTE用户数量已超过12亿,GSMA(全球移动通信系统协会)也预测,在未来5年,LTE仍将是全球移动通信技术的主流[3]。因此,在5G网络普及之前,对LTE网络的安全研究仍具重要的现实意义。

移动通信网络中,用户终端与网络端的交互信令是在空口中进行传输的,为了保证这些信令的传输安全,LTE网络引入了双向鉴权和分层加密机制[4]。但在实际应用中,仍然发现了很多安全漏洞。比如,在终端与网络端建立起非接入层(Non⁃Access Stratum,NAS)安全模式之前,NAS层的交互信令既不加密也没有完整性保护,即为完全暴露在空口中的明文信令。攻击者截获到这些信令,并进行解析、篡改以及转发,即可对目标终端造成不同程度的危害[5-11]。 例如在文献[7]中,攻击者利用伪基站向空口中连续发送针对目标终端的国际移动用户识别码(International Mobile Subscriber Identity,IMSI)寻呼,使得目标终端脱离服务网络,导致其无法进行正常服务。然而,此攻击需要提前知道目标终端的IMSI。文献[9]提出了一种破解目标终端IMSI的方法,攻击者通过伪基站拦截到的空口中传播的寻呼消息和系统消息等明文信息,结合目标终端的手机号码对其IMSI进行分析处理,最终暴力破解出目标的IMSI值,但是此攻击方法需要知道目标终端的手机号码。虽然这些攻击对目标终端造成了不同程度的危害,但均以知道目标终端的手机号码、IMSI或临时移动用户识别码(Temporary Mobile Subscriber Identity,TMSI)等信息为前提,存在一定的局限性。

本文提出了一种无需知道目标终端任何信息以及不操作目标终端即可捕获目标终端隐私数据的攻击方案。攻击者利用协议流程漏洞,将目标终端强制降级至GSM伪网络,并在此网络中架设一个用于监听和转发信令的中间人系统,以捕获目标终端的IMSI和手机号码。测试结果表明,此方案可以准确地捕获到目标终端的IMSI和手机号码,并且可以配合短信嗅探装置,完成对目标终端用户微信的登录,极大地危害了移动通信网络用户的隐私安全。

1 背景介绍

1.1 LTE 系统架构

图1展示了LTE的系统架构,主要由以下3个部分组成:用户设备(User Equipment,UE)、演进UMTS地面无线接入网(Evolved UMTS Terrestrial Radio Access Network,E⁃UTRAN)以及演进分组核心网(Evolved Packet Core,EPC)[12]。

图1 LTE系统架构

在图1中,UE是向移动用户提供服务的移动终端设备,插入全球用户识别卡(Universal Subscriber Identity Module,USIM)后,即可进行电话呼叫和短信等业务操作。USIM卡中存储着用户的IMSI和移动用户国际 ISDN号码(Mobile Subscriber ISDN Number,MSISDN),MSISDN 即手机号码。 手机号码和IMSI之间存在一种特定的映射规则,这个规则只存在于USIM卡和电信运营商中[13]。

1.2 终端接入过程的安全分析

1.2.1 Attach过程

随机接入完成后,终端向网络发送Attach请求消息,请求注册到目标网络。按照其中包含的用户身份标识类型的不同,Attach请求消息分为 TMSI Attach请求和 IMSI Attach请求[14]。 如果是进行IMSI Attach请求,正常情况下,若网络端接受此次请求,将开启与终端的双向鉴权认证过程,以更新终端的安全上下文,并建立起 NAS层和接入层(Access stratum,AS)的安全模式,最终接受终端的注册。而如果是TMSI Attach请求,网络端将沿用终端上一次Attach过程生成的安全上下文,而不重新发起双向鉴权。

1.2.2 TAU过程

与Attach过程不同,终端在经过小区重选或者从GSM/WCDMA网络回到LTE网络后,当发现目标小区的跟踪区域码(Tracking Area Code,TAC)不存在于其本地存储的跟踪区域(Tracking Area,TA)列表时,才会触发跟踪区域更新请求(Tracking Area Update Request,TAU)过程。通过发送TAU消息,请求网络为其更新TA列表[14]。正常情况下,网络端将会在双向鉴权认证(是否发起鉴权,由网络端是否存储终端的安全上下文决定)后,为合法终端回复一条TAU接受消息作为响应,此条报文中将包含终端更新的TA列表。

1.2.3 拒绝原因值分析

在真实的通信环境中,一个小区中往往会有大量的移动设备请求接入,而网络端自身的承载能力却是有限的,为了应对超负载或非法设备的接入请求等异常状况,网络需要拒绝这类接入,以保证当前网络的安全性以及正常运转。这一流程由核心网中的MME来实施,通过释放Attach拒绝、TAU拒绝或Service拒绝等NAS消息,拒绝终端的附着请求或TAU请求。这些信令中包含的EMM Cause参数的数值不同,将会引起终端的不同响应[15]。表1展示了部分原因值以及与之相对应的终端后续响应。

表1 部分原因值及终端后续响应

3GPP标准中规定,终端在尝试与网络建立新的NAS连接时,应发送未加密的NAS消息。对于终端,上行消息Attach请求与TAU请求始终以不加密的形式发送给核心网。而对于核心网,下行消息同样以明文形式释放给终端。对于这类明文消息,终端无法判断其是否来源于真实网络。利用这一特点,攻击者即可通过伪基站释放包含特定原因值的拒绝消息,对目标终端发起各类攻击。

2 漏洞分析与验证

2.1 漏洞分析

如前文所述,在终端与网络端之间建立起NAS层安全模式之前,两者的交互信令均是以明文形式暴露在空中接口中的,通过伪基站吸入目标终端后,攻击者即可截获这些明文信令,并能够对其进行篡改以及转发等操作,且目标终端不需要进行加密与完整性保护校验就直接接受。另外,在终端发起电话呼叫业务或短信业务时,电信运营商会根据核心网中的映射规则将终端的IMSI翻译为与之相对应的手机号码以提供相应的服务,并最终在被呼叫方设备的显示屏上显示呼叫方的手机号码。虽然LTE网络采取了基于IP的VoLTE技术,通过上述过程较难获取目标终端的手机号码,但是基于电路域的GSM网络仍在使用,且处于该网络的终端也更易被攻破。因此,这些漏洞的存在使得目标终端的IMSI和手机号码能够被攻击者捕获。

2.2 漏洞验证

为了验证上述漏洞,实验搭建了一套LTE伪网络以及一套GSM中间人系统,其硬件构成如图2所示。

图2 硬件构成

在图2中,硬件部分采用低成本的软件无线电装置USRP B210,配合装有Ubuntu系统的笔记本电脑分别充当LTE伪网络和GSM伪网络(伪网络由伪核心网和伪基站组成),一部华为荣耀20手机作为目标终端,一部摩托罗拉C118手机作为GSM攻击终端以及一部苹果8plus手机作为显示目标终端手机号码的被呼叫方(被呼叫方的手机号码已知)。软件部分采用LTE开源软件srsLTE、GSM开源软件开放基地台(Open Base TransceiverStation,OpenBTS)以及开源移动通信基带(Open source mobile communication Baseband, OsmocomBB)。

实验通过修改srsLTE和OpenBTS中的部分代码,对基于USRP的LTE伪网络和GSM伪网络的正常协议流程进行功能性改造,使目标终端与伪网络按照修改后的流程进行信令交互。另外,利用GSM开源软件OsmocomBB,将摩托罗拉C118手机改造为GSM攻击终端,并与GSM伪网络组成GSM中间人系统,对目标终端与真实网络之间的交互信令进行中继转发。

3 用户隐私数据捕获攻击

3.1 强制降级攻击

3.1.1 伪基站吸入目标终端

LTE网络中,进入空闲模式的终端将会通过小区重选过程,检测当前服务小区与邻区的信号质量,以选择一个信号质量最好的小区进行驻留[16]。小区重选过程按照重选后小区的中心频点与当前服务小区的中心频点是否相同,分为同频小区重选和异频小区重选[16]。其中,同频小区重选不会对优先级进行判断,而异频小区重选则会优先判断小区重选优先级。另外,重选优先级处理原则中规定,当专用信令中包含有小区优先级时,终端将会优先考虑这些信令中提供的高优先级小区[17]。终端通过基站广播的系统消息发现周围存在优先级高的小区时,将会开启对此高优先级小区的测量,若该小区满足重选要求,则会直接重选到该小区中。

利用这一特性,攻击者通过将LTE伪基站配置为异频高优先级,并接近目标终端,无需对目标终端进行任何干预操作,处于空闲态的目标终端将会自动重选至伪基站中。

3.1.2 强制降级

小区重选后,终端将与重选后小区建立随机接入。当发现此小区的TAC不存在于自身存储的TA列表中时,终端将会通过一条包含TAU请求的无线资源控制(Radio Resource Control,RRC)连接建立完成消息,请求网络为其更新TA列表。根据前文的介绍,由于某些原因,网络可以回复TAU拒绝消息,拒绝终端的这一请求,并且终端会直接接受。

利用这一特点,攻击者通过设置伪基站的TAC值为一个与目标终端的服务小区和邻区皆不同的值,便可触发终端的TAU请求,接着以一条TAU拒绝消息,配合不同的原因值,即可对终端造成不同程度的影响。如表1所示,当TAU拒绝消息中包含的原因值为#9时,终端将会以IMSI为身份标识主动向伪基站发起附着请求,此时攻击者通过截获解析这条附着请求消息即可捕获到目标终端的IMSI。而攻击者接着以一条包含原因值为#8的附着拒绝消息,让目标终端不再尝试进行任何接入操作。另外,由于RRC连接释放消息中包含有可以用于重定向终端的参数Redirected_carrierinfo,此参数中包含了网络给终端指定的基站参数信息。因此,攻击者可以利用此消息的这一特性,将GSM伪基站信息配置到该参数中,并将其转发给目标终端,即可将目标终端定向地释放到准备好的GSM伪网络中去。

3.2 隐私数据捕获

在GSM网络中,当移动台由一个位置区域移动到另一个位置区域时,必须在新位置区域进行登记。移动台发现存储器中的位置区域码(Location Area Identity,LAI)与收到的当前小区的LAI不同时,就需要启动位置更新过程[18]。与LTE网络中的TAU过程类似,由于移动台初次接入到网络中,网络端在收到位置更新请求后,将会对其发起鉴权认证。但不同于LTE网络中的双向鉴权认证,GSM网络仅进行对移动台的单向鉴权认证,即仅需要完成网络端对移动台的认证,而移动台无法验证网络端的合法性。

利用这一安全性缺陷,攻击者便可发起如图3所示的中间人攻击。通过在目标终端和真实网络之间搭建一套由GSM伪网络和GSM攻击终端组成的中间人系统,拦截目标终端与真实网络之间的交互信令,并将其转发至攻击终端,即可让攻击终端以目标终端的身份,通过真实网络的鉴权认证,最终完全代替目标终端在真实网络的合法位置。

图3 GSM中间人攻击流程

4 实验结果及防御措施

4.1 实验结果

首先,捕获目标终端的IMSI。实验搭建LTE伪基站,将其配置为异频高优先级,并设置TAC为一个特殊值0x01,从而诱使目标终端自动重选至伪基站并发送TAU请求,伪基站收到后发送伪造的原因值#9的TAU拒绝消息,使目标终端删除所有注册信息并主动发起IMSI Attach请求,通过wireshark软件解析此条信令,实验成功地捕获到了目标终端的IMSI,如图4所示。

图4 捕获目标终端IMSI

然后,实施强制降级攻击。伪基站收到来自目标终端的 IMSI Attach请求后,伪造原因值#8的Attach拒绝消息,使目标终端不主动发起接入操作,并通过伪造的RRC连接释放消息将其强制降级至搭建好的GSM伪基站。如图5所示,目标终端向GSM伪基站发送了一条位置更新请求,表明目标终端被成功地强制降级至GSM伪网络。

图5 收到位置更新请求

接着,捕获目标终端的手机号码。目标终端连接至GSM伪基站后,发现接收到的GSM伪基站下发的LAI与自身存储的LAI不同,便主动地向中间人系统发送位置更新请求,中间人系统直接将此消息通过攻击终端发送至真实网络,并收到来自真实网络发起的对攻击终端的鉴权认证。实验同样对这条认证消息不做任何处理,通过中间人系统转发给目标终端。由于GSM网络缺乏终端对网络端的认证机制,因此终端无法判断此条消息的合法性,直接回复一条包含响应参数SRES的鉴权响应消息。GSM伪基站接收到这条信令后,同样不经过处理,直接转发给攻击终端。最后,攻击终端以这条鉴权响应消息,完成了真实GSM网络的身份认证,并收到位置更新同意回复消息,其中包含了真实网络为攻击终端分配的TMSI,如图6所示。

图6 攻击终端完成鉴权认证

此时,攻击终端便彻底取缔了目标终端在真实网络中的合法位置,并可以与真实网络进行如通话或短信等正常的业务交互。而GSM开源软件OsmocomBB可以支持设备通过拨号的方式,向已知手机号码的终端拨打电话以及发送短信。因此,实验利用攻击终端的这一功能,向尾号为3816的被呼叫手机苹果8plus拨打电话。

如图7所示,在攻击终端的显示屏上可以清晰地看到通话业务的信令流程,在接收到响铃通知后,如图8所示,被呼叫方的手机屏幕上即显示了尾号为5089的目标终端手机号码。

图7 攻击终端拨打被呼叫方电话

图8 捕获目标终端手机号码

最后,对捕获到的目标终端手机号码进行验证。由于多数手机软件均采用了手机号码加短信验证码的备选登录方式,如微信和支付宝这类涉及用户隐私的常用软件。因此,可以借助这一软件安全缺陷,对捕获到的目标终端手机号码进行结果验证。实验在被呼叫手机苹果8plus上利用刚刚来电的手机号码进行微信登录,选择用短信验证码登录的方式。此时,打开GSM短信嗅探装置,点击获取验证码,嗅探装置成功定位并解析到了空口中的验证短信息,如图9所示,通过wireshark软件,可以观察到此次登录所需的验证码为889540。

图9 捕获目标终端验证码短信

最终,使用捕获到的验证码,实验成功地登陆了目标终端的微信,从而验证了前文所捕获到的手机号码就是目标终端的手机号码,同时也表明了本文捕获方案的可行性以及可靠性。

4.2 防御措施

由于此攻击方案是利用LTE网络小区重选过程中存在的漏洞,将目标终端隐蔽地吸入到LTE伪基站中,并以终端易接受未受加密和完整性保护消息的特性,通过包含不同原因值的拒绝信令以及修改后的RRC连接释放消息,将目标终端从LTE网络强制降级到低安全性的GSM网络。因此,可以对终端的小区重选过程进行针对性防御改进,让终端对信号异常或行为异常的基站主动做出判断,以防止受到进一步的危害。此防御措施同样在基于srsLTE的LTE仿真网络中实施。

当终端通过基站广播的系统消息发现存在高优先级小区时,将会开启对该小区的测量。在此过程中,实验增加了终端对被测量小区的参数信息和信令行为的分析判断,并为判断结果设置两个布尔类型状态参数susp1和susp2,经分析判断后,这两个参数将被依次赋值。在参数信息层级,如果重选后基站的优先级异常(设置为最高值7),且参考信号接收功率(Reference Signal Receiving Power, RSRP)异常(高于-85 dBm)时,susp1将被变更为1,终端初步判定此基站为可疑基站。在信令行为层级,如果重选后基站出现了如收到IMSI后下发拒绝消息,或连续多次释放拒绝消息,并继续发送包含GSM基站信息的RRC连接释放消息等异常信令流程时,susp2也将变更为1。两个状态参数均被置为1后,终端即判定此基站为一个非法基站,便将其添加至禁止小区列表,并重新开启小区重选的测量。此后,这个非法基站将不再被终端测量,终端也将通过一次新的小区重选过程,释放与该非法基站的连接,最终重选至一个正常的基站中。

经过在LTE仿真网络中部署与测试,本防御措施将有效避免终端受到本文捕获方案的攻击。另外,本文也敦促各大运营商能够加快2/3G网络退网的速度,手机软件厂商能够去除手机号码加验证码的登录方式,从源头消除低级通信网络以及应用程序设计缺陷所带来的巨大安全隐患。

5 结束语

本文利用现网中存在的设计缺陷,针对目前多数攻击存在的局限性,结合LTE网络以及GSM网络中的安全漏洞,提出了一种在无需知道目标终端任何信息以及不接触目标终端的前提下,捕获其IMSI以及手机号码的一套完整攻击方案,并提出了一种有效的针对性防御措施。由于已有相关文献表明5G网络继承了包括强制降级在内的多个LTE网络安全漏洞,本攻击方案在5G网络中仍然适用。因此,本文做出的工作将为移动通信网络的安全演进起到积极的推动作用。

猜你喜欢

信令手机号码攻击者
基于贝叶斯博弈的防御资源调配模型研究
“手机号码”继承公证的可行性及路径
张掖市手机号码支付业务推广情况调查
解密!手机号码里的知识
正面迎接批判
正面迎接批判
昵称
浅谈JSQ-31 V5数字程控用户交换机NO.7及NO.1信令参数设定及不同
LTE网络信令采集数据的分析及探讨