网络入侵检测系统(NIDS)是网络安全防御的核心防线,负责监控网络流量、识别恶意攻击。近年来,机器学习(尤其是深度学习)已成为NIDS的主流技术,在已知攻击类型上取得了优异表现。
然而,现实世界中最危险的往往是从未见过的攻击类型------零日攻击(Zero-Day Attack) 。传统的监督学习模型只能在训练过的类别上进行分类,面对零日攻击时性能急剧下降;而异常检测方法虽然理论上能检测任何偏离正常模式的攻击,但假阳性率过高,在实际应用中难以落地。
如何让模型既能精准识别已知攻击,又能有效捕获未知威胁?来自斯特拉斯克莱德大学的研究团队提出了一种新颖的对比损失函数,在入侵检测领域实现了对零日攻击的有效识别。该成果发表于arXiv预印本。
现有方法的困境
-
监督学习:在已知攻击上表现出色,但面对零日攻击时严重失效,因为模型假设所有测试类别都在训练集中出现过(封闭世界假设)。
-
异常检测:仅用正常流量训练,理论上可检测任何攻击,但难以区分正常流量的新变种,导致假阳性率居高不下。
-
对比学习:近年来在入侵检测中崭露头角,对不平衡数据鲁棒,但仍未摆脱封闭世界假设,对零日攻击泛化能力有限。
CLAD:专门为零日攻击设计的对比损失
研究团队提出的Contrastive Learning for Anomaly Detection (CLAD),通过全新的损失函数设计,巧妙融合了监督学习与异常检测的优势。
核心思想:只学习良性流量的分布
CLAD的关键创新在于:只以良性样本为锚点进行对比学习。具体来说:
-
训练过程中,损失函数仅针对良性样本计算 ,将良性流量在嵌入空间中建模为von-Mises Fisher (vMF)分布(一种适合高维球面数据的分布)
-
已知攻击样本仅用于"推远"良性样本的边界,不参与构建良性分布
-
这样,模型学会的是"正常是什么",而不是"攻击是什么"------从而突破了封闭世界假设
损失函数的直观理解
CLAD损失函数鼓励:
-
良性样本在嵌入空间中紧密聚集在类中心周围
-
恶意样本(包括已知攻击)被推离这个聚集区域
-
最终在超球面上,良性样本与恶意样本位于对跖点(相距最远的位置)
推理阶段:距离即异常分数
训练完成后,计算所有良性样本的质心。对于新的测试样本:
-
计算其嵌入向量与质心的余弦距离
-
距离越大,样本越可能是攻击(包括零日攻击)
-
通过设定阈值即可进行二分类
CLOSR:扩展到开放集识别
在CLAD基础上,团队进一步提出了Contrastive Learning for Open-Set Recognition (CLOSR),实现多类别攻击分类的同时识别零日攻击。
核心思想:为每个已知类别(包括良性)分配一个独立的线性投影头,在每个类专属的子空间中建模该类数据的vMF分布。
-
分类时,计算测试样本在每个子空间中与类质心的相似度,取最高者作为预测类别
-
零日攻击由于未被训练过,其嵌入向量在所有子空间中均表现为与类质心正交(接近随机)
-
通过加权高斯似然计算OOD分数,分数高于阈值即判定为零日攻击
实验验证:全面超越现有方法
研究团队在Lycos2017数据集上进行了严格评估。该数据集包含14类流量,其中两类(Heartbleed和SQL注入攻击)被完全排除在训练集外,用于模拟零日攻击。
二分类任务:已知攻击与零日攻击
已知攻击检测(AUROC):
-
CLAD达到0.999855,显著优于所有异常检测模型(如Deep SVDD、Autoencoder)和监督学习模型(MLP、Siamese Network)
-
在FPR@95指标上同样领先
零日攻击检测(AUROC):
-
CLAD达到0.996627,远超异常检测(最佳0.935744)和监督学习(最佳0.886228)
-
这是最关键的结果------CLAD是唯一在已知和零日攻击上同时保持高性能的方法
开放集识别任务
OpenAUC(兼顾封闭集准确率和开放集识别能力):
-
CLOSR达到0.96942,远超第二名MultiStage(0.798537)
-
与Siamese Network组合使用时,可同时获得最优封闭集准确率和开放集识别能力
嵌入空间可视化
t-SNE可视化显示:
-
对比损失虽然能分离良性与恶意,但两类间存在重叠区域
-
CLAD则实现了清晰的分离,良性样本紧密聚集,恶意样本分散在远端,零日攻击位于中间区域
这一结构使得基于质心的推理成为可能------而对比损失必须依赖KNN或线性探针才能有效分类。
计算效率:适合实际部署
尽管CLAD的参数量较大(约332万),但在推理时:
-
延迟仅0.39ms ,吞吐量达2.31M样本/秒
-
远超RENOIR等对比学习方法,适合实时NIDS场景
CLOSR同样在开放集识别中实现了最低延迟(0.40ms)和最高吞吐量(2.68M样本/秒)。
总结与展望
CLAD和CLOSR通过创新的对比损失设计,首次实现了:
-
同时训练已知攻击样本,却能泛化到零日攻击
-
在保持低假阳性率的同时,获得高检测率
-
将开放集识别引入入侵检测,实现"分类+拒识"一体化
这项研究为网络入侵检测开辟了新范式:不再追求穷举所有攻击类型,而是让模型真正学会"什么是正常",从而让任何异常------无论新旧------都无所遁形。
未来,研究团队计划探索跨网络泛化、小样本学习以及对抗攻击下的鲁棒性,进一步提升方法的实用性和安全性。