网络入侵检测 Network Intrusion Detection System (NIDS)

news2024/11/15 23:34:39

网络入侵检测 Network Intrusion Detection System--NIDS

  • 网络入侵检测 Network Intrusion Detection System (NIDS)
    • 1.学习内容
    • 2.数据集说明
    • 3.NIDS组件
    • 4.基于SDN的网络入侵检测
    • 5.实验步骤
      • 下载数据集
      • 下载代码
      • 配置环境
      • 结构目录
      • 运行程序
      • 训练结果
    • 6.总结
      • 参考论文
      • 数据集

申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计5077字,阅读大概需要3分钟
更多学习内容, 欢迎关注我的个人公众号:不懂开发的程序猿

网络入侵检测 Network Intrusion Detection System (NIDS)

1.学习内容

入侵检测技术被分为基于主机的入侵检测(HIDS)和基于网络的入侵检测(NIDS)。按照数据分析的方法差异,可以分为基于特征的检测和基于异常的检测。本质上都是在建立一个分类器模型,把输入的数据识别为不同的分类结果输出。

分类学习算法的主要思想是:基于训练数据构建一个能分类正常(和异常)事件的模型,基于该模型可以对新的事件进行分类。分类模型对输入数据的类别分布应具备较强的适应能力,处理输入数据(集合)可能存在的类不平衡(class imbalance)现象(例如网络在遭受攻击时,恶意流量占比可能会大大高于正常流量占比,而模型在训练时使用的训练数据可能恶意流量占比远远小于正常流量占比)。

2.数据集说明

在网络安全领域,类似规模的公开数据集虽然也可以找到一些,例如SecRepo.com - Samples of Security Related Data上就收集了大量包括恶意代码、网络流量、系统日志等在内的多个有标记数据集,但对于入侵检测来说,由于网络数据中可能包含真实用户隐私数据、企业内部机密数据等原因,现有的可以被用于入侵检测领域使用的公开训练数据集普遍都采用的是流量发生软硬件模拟产生的网络抓包数据或者经过匿名化处理的网络抓包数据集合甚至是已预处理好的特征工程文件,无论是数据的真实性还是数据的多样性都被打了折扣。因此,基于这些公开数据集训练出来的分类器,很难在真实网络中表现出很好的分类性能。

3.NIDS组件

NIDS 有两个主要组件:特征提取器异常检测器特征提取器在接收数据包流并从中提取特征以将它们反馈到异常检测器。然后, 异常检测器 为它接收到的每个输入输出一个分数,并与阈值进行比较。如果分数小于阈值,则相应的输入将被预测为良性,否则将被预测为恶意。可以以两种不同的方式构建特征提取器。它可以为接收到的每个数据包输出一个特征向量。这个特征向量不仅仅基于当前的数据包;它还可以考虑之前看到的数据包的历史记录。在这种情况下,这些特征可以像从数据包头中提取的原始值一样简单,也可以像手动创建的复杂特征一样简单。

在这里插入图片描述

将去噪自动编码器用作异常检测器,根据自动编码器的输出和输入之间的差异计算的重建误差用作评价函数,以无监督的方式检测异常。

4.基于SDN的网络入侵检测

NIDS 被实现为 SDN 控制器上的应用程序。基于SDN的IDS架构如图所示。
它具有三个主要组件:流量收集器、特征提取器和异常检测器

流收集器:当数据包输入消息到达时触发此模块。它将提取所有流统计信息,例如协议、源和目标IP以及源和目标端口。该模块还由定时器函数触发,向交换机发送ofp_flow_stats_request消息,请求所有流统计信息。收到请求后,将包含所有流条目的所有聚合统计信息的ofp_flow_stats_reply消息发送回控制器。

特征提取器:特征提取器接收数据流并从中提取特征以将它们馈送到异常检测器。

异常检测器:为它接收到的每个输入输出一个分数,并与阈值进行比较。如果分数小于阈值,则相应的输入将被预测为良性,否则将被预测为恶意。可采用 GRU/DNN/LSTM/RNN等算法作为 Anomaly Detector 模块的核心。异常检测器模块加载经过训练的模型,接收网络统计数据并确定流是否异常。

在这里插入图片描述

二分类神经网络模型

在这里插入图片描述

5.实验步骤

下载数据集

下载地址:NSL-KDD | Datasets | Research | Canadian Institute for Cybersecurity | UNB

这里采用NSL-KDD数据集而没有采用CICIDS2017数据集,因为CICIDS2017数据集太大了,本机电脑跑不动,NSL-KDD是轻量版的KDD-CUP-1999,去除了冗余字段和重复的流条目,便于测试。

在这里插入图片描述

官网首页

在这里插入图片描述

下载代码

https://github.com/mehrdadep/deep-learning-nids.git

在这里插入图片描述

配置环境

版本如下

库/工具版本号
python3.7.10
joblib1.1.0
keras2.6.0
numpy1.21.5
pip21.2.4
scikit-learn1.0.2
scipy1.7.3
tensorflow2.6.0

结构目录

在这里插入图片描述

运行程序

python run.py

第一步,选择数据集类型是NSL-KDD还是CICIDS

