从协议缺陷到空中劫持——伪基站攻击
字数 7041
更新时间 2026-04-15 13:28:36

伪基站攻击:原理、技术与防御

——基于《从协议缺陷到空中劫持——伪基站攻击》的详细解析

引言

伪基站,又称假基站、IMSI捕获器(IMSI Catcher)或流氓基站(Rogue eNodeB),是一种利用移动通信系统空口协议(Air Interface Protocol)中的结构性安全缺陷,伪造合法运营商无线网络接入点,对移动终端(如手机)进行劫持、信息窃取、欺骗攻击的设备。尽管伪基站概念早在2G(GSM)时代就已出现,但截至4G乃至5G非独立组网(5G NSA)大规模部署的今天,其威胁依然未能被彻底根除,在电信诈骗、网络攻击等领域仍被频繁利用。

本教学文档基于《从协议缺陷到空中劫持——伪基站攻击》一文的内容,从协议缺陷、攻击技术、攻击场景、检测手段及防御措施等多个维度,对伪基站攻击进行系统性剖析与总结。

第一章 核心:移动通信协议的根本性缺陷

伪基站能够存在的根本原因在于移动通信系统(特别是GSM和LTE)的空口安全模型在设计与演进过程中,存在着难以彻底消除的结构性信任模型缺陷,并因向后兼容的约束而延续至今。

1.1 GSM(2G)的单向认证缺陷

核心问题:终端对网络的信任是无条件的。

GSM在设计之初,受限于20世纪80年代末的终端计算能力、空口带宽以及有限的安全威胁模型(主要考虑防窃听,而非防伪造网络),其鉴权流程是单向的:即网络(Network)认证终端(UE),但终端不认证网络。

鉴权流程简述

  1. 网络侧(HLR)生成一组鉴权三元组(RAND, SRES, Kc),其中Kc是会话密钥。
  2. 基站(BTS)将RAND发送给终端。
  3. 终端SIM卡使用预置的密钥Ki和收到的RAND,通过A3算法计算得到响应值SRES',并回送给网络。
  4. 网络比较SRES与SRES',一致则认证通过,并使用Kc(通过A5算法)加密后续空口通信。

缺陷剖析

  • 无网络身份验证:终端在收到网络的Authentication Request时,没有任何机制验证发送方是否为合法运营商网络。只要攻击者能在特定频点上广播一个格式合规的广播控制信道(BCCH),终端就会按照3GPP标准的小区选择流程尝试驻留。
  • 主动权在网络侧:终端无法拒绝一个不要求鉴权的网络连接,也无法拒绝一个不启用加密(A5/0,即无加密)的连接,这两者的控制权完全掌握在网络侧。攻击者可以选择跳过鉴权流程,或强制使用不加密模式。

1.2 LTE(4G)的双向认证及其局限性

改进:LTE引入了基于EPS-AKA协议的双向认证,理论上解决了GSM单向认证的根本问题。

新问题:双向认证发生在NAS(非接入层)的附着(Attach)流程中。而在完成NAS层双向认证和建立安全上下文之前,终端与基站之间需要进行RRC(无线资源控制)连接建立。这个阶段的RRC信令是完全没有加密和完整性保护的

