LTE 伪基站的软件无线电识别技术
2020-12-18钟文华王红光刘成国
钟文华 ,王红光 ,刘成国
(1.武汉理工大学理学院,武汉,430070;2.中国电波传播研究所,青岛,266107;3.湖北省射频微波应用工程技术研究中心,武汉,430070)
引 言
2G 时代,伪基站利用全球移动通讯系统(Global system for mobile communications,GSM)单向认证缺陷实现诈骗。早期主要通过安装拦截软件、改用安全性更高的手机以及即时留意手机信号等来达到预防伪基站的目的,但明显效率低下[1]。相比之下,长期演进(Long term evolution,LTE)增加了双向鉴权机制,伪基站的防治得到改善,但国内外检测系统的硬件架构体积庞大,便携性也有所不足[2⁃3]。不仅如此,面对通信系统的更新换代以及各种新式伪基站的层出不穷,大部分检测系统由于传统硬件的桎梏,升级更新缓慢,代价高昂,检测效率也难以提升。相应地,伪基站硬件系统下主要有5 种应用识别算法。基于接收信号强度指示(Received signal strength indicator,RSSI)信号接收强度的识别算法,提供信号地图的可视化界面,交互性好但对现实环境中的信道干扰较为敏感,需要根据多变的信道环境采取不同的检测算法,复杂度高且依赖移动终端对于信号强度的检测,随着手机端硬件等设施的差异,判定结果也有所差异,识别准确率较低。基于临近小区信息列表识别算法,与第1 种算法相似,依赖移动终端获取小区信息列表,受限较大,但不受信道环境所干扰因此性能消耗最小,用户体验也不错。基于静默短信攻击的识别算法,该算法较为特殊,需要对终端无线通信的相关消息缓冲区字节流进行解码,识别率很高,但性能消耗过多且复杂度较高,同样该算法依赖终端侧的辅助。基于跟踪区域码(Tracking area code,TAC)/小区识别号(Cell identity,CID)位置更新的识别算法和基于基站信息一致性识别算法,两种算法本质相同,都采用信息对比方式进行判定。前者利用伪基站工作时,手机会切断与正常基站的连接进而被伪基站捕获,导致TAC、CID 等参数发生变化从而进行识别,识别率理论上最高,用户体验也很不错但依然需要外部设备的辅助。后者因为也是跟本地数据对比,准确率较高但依赖基站信息数据库,若缺乏某地域的数据,检测将无法进行,所以用户体验一般[4]。
综上所述,伪基站识别系统受传统硬件的桎梏存在诸多缺点,灵活性差,升级效率也低,并且现有识别算法的复杂度、交互性、准确率以及依赖性等都相互制约,难以权衡。而相比之下,软件无线电具有可重配置能力,升级更新灵活、运维成本低廉,还能适应移动通信网络多制式模式[5⁃6]。
虽然将软件无线电技术运用在LTE 伪基站识别方面少有,但已有研究表明,将其运用在2G 伪基站系统中,能够在相同的硬件基础上通过软件更新的方式来达到功能的升级,有效提高系统升级的效率[7⁃8]。除此之外,伪基站5 种识别算法当中,大部分算法都需要借用移动终端获取相关辅助信息,灵活性太差,而将软件无线电技术运用在LTE 信号的接收处理当中刚好可以辅助获取相关信息。不仅如此,后期面对新式伪基站或者不同的信道环境,只需借助软件无线电技术对其中的相应模块进行技术上的升级即可实现系统性能的提高,大大提高了整个识别系统的升级效率。因此,为了形成LTE 伪基站软件无线电识别技术原型,本文开展将软件无线电技术用于LTE 伪基站检测的研究。
1 原理分析
1.1 伪基站工作机制
伪基站的实施机制主要分为两种:固定式,一般藏匿于钟点房内、快捷酒店等不易被人察觉的地方;流动式,布置在拉杆箱或者小型汽车内便于流动作案。通常情况下,LTE 伪基站在获取到附近基站的系统消息相关参数后会设置假冒的参数构建新的eNodeB 基站。其中,一个伪基站eNodeB 用于干扰移动终端使其脱离当前驻留的4G 网络,称作eNodeB_jammer。另一个伪基站叫做eNodeB_Collector,它通过设置更高的发射功率或高的频点优先级,强制LTE 终端用户通过小区重选机制接入伪基站的网络,取代合法运营商服务。不过,eNodeB_Collector 虽然把移动设备网络代码(Mobile network code,MNC)和移动设备国家代码(Mobile country code,MCC)设置为当前运营商的合法基站参数值,但是其TAC 通常设置为与正常基站相异的值,只有这样eNodeB_Collector 才能伪装成正常的基站并诱使移动终端在脱网后发起重连TAU_REQUEST[9⁃10]。不仅如此,eNodeB_Collector 的EARFCN 由于被人为的设置为4G 网络区域内的最高优先级,因此,LTE 终端用户在重新进行小区搜索时就会直接落入LTE伪基站的网络区域当中,从而面临诈骗危险。
1.2 伪基站识别算法
伪基站识别算法中,基于信息一致性识别和基于TAC/CID 位置更新的识别由于利用基站的小区相关信息中TAC 和CID 参数进行识别,准确率最高但依赖移动终端获取相关信息,灵活性太差。与此同时,伪基站系统受限于传统硬件拥有诸多缺点效率低下,若能借用软件无线电技术代替传统硬件的同时还能通过某种手段获取TAC 和CID 参数,那么这两种算法的优势将得到进一步提升。
(1)基于TAC/CID 位置更新的识别算法
LTE 中,TAC 用于标识移动通信网络中一定范围的区域,且每个TAC 标识的区域内,基站的TAC值都相同。图1 为蜂窝小区示意图,左边为正常基站蜂窝小区,右边为存在伪基站时的蜂窝小区。由图1 可知,移动终端与正常基站(TAC⁃2020,CID⁃202 020)已连接,伪基站 eNodeB_jammer 干扰移动终端使其脱离当前驻留的4G 网络(灰色虚线)。接着eNodeB_Collector 设置了与正常基站相同的TAC 和CID 参数:TAC⁃2020,CID⁃202 020,并设置更高的发射功率或高的频点优先级迫使移动终端与其进行连接(蓝色虚线)。最后eNodeB_Collector 更改TAC 值为2021(见图1 中标橙区域),从而触发移动终端发起位置更新请求获取用户真实信息。因此,只要不断获取基站的TAC 和CID 等信息,并判断该基站的TAC 是否发生更新便能判断其是否为伪基站。
图1 伪基站工作时TAC 变化示意图Fig.1 Schematic diagram of TAC changes when the pseudo base station works
(2)基于信息一致性识别算法
如图2 所示,该算法对当前移动终端接入基站的CID 和TAC 进行检测,与基于TAC/CID 位置更新的识别算法不同的是,它在于检测最终的TAC 值与CID 的联合信息。首先终端侧联网后依靠底层接口获取TAC 和CID 信息,然后将该信息与运营商自建数据或者第3 方开源基站信息数据库进行对比,若当前接入的基站信息与数据库有一定差异,则基本可以判定该基站为伪基站。该识别方法可离线侦测,成本低廉且准确率极高。其中,第3 方开源基站信息数据库可通过开源平台如OpenCellID.org提供,且本文后续章节中为了提高识别效率选取该算法并使用基于移动位置服务系统(Location based service,LBS)中的运营商数据对基站进行判别。
2 系统方案和实现
LTE 伪基站劫持移动终端时,其部分小区相关信息参数设置为与正常基站相异的值。若能实时获取到附近基站的TAC,再结合基站参数CID,便能基于基站信息一致性识别算法在LBS 系统中利用本地运营商数据库作对比,找出参数异常的基站,从而识别出LTE 伪基站。因此本文提出在不借用移动终端的情况下,利用LTE 伪基站部分小区相关信息参数设置为与正常基站值相异的特点,实现伪基站识别的新方案。
如图3 所示,该方案包括硬件采集模块、软件解码模块以及识别验证模块。硬件采集模块通过搭建软件无线电平台对4G 信号进行采集;软件解调解码模块通过建立LTE 下行系统广播信息接收链路解码系统信息块(System information blocks 1,SIB1)获取TAC 和CID;识别验证模块利用LBS 系统来判别基站的合法性。
图2 基于信息一致识别算法流程Fig.2 Recognition algorithm flow based on consis⁃tent information
图3 LTE 伪基站识别系统框图Fig.3 LTE pseudo base station identification sys⁃tem block diagram
2.1 硬件采集模块实现
本文分析了中国移动、电信和联通的LTE 技术标准和主要软件无线电硬件平台产品的技术性能。选用通信设备HackRF One 作为开发支持的硬件,主要进行信号的收发、滤波、混频以及采样等前端处理[11⁃12]。其最大频率为 6 GHz,覆盖了 LTE 的整个频段且带宽 20 MHz 刚好为 LTE 的最大带宽,AD 采样率最大为20 Msps也可通过变采样理论变换到LTE 标准采样率30.72 Msps,因此满足本研究的需求。
在Ubuntu18.04 LTS 系统上结合HackRF 搭建软件无线电平台,开发实现对4G 信号的检测和采集的控制程序。HackRF 实时采集固定频率和时段的数字IQ 信号,通过搭建HackRF 环境生成库文件以及hackrf_transfer 可执行程序实现。对LTE 所有频段进行扫描和跟踪通过开发LTE 扫描程序实现。搜索到的LTE 小区信息结合hackrf_transfer 程序实现对相应频率的LTE 信号采集并保存为二进制格式的IQ 数据,实现图3 所示的硬件采集模块功能,为信息鉴别程序的解调解码提供数据。
2.2 软件解码模块实现
软件部分利用Matlab 建立下行系统广播信息接收链路对SIB1 解码,主要包括LTE 信号预处理、小区搜索、信道估计以及下行物理信道解码等过程(见图4)。
图4 LTE 下行系统广播信息接收链路Fig.4 LTE downlink system broadcast information receiving link
LTE 信号预处理中,将HackRF 采集到的8 帧数字IQ 信号转化为Matlab 可识别的矩阵文件格式然后减去均值除去直流。由于数据采样率设置为19.2 Msps,利用变采样理论,在Matlab 中通过一个8 倍上升采样低通滤波器再每隔5 个数据进行抽取,得到完整的20 MHz 带宽且采样率为30.72 Msps 的LTE 信号。如图5 所示,其中I=8,D=5。
小区搜索中通过检测主同步信号(Primary synchronization signal,PSS)和辅同步信号(Secondary synchronization signal,SSS)信号以及解码下行物理信道PBCH 完成,由于同步信号具有良好的自相关特性,便于接收端专门用来下行同步[13⁃14]。本文采用基于时域的互相关算法对PSS 信号进行检测,该算法对频率偏移敏感,为了确保检测的正确性和有效性,将本地PSS 序列加上频率偏移,然后找到每个相应的频率偏移即时域上的时间偏移和各个PSS 根指数相关的峰值,从而确定。将8 帧的PBCH 数据与之前生成并且添加过频率偏移的本地PSS 序列进行滑动相关,检测到的相关峰值则是PSS 所在位置的索引,计算公式为
图5 变采样变换Fig.5 Variable sampling transformation
式中,y[n]=h[n]⊗xf⁃PBCH+w[n],h[n]为离散的信道响应,xf⁃PBCH为添加频偏后的本地 PBCH 离散数字IQ 数据,w[n]为加性高斯白噪声。
由相关检测得到的峰值可以由式(2)推算出
SSS 信号则根据式(3—7)生成公式,采用逆向解扰获得。
式中,m0和m1为m序列的索引值,且 (m0,m1)与值相对应,mod 为取余操作,floor 为向下取整函数。
后续利用PSS 和SSS 信号完成PBCH 的解码。如表2 所示,主信息块(Master information block,MIB)以40 ms 为周期在PBCH 上传输(同BCH)并重复传输4 次,每次传输都携带相同的码块(Coded bit)。因此,在信道质量足够好的情况下,只接收这40 ms 内的其中一个就能成功解码出MIB,为了确保其能够解码,前面已截取8 帧信号。
图6 展示了 MIB 如何由信道 BCH 和 PBCH 将 bit 级信息进行处理。MIB 的 bit 位信息为 20,经BCH,首先添加16 位循环冗余校验(Cyclic redundancy check,CRC);进行编码和速率匹配,使得其等于PBCH 信道上40 ms 内能够提供的空间,接着码块分段等分成片段,并分别添加CRC、信道编码以及速率匹配。最后进行码块重组形成码本送给PBCH 处理。在PBCH 处理链中,将码本进行加扰、调制、层映射、预编码和资源网格映射等过程,最终由快速傅里叶逆变换(Inverse fast Fourier transform,IFFT)形成正交频分复用(Orthogonal frequency division multiplexing,OFDM)符号[15]。在Matlab 中根据协议中的规定细节设计相应模块即可逆向解码得到MIB 信息。
图6 BCH-PBCH 处理链Fig.6 BCH-PBCH chain processing
整个搜索过程的具体流程如图7 所示。小区搜索获取到下行系统带宽后便可以对整个带宽信号进行信道估计以消除信道的干扰,从而减弱宽带通信时的多径时延带来的码间串扰问题。在Matlab 中采用频域信道估计算法可降低复杂度,首先利用最大似然估计法计算信道传递函数(Channel transfer function,CTF),然后经过时频域的转换得到信道的冲激响应[16⁃17],由此得到信道估计值对CRS 的信道估计Hn。
式中,n为CRS 的数量,h为信道的冲激响应且为向量,Fn为对应参考序列的离散傅里叶变换矩阵,Zn为白噪声功率。
最后仿照PBCH 信道的解码过程,进行其他下行物理信道的解码获取SIB1 信息。LTE 中,LTE⁃RRC 协议都是ASN.1 文法描述,并且是PER 编码。为了更好地解码SIB1,本研究在Ubuntu18.04 系统下构建LTE⁃RRC 协议编解码器程序。利用36.331系列协议文档生成LTE⁃RRC 的ASN.1 描述文件,安装编译 lameditor,生成 36331⁃ac0.asn 描述文件,然后生成LTE⁃RRC.ASN1 解码程序。程序根目录下,Progname 为 LTE ⁃RRC 执 行 程 序 ,sib_info.per 为PER 编码的SIB1 信息文件,-p 命令选项指示执行程序要运行的文件类型为BCCH⁃DL⁃SCH⁃Mes⁃sage,即下行共享信道中传播的系统广播信息SIBs。在Matlab 中调用程序即可解码SIB1 获取TAC 和CID 参数。
图7 小区搜索过程Fig.7 Cell search process
3 实测验证
3.1 实测情况
数据采集平台和下行接收链路都搭建成功后,本研究分别对青岛的城市区域(测试点1)和海岸区域(测试点2)展开测试,以此验证提取技术的性能。测试1 位于青岛市城阳区,将系统置于楼顶;测试2 在小麦岛的海洋观测站放置系统,保证测试系统四周空旷无遮挡物,无干扰设施,测试环境良好。整个测试环境如表1 所示。
首先利用CellSearch 命令对LTE 的所有频段进行扫描并将跟踪到的LTE 信号利用hackrf_transfer 程序将其8 帧完整信号数据进行保存;然后在Matlab 上利用下行系统广播信息接收链路对保存下来的数据进行处理,解码出系统信息块SIB1;最后将得到的TAC 和CID 参数利用LBS 系统本地数据库进行校验,完成基站的定位和识别。
表1 测试环境Table 1 Measured environment
3.2 测试结果
2019 年 7 月 20 日和 2019 年 8 月 6 日在测试点 1 和测试点 2 依照实测方案对附近 LTE 基站分别进行了验证测试。系统成功地实现基站信息解码。表2 给出了测试点1 得到的SIB1 的解码信息。说明该测试点给出的5 个基站的TAC 和CID 的二进制编码,形成了转化为十进制系统信息的基本数据。在测试点2 的测量中,检测到2 个基站,也得到了它们的TAC 和CID 的二进制编码。
将TAC 和CID 二进制参数转化为十进制输入到LBS 系统中进行本地数据的对比,基于信息一致识别算法对基站进行鉴定,其中测试点1 和测试点2 的结果如表3 所示。
由表1,测试点1 所在城区测试地点为山东省青岛市城阳区景康路附近,测试点2 所在的小麦岛郊区测试地点为山东省青岛市崂山区麦岛路附近。因此,实际检测到的基站坐标理论上应该一致。从表3 的测试结果可知,基站1,2,5 所显示的地理坐标与理论上的地理坐标一致,显然是合法基站;基站3 的地理坐标在LBS 本地数据库中未查询到,基本可以确定它是伪基站,如果再结合现有的伪基站定位算法便可以对其进行侦测和验证;基站4 所显示的地点为福建省厦门市思明区,居然与基站的理论坐标相差几个省市的距离,明显存在异常。所以,该基站一定是伪基站。表3 的结果表明对于小麦岛郊区基站6,7 检测到的基站位置与理论上地理坐标一致所以为合法基站。
表2 测试点1 中SIB1 解码信息Table 2 SIB1 decoding information in test point 1
表3 两个测试点中基站的识别结果Table 3 Identification results of base stations in two test points
4 结束语
本文针对当前扰乱通信安全的伪基站问题,形成了用软件无线电技术提取基站信息的思路,提出了构建识别系统的一个新技术。论文设计了一个基于该技术的伪基站识别系统。系统用HackRF 硬件设备搭建软件无线电平台实现对LTE 信号的采集,通过软件Matlab 建立下行系统广播信息接收链路对采集的信号进行解调解码。实测验证中分别对青岛城区和郊区两个试验点进行了测试。测试表明系统成功获取到SIB1 参数中的CID 和TAC,并基于信息一致识别算法验证检测到的基站是否为伪基站。试验表明将软件无线电技术应用在LTE 伪基站识别中是可行的,为后续建立低成本灵活的新型伪基站检测系统研究提供基础。