在这里插入图片描述

第二步,选择分类器:二分类或者多分类器

在这里插入图片描述

第三步,选择网络模型

在这里插入图片描述

第四步,选择训练的轮数

在这里插入图片描述

训练轮数跑但如果过大了就超出了显卡内存报错

2022-02-20 19:41:06.145684: I tensorflow/stream_executor/cuda/cuda_driver.cc:732] failed to allocate 3.87G (4160159744 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY: out of memory

在这里插入图片描述

训练结果

经典网络模型的训练结果如下,

逻辑回归

在这里插入图片描述

朴素贝叶斯

在这里插入图片描述

决策树

在这里插入图片描述

在这里插入图片描述

随机森林

在这里插入图片描述

6.总结

基于网络入侵检测(NIDS)的框架和代码实现如上,后面的要做的工作有:设计实现GRU/DNN/LSTM/RNN等网络模型作为异常检测器的算法部分,除了做流量检测的二分器还要做多分类器,另外将训练的结果通过Tensor Board的Graphic图形化的显示出来。设计实现能看到每一轮神经网络的中间训练的结果。后期加大训练轮数,来看网络的预测准确率,精确率,误识别率如何。

参考论文

[1] Albahar M A. Recurrent neural network model based on a new regularization technique for real-time intrusion detection in SDN environments[J]. Security and Communication Networks, 2019, 2019.

[3] Phan X T, Fukuda K. Sdn-mon: Fine-grained traffic monitoring framework in software-defined networks[J]. Journal of Information Processing, 2017, 25: 182-190.

[4] Cheng T Y, Jia X. Compressive traffic monitoring in hybrid SDN[J]. IEEE Journal on Selected Areas in Communications, 2018, 36(12): 2731-2743.

[5] Sultana N, Chilamkurti N, Peng W, et al. Survey on SDN based network intrusion detection system using machine learning approaches[J]. Peer-to-Peer Networking and Applications, 2019, 12(2): 493-501.

[6] Hashemi M J, Keller E. Enhancing robustness against adversarial examples in network intrusion detection systems[C]//2020 IEEE Conference on Network Function Virtualization and Software Defined Networks (NFV-SDN). IEEE, 2020: 37-43.

[10] Tang T A, Mhamdi L, McLernon D, et al. Deep recurrent neural network for intrusion detection in sdn-based networks[C]//2018 4th IEEE Conference on Network Softwarization and Workshops (NetSoft). IEEE, 2018: 202-206.

数据集

[2] Elsayed M S, Le-Khac N A, Jurcut A D. InSDN: A novel SDN intrusion dataset[J]. IEEE Access, 2020, 8: 165263-165284.

[7] Sharafaldin I, Lashkari A H, Ghorbani A A. Toward generating a new intrusion detection dataset and intrusion traffic characterization[J]. ICISSp, 2018, 1: 108-116.

[8] Gharib A, Sharafaldin I, Lashkari A H, et al. An evaluation framework for intrusion detection dataset[C]//2016 International Conference on Information Science and Security (ICISS). IEEE, 2016: 1-6.

[9] Panigrahi R, Borah S. A detailed analysis of CICIDS2017 dataset for designing Intrusion Detection Systems[J]. International Journal of Engineering & Technology, 2018, 7(3.24): 479-482.

–end–

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/31784.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JVM垃圾回收——CMS垃圾收集器

目录 一、什么是CMS垃圾收集器 二、CMS垃圾收集的过程 三、CMS收集器的不足 四、CMS收集器的参数配置 一、什么是CMS垃圾收集器 虽然HotSpot虚拟机已经在jdk14中移除了CMS垃圾收集的参数,但是考虑到还有很多开发是基于jdk8开发的,所以还是有必要了解…

leetcode17. 电话号码的字母组合

文章目录题目思考代码和注释总结题目 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 来源:力扣(…

【计算机毕业设计】5.网上书店系统maven源码

一、系统截图(需要演示视频可以私聊) 摘要 随着Internet的发展,人们的日常生活已经离不开网络。未来人们的生活与工作将变得越来越数字化、网络化和电子化。网上销售,它将是直接市场营销的最新形式。本论文是以构建网上书店系统为…

善网ESG周报(第一期)

ESG报告: 诺基亚最新ESG报告已出炉 报告显示,诺基亚的ESG战略着重于环境、工业数字化、安全和隐私、缩小数字鸿沟、以及企业责任。 Lazada 发布首份ESG报告:为东南亚六国创造约110万经济机会 报告提出,Lazada在区域赋能方面、…

BGP进阶:BGP 综合实验二

实验拓扑及说明 设备编号及互联线路如图所示;所有设备的互联地址段采用10.1.xy.0/24,其中xy为设备编号,x为编号较小的设备,y为编号较大的设备。例如R2及R3之间的直连链路,网段为10.1.23.0/24,这条链路上R2的…

2023年系统规划与设计管理师-第一章信息的综合知识

1. 思维导图 2.信息补充 2.1 信息的传输模型 2.2 信息质量的七大属性 2.3 信息化的基本内涵 2.4 电子商务类型 2.5 电子商务类型 2.6 电子商务的特征 2.7 电子商务的基础设施 2.8 加快商务发展的基本原则 2.9 企业信息化 2.10 信息系统的组成部分 2.11 信息系统的生命周期 2.12…

世界杯 | 中国首次承建世界杯主赛场,基建狂魔用BIM征服世界杯

hi,家人们,我是建模助手。 呐,一如既往地,这次世界杯中国除了球队,其他基本都去了卡塔尔,我可不是在搞幽默,本次世界杯可真是中国元素满满—— 包括但不限于Made in China的纯电大巴、无人驾驶地…

技术分享 | 无人驾驶汽车的眼睛

根据智能化程度的不同,自动驾驶被分为5个等级:L1辅助驾驶、L2部分自动驾驶、L3有条件自动驾驶、L4高度自动驾驶、L5完全自动驾驶,即真正的无人驾驶。 日渐活跃于公众视野的“无人驾驶”概念,往往是指L3及以上级别的自动驾驶。目前…

深度解析为什么做深度学习,都用python,而不用java或者c++

前言 Python是解释语言,这让写程序方便不只一点。举例来说,在C等编译语言里写一个矩阵乘法,需要自己分配操作数(矩阵)的、分配结果的内存、手动对BLAS接口调用gemm、最后如果没用smart pointer还得手动回收内存空间。P…

看完这篇SpringBoot让我在阿里成功涨薪40%,感谢

前言: SpringBoot的好处是把Java2EE的各项技术的整合变得非常的简单,但是也有它的缺点,它的封装性太强,如果你想了解SpringBoot底层的原理,你必须对SpringMvc、Spring注解等比较了解,你才能更好的去了解Sp…

Jenkins项目中有中文文件出错处理

jenkins build的时候报 ... Malformed input or input contains unmappable characters... 提示是由于项目中有中文文件名,乱码处理不了 ERROR: Build step failed with exception java.nio.file.InvalidPathException: Malformed input or input contains unmappab…

Java学习之继承二细节(学习重点)

目录 继承细节 第一条 父类代码 子类代码 测试代码 运行结果 第二条 第三条 第三条-1 第三条-2 第四条 一、调用父类Base的无参构造器 二、一个参数的构造器 三、两个参数的构造器 第五条 第六条 第七条 第八条 第九条 第十条 继承细节 第一条 子类继承了父类所有的…

用DIV+CSS技术设计的美食主题网站(web前端网页制作课作业)美食餐饮网站设计与实现(HTML+CSS+JavaScript)

👨‍🎓静态网站的编写主要是用HTML DIVCSS JS等来完成页面的排版设计👩‍🎓,常用的网页设计软件有Dreamweaver、EditPlus、HBuilderX、VScode 、Webstorm、Animate等等,用的最多的还是DW,当然不同软件写出的…

ImmunoChemistry艾美捷总细胞毒性试验试剂盒方案

ImmunoChemistry艾美捷总细胞毒性试验试剂盒是一种单管三色试验,用于定量评估细胞凋亡和坏死引起的细胞介导的细胞溶解活性。该试验采用绿色荧光细胞染色剂CFSE标记靶细胞,红色活/死活力染料7-AAD用于识别细胞毒性试验样品中存在的死细胞,橙红…

【前端验证】fork-join_none线程立即执行的一次代码优化记录

我们的目标是┏ (゜ω゜)☞芯片前端全栈工程师~喵! 前言 【system verilog】fork-join_none与循环语句共同使用的行为探究 很早之前写过关于fork-join_none的探究文章,最近被人指出了一些错误: 我仔细理解了下他的意思,觉得确实…

电容笔和触控笔有什么区别?平价好用的电容笔排行榜

从导电材料、作用机理、用途等方面来看,电容笔与一般的触摸笔有很大区别。电容笔的笔头设计为中等大小,笔头材料通常更耐磨损。随着技术的发展,人们的生活水平越来越高,人们都想要一支更好用的电容笔,不管是图纸绘画&a…

Java真的不难(五十一)SpringBoot使用EasyExcel实现导出

EasyExcel: 大家好久不见! 一、什么是EasyExcel? EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。 github地址: https://github.com/alibaba/easyexcel 官方文档地址&#xf…

MAC安装redis的简单方法

使用mac的包管理工具brew一行命令搞定安装。若未安装brew,命令行先输入以下命令安装brew。 /bin/bash -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" brew install redis6.2 brew services restart redis6.2 一、安装…

三台服务器使用docker搭建redis一主二从三哨兵,概念-搭建-整合springboot【保姆级】

一、前言 redis在我们企业级开发中是很常见的,但是单个redis不能保证我们的稳定使用,所以我们要建立一个集群。 redis有两种高可用的方案: High availability with Redis Sentinel(哨兵)Scaling with Redis Cluster&…

FT 在图像处理中的应用

接上文:离散傅里叶变换(DFT) 四、二维傅里叶变换 在此之前,文章都是对 FT 的理论部分的科普推导,距离我们的实际应用还有一定距离 虽然之前提到函数时域时,都是默认我们以时间 t 作为自变量,但事实上自变量也可以是其…