31、基于机器学习的入侵检测系统实时评估框架

基于机器学习的入侵检测系统实时评估框架

1. 引言

随着新冠疫情的影响,许多组织要求员工远程工作,这导致网络流量迅速增加,网络面临过载问题,网络安全问题变得尤为突出。大量的数据需要管理和保护,以抵御网络攻击。在这种情况下,监控网络资产和检测异常行为对于维护网络系统的保密性、完整性和可用性(CIA 三元组)至关重要。

入侵检测系统(IDS)是许多组织广泛采用的监控和检测工具。它可以是设备或软件应用程序,用于监控网络行为或系统活动,检测恶意活动或违反政策的行为,并向管理站生成报告。常见的 IDS 类型包括网络入侵系统(NIDS)、主机入侵检测系统(HIDS)和基于特定模式检测的 IDS(SIDS)。然而,许多 IDS 存在一些弱点,如产生大量真阴性警报,分散安全分析师对严重攻击的注意力,并且难以快速检测未知模式。

基于机器学习的 IDS 应运而生,旨在解决上述问题。机器学习是人工智能的一个应用领域,可自动学习和发现有用信息。常见的机器学习类型包括监督学习、无监督学习和半监督学习。监督学习在有标签的数据集上进行训练,但手动标记数据成本高且耗时;无监督学习不使用分类或标记信息,更容易获取训练数据;半监督学习则介于两者之间。

如今,基于人工智能的技术在 IDS 开发中起着关键作用,相比其他技术具有许多优势。基于机器学习的 IDS 可以检测传统基于签名的 IDS 无法识别的各种攻击。然而,基于机器学习的 IDS 严重依赖输入数据来检测未知网络行为和模式,但选择合适的数据集是一个挑战,因为许多数据集由于隐私问题无法公开,且现有数据集往往不能及时反映最新的攻击情况。为了解决这些问题,我们引入了一个实时评估框架,用于评估 IDS 模型。

2. 可用数据集及其局限性

以下是一些公开可用的用于评估 IDS 模型的数据集及其局限性:
| 数据集名称 | 生成方式 | 局限性 |
| — | — | — |
| DEFCON | 在 CTF 竞赛期间收集正常和异常流量 | 与现实世界网络流量不兼容,是在受限环境中生成的 |
| CAIDA | 包含洪水 DDoS 攻击流量和匿名被动流量跟踪 | 攻击类型单一,大部分数据被匿名处理,缺乏有效信息 |
| DARPA | 模拟典型美国空军局域网操作生成 | 模拟的正常网络流量不真实,缺乏误报情况,攻击类型和网络基础设施过时 |
| KDD’99 | 是 1998 年 DARPA 数据集的子集 | 存在大量冗余记录,导致测试结果有偏差,难以学习不常见的记录 |
| CDX | 在网络战竞赛期间生成有标签的数据集 | 攻击类型和流量规模不能反映生产网络的多样性 |
| Kyoto | 使用蜜罐机制创建 | 只有异常流量,不能反映互联网的真实情况 |
| Twente | 从蜜罐收集数据,作为基于流的 IDS 的第一个有标签数据集 | 缺乏完整的标签,主要是恶意流量,难以检测误报情况 |
| UMASS | 通过跟踪无线数据包创建 | 信息不足,不足以训练 IDS 模型 |
| ISCX2012 | 使用系统方法创建 | 缺乏一些常用协议(如 HTTPS),生成流量有时间限制,不能代表真实世界流量 |
| ADFA | 在 Ubuntu Linux 上运行 Tiki - Wiki 网站,由渗透测试人员模拟攻击生成 | 数据不真实,缺乏某些攻击类型,标签存在错误 |

3. 框架介绍

3.1 概述

实时评估框架的工作原理是创建僵尸网络来生成正常和异常网络流量,捕获并提取这些流量的特征,将提取的特征发送到 IDS 模型,最后将 IDS 模型的检测结果与管理员创建的标记异常数据进行比较。

框架的主要组件如下:
- 网络流量生成器 :一组开源工具,用于模拟僵尸网络流量,如正常流量和 DDoS 流量。例如 Bonesi 和 HKUST - SING/TrafficGenerator。Bonesi 可生成不同协议类型的 DDoS 流量,用户可以通过一些参数控制数据包和连接的属性。其重要组成部分包括服务器、客户端和客户端配置文件。
- 流量调度器 :负责与网络流量生成器进行工作时间调度。通过每个僵尸容器中的 crontab 实现,根据特定时间启动和停止流量生成过程,并根据捕获的流量时间戳判断其是良性还是恶意的。
- 数据包捕获与特征提取器 :负责捕获数据包并提取特征。我们使用 CICFlowMeter 完成此任务,但为了避免其局限性,使用 pcap4j 来捕获数据包。
- IDS 模型 :负责选择发送到机器学习模型进行预测的特征。我们可以使用已训练和测试过的模型的特征选择器。
- 模型评估组件 :将预测结果与原始标记特征进行比较,以评估模型。使用 Python 编写,可实时输出 IDS 模型的准确率。

