陈发堂,赵昊明,吴晓龙,李阳阳
(重庆邮电大学 通信与信息工程学院,重庆 400065)
用户接入网络后,为了避免国际移动用户识别码(International Mobile Subscriber Identity,IMSI)泄露带来的隐私问题,3GPP标准中规定在附着完成后,核心网应为终端分配唯一的移动用户标识(Temporary Mobile Subscriber Identity,TMSI)来代替IMSI的交互。在LTE系统中使用的是全球唯一临时标识(Globally Unique Temporary Identity,GUTI),GUTI更新频率越快,对用户隐私保护性越好。然而标准中并没有明确规定GUTI如何更新,具体更新方式由运营商决定,若每次重分配后的GUTI为随机值,则可以很大程度上提高安全性。通过对三家运营商的测试发现,中国的GUTI重分配存在一定安全隐患。
从2G到4G,伪基站(Fake Base Station,FBS)的问题一直存在,其问题本质是网络功能性、成本与安全性之间的矛盾。通过部署高信号强度的FBS,吸引覆盖区域内的终端向其驻留,将对区域内的终端带来不同程度的影响。其中典型应用为“GSM 嗅探”,但该攻击需要知道目标所在的位置跟踪区(Tracking Area,TA)、目标的手机连接入2G网络作为前提条件。目前已知的许多攻击,如文献[6]中篡改终端能力信息,文献[3]的中间人攻击与文献[7]域名解析劫持,都需知道目标所处的TA。
文献[8]提出两种精确定位目标的方法,利用终端收到基站下发的无线资源控制(Radio Resource Control,RRC)重配消息将响应测量报告的特点,因为该消息中携带终端的全球定位系统(Global Positioning System,GPS)位置信息,通过伪造RRC重配消息,实现目标定位;利用无线链路切换失败报告,攻击首先在目标相同小区运行一台伪基站,当收到UE的位置区域更新(Tracking Area Update,TAU)请求后关闭当前伪基站,同时运行第二台伪基站,终端检测到与之前伪基站失步,启动无线链路失败(Radio Link Failure,RLF)定时器,生成RLF报告,并被新伪基站吸引驻留,注册消息中将携带RLF报告,该消息中携带终端的GPS位置信息,实现目标定位。但这两种攻击都需要知道目标所在的TA,否则攻击无法实现。文献[9]提出伪造寻呼消息来定位目标的方法,暴力破解目标的IMSI后,伪造其IMSI寻呼消息,观察是否收到RRC连接请求来判定目标是否处在当前小区。该方案虽然能确定目标所处小区,但文中IMSI暴力破解所需的时间过长,在此期间目标很可能已经移动,同时5G系统已将IMSI加密,文中的IMSI暴力破解和寻呼将不再适用。文献[2]利用小区无线网络临时标识和TMSI相对应的特点实现目标定位。但攻击需要目标终端处在非激活态,且得到目标TMSI为前提,在未知目标所处TA的情况下不易得到目标TMSI,且通过发短信的方式触发手机进入连接态容易引起目标警觉。
本文提出了一种只通过目标手机号,即可实现TA定位与目标隐私获取的攻击方法。通过该攻击,攻击者可以在未得知目标的TA、目标手机未处在2G网络的条件下,完成如锁定目标TA、拒绝服务、强制降级、IMSI获取的攻击,并在现网下测试了利用攻击完成“GSM嗅探”的可实施性。由于初期5G部署沿用了LTE的核心网,且5G支持4G用户身份识别卡接入5G网络,所以本文揭露的漏洞可能在5G中依然持续。
整个LTE网络大致分为以下三个部分:用户设备(User Equipment,UE)、接入网(Evolved UMTS Terrestrial Radio Access Network,E-UTRAN)和演进分组核心网(Evolved Packet Core,EPC)。其中EUTRAN是由多个基站(Evolved Node B,eNodeB)组成,EPC由移动性管理实体(Mobility Management Entity,MME)、归属用户服务器(Home Subscriber Server,HSS)、服务网关(Serving GateWay,S-GW)以及PDN网关(PDN GateWay,P-GW)等网元组成。如图1所示为LTE网络架构。
接下来简要总结各个部分。
UE:UE是向用户提供服务的移动终端设备,例如手机或平板电脑,通常需要配备运营商提供的通用用户标识模块(Universal Subscriber Identity Module,USIM),该模块中包含永久身份标识(IMSI)。
eNodeB:即演进型NodeB,LTE网络中基站的名称,是UE连接到网络的接入点,负责空中接口相关的所有功能。
SPF(Specific pathogen free,无特定病原体级)小鼠,体重18~22 g,雄性,购于辽宁中医药大学实验动物中心。
HSS:本质上是数据库,用来存储用户的相关信息,例如国际移动用户标识、认证密钥、服务质量简档和漫游限制[10]。
MME:移动管理实体,是EPC的一个关键控制平面实体,主要的职责是移动性管理、承载管理鉴权认证、S-GW 和P-GW 的选择等功能。
LTE系统中将GUTI作为用户临时身份标识,如图2所示。GUTI由两大部分组成:全球唯一的移动性管理实体标识符和MME临时移动用户身份。用户临时身份标识由一个临时且唯一的32位值组成,该值用于标识MME中的UE。当UE连接到网络或更新其跟踪区域时,MME将GUTI分配给UE。此后,UE和MME使用分配的GUTI代替IMSI进行UE和MME之间的标识和通信。
本节提出了一套完整攻击方法,通过该攻击可实现对目标所在的TA跟踪;在确定了TA后,可对目标终端进行拒绝服务(Denial of Service,DoS)攻击,强制降级并执行“GSM嗅探”攻击,获取目标隐私信息。
寻呼消息中的TMSI以明文的形式出现在寻呼信道上,从某种程度上来说,寻呼消息是公开的私有信息。GUTI分配方式由运营商决定,不安全的分配方式容易导致用户隐私信息泄露。在LTE中,只有GUTI重分配才能改变设备的TMSI,协议中规定以下情况将触发GUTI重分配:(1)由网络触发的非接入层GUTI重分配过程。(2)在TAU完成后,网络将下发新的GUTI标识。(3)初始附着完成后,网络将下发GUTI标识。
若终端不支持或未使用LTE语音承载(Voice over LTE,VoLTE)功能,在呼叫时,将会通过电路域回落(Circuit Switched Fallback,CSFB)使用2G或3G来支持电路交换的语音通话,通话过程如图3所示。当UE收到广播的寻呼消息,将会回应扩展服务请求消息,此后将断开与LTE网络的连接,进行2G/3G下的语音通话。语音通话结束后将发起TAU过程重新返回LTE网络,该过程会重新分配GUTI,从而实现了每次拨打电话后用户临时身份标识的更新。
终端若开启了VoLTE功能,在拨打电话时不会脱离LTE网络,所以不会触发TAU过程使得GUTI重分配。重分配主要由周期性TAU来完成,但现网测试表明,中国运营商设置的TAU周期过长,其中最短约1 h,而最长为2 h。在此时间间隔内攻击者可以通过静默呼叫的方式,触发网络对目标UE的寻呼,若和目标的位置区域相同,将会在寻呼消息中监听到重复的TMSI。
为了完成对未开启VoLTE的目标定位。实验首先部署了一套低成本、实时的LTE寻呼信道监听装置,硬件使用USRP B210[11],这是一款通过软件来控制收发操作的无线电装置;软件使用开源软件srsLTE[12]修改了程序pdsch_ue的代码,实现了对下行共享信道寻呼消息的实时监听。图4为所监听小区的部分寻呼消息的ASN.1编码。针对三家运营商分别进行了200次CSFB呼叫,测试发现GUTI重分配后的TMSI值变化规律相同,都未满足随机性的要求。
GUTI中TMSI有4个字节,其中第一个字节仅在移动管理实体编号(Mobility Management Entity Code,MMEC)改变时发生变化,而相同的MMEC会持续30次左右,在此期间内第一个字节值始终不变。MMEC变化将引起第一个字节改变,但变化后的规律和之前相同,在接下来一定次数的呼叫内,第一个字节始终不会发生改变;第二个字节前4比特为固定值,具体的固定值和MMEC有关,如图5所示,前4比特被固定为0000和1000;剩余20个比特为随机值。32比特的临时身份中12个比特有规律地出现,这增加了用户隐私信息被泄露的风险。即使CSFB呼叫引起终端TMSI改变,攻击者依然可以通过已经发现的规律实施对目标的用户位置跟踪区定位。值得注意的是,其中一家运营商在正常呼叫和静默呼叫时GUTI重分配呈现了不同的规律。正常呼叫时的变化规律和前文相同,但静默呼叫时如图6所示,TMSI有3个字节不会改变,唯一改变的字节也是呈规律性变化。
对于开启VoLTE的终端,实验统计了72 h由周期性TAU导致的GUTI重分配情况。在72 h内共触发75次周期性TAU,即UE在约1 h左右会发起一次TAU从而触发GUTI重分配。由于周期性TAU并不会引起MMEC改变,所以在72 h中TMSI变化规律一直未变。
图7提出了TA区跟踪攻击模型,攻击者只需知道目标的手机号即可完成定位。
根据3GPP标准[13]中描述:当终端的连接请求被网络拒绝后,网络下发的拒绝消息中会携带演进的移动管理原因值(Evolved Mobility Management Cause,EMM Cause)来告知被拒绝的原因。基于网络给终端下发的拒绝消息未受完整性保护和加密的特点,攻击者通过前置攻击锁定目标所在区域后,伪造拒绝原因值来操作终端,如图8所示。这种攻击部署简单但影响极大。
表1汇总了经现网测试后,攻击者可能利用的部分原因值与造成的影响。
表1 拒绝原因及影响
由前文所述,若目标手机开启了VoLTE功能会导致终端TMSI仅在TAU时改变,且国内运营商设置的TAU周期为1 h以上,所以定位用户极其容易,实验主要测试目标关闭VoLTE的情况。通过CSFB采取静默呼叫的方式监听拨出后2~5 s的寻呼消息。在电话拨出2~4 s后挂断电话。采用静默呼叫时,目标UE不会响铃但会触发网络对目标的寻呼,通过这种方式将使目标无法察觉。当与目标处于同一位置跟踪区时,拨打7次后发现,存在部分TMSI的第一个字节始终为F4,且第二个字节都以十六进制数字0和8为开头;随后又拨打了3次电话,出现了相同规律变化的TMSI,可以确定主叫和目标处在相同的位置区域。
锁定目标所在区域后,通过目标手机号前3位得知目标为移动用户,将手机插入相应运用商SIM卡,通过工程模式获取到当前区域的TAC为13149,MCC和MNC信息为460/00,当前终端工作在2 624.6 MHz;将伪基站的TAC设置为1,保证了该TAC未在TA列表内,工作频率和MCC/MNC设置为相同值,吸引终端发起TAU过程。伪基站硬件部分包括两台Linux操作系统的主机和射频模块USRP B210;软件部分使用开源软件OAI[14],两台主机分别部署OAI的核心网部分和基站部分。实验以原因值7拒绝,测试发现目标降为2G。随后实验手机输入目标手机号登录其支付宝账号,并部署“GSM嗅探”装置,顺利嗅探到验证短信如图9所示,至此完成攻击。
本文研究了现网中的设计缺陷,并利用这些缺陷提出了从定位用户到强制目标降级、DoS攻击、IMSI信息获取的一套完整攻击。分析了这些攻击在5G系统下的可实施性。经现网测试表明,在LTE和5G网络初期,攻击者利用这些漏洞可以顺利完成攻击。这种攻击具有普遍适用性,因此这项研究非常重要,并且该研究可以为将来改进和更新相关过程提供基础。