news 2026/10/30 6:42:23

AIRO:一种基于流式机器学习的工业物联网威胁检测与安全框架

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AIRO:一种基于流式机器学习的工业物联网威胁检测与安全框架

大家读完觉得有帮助记得关注和点赞!!!

摘要

现代工业物联网(IIoT)实现如今连接边缘网关、云仪表板和企业应用。这提高了可见性和远程监控能力,但同时也使工业流量暴露于各种网络威胁,包括扫描、Web攻击和结构化查询语言(SQL)注入(SQLi)、钓鱼驱动的凭据窃取以及命令与控制(C2)活动。尽管基于规则的工具对于检测已知签名仍然有用,但其效力在攻击被最小改动或警报需要人工调查时会下降。本文提出AIRO(自主智能驱动的网络安全风险降低系统),一个用于IIoT监控与响应的高效框架。AIRO结合Apache Kafka流处理、攻击特定特征提取、机器学习(ML)推理、基于置信度的决策逻辑以及风险降低措施,如互联网协议(IP)阻断、账户暂停和流量限制。我们为C2信标、侦察、SQLi和钓鱼开发了四个专用数据集来评估AIRO。这些数据集包含噪声和重叠的特征分布,以最小化标签泄漏。表现最佳的模型主要是梯度提升和LightGBM,F1分数最高达0.9229,同时确保从事件输入到缓解的低延迟。

索引词——网络安全、入侵检测、机器学习、Apache Kafka、实时流处理、异常检测、SQLi、钓鱼、C2信标

I. 引言

IIoT系统常见于制造业、能源、物流、智能建筑和关键基础设施。在现场,传感器和控制器不再单独工作。它们与边缘计算机、仪表板、分析平台和远程维护工具共享数据。这对自动化非常有益,但也使工业资产更容易受到过去影响企业信息技术网络的威胁[1], [2]。

这项工作的主要动机是,我们需要一种安全机制,能够监控流量、快速发现行为并在问题影响生产之前采取行动。使用签名检测入侵的通常方式对已知威胁有帮助,但在阻止不断变化的恶意软件、慢速扫描、特殊SQLi载荷、钓鱼活动和C2活动方面效果不佳。当来自传感器、网关和用户端点的警报到来时,人工响应也很慢。我们需要一些东西来保护这些系统[3], [4], [5]。

本文提出AIRO,一个自主智能驱动的IIoT威胁检测与缓解框架。工作有四个目标:设计流式安全流水线、准备攻击特定数据集、比较合适的ML模型,并将检测输出连接到实际响应行动。主要贡献是:(i)一个面向IIoT的架构,结合Kafka流处理、特征提取、ML推理和决策逻辑;(ii)四个数据集,分别用于C2信标[2], [6]、侦察[1], [7]、SQLi[8], [4]和钓鱼[5], [9];(iii)对经典和集成ML模型的比较评估;(iv)一个风险评分策略,自动化高置信度响应,同时将不确定案例路由到分析师审查。

本文其余部分组织如下。第二节回顾相关工作并总结研究差距。第三节按设计建议的顺序介绍所提出的方法:系统架构及其解释、Kafka管道以及数据集准备与数据集描述。第四节报告结果与讨论。第五节总结全文。

II. 相关工作

基于ML的入侵检测已被广泛研究,作为对经典入侵检测系统(IDS)的替代。综述回顾了经典IDS数据集和算法,如随机森林和支持向量机(SVM)。它们识别出常见问题,如过时的流量轨迹、类别不平衡以及对新攻击的有限适应性。Ghourabi[8]展示了混合LightGBM和Transformer模型[10]在医疗雾安全中的有效性,指出它们捕获复杂模式的能力。然而该研究是领域特定的,且仅关注检测。近期在车联网(IoV)和物联网(IoT)中的综述和框架[7], [10], [11]确认,集成学习和特征选择可改善连接环境中的分类性能。

云和网络安全研究越来越多地将检测与部分响应相结合。Mohammed等人[3]提出了一个AI驱动的云环境事件检测与响应平台。Ghani等人[4]使用孤立森林和随机森林检测分布式拒绝服务(DDoS)、恶意软件和后门攻击。尽管对运营安全有价值,这些研究中的响应逻辑通常有限,且不是围绕基于置信度的自主缓解构建的。Kim等人[5]和Malatji[9]强调了人类参与和分析师信任对安全的重要性。然而过度依赖人工审查会降低IIoT环境中的响应速度。