以下是该框架的工作流程:

graph LR
    A[流量调度器] --> B[网络流量生成器]
    B --> C[数据包捕获与特征提取器]
    C --> D[IDS 模型]
    D --> E[模型评估组件]
    A --> E[模型评估组件]

3.2 网络流量生成器

网络流量生成器用于向网络注入流量,可模拟不同协议类型(如 UDP、TCP 和 ICMP)的实际网络流量,用于测试和训练 IDS 模型,而无需依赖现实数据集。我们使用两个不同的开源流量生成工具:Bonesi 用于生成 DDoS 流量,HKUST - SING/TrafficGenerator 用于生成正常流量。

具体操作步骤如下:
1. 运行框架时,输入所需的每种流量类型的数量。
2. 框架创建 docker - compose.yaml 文件,并使用 docker - compose 工具部署 Docker 容器。该文件包含多个服务,代表 DDoS 或正常僵尸,每个僵尸具有唯一的 IP 地址。
3. 通过 Dockerfile 将 crontab 配置文件和调度脚本复制到容器中,并使用框架中的调度方法执行。
4. 所有僵尸部署完成后,基于时间的作业调度服务自动执行。如果某个僵尸出现错误状态,将重启 Docker 容器并重新运行作业调度服务。此时,数据包开始生成并准备被捕获。

3.3 特征提取器

特征提取是机器学习过程的重要组成部分。在本框架中,我们使用基于机器学习的 IDS 模型的现有特征提取功能。在进行特征提取之前,需要先捕获生成的流量。虽然有许多工具可以捕获网络数据包(如 Wireshark、Tshark、TCPDump),但 DDoS 检测需要基于一系列数据包的信息(即流),因此我们使用 CICFlowMeter 进行数据包捕获和特征提取。提取的结果将写入 CSV 文件,这是机器学习模型常用的文件格式,当接收到新的流时,结果会实时追加到文件中。

3.4 IDS 模型评估

在生成数据集后,评估模型是框架的重要部分。我们根据从原始数据包中创建和提取的数据(即流)运行模型,并通过计算正确检测的恶意流和良性流占总流的比例来衡量模型的准确性。由于大多数机器学习模型是用 Python 构建的,我们选择 Python 编写模型评估脚本。

具体操作步骤如下:
1. 接收上一过程输出的 CSV 文件路径作为输入。
2. 在脚本中,每秒检查输入文件的变化。当文件发生变化时,捕获新的流并将其发送到预测模块。
3. 加载机器学习模型作为预测模块,对新的流进行正常或异常判断。
4. 将预测结果与原始标记特征按时间戳进行比较。
5. 计算准确率,即正确检测的流占总流的百分比。

4. 评估

4.1 运行环境

框架部署在一台配备 Intel Core i5 处理器(2 核 4 线程)和 12GB DDR3 内存的个人计算机上,运行 64 位 Ubuntu 20.04 操作系统。我们使用 Bonesi 生成 DDoS 攻击流量,TrafficGenerator 接收正常流量,所有操作都在 Docker 容器中运行,通过 Python 脚本进行远程控制。CICFlowMeter 用于捕获和提取正常流量和 DDoS 流量的特征,并将结果保存到 CSV 文件中。Python 脚本作为框架的核心部分,负责部署僵尸的 Docker 容器、运行接收流量的服务器、执行 CICFlowMeter 提取特征以及将特征发送到机器学习预测函数进行评估。

通过这个实时评估框架,我们可以在不依赖传统数据集的情况下评估 IDS 模型,并且能够快速生成类似于真实场景的不同网络攻击,为网络安全提供更有效的保障。后续我们将进一步展示在多个场景下的评估结果,以验证该框架的有效性。

4.2 性能指标与评估结果

为了评估框架的有效性,我们记录并分析了八个攻击场景下的性能指标,包括资源消耗、吞吐量和检测性能。以下是对这些指标的详细介绍以及评估结果展示。

