用于异常检测的深度神经网络模型融合

2023-05-16

用于异常检测的深度神经网络模型融合

在当今的数字时代,网络安全至关重要,因为全球数十亿台计算机通过网络连接。近年来,网络攻击的数量大幅增加。因此,网络威胁检测旨在通过观察一段时间内的流量数据来检测这些攻击,并将异常行为与正常流量区分开来 [ 1 ]。

网络异常检测 (NAD) 是一种通过基于流量异常模式的威胁检测来促进网络安全的技术。NAD 通过持续监控网络的异常事件或趋势 [ 1 ] 来运作。因此,NAD 通常是网络行为分析 (NBA) 不可或缺的一部分,其中网络安全由防病毒软件、防火墙、间谍软件检测软件和入侵检测系统等反威胁应用程序提供 [ 2 ]。

随着 Internet 技术的进步,网络攻击急剧增加。因此,网络入侵检测成为提高系统检测网络安全攻击能力的重要领域。入侵威胁是蓄意访问和操纵信息以使系统不可靠的尝试。例如,拒绝服务 (DoS) [ 3 ]。

基于异常的入侵检测是用于查找网络流量中与预期的网络正常流量不匹配的不合格模式的过程。这些异常模式是异常、异常值或异常[ 4、5 ]。NAD 已广泛用于许多应用,例如网络安全入侵检测和信用卡欺诈检测 [ 3 ]。

多年来,基于统计算法 [ 6 ]、数据挖掘方法 [ 7 ] 和机器学习 [ 8 ] 开发了异常检测系统。大多数 NAD 方法通常依赖于为正常行为开发模型,因此开发的模型可以检测任何异常模式 [ 8 ]。NAD 系统中有许多类型的模式学习,例如监督学习、半监督学习和无监督学习 [ 9 ]。

近年来,深度学习方法受到了广泛关注,因为深度神经网络能够直接从网络流量数据中学习异常的复杂模式 [ 10 ]。然而,现实世界的交通数据规模庞大、标签嘈杂且类别不平衡。换句话说,交通数据有数以百万计的样本,分布不均匀,很少有异常,而正常的交通数据太多。大多数现有网络数据集不符合现实条件,不适合现代网络。此外,传统数据集如 kddcup99 [ 11 ] 和 UNSW-NB15 [ 12 ]] 已在文献中进行了大量调查。利用这些数据集的方法能够提供高性能。因此,在本文中,我们使用ZYELL的数据集 [ 13、14 ]重点关注大规模(百万级)和高度不平衡的交通数据问题,以训练、验证和测试所提出的解决方案。

本文提出的新解决方案是在 NAD 的混合方法下考虑的。两个深度神经网络 (DNN) 的模型融合用于检测攻击并将其映射到特定类别。第一个端到端 DNN 用于从流量数据中学习模式以进行正常/攻击二元分类。第二个端到端 DNN 用于从流量数据中学习模式,以对四种类型的攻击进行分类,例如 DDOS smurf、探测 IP 扫描、探测端口扫描和探测 NMAP。本文给出的结果表明,所提出的方法在 Fβ 分数和误报率方面优于传统的单一深度神经网络。

将分类数据转换为数字表示

应用程序名称列是分类的,有 45 个唯一的字符串值,如下 [ 13 ]:

['其他', '域', 'https', 'snmp', 'icmp', 'http', 'microsoft-ds', 'ssdp', 'netbios-ssn', 'netbios-dgm', 'ssh' , 'netbios-ns', 'ftp', 'syslog', 'igmp', 'h323', 'real-audio', 'pop3', 'telnet', 'smtp', 'rtsp', 'pptp', ' auth', 'roadrunner', 'bgp', 'isakmp', 'rexec', 'rcmd', 'finger', 'bootps', 'sql-net', 'vdolive', 'irc', 'nntp', '目标'、'rlogin'、'msn'、'新闻'、'bootpc'、'snmp-trap'、'tftp'、'nfs'、'tacacs'、'icq'、'sftp']。

