大家读完觉得有帮助记得关注和点赞!!!
日志分析是网络安全领域的一个相关研究领域,因为它们可以为检测网络和系统威胁提供信息来源。本白皮书介绍了一个管道,该管道使用微调的大型语言模型 (LLM) 通过 IoT 安全日志进行异常检测和缓解建议。以经典的机器学习分类器为基准,比较了三种开源 LLM 的二进制和多类异常检测,并采用三种策略:零样本、少数样本提示和使用 IoT 数据集进行微调。与相应的基线模型相比,LLM 在多类攻击分类方面给出了更好的结果。通过将检测到的威胁映射到 MITRE CAPEC,定义一组特定于 IoT 的缓解措施,并使用这些措施微调模型,这些模型能够提供组合的检测和建议指导。
大型语言模型、Internet of Things、日志、威胁检测、微调
1介绍
长期以来,异常检测一直是识别网络安全威胁的基本技术。最初,威胁检测依赖于静态规则或专家定义的签名,这是一个限制,因为它只能检测以前已知的事件。随着时间的推移,随着攻击变得越来越复杂,环境变得更加多变,启发式技术,特别是那些基于机器学习 (ML) 的技术,被采用。这些方法可以识别没有明确规则的已知威胁和尚未观察到的新威胁。一些最著名的方法包括主成分分析 (PCA)[1]、 隔离林[2]和支持向量机 (SVM)[3],所有这些都成功地应用于具有结构化、平衡和稳定数据的环境中。
但是,当应用于非结构化、顺序和不断发展的数据流(如系统日志)时,这些方法表现出很大的局限性。
日志分析是网络安全中一个高度相关的研究领域。日志,尤其是在 IoT 环境中,由异构设备和频繁变化的软件版本大量生成,这给解析和特征提取带来了挑战。
日志仍然是现代计算系统的基石。它们对于系统监控、调试和安全审计至关重要,因为它们记录系统状态并提供对性能和潜在问题(包括安全事件)的宝贵见解[4].因此,它们是安全运营中心 (SOC) 的关键信息源,其中日志分析支持警报优先级排序、威胁检测和减少手动工作负载。
然而,由于测井的可变性、高维度、大体积和复杂的结构,测井带来了重大挑战[4,5].最近的研究引入了对数漂移或对数不稳定性的概念,它描述了以前训练的检测模型在对数格式或语义结构发生变化时如何失去准确性[6].这个问题在 IoT 中尤为严重,因为 IoT 中的设备可能会频繁更新或重新配置,从而产生初始训练期间不存在的新日志模式。
这些特性使传统方法不可行,并推动了对更具适应性的解决方案的研究。其中包括使用 LLM 来解释事件序列而无需转换,从而提供更丰富的上下文理解(例如[7]).基于人工智能 (AI) 的有效威胁检测需要可用的异构数据集来训练模型。幸运的是,其中的许多方法,包括标记的 IoT 日志,已经在不同的研究中提供。
这项工作的主要贡献如下:
- 将传统的 ML 模型与最新的开源 LLM 进行比较,以检测从包含正常流量和恶意软件流量的数据集中提取的 IoT 安全日志中的威胁。针对二进制 (威胁与无威胁) 和多类分类 (攻击类型) 执行比较。
- ML 模型训练和 LLM 微调对来自同一数据集的一小部分数据执行,以检查在数据稀缺条件下的性能。
- 对于 LLM,将微调与零样本和少数样本提示进行比较。
- 提出了一种方法,将缓解建议包含在微调的 LLM 生成的响应中。
2背景
在基于 Transformer 的架构出现之前,人们评估了各种机器学习方法,用于日志中的异常检测。PCA、Isolation Forest 和 SVM 等经典模型虽然对简单数据集有效,但在长序列、非标准结构或对数模式偏移方面表现出明显的局限性。例如,PCA 在 HDFS 数据集上的F1分数仅为0.08[4].同样,SVM 的性能[10]与使用 BERT 的 BGL 数据集上的 CLDTLog 模型的 0.9999 相比,F1 分数下降到 0.46。CLDTLog 训练和预测架构采用 BERT 训练,并结合了 Triplet Loss 和 Focal Loss 来检测异常,而无需解析。这就是经典模型无法捕获时间关系或上下文模式的原因,这限制了它们对顺序非结构化日志的适用性。
这些限制导致了能够表示顺序和语义关系的模型的出现,例如 LogBERT[11].LogBERT 于 2021 年提出,是最早将 BERT 风格架构应用于日志分析的模型之一。该模型采用双向编码器,通过两个自监督任务进行训练: MLKP (掩码对数键预测) 和 VHM (超球体最小化体积)。第一个使模型能够在不需要标签的情况下学习对数序列中的语义依赖关系,而第二个使正常序列的表示在嵌入空间中聚集,从而促进异常偏差的检测。
LogBERT 的性能优于 DeepLog 等模型[12]和 LogAnomaly[13],尤其是在文献中广泛使用的 BGL 和 Thunderbird 等大型数据集上[14].这使其成为 LogGPT 等后续作品的常见参考[4]或 CLDTLog[10],将其方法扩展到更高级的生成式或多任务架构。
然而,如前所述,测井存在局限性,测井分析中最大的挑战之一是随时间推移的结构变化。由于软件更新、配置更改或系统升级,日志会不断演变,从而导致所谓的日志不稳定或日志漂移。这种现象意味着,当格式或语义结构发生变化时,使用一种日志格式训练的模型通常会失败或产生许多误报。
这个问题已经被广泛研究。Hadadi 等人。[15]引入了 ADUL 框架(不稳定日志上的异常检测),根据各种日志修改(如事件删除、重复或重新排序)评估经典模型和 LLM。他们的结果表明,微调后的 GPT-3 模型保持了强劲的性能,而零镜头设置中的传统技术和 LLM 在微小的结构变化下受到了严重影响。
The LOGEVOL-Hadoop[5]基准测试评估了实际软件版本更改(Hadoop 2 与 Hadoop 3)的影响,表明在一个版本上训练的模型不能很好地推广到另一个版本。Cui 等人在他们的 LogEval 研究中[5]强调这种缺乏泛化是一个主要弱点,尤其是在解析失败或词汇发生变化时。他们还指出,当日志与训练数据明显不同时,许多 LLM 会出现幻觉。
系统评价[6]将日志不稳定性确定为将 LLM 应用于日志时未解决的关键挑战。他们强调,微调后的模型通常需要频繁的重新训练,这在动态 IoT 环境中是不切实际的。
这种结构漂移刺激了更稳健、适应性更强的方法的开发,这些方法能够对看不见的输入进行推理,这对于 IoT 系统的异构、快速变化的环境至关重要。
Balan 等人最近的一项研究。[16]加强了人们对使用微调的 LLM 执行安全任务的日益增长的兴趣。作者将 LLaMA 2、Mistral 和 Mixtral 与 18 种传统的机器学习算法进行了比较,以基于 API 调用日志进行恶意软件检测。他们的结果表明,微调的 LLM 实现了更高的泛化和召回率。但是,他们也指出了明显的缺点,包括推理时间和内存使用率高,这些缺点阻碍了实时部署。相反,作者建议这些模型更适合高级分析层,例如沙箱或 EDR/XDR 平台。
这些发现突出了部署基于 LLM 的检测系统的承诺和实际权衡,尤其是在 IoT 等资源受限的环境中。
2.1IoT 环境中的数据集
开发和评估日志的异常检测模型需要反映真实世界复杂性、可变性和特征的数据集。在 IoT 中,设备会生成大量数据,数据集必须包括良性和恶意流量,以及适合通过语言模型进行自动分析的各种攻击类型和结构。
主要公开可用的数据集包括 TON-IoT[8],侧重于来自模拟智能家居和智能城市环境的网络流量和遥测数据;虽然用途广泛,但它以传感器数据为中心,限制了其在文本日志分析中的实用性。机器人 IoT[9]广泛用于僵尸网络和拒绝服务攻击检测,但存在严重的类不平衡问题。
物联网 23[17]提供来自 IoT 设备的真实和模拟网络流,但缺少多类标签,使复杂的分类方案复杂化。
CIC IoT 数据集[18]涵盖各种攻击场景,但在子集之间分散且不统一。
在工业环境中,RT-IoT 2022[19]提供来自实时设备和网络的高质量数据,但数量和攻击覆盖范围有限。
最后,Edge-IIoTset 数据集[20]专为真实表示 IoT 和 IIoT 场景而设计。它包含通过多层基础设施生成的超过 2000 万个标记样本,包括各种攻击、真实传感器和工业协议,为传统机器学习和大型语言模型方法提供了强大的基础。
2.2用于基于日志的威胁检测的 LLM
使用语言模型进行基于日志的威胁检测的早期探索包括在不重新训练的情况下应用提示工程,使用零样本和少样本学习。Hadadi 等人在不稳定日志上评估了 GPT-4[15],实现 0.45 的零镜头 F1 分数,并在少数镜头设置中提高到 0.93。这项工作暴露了当日志包含看不见的结构时的零镜头限制。
在类似的方法中,LogEval 基准测试[5]评估了 18 个 LLM 的解析、异常检测、故障诊断和日志摘要等任务。Few-shot 方法改进了解析和诊断 (F1>0.9),但在异常检测中引入了过拟合和重复;Zero-shot 对于该任务保持更稳定。
Guastalla 等人应用小样本提示来检测物联网环境中的 DDoS 攻击,无需微调即可实现 0.7 的准确率[21].虽然前景广阔,但结果在很大程度上取决于提示设计和上下文质量。
由于仅靠提示不足以进行可靠检测,尤其是在不稳定或不平衡的对数上,因此研究转向使用特定领域的标记示例微调 LLM,无需手动提示工程即可提高准确性。
黑客导师[22]应用低秩适应 (LoRA)[23]微调 LLaMA 和 Vicuna 模型以执行网络安全任务。HackMentor 模型与基本模型相比实现了 10-25% 的改进,与 ChatGPT 性能相当,同时支持离线部署、降低成本和更好的数据控制。
安全BERT[7]是一种基于 BERT 的轻量级模型,针对仅 CPU 的 IoT/IIoT 环境进行了优化,在 Edge-IIoTset 数据集上实现了 98.2% 的准确率,优于更复杂的替代方案,并证明了物联网部署的可行性。
LLM4ITD[24]专注于用户日志中的内部威胁检测,将用户行为生成的自定义提示与 LoRA 微调相结合。LLaMA-7B 模型的 AUC 达到 0.99 以上。
另一项工作提出了 Cyber LLM[25],基础模型仅在网络安全日志上从头开始训练。这些 JSON 结构模型在威胁模拟、合成日志生成和真实 SOC 管道中的异常检测方面优于通用 LLM,这表明训练有素的小型架构可以以更低的成本竞争。
除了提示和微调之外,一些工作还引入了先进的异常检测方法,特别是在有限的监督、类不平衡或高度结构可变性的情况下。
CLDTLog[10]在 BERT 设置中将对比学习(三元组损失)与焦点损失相结合,改进表征学习和处理不平衡类。它在 HDFS 上取得了 0.9971 分的 F1 分数,在 BGL 上取得了 0.9999 分的 F1 分数,大大优于比较方法。即使只有 BGL 的 1% 的训练数据,它的 F1 也达到了 0.9993,显示出很强的泛化性。
日志GPT[4]使用强化学习 (PPO) 来优化 Top-K 奖励指标,使训练与异常检测目标保持一致。它在 Thunderbird 上达到了 F1 0.98,在 HDFS 上达到了 0.90。>
LLM4Sec 管道[26]微调各种 LLM(BERT、RoBERTa、GPT-2、GPT-Neo)以进行二进制对数分类,发现 DistilRoBERTa 在六个数据集中的平均 F1 分数为 0.998。
无解析器架构,例如 Ithy Labs 的模型[27],无需预定义模板即可处理日志,使用 LLM 作为灵活的解析器,使用 Pydantic 进行结构验证,从而简化实时日志摄取和可靠的警报生成。
MSIVD[28](Multitask Self-Instructed Vulnerability Detection)通过对话式训练和轻量级图形神经网络集成漏洞检测、文本解释和错误定位,用于数据流分析。
最后,RedChronos[29]将多个 LLM 集成到实际 SOC 中,通过加权投票和语义引导的提示进化将预测相结合。它将手动分析减少了 90%,并在 CERT 5.2 基准测试中实现了高达 0.99 的召回率。
2.3用于生成缓解措施的 LLM
虽然异常检测至关重要,但有效的防御还需要上下文响应建议。大多数审查的工作只关注检测,而响应自动化没有得到充分探索。
对数摘要[30]使用 BERT 和 CodeBERT 分析蜜罐 shell 会话,并以 F1 分数 0.85 对 MITRE ATT&CK TTP 进行分类。但是,检测策略并不能保证了解攻击者的意图或生成纠正措施。例如,根据技术环境,两个持久性作可能需要不同的缓解措施。
奥布莱恩[31]通过零镜头和少镜头提示评估了 ChatGPT、Claude 3 和 LLaMA 3.1 对 CTI 短语标记的评价,发现完美召回率,但精度仅为 0.5 左右,表明覆盖率高,但歧义明显。
Zhang 等人。[32]确认,尽管在分类、漏洞检测和 CTI 生成方面取得了进步,但由于缺乏能够提供适当缓解措施的系统,事件响应自动化仍然是一个开放的挑战。
CAPEC 框架[33]提供了攻击模式和相关对策的目录,但建议是通用的,不适用于资源受限、互作性受限的 IoT 环境。
3方法论
在本节中,将介绍这项工作中遵循的方法,详细介绍使用的数据集、数据收集和预处理过程、实施的架构以及缓解生成任务。
所提出的方法旨在通过将 LLM 的性能与 ML 模型进行比较,使用组织成不同连续阶段的工作流程来评估 LLM 的潜力。图 1 描述了使用的方法,其中选择数据集后遵循以下步骤:
- 数据集预处理:清洗、特征选择、编码和归一化。
- LLM 分类器:LLM 模型通过应用零样本、少样本和微调策略来使用,直观地了解后者如何改善结果。此外,ML 模型被设置为比较基准。
- 缓解生成器:从数据集接收攻击类型标签以及来自 Mitre CAPEC 框架的相关缓解措施,并为 IoT 生成一组特定的缓解措施。
- 其他微调:为 IoT 建议的特定缓解措施将传递给 LLM 进行微调,以便对于检测到的每种类型的攻击,模型可以生成一系列相关的缓解措施。
- 攻击分类和缓解生成:LLM 模型识别日志中存在的攻击类型,然后为每次攻击生成量身定制的缓解策略,特别是适应 IoT 环境。这种分类和响应生成的综合过程构成了这项工作的核心贡献。
- 评估:分为两部分:1) 通过分类指标(混淆矩阵、准确率、精度、召回率和 F1 分数)评估通用 LLM 和 ML 模型; 2) 计算生成缓解措施的质量指标(余弦相似度、ROUGE)。

