原文标题:IoT-PRIDS: Leveraging packet representations for intrusion detection in IoT networks

原文作者:Alireza Zohourian,Sajjad Dadkhah,Heather Molyneaux, Euclides Carlos Pinto Neto, Ali A. Ghorbani

原文链接:https://doi.org/10.1016/j.cose.2024.104034

发表会议:Computers & Security

笔记作者:张琦驹@安全学术圈

主编:黄诚@安全学术圈

编辑:张贝宁@安全学术圈

1、引言

物联网(Internet of Things, IoT)设备在医疗、交通、农业等众多领域的广泛应用,使其成为人类生活中不可或缺的一部分,但同时也因资源受限、缺乏标准化安全措施及异构性等特点,面临着日益严峻的安全威胁,攻击面不断扩大,亟需有效的安全解决方案。入侵检测系统(Intrusion Detection System, IDS)作为保障物联网安全的重要工具,虽能通过监测网络活动识别潜在攻击,但现有 IDS 存在依赖标记数据(需要正常和恶意流量用于训练)以及许多机器学习方法计算成本高的问题,限制了其在实际场景中的应用。为此,本文提出一种名为 IoT-PRIDS 的轻量级非机器学习框架,该框架仅利用良性网络流量构建设备正常行为基线,通过 “数据包表示” 来检测异常流量,旨在为物联网环境提供一种实用的安全保障方案。

2、IoT-PRIDS 核心机制

IoT-PRIDS 作为一种轻量级非机器学习的入侵检测框架,其核心创新在于通过 “数据包表示” 构建设备正常行为基线,实现对异常流量的高效检测。该机制围绕数据包的关键特征提取与标准化表示展开,具体包括以下内容:

数据包表示的构建标准。 基于物联网设备网络流量的特性,从三个维度定义数据包的核心特征:

  • 通信特征:涵盖端点(IP 地址、MAC 地址)、方向(入站 / 出站)、范围(局域网 / 广域网)、分布(单播 / 多播 / 广播),用于刻画设备的通信模式。

  • 服务特征:包括协议(TCP、UDP 等)、端口号、具体服务类型(HTTP、DNS 等),用于区分设备提供或使用的服务。

  • 头部值特征:涉及 L2-L5 层协议头部的特定字段值(如 ARP、IP、TCP、HTTP 头部的关键参数),用于捕捉数据包的底层结构特征。

数据包映射方法。通过多对一的映射规则,将原始数据包转换为精简的 “表示”。映射过程中,去除冗余信息(如 payload),仅保留上述核心特征的关键值,或对部分特征进行转换(如将端口号按范围归类、 payload 长度映射为最接近的 2 的幂),使大量相似数据包被归并为同一个表示,显著减少数据规模。

表示距离与异常判断。采用汉明距离计算新数据包表示与正常表示集的差异,距离超过预设阈值则标记为异常。同时,结合基于流的检测策略(取流中数据包的模式),进一步降低因单一数据包偏差导致的误报率。

Profiling 与监控流程。框架分为两个阶段:Profiling 阶段通过分析良性流量,存储所有正常数据包的表示,形成设备行为基线;监控阶段将新数据包映射为表示后,与基线对比,通过距离判断其是否异常,实现实时入侵检测。

3、研究方法

本研究通过构建 “数据包表示” 实现物联网设备的异常检测,核心流程包括数据包映射、正常基线构建(Profiling)及实时监控(Monitoring)三个环节,具体操作如下:

3.1 数据包映射规则

为将原始数据包转换为可用于检测的 “表示”,研究基于物联网设备通信的稳定性特征,制定了多维度映射规则如下图所示:

  • 特征筛选与转换:从数据包的通信、服务和头部值三个层面提取关键特征。例如,保留源 / 目的 MAC 地址以标识通信端点,将端口号按 10,000 范围归类(如 [0–10,000]),将 payload 长度映射为最接近的 2 的幂值,同时删除随机头部(如校验和、序列号)和不变头部(如 IP 版本号)。

  • 冗余去除:剔除与设备行为无关的字段(如 payload 内容),仅保留能反映设备正常通信模式的核心特征,使大量相似数据包被映射为同一个表示。

