本方案描述了一种面向医疗物联网网络的、集成区块链的双向长短期记忆入侵检测系统的实现方法,可实现攻击的实时检测、防篡改的取证日志记录以及自动化缓解。
研究文章
本方案描述了一种面向医疗物联网网络的、集成区块链的双向长短期记忆入侵检测系统的实现方法,可实现攻击的实时检测、防篡改的取证日志记录以及自动化缓解。
医疗保健领域的医疗物联网(IoMT)环境需要入侵检测系统,这些系统不仅能够准确识别网络攻击,还需提供法医级可追责性、可审计性以及快速响应能力。传统的入侵检测方法主要侧重于分类性能,而在防篡改事件记录和事后调查方面支持有限。本研究提出了一种具备法医意识的入侵检测框架,该框架将扩展的双向长短期记忆网络(BiLSTM)与许可型区块链层相结合,以支持在医疗保健IoMT系统中实现实时检测、安全日志记录和自动化缓解措施。该协议整合了数据预处理、AQU-IMF-RFE特征选择、时序建模、基于注意力机制的学习、残差连接以及基于区块链的事件记录。扩展的BiLSTM模型在UNSW-NB15、CICIDS2017和Bot-IoT基准数据集上独立进行训练与评估,采用可复现的预处理流程、分层数据划分和固定随机种子。模型检测到的入侵事件通过智能合约记录在权威证明(Proof-of-Authority)区块链上,实现不可篡改的日志记录和自动化响应操作。实验结果表明,该方法在所有评估数据集上均表现出较高的入侵检测性能和较低的误报率,同时保持了法医可追溯性和实时响应能力。区块链层提供了抗篡改的审计记录,并实现了自动化缓解,且未引入过高的计算开销。这些发现表明,将基于深度学习的入侵检测与基于区块链的法医日志记录相结合,可提升医疗保健网络安全系统的可信度、可问责性以及实际部署能力。
在医疗系统中,数字化推动了智能化、互联化和以患者为中心的医疗服务新时代。现代医疗基础设施高度依赖可穿戴传感器、远程患者监测系统、电子健康记录(EHRs)1,2以及智能诊断平台之间的网络通信与数据交换。然而,这种日益增强的互联互通也扩大了医疗网络的攻击面,使其面临数据泄露、勒索软件、分布式拒绝服务(DDoS)攻击和中间人攻击等网络威胁3。这些入侵行为不仅造成巨大的经济损失,更重要的是,当敏感的医疗数据或关键设备功能遭到破坏时,可能危及患者安全。
医疗物联网(IoMT)系统的规模和复杂性进一步加剧了这些安全挑战。现代医疗网络必须同时提供低延迟通信、高可靠性和强大的安全保证,而传统安全机制往往难以满足这些要求4。IoMT 流量的快速增长具有异构数据源、动态通信模式以及严格的监管要求(如《健康保险可携性和责任法案》(HIPAA)和《通用数据保护条例》(GDPR))等特点,这迫切需要具备高检测率且能最大限度减少误报的智能入侵检测系统(IDS)5。
在受监管的医疗环境中,入侵检测不仅是一项操作要求,更是一种问责职能。安全警报可能触发设备隔离,影响医疗连续性,并随之成为审计、监管审查或法律调查的对象。因此,一个有效的医疗物联网(IoMT)入侵检测系统必须提供准确的实时检测、支持事件分诊的可解释决策,以及防篡改的记录,以确保不可否认性和法医可追溯性6。这一要求将入侵检测的目标从以性能为中心的分类,转向以信任为核心、以问责为导向的安全治理。
深度学习技术,特别是长短期记忆(Long Short-Term Memory, LSTM)和双向长短期记忆(Bidirectional Long Short-Term Memory, BiLSTM)网络,在建模网络流量中的时间依赖性以及检测异常行为方面已展现出强大的能力7。然而,现有的基于BiLSTM的入侵检测系统(IDS)常常面临过拟合、对关键时间事件关注不足,以及在异构的医疗物联网(IoMT)设备和医疗环境之间泛化能力有限等问题。此外,IoMT网络面临多种多样的网络威胁,这些威胁会影响医疗数据和服务的机密性、完整性与可用性(Confidentiality, Integrity, and Availability, CIA),如表1所总结。
| 攻击类型 | IoMT 情境 | 受影响的 CIA 维度 | 对医疗系统的影响 |
| 未授权访问19 | 利用薄弱的身份验证机制访问患者设备或医疗记录 | 机密性、完整性 | 数据泄露及对医疗设备的未授权控制 |
| 伪装 / 冒充19 | 恶意设备模仿合法的 IoMT 节点 | 完整性 | 产生错误读数,可能导致误诊或不安全的治疗 |
| 窃听21 | 在传输过程中截获未加密的医疗数据 | 机密性 | 隐私泄露及敏感患者信息暴露 |
| 数据篡改 / 固件漏洞利用19 | 修改设备固件或传输中的医疗数据 | 完整性 | 导致错误诊断或不恰当的治疗决策 |
| 勒索软件20 | 对患者数据或医疗设备固件进行加密 | 可用性、完整性 | 关键系统被锁定,导致治疗延误 |
| 拒绝服务(DoS)/ 分布式拒绝服务(DDoS)6 | 使医疗设备或医疗网络过载 | 可用性 | 服务中断,影响监护系统和重症监护室(ICU)的运行 |
| 侧信道攻击22 | 通过计时或功耗分析技术提取加密密钥 | 机密性 | 设备被攻破及加密密钥被盗 |
表1:影响医疗物联网(IoMT)医疗环境的常见网络攻击。 本表总结了针对医疗物联网(IoMT)系统的代表性网络攻击,包括其操作背景、所影响的机密性、完整性与可用性(CIA)安全维度,以及对医疗服务质量、患者安全和医疗设备运行可能造成的影响。
区块链技术具有多项优势,可为物联网医疗(IoMT)环境中的入侵检测提供补充。如表2所示,区块链能够实现不可篡改的事件日志记录,以支持取证验证;通过智能合约实现自动化的威胁缓解;借助去中心化运行消除单点故障;并通过维护可追溯的审计轨迹,支持遵守医疗数据保护法规。尽管具备上述优势,基于区块链的安全机制在医疗健康入侵检测系统(IDS)中的应用仍显不足。
| 特性 | 描述 | 在医疗保健环境中的优势 |
| 数据完整性 | 每笔交易均通过加密哈希处理,并与前一个区块链接 | 确保患者和设备记录的不可更改性 |
| 篡改检测 | 对存储数据的任何修改都会改变区块哈希值,从而使整个链失效 | 能够快速检测未经授权的记录修改 |
| 访问控制 | 智能合约强制执行预定义的权限和授权策略 | 限制对敏感医疗信息的访问,仅允许授权用户和设备访问 |
| 数据溯源 | 每个事件均经过数字签名并带有时间戳 | 支持法医级可追溯性、审计以及符合监管要求 |
| 低延迟共识 | 权威证明(Proof-of-Authority, PoA)共识机制可在比工作量证明更低的计算开销下实现快速交易验证 | 支持在关键医疗环境中近乎实时的事件记录 |
表2:区块链技术在医疗物联网入侵检测系统中的优势。 本表总结了区块链的关键特性及其在医疗物联网(IoMT)环境中的相关优势。所列功能支持不可篡改的日志记录、篡改检测、访问控制、数据溯源以及实现安全且可审计的入侵检测所需的低延迟共识机制。
除了性能评估之外,区块链的集成还为物联网医疗(IoMT)环境提供了针对多种安全威胁的防护。表3总结了在此背景下区块链的优势与局限性,强调了区块链能够有效缓解的威胁,例如数据篡改和否认行为,以及仍需额外防护措施应对的威胁。区块链层支持适用于实时医疗环境的低延迟日志记录,具备对抗故障或恶意节点的拜占庭容错能力,并可在分布式医院网络和物联网医疗设备之间实现可扩展性。
| 安全威胁 | 是否由区块链解决? | 机制 | 说明 |
| 数据篡改27 | 是 | 密码学哈希链接 | 任何修改都会破坏链的完整性 |
| 抵赖行为26 | 是 | 每个区块关联的数字签名 | 防止否认已记录的入侵事件 |
| 中心化故障25 | 是 | 由授权网关共同维护的分布式账本 | 消除了单点故障风险 |
| Sybil 攻击24 | 部分 | 需可信验证节点的许可型 PoA 共识机制 | 可通过基于身份的验证节点授权加以缓解 |
| 51% 攻击23 | 部分 | 需攻破大多数授权验证节点 | 在私有 PoA 区块链部署中发生的可能性较低 |
| 数据溯源26 | 是 | 带有时间戳并经数字签名的事件记录 | 支持法证可追溯性与监管合规 |
表3:医疗物联网环境中区块链集成所应对的安全威胁。 本表总结了与医疗物联网(IoMT)系统相关的主要安全威胁,并指明了区块链技术在多大程度上缓解了每种威胁。针对每类威胁,提供了其底层保护机制及实施考虑。
现有的大多数入侵检测系统(IDS)依赖于预定义规则或轻量级的机器学习模型8,9。尽管此类方法能够识别已知的攻击模式,但它们通常难以应对现代网络威胁的动态性和不断演变的特性。在基于物联网医疗设备(IoMT)的医疗基础设施迅速扩张的背景下,这些方法尤其不足,因为误报率高、适应能力有限以及审计性差会显著影响运行效率。基于规则的系统常常产生较高的误报率,因为它们无法可靠地区分良性异常与真实攻击9。在静态或过时数据集上训练的传统机器学习模型,以及现有的基于深度学习的入侵检测方法,通常难以泛化新兴的攻击行为,包括零日入侵10,11。此外,传统的集中式日志记录方法仍易受到篡改,从而限制了事件后法证调查的可靠性12。许多现有的IDS解决方案还会带来显著的计算开销,使其难以在资源受限的IoMT设备和网关上部署13。因此,医疗领域的IoMT环境仍然容易受到复杂且多阶段的网络攻击。应对这些挑战需要一种智能、安全且资源高效的入侵检测框架,该框架能够在实时学习网络流量时序模式的同时,确保法证可信性并对检测到的威胁实现自动化缓解。
尽管基于机器学习和深度学习的入侵检测技术已取得显著进展,但仍存在若干关键性不足。首先,许多现有的入侵检测系统(IDS)模型依赖静态数据集进行开发与评估,因而缺乏对持续演变的攻击行为的适应能力。其次,尽管先进的深度学习架构可提升检测准确率,但其可解释性有限,且难以突出识别临床上重要的流量模式。第三,也是最为重要的一点,当前的IDS框架通常未提供对法医级可信性、可审计性或不可篡改记录保存的内在支持,而这些能力对于医疗系统中的合规监管、事件调查以及法律责任追究至关重要。
尽管基于区块链的日志记录机制能够提供数据完整性和透明性,但在对延迟敏感的医疗物联网(IoMT)环境中,这些机制很少与先进的基于深度学习的入侵检测模型实现紧密集成。现有研究通常仅关注提升检测性能而忽视取证完整性,或仅关注基于区块链的安全机制而未引入先进的时序异常检测方法。因此,在开发统一框架方面仍存在显著差距,该框架需能够在异构且资源受限的医疗IoMT环境中,同时实现实时的时空入侵检测、防篡改的取证日志记录、自动化威胁缓解以及实际部署应用。
针对这些挑战,本研究旨在开发一种入侵检测框架,通过注意力机制和自定义层增强双向长短期记忆网络(BiLSTM),以改进对时序特征的优先级划分;结合区块链技术实现安全、可验证的入侵日志记录与自动化响应;并在实时医疗物联网(IoMT)环境中高效运行。我们假设,将基于注意力机制改进的扩展型BiLSTM架构与基于区块链的取证日志记录及自动化缓解机制相结合,能够在提升入侵检测有效性的同时,满足受监管医疗环境对可审计性、可信度和可追责性的要求。
本研究通过将入侵检测视为法医学追责问题,而不仅仅是一个分类问题,从而填补了物联网医疗(IoMT)安全研究中的一个基本空白。所提出的框架将人工智能(AI)驱动的检测、不可篡改的事件记录以及自动化响应机制整合到一个统一的架构中,以支持临床安全、法规合规性和运行信任。随着物联网医疗设备和云连接医疗基础设施的日益普及,医疗网络已成为网络攻击的诱人目标,包括勒索软件、数据篡改、未授权访问以及拒绝服务攻击,这些威胁着患者信息的机密性、完整性和可用性。所提出的扩展型双向长短期记忆网络–区块链(Extended BiLSTM–Blockchain)框架建立了一个闭环安全流程,将攻击检测直接与法医学验证和自动化缓解措施相连接。
本研究的主要贡献体现在以下五个方面。第一,通过在传统双向长短期记忆网络(BiLSTM)架构基础上引入双向时序学习、残差连接、注意力机制及自定义层,构建了一种与临床需求相契合的时序入侵检测模型,以提升对医疗网络流量中复杂攻击模式的检测能力。第二,将一种轻量级基于区块链的安全层与扩展的BiLSTM模型相结合,实现对入侵事件和系统操作的不可篡改、安全且防篡改的日志记录。第三,为医疗环境开发了一套端到端的实时入侵检测系统(IDS)流程,能够以低延迟和高准确率实现网络流量的实时分析与入侵预测。第四,利用三个公开的基准数据集——UNSW-NB15、CICIDS2017和Bot-IoT,对所提出的框架进行了全面评估。最后,该架构被设计为一种可扩展、可延伸的边缘-云协同框架,适用于在医疗网络、医疗基础设施以及电子健康应用中进行实际部署。
通过结合扩展型双向长短期记忆网络(Extended BiLSTM)的时间学习能力与区块链技术所提供的可信性及不可篡改性,所提出的框架为医疗环境不断演进的网络安全需求提供了一种安全且可信的入侵检测系统(IDS)。该框架弥补了医疗网络安全性方面的关键缺口,并为人工智能与区块链技术融合在保护关键医疗基础设施中的更广泛应用奠定了基础。
访问受限。请登录或开始试用以查看此内容。
所有实验均仅使用公开的基准网络入侵数据集(UNSW-NB15、CIC-IDS-2017 和 Bot-IoT)进行,这些数据集包含无个人或医疗身份信息的网络流量记录。数据集的使用遵循其各自的许可协议和使用条款。由于未涉及人类受试者、患者样本或可识别的个人数据,因此无需机构伦理审批和知情同意。
所提出框架的概述
本节介绍了一种用于保障医疗物联网(IoMT)环境安全的双层入侵检测与防御框架。该框架结合了扩展的双向长短期记忆网络(Extended BiLSTM),用于时空维度上的入侵检测,并集成轻量级区块链层,实现防篡改日志记录与自动化威胁缓解。与传统仅关注检测准确率的入侵检测系统(IDS)方法不同,所提出的架构旨在同时支持实时检测、取证可追溯性以及法规合规性,这些正是医疗系统中的关键需求。所提出的面向IoMT网络的Extended BiLSTM–区块链入侵检测框架的整体工作流程与架构如图1所示。

