原文标题:xNIDS: Explaining Deep Learning-based Network Intrusion Detection Systems for Active Intrusion Responses
原文作者:Feng Wei, University at Buffalo; Hongda Li, Palo Alto Networks; Ziming Zhao and Hongxin Hu, University at Buffalo
原文链接:https://www.usenix.org/conference/usenixsecurity23/presentation/wei-feng
发表会议:USENIX Security Symposium 32nd
笔记作者:张琦驹@安全学术圈
主编:黄诚@安全学术圈
编辑:张贝宁@安全学术圈
1、引言
基于深度学习的网络入侵检测系统(DL-NIDS)凭借强大的模式捕捉能力,能检测复杂网络流量模式及未知攻击,展现出优异性能。然而,其实际应用存在局限:检测结果与可操作解释间存在语义鸿沟,难以支持主动入侵响应;错误成本高(如误报、漏报),只有结果,纯黑盒的预测结果很难获得相关人员的信任,根源在于 DL-NIDS 缺乏可解释性。
现有深度学习解释方法(如 IG、LRP、LIME、SHAP、LEMNA 等)难以解释 DL-NIDS:DL-NIDS 决策依赖当前及历史输入(时间序列数据),而这些方法未考虑历史输入;其输入为结构化数据(如网络包头),特征间存在复杂依赖,现有方法却假设特征独立或仅考虑相邻特征相似性,不适用。
为此,本文提出 XNIDS 框架,通过解释 DL-NIDS 生成可操作防御规则。其解释方法通过近似和采样历史输入、捕捉结构化数据特征依赖,实现高保真解释,助力主动入侵响应。
2、DL-NIDS 解释方法
XNIDS 针对 DL-NIDS 的解释方法是其核心创新之一,旨在解决历史输入处理和特征依赖捕捉两大难题,通过动态近似历史输入、加权采样及特征分组与稀疏回归,实现高保真、稀疏、稳定的解释结果。该机制具体包括以下内容:
历史输入的动态近似。 DL-NIDS 的决策依赖当前输入及历史输入(如网络数据包序列),但直接使用全部历史输入会导致冗余,仅用当前输入则会丢失关键信息。XNIDS 通过两步法确定关键历史输入:
第一步:动态调整历史输入窗口大小(l),通过迭代更新(若偏差≥δ 则 l=2l,若偏差 <δ 则 l=⌊l/2⌋),使基于 l 的检测结果与原始结果偏差小于阈值 δ(实验中设为 1e-2),同时限制最大更新次数(U=10)以控制计算量。
第二步:从确定的 l 个历史输入中筛选相关项,通过主机过滤器(移除同一主机的重复输入)和协议过滤器(移除相同协议的冗余输入),得到精简的关键历史输入子集 X"_t,m。若主机或协议信息不可用,则跳过此步。
历史输入的加权随机采样。 考虑到 DL-NIDS 对最新历史输入的敏感度更高(如 LSTM 通过遗忘门弱化旧输入影响),XNIDS 采用不均匀采样策略:
为历史输入分配随时间衰减的权重,通过指数、高斯或线性衰减函数 D (i) 实现,最新输入权重最大。
基于权重进行加权随机采样(WRS),某历史输入被选中的概率 p_i=D (i)/∑D (j),使最新输入的特征更易被采样,同时保证同一输入内特征的采样概率均等。若历史输入与当前输入影响相近,可采用恒定权重,此时 WRS 退化为随机采样。
特征依赖的捕捉与稀疏回归。 DL-NIDS 输入为结构化数据(如网络包头),特征间存在复杂依赖(如 TCP.flag 是 TCP 的子特征,TCP 与 UDP 互斥),XNIDS 通过分组与稀疏组套索(Sparse Group Lasso)解决这一问题:
特征分组:根据领域知识、数据聚类或默认单特征分组,将结构化特征划分为相关组(如 TCP 相关特征归为一组),确保每组内特征具有强关联性。
稀疏组套索回归:这种回归方法通过优化目标函数,同时实现对特征组和组内特征的精简筛选。其中,第一部分用于衡量模型预测结果与 DL-NIDS 实际检测结果的偏差,确保解释的准确性;第二部分通过特定计算方式聚焦于特征组层面,筛选出对检测结果更关键的特征组;第三部分则在筛选出的特征组内部进一步筛选,保留真正重要的具体特征。最终得到的结果是一个反映各特征重要性的系数向量,以此作为对 DL-NIDS 检测结果的解释。
3、防御规则生成体系
XNIDS 的防御规则生成体系是连接解释结果与主动入侵响应的关键,通过定义规则范围、引入安全约束及设计统一规则表示,实现从解释到可操作防御的转化,具体包括以下环节:
3.1 防御规则范围的分级定义与确定
为平衡防御规则的精度(避免漏报)与泛化性(避免误报),XNIDS 将规则范围分为三级,并基于解释结果中的统计信息动态确定:
分级定义:
单流范围:仅作用于特定恶意网络流(如某 TCP 连接),适用于针对性攻击(如 SYN Flood)。
单主机范围:阻断某主机发起的所有恶意流,适用于单个受感染主机(如僵尸主机)。
多主机范围:阻断多个主机的相关恶意流,适用于协同攻击(如僵尸网络的 SSDP 放大攻击)。
范围确定依据: 分析解释结果中的统计信息 S(包含 IP_pool、IP_n、MAC_n、Port_n、Protocol_n 等字段),通过比较各字段最大值判断攻击模式:若 Protocol_n 或 Port_n 最大,说明攻击涉及多主机,采用多主机范围;若 IP_n 或 MAC_n 最大,且重要特征含多协议 / 端口,采用单主机范围,否则为单流范围。
3.2 安全约束的动态适配
为使规则适应不同网络环境,XNIDS 引入可配置的安全约束,包括白名单与阻断策略:
白名单机制:保护关键服务流量,使白名单内的网络实体(如服务器 IP)不受任何防御规则影响,确保核心业务可用性。
阻断策略:提供三种可选择的策略,满足不同安全需求:
被动阻断:仅阻断检测到的恶意流,最小化对良性流量的影响。
主动阻断:信任 DL-NIDS 与解释结果,按规则范围严格执行阻断。
激进阻断:直接阻断恶意主机,快速消除威胁源,适用于紧急攻击场景。
3.3 统一防御规则的表示与工具适配
为支持异构防御工具(如 OpenFlow、iptables),XNIDS 设计统一规则格式,并实现自动转换:
统一规则结构:包含四个核心组件:
实体:指定规则作用的网络对象(如 src_ip=192.168.1.10、dst_port=1900),支持通配符。
动作:定义操作类型(如 drop、allow、modify、whitelist)。
优先级:解决规则冲突,数值越高越优先执行。
超时:控制规则有效期(如 600 秒),避免永久阻断。
工具适配方法: 针对不同工具的语法差异,预设规则模板(如 OpenFlow 的
与 iptables 的-A INPUT -s ... -j DROP),将统一规则中的字段填充至模板对应位置,生成工具可直接执行的原生规则。
通过上述机制,XNIDS 能将解释结果转化为适配多种工具、适应不同场景的防御规则,实现对入侵的主动响应。
4、实验评估
XNIDS 在四种主流 DL-NIDS(Kitsune、ODDS、RNN-IDS、AE-IDS)上的评估结果显示,其在解释性能、规则生成效果及实际应用价值上均显著优于现有方法,具体如下:
解释性能评估:XNIDS 在保真度、 sparsity、完整性和稳定性四个关键指标上表现最优,远超 LIME、SHAP、LEMNA、IG、LRP 等基线方法。
保真度:通过描述精度(DA)衡量解释与 DL-NIDS 决策的一致性。实验显示,修改 XNIDS 识别的关键特征后,平均描述精度(ADA)下降最显著(如图 3 所示),且其 AUC 值(曲线下面积)在所有 DL-NIDS 上均最低(Kitsune 为 0.316,ODDS 为 0.325),表明其筛选的特征与检测结果关联性最强。
稀疏性:采用零附近质量(MAZ)评估,XNIDS 的 MAZ 曲线在零附近斜率最陡,AUC 值最高(Kitsune 为 0.774,ODDS 为 0.814),说明其能用最少的关键特征实现有效解释,远超 LEMNA(Kitsune 为 0.542)等方法。
完整性:针对历史输入的覆盖能力,XNIDS 能为至少 69.6% 的异常样本提供非退化解释(Kitsune 为 0.739,ODDS 为 0.638),而忽略历史输入的基线方法易产生解释失真。
稳定性:多次测试中,XNIDS 的 Top-K 特征交集率最高(Kitsune 为 0.850,RNN-IDS 为 0.914),显著高于 LIME(最高 0.640)和 SHAP(最高 0.563),说明其解释结果更稳定可靠。
规则生成效果评估:XNIDS 生成的防御规则在工具适配性、攻击覆盖范围和效率上表现优异。
工具适配性:统一规则可完全转换为 OpenFlow 规则,部分转换为 iptables、Pfsense、Squid 规则,支持异构防御工具,而现有方法(如 FIRMA)仅支持特定工具。
攻击覆盖范围:能针对不同攻击生成对应规则,如 SYN DoS(单流范围)、OS 扫描(单主机范围)、SSDP 放大(多主机范围),规则精准性与泛化性平衡良好。
效率:解释延迟 90% 以上低于 600ms,规则生成平均延迟约 25ms(OpenFlow 最大 35ms),满足实时响应需求。
实际应用价值验证:XNIDS 能有效辅助理解 DL-NIDS 行为、排查错误并提升主动响应效果。
行为理解:通过识别关键特征(如 OS 扫描中的 LLMNR、NBNS 协议),帮助运营商匹配攻击模式;明确误报原因(如受感染良性流量、未见过的良性流量)。
错误排查:针对不同误报类型生成优化规则,使受感染良性流量的误报率降为 0,未见过的良性流量误报率降低 96.79%,干扰性良性流量误报率降低 65.36%。
主动响应:不同阻断策略下,主动阻断能实现 95.72% 的恶意流量阻断率和 98.54% 的良性流量通过率,优于 FIRMA 的激进阻断模式(误阻断率高)。
总体而言,XNIDS 在解释性能和规则实用性上全面超越现有方法,其对历史输入和特征依赖的针对性处理,使其成为 DL-NIDS 实际部署中实现可解释性与主动响应的有效解决方案。
5、总结
本文提出 XNIDS 框架,用于解释基于深度学习的网络入侵检测系统(DL-NIDS)并生成可操作防御规则,以支持主动入侵响应。其核心是通过动态处理历史输入、捕捉结构化数据特征依赖,实现高保真解释,并基于此生成适配多种防御工具的规则。实验表明,XNIDS 在四种主流 DL-NIDS 上的解释性能(保真度、稀疏性等)优于现有方法,生成的规则能有效覆盖多种攻击,且延迟满足实时需求,还能辅助理解 DL-NIDS 行为、排查错误,为 DL-NIDS 实际应用提供有力支持。
安全学术圈招募队友-ing
有兴趣加入学术圈的请联系 secdr#qq.com
声明:本文来自安全学术圈,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。