基于Open RAN与机器学习的5G无线接入网攻击早期检测系统
1. 项目概述与核心价值
在移动通信网络里,安全防护一直是个“猫鼠游戏”。攻击者手段层出不穷,而传统的防御体系,比如在核心网部署的深度包检测(DPI)或入侵检测系统(IDS),常常有种“马后炮”的无力感。等恶意流量穿过无线接入网,抵达核心网才被识别出来,网络可能已经承受了不小的冲击,用户体验和运营商声誉都已受损。这就像小区保安只在每栋楼的单元门口设卡,坏人已经进了小区大门搞破坏了,保安才反应过来。
5G和未来6G网络带来的开放化、软件化变革,为解决这个问题撕开了一道口子。Open RAN(开放无线接入网)架构的核心理念是解耦与开放,它引入了一个关键角色——RAN智能控制器(RIC)。这个RIC,尤其是近实时RIC(near-RT RIC),就像一个驻扎在接入网边缘的“智能哨兵”,拥有10毫秒到1秒级别的控制能力。我们的项目,正是利用这个“哨兵”,结合机器学习,在攻击流量刚刚冒头、甚至还没进入核心网时,就把它揪出来。
核心思路很直接 :与其在核心网检查每个数据包的“身份证”(包头信息),不如在空口(无线接口)观察用户设备(UE)和基站(gNB)之间通信的“行为特征”。恶意流量,比如DoS攻击,即使伪装了数据包内容,它在物理层和MAC层的“行为模式”——比如信号质量突变、资源请求异常、数据包成功/失败率的诡异变化——与正常网页浏览、语音通话是截然不同的。我们通过近实时RIC持续采集这些底层测量指标,训练机器学习模型来识别这些异常模式,一旦判定为攻击,RIC可以立即指令基站采取行动,比如释放该用户的RRC连接,将其“踢下线”。
这项技术的价值不言而喻。它将安全防御的战线从核心网大幅前推到了网络边缘的分布式单元(DU)甚至更前端。对于运营商而言,这意味着能更早地遏制攻击影响范围,保护核心网元,保障大多数正常用户的业务体验。对于我们这些搞网络安全的工程师来说,这打开了一扇新的大门:利用网络本身的可编程性和智能化,实现内生安全,而不再是外挂式的修补。
2. 系统架构深度解析:从理念到实现
2.1 Open RAN与近实时RIC:为什么是它们?
要理解我们这个检测系统,得先吃透Open RAN和RIC。传统RAN设备是软硬件一体的“黑盒”,设备商说了算,运营商想在里面加个新功能,流程漫长。Open RAN通过定义开放的接口(如E2、A1),将RAN功能拆分成无线电单元(RU)、分布式单元(DU)、集中式单元(CU)以及上层的RIC,实现了软硬件解耦。
RIC是Open RAN的“大脑”,分为非实时RIC(non-RT RIC)和近实时RIC(near-RT RIC)。非实时RIC负责分钟级到小时级的策略优化、模型训练;而近实时RIC,正是我们项目的舞台,它工作在10ms-1s的时延区间内,通过运行其上的xApp(微服务应用),直接控制DU/CU的行为。
注意 :这里有个关键点,近实时RIC的“控制”是策略性的,比如调度权重调整、连接释放,它不直接转发用户面数据流,因此不会引入额外的数据面时延。我们的攻击检测xApp就运行在这个层面。
选择Open RAN架构和近实时RIC,基于几个核心考量:
- 数据可得性 :只有开放的E2接口,才能让我们以标准化的方式,从基站软件(如srsRAN)中实时获取到物理层和MAC层的详细测量报告。这是传统封闭设备无法提供的。
- 控制实时性 :1秒以内的控制闭环,使得“检测-响应”成为可能。发现攻击后,能快速下发控制命令,实现早期拦截。
- 灵活性 :xApp的模式允许快速开发、部署和迭代新的安全算法,无需等待设备商的大版本升级。
2.2 整体框架设计与数据流
我们的系统框架可以清晰地划分为三个逻辑平面:操作平面、预测平面和学习平面。整个数据流和控制流围绕一个自研的、低时延的消息总线(Databus)构建。
操作平面 :这是网络的“物理世界”。核心组件是经过我们修改的srsRAN开源基站软件,以及我们开发的一个 RIC代理(RIC Agent) 。这个代理编译进基站软件里,扮演“传感器”和“执行器”的双重角色。一方面,它周期性地(例如每100毫秒)采集连接到此基站的所有UE的物理层和MAC层测量值;另一方面,它监听来自控制平面的命令并执行。操作平面还包括真实的UE(用USRP软件无线电模拟)和核心网。
预测平面 :这是系统的“决策大脑”,运行在近实时RIC上。它包含我们核心的 在线机器学习分类器(Online ML Classifier)xApp 。该xApp通过Databus持续订阅来自各个基站RIC Agent的测量数据流。每当收到一批新数据,分类器立刻进行推理,判断每个UE当前的流量属于良性(如网页、VoIP)还是恶意攻击(如DDoS Ripper)。根据预定义的安全策略(例如,一旦识别为攻击,则丢弃该用户数据包或释放连接),预测平面会通过Databus向对应的RIC Agent发送控制命令。
学习平面 :这是模型的“训练营”,通常与非实时RIC协同工作。它包含 数据集收集器 和 ML模型训练 组件。预测平面在在线分类的同时,会将采集到的数据(打上最终的分类标签作为ground truth)同步给学习平面。学习平面积累数据,定期或触发式地启动模型再训练,优化特征或调整模型参数。当新模型的性能(如F1分数)显著提升后,会被无缝部署到预测平面,替换旧模型,实现模型的在线演进。
Databus(消息总线) :整个系统的中枢神经。我们选用ZeroMQ(ZMQ)来实现,因为它轻量、高效,支持发布-订阅模式,非常适合这种高吞吐、低时延的微服务间通信。经测试,我们自研的Databus处理延迟(δd)仅为45微秒,为整个控制循环争取了宝贵的时间预算。
整个控制环的总时延 Td = tn + 2δd + δi ,其中 tn 是网络往返时延, δi 是模型推理时延。在我们的实验环境中, tn 约为670微秒(因为所有组件物理共置)。因此,只要 δi 控制在合理范围,满足1秒的近实时要求绰绰有余。
3. 特征工程:从空口信号到攻击指纹
机器学习模型性能的上限,很大程度上由特征决定。在核心网做DPI,特征空间非常丰富:源/目的IP、端口、协议类型、包长序列、载荷特征等。但在RAN侧,我们拿不到这些高层信息,只能利用物理层和MAC层的“粗粒度”测量值。这既是挑战,也是创新点——我们需要从这些看似与内容无关的信号指标中,提炼出攻击行为的“指纹”。
我们最终筛选并使用了7个核心特征,它们全部来自基站侧的测量报告,分为物理层和MAC层两类:
物理层特征(反映信道条件与链路质量) :
- 信道质量指示器(CQI) :由UE测量并反馈给基站,范围0-15。数值越高,代表信道条件越好,可支持的调制编码阶数越高。在DoS攻击下,攻击流量可能占用大量资源导致干扰增加,或者攻击源本身信号质量差,都会引起CQI的异常波动或持续低值。
- 调制与编码方案(MCS) :基站根据CQI、缓存状态等因素动态选择,范围0-28。它直接决定了物理资源块(PRB)的传输效率。攻击流量可能导致基站为维持连接而频繁切换或使用低阶MCS。
- PUSCH SINR(物理上行共享信道信干噪比) & PUCCH SINR(物理上行控制信道信干噪比) :分别衡量上行数据信道和控制信道的信号质量。攻击,尤其是泛洪攻击,会产生大量上行数据或控制信令,可能显著恶化SINR,影响其他正常用户。
MAC层特征(反映流量模式与资源使用) :
- 比特率(brate) :单位时间内的数据传输速率。这是最直观的特征。例如,DDoS Ripper攻击会试图维持极高的比特率以压垮服务器。
- 成功传输包数(pkt_ok) & 丢包数(pkt_nok) :MAC层确认成功或失败的包数量。正常流量(尤其是TCP业务)的丢包率会维持在一个较低且稳定的水平。而攻击流量可能导致因资源竞争、调度失败或链路质量差而出现异常的丢包率。Slowloris这种低速攻击,
pkt_ok可能会异常地低且稳定。
实操心得:特征窗口与聚合 原始测量值是瞬时值,噪声很大。直接喂给模型效果很差。我们实际采用的是 滑动时间窗口聚合统计 的方法。例如,以1秒为窗口,每100毫秒采集一次,窗口内计算每个特征的均值、方差、最大值、最小值、变化趋势等。这样,一个样本就从7个值变成了几十个统计特征,更能刻画流量在短时间内的行为模式。比如,正常网页浏览的比特率是突发性的,方差大;而VoIP相对平稳;DoS Hulk攻击则可能呈现持续的高均值、低方差。
为什么这些特征有效? 攻击的本质是破坏服务的可用性,其手段必然会在无线资源的使用上留下痕迹。无论是消耗带宽(高brate)、占用连接(保持大量低速率连接,影响pkt_ok/nok比例),还是因恶意行为导致的信道质量恶化(CQI、MCS、SINR下降),这些底层指标就像人体的“生命体征”,一旦出现异常组合,就预示着“疾病”(攻击)的发生。我们的工作,就是通过机器学习找到这些异常组合的规律。
4. 模型选型、训练与部署实战
4.1 算法选型:为什么是树模型?
面对近实时RIC严格的时延约束(整个控制环<1秒,留给模型推理的时间 δi 通常需在几十毫秒内)和有限的特征集,我们评估了多种经典机器学习算法:支持向量机(SVM)、k近邻(k-NN)、决策树、随机森林、自适应提升(AdaBoost)和多层感知机(MLP)。
评估标准有两个: 准确率 和 推理时延 。我们在包含正常流量(网页、VoIP)和三种DoS攻击(DDoS Ripper, DoS Hulk, Slowloris)的数据集上进行了离线训练与测试。结果如下表所示:
| 算法 | 准确率 | 训练时间(秒) | 推理时延(毫秒) |
|---|---|---|---|
| SVM | 0.64 | 1952.220 | 3.02 |
| k-NN | 0.90 | 0.793 | 2.10 |
| 决策树 | 0.93 | 0.627 | 1.25 |
| 随机森林 | 0.95 | 0.783 | 2.86 |
| AdaBoost | 0.87 | 19.615 | 3.05 |
| MLP | 0.56 | 15.720 | 1.29 |
分析决策 :
- SVM和MLP :准确率过低,排除。MLP表现差可能因为特征维度相对较低且存在非线性关系,在小数据集上容易过拟合或难以收敛。
- k-NN :准确率尚可(90%),推理时延也较低。但其在线推理时需要存储和计算全部训练样本的距离,内存和计算开销随数据量线性增长,不适合长期在线部署。
- AdaBoost :准确率一般,训练和推理时延均无优势。
- 决策树与随机森林 :两者准确率最高(93% vs 95%)。决策树推理速度极快(1.25ms),随机森林稍慢(2.86ms)但准确率更高2个百分点。
最终选择随机森林 。原因在于:
- 高准确性与鲁棒性 :随机森林通过集成多棵决策树,降低了单棵树的过拟合风险,对噪声和异常值更不敏感,这在网络流量这种充满变数的环境中至关重要。
- 可解释性 :虽然不如单棵决策树直观,但随机森林仍能提供特征重要性排序,这对于我们理解哪些空口指标对攻击检测贡献最大非常有价值,便于后续优化特征工程。
- 时延满足要求 :2.86ms的推理时延,加上我们系统中网络和总线延迟(约0.76ms),总控制环延迟约3.62ms,距离1秒的上限有近996ms的余量,为未来在更复杂的分布式部署中预留了充足的网络传输时间预算。
- 并行化潜力 :随机森林的推理过程(多棵树投票)可以很容易地并行化,在未来硬件升级后能进一步压缩推理时间。
4.2 模型训练与调优细节
我们使用单UE场景下收集的数据集进行训练(约20万条样本,各类别分布见表II第一列)。数据预处理包括缺失值填充(用前后值插补)、标准化(Z-Score)以及前述的滑动窗口特征工程。
随机森林关键参数设置 :
n_estimators: 100。树的数量,权衡精度与计算成本。我们通过交叉验证发现,超过100棵后精度提升边际效应递减。max_depth: 15。限制树的最大深度,防止过拟合。min_samples_split: 5。内部节点再划分所需最小样本数。min_samples_leaf: 1。叶节点最少样本数。设置较小以捕捉细节模式。max_features:'sqrt'。每棵树分裂时考虑的特征数是总特征数的平方根,这是随机森林的默认推荐值,有助于提升多样性。class_weight:'balanced'。由于攻击样本相对良性样本可能较少,此参数自动调整类别权重,避免模型偏向多数类。
训练完成后,我们在双UE场景的独立测试集上(约108万条样本)进行验证,模型保持了95%的整体准确率,证明了其良好的泛化能力。
4.3 在线部署与xApp实现
训练好的随机森林模型通过 pickle 序列化后,集成到近实时RIC的xApp中。这个xApp是一个持续运行的服务,主要逻辑如下:
- 订阅数据 :通过ZMQ订阅Databus上特定主题(如
/measurements/<gNB_ID>),实时接收来自各基站RIC Agent上报的、经过聚合后的特征向量。 - 预处理 :对收到的特征向量进行与训练阶段一致的标准化处理。
- 推理 :调用加载的随机森林模型
predict_proba()方法,获取属于各个流量类别的概率。 - 决策 :根据概率阈值(例如,攻击类别概率>0.9)和预定义策略进行决策。策略可以很简单,如“若判定为攻击,则发送
UE_CONTEXT_RELEASE命令”;也可以更复杂,如结合历史行为进行判决。 - 发布命令 :将决策生成的控制命令(如
{“action”: “release”, “ue_id”: “xxx”})发布到Databus的相应命令主题,等待RIC Agent接收执行。 - 数据回馈 :将本次推理使用的特征和最终判定的标签(作为ground truth的近似)发送回学习平面的数据集收集器,用于后续模型迭代。
5. 实验结果分析与性能解读
离线模型评估固然重要,但真正的考验在真实的测试床环境中。我们在OpenIreland研究测试床上搭建了完整的系统,使用USRP模拟UE和基站,进行了大量实验。
5.1 分类性能深度剖析
我们关注的不仅是整体准确率,更关注模型在具体类别上的表现,特别是 召回率(Recall) ——即实际是攻击的流量,有多少被成功检测出来。漏报的代价远高于误报。
下表展示了我们部署的随机森林xApp在五分类(两种良性,三种攻击)任务上的详细性能:
| 流量类别 | 精确率 (Precision) | 召回率 (Recall) | F1分数 (F1-Score) |
|---|---|---|---|
| 网页浏览 | 0.93 | 0.96 | 0.94 |
| VoIP | 0.97 | 0.95 | 0.96 |
| DDoS Ripper | 0.94 | 0.87 | 0.90 |
| DoS Hulk | 0.87 | 0.95 | 0.91 |
| Slowloris | 0.97 | 0.95 | 0.96 |
| 良性(汇总) | 0.94 | 0.96 | 0.95 |
| 攻击(汇总) | 0.98 | 0.96 | 0.97 |
结果解读 :
- 整体性能优异 :二分类(良性 vs 攻击)的F1分数达到0.97,证明模型能非常可靠地区分正常与恶意流量。
- 攻击检测能力强 :对三种攻击的召回率均在87%以上,尤其是对DoS Hulk和Slowloris的召回率超过95%。这意味着绝大多数攻击都能被成功捕获。
- DDoS Ripper的召回率稍低(87%) :分析混淆矩阵发现,部分DDoS Ripper流量被误判为DoS Hulk。这是因为两者都是高流量泛洪攻击,在空口特征上非常相似。不过,由于它们都是攻击,在实际安全策略中,只要被判定为“攻击”大类即可触发响应,这个误判不影响防御效果。
- 高精确率 :攻击类别的精确率达0.98,意味着模型判断为攻击的警报中,98%都是真实的攻击,误报率极低。这对于避免误伤正常用户、维持网络稳定性至关重要。
5.2 时延与早期检测能力验证
这是本项目最关键的创新点: 到底能多早发现攻击?
我们测量了从攻击流量开始发生,到系统能够稳定、正确地将其分类所需的时间。结果用累积分布函数(CDF)图展示(对应原文图4)。分析发现,所有流量类型在初始的 500毫秒 内都处于一个“行为不稳定”的过渡期。500毫秒后,超过90%的流量实例都能被正确分类。
重要提示 :这个“500毫秒”不是系统的响应时间,而是流量模式稳定下来、可供可靠分类所需的最短观察时间。我们的系统每100毫秒采集并处理一次数据。这意味着,理论上在攻击开始后的第5个测量周期(即第500毫秒时刻),系统就有超过90%的概率做出正确判决。再加上约3.62毫秒的控制环处理时间, 系统能在攻击发起后约504毫秒内完成检测并启动 mitigation 。
这个速度是革命性的。相比传统核心网检测方案(通常需要数秒甚至更长时间来汇聚流量、进行深度分析),我们的方案将检测点提前到了DU,响应速度提升了一到两个数量级,能在攻击造成大规模网络拥塞或服务瘫痪之前就将其扼杀。
5.3 与核心网IDS方案的对比
为了凸显边缘检测的优势,我们与文献中基于核心网DPI的IDS方案进行了粗略对比。例如,有研究在可编程交换机上实现ML流量分类,报告了97%的F1分数,但每个数据包会引入约3.7微秒的额外处理延迟。我们的方案有根本不同:
- 检测位置 :我们在RAN边缘,他们在核心网。我们更早。
- 数据源 :我们用空口测量,他们用数据包包头。我们无需解析包内容,隐私性更好,且能检测某些加密流量下的行为异常。
- 对数据面的影响 :我们的近实时RIC运行在控制面, 不直接处理用户数据包,因此对数据面转发零延迟、零吞吐量影响 。他们的方案是数据面 inline 处理,虽延迟增加微小,但毕竟存在。
因此,我们的方案在实现可比检测精度(F1 0.97 vs 0.97)的同时,具备了 更早检测 和 对数据面无损 的双重优势。
6. 实操挑战、避坑指南与未来展望
6.1 部署与调试中的常见问题
-
特征采集不稳定 :初期发现CQI、MCS等指标波动剧烈,导致模型性能不稳定。
- 排查 :检查基站和UE的射频校准、参考信号功率设置。不稳定的无线环境会引入大量噪声。
- 解决 : 增加测量采样频率,并采用更长的滑动窗口进行平滑与聚合 。我们最终将采样间隔从1秒缩短到100毫秒,并使用1秒的窗口计算统计特征,有效滤除了短期抖动,保留了趋势信息。
-
RIC Agent与基站集成导致崩溃 :在修改srsRAN集成自研RIC Agent时,频繁出现基站进程崩溃。
- 排查 :内存访问越界、线程锁竞争。srsRAN是强实时软件,对资源管理和线程安全要求极高。
- 解决 : 采用异步、非阻塞的通信模式 。确保RIC Agent的数据采集和命令接收模块运行在独立的低优先级线程,通过线程安全的队列与主基站线程交换数据,避免直接操作关键数据结构。同时,ZMQ的通信超时设置要合理,避免因控制平面暂时无响应而阻塞基站。
-
模型在真实环境性能下降 :实验室训练好的模型,部署到真实测试床后,对某些UE的攻击检测准确率下降。
- 排查 :训练数据集的“场景多样性”不足。实验室数据可能只覆盖了有限的信道条件和UE移动模式。
- 解决 : 实施持续学习(Continual Learning)管道 。这正是我们架构中“学习平面”的价值所在。在线部署后,持续收集带标签(由初期模型或人工辅助标注)的新数据,定期(如每天)用新数据微调模型,或每周/每月重新训练,使模型能适应网络环境的变化和新出现的攻击变种。
-
控制命令执行延迟不确定 :有时从RIC下发释放连接命令到UE实际断开,延迟超过预期。
- 排查 :除了网络传输延迟,主要耗时在基站的RRC信令处理流程和UE的响应时间上。
- 解决 : 区分“检测时延”和“缓解时延” 。在系统设计指标中明确,我们保证的是“检测判决”在近实时周期内完成。而“缓解动作”(如连接释放)的执行时间受制于标准无线协议流程,可能达到几百毫秒。但这并不影响检测本身的有效性,因为恶意流量在检测后已被标记,基站可以开始限制其调度优先级。
6.2 未来优化方向
- 向实时RIC(RT RIC)演进 :当前近实时RIC的时延要求是10ms-1s。下一步是挑战 实时RIC(<10ms) 的检测。这对模型提出了更高要求,可能需要探索更轻量级的模型(如剪枝后的决策树、微型神经网络)或专用硬件加速。
- 融合更多上下文信息 :目前仅使用空口测量。未来可以结合非实时RIC下发的用户订阅信息、历史行为画像、小区负载状态等,进行联合判决,减少误报,并实现更精细化的策略(如对高价值用户采取告警而非立即断链)。
- 无监督与半监督学习 :当前依赖有标签数据训练。未来可以引入无监督异常检测算法(如孤立森林、自编码器),用于发现未知的、零日攻击模式,与有监督模型形成互补。
- 跨小区协同检测 :单个基站视角有限。攻击者可能在多个小区间移动或发起协同攻击。未来可以通过RIC之间的信息交互(如通过非实时RIC),实现跨小区的攻击关联分析与协同防御。
这个项目从构思到在真实测试床上跑通,让我深刻体会到,将前沿的开放网络架构与实用的机器学习算法结合,能解决传统方案难以触及的痛点。它不仅仅是“用了ML”,更是通过系统性的架构设计,让ML在最合适的位置、以最合适的方式发挥了作用。对于从事移动网络、网络安全或边缘智能的工程师来说,Open RAN与AI的结合,是一片充满机遇的蓝海。
更多推荐


所有评论(0)