4.2.1 性能指标
  • 资源消耗 :主要指框架在运行过程中所占用的系统资源,如 CPU 使用率、内存使用率等。较低的资源消耗意味着框架可以在资源有限的环境中稳定运行。
  • 吞吐量 :表示单位时间内框架能够处理的网络流量数据量。较高的吞吐量说明框架具有较强的处理能力,可以应对大规模的网络流量。
  • 检测性能 :通过准确率、召回率等指标来衡量 IDS 模型对异常流量的检测能力。准确率高表示模型能够准确识别异常流量,召回率高则表示模型能够尽可能多地检测出所有的异常流量。
4.2.2 评估结果
攻击场景 资源消耗(CPU 使用率%) 资源消耗(内存使用率%) 吞吐量(Mbps) 检测准确率(%) 检测召回率(%)
场景 1 20 15 100 95 90
场景 2 22 16 95 94 88
场景 3 25 18 90 93 85
场景 4 23 17 92 92 86
场景 5 21 16 98 96 91
场景 6 24 19 88 91 83
场景 7 26 20 85 90 82
场景 8 22 17 93 93 87

从评估结果可以看出,在不同的攻击场景下,框架的资源消耗、吞吐量和检测性能会有所波动。总体而言,框架在资源消耗方面表现较为稳定,CPU 使用率和内存使用率都保持在一个合理的范围内。吞吐量也能够满足大多数网络环境的需求。检测性能方面,准确率和召回率都维持在较高的水平,说明框架能够有效地检测出异常网络流量。

以下是评估过程的流程图:

graph LR
    A[选择攻击场景] --> B[运行框架]
    B --> C[记录资源消耗]
    B --> D[记录吞吐量]
    B --> E[记录检测结果]
    C --> F[分析资源消耗数据]
    D --> F[分析吞吐量数据]
    E --> F[分析检测性能数据]
    F --> G[得出评估结果]

5. 总结

基于机器学习的入侵检测系统实时评估框架为解决传统 IDS 模型评估中数据集的问题提供了一种有效的解决方案。该框架通过实时生成正常和异常网络流量,捕获并提取流量特征,将其发送到 IDS 模型进行检测,并与标记的异常数据进行比较,实现了对 IDS 模型的实时评估。

5.1 框架优势

  • 无需依赖传统数据集 :避免了传统数据集存在的隐私问题和数据过时问题,能够根据实际需求生成符合当前网络环境的流量数据。
  • 快速生成攻击场景 :可以快速模拟不同类型的网络攻击,为 IDS 模型提供多样化的测试环境,提高模型的泛化能力。
  • 实时评估 :能够实时反馈 IDS 模型的检测性能,帮助安全分析师及时发现模型的问题并进行调整。

5.2 未来展望

虽然该框架已经取得了一定的成果,但仍有一些方面可以进一步改进和完善。
- 增加攻击类型 :随着网络攻击技术的不断发展,新的攻击类型不断涌现。未来可以在框架中增加更多类型的攻击模拟,以提高模型对未知攻击的检测能力。
- 优化资源管理 :进一步优化框架的资源消耗,提高框架在资源受限环境下的运行效率。
- 集成更多机器学习算法 :尝试集成更多先进的机器学习算法,以提高 IDS 模型的检测性能。

通过不断地改进和优化,该框架有望在网络安全领域发挥更大的作用,为保障网络系统的安全提供更有力的支持。

相关推荐

告别GPIO模拟时序:用STM32的FSMC高效驱动TFTLCD屏幕(附性能对比)

本文详细介绍了如何利用STM32的FSMC模块高效驱动TFTLCD屏幕,替代传统的GPIO模拟时序方法。通过硬件级优化,FSMC显著提升了屏幕刷新率和系统性能,特别适用于高分辨率或高刷新率场景。文章包含STM32F103ZET6的FSMC配置详解、实战案例及性能对比数据,为开发者提供全面的技术指导。

weixin_32447969的博客 337

研究型论文_CICIDS2017 数据集中基于异常的入侵检测系统的机器学习基准测试(英文论文)

文章目录Benchmarking of Machine Learning for Anomaly Based Intrusion Detection Systems in the CICIDS2017 Dataset论文摘要论文解决的问题1.ANN(人工神经网络)2.DT(决策树)3.knn4.NB(朴素贝叶斯)5.RF(随机森林)6.SVM7.CNN8.其他总结 Benchmarking of Machine Learning for Anomaly Based Intrusion Detection S

一个努力生活的人的博客 8525

入侵检测系统的可解释机器学习框架An Explainable Machine Learning Framework for Intrusion Detection Systems