3.2 Profiling 阶段:构建正常行为基线

该阶段通过分析良性流量建立设备的正常行为档案:

  • 收集 CICIoT2022 和 CICIoT2023 数据集中的良性流量,涵盖设备在不同状态(如活跃、空闲)下的通信。

  • 对每个良性数据包应用 3.1 中的映射规则,生成对应的表示。

  • 存储所有独特的表示,形成该设备的正常表示集(即基线),用于后续异常判断。

3.3 Monitoring 阶段:异常检测流程

实时检测新流量时,流程如下图:

  • 对新数据包执行相同的映射操作,生成其表示。

  • 计算该表示与设备正常表示集的最小汉明距离(即与所有正常表示的差异程度)。

  • 若距离超过预设阈值,则标记为异常;同时结合 “流级别检测”(取同一流中多数数据包的判断结果),减少单一数据包误判导致的 false positive。

通过上述方法,IoT-PRIDS 无需依赖标记的攻击数据,仅通过正常流量构建的基线即可实现异常检测,且因表示数量远少于原始数据包,大幅降低了计算开销。

4、实验评估

为全面验证 IoT - PRIDS 框架的有效性与优势,从性能表现、效率特性以及与其他方法对比等维度展开实验评估,实验数据来源于 CICIoT2022 和 CICIoT2023 数据集。

4.1 实验设置

数据集利用:将 CICIoT2022 中约 545 小时、共计 88,810,001 个良性流量数据包,以及 CICIoT2023 里约 28 小时、11,102,704 个良性流量数据包,用于构建设备正常行为基线。以 CICIoT2023 所包含的各类攻击流量,如 Web 攻击、侦察攻击等,作为测试数据,用于检验 IoT - PRIDS 对异常流量的检测能力。评估指标选定:采用准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1 分数(F1 - score)这四项指标综合衡量检测性能。通过对比检测时间与流量持续时间,评估 IoT - PRIDS 的检测效率。检测方式区分:分别开展数据包级检测(基于单个数据包进行异常判断)和流级检测(综合同一流中多个数据包的情况来判定),对比不同检测方式下 IoT - PRIDS 的表现 。

4.2 性能评估结果

针对 5 类典型攻击类型,IoT - PRIDS 展现出良好的检测性能,且流级检测在多数情况下优于数据包级检测,具体数据如下:

Web 攻击检测:在流级检测模式下,对于各类 Web 攻击,召回率均达到 100%,F1 分数普遍高于 0.99。即便仅基于 CICIoT2022 数据集构建基线(该数据集中部分设备信息有所缺失),数据包级检测的召回率依旧维持在 90% 以上。例如,在针对 Command Injection 攻击检测时,流级检测的精确率为 0.99,召回率 100%,F1 分数 0.995;数据包级检测精确率 0.98,召回率 92%,F1 分数 0.95,如下图所示Web 攻击中不同检测方式的性能对比。横坐标为 Web 攻击类型,纵坐标为性能指标数值。以柱状图展示数据包级检测和流级检测在精确率、召回率、F1 分数上的表现,直观呈现两种检测方式在各类 Web 攻击检测中的差异。

侦察攻击检测:流级检测的精确率和召回率大多处于 98% 以上。其中,OS 扫描、端口扫描等攻击类型,召回率更是高达 100%。仅在 Host discovery 攻击检测中,由于其涉及多端点探测,情况较为复杂,召回率为 91.76% 。如针对 Port Scan 攻击,流级检测精确率 0.99,召回率 100%,F1 分数 0.995;数据包级检测精确率 0.97,召回率 95%,F1 分数 0.96,如下图所示侦察攻击检测性能展示。同样以横坐标表示侦察攻击类型,纵坐标为性能指标值。通过柱状图对比数据包级和流级检测在不同侦察攻击下精确率、召回率、F1 分数的数值,突出流级检测在该类攻击检测中的优势。

字典暴力攻击检测:对于 SSH 和 RTSP 暴力攻击,流级检测的召回率均为 100%。其中,RTSP 攻击的精确率达到 100%,而在 SSH 攻击检测中,因涉及部分非 IoT 设备(如笔记本电脑等)的连接尝试,导致前两类 SSH 攻击检测存在一定误报情况 。以 RTSP 暴力攻击为例,流级检测精确率、召回率均为 100%,F1 分数 1.0;数据包级检测精确率 0.98,召回率 96%,F1 分数 0.97,如下图所示。