近期研究还涉及高级异常关联。Kumar等人[12]集成了孤立森林、自编码器和卷积长短期记忆(ConvLSTM)模型以实现鲁棒异常检测。Zhu等人[6]引入了LinTracer,使用基于图的关联跟踪多阶段攻击链。Ness等人[13]评估了先进ML模型用于网络异常检测。然而他们的重点是离线分类而非闭环实时流水线。BotScan[2]展示了轻量级AI防御对IoT僵尸网络威胁的价值,并支持对可部署的边缘感知安全机制的需求。

现有工作表明ML和集成模型对入侵检测有效。然而许多研究要么依赖较旧的数据集,要么聚焦单一领域,要么止步于检测。实用的IIoT解决方案需要流式摄取、攻击特定特征、低延迟推理、置信度感知决策和自动化缓解。AIRO通过将检测和响应集成在单一面向IIoT的框架中来解决这一差距。

III. 提出的方法

A. 系统架构与解释

AIRO设计为分层IIoT安全框架,如图1所示。现场设备、网关、Web应用、域名系统(DNS)日志、认证系统和电子邮件安全工具持续生成事件。这些事件被规范化并发送到Kafka主题。在实验期间,逗号分隔值(CSV)文件模拟实时流,SQLi载荷文本使用词频–逆文档频率(TF-IDF)特征表示[8]。推理层提取攻击特定特征并应用所选模型。决策引擎然后将模型置信度映射到操作响应。

图1展示了AIRO的详细组件级架构。数据流层包含原型中使用的四个攻击数据流:C2信标、侦察、SQLi和钓鱼。每个流在实验期间表示为CSV数据集,但同一位置后续可由实时IIoT日志、DNS记录、Web应用事件、认证轨迹或电子邮件安全警报占据。

数据摄取层使用四个独立的Kafka生产者。每个生产者从其攻击特定源读取,将每条记录序列化为JavaScript对象表示法(JSON)消息,并发布到匹配的Kafka主题。在原型中,生产者速率保持为每个流约每0.3秒一个事件,使流水线表现得像实时监控系统而非一次性批处理脚本。JSON记录将原始特征列与元数据(如源IP、目标IP、主机和时间戳)保持在一起。

Kafka代理层维护四个隔离主题:c2-events、recon-events、sqli-events和phishing-events。这种分离防止高容量流(如钓鱼流量)延迟低延迟流(如C2检测)。它还允许每个主题在消费者失败或模型需要在同一事件序列上重新测试时从Kafka日志重放。

消费者和特征提取层将传入主题消息转换为模型就绪输入。C2记录使用StandardScaler处理时序和信标特征,侦察记录使用基于树的网络特征,SQLi记录使用StandardScaler加TF-IDF载荷特征,钓鱼记录使用StandardScaler加独热编码的统一资源定位符(URL)或登录属性。这些预处理步骤产生训练分类器期望的固定长度向量。

ML推理层包含四个专用推理线程。每个消费者加载相应的预训练.pkl模型并对每个事件调用概率推理。输出是0到1之间的置信度分数。决策与缓解层然后将此分数和攻击类型映射到行动:低于0.50的分数记录日志,0.50–0.80产生警报或速率限制,0.80及以上的分数触发更强的缓解(如阻断、隔离、DNS黑洞或隔离检疫),而0.45–0.55的边界带升级到人工审查。这一层使系统对IIoT实用,因为风险行动与置信度和运营影响都相关联。

图1. AIRO详细系统架构,按从数据集和Kafka流到模型推理和缓解的框图组织。

表I:原型使用的Kafka事件模式

字段描述
event_id用于可追溯性和重复处理的唯一标识符
timestamp网关或连接器观察到事件的时间
asset_type可编程逻辑控制器(PLC)、传感器网关、Web服务器、用户端点或云服务
src, dst源和目标地址、域或服务标识符
host生成事件的设备、端点或服务
features模型使用的提取数值或编码特征
score所选分类器返回的概率
action决策引擎选择的响应