这些唯一值中的每一个都以不同的方式在交通记录中重复。例如,https 重复了 1,577,502 次,而 sftp 只重复了 8 次。图 1显示了应用程序名称列中的 45 个唯一值以及每个值的出现频率。应用程序名称列中的字符串值已转换为数值以供进一步处理。具有 45 个唯一值的列的单热编码导致具有大量零的稀疏矩阵。因此,为避免内存问题,未对该列进行编码。然而,它被重新缩放和裁剪。

图。1

条形图说明应用程序名称列中唯一值的频率

全尺寸图片

标签列也是分类的,具有高度不平衡的五个类别。图 2说明了标签列中的五个唯一值以及每个值的频率。使用一个热编码器对标签列中的值进行编码并转换为二进制形式。

图 2

条形图说明标签类别的频率

全尺寸图片

此数据集中很少有数字列(例如 cnt_src)具有离散数字和几十个唯一值。图 3显示了 cnt_src 列中的值以及每个值的频率。值 1 在此列中重复了超过 600 万次,而值 2 和 10 之间的值重复了 100 到 800 十万次。相反,其他值(例如 20 到 40 之间的值)的频率小于 200。

图 3

cnt_src 列值的频率

全尺寸图片

相关性

本节计算交通样本特征之间的相关性和相关度。每对特征之间的相关矩阵以图形方式表示为带有颜色编码的热图,如图 4所示. 相关系数衡量变量之间关系的强度,值范围在 − 1.0 和 1.0 之间。换句话说,- 1.0 的相关性表示完全负相关,而 1.0 的相关性表示完全正相关(这对特征高度相关)。另一方面,零或接近零的相关值表明这对特征是弱相关的。相关矩阵的意义与特征选择有关,特征选择是分类前的主要阶段。当两个特征高度相关时,可以丢弃这两个特征之一。

图 4

交通特征之间的相关热图

全尺寸图片

从图 4中可以明显看出,应该预测的标签(输出)与流量的任何输入特征都没有高度相关。此外,该功能与其后缀为“_slow”和“_conn”的版本之间只有中等相关性 (0.5–0.8)。例如,cnt_src 与 cnt_src_slow 和 cnt_src_conn 具有中等相关性。因此,没有流量特征被丢弃,因为没有人与其他人具有高相关性。

提出的模型融合

在本节中,描述了所提出的模型融合方法。模型融合包含两个深度神经网络。二元模型 1 包括特征预处理和 DNN。DNN 用作二元分类器,通过将流量数据分为两类来检测任何攻击:正常和攻击。为了组成新的攻击流量集,将包括 DDOS smurf、IP 探测、PORT 探测和 NMAP 探测在内的四种类型的攻击组合为一组,如图 5所示。两组新的攻击流量和正常流量被馈送到二进制 DNN。

图 5

拟议模型的框图

全尺寸图片

多类模型 2 包括特征预处理和 DNN。DNN 被用作多类分类器,在去除正常流量数据后将攻击分为四类,如图 5所示. 只有当模型 1 产生攻击类别时,多类模型 2 才会运行。否则,当模型 1 的输出产生正常流量时,模型 2 不会运行。最后一个密集层在正常/攻击 DNN 中有 2 个类,在多重攻击 DNN 中有 4 个类。另一方面,将提出的模型融合方法与基线模型进行了比较。基线是一个单一的深度神经网络,它已经对包括正常流量和四种攻击流量在内的五类数据进行了训练,将流量数据分为 5 类。基线方法中的 DNN 与建议方法中使用的两个 DNN 中的每一个都具有相同的架构,如表5所示。

结论和未来的工作

在本文中,为了网络安全目的,提出了一种新的异常检测和分类策略。展示了一种模型融合,它结合了二元正常/攻击 DNN 来检测任何攻击的可用性和多重攻击 DNN 来对攻击进行分类。此外,本文解决了百万规模和高度不平衡的交通数据问题。所提出的解决方案已使用真实世界的 ZYELL 数据集进行了训练、验证和测试,结果令人鼓舞。结果发现,我们的解决方案在 Fβ 分数方面优于基准解决方案 17%。此外,所提出的解决方案在将大多数 NAD 系统的误报率降低 5.3% 方面发挥了重要作用。通常,误报会降低 NAD 系统的可靠性。所以,降低误报率可以使 NAD 系统更加健壮和可靠。然而,所提出的解决方案中的低误报率并没有降低检测真实攻击的能力。