图 1:评估 ML 和 LLM 在威胁检测方面的潜力的方法
3.1数据集选择和预处理
在不同的选项中,选择了 Edge-IIoTset 数据集,因为它与这项工作的目标保持一致。该数据集是在分布在七个层(云、边缘、雾、区块链、SDN、NFV 和 IoT/IIoT 感知)的测试环境中开发的,使用真实设备,并使用特定工具模拟每种类型攻击的良性和恶意流量。
此外,该数据集由其作者使用不同的工具进行处理,提取了 60 多个特征,这些特征结合了网络信息、日志、协议流量和系统元数据。它以 CSV 和 PCAP 格式提供,并包含结构化文本记录,特别适合在语言模型中使用,而无需复杂的转换过程。
表 1 显示了数据集分布,其中包括 14 个明确定义的攻击类别,以及二进制 (一个tt一个ck_l一个bel) 和多类 (一个tt一个ck_type) 分类。
主要缺点是某些类不平衡。
表 1:Edge-IIoTset 数据集中的类分布
| 类 | 记录数 |
|---|---|
| 正常 | 11,223,940 |
| 后门攻击 | 24,862 |
| DDoS_HTTP攻击 | 229,022 |
| DDoS_ICMP攻击 | 2,914,354 |
| DDoS_TCP攻击 | 2,020,120 |
| DDoS_UDP攻击 | 3,201,626 |
| 指纹识别攻击 | 1,001 |
| MITM 攻击 | 1,229 |
| 密码攻击 | 1,053,385 |
| 端口扫描攻击 | 22,564 |
| 勒索软件攻击 | 10,925 |
| SQL 注入攻击 | 51,203 |
| 上传攻击 | 37,634 |
| 漏洞扫描程序攻击 | 145,869 |
| XSS 攻击 | 15,915 |
| 总 | 20,952,648 |
数据预处理旨在准备数据集,以便在传统机器学习模型中使用,并直接集成到语言模型架构中。
应用了以下阶段:
- 数据清理:删除具有无效值的记录、删除重复项和丢弃不相关的字段。
- 特征选择:使用随机森林分类器,评估每个属性的相对重要性。在表 2 中,选择了 7 个最具代表性的变量,以及它们的描述和重要性。它们被用作二进制和多类分类模型的输入。
- 编码和归一化:分类变量使用 one-hot 编码进行转换,数字变量使用 StandardScaler 进行归一化,均值和单位方差为零。
- 数据集拆分:数据集被划分用于模型训练。
表 2:使用 Random Forest 选择的最相关特征
| 特征 | 波特。 | 描述 | 小鬼。 |
|---|---|---|---|
| dns.qry.name.len | DNS 解析 | 查询域名长度 | 0.2058 |
| mqtt.protoname | MQTT 协议 | 使用的协议名称 | 0.1388 |
| mqtt.msg | MQTT 协议 | 传输的原始消息 | 0.1097 |
| mqtt.topic | MQTT 协议 | 已发布/订阅消息的主题 | 0.1014 |
| mqtt.conack.flags | MQTT 协议 | 连接确认标志 | 0.0956 |
| tcp.options | TCP 协议 | TCP 标头选项 | 0.0817 |
| tcp.dst端口 | TCP 协议 | 数据包的目标端口 | 0.0557 |
3.2LLM 分类器
选择了三个广泛使用且可访问的开源 LLM,可通过 Hugging Face 平台获得.所有这些都是使用 Unsloth 库加载和改编的,这允许在资源受限的环境中进行高效的微调。选定的模型是:
- 深度搜索-R1:基于 LLaMA 架构的模型,最近因其计算效率而受到关注。
- 法硕士 3.2:Meta AI 开发的轻量级模型,用于评估较小模型在特定任务中的效率和准确性。
- Qwen 2.5 版本:阿里巴巴的模型,在大小和性能之间取得了很好的平衡,在分类和推理任务中特别健壮。
每个模型都根据三种使用策略进行评估:
- 零样本:直接推理,无需额外的训练或示例。
- Few-shot:在提示中加入代表性示例,以通过上下文学习指导预测。
- 微调:以 instruct 格式对数据集的子集进行监督训练,使模型能够适应攻击类型的精确分类。
作为比较基线,训练了几种经典的机器学习算法:Random Forest、XGBoost、MLP 和 LightGBM。它们都使用先前使用 Random Forest 选择的 7 个最具代表性的特征作为输入。这些模型在二元分类任务和多类分类任务(识别特定类型的攻击)中进行了评估,从而可以与所提出的 LLM 模型的性能进行比较。
3.3缓解生成
除了分类任务之外,还实施了一个模块,用于使用 Deepseek 模型按攻击类型生成特定的缓解措施。之所以选择这个模型,是因为该模型获得了最好的结果,稍后将对此进行说明。
表 3:Edge-IIoTset 数据集攻击与 CAPEC 模式的映射
| 攻击标签 (Edge-IIoTset) | CAPEC 编号 | CAPEC 模式名称 |
|---|---|---|
| DDoS_UDP | CAPEC-486 型 | UDP 泛洪 |
| DDoS_ICMP | CAPEC-487 | ICMP 泛洪 |
| SQL_injection | CAPEC-66 | SQL 注入 |
| DDoS_TCP | CAPEC-482 型 | TCP 泛洪 |
| 漏洞 _scanner | CAPEC-310 型 | 扫描易受攻击的软件 |
| 密码 | CAPEC-49 型 | 密码暴力破解 |
| DDoS_HTTP | CAPEC-488 | HTTP 泛洪 |
| 上传 | CAPEC-242 型 | 代码注入 |
| 后门 | CAPEC-523 型 | 植入的恶意软件 |
| Port_Scanning | CAPEC-300 型 | 端口扫描 |
| XSS (XSS) | CAPEC-63 | 跨站点脚本 (XSS) |
| 勒索软件 | CAPEC-542 | 目标恶意软件 |
| 指纹 | CAPEC-224 | 指纹 |
| MITM 公司 | CAPEC-94 | 中间人攻击 |
根据这些一般定义,自适应提示旨在将通用缓解措施转换为特定于 IoT 环境的建议。
然后,这些建议被用于额外的微调,目的是提高缓解生成模型的连贯性、精度和实际有用性。因此,通过这种配置,微调模型不仅会提供攻击的分类,还会提供一组建议。
4实验
本节介绍用于实验的环境、实现和配置参数。
4.1基础设施、数据处理和指标
该项目使用的基础设施包括一个带有 8GB NVIDIA RTX 4060 GPU 的工作站,代码以 Python 语言实现,并使用不同的开源 AI 库。该项目的代码可在 Github 上找到11https://github.com/Jorge-Tejero-Fdez/ThreatLogLLM/.由于 GPU 的限制,实验是使用数据集中的条目子集执行的。此外,Random Forest 还用于降低维度,并支持在不影响性能的情况下与轻量级模型和 LLM 集成。
数据集分为三个子集:训练、验证和测试,将 70% 的样本分配给训练集,将 15% 的样本分配给每个验证和测试集。此外,对于多类分类任务,使用了两种配置:一种具有大量样本,另一种具有简化版本,目的是比较不同数据集大小下的模型性能。表 4 显示了每个任务的样本完整分布。
表 4:训练集、验证集和测试集中的样本数。
| 任务 | 训练 | 验证 | 测试 | 总 |
| 二元分类 | 8,400 (70%) | 1,800 (15%) | 1,800 (15%) | 12,000 |
| 多类分类(完整) | 10,500 (70%) | 2,250 (15%) | 2,250 (15%) | 15,000 |
| 多类分类(减少) | 5,250 (70%) | 1,125 (15%) | 1,125 (15%) | 7,500 |
用于比较 LLM/ML 分类的指标是准确度、精度、召回率、f1 分数和混淆矩阵。
不能使用前面解释的分类指标来评估生成的缓解措施,因为它涉及文本生成,并且省略或更改单词等小错误会严重影响结果。出于这个原因,采用了旨在评估语义相似性和文本重叠的特定指标,如下所述:
- 生成的缓解措施的嵌入与预先训练的模型预期的缓解措施之间的余弦相似性。接近 1 的值表示生成的缓解措施与预期引用之间的语义相似性很高。
- ROUGE-L 根据最长公共子序列 (LCS) 测量生成的缓解措施与预期缓解措施之间的单词序列重叠。较高的 ROUGE-L 值表示生成的缓解措施与预期的缓解措施保持高度的文本匹配。
4.2二元和多类分类
如前所述,经典 ML 模型被用作基线参考,以比较从 LLM 模型获得的结果。此阶段使用的经典模型是 Random Forest、XGBoost、MLP 和 LightGBM。它们都与表 5 中详述的基本超参数一起使用,因为它们的主要目标是作为比较基线。用作输入的样本包括先前选择的 7 个特征,这些特征在使用标准预处理技术进行归一化和编码后。
表 5:ML 分类模型中使用的超参数。
| 型 | 超参数 |
|---|---|
| Random Forest | n_estimators = 200,max_depth = 无 |
| XGBoost | n_estimators = 100,max_depth = 6,learning_rate = 0.1,子样本 = 0.8,colsample_bytree = 0.8,random_state = 42,eval_metric = 对数损失(二进制)/mlogloss(多类) |
| LightGBM | n_estimators = 300,max_depth = -1,learning_rate = 0.05,num_leaves = 50,min_data_in_leaf = 10 ,子样本 = 0.7,colsample_bytree = 0.7,class_weight = 平衡,random_state = 42 |
| MLP | 具有 3 个密集层的架构(输入→ 256 → 128 → 64 →),激活函数 ReLU,每个隐藏层后 BatchNorm1d,Dropout = 0.3, 优化器 Adam,learning_rate = 0.001,batch_size = 64,epoch 数 = 100 |
使用 Unsloth 库评估了三个大型语言模型 (LLM)和 Hugging Face 平台.使用的模型是:
- DeepSeek-R1-蒸馏-骆驼-8B22
- https://huggingface.co/unsloth/DeepSeek-R1-Distill-Llama-8B(unsloth/DeepSeek-R1-Distill-Llama-8B)
- Qwen 2.5 7B 指令33
https://huggingface.co/unsloth/Qwen2.5-7B-Instruct-bnb-4bit(unsloth/Qwen2.5-7B-Instruct-bnb-4bit)
- 法硕士 3.2 3B44
-
https://huggingface.co/unsloth/Llama-3.2-3B-unsloth-bnb-4bit(unsloth/llama-3.2-3B-unsloth-bnb-4bit)
评估了两个分类任务:一个二元任务(检测恶意流量与良性流量)和一个多类任务(在 14 个可用类别中具体识别攻击类型)。
对于 LLM,每个分类任务应用了三种不同的策略:零样本、少数样本和微调。
为前面提到的三种策略中的每一种设计了特定的提示,使用七个选定特征的值,结构为自然语言的文本。在微调的情况下,构建了一个 instruct 格式的数据集,其中每个样本都包含一条基于流量日志的指令和一个作为标签的二进制响应。
为了公平地比较每个 LLM 模型的实际性能,在应用于 DeepSeek、LLaMA 3.2 和 Qwen 2.5 模型的三种策略(零样本、少样本和微调)中,每一种都使用相同的超参数配置。这确保了在结果中观察到的差异可以归因于模型的行为,而不是外部因素,例如训练配置或输入/输出大小。
表 6 显示了 3 个 LLM 的二元分类任务中使用的超参数。由于预期响应是二进制值(Attack 或 Normal),因此m一个x_new_tokens微调过程中使用的训练步骤更少。
表 6:用于二元分类的超参数
| 策略 | 超参数和配置 |
|---|---|
| 零点 | max_seq_length = 2048,dtype = 无,load_in_4bit = True。 使用 Unsloth 在推理模式下加载的模型。 |
| 少镜头 | 加载参数与零点相同。max_new_tokens = 3 的生成,使用 use_cache = True。使用 batch_decode 解码。 |
| 微调 | max_seq_length = 2048,load_in_4bit = 真LoRA 配置:r = 16,lora_alpha = 16,lora_dropout = 0,target_modules = [ 注意力投射和 FFN 层]TrainingArguments:batch_size = 2,gradient_accumulation_steps = 4,learning_rate = 2e-4,max_steps = 500,warmup_steps = 5,weight_decay = 0.01,fp16/bf16,具体取决于可用性,optim = adamw_8bit。评估策略和每 N 步保存一次,评估 3 次后提前停止,没有改善。 |
表 7 总结了多类分类任务中使用的超参数。由于模型必须识别 14 种攻击中的一种或正常攻击,因此在少数攻击 (m一个x_seq_length) 和微调期间的步数增加 (m一个x_steps) 促进课堂空间的学习。
表 7:用于多类分类的超参数
| 策略 | 超参数和配置 |
|---|---|
| 零点 | max_seq_length = 2048,dtype = 无,load_in_4bit = True。 使用 Unsloth 加载FastLanguageModel.from_pretrained的模型。 |
| 少镜头 | 加载参数与零点相同。 生成 max_new_tokens = 100 以允许使用完整攻击类名称的响应。使用 use_cache = True 并与 batch_decode 取消协商。 |
| 微调 | max_seq_length = 2048,load_in_4bit = 真LoRA 配置:r = 16,lora_alpha = 16,lora_dropout = 0,target_modules = [ 注意力投射和 FFN 层]TrainingArguments:batch_size = 2,gradient_accumulation_steps = 4,learning_rate = 2e-4,max_steps = 1000,warmup_steps = 5,weight_decay = 0.01。fp16/bf16 取决于可用性,optim = adamw_8bit。 评估策略和每 N 步保存一次,3 次评估后提前停止,无改善。 |
4.3向模型添加缓解作
为了生成缓解措施,在 Edge-IIoTset 数据集中的攻击与 CAPEC 框架的攻击模式之间创建了一个映射,如前几节所述。基于此映射,攻击标识符和描述与 CAPEC 提供的一般缓解措施相结合。清理描述后,构建了说明提示,请求适应 IoT 环境的特定缓解措施。
使用 DeepSeek-R1-Distill-Llama-8B 模型进行生成
https://huggingface.co/unsloth/DeepSeek-R1-Distill-Llama-8B
在推理模式下,通过 Unsloth 的 FastLanguageModel 实用程序加载,最大序列长度为 2048 个令牌,加载位为 4 位,以优化资源使用。
采用的生成配置temper一个ture=0.7,top_p=0.9,do_s一个mple=True,m一个x_new_tokens=200和repet我t我on_pen一个lty=1.1,目的是获得不同但连贯的响应。
每个提示都使用标准化格式构建,其中包括 CAPEC 框架的攻击类型、定义和一般缓解措施,以及 IoT 环境中的执行上下文。
生成的响应存储在列表中,经过处理以消除格式错误、样式不一致和语言噪音。这些样本构成了用于特定缓解生成任务的监督微调的最终集合。
使用之前任务中采用的三个 LLM 模型进行微调。在这种情况下,模型不仅必须识别攻击类型,还必须直接提出缓解措施。为了确保实验的一致性,保留了分类中使用的相同超参数,尽管m一个x_new_tokens被增加以允许生成多行输出。
5结果
5.1二元分类
所有经典的机器学习模型(例如 Random Forest 和 XGBoost)在二元分类任务中都取得了完美的性能,所有评估指标的值为 100%。这一结果表明,该数据集在类之间具有足够的判别特征,使传统模型能够实现明确的分离。
在零镜头方法中,与机器学习模型相比,结果明显较低。如表 8 所示,LLaMA 的整体性能最佳(F1 分数 = 0.4028),其次是 DeepSeek 和 Qwen,它们的性能明显较差(F1 分数 = 0.2819)。这些结果反映了当模型没有适应该领域或事先没有接触过类似例子时任务的难度。
表 8:使用 LLM 的二元分类结果
| 型 | 准确性 | F1 分数 | 精度 | 召回 |
|---|---|---|---|---|
| 零点 | ||||
| 深度seek | 0.5100 | 0.3529 | 0.3620 | 0.5100 |
| 骆马 | 0.5139 | 文本BF0.4028 | 0.4991 | 0.5139 |
| Qwen | 0.3878 | 0.2819 | 0.2471 | 0.3878 |
| 少镜头 | ||||
| 深度seek | 0.6567 | 0.6564 | 0.6565 | 0.6567 |
| 骆马 | 0.4567 | 0.4542 | 0.4585 | 0.4567 |
| Qwen | 0.9078 | 0.9067 | 0.9214 | 0.9078 |
在少数镜头场景中,与零镜头相比,模型的性能显著提高。Qwen 以 0.9067 的 F1 分数脱颖而出,展示了从几个例子中做出相当强的概括能力,这相当令人惊讶。DeepSeek 的性能处于中等水平 (F1 = 0.6564),而 LLaMA 的结果较低,指标非常接近随机 (F1 = 0.4542)。这些结果证实了 LLM 对所提供示例的数量和质量的敏感性。
与经典机器学习的结果类似,通过微调评估的三个 LLM 模型在二元分类方面也取得了完美的性能。DeepSeek、LLaMA 和 Qwen 在所有评估指标中都实现了 100% 的准确率,这表明一旦模型适应了特定领域,在这种情况下,它们就能够以确定性方式学习关系。
5.2多类分类
本节介绍模型在多类分类任务中的性能。如表 9 所示,零镜头和少镜头策略产生的结果非常有限,所有模型的 F1 分数都低于 0.07。尽管 Qwen 在零样本模式下达到了最高准确度 (6.6%),而 DeepSeek 在少数样本模式下表现最好(F1 为 0.0665),但整体性能对于实际部署来说仍然远不可接受。
表 9:少量和零样本模式下 LLM 的多类分类结果。
| 型 | 准确性 | F1 分数 | 精度 | 召回 |
|---|---|---|---|---|
| 零点 | ||||
| 深度seek | 0.0418 | 0.0065 | 0.0035 | 0.0418 |
| 骆马 | 0.0200 | 0.0126 | 0.0095 | 0.0200 |
| Qwen | 0.0662 | 0.0120 | 0.0066 | 0.0662 |
| 少镜头 | ||||
| 深度seek | 0.0782 | 0.0665 | 0.0868 | 0.0782 |
| 骆马 | 0.0071 | 0.0117 | 0.1229 | 0.0071 |
| Qwen | 0.0142 | 0.0178 | 0.0966 | 0.0142 |
应用微调时,与零镜头和少镜头模式相比,LLM 的性能会显著提高。表 10 显示了使用较少训练样本的结果。在此设置下,DeepSeek 的性能明显优于所有其他模型,F1 分数为 0.7479,精度高于 80%。尽管 LLaMA 的规模较小,但它也提供了有竞争力的结果,而 Qwen 落后于其他 LLM,尽管仍然可以与传统的 ML 模型相媲美。
表 10:ML 和 LLM 微调模型的多类分类结果(样本较少)。
| 型 | 准确性 | F1 分数 | 精度 | 召回 |
|---|---|---|---|---|
| ML 模型 | ||||
| MLP | 0.2373 | 0.1774 | 0.2658 | 0.2373 |
| XGBoost | 0.5164 | 0.4987 | 0.6325 | 0.5164 |
| LightGBM | 0.5147 | 0.4942 | 0.6335 | 0.5147 |
| R. 福雷斯特 | 0.4907 | 0.4554 | 0.5913 | 0.4907 |
| 微调的 LLM | ||||
| 深度seek | 0.7502 | 0.7479 | 0.8009 | 0.7502 |
| 骆马 | 0.6942 | 0.6789 | 0.6776 | 0.6942 |
| Qwen | 0.4756 | 0.4546 | 0.5974 | 0.4756 |
在更大的数据集场景中(表 11),DeepSeek 以 0.7154 的 F1 分数保持领先,紧随其后的是 LLaMA。有趣的是,DeepSeek 在较少的样本上训练时也表现良好,这表明在数据受限的条件下具有很强的泛化能力。ML 模型的性能显示两种方案之间的变化很小,XGBoost 和 LightGBM 仍然是最经典的方法。
表 11:ML 和 LLM 微调模型的多类分类结果(更多样本)。
| 型 | 准确性 | F1 分数 | 精度 | 召回 |
|---|---|---|---|---|
| ML 模型 | ||||
| MLP | 0.2573 | 0.2018 | 0.3883 | 0.2573 |
| XGBoost | 0.5191 | 0.4937 | 0.6314 | 0.5191 |
| LightGBM | 0.5160 | 0.4933 | 0.6188 | 0.5160 |
| R. 福雷斯特 | 0.4787 | 0.4388 | 0.6286 | 0.4787 |
| 微调的 LLM | ||||
| 深度seek | 0.7320 | 0.7154 | 0.7573 | 0.7320 |
| 骆马 | 0.7036 | 0.7048 | 0.7307 | 0.7036 |
| Qwen | 0.5867 | 0.5940 | 0.6911 | 0.5867 |
总之,微调的 LLM 在多类分类方面的性能始终优于零/少镜头对应物和经典 ML 模型。DeepSeek 表现出最佳的整体性能,即使在较少的样本上进行训练时也是如此,凸显了其强大的泛化能力。LLaMA 的尺寸较小,因此具有竞争力,使其适用于受限环境。相比之下,传统的 ML 模型在数据增加的情况下显示出有限的改进,这证实了语言模型在针对 IoT 安全任务进行适当微调时的优势。
5.3详细比较:DeepSeek 与 XGBoost
为了更好地评估 LLM 与传统模型的有效性,我们在两种评估设置下将性能最好的经典模型 (XGBoost) 与最好的 LLM (DeepSeek) 进行了比较:测试数据的不平衡和平衡子集。
不平衡推理
如表 12 所示,即使在使用较少样本进行训练时,DeepSeek 也实现了最高的整体性能。虽然 XGBoost 也表现良好(可能是由于 Normal 类的过度代表),但 DeepSeek 表现出更高的 F1 分数和召回率,凸显了它在多类场景中更好的泛化性。然而,详细的每类分析(表 13)表明,DeepSeek 在处理 MiTM 和 Fingerprinting 等罕见类时遇到了困难,这些类几乎未被检测到。
表 12:使用随机采样的不平衡数据(21000 个样本)的推理结果
| 型 | 火车。样品 | 准确性 | F1 分数 | 精度 | 召回 |
|---|---|---|---|---|---|
| XGBoost | 10,5 千米 | 0.8667 | 0.8472 | 0.8553 | 0.8667 |
| XGBoost | 5,25 千米 | 0.8656 | 0.8470 | 0.8534 | 0.8656 |
| 深度seek | 10,5 千米 | 0.9051 | 0.9122 | 0.9325 | 0.9051 |
| 深度seek | 5,25 千米 | 0.9255 | 0.9250 | 0.9347 | 0.9255 |
表 13:推理期间 DeepSeek 模型的每类性能(不平衡样本)
| 攻击类 | F1 分数 | 精度 | 召回 |
|---|---|---|---|
| 正常 | 0.9993 | 1.0000 | 0.9986 |
| DDoS_UDP | 0.5823 | 0.5058 | 0.6860 |
| DDoS_ICMP | 0.3015 | 0.5381 | 0.2095 |
| SQL_injection | 0.9912 | 0.9883 | 0.9941 |
| 密码 | 0.9907 | 1.0000 | 0.9815 |
| Vulnerability_scanner | 0.9947 | 0.9936 | 0.9957 |
| DDoS_TCP | 0.7975 | 0.7594 | 0.8396 |
| DDoS_HTTP | 0.9882 | 0.9863 | 0.9902 |
| 上传 | 0.9193 | 0.9608 | 0.8812 |
| 后门 | 0.8660 | 0.7749 | 0.9813 |
| Port_Scanning | 0.3395 | 0.4955 | 0.2582 |
| XSS (XSS) | 0.9225 | 0.9690 | 0.8803 |
| 勒索软件 | 0.8218 | 0.8300 | 0.8137 |
| 小米TM | 0.0000 | 0.0000 | 0.0000 |
| 指纹 | 0.0217 | 0.0112 | 0.3636 |
平衡推理
当在一个平衡的子集上进行评估时(表 14),DeepSeek 在所有指标上都明显优于 XGBoost。值得注意的是,在较少样本上训练的模型略高于在较多样本上训练的模型,这表明泛化性更好。每个类的指标(表 15)证实了 Password、SQL_injection 和 Vulnerability_scanner 等常见类的出色性能,而 MiTM 和 DDoS_ICMP 等罕见或嘈杂的类仍然具有挑战性。
表 14:使用随机采样的平衡数据(20415 个样本)的推理结果
| 型 | 火车。样品 | Accur. | F1 分数 | Prec. | 召回 |
|---|---|---|---|---|---|
| XGBoost | 10,5 千米 | 0.5383 | 0.5147 | 0.6444 | 0.5383 |
| XGBoost | 5,25 千米 | 0.5372 | 0.5169 | 0.6362 | 0.5372 |
| 深度seek | 10,5 千米 | 0.7404 | 0.7239 | 0.7496 | 0.7404 |
| 深度seek | 5,25 千米 | 0.7487 | 0.7423 | 0.7852 | 0.7487 |
表 15:推理期间 DeepSeek 模型的每类性能(平衡样本)
| 攻击类 | F1 分数 | 精度 | 召回 |
|---|---|---|---|
| 正常 | 0.9982 | 1.0000 | 0.9964 |
| DDoS_UDP | 0.4212 | 0.3100 | 0.6571 |
| DDoS_ICMP | 0.2355 | 0.3153 | 0.1879 |
| SQL_injection | 0.9784 | 0.9692 | 0.9879 |
| 密码 | 0.9856 | 0.9956 | 0.9757 |
| Vulnerability_scanner | 0.9961 | 1.0000 | 0.9921 |
| DDoS_TCP | 0.6604 | 0.5511 | 0.8236 |
| DDoS_HTTP | 0.9774 | 0.9652 | 0.9900 |
| 上传 | 0.9104 | 0.9531 | 0.8714 |
| 后门 | 0.8668 | 0.7857 | 0.9664 |
| Port_Scanning | 0.3603 | 0.6446 | 0.2500 |
| XSS (XSS) | 0.9349 | 0.9819 | 0.8921 |
| 勒索软件 | 0.8915 | 0.9221 | 0.8629 |
| 小米TM | 0.4844 | 1.0000 | 0.3196 |
| 指纹 | 0.2626 | 0.2644 | 0.2607 |
5.4使用缓解措施进行检测
缓解生成结果对于 DeepSeek 和 LLaMA 模型尤其积极,根据 ROUGE-L 和余弦相似性指标,它们在多个类别中实现了 100% 的质量。值得注意的是,即使预测的攻击类型不正确,这些模型也经常生成正确的缓解措施,这表明具有很强的语义泛化能力。
相比之下,Qwen 没有达到相同的性能水平。一个合理的解释是,用于微调的初始缓解样本是使用 DeepSeek 生成的,DeepSeek 基于 LLaMA 架构,在训练期间可能对两者有利。如表 16 所示,Qwen 在这两个指标上仍然获得了高分,但并没有始终如一地以完美的对齐方式再现预期的缓解措施。
表 16:Qwen 按攻击类别生成的缓解措施质量
| 攻击类 | ROUGE-L | 余弦相似度 |
|---|---|---|
| 后门 | 0.9957 | 0.9997 |
| Vulnerability_scanner | 1.0000 | 1.0000 |
| SQL_injection | 0.9853 | 0.9995 |
| DDoS_UDP | 1.0000 | 1.0000 |
| Port_Scanning | 0.9894 | 0.9992 |
| DDoS_HTTP | 1.0000 | 1.0000 |
| DDoS_TCP | 1.0000 | 1.0000 |
| MITM 公司 | 1.0000 | 1.0000 |
| DDoS_ICMP | 1.0000 | 1.0000 |
| 勒索软件 | 1.0000 | 1.0000 |
| 密码 | 0.8862 | 0.9582 |
| 指纹 | 1.0000 | 1.0000 |
| XSS (XSS) | 1.0000 | 1.0000 |
| 上传 | 1.0000 | 1.0000 |
6结论
在本文中,我们探讨了大型语言模型 (LLM) 在 IoT 安全日志中的异常检测和缓解生成中的应用。使用 Edge-IIoTset 数据集,我们执行了一套完整的方法,包括数据预处理、特征选择和多个模型的评估。解决了两个分类任务:二进制检测(恶意与良性)和多类分类(攻击类型识别)。数据集针对 LLM 输入进行了标准化和结构化,并训练和评估了几个模型变体。
我们比较了经典机器学习模型(Random Forest、XGBoost、LightGBM、MLP)与三种开源 LLM(DeepSeek-R1、LLaMA 3.2、Qwen 2.5)在零样本、少数样本和微调配置下的性能。虽然当有足够的训练数据可用时,这两个模型系列在二元分类中都达到了满分,但 LLM 在多类任务中的表现明显优于经典模型。DeepSeek 和 LLaMA 一直排名最高,即使在较少的样本上训练,DeepSeek 也能达到 0.7479 的 F1 分数。
我们还使用 MITRE CAPEC 框架设计了一个缓解生成模块。DeepSeek 用于根据一般 CAPEC 攻击描述生成适应 IoT 的缓解措施。然后使用这些特定样本对三个 LLM 进行微调。这些模型,尤其是 DeepSeek 和 LLaMA,在语义和词汇评估指标(ROUGE-L 和余弦相似度)方面取得了完美或接近完美的性能,证实了它们不仅能够检测威胁,而且能够产生上下文感知响应——这是以前的工作中很少涉及的方面。
DeepSeek 是所有任务中最健壮和一致的模型,在分类和缓解生成方面都获得了满分或接近满分。尽管 LLaMA 的尺寸较小,但它的性能也非常出色,这使得它非常适合在边缘或嵌入式系统等受限环境中进行部署。
总体而言,我们的结果表明,微调的 LLM 为 IoT 安全日志的检测和响应提供了一种非常有效的解决方案。它们在多类分类方面优于传统方法,并引入了生成可作缓解措施的附加值。


被折叠的 条评论
为什么被折叠?