B. Kafka管道

Kafka用作连接数据生成、特征提取、模型推理和缓解的实时骨干。四个生产者向图2所示的四个专用主题提供数据。每个主题由匹配的消费者线程消费,该线程反序列化JSON记录、应用所需的预处理步骤、加载相关.pkl模型并产生置信度分数。代理还提供简单的容错,因为保留的主题日志允许消费者重启时重放。在原型中,从事件到达到决策的端到端延迟约为0.5秒。

表I中的模式使流记录足够小以应对高容量流量,同时保留审计所需的字段。原始数据包载荷不需要永久存储在Kafka主题中;相反,保留紧凑特征和引用。这降低了存储成本并限制了敏感运营数据的暴露。如果确认严重事件,可以使用事件标识符从原始传感器或网关检索更深入的日志。

容错通过Kafka偏移量处理。如果推理消费者失败,它可以从最后提交的偏移量重新启动并继续处理而不会丢失事件。这种行为在边缘位置与中央监控之间连接可能不稳定的IIoT站点中很有用。系统还可以优先考虑高风险事件的本地执行,允许网关在中央仪表板延迟时采取临时行动。

缓解故意由置信度驱动。例如,来自未知源的重复扫描可以触发临时IP阻断,钓鱼登录尝试可以锁定或挑战账户,SQLi尝试可以生成Web应用防火墙(WAF)规则,可疑C2流量可以重定向到DNS黑洞。接近决策边界的事件升级到人类分析师,以减少工业运营中不必要中断的风险。

表II:AIRO响应引擎使用的决策策略

分数范围风险级别IIoT部署中的行动
p < 0.45低存储事件,更新仪表板,无自动化中断
0.45 ≤ p ≤ 0.55边界通知分析师并在执行前请求确认
0.55 < p < 0.80中提高警报,增加日志记录,限制重复来源
p ≥ 0.80高应用攻击特定阻断、隔离、DNS黑洞或检疫

图2. 连接事件摄取、模型推理和响应的Kafka管道。

表II中的响应策略是保守的,因为工业网络重视可用性与机密性同等重要。高置信度SQLi事件可以在Web网关阻断而不停止生产流量,而隔离工程工作站需要更强的证据。因此,相同的概率分数与资产关键性、事件重复和来源声誉一起解释。框架因此避免单一的“检测并阻断”规则,而是选择与运营风险匹配的响应。

图3保持响应路径明确。包含它是因为若干参考论文使用架构和过程图来解释检测输出如何成为运营安全行动。在AIRO中,同样的想法通过将威胁特定检测器与执行点分离来适应IIoT。这防止模型仅产生抽象标签,并使最终行动更容易审计。

图3. 从检测分数到缓解控制的威胁特定映射。

例如,考虑一个通常与少量供应商云端点通信的IIoT网关。如果网关开始向新的低声誉域发送周期性DNS查询,且时序类似信标,C2模型分配高分。决策引擎然后可以将该域添加到黑洞列表,同时保持正常工厂流量活跃。相反,如果工程师工作站在批准的维护窗口期间执行短端口扫描,事件可能保持在边界区域并路由到审查而不是立即阻断。这种区分至关重要,因为工业安全控制必须避免不必要的停机。

从实现角度看,每个事件都有一些细节。这些细节包括时间戳、源、目标、涉及何种资产、提取的一些特征、模型输出是什么以及所采取行动的状态。这些信息被发送回响应主题。这样,仪表板、审计报告和事件处理人员可以查看整个事件序列。在流水线内保持决策历史是有帮助的。它有助于在部署系统后调整阈值。假阳性和分析师覆盖可以审查,而无需从多个工具手动收集日志。

C. 数据集准备与描述

为四个IIoT威胁类别准备了自定义数据集,因为公共数据集通常包含过时攻击、重复条目或泄漏标签的特征。生成过程使用现实范围、噪声、良性与恶意类别之间的重叠以及对抗性变体。每个数据集分为训练和测试集,分类或文本属性在模型训练前编码。表III总结了原型中使用的每个数据集的大小、类别分布和特征类型。

表III:原型使用的数据集概览