DoS 攻击检测:在 SYN Flood、TCP Flood 等 DoS 攻击类型检测中,流级检测的准确率、精确率、召回率近乎 100%。对于 HTTP Flood 攻击,由于其流量特征较为复杂,当基于 CICIoT2022 基线进行检测时,召回率为 82.47%,但在流级检测策略下,性能得到显著优化 。例如 SYN Flood 攻击,流级检测精确率、召回率、准确率均为 100%;HTTP Flood 攻击基于 CICIoT2023 基线流级检测,精确率 0.99,召回率 95%,F1 分数 0.97如下图所示。

DDoS 攻击检测:除部分 HTTP Flood 和 Slow Loris 攻击因正常基线中存在部分相似特征,导致检测性能出现一定波动外,其余攻击类型,如 ACK Fragment、SYN Flood 等,流级检测召回率达 100%,F1 分数普遍超过 0.99 。以 ACK Fragment 攻击为例,流级检测精确率 0.99,召回率 100%,F1 分数 0.995;HTTP Flood 攻击在特定复杂情况下,流级检测精确率 0.96,召回率 90%,F1 分数 0.93,如下图所示。

总体而言,流级检测通过整合同一流内多个数据包信息进行综合判断,有效降低了误报率,显著提升了检测性能。并且,基于 CICIoT2023 构建的基线,因涵盖更为丰富的设备信息,相较于 CICIoT2022 基线,在检测性能上更具优势。

4.3 效率评估结果

实时性验证:在模拟包含约 80 个端点的物联网网络环境中,针对多数攻击类型,IoT - PRIDS 的检测时间远短于流量持续时间。以 Web 攻击中的 Command Injection 为例,其流量持续时间为 502 秒,而 IoT - PRIDS 的检测时间仅为 26 秒;DDoS 攻击里的 UDP Fragment,流量持续 10 秒,检测时间仅需 2 秒,充分表明 IoT - PRIDS 能够满足近实时检测的实际需求,如下图所示。

与机器学习模型对比:与常见的机器学习模型(如自编码器)相比,IoT - PRIDS 在时间复杂度上具有明显优势。在 Profiling 阶段,IoT - PRIDS 只需存储数据包表示,时间复杂度为 O (1),而自编码器训练过程的时间复杂度高达 O (n³)。在 Monitoring 阶段,IoT - PRIDS 的时间复杂度为 O (n・k・m)(其中 k 为表示数量,m 为特征数),并且在实际运行过程中,无需进行复杂的模型计算,这使其更契合资源受限的物联网设备运行环境 。

4.4 与现有方法对比

将 IoT - PRIDS 与 CICIoT2023 数据集上已有的其他入侵检测方法进行对比,结果显示,IoT - PRIDS 在召回率方面表现突出,达到 99.71%。尽管在精确率上为 93.84%,略低于部分机器学习方法,但 IoT - PRIDS 无需依赖大量标记的攻击数据进行训练,并且在计算成本上显著更低,在实际物联网应用场景中具备更强的综合竞争力 。

5、总结

本文提出了一种名为 IoT-PRIDS 的轻量级非机器学习框架,用于物联网网络的入侵检测。该框架利用 “数据包表示” 来理解设备的典型行为,仅依靠良性网络流量构建基线,通过判断新数据包表示与正常表示的差异来检测异常。研究基于通信、服务和头部值三个标准构建数据包表示,采用汉明距离量化差异,并结合流级检测减少误报。实验使用 CICIoT2022 和 CICIoT2023 数据集,在 Web 攻击、侦察攻击、字典暴力攻击、DoS 攻击和 DDoS 攻击等场景中评估,结果显示该模型能检测大多数异常流量,流级检测表现更优,且检测时间短,计算成本低,适合实际应用。

安全学术圈招募队友-ing

有兴趣加入学术圈的请联系 secdr#qq.com

声明:本文来自安全学术圈,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。