攻击窗口:这个“先连接,后验证”的预认证信令窗口期,为攻击者提供了操作空间。攻击者可以利用未经保护的RRC信令操纵终端行为,主要攻击原语包括:

  • RRC重定向攻击(RRC Redirect):攻击者通过伪造RRC Connection RejectRRC Connection Release消息,在其中携带redirectedCarrierInfo信息单元,将终端强制重定向到攻击者控制的2G(GSM)小区。由于RRC消息无完整性保护,终端无法辨别其真伪。
  • TAU拒绝攻击(TAU Reject):攻击者发送携带特定EMM原因值(如#7(EPS服务不允许)或#8(EPS和所有非EPS服务都不允许))的附着拒绝(Attach Reject)或跟踪区更新拒绝(TAU Reject)消息,导致终端将USIM卡标记为无效,从而拒绝接入任何网络。

1.3 信令面的安全真空地带

从终端发起RRC Connection Request到AS(接入层)安全模式激活完成,存在一个完整的明文信令交互窗口。在此期间,多种关键信令缺乏保护:

信令阶段 加密 完整性保护 潜在可利用的攻击
MIB/SIB广播 小区参数伪造
RRC连接建立请求/配置 身份(如TMSI)嗅探
RRC连接拒绝/释放 重定向攻击
NAS附着请求 IMSI捕获
NAS鉴权流程 中间人攻击(受AKA协议限制)
NAS安全模式命令 降级到弱加密算法
AS安全模式命令 -
安全上下文激活后 用户面数据(无完整性保护)

即使在安全上下文建立后,某些NAS消息(如身份请求Identity Request、去附着请求Detach Request)在标准中允许在没有安全上下文的情况下发送,这为攻击者提供了额外的操作空间。

第二章 伪基站攻击的技术链路

2.1 硬件平台与射频前端

搭建伪基站的技术门槛已大幅降低。核心是软件无线电(SDR)板卡。

常见SDR硬件平台

  • USRP B210:频率70 MHz–6 GHz,带宽56 MHz。
  • bladeRF 2.0 xA9:频率47 MHz–6 GHz,带宽56 MHz。
  • LimeSDR:频率100 kHz–3.8 GHz,带宽61 MHz。
  • HackRF One:频率1 MHz–6 GHz,带宽20 MHz。

功率优势:伪基站无需与运营商宏基站比拼绝对发射功率。其依赖的是近距离的路径损耗差异。例如,合法宏基站(EIRP 46 dBm,距离300米)到达手机的接收功率约为-74 dBm。而伪基站(EIRP 10 dBm,距离10米)到达手机的接收功率约为-58 dBm。两者相差16 dB,远超小区重选滞后参数Qhyst的典型值(2-4 dB)。因此,一块不加功率放大器(PA)的SDR板卡,在10米内就能以更强的信号“吸附”终端。

2.2 协议栈实现

  • GSM伪基站:常用Osmocom项目的OsmoNITB(Network In The Box),它将BTS、BSC、MSC、HLR等功能集成在一个进程中,配置简单,可单机运行完整GSM网络。
  • LTE伪基站:常用srsRAN(原srsLTE)项目,包含srsENB(基站)和srsEPC(核心网)组件。实现LTE伪基站的复杂度远高于GSM,因其涉及OFDM调制、HARQ反馈、严格的定时提前量(Timing Advance)控制,对实时性要求极高,需要在通用PC上进行内核实时性优化(如PREEMPT_RT补丁、CPU核隔离)。

关键配置示例(srsRAN enb.conf)

[enb]
mcc = 460         # 目标运营商MCC(中国)
mnc = 00          # 目标运营商MNC(中国移动)
mme_addr = 127.0.0.1 # 指向本机srsEPC
n_prb = 25        # 25个资源块,对应5 MHz带宽

[sib1]
tac = 0x0001      # 与目标区域合法跟踪区码(TAC)一致
cell_barred = false
intra_freq_reselection = allowed

[sib2]
q_rx_lev_min = -70 # S准则最低接收电平门限,设置较低便于终端驻留

2.3 利用小区重选机制

伪基站成功的核心是终端主动选择并驻留到伪基站,这是3GPP标准定义的行为。根据TS 36.304,终端基于R准则(Cell Ranking Criterion) 进行同频小区重选:

  • 服务小区排序值:Rs = Qmeas,s + Qhyst
  • 邻区(伪基站)排序值:Rn = Qmeas,n - Qoffset
  • 重选条件:当Rn > Rs持续Treselection时间,终端将重选到邻区。

其中:

  • Qmeas是测量到的参考信号接收功率(RSRP)。
  • Qhyst是滞后参数,防止乒乓重选。
  • Qoffset是偏移参数,由服务小区针对每个邻区配置。合法网络不会为伪基站配置偏移(默认为0),这反而使伪基站更容易被选中。

计算实例

  • 服务小区RSRP = -80 dBm, Qhyst = 4 dB -> Rs = -76
  • 伪基站RSRP = -58 dBm, Qoffset = 0 dB -> Rn = -58
  • 由于Rn (-58) > Rs (-76),终端将在约2秒后重选到伪基站。

2.4 攻击流程

  1. 环境侦察:使用srsuecell_searchkalibrate-rtl等工具扫描周边合法基站的频点、物理小区标识(PCI)、公共陆地移动网络(PLMN)标识、跟踪区码(TAC)、带宽等参数,用于配置伪基站。
  2. 配置启动:设置伪基站的PLMN为目标运营商,选择不与周边冲突的PCI和频点,通常使用5MHz带宽(足以承载信令)。
  3. 终端吸附:伪基站开始广播MIB和SIB。周边终端在进行小区重选时,发现这个“新小区”信号更强,便会自动驻留过来。
  4. 攻击执行:根据攻击目标,执行IMSI采集、短信注入、重定向降级或拒绝服务等操作。
  5. 释放循环:攻击完成后释放终端连接(或等待超时),终端返回合法网络。在批量攻击中,每个终端的交互时间可控制在几百毫秒到几秒。

第三章 典型攻击场景

3.1 GSM降级劫持

这是国内伪基站电信诈骗中最常见的模式。

攻击步骤

  1. 伪基站工作在GSM频段,广播与目标运营商一致的PLMN,但设置一个不同的位置区码(LAC)。终端驻留后,由于LAC变化,会触发位置更新请求(Location Update Request)。
  2. 伪基站接收到包含明文IMSILocation Update Request
  3. 关键步骤:伪基站跳过标准的Authentication Request鉴权流程,直接回复Location Update Accept
  4. 随后,伪基站通过CP-DATA消息下发短信(SMS-DELIVER),并可以伪造任意发送方号码(如95588)。

攻击特征(Wireshark解码可见)

  • Authentication Request/Response交互。
  • Ciphering Mode Command(即使用A5/0无加密模式)。
  • 全程交互时间极短(2-3秒)。

3.2 LTE重定向攻击

攻击步骤

  1. 攻击者部署LTE伪eNodeB。
  2. 终端驻留后发起RRC Connection Request
  3. 伪eNodeB回复RRC Connection Release消息,并在其中携带redirectedCarrierInfo信息单元,指示终端重定向到指定的GSM频点(ARFCN)。
  4. 终端遵循规范执行重定向,连接到攻击者控制的2G小区,之后攻击者即可执行GSM降级劫持。

技术要点RRC Connection Release消息本身是合法的,运营商也用它进行负载均衡。攻击者只需修改srsRAN源码中rrc_conn_release_s结构体的redirected_carrier_info字段,填入目标GSM频点即可。

3.3 aLTEr:用户面数据篡改

攻击原理:LTE用户面数据使用AES-CTR模式加密,但缺乏完整性保护。攻击者可以在伪基站和真实基站之间充当“中继”(relay),利用AES-CTR流密码的可塑性(malleability),对经过的加密数据包(如DNS查询)进行比特翻转(bit-flipping),从而篡改目标IP地址,将其指向恶意DNS服务器。

影响:此攻击可导致DNS劫持,进而实施流量劫持或中间人攻击。

5G NSA的继承性:在5G非独立组网(NSA)模式下,控制面(信令)锚定在LTE上,因此上述所有LTE的安全缺陷(包括重定向攻击和用户面缺乏完整性保护)被完全继承。

第四章 伪基站的检测

4.1 终端侧检测

核心是基于信令行为的异常监控。

检测维度

  1. 网络制式异常回落:在非弱覆盖区域,终端从4G/5G突然回落到2G。
  2. 加密与鉴权异常:连接2G小区时未进行鉴权,或加密算法为A5/0(无加密)。
  3. 小区参数突变:服务小区的位置区码(LAC)、跟踪区码(TAC)、物理小区标识(PCI)发生异常变化。
  4. 信号强度阶跃:在低速移动状态下,接收信号强度指示(RSSI)发生剧烈突变。

实现方式

  • 应用层:Android从API 17开始提供TelephonyManagerCellInfo等接口,但信息粒度有限。
  • 底层接口:需要通过高通诊断(DIAG)接口或联发科工程模式(Engineer Mode)获取更详细的信令信息(如鉴权状态、加密算法)。
  • 厂商方案:华为、小米等厂商在基带芯片中集成了私有检测逻辑,比应用层更准确。

检测算法逻辑示例

def evaluate_cell_risk(cell_event):
    score = 0
    # 1. 网络制式异常降级
    if cell_event.rat_changed and cell_event.new_rat == '2G':
        if not is_known_weak_coverage(cell_event.location):
            score += 40
        if cell_event.cause == 'redirect':
            score += 25
    # 2. 鉴权与加密异常
    if cell_event.rat == '2G':
        if not cell_event.auth_performed: score += 35
        if cell_event.cipher_algo == 'A5/0': score += 30
    # 3. 小区参数异常
    if cell_event.pci not in known_neighbor_list: score += 15
    if cell_event.cell_id_conflict: score += 25
    # 4. 射频环境异常
    if cell_event.rssi_jump > 15 and cell_event.speed < 5:
        score += 20
    # 判定
    if score >= 70: return ALERT_HIGH
    elif score >= 40: return ALERT_MEDIUM
    else: return NORMAL

4.2 网络侧检测与定位

运营商拥有全网视角,检测手段更强。

检测方法

  1. 异常PCI检测:在网络测量报告(MR)数据中,出现不在网络规划库中的陌生PCI,是强异常信号。
  2. 信令面异常检测:核心网信令面出现区域性、批量的异常脱网(S1 Release)和重接入事件尖峰。
  3. 无线定位:通过到达时间差(TDOA)和到达角(AOA)等无线电监测技术,可以对伪基站进行百米级精确定位。

网络侧异常检测SQL示例

-- 1. 检测异常脱网事件
SELECT time_bucket, enb_id, count(distinct imsi) as detach_count
FROM s1mme_events
WHERE event_type IN ('S1_RELEASE', 'UE_CTX_RELEASE')
GROUP BY time_bucket(5min), enb_id
HAVING detach_count > 3 * historical_avg(enb_id)

-- 2. 关联测量报告中的陌生PCI
SELECT mr.neighbor_pci, mr.neighbor_rsrp
FROM measurement_reports mr
WHERE mr.serving_enb_id IN (上述查询结果)
  AND mr.neighbor_pci NOT IN (SELECT pci FROM network_plan)

-- 3. 时空聚合分析,推断移动轨迹(车载/固定模式)
-- 4. 触发TDOA/AOA定位,输出坐标

4.3 检测的局限性

  • 滞后性:攻击可能在几分钟内完成,而检测、定位、出警的链条需要数十分钟。
  • 终端碎片化:不同芯片平台(高通、联发科)对底层信令的暴露程度不同,导致检测能力不一。
  • LTE伪基站难以分辨RRC Connection Release携带重定向信息本身是合法网络行为,难以区分是负载均衡还是攻击。
  • 对抗进化:攻击者可采用跳频、功率控制、移动中短暂开启等方式规避检测。

第五章 防御与对抗措施

5.1 5G新机制:SUCI(隐藏的用户标识)

5G引入了SUCI(Subscription Concealed Identifier,隐藏的用户标识),用于替代明文传输的IMSI。

原理:终端使用归属网络运营商的公钥对SUPI(相当于IMSI)进行加密,生成SUCI。每次接入网络时使用的SUCI密文都不同,有效防止了IMSI在空口被捕获和追踪。

局限性:SUCI仅保护用户身份隐私,不能阻止终端接入伪基站。攻击者仍然可以迫使终端接入伪基站,并执行重定向、拒绝服务等攻击。一旦攻击者成功将终端降级到2G,由于2G不支持SUCI,终端仍会回退到明文IMSI传输。

5.2 运营商与终端的工程措施

运营商侧

  • 加速2G退网:从网络侧彻底移除2G网络,是最直接有效的防御GSM降级攻击的方法。
  • 限制重定向列表:在网络配置中,不将GSM频段纳入合法的异频/异系统重定向目标列表。
  • 启用用户面完整性保护(UPIP):5G NR标准支持用户面数据的完整性保护,可防御aLTEr类攻击,但会引入额外的开销。

终端侧

  • 网络模式锁定:用户可将手机网络模式手动设置为“仅LTE/5G”,禁止回落到2G/3G。Android和iOS均支持此功能。
  • 系统级检测与告警
    • 高通骁龙等芯片在基带中集成了检测逻辑。
    • Google在Android 12中增强了伪基站检测API。
    • Apple在iOS中加入了2G降级时的安全告警。

第六章 5G时代的新攻击面与遗留问题

尽管5G在安全上有所增强,但攻击面依然存在,部分旧有问题被继承。

  • NSA组网的安全继承:5G NSA模式下,控制面锚定在LTE eNodeB上,因此所有LTE的空口安全缺陷被完全继承
  • SIB伪造:5G NR的主信息块(MIB)和系统信息块(SIB)广播仍然没有完整性保护,可被伪造。
  • 网络切片选择:网络切片选择辅助信息(NSSAI)的协商发生在安全上下文建立之前,可能被操纵。
  • O-RAN的开放性:O-RAN架构使基站软件更加开放,可能降低攻击者获取和修改协议栈软件的门槛。

根本悖论:移动通信协议的安全模型建立在“终端必须先尝试连接,然后才能验证网络身份”的基础上。这个“先连接、后验证”的窗口期在5G中虽被缩小(通过SUCI、增强的NAS安全等),但未被根本消除。彻底解决可能需要依赖物理层安全机制,这已超出了当前3GPP标准化的范畴。

总结

伪基站攻击的本质是移动通信空口协议中“网络侧被默认可信”这一设计假设,与开放的无线电磁环境这一现实之间的根本矛盾。这一脆弱性链条从GSM的单向认证,到LTE的预认证信令窗口,再到5G NSA的安全继承,贯穿了移动通信三十余年的发展。

防御伪基站没有单一的“银弹”,需要协议标准(如5G SA的完整安全特性)、网络部署(如2G退网、合理配置)、终端实现(如基带芯片级检测、网络模式锁定)三个层面的协同改进。

对于普通用户而言,最务实有效的防御措施是:

  1. 将手机网络模式设置为“仅LTE/5G”,避免自动回落到不安全的2G网络。
  2. 对来路不明的短信、尤其是包含链接的短信,保持高度警惕,不轻易点击。

技术的演进是攻防交替上升的过程。伪基站的攻击面随着通信技术的迭代正在持续收窄,但对其技术原理的深入理解,始终是构建有效防御体系的基础。


本教学文档内容完全基于提供的链接《从协议缺陷到空中劫持——伪基站攻击》一文整理、提炼和总结而成,未引入外部知识。

相似文章
相似文章
 全屏