图 1。面向医疗物联网网络的扩展双向长短期记忆–区块链入侵检测框架架构。 本图展示了所提出框架的示意图,包含训练与部署工作流程。在训练工作流程中,医疗物联网(IoMT)设备生成网络流量,经过数据预处理和特征工程后,由具有时间注意力机制的扩展双向长短期记忆(BiLSTM)模型进行分析。通过损失函数计算和迭代训练优化模型参数。在部署工作流程中,训练好的模型根据公式13中定义的决策函数执行入侵检测。检测到的入侵事件被发送至区块链模块,进行不可篡改的日志记录、节点隔离以及管理员警报生成。BiLSTM,双向长短期记忆;IoMT,医疗物联网。 请点击此处查看该图的高清版本。
物联网医疗(IoMT)设备生成异构的数据流,包括网络流量、设备元数据和与患者相关的信号。这些原始输入通常具有噪声大、冗余度高和不一致的特点,因此不适合直接用于模型训练。为此,在将数据输入扩展型双向长短期记忆网络(Extended BiLSTM)模型之前,需采用预处理流程以确保数据的质量和结构。详细的预处理伪代码见算法1(补充文件1),其中概述了在Extended BiLSTM训练前对IoMT数据流所应用的预处理流程(伪代码见补充文件1;实现代码见补充文件2)。完整的Extended BiLSTM架构总结于算法2(补充文件1)中。
端到端可重复性工作流程
可通过以下步骤重现完整研究。软件和硬件列于实验设置中,补充代码涵盖每个步骤。
获取数据集 → 下载 UNSW-NB15。使用文件 UNSW_NB15_training-set.csv 和 UNSW_NB15_testing-set.csv。下载 CICIDS2017。使用五个 MachineLearningCSV 按天划分的文件(周一至周五)。下载 Bot-IoT。使用 5% 子集文件 UNSW_2018_IoT_Botnet_Full5pc_1_to_4。早期的入侵检测研究通常依赖于 KDD Cup 9914 等基准数据集;然而,本研究采用更新的 UNSW-NB15、CICIDS2017 和 Bot-IoT 数据集,以更准确地反映当前的网络流量特征。每个数据集需单独处理。UNSW-NB15 数据集可从澳大利亚新南威尔士大学获取,网址为 https://research.unsw.edu.au/projects/unsw-nb15-dataset(最后修改时间:2024 年 2 月 8 日)。CICIDS2017 数据集可从加拿大网络安全研究所获取,网址为 https://www.unb.ca/cic/datasets/ids-2017.html(发布于 2017 年 7 月)。Bot-IoT 数据集可从澳大利亚新南威尔士大学获取,网址为 https://research.unsw.edu.au/projects/bot-iot-dataset(最后修改时间:2024 年 2 月 5 日)。本研究于 2025 年 5 月访问了所有数据集。
预处理数据 → 移除损坏的记录。使用训练集均值填充缺失值。应用指数移动平均去噪(α = 0.3)。利用训练集统计量将特征归一化至 [0,1] 范围。对分类字段进行标签编码。构建滑动窗口(T = 20,步长 = 1)。这些预处理步骤通过降低噪声并提升网络流量表征质量,从而增强基于机器学习的入侵检测系统的检测鲁棒性15,16。
选择特征(AQU-IMF-RFE) → 通过互信息对特征进行排序。使用Aquila优化器进行优化。采用10折交叉验证的随机森林递归特征消除(RFE)。保留最终选定的特征。该混合特征选择策略遵循结合互补性入侵检测技术的总体思路17,并基于我们先前研究中开发的AQU-IMF-RFE框架实现18。
训练模型 → 对于每个数据集,使用固定的随机种子42将数据随机划分为训练集(80%)和测试集(20%)。训练集中的20%进一步保留作为验证集。构建扩展的BiLSTM模型。使用加权二元交叉熵损失函数和Adam优化器进行训练(学习率 = 0.001,批量大小 = 64,最大训练轮数为50轮,并采用早停策略)。保存训练好的模型。时间序列深度学习模型非常适用于异构的医疗物联网(IoMT)流量19。完整的模型训练工作流程总结于算法3(补充文件1)中。最终的类别权重根据训练集的类别分布,按照公式19和公式20自动计算得出。计算得到的类别权重如下:UNSW-NB15:
,
;CICIDS2017:
,
;以及Bot-IoT(5%子集):
,
。Bot-IoT数据集中wn的较大数值反映了在5%子集的训练划分中良性样本严重不足的情况。
部署区块链 → 启动权威证明(Proof-of-Authority, PoA)链。部署智能合约并记录其地址。授权网关账户。运行客户端,使每次检测到的入侵行为都被记录,并触发隔离和警报。完整的检测、区块链日志记录与缓解工作流程详见算法 4(补充文件 1)。区块链层使用 go-ethereum(Geth)客户端版本 1.13.15 来运行许可型 PoA 网络,使用 Solidity 编译器(solc)版本 0.8.19 进行智能合约的编译与部署,并使用 web3.py 库版本 6.15.1 实现入侵检测系统(IDS)与区块链网络之间的通信。
评估 → 在保留的测试集上测试模型。计算准确率、精确率、召回率、F1 分数和假阳性率。记录延迟和吞吐量。验证区块链账本的完整性。完整的评估工作流程总结于算法 5(补充文件 1)中。检测延迟(Td)从模型推理调用前一刻开始,到返回预测概率时结束。端到端缓解延迟(Td + Tb)从同一时间点开始,直到相应的区块链区块生成交易完成为止。吞吐量定义为完整的检测与日志记录流水线在单次完整遍历各数据集测试集所消耗的实际时钟时间内处理的预处理测试窗口总数。工作负载由分段的测试窗口组成,同时保持原始的良性与入侵类别分布。恶意窗口额外产生区块链日志记录开销,而良性窗口仅产生入侵检测开销。
生成图表 → 绘制准确率和损失曲线、混淆矩阵以及对比评估图表。构建比较表格。完整的图表和表格生成工作流程总结于算法 6(补充文件 1)中。用于生成所有图表和表格的完整自定义源代码见补充文件 2。特别是,figures.py 脚本可直接从保存的实验结果(例如训练历史记录和混淆矩阵文件)复现论文中的图表,而其余脚本则用于生成构建报告表格所用的处理后数据和性能指标。
图2展示了入侵检测系统(IDS)与区块链模块之间在实现层面的数据流。扩展的BiLSTM模型生成每个时间窗口的决策(公式13);当检测到恶意行为时,网关客户端构造并签名一笔交易,通过web3/JSON-RPC提交至权威证明(PoA)智能合约,该合约将一个哈希链接的区块(公式14)追加到不可篡改的账本中,并触发事件(BlockCreated、NodeIsolated和AdminAlert),从而启动节点隔离和管理员告警机制。

