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来进行操作。

基于FFT的阵列方向图快速计算公式推导

因为自己毕设涉及到阵列方向图综合相关知识,最近阅读了关于方向图综合的相关文献,就其中关于使用FFT计算阵列方向图的方法进行了公式推导。 简介: 自从1965年Colley-Tukey发表快速傅里叶变换[1]论文以来,FFT在许多科学技术领域获得了广泛和成功的应用。在阵列信号处理与雷达信号处理领域,随着科技的发展,对于电尺寸较大的相控阵天线,使用公式按照级数求和计算天线阵列方向图的方法效率甚低,...

qq_38151438的博客 4290

Windows Server 2016上,手把手教你搭建MDT 8456自动化部署环境(含ADK 2004与WDS配置)

本文详细指导在Windows Server 2016上搭建MDT 8456自动化部署环境,涵盖ADK 2004与WDS配置全流程。通过标准化操作系统部署、应用程序静默安装和驱动程序注入,实现企业级自动化部署解决方案,显著提升IT运维效率。特别针对兼容性问题和权限陷阱提供实战解决方案。

weixin_29876033的博客 385

[渗透测试实战篇-4] RCE漏洞组合拳突破Getshell全解析

本文深入解析RCE漏洞组合拳在渗透测试中的实战应用,通过SSRF、XXE等漏洞串联技术突破Getshell的全过程。文章详细介绍了Java和PHP环境下的漏洞利用差异,以及防御绕过与权限维持的实用技巧,为安全研究人员提供全面的实战指导。

weixin_29211309的博客 349

Diffusion Model原理详解

Diffusion Model(扩散模型 )对标的是生成对抗网络(GAN),本文将用通俗的语言和公式为大家介绍Diffusion Model,并且结合公式为大家梳理Diffusion Model的代码。

weixin_42620109的博客 6097

WblockCloneObjects克隆一个图纸内的实体包括块参照,同名块参照的处理

public static void HeBingTu2(double lieJu, List<string> filePaths) { Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; using (DocumentLock docLock = doc.Lock...

1108

相机图像质量评估标准全解析:MTF、CA、SNR 与色彩偏差的实战理解

图像质量评估是影像系统开发中的核心环节,它直接影响用户视觉体验与终端产品竞争力。本文基于真实的图像调试工程实践,系统讲解主流图像评价指标,包括调制传递函数(MTF)、色差(CA)、信噪比(SNR)与色彩偏差(DeltaE)等关键标准。结合 Imatest 测试流程与实际样张数据,逐项拆解各项指标在实际图像分析中的意义与优化路径,帮助开发者建立完整、量化、工程化的图像质量评估体系。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 2803

lammps教程:实例讲解npt、nvt系综的选择

对于lammps新手来说,系综的选择令人困惑,到底是应该用nvt系综还是npt系综? 我在初学lammps时就被这个问题困扰了很久。如果去问别人,可能会告诉你一个答案:根据模拟需要确定。 其实和没说一样。 到底如何确定系综,确实不是一句两句能够说清楚的,不同的体系、不同的模拟目的要选择不同的系综。 前几天遇到的一个合金的模拟案例,比较有代表性,分享出来供大家参考。 建模方法和之前介绍过的高熵合金建模方法类似,先建立单晶模型,然后使用替换原子的命令获得合金结构。 建模完成后,按照常规,先上nvt系综进行驰豫

lammps_jiayou的博客 9765

使用Simulink设计并实现一个可调谐的二阶IIR陷波滤波器,实时去除音频中的工频噪声

《基于Simulink的音频陷波滤波器设计与实现》摘要:本文详细介绍了使用Simulink设计陷波滤波器去除音频工频噪声(如50Hz)的方法。核心内容包括:1)二阶IIR陷波滤波器的原理与传递函数;2)Simulink实现步骤(音频系统搭建、滤波器设计、频率跟踪);3)性能分析(频谱对比、时域波形、听觉测试)。通过精准消除特定频率干扰,同时保留语音信号(200Hz-4kHz),有效提升信噪比(>20dB)。文章还探讨了多陷波级联、自适应算法等高级技巧,为音频处理、语音通信等应用提供实用解决方案。

amy_mhd的博客 152

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

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

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

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

上一篇: 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、付费专栏及课程。

余额充值