数据集总数恶意正常特征
C2信标5,0001,2643,73610个数值
侦察6,0001,8984,10212个数值
SQLi5,0001,4973,5035个数值+TF-IDF
钓鱼10,0005,0924,9089个数值+9个分类

C2信标数据集:该数据集由与命令控制回调相关的网络行为组成。每个样本是每个主机的观察期。正常样本包括遥测、更新请求和云同步,而恶意样本涉及周期性回调、低抖动到达间隔时间、异常DNS突发和低声誉目标。有十个数值特征描述时序、大小、DNS熵、抖动和目标声誉,如表IV所示。

表IV:C2信标特征描述

特征描述
num_nodes网络窗口中的节点数
num_malicious_nodes场景中的恶意节点数
heterogeneity节点或设备类型的多样性
interval_mean/std信标间隔的均值和变化
packet_size平均数据包大小
dns_requestsDNS查询计数和突发性
failed_connections失败的出站尝试
connection_duration平均连接持续时间

侦察数据集:该数据集关于IIoT网关和服务上的端口扫描和资产发现。在良性类别中,将有维护扫描和常规服务检查,以避免每个扫描都被视为攻击的情况。恶意类别具有高唯一端口数、增加的失败连接、更多端口熵、异常扫描率和更强的顺序扫描。该类考虑十二个数值变量,列于表V。

表V:侦察特征描述

特征描述
connection_attempts总连接尝试
unique_ports联系的不同端口
failed/success_connections失败和成功连接
scan_rate每秒尝试次数
avg_connection_duration平均连接持续时间
packet_rate, bytes_sent数据包和字节量
port_entropy端口选择的随机性
sequential_scan_score有序扫描的可能性
burstiness, interval_variance时序突发和间隔变化

SQLi数据集:该数据集由标记为正常或SQLi攻击尝试的Web请求组成。正常请求具有以下特征:表单提交和参数化请求;而恶意请求包括重言式、联合查询、注释、编码请求、基于错误的攻击和混淆攻击。五个数值元数据特征伴随基于查询计算的TF-IDF特征,包括特殊字符,因为它们有助于检测攻击。数值和文本SQLi特征列于表VI。

表VI:SQLi特征描述

特征描述
request_rate每秒查询数
failed_queries失败查询尝试数
response_time平均查询响应时间
payload_length查询字符串长度
encoding_flagURL或十六进制编码指示符
query使用TF-IDF转换的原始SQL文本,保留特殊字符

钓鱼数据集:该数据集由用户和电子邮件的钓鱼活动交互组成。考虑的特征包括URL、发件人和域属性、登录上下文以及简单网络特征。恶意实例包括可疑令牌、URL重定向、低域声誉和异常登录行为。合法实例由云服务和企业URL组成。这些用于教分类器比URL长度和令牌数量更多的东西。总结于表VII。

表VII:钓鱼特征描述

特征组描述
URL/域分析URL熵、域年龄、重定向、缩短链接和可疑令牌
发件人评估发件人声誉、不匹配标志和电子邮件元数据
登录监控登录位置、频率和异常访问行为
分类识别编码的发件人、域和行动类别
网络字段检查电子邮件事件附近的连接和请求指示符

表VIII:数据集构建原则

原则目的
类别重叠防止学习不切实际的阈值策略
噪声注入象征丢包、日志不连续、编码字符串和测量错误
攻击变体包括低频扫描、抖动C2、SQLi代码和短URL
良性相似物包括软件更新、维护扫描、管理员查询和有效登录URL
调优前分割避免从训练到评估集的意外数据泄漏

预处理包括处理缺失值、缩放数值特征、编码分类变量以及从URL和载荷字符串提取文本派生特征。使用三种准备方案以适应攻击源的多样数据类型。第一是StandardScaler,使数值时序和流量特征保持在可比尺度。第二是TF-IDF,将SQLi载荷文本转换为模型就绪的令牌权重。第三是使用独热编码表示钓鱼分类字段,而不强加虚假数值顺序。表VIII中的数据集构建原则总结了如何保留重叠、噪声、攻击变体和良性相似物以避免不切实际的可分离性。训练-测试分割在最终评估之前执行以避免信息泄漏。数据集没有被制造成完全可分离。保留边界记录,使模型性能反映现实操作条件。