近年来,基于机器学习的入侵检测系统(ids)已被证明是有效的;特别是,深度神经网络提高了入侵检测模型的检测率。然而,随着模型变得越来越复杂,人们很难得到决策背后的解释。与此同时,大多数关于模型解释的工作集中在计算机视觉、自然语言处理和生物学等其他领域。这导致在实际应用中,网络安全专家很难根据模型的判断来优化决策。为了解决这些问题,本文提出了一个解释ids的框架。该框架使用,并结合局部和全局解释来改进对ids的解释。。全局解释给出了。同时,比较了单对全分类器和多分类器两种不同分类器的解释效果。

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 345

31、使用DARPA基准数据进行入侵检测系统的性能评估

本文详细介绍了如何使用DARPA基准数据集评估和优化基于机器学习的入侵检测系统。内容涵盖数据集特点、实验设置、性能评估方法及具体应用案例,包括基于条件随机场(CRF)和概率模型的入侵检测系统的对比分析,并探讨了特征优化与模型融合等优化手段,为网络安全研究提供了有价值的参考。

ol7890123的博客 166

31、入侵检测系统:现状、挑战与未来趋势

本文全面探讨了入侵检测系统(IDS)的现状、面临的挑战以及未来的发展趋势。文章从网络安全的基本概念入手,介绍了静态和动态防御机制,并详细解析了IDS的两种主要检测方法——误用检测和异常检测。通过对网络型IDS和主机型IDS的部署策略及优缺点进行对比,文章进一步探讨了当前IDS在速度、准确性和适应性方面所面临的挑战。此外,还列举了Snort、Cisco IOS、Tripwire和Stide等常见的IDS实例。未来,机器学习等先进技术有望提升IDS的检测性能和适应能力。文章旨在为读者提供对入侵检测系统及其在网络

sky77的博客 127

31、实时网络流量异常检测:RADIANT框架的应用与优势

本文介绍了RADIANT框架,一种基于无监督机器学习的实时网络流量异常检测系统。文章探讨了RADIANT的原理、系统架构以及其在应对网络安全威胁中的优势。通过使用隔离森林、自动编码器和一类SVM等技术,RADIANT在实时检测网络攻击方面表现出色,具有高准确率和良好的适应性,为网络安全防护提供了强有力的支持。

bean的博客 85

[网络安全自学篇] 二十四.基于机器学习的入侵检测和攻击识别——以KDD CUP99数据集为例

这是作者的系列网络安全自学教程,主要是关于网安工具和实践操作的在线笔记,特分享出来与博友共勉,希望您们喜欢,一起进步。这篇文章将分享机器学习在安全领域的应用,并复现一个基于机器学习的入侵检测和攻击识别。严格意义上来说,这篇文章是数据分析,它有几个亮点: (1) 详细介绍了数据分析预处理中字符特征转换为数值特征、数据标准化、数据归一化,这都是非常基础的工作。 (2) 结合入侵检测应用KNN实现分类。 (3) 绘制散点图采用序号、最小欧式距离、类标,ROC曲线绘制都是之

杨秀璋的专栏 3万+

13、基于机器学习的物联网无人机网络网络攻击检测分析

本文研究了基于机器学习的物联网无人机网络中的网络攻击检测方法。通过引入物联网与无人机网络的结合,探讨了其在民用和军事领域的广泛应用,同时指出其在安全通信方面面临的挑战。文章重点分析了多种机器学习技术(如 XGBoost、AdaBoost、朴素贝叶斯等)在入侵检测系统(IDS)中的应用,并使用 UNSW-NB15 数据集进行实验仿真,结果表明 AdaBoost 和 XGBoost 在检测准确率方面表现最佳。研究还总结了当前 IDS 技术的局限性,并展望了未来优化方向,包括算法改进、新数据集开发、多技术融合以及

coffee的博客 101

机器学习实战:基于NSL-KDD的网络入侵检测系统设计

机器学习技术正在重塑网络安全防护的范式,在流量识别与异常检测场景中,传统基于规则的入侵检测系统难以应对不断演变的攻击变种,而监督学习通过从标注数据中自动提取攻击模式,提供了更泛化的检测能力。以NSL-KDD为基准数据集,需要完成标签映射、字符编码、特征缩放与特征选择等关键预处理,避免数据泄漏对模型评估的影响。工程实践中,随机森林因对非线性关系建模能力强、自带特征重要性分析,在逻辑回归、KNN、决策树等候选模型中表现最佳。通过精确率、召回率与F1分数综合评估,并借助Pipeline将预处理与模型封装,可快速构

weixin_29038537的博客 292

机器学习入侵检测系统实战:从数据预处理到模型调优的完整工程指南