图 2.入侵检测系统与区块链模块在实现层面的交互。 该工作流示意图展示了入侵检测系统与区块链组件之间的通信过程。扩展的 BiLSTM 模型对每个输入窗口进行分类,并应用公式 13 中定义的决策规则。当检测到入侵行为时,网关客户端生成并签名一笔交易,通过 Web3.py/JSON-RPC 发送至权威证明(Proof-of-Authority, PoA)智能合约。该合约根据公式 14 将哈希链式区块追加到不可篡改的账本中,并触发 BlockCreated、NodeIsolated 和 AdminAlert 事件,以启动隔离与通知响应措施。IDS:入侵检测系统(Intrusion Detection System);BiLSTM:双向长短期记忆网络(Bidirectional Long Short-Term Memory);PoA:权威证明机制(Proof-of-Authority);JSON-RPC:JavaScript 对象表示法-远程过程调用(JavaScript Object Notation–Remote Procedure Call)。 请点击此处查看该图的高清版本。
数据表示
假设 R 为原始的物联网医疗(IoMT)流量流。预处理后,每条原始记录
被映射为一个归一化的 d 维特征向量(方程 1):
(1)
其中,f (⋅) 是将原始记录映射为 d 维归一化特征向量的特征变换函数。设物联网医疗(IoMT)网络由一组节点组成(公式 2):
N = {n1 , n2, ... , nk} (2)
每个节点 nj ∈ R 生成一个时间序列数据流(公式 3):
(3)
其中,xt 表示在时间 t 的特征向量,包含 d 个特征(例如数据包大小、协议类型、源/目的地址),这些特征通常在物联网医疗网络流量中观察到19。对应的标签集为(公式 4):
(4)
此处,yt=0 表示正常流量,而 yt =1 表示入侵行为。
数据预处理
预处理流程包括以下步骤,旨在解决与医疗物联网(IoMT)流量相关的常见数据质量和安全挑战20:
数据清洗与缺失值处理:
若记录满足以下任一明确条件,则在插补前被识别为损坏并予以删除:(i)记录中的所有特征字段均缺失(即整个记录为空),或(ii)在类型转换后,记录在任意数值字段中包含非有限值(正或负无穷)。第二条规则用于剔除无效条目,例如在流特征计算过程中因除以零而产生的条目(如由零持续时间流导致的无穷大流速值)。在删除损坏记录后,剩余的缺失值通过均值插补法进行填补,均值按每个数据集中的每个特征分别计算,并仅基于训练集部分得出;所得均值随后应用于训练集、验证集和测试集,以防止信息泄露。插补过程不以类别为条件,且均值不在不同数据集之间合并。
时间去噪:
时间去噪通过沿时间轴应用基于每个特征的指数移动平均(EMA)滤波器实现。采用递归(因果)形式 yt = α·xt + (1 − α)·yt−1,平滑因子 α = 0.3,通过 pandas 的 ewm 函数并设置 adjust=False 来实现。每个特征独立进行平滑处理。由于 EMA 是一种指数型(无限脉冲响应)滤波器,其没有固定的窗口或核大小;平滑因子 α 是控制平滑程度和滤波器有效记忆能力的唯一参数。
最小-最大归一化:
采用最小-最大归一化方法,通过变换公式 x′ = (x − min) / (max − min + ε) 将每个特征缩放到 [0,1] 范围内,其中 ε = 1 × 10−8。每个特征的最小值和最大值统计量均按数据集并在仅训练集分区上计算得出;这些保存的训练集统计量随后用于对训练集、验证集和测试集进行归一化,以防止保留信息的泄露。在推理过程中,超出训练集范围的特征值将被裁剪至 [0,1] 区间内。
分类特征的编码:
采用标签编码(label encoding)将分类特征转换为数值形式。该方法应用于所有分类变量:在 UNSW-NB15 数据集中为 proto、service 和 state 字段;在 Bot-IoT 数据集中为 proto 字段;CICIDS2017 所选特征中不包含分类字段。编码通过为每个变量单独拟合的 LabelEncoder 实现。
用于序列学习的时间窗处理:
预处理后的特征流通过长度为 T = 20 个时间步、步长为 s = 1 的滑动窗口被分割为固定长度的序列。每个生成的窗口在纳入前均经过验证。仅当窗口包含恰好 T = 20 个连续时间步且所有特征值均为有限值时,该窗口才被接受。记录数少于 T = 20 的流不产生任何窗口。该配置(T = 20,s = 1,95% 重叠)在所有实验和数据集中保持一致。完整的预处理流程总结于算法 1(补充文件 1)中。
预处理的目标是实现从输入序列到入侵标签的预测性映射(公式 5)。
(5)
由参数 θ 参数化,用于预测事件是良性还是恶意的模型。
使用 AQU-IMF-RFE 进行特征选择
特征选择采用 AQU-IMF-RFE 方法,这是一种混合方法,结合了互信息(Mutual Information, MI)、Aquila 优化器(Aquila Optimizer, AO)和递归特征消除(Recursive Feature Elimination, RFE),该方法已在我们先前的研究中提出18。该方法分为三个阶段:第一阶段计算每个特征与类别标签之间的互信息,以获得初始的相关性排序;第二阶段利用 AO 的四种优化策略,在候选特征子集上进行全局搜索;第三阶段将优化后的特征子集输入基于随机森林(Random Forest, RF)估计器的递归特征消除流程,并采用 10 折交叉验证进一步精炼特征集合。
Aquila 优化器的配置参数为:种群规模 100,最大迭代次数 10,开发因子 0.1,学习率 0.1,吸引力因子 0.005。将 AQU-IMF-RFE 独立应用于每个数据集时,在 UNSW-NB15 中保留了 14 个特征,在 CICIDS2017 中保留了 24 个特征,在 Bot-IoT 中保留了 12 个特征。完整的伪代码见补充文件 1,所选特征子集列于表 4中。
| 表 4A. UNSW-NB15 保留的选定特征 | |||
| 序号 | 特征 | 类型 | 类别 |
| 1 | dur | 数值型(浮点数) | 基本 |
| 2 | sbytes | 数值型(整数) | 基本 |
| 3 | rate | 数值型(浮点数) | 基本 |
| 4 | dload | 数值型(浮点数) | 基本 |
| 5 | sinpkt | 数值型(浮点数) | 时间 |
| 6 | dinpkt | 数值型(浮点数) | 时间 |
| 7 | sjit | 数值型(浮点数) | 时间 |
| 8 | tcprtt | 数值型(浮点数) | 时间 |
| 9 | synack | 数值型(浮点数) | 时间 |
| 10 | ackdat | 数值型(浮点数) | 时间 |
| 11 | smean | 数值型(整数) | 内容 |
| 12 | ct_srv_src | 数值型(整数) | 连接 |
| 13 | ct_dst_src_ltm | 数值型(整数) | 连接 |
| 14 | ct_srv_dst | 数值型(整数) | 连接 |
| 表 4B. CICIDS2017 保留的选定特征 | |||
| 序号 | 特征 | ||
| 1 | 目的端口 | ||
| 2 | 流持续时间 | ||
| 3 | 前向数据包总长度 | ||
| 4 | 后向数据包总长度 | ||
| 5 | 前向数据包长度最大值 | ||
| 6 | 后向数据包长度最大值 | ||
| 7 | 后向数据包长度均值 | ||
| 8 | 流数据包数 | ||
| 9 | 流到达时间间隔最大值 | ||
| 10 | 前向到达时间间隔总和 | ||
| 11 | 前向头部长度 | ||
| 12 | 后向头部长度 | ||
| 13 | 每秒前向数据包数 | ||
| 14 | 最大数据包长度 | ||
| 15 | 数据包长度均值 | ||
| 16 | 数据包长度标准差 | ||
| 17 | 数据包长度方差 | ||
| 18 | 平均数据包大小 | ||
| 19 | 平均后向段大小 | ||
| 20 | 子流前向字节数 | ||
| 21 | 子流后向字节数 | ||
| 22 | 前向初始窗口字节数 | ||
| 23 | 后向初始窗口字节数 | ||
| 24 | 前向数据包长度均值 | ||
| 表 4C. Bot-IoT 保留的选定特征 | |||
| 序号 | 特征 | 类型 | |
| 1 | seq | 数值型 | |
| 2 | mean | 数值型 | |
| 3 | stddev | 数值型 | |
| 4 | min | 数值型 | |
| 5 | max | 数值型 | |
| 6 | srate | 数值型(浮点数) | |
| 7 | drate | 数值型(浮点数) | |
| 8 | N_IN_Conn_P_SrcIP | 数值型(整数) | |
| 9 | N_IN_Conn_P_DstIP | 数值型(整数) | |
| 10 | proto | 类别型(编码) | |
| 11 | state_number | 数值型(整数) | |
| 12 | rate | 数值型(浮点数) | |
表4:AQU-IMF-RFE 特征选择方法所选特征。 本表列出了 AQU-IMF-RFE 特征选择框架为 UNSW-NB15、CICIDS2017 和 Bot-IoT 数据集所选出的最终特征子集。在适用的情况下,提供了特征名称、数据类型和功能类别。
实验设置
所有实验均在一台 Dell PowerEdge R740 服务器上进行,该服务器配备主频为 2.20 GHz 的 Intel Xeon Silver 4214 处理器,具有 12 个物理核心、24 个逻辑线程、16.5 MB 缓存,以及 9.6 GT/s 的 Intel Ultra Path Interconnect (UPI) 速度。服务器配置为 128 GB 内存、512 GB 固态硬盘(SSD),并运行 Microsoft Windows 11 操作系统。软件环境包括 Python 3.12.7、TensorFlow 2.16.1、scikit-learn 1.8.0、pandas 3.0.2 和 NumPy 2.4.4。区块链层在同一工作站上通过 PoA 共识机制的以太坊网络实现。入侵检测系统(IDS)与区块链之间的通信通过 JSON-RPC 协议完成,使用 go-ethereum(Geth)客户端版本 1.13.15、Solidity 编译器(solc)版本 0.8.19 进行智能合约的编译与部署,以及 Web3.py 库版本 6.15.1。报告的训练时间、推理延迟和吞吐量均在此硬件和软件配置下测得。
模型架构与训练
扩展型双向长短期记忆网络(Extended BiLSTM)模型构成了该框架的核心检测组件,其建立在此前为物联网医疗(IoMT)环境开发的基于学习的入侵检测方法基础之上21。早期的入侵检测研究强调了在提升检测性能的同时降低误报率的重要性15,以及将机器学习方法应用于动态网络流量所面临的独特挑战16。协作式神经网络入侵检测架构进一步证明了深度序列特征学习在处理复杂网络流量中的价值22。尽管标准的双向长短期记忆网络(BiLSTM)模型能够捕捉双向时间依赖关系,但IoMT流量中既存在短期突发模式,也包含由多阶段攻击引发的长距离依赖关系。为应对这一问题,所提出的模型在BiLSTM基础上引入了时间特征提取、增强的双向时间学习、残差连接以及基于注意力机制的时间优先级排序。双向长短期记忆网络(BiLSTM)通过融合前向与后向的隐藏状态,克服了传统单向模型的局限性,从而实现对IoMT流量模式更丰富的时序表征,具体如算法2(补充文件1)所示。
设输入序列为 X(nj) = {x1 , x2 , ... , xT },,其中每个 xt ∈ Rd 是一个预处理后的特征向量。
时间特征提取:
在时间维度上应用一种轻量级的一维卷积,以突出短时间范围内的时序异常(公式 6):
U = φ (Conv1D(X(nj)), U = {u1, u2, ..., uT} (6)
此处,φ(⋅) 是一个非线性激活函数,卷积特征 ut 被输入到双向长短期记忆网络(BiLSTM)中。
Conv1D 层在双向序列建模之前提取短时间范围内的时序模式。完整的实现参数见补充文件 3B。
堆叠双向长短期记忆网络学习:
前向和后向隐藏状态按(公式 7)计算:
(7)
最终的BiLSTM表示是过去(前向)和未来(后向)隐藏状态的拼接(公式8)。
(8)
两个堆叠的双向LSTM层用于建模双向时间依赖性。详细的架构参数见补充文件3B。权重初始化的详细信息见补充文件3B。
残差连接与归一化
在线性投影至匹配维度后,应用残差连接和层归一化(公式 9):

残差投影和层归一化在注意力机制之前对卷积和双向长短期记忆网络(BiLSTM)的特征表示进行对齐。详细实现参数见补充文件3B。
注意力机制
尽管双向长短期记忆网络(BiLSTM)具有强大的时序建模能力,但并非所有时间步对预测的贡献程度相同。为了突出关键时间点(例如突然出现的异常峰值),引入了注意力机制。每个隐含状态
被赋予一个相关性得分 αt,以提高检测精度(方程 10)。

其中,Wa 是一个可训练参数,且注意力权重满足 
上下文向量 c 根据其学习到的重要性对隐藏状态进行聚合(公式 11):

注意力机制将时间表示聚合为一个上下文向量。详细的实现参数见补充文件3B。
输出层与分类
聚合后的上下文向量通过一个全连接层,再经过 sigmoid 激活函数,得到最终预测结果(方程 12):

其中,Wc 和 bc 为可训练参数,σ(·) 为将输出映射到区间 [0,1] 的 S 型激活函数。通过设定阈值,将流量分类为良性(
)或入侵性(
)。
在补充文件3B中描述了推理过程中使用的 Dropout 正则化和固定分类阈值。
扩展的BiLSTM架构在三个数据集上是相同的;只有输入特征维度不同,UNSW-NB15、CICIDS2017和Bot-IoT对应的值分别为14、24和12。由于Conv1D层将任意d维输入映射为固定的64通道表示,因此所有后续层均与数据集无关,仅输入形状和Conv1D的参数数量随d变化。表5总结了完整的逐层架构,其中参数数量以d表示;当d = 14、d = 24和d = 12时,可训练参数总数分别为184,641、186,561和184,257。
| 序号 | 层(类型) | 输出形状 | 可训练参数 | 激活函数 |
| 1 | 输入层 | (20, d) | 0 | — |
| 2 | 一维卷积层(64 个滤波器,卷积核大小 = 3,same 填充) | (20, 64) | 192d + 64 | ReLU |
| 3 | 双向 LSTM 层 1(每个方向 64 个单元) | (20, 128) | 66,048 | tanh / sigmoid |
| 4 | 双向 LSTM 层 2(每个方向 64 个单元) | (20, 128) | 98,816 | tanh / sigmoid |
| 5 | 全连接残差投影层 | (20, 128) | 8,320 | 线性 |
| 6 | 残差相加 | (20, 128) | 0 | — |
| 7 | 层归一化(轴 = −1,ε = 1 × 10⁻³) | (20, 128) | 256 | — |
| 8 | 时序注意力机制(Wa ∈ ℝ¹²⁸×¹) | 128 | 128 | Softmax |
| 9 | 全连接隐藏层 | 64 | 8,256 | ReLU |
| 10 | Dropout(p = 0.3) | 64 | 0 | — |
| 11 | 全连接输出层 | 1 | 65 | Sigmoid |
表5:扩展双向长短期记忆模型的逐层架构。 本表总结了所提出的扩展双向长短期记忆(BiLSTM)模型的架构,包括层类型、输出维度、可训练参数数量以及激活函数。
所有实验所使用的软件和计算环境详见表6。
| 组件 | 版本 / 规格 |
| 操作系统 | Windows |
| 服务器平台 | Dell PowerEdge |
| CPU | 64核处理器 |
| 内存 | 128 GB |
| 存储 | 512 GB SSD |
| Python | 3.12.7 |
| NumPy | 2.4.4 |
| pandas | 3.0.2 |
| scikit-learn | 1.8.0 |
| TensorFlow / Keras | 2.16.1 |
| web3(区块链客户端) | 6.15.1 |
| eth-account | 0.1 |
| Solidity 编译器(solc) | 0.8.19 |
| go-ethereum(Geth) | 1.13.15 |
表6:实现和评估所提出框架所使用的软件与计算环境。 该表格总结了用于数据预处理、特征选择、模型训练、区块链部署及性能评估的硬件规格、软件组件、区块链工具及其版本号。
入侵决策与自动响应
在医疗环境中,入侵检测只有在后续进行快速响应和缓解措施时才有效。入侵检测层将预测概率转化为决策。形式上,时间步 t 的入侵决策表示如下(公式 13):

其中,
是时刻 t 的预测入侵概率,而
是分类阈值。
一旦检测到入侵,入侵检测层将直接与区块链模块交互,实现不可篡改的日志记录、自动化缓解措施以及闭环安全管控。事件详情(包括源信息、目的信息以及选定的流量特征)将被记录到一个新的区块链区块中。智能合约将执行实时缓解操作,例如节点隔离和向管理员发出警报。该闭环架构使得入侵检测结果能够直接驱动防御机制,从而最大限度地降低缓解延迟。因此,入侵检测层在基于扩展双向长短期记忆(Extended BiLSTM)模型的时间检测与基于区块链技术的安全响应之间起到了桥梁作用,实现了所提出框架的端到端功能。
基于区块链的取证日志记录
尽管扩展的BiLSTM模型能够实现入侵的实时检测,但在医疗物联网(IoMT)医疗环境中,入侵事件的安全存储和可验证审计同样至关重要。传统的集中式日志机制容易受到篡改,损害取证可追溯性。为解决这一局限性,所提出的框架引入了一个轻量级区块链模块,以确保日志的不可篡改性、去中心化以及基于智能合约的自动化响应。
每次检测到的入侵事件都会生成一个区块,并将其添加到区块链中。区块 Bi 定义如下(公式 14):

其中,Hi 是事件数据、时间戳和预测结果的加密哈希值,Ti 是时间戳,Di 包含选定的入侵事件特征,Sigi 是数字签名,而 PrevHash 将该区块与前一个区块相连,确保数据不可篡改。
这种设计保证了防篡改性,因为对 Di 或 Ti 的任何修改都会改变区块哈希并破坏链的完整性。它还提供了可审计性,因为所有检测到的异常都会被永久存储并可验证。通过智能合约支持自动缓解措施,智能合约可执行预定义操作,例如节点隔离和向管理员发出警报。通过多个医疗物联网(IoMT)网关共同维护分布式账本,实现了去中心化,从而消除了单点故障。
区块生成使用 Keccak-256 密码学哈希函数,这是以太坊/Solidity 环境的原生哈希原语(通过 Solidity 的 keccak256 调用)。对于每个入侵区块,区块哈希的计算方式如下:

其中,Di 为事件特征摘要,Ti 为时间戳,PrevHash 为前一个区块的哈希值。这些字段在哈希之前使用 Solidity 的紧密打包编码(abi.encodePacked)进行拼接,生成一个 256 位的摘要。
链验证例程使用相同的 Keccak-256 计算,从存储的字段重新计算每个区块的哈希值,并确认其与记录的值一致,从而验证链的完整性。选择 Keccak-256 是因为它是以太坊智能合约中本地使用的标准抗碰撞哈希算法。该智能合约使用 Solidity 编写,并通过 Solidity 编译器(solc)版本 0.8.19 进行编译。合约部署在一个基于 Geth 版本 1.13.15 运行的私有以太坊权威证明(PoA)网络上。区块链网络配置了四个验证节点,采用 Clique 权威证明共识协议,链 ID 为 9848,出块周期为 5 秒,区块 Gas 上限为 30,000,000。扩展型 BiLSTM 入侵检测引擎与区块链层之间的通信通过 Web3.py 库版本 6.15.1,经由 HTTP JSON-RPC 接口实现。
权威证明共识机制
由于医疗保健领域的物联网医疗系统(IoMT)对延迟高度敏感,所提出的框架采用权威证明(PoA)共识机制,而非计算开销较大的工作量证明(Proof-of-Work, PoW)23。在PoA机制中,一组固定的受信任验证节点(例如医院网关)负责授权交易,从而同时实现高效性与抗故障能力。
工作量证明(PoW)下区块验证的时间复杂度可表示如下(公式 15):

此处,d 表示挖矿难度。
相比之下,PoA共识的时间复杂度如下所示(方程 16):

因为验证仅需由授权的验证节点进行数字签名验证。
因此,权威证明(PoA)机制提供了适合实时医疗警报的低延迟操作,通过避免计算密集型挖矿实现了能源效率,并对有限数量的恶意验证节点具有弹性。PoA网络配置了四个验证节点,且在整个实验过程中保持该配置不变,以确保延迟测量的一致性、性能评估的可重复性,以及在所有基准数据集之间的公平比较。
区块链实现与智能合约运行
区块链组件基于采用权威证明(PoA)共识模型的许可制以太坊网络实现24。该网络使用 go-ethereum(Geth)客户端,并配置 Clique PoA 共识协议25,其中一组经授权的验证节点(sealer 节点)负责区块的生成与验证。入侵日志智能合约(IoMTIntrusionLedger)采用 Solidity 语言编写,并部署至该网络,遵循基于区块链的物联网安全架构,以实现安全的去中心化事件管理26。只有经链上授权的网关账户(通过合约的访问控制功能)方可提交入侵记录,符合面向物联网应用的许可制区块链智能合约架构设计原则27。区块链层的实现采用 go-ethereum(Geth)客户端版本 1.13.15 用于运行许可制 PoA 网络,使用 Solidity 编译器(solc)版本 0.8.19 进行智能合约的编译与部署,并采用 Web3.py 库版本 6.15.1 实现入侵检测系统(IDS)与区块链网络之间的通信。
详细的区块链部署和配置参数见补充文件3C。
每条入侵记录在提交到账本之前均会进行数字签名,以支持基于区块链的医疗可审计性以及安全的法医记录保存28。数字签名的生成与验证流程(包括基于 secp256k1 曲线的 ECDSA29,30)详见补充文件 3D。每个网关持有一对以太坊密钥,包含一个 256 位(32 字节)的私钥及其对应的公钥,并由此派生出其账户地址;密钥生成遵循标准的以太坊流程,即使用密码学安全的随机 256 位私钥,并通过 secp256k1 标量乘法获得公钥。为生成签名,网关客户端首先计算事件特征摘要 Di,然后使用 EIP-191 消息签名格式,结合其私钥对该摘要进行签名,生成一个由 r、s 和 v 三部分组成的 65 字节签名。该签名将随同入侵记录一并提交。验证过程由智能合约在链上完成:合约调用 EVM 的 ecrecover 预编译函数,从已签名的摘要和签名中恢复出签名者的地址,并要求该地址与提交交易的授权网关地址一致。若恢复出的地址与任何授权网关地址不匹配,则交易将被拒绝。此机制将每一条账本记录绑定至特定的授权网关,从而防止未经授权或伪造的入侵记录被录入。
一旦检测到入侵,智能合约将自动触发,确保无需人工干预即可实时响应(方程 17):
(17)
区块链模块与扩展的BiLSTM分类器并行运行。一旦检测到异常:(i)由BiLSTM对事件进行标记和分类,(ii)生成区块并签名,随后添加到区块链账本中,(iii)智能合约执行自动响应策略。
入侵日志智能合约(IoMTIntrusionLedger)维护一个仅可追加的入侵区块账本和一个授权网关账户的注册表,并公开了表7中总结的函数。该合约通过修饰符强制执行两种访问角色:onlyAdmin(部署合约的管理员)和onlyGateway(被授权提交入侵记录的账户)。合约状态包括网关授权映射、区块账本数组以及当前链头(即最新区块的哈希值)。
| 序号 | 功能 / 组件 | 类型 | 访问权限 | 逻辑 |
| 1 | constructor | 构造函数 | — | 将部署者设置为管理员,并授权其为初始网关。 |
| 2 | setGateway(address, bool) | 函数 | onlyAdmin | 添加或移除授权的网关账户;触发 GatewayUpdated 事件。 |
| 3 | recordIntrusion(nodeId, patientId, attackClass, probabilityBp, dataDigest, signature, isolate) | 函数 | onlyGateway | 计算 Hi = Keccak-256(Di ∥ Ti ∥ probability ∥ PrevHash);通过 ecrecover 验证网关对 Di 的 ECDSA 签名;将区块追加至账本;推进链头;触发 BlockCreated 事件,以及可选的 NodeIsolated 和 AdminAlert 事件。返回 Hi。 |
| 4 | verifyChain() | 只读函数 | 公开 | 根据存储字段重新计算每个区块的哈希值,并检查 PrevHash 的链接关系;仅当整个链一致时返回 true(用于篡改检测)。 |
| 5 | ledgerLength() | 只读函数 | 公开 | 返回账本中区块的数量。 |
| 6 | _recoverSigner(hash, sig) | 内部函数 | — | 将 65 字节的签名拆分为 (r, s, v),并通过 ecrecover 预编译合约恢复签名地址。 |
| 7 | BlockCreated / NodeIsolated / AdminAlert / GatewayUpdated | 事件 | — | 供链下监听器使用,以驱动日志记录、节点隔离、管理员告警及网关注册表更新。 |
| 8 | onlyAdmin / onlyGateway | 修饰符 | — | 分别限制函数仅管理员或仅授权网关可调用。 |
表7:IoMTIntrusionLedger智能合约的功能、事件及访问控制组件。 本表总结了在许可型区块链智能合约中实现的主要函数、事件及访问控制修饰符。这些组件支持网关授权、入侵日志记录、区块链验证、事件生成以及自动化缓解措施。
区块链的不可变性直接源于公式14,其中对事件数据或时间戳的任何修改都会使哈希链失效。因此,区块链通过不可篡改的取证记录,为医疗系统提供了数据完整性、可追溯性和可审计性。患者和设备的入侵记录一旦存储便不可更改,每个区块都安全地链接到前一个区块,从而实现事件的时间顺序重建,医疗管理人员或监管机构可验证入侵事件,且无需担心数据被篡改。
损失函数与模型优化
所提出的扩展型双向长短期记忆(BiLSTM)模型用于解决物联网医疗(IoMT)网络中正常流量与入侵事件之间的二分类问题。为指导训练过程,采用二元交叉熵(BCE)损失函数,该函数适用于来自Sigmoid激活层的概率输出。对于包含N个样本的数据集,损失函数定义如下(公式18):
(18)
其中,
是第 ith 个输入序列的真实标签(0 = 良性,1 = 入侵),而
是预测的入侵概率。
该框架作为两阶段分类流水线运行。第一阶段执行二分类入侵检测:扩展的双向长短期记忆网络(Extended BiLSTM)生成一个Sigmoid输出
,并通过阈值 τ = 0.5 将每个时间窗口分类为良性或入侵(方程 12,13),训练过程采用加权二元交叉熵损失函数。第二阶段可执行攻击类型分类,将被识别为入侵的时间窗口输入一个多分类分类器,该分类器通过Softmax输出层并使用类别交叉熵损失函数训练,以确定具体的攻击类别。本研究聚焦并评估二分类检测阶段。两个阶段共享相同的Extended BiLSTM特征提取主干网络(包括一维卷积层Conv1D、双向长短期记忆层BiLSTM、残差连接、归一化层和注意力机制层),仅在输出层(检测使用Sigmoid,分类使用Softmax)及相应的损失函数上有所不同。二分类检测阶段与多分类分类阶段均在相同的数据划分方式、随机种子和上述训练条件下进行训练与评估。
尽管物联网医疗(IoMT)流量通常存在不平衡现象,但仍采用加权二元交叉熵损失来惩罚对少数类的误分类。类别权重通过入侵样本数量 Np、良性样本数量 Nn 以及样本总数 N 计算得出(公式 19,20):


加权确保模型不会偏向占主导地位的良性流量类别,同时仍对罕见但关键的入侵事件保持敏感性。
加权二元交叉熵损失函数如下所示(方程 21):
(21)
训练过程中使用大小为64的小批量样本。在每个训练周期开始时,训练样本会先被随机打乱,然后再划分为小批量,以确保不同周期之间的批量组成各不相同,模型不会以固定顺序看到样本。批量未按类别显式平衡或分层;相反,每个批量反映了训练集的自然类别分布,类别不平衡问题通过加权二元交叉熵损失函数(公式19–21)加以解决。从训练集中预留的验证子集在各个训练周期中保持固定,不会被打乱后混入训练批量中。
加权二元交叉熵损失中的类别权重并非手动设置,而是根据每个数据集训练集的类别数量,按照公式 19 和 20自动计算得出。对于 UNSW-NB15 数据集,正常类别的类别权重为
,入侵类别的类别权重为
。对于 CICIDS2017 数据集,正常类别的类别权重为
,入侵类别的类别权重为
。对于 Bot-IoT 数据集(5% 子集),正常类别的类别权重为
,入侵类别的类别权重为
。
训练策略与优化
Extended BiLSTM 模型采用大小为 B = 64 的小批量数据进行训练,损失函数为加权二元交叉熵损失,优化器为 Adam,并根据验证损失应用早停法。训练最多进行 50 轮,早停法的耐心值 K = 5。若验证损失在连续五轮内未得到改善,则停止训练,并将模型权重恢复至验证损失最低时对应轮次的权重。因此,50 轮代表最大训练预算,而非固定的训练时长。为实现正则化,采用 0.3 的 dropout 概率。模型结构参数包括:64 个 Conv1D 滤波器、每个方向 64 个 LSTM 单元、窗口长度 T = 20 以及步长 s = 1。所采用的训练策略总结于算法 3(补充文件 1)中。用于优化的 Adam 更新方程详见补充文件 3A。
Adam 优化器的配置参数如下:学习率为
,一阶矩衰减率(β1)为 0.9,二阶矩衰减率(β2)为 0.999,数值稳定性常数(
)为 1 × 10-7。未使用其他优化器选项,且未应用权重衰减或梯度裁剪。
警报生成与自动缓解
在对延迟敏感的医疗物联网(IoMT)网络中,仅靠检测是不够的,快速响应对于确保患者安全至关重要。警报生成与缓解层将扩展型双向LSTM模型和区块链日志机制所做出的入侵判定付诸实施。如果 δt = 1,区块链模块将添加一个包含入侵详情的新区块
。同时,将执行智能合约以触发缓解措施(方程 22):
(12)
此处,BlockCreation 可确保事件的不可篡改取证日志记录,NodeIsolation(nj)将受侵害的医疗物联网(IoMT)节点隔离,以防止进一步损害,AdminAlert 则向系统管理员发送实时通知。为运行这一双层响应流程,伪代码详见算法 4(补充文件 1)。
智能合约事件处理及链下响应机制详见补充文件3E。
每个提交至区块链账本的条目均以 IntrusionBlock 记录形式存储,其字段和数据格式如表8所列。该账本为仅可追加的记录数组,当前链头存储了最近添加区块的哈希值。
| 序号 | 字段 | 数据类型 | 大小 | 描述 |
| 1 | hashId | bytes32 | 32 字节 | 区块哈希 Hi = Keccak-256(Di ∥ Ti ∥ probability ∥ PrevHash) |
| 2 | timestamp | uint256 | 32 字节 | 区块创建时间 Ti(Unix 时间戳,单位为秒) |
| 3 | nodeId | bytes32 | 32 字节 | IoMT 节点 nj 的标识符 |
| 4 | patientId | bytes32 | 32 字节 | 患者/设备标识符(取证元数据) |
| 5 | attackClass | uint16 | 2 字节 | 攻击类别代码(0 = 正常,1 = DDoS,2 = 欺骗,...) |
| 6 | probabilityBp | uint16 | 2 字节 | 预测入侵概率 ŷ,单位为基点(0–10000,即 0.00–100.00%) |
| 7 | dataDigest | bytes32 | 32 字节 | 所选事件特征的摘要 Di |
| 8 | signature | bytes | 可变(65 字节) | 网关对事件摘要生成的 ECDSA 签名 Sigi(r, s, v) |
| 9 | prevHash | bytes32 | 32 字节 | 前一区块的哈希值(PrevHash),用于链接区块链 |
| 10 | isolated | bool | 1 字节 | 是否为此记录触发了节点隔离 |
表8:存储在区块链账本中的 IntrusionBlock 记录结构。 本表描述了用于存储入侵事件的区块链账本记录的字段、数据类型、存储大小及用途。该结构支持加密完整性验证、取证可追溯性以及自动化响应机制。
总体缓解延迟可以表示为扩展型双向长短期记忆模型的检测延迟(Td)与区块链执行延迟(Tb)之和(公式 23):
(23)
计算复杂度分析
所提出的扩展型双向长短期记忆网络–区块链框架的效率由双向长短期记忆网络模型的计算成本以及区块链模块引入的开销共同决定。该框架将扩展型双向长短期记忆网络检测与区块链日志记录相结合,以满足保密性、完整性与可用性(CIA)三元组的核心安全要求。
设预处理后的输入序列长度为 T,特征维度为 d,双向LSTM的隐藏层维度为 h。
对于每个时间步,双向长短期记忆网络(BiLSTM)处理维度为 d 的输入,其隐藏层大小为 h。由于该网络是双向的(前向 + 后向)(公式 24):
) (24)
其中,T 为序列长度(时间步),d 为输入特征维度,h 为隐藏状态维度
注意力层计算重要性权重,并以复杂度对隐藏状态进行聚合(公式 25)。
(25)
该复杂度在序列长度 T 和隐藏层维度 h 上均为线性。
因此,每个序列的总体检测复杂度如下所示(方程 26):
(26)
表明时间建模主导了计算成本,而注意力机制仅引入了轻微的开销。
对于每个检测到的入侵事件,区块链日志会执行哈希计算、签名和区块追加操作(公式 27):
(27)
对于 N 次入侵检测事件,其组合复杂度如下(公式 28):
(28)
可简化如下(方程 29):
(29)
因为区块链开销随着事件数量线性增长,且与序列处理计算相比可忽略不计。
计算复杂度在公式24–29中进行了总结。补充文件3F提供了详细解释。
访问受限。请登录或开始试用以查看此内容。
结果部分按照实验方案的方法学步骤进行组织,每个子章节报告了相应步骤所产生的观察结果。
数据集处理与实验设置
三个基准数据集被独立分析,而非合并处理。由于 UNSW-NB15、CICIDS2017 和 Bot-IoT 使用不同的特征模式和标注规范,每个数据集均独立进行预处理、分窗操作,并采用各自独立的 80:20 训练/测试划分方式进行评估。扩展型双向长短期记忆网络(Extended BiLSTM)模型在每个数据集上独立训练与测试,各数据集的性能指标(准确率、精确率、召回率和 F1 分数)分别报告。这种独立评估方案避免了合并异构数据集所导致的特征空间不一致问题,从而能够在三种不同的网络环境中评估所提出框架的鲁棒性。
采用从 CICIDS2017、UNSW-NB15 和 Bot-IoT 数据集中提取的预处理正常流量与恶意流量,对所提出的扩展型 BiLSTM-BC 模型进行了训练与评估。数据划分采用单次分层保留法(stratified hold-out split)。UNSW-NB15 数据...
访问受限。请登录或开始试用以查看此内容。
本研究提出了一种集成的扩展型双向长短期记忆网络–区块链(Extended BiLSTM–Blockchain)框架,用于医疗物联网(IoMT)环境中的入侵检测与防御。结果表明,该框架通过结合双向时序学习与基于区块链的取证日志记录,能够有效识别异构IoMT网络流量中的入侵模式。该双向架构使模型能够捕捉网络流量中的前向和后向时序依赖关系,从而在入侵类别上实现了较高的精确率(99.44%)、召回率(98.54%)以及F1分数(98.99%),同时相较于所评估的基线入侵检测模型,保持了较低的误报率(约1.0%)。与传统的单向LSTM或基线架构相比,后者可能难以捕捉长距离时序依赖关系,而本研究所提出的模型能更有效地识别序列化流量模式,提升对良性与恶意网络流量的区分能力。这些发现支持了本研究的假设,即:将注意力机制增强的扩展型双向LSTM检测器与区块链日志层相结合,可同时提升入侵检测性能与取证可追溯性。
所提出的框架可置于若干既有的研究方向之中。一个研究方向聚焦于面向医疗物联网(IoMT)系统的、以特征选择增强的入侵检测方法,包括基于树模型和基于滤波器的方法...
访问受限。请登录或开始试用以查看此内容。
利益冲突:
作者声明,他们不存在与本文内容相关的任何竞争性利益。
我谨向马莱瓦拉姆的拉基雷迪·巴利·雷迪工程学院(A)表示诚挚的感谢,感谢其为完成本研究工作所提供的关键研究设施。该中心提供的资源与支持对我研究工作的顺利推进起到了至关重要的作用。我深深感谢我的导师D. Veeraiah博士和L. Sumalatha博士,感谢他们在本研究过程中持续的指导、宝贵的见解以及始终如一的鼓励。本研究未从公共、商业或非营利性资助机构获得任何特定的资助。
访问受限。请登录或开始试用以查看此内容。
| 姓名 | 公司 | 目录编号 | 评论 |
|---|---|---|---|
| AQU-IMF-RFE 特征选择模块 | 自主开发 | N/A | 融合互信息、Aquila 优化器与递归特征消除的混合特征选择方法 |
| 注意力层 | 自主开发(基于 Keras) | N/A | 在扩展 BiLSTM 模型中用于特征加权的时间注意力机制 |
| Bot-IoT 数据集 | UNSW 堪培拉网络中心 | N/A | 用于入侵检测评估的公开基准数据集 |
| CICIDS2017 数据集 | 加拿大网络安全研究所 | N/A | 公开的基准入侵检测数据集 |
| Ethereum 客户端(Geth) | Ethereum 基金会 | 1.13.15 | 用于部署和运行权威证明网络的区块链客户端 |
| 扩展 BiLSTM 模型 | 自主开发 | N/A | 融合 Conv1D、BiLSTM、残差学习和时间注意力机制的深度学习入侵检测模型 |
| Jupyter Notebook | Project Jupyter | 7.x | 用于实现、实验和结果可视化的交互式环境 |
| NumPy | NumPy 开发团队 | 2.4.4 | 用于预处理和模型训练的数值计算库 |
| Pandas | Pandas 开发团队 | 3.0.2 | 用于数据预处理和数据分析的数据处理库 |
| 权威证明区块链网络 | 自主开发 | N/A | 用于不可篡改入侵日志记录和自动化缓解的许可区块链网络 |
| Python | Python 软件基金会 | 3.12.7 | 用于数据预处理、模型开发、区块链集成和评估的编程语言 |
| 随机森林估计器 | Scikit-learn 开发者 | N/A | 用于递归特征消除(RFE)的随机森林分类器 |
| Scikit-learn | Scikit-learn 开发者 | 1.8.0 | 用于预处理、特征选择和模型评估的机器学习库 |
| Solidity 编译器(solc) | Solidity 团队 | 0.8.19 | 用于智能合约编译和部署的编译器 |
| 固态硬盘(SSD) | Dell | 512 GB | 用于存储数据集、训练模型和区块链账本的存储设备 |
| 系统内存(RAM) | Dell | 128 GB | 在预处理、模型训练、区块链执行和评估过程中使用的主内存 |
| TensorFlow | 2.16.1 | 用于实现和训练扩展 BiLSTM 模型的深度学习框架 | |
| UNSW-NB15 数据集 | UNSW 堪培拉网络中心 | N/A | 用于训练和评估的公开基准数据集 |
| Web3.py | Web3.py 开发者 | 6.15.1 | 用于入侵检测系统与区块链网络之间通信的 Python 接口 |
| Windows 操作系统 | Microsoft | Windows 11 | 所有实验所使用的操作系统 |
| 工作站/服务器 | Dell | PowerEdge R740 | 用于模型训练、区块链部署和评估的计算平台 |
申请许可以重复使用本 JoVE 文章的文本或图表
申请许可