记录从安全角度而非仅统计角度审查。恶意类别不仅由C2的固定周期定义。它还包括真实恶意软件中常见的细微时序变化。侦察中包含良性维护窗口,因为工业团队定期扫描资产以进行库存和合规。SQLi的载荷被编码并与正常参数集成,防止模型依赖单一符号。钓鱼中包含合法云服务链接,因为当基于URL的检测自动将长或重定向链接标记为恶意时会出现许多假阳性。

这种准备对IIoT至关重要,因为公共企业数据集很少反映工业环境中发现的运营流量、维护行为和用户驱动Web活动的复杂混合。虽然这些数据集不能替代实时捕获,但它们为在部署到真实设备之前比较模型提供了受控环境。

在解释训练模型时也考虑了特征重要性。时序一致性、DNS熵和目标声誉是C2数据集最有用的指标之一。唯一端口数和失败连接比仅总数据包计数对侦察更有用。在SQLi中,关键词频率和编码字符模式有助于区分恶意请求和正常参数。没有单一特征对钓鱼足够可靠,这解释了较低的F1分数并支持未来版本需要更丰富的文本和域情报。

IV. 结果与讨论

评估了逻辑回归、决策树、随机森林、梯度提升、XGBoost和LightGBM。评估使用准确率、精确率、召回率和F1分数。最终选择聚焦于F1分数和稳定的测试性能。这是因为我们既需要检测又需要控制假阳性。表X总结了每个威胁类别选择的模型。

表IX:实验设置与超参数

威胁训练/验证/测试分割预处理模型超参数
C264/16/20StandardScaler数值特征梯度提升100个估计器,学习率0.1
侦察80/0/20树特征,类别权重1:2LightGBM100个估计器,学习率0.1,31叶
SQLi60/20/20StandardScaler,TF-IDF梯度提升100个估计器,学习率0.1
钓鱼70/15/15StandardScaler,独热编码梯度提升100个估计器,学习率0.1

表X:AIRO数据集表现最佳的模型

威胁所选模型准确率精确率召回率F1
C2信标梯度提升0.9230.9140.9320.923
侦察LightGBM0.9140.9090.9180.913
SQLi梯度提升0.9080.8970.9160.906
钓鱼梯度提升0.6710.6600.6410.650

评估涉及为每种攻击类型分割数据预处理和实用模型设置。然后所选分类器连接到其Kafka消费者。实验设置和超参数列于表IX。实现文件可在https://github.com/pranav21684/Raima-Sem-2-2025-26获取。

结果表明,对这些数据集,集成方法比线性模型效果更好。这是合理的,因为攻击标签取决于特征的组合,而非单一阈值。受试者工作特征(ROC)曲线显示曲线下面积(AUC)值。C2和侦察检测给出了最清晰的结果。这是因为时序规律性、目标声誉、端口扇出和失败连接比率是行为信号。SQLi也被可靠检测。然而编码载荷和正常请求(带字符)对钓鱼类别造成了一些重叠。这是因为良性和恶意URL看起来可能相似。因此钓鱼用作警告组件而非独立阻断机制。

图4和图5显示当攻击具有稳定行为模式时我们得到结果。C2通信方式在时序和目标中留下模式。侦察在连接中创建模式。SQLi改变Web请求的结构。图6中的ROC曲线支持这一结论:C2、侦察和SQLi分类器接近左上区域,但钓鱼曲线较弱,因为好URL和坏URL可能看起来非常相似。因此我们应将钓鱼检测视为电子邮件认证、沙箱和用户验证的一步,而非控制它的唯一方式。

图4. 每个威胁类别所选模型的F1分数。


图5. 每个威胁类别所选模型的精确率。


图6. 所选AIRO分类器的ROC曲线。

当我们部署这个时,两件事非常重要,不仅仅是它有多准确。首先我们必须考虑延迟:如果警报在恶意软件已经做了什么之后才来,它给攻击者时间造成更多损害。其次我们必须考虑可逆性:临时阻断或隔离某些东西更安全。让分析师批准,而不是做出可能影响正在用于实际工作的东西的永久更改。所以AIRO使用短响应时间和可跟踪的行动,以便操作员在影响任务时可以撤销某些东西。