机器学习作为数据驱动的核心技术,通过算法从数据中自动学习规律与模式,其核心原理在于构建模型以识别复杂关系并进行预测。在网络安全领域,这项技术的价值尤为突出,能够自动化分析海量日志与流量数据,高效识别潜在威胁。异常检测作为机器学习的重要应用场景,通过建立正常行为基线,可有效发现偏离模式的恶意活动,如网络入侵、欺诈行为等。本文聚焦于构建工业级入侵检测系统(IDS),深入探讨使用随机森林等集成算法处理NSL-KDD数据集,并详细解析特征工程与类别不平衡处理等关键工程实践,为从理论到落地的完整项目提供清晰路径。

weixin_42524750的博客 250

STM32之FSMC的用法——LCD

在STM32上开发LCD显示,可以有两种方式来对LCD进行操作,一种是通过普通的IO口,连接LCM的相应引脚来进行操作,第2种是通过FSMC来进行操作。

Stata实战:用双向固定效应模型分析房价,从数据清洗到结果解读(附完整代码)

本文详细介绍了如何使用Stata实现房价数据的双向固定效应模型分析,从数据清洗到结果解读的全流程。通过具体代码示例,帮助读者掌握面板模型的应用技巧,特别适合经济学和金融学研究者进行房价影响因素分析。

weixin_31528001的博客 275

SpringCloud2025+SpringBoot3.5.0动态路由503问题排查与负载均衡依赖解析

本文详细排查了SpringCloud 2025与SpringBoot 3.5.0环境下,Spring Cloud Gateway动态路由返回503错误的根本原因。核心问题在于新版网关未默认集成负载均衡器,导致无法解析lb://服务名。通过对比静态路由与动态路由,定位到需显式引入spring-cloud-starter-loadbalancer依赖,并提供了完整的解决方案与最佳实践配置。

s3t4u的博客 501

(1)大蚂蚁即时通讯

即时通讯软件BigAnt(大蚂蚁)是杭州艾朴软件推出的一个”企业级”的即时通讯平台。该平台专为企业,其他企事业单位和政府单位而设计,目的就是为了增强内部沟通能力,提高内部员工的工作效率;同时服务器就直接置于单位内部,所有信息由单位自己管理,让单位以更安全、更可伸缩和更易于管理的方式灵活方便地使用协同和通信服务的功能! BigAnt(大蚂蚁)即时通讯软件包括服务器端和客户端。客户端功能包括单位

少安的砖厂 2232

【C2000系列DSP的双向DC-DC电源】基于TMS320F28034的DC-DC项目开发流程

理解DC-DC 双向电源(基于 TMS320F28034)的开发流程,需要从功能拆解、开发步骤、验证 / 测试项

昔时扬尘处 323

AIGC算法工程师 面试八股文

1、简述DDPM的算法原理 2、什么是重参数化技巧?Diffusion Models和VAE中的重参数化技巧是如何使用的? VAE中的重参数化技巧 Diffusion Models中的重参数化技巧 3、什么是马尔可夫过程?DDPM中的马尔可夫链是如何定义的? 马尔可夫过程 DDPM马尔可夫链 4、为什么DDPM前向过程中前期加噪少,后期加噪多? 5、VAE和Diffusion Models中的变分推断是什么? 6、Negative Prompt实现的原理是什么?

沉迷单车的追风少年 1万+

华为面试手撕真题【判断是ipv4还是ipv6地址】

编写一个函数来验证输入的字符串是否是有效的 IPv4 或 IPv6 地址。

MISAYAONE的博客 1万+

YOLOv12环境配置,手把手教你使用YOLOv12训练自己的数据集和推理(附YOLOv12网络结构图),全文最详细教程

YOLO 系统尊嘟太卷了吧,YOLOv11 还没完明白,YOLOv12 就重磅来袭,YOLOv12 是由纽约州立大学联合中科院在 2025年2月19 日发布,从 YOLOv12 论文题目我们大概就知道做了那些更新 ,下图是YOLOv12 在 COCO 数据集上的性能表现引入区域注意力机制(area-attention):通过引入十字形窗口自我注意机制,沿水平和垂直条纹计算注意力机制,纵横交错的注意机制。如下图所示,区域注意力采用最多简单的等分方法,将特征地图垂直或水平划分为 L 个区域。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 6万+

UG\NX二次开发 找不到指定的dlx文件(Specified Dlx file not found)

有群友问:用Ctrl+U运行的时候就报错,找不到指定的dlx文件Specified Dlx file not found。怎么处理。

王牌飞行员_里海的博客 1127

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

上一篇: 45、Visual Studio调试:高级技巧与工具解析
下一篇: 80、时尚行业快速响应策略与纳米纤维制备技术解析
Alpha
博客等级 码龄27年 113粉丝 1665原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值