对于未来的工作,我们的目标是通过使用其他类型的深度学习模型(例如一维卷积神经网络(CNN)来学习空间特征和长短期记忆(LSTM)来学习时间特征)来提高性能。此外,LSTM 自动编码器的无监督学习也是这个百万级数据集的一个有前途的候选解决方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于异常检测的深度神经网络模型融合 的相关文章

  • vim 支持 python

    https www jianshu com p 3e606e31da5f 前段时间刚玩linux时为了图个简单打算直接用vim来写python代码省得再下个软件 xff08 好吧 xff0c 其实是自己下了好多次都失败了 xff0c 一气之
  • 用户态和核心态的概念以及为什么要区别?以及两者之间的切换

    一 用户态和核心态的概念 用户态 xff1a 内核态与用户态是操作系统的两种运行级别 当程序运行在3级特权级上时 xff0c 就可以称之为运行在用户态 xff0c 因为这是最低特权级 xff0c 是普通的用户进程运行的特权级 xff0c 大
  • strstr(str1,str2)函数使用时注意事项

    可能有的人还没听过strstr函数 xff0c 个人认为这个一个很实用的函数 xff0c strstr str1 str2 函数是字符串处理函数之一 xff0c 位于头文件 string h 中 对于处理字符串的一些问题有很大的帮助 定义
  • Java This 的用法

    JAVA This的用法 先写一个要调用的类 都放在名为test的包下面 在这里插入代码片package test span class token keyword public span span class token keyword
  • 关于松耦合和紧耦合的理解

    松耦合系统通常是基于消息的系统 xff0c 此时客户端和远程服务并不知道对方是如何实现的 客户端和服务之间的通讯由消息的架构支配 只要消息符合协商的架构 xff0c 则客户端或服务的实现就可以根据需要进行更改 xff0c 而不必担心会破坏对
  • 第六篇 键盘中断与应用程序读取键盘缓冲区

    这篇博文主要介绍在X86下键盘的中断过程 xff0c 以及应用程序如何利用中断读取键盘缓冲区内容 一 撰写该篇博文的背景介绍 在我们全屏看视频时 xff0c 按下Esc键 xff0c 播放器还原或者最小化 xff1b 在利用其他软件的时候
  • 发现一个aruco在线生成器,可以在线生成aruco CharucoBoard GridBoard AprilTag 图片, 真香

    最近在研究 opencv 检测 aruco标记项目 xff0c 想弄点aruco标记码来测试 xff0c 发现网上很少在线生成aruco标记码的工具 xff0c 导致在做测试时候浪费了很多时间去搞这个码 xff0c 基本上大家都用 xff0
  • FreeRTOS基础六:中断管理1

    嵌入式实时系统需要对外界的某个事件做出及时的响应动作 例如串口外设收到了一帧数据后 xff0c 需要通知数据解析任务 xff0c 同时还要将数据帧传递给解析任务 xff0c 完成数据的处理 设计出一种好的策略来完成这个过程时需要考虑以下几个
  • FreeRTOS基础四:队列

    简介 FreeRTOS中的队列是一种用于实现 任务与任务 xff0c 任务与中断 以及 中断与任务 之间的通信 机制 此外 xff0c 任务从队列读数据或者写入数据到队列时 xff0c 都可能被阻塞 这个特性使得任务可以被设计成基于事件驱动
  • FreeRTOS基础二:堆内存管理之heap_4方案

    背景知识 从FreeRTOS V9 0 0内核版本开始 xff0c 内核对象占用的内存可以在编译期间静态分配 xff0c 也可以在运行期间动态分配 内核对象如 xff1a tasks xff08 任务 xff09 xff0c queues
  • MQ与Webservice的区别

    Webservice 和MQ MessageQueue 都是解决跨平台通信的常用手段 xff0c 两者有哪些区别呢 xff1f 个人认为最本质的区别在于 Webservice近乎实时通信 xff0c 而MQ却通常是延时通信 什么意思呢 xf
  • uORB通信机制和添加自己的topics学习笔记

    本文参考 Ubuntu16 04下PX4环境快速搭建及uORB通信机制进行操作 结合网上一篇uROB的介绍PX4 Pixhawk uORB深入理解和应用进行深入的了解 1 简介 uORB Micro Object Request Broke
  • 看到一篇很好的介绍磁力计原理的博客

    详细内容戳这里http blog sina com cn s blog 402c071e0102v8ig html
  • QT工程转换为VS2013项目文件

    xff08 win7系统 xff09 1 点击开始 xff0c 输入cmd xff0c 打开cmd 2 输入cd c apm点击回车键 注 xff1a apm是我的qt的工程文件夹 xff0c 最好放在c盘 xff0c 其他盘转换都不成功
  • C语言:函数返回字符串的四种方法

    转载连接 xff1a 1 https blog csdn net turkeyzhou article details 6104135 comments 2 https www cnblogs com qingergege p 649668
  • C语言:字符串中查找指定字符——strchr()和strrchr()

    参考文章连接 xff1a 1 http c biancheng net cpp html 161 html 2 http c biancheng net cpp html 172 html 1 头文件 xff1a include lt st
  • C语言:整型、浮点型和字符串间转换

    参考文章链接 xff1a 1 http c biancheng net cpp html 1573 html 2 http c biancheng net cpp html 1574 html 1 整型 浮点型 gt 字符串 整数转换为字符
  • 学习贵在坚持!

    最近学习颇为不顺 xff0c 周围都是一些不利的消息 xff0c 有些心灰意冷 可是这不是与我写本文的初衷相悖了么 xff1f 看到了比自己优秀的人干出来辉煌的事情 xff0c 写出来文字优美的文章 xff0c 自己就有相形见绌的自卑感 可
  • Qt中 QString 和int, char等的“相互”转换

    原文链接 xff1a https blog csdn net ei nino article details 7297791 Qt中 int float double转换为QString 有两种方法 1 使用QString number 如
  • 计算器第二版:C语言,VC++6.0

    使用栈实现 xff0c 前缀表达式变后缀表达式的原理 xff0c 但是没有转换 xff0c 是边转换边实现 xff1a include lt stdio h gt include lt stdlib h gt include lt coni