表XI将我们的工作与近期工作比较。该表显示了每项工作的指标以及它是否可以实时使用和自动响应。在此表中,灰狼优化(GWO)、卷积神经网络(CNN)和医疗物联网(IoMT)写为缩写以便单元格易于阅读。

表XI:与相关工作的比较分析

工作方法/领域准确率F1分数流式响应
Choukhairi等[11]蝴蝶优化集成;IoT/IDS99.795%0.9979否否
Abid等[10]GWO+CNN-LightGBM;IoT/IoMT95.24%0.9951否否
Ness等[13]ML异常检测;网络85%0.85否否
AIROKafka+攻击特定ML;IIoT95.3%0.9229是是

攻击类别是分开的,因为SQLi取决于请求结构。C2取决于时序和目标行为,每个威胁映射到不同的控制点。对于部署,AIRO可以从监控模式开始,然后在分析师审查本地假阳性后启用警报、可逆限流和受控自动化。

V. 结论

本文介绍了AIRO,一个实时IIoT网络安全框架,将威胁检测与自主缓解相结合。Kafka用于流式摄取,有助于攻击特定特征提取、集成ML模型和基于置信度的决策。为C2信标、侦察、SQLi和钓鱼攻击准备了四个数据集。模型在除一个类别外的所有类别中表现良好,钓鱼被检测为需要进一步工作的领域。总之,AIRO展示了轻量级ML和流式框架可以在IIoT环境中带来更快速、安全和实用的安全响应。

AIRO的主要限制包括钓鱼攻击检测中F1分数较低以及维护不同模型所需的额外努力。未来工作将涉及在IIoT流量上测试流水线、引入基于Transformer的特征以改善钓鱼检测以及模型蒸馏以便在边缘网关实现

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/30 6:39:05

机器人算法的Python代码合集

这篇文章里包含了若干个机器人相关的算法代码, 而其中那些专门针对自动导航功能的算法相关代码, 更是被放在了重点的位置, 它们共同构成了这个合集。其中主要存在的特征具体来讲可以归纳成为三点, 第一点是在实际当中被用得很多的那些算法被挑选了出来, 第二点是所需要的依赖项…

作者头像 李华
网站建设 2026/10/30 6:38:48

Time-MoE学习笔记

一、前置知识稠密模型 vs 稀疏模型稠密模型&#xff08;dense&#xff09;&#xff1a;每个输入进来&#xff0c;所有参数都参与计算。一个 1B 的稠密模型&#xff0c;每个数据点都要流过完整的 1B 参数。稀疏模型&#xff08;sparse / MoE&#xff09;&#xff1a;网络里有一群…

作者头像 李华
网站建设 2026/10/30 6:35:52

INV Manager待提交单据批量脚本提交与对账实践

INV Manager 的待提交列表堆到四位数那天&#xff0c;手工点提交这条路基本就走到头了。这里的 INV Manager 指的是业务侧的单据管理模块&#xff0c;存放所有待落账的库存与物料流转单据&#xff1b;MTI 和 MMTT 是下游两套处理链路&#xff0c;前者负责物料转移指令的校验与派…

作者头像 李华
网站建设 2026/10/30 6:35:11

【git原理与使用】git初识与安装

文章目录1. 提出问题2. 解决方法——版本控制器3. git安装之前Linux系统编程专栏中&#xff0c;我们通过一篇文章简单介绍过git的基本使用&#xff0c;本专栏我们将来正式全面深入地学习git&#xff0c;本专栏目标&#xff1a; 掌握 Git 企业级应用&#xff0c;深刻理解Git操作…

作者头像 李华
网站建设 2026/10/30 6:32:58

自学C语言笔记

占位符%d 以十进制的形式打印整数%c 打印字符%f 打印小数%s 打印字符串%zu 打印sizeof计算的结果%p 打印地址int 整型char 字符类型转义字符&#xff1a;\n 换行\0 字符串的结束标志\t ‌作用是水平对齐数据类型&#xff1a;①内置类型&#xff1a;字符型&#xff1a;char整型…

作者头像 李华