毕业设计-基于深度学习的网络流量异常检测系统

目录

前言

课题背景和意义

实现技术思路

一、网络流量检测与深度学习

二、SDA 算法模型的网络流量异常检测方法

三、LSTM 算法模型的网络流量异常检测方法

实现效果图样例

最后


前言


    大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。

对毕设有任何疑问都可以问学长哦!

选题指导: https://blog.csdn.net/qq_37340229/article/details/128243277

大家好,这里是海浪学长毕设专题,本次分享的课题是

毕业设计-基于深度学习的网络流量异常检测系统

课题背景和意义

自互联网普及以来,由于经济利益等驱动,网 络病毒和各类网络流量攻击层出不穷,造成了诸多 由于恶意而导致的安全事故,而技术革新与网络拓 扑结构的复杂化也对网络入侵检测系统 (Network Intrusion Detection System,NIDS) 提出了新的要求。 机器学习等较为传统的方式受到稳健性低、准确性 低的限制,难以检测和解决网络入侵异常与突发访 问性异常造成的网络流量异常问题。 在网络入侵检测面临较高挑战的情况下,传统 的统计分析和信号处理等技术难以满足复杂的网络 结构分析需求,无法达到高效的检测速度和稳健性 标准。为了满足高级网络工作场合的异常检测需 求,本文将介绍两种先进的网络流量异常检测方 法:一是堆叠降噪 自 编 码 器 (Stacked Denoising Auto encoder,SDA) 算法设计。二是由 LetNet 为主体的攻击模块和长短期记忆网络 (Long Short-Term Memory,LSTM) 算法实现的结构。这两种方法都基于 深度学习的思想,即通过端到端的深层网络方式设 计并实现,在特征设计方法举步不前的情况下都取 得了良好的收益,是目前我国主流的网络流量检测 方法。

实现技术思路

一、网络流量检测与深度学习

常见的网络攻击与网络流量异常检测

网络攻击即在未得到授权的情况下偷取或访问 计算机中的数据,进而造成破坏,修改或使服务器 原有的某种功能失效。常见的网络攻击分为 3 类:

(1)侦察跟踪攻击:盗取目标计算机的各种信息;

(2)访问攻击:利用系统漏洞获取主机控制权限;

(3)拒绝服务 (Denial of Service,DoS) 攻击:利用 大量链接请求耗尽网络服务资源,使计算机正常服 务环境崩溃。

网络流量异常检测则是通过应用各种 异常检测技术分析网络流量,以提前发现网络攻击 行为。

常见的网络流量检测技术

信号处理技术为较成熟的主流网络流量检测方 式,其核心思想是对各类信号按照想要得到的结果 进行分类和提取,分别利用一维数组和二维数组对 单链和多链进行数据处理。 由信号处理技术又衍生出一种频谱分析技术, 借助傅里叶变换转化为频率域信号,该技术能够通 过分析频率变化 (即时间区间中的突发奇异点) 来 确定异常的位置,拥有较高的准确性和灵活性。 分类技术和聚类技术统称为数据挖掘技术。

分类技术与早期的统计分析法思想类似,即通过正常 网络流量与异常网络流量特征的不同而建立模型, 常见的分类技术为 K 最邻近 (K-Nearest Neighbor, KNN) 算法和支持向量机 (Support Vector Machine, SVM) 算法;聚类技术则是对数据进行标准化处 理,选取相似的部分进行集中分类,探究潜在的相似性。

深度学习思想

深度学习的发展历程分为 3 个阶段:从最初 1957 年,感知机的概念首次出现;再到 20 世纪 80 年代,多层感知机和反向传播算法提出;直到 2006 年,深度学习的核心理念———预训练概念提出,神 经网络的研究成果得以百花齐放。深度学习理论的 发展,离不开科技的飞速进步和数学家们提出的算 法改良。

二、SDA 算法模型的网络流量异常检测方法

算法需求分析

网络流量检测大致可分为 3 个模块:首先,对 网络流量数据进行预处理,以提取特征向量;其 次,由输入层转到隐藏层,用不同的算法对其进行 寻优,提取网络流量深度特征;最后,根据特征值 用分类器辨别正常网络流量与异常网络流量。

毕业设计-基于深度学习的网络流量异常检测系统_第1张图片

算法总体设计

第一阶段为层数寻优,首先对 PSO 算法进行初 始化,规定每个粒子的局部最优值,并根据数据得 出全局最优值,迭代并刷新粒子数值,由 SDA 生 成隐藏层;然后计算适应值并得出对应的局部最优 值和全局最优解,将时间循环至最大次数后,将最 优值输出给 SDA,使其分析出节点数和隐藏层

毕业设计-基于深度学习的网络流量异常检测系统_第2张图片

第二阶段为节点数寻优,根据隐藏层层数设置 n 维空间并进行粒子初始化,得出每个向量对应的 局部最优值和全局最优解,迭代完成后刷新向量元 素值,将值赋给 SDA,计算隐藏层包含的节点数和 粒子适应值,并得出新的最优值和粒子全局最优向 量。

在得到的 SDA 结构的基础上,用批梯度下降 (Batch Gradient Descent,BGD) 算法对其进行无监 督逐层贪婪预训练,得到网络流量深度特征。

毕业设计-基于深度学习的网络流量异常检测系统_第3张图片

采取 softmax 分类器对网络流量异常检测进行 构建。

算法结果分析

两阶段 SDA 算法的准确性明显高于单阶段 SDA 算法,检测率有较大提升,误报率明显下降。 由于网络流量特征提取效率的提升使得异常检测模 型的结构得到了改善,因此稳健性得以提高.

三、LSTM 算法模型的网络流量异常检测方法

算法与模型概述

和 SDA 算法模型类似,LSTM 算法模型网络流 量检测同样分为 3 个模块:首先,进行预处理,在 杂乱的网络流量数据中提取出网络流量单元,该部 分又分为对数据包的特征分析和对网络流的特征分 析,其中序列结构由流量 byte 和数据包向量构成。 其次,转换数据编码,然后利用特征学习分析网络 流量,将编码改写为向量形式,也是模型的核心和 算法的主要部分;最后,使用分类器对向量进行分 类,得到最终结果。下面分别予以具体分析。

算法总体设计

在 packet capture 被划分为网络流后,开始进行 特征分析,之所以分为这两个阶段,是为了针对不 同的数据结构而给出更加清晰的架构方案,同时为 了避免由于网络流的局限性而漏掉大量数据包信息 的情况,便于提高全面性。

特征学习的实现

在分类阶段完成后,将通过机器学习的方式进 行网络流量异常检测,实现自动学习网络流量的时 空特征的功能。大致步骤为:首先,使用卷积神经 网络 (Convolutional Neural Network,CNN) 算法学 习数据包中的空间特征,并将其转化为 2D 图像形 式;其次,通过 LSTM 算法学习时间特征,系统将 得到的时空特征归纳并用作网络流量检测的基准。

毕业设计-基于深度学习的网络流量异常检测系统_第4张图片

实现效果图样例

网络流量异常检测系统:

毕业设计-基于深度学习的网络流量异常检测系统_第5张图片

我是海浪学长,创作不易,欢迎点赞、关注、收藏、留言。

毕设帮助,疑难解答,欢迎打扰!

最后

你可能感兴趣的:(深度学习,python毕设选题,毕设选题教程,课程设计,算法,深度学习,卷积神经网络,python)