随机推荐

  • 计算器第三版:C语言,递归,VC++6.0

    参考文章 xff1a https blog csdn net u011692041 article details 49796343 https blog csdn net u011692041 article details 497991
  • 计算器第四版:C++,QT

    核心算法和第二版一样 xff1a 头文件 xff1a calculate h ifndef CALCULATE H define CALCULATE H include lt QMainWindow gt include lt QPushB
  • USB协议概念学习

    1 USB总线结构 usb的总线拓扑结构如下所示 xff1a 从USB总线结构可以看出 xff0c 主要由3部分组成 xff1a USB主机 Host USB线缆 USB设备 hub Func等 USB主机 xff1a 一般成为USB Ho
  • 创新工场两道笔试题0919

    题目1 字符串去重 xff0c 老题目 xff0c 只是要求不能开辟新空间用来复制原字符串 思路 xff1a 使用布尔型的简单hash表可以节省空间 xff0c 用来存储字符是否出现的信息 xff0c 刚开始hash表里面都是false x
  • ROS仿真机器人学习笔记二:创建4轮小车模型及相关xraco文件修改

    系列文章目录 提示 xff1a 这里可以添加系列文章的所有文章的目录 xff0c 目录需要自己手动添加 例如 xff1a 第一章 Python 机器学习入门之pandas的使用 提示 xff1a 写完文章后 xff0c 目录可以自动生成 x
  • 旧电脑升级Windows11时检查CPU和TPM2.0不满足的解决方案(慎重)

    上个月微软发布了Windows11 22H2正式版 xff0c 不少新电脑也接收到了推送 xff0c 楼主的台式 xff08 i3 8100 军规星H310M xff09 也接收到了推送 xff0c 但是碍于Win11蛋疼的右键和状态栏消息
  • windows下安装docker

    windows下安装docker 0 前置条件 环境说明 xff1a windows11 家庭中文版 开启Hyper V xff08 可以百度如何开启 xff09 如何添加Hyper V 创建hyper txt xff0c 复制如下内容 x
  • STM32CubeMX配置生成FreeRTOS项目

    文章目录 1 安装STM32CubeMX软件1 1 下载安装1 2 安装要用到的芯片软件包 2 配置FreeRTOS项目2 1 创建工程2 2 配置SYS2 3 配置RCC2 4 配置系统运行时钟2 5 配置UART1串口作为调试代码2 6
  • ScrumMaster的教练职责

    ScrumMaster是Scrum团队的敏捷教练 Ken Rubin说 xff0c 类似于运动团队的教练 xff0c ScrumMaster观察团队使用Scrum的过程 xff0c 帮助团队提高工作绩效 教练不是顾问 xff0c 不提供解决
  • Autoware.Auto avp仿真详解

    1 定位 定位节点启动的是 ndt localizer 61 Node package 61 39 ndt nodes 39 executable 61 39 p2d ndt localizer exe 39 namespace 61 39
  • VMware + ubuntu16.04 + ROS kinetic 下配置realsense D435i 遇到的问题

    在配置Realsense D435i 的过程中 xff0c 遇到一个问题 执行 scripts patcg realsebse ubuntu lts sh 下载速度奇慢 10K s左右 而且会在接受到36 的时候不动了 xff0c 等了一晚
  • 白话tensorflow分布式部署和开发

    关于tensorflow的分布式训练和部署 xff0c 官方有个英文的文档介绍 xff0c 但是写的比较简单 xff0c 给的例子也比较简单 xff0c 刚接触分布式深度学习的可能不太容易理解 在网上看到一些资料 xff0c 总感觉说的不够
  • 全息投影技术

    1 概念 全息投影技术 xff08 front projectedholographic display xff09 也称 虚拟成像 技术是利用干涉和衍射原理记录并再现物体真实的 三维 图像的技术 全息投影技术不仅可以产生立体的空中幻像 x
  • Ardupilot飞控添加使用诺瓦泰GPS

    Ardupilot飞控添加使用诺瓦泰双天线GPS航向角的设置 一 添加诺瓦泰GPS heading角数据包解析代码 1 打开libraries AP GPS AP GPS NOVA h xff0c 添加如下代码 xff1a struct P
  • SD标准以及规范

    SD标准及规范 SD应用 SD标准让制造商能生产高性能之产品来提升数百万计消费者的体验 xff0c 包含听音乐 录制视频 摄影 数据储存以及使用移动电话 身为一个产业的标准 xff0c SD标准被用于行动存储产业的多个市场领域中 xff0c
  • 《视觉SLAM十四讲》学习笔记-状态估计问题

    最大后验与似然 经典slam模型可表示为 xff1a x k 61 f x k 1 u k 43 w k z k j 61 h y j x k 43 v
  • 机器人学领域的顶级期刊和会议

    印象中 xff0c 机器人学涉及机械 控制 计算机和电子等领域 xff0c 十足的交叉学科 xff0c 所以涉及到的概念和技术也非常多 因工作关系 xff0c 看了三周的SLAM入门 xff0c 用的是高翔的 视觉SLAM十四讲 这本教材
  • SQL解析过程

    转载自 xff1a http blog aliyun com 733 简介 SQL任务是ODPS中使用最频繁的一类作业 大部分用户开始使用ODPS时要做的第一件事情就是学习怎么写ODPS的SQL ODPS SQL是一种非常灵活的语言 兼容大
  • C++中类所占的内存大小以及成员函数的存储位置

    类所占内存的大小是由成员变量 xff08 静态变量除外 xff09 决定的 xff0c 虚函数指针和虚基类指针也属于数据部分 xff0c 成员函数是不计算在内的 因为在编译器处理后 xff0c 成员变量和成员函数是分离的 成员函数还是以一般
  • 用于异常检测的深度神经网络模型融合

    用于异常检测的深度神经网络模型融合 在当今的数字时代 xff0c 网络安全至关重要 xff0c 因为全球数十亿台计算机通过网络连接 近年来 xff0c 网络攻击的数量大幅增加 因此 xff0c 网络威胁检测旨在通过观察一段时间内的流量数据来