基于深度学习的网络流量检测与监控工具设计与实现(附件)【字数:17431】

指导教师 曹鹏飞 张强 摘 要随着互联网技术的快速发展,网络数据流量呈现爆炸式增长,尤其在网络环境日趋严峻的形势下,异常流量入侵、原始流量恶意伪造以及采用DDOS形式的网络攻击对当前的网络环境造成不可预估的影响。深度学习作为机器学习研究中的一个新的领域,其核心在于建立、模拟人脑进行分析。通过模拟人的大脑来分析数据,提高整个方案的可行性。本文通过对深度学习的理论和算法进行研究与应用,针对流量识别中存在大量非传统、多种模式形态特征导致传统的理论和模型不能够取得很好的预期效果问题,提出将人工智能领域技术运用到网络数据流量识别中去,以提高更优预测性能。本文主要研究一种基于深度学习的流量检测和监测工具,根据当前流量识别技术特点以及不足,设计一种基于人工智能方式的流量识别方法。该工具核心模块采用卷积神经网络模型,主要分为界面层、功能层、数据层三个层次和流量数据包获取模块、流量数据分析模块、流量行为分析模块。对比其他的流量检测和监测工具,该工具具备自动化、智能化特点,能够对流量数据识别、分类、提取特征学习、预测进行处理,对未知、异常流量做出预测与警告功能。
目 录
第一章 绪论 1
1.1研究背景 1
1.2流量识别技术研究现状 1
1.3研究意义 4
1.4研究主要内容和目标 4
1.4.1研究主要内容 4
1.4.2研究目标 5
1.5论文组织结构 5
1.6本章小结 5
第二章 基于深度学习的网络流量识别检测和监测方案设计 7
2.1需求概述 7
2.2工具总体方案设计 7
2.3主要功能模块设计 8
2.3.1流量数据包获取模块设计 8
2.3.2流量数据分析模块设计 9
2.3.3流量数据统计模块设计 10
2.3.4流量行为分析模块设计 11
2.4本章小结 14
第三章 流量识别技术设计 15
3.1基于监督学习方式的流量识别技术设计 15
3.2基于无监督学习方式的流量识别技术设计 1 *好棒文|www.hbsrm.com +Q: ¥351916072$ 
5
3.3基于半监督学习方式的流量识别技术设计 16
3.3基于卷积神经网络的流量识别技术设计 16
3.3.1卷积神经网络 16
3.3.2卷积神经网络的运用与设计 17
3.4本章小结 17
第四章 基于深度学习的网络流量检测与监测工具实现 18
4.1 流量数据包获取模块实现 18
4.1.1基于Scapy的网络数据包捕获实现 18
4.2流量数据统计模块实现 18
4.3流量行为分析模块实现 19
4.3.1数据清洗与特征化 19
4.3.2模型选择及训练 20
4.3.3异常流量识别 21
4.4本章小结 22
第五章 工具测试及结果分析 23
5.1测试环境及测试方案 23
5.2工具运行过程 24
5.3功能测试及结果分析 24
5.3.1流量数据包捕获功能检测 24
5.3.2流量数据统计功能检测 25
5.3.3流量行为分析功能测试 30
5.4性能测试 33
5.5本章小节 34
结束语 35
致谢 36
参考文献 37
第一章 绪论
1.1研究背景
近几年随着网络技术的飞速发展,网络已经成为人们日常生活和工作的重要部分。互联网给人们带来便利的同时,也隐藏着诸多的安全隐患,如分布式拒绝服务攻击(DOS)、R2L、网络蠕虫、系统后门等[1]。当今,网络环境已经进入一个严峻阶段,多样化、复杂化的网络攻击不仅影响整个网络的稳定性,而且极度消耗网络资源,更严重的可能导致整个网络基础设施瘫痪,造成不可挽回的损失。因此对网络流量的研究和分析,一方面可以帮助“数据”选择更好的链路,进行更快地收发信息;另一方面可以提高整个网络数据传送效率,防止链路或节点的数据拥堵,提高网络服务质量[2]。
为了应对网络威胁,越来越多的安全公司推出了相关互联网安全产品。但大多数采用初级的流量统计或简单的规则匹配方法来分析网络流量状态。针对异常流量检测,多采用基于特征的方法,逐条进行匹配检测,将获取到的特征放入已知攻击方式特征库。但由于流量攻击类型日益复杂化,导致特征库规模不断增大,对系统的负荷急剧增加,很容易导致系统无法实时识别并及时响应,造成异常流量漏报与正常流量误报问题。除了采用基于特征的方法,还普遍采用人工方式对流量进行标记,通过模式配置原则,手动加入规则,最终实现对正常、异常流量的判断。但该种方法需耗费大量的精力,无法实时对流量进行实时判断,尤其在如今互联网上攻击方式多样化,很容易造成很大的安全隐患。
就目前流量检测技术来看,还缺少对异常、未知流量的行为识别和检测。伴随着人工智能技术的发展,采用深度学习技术获取流量特征,对不同流量进行识别和分类。尤其对异常、未知流量有效识别,能够有效弥补当前流量识别技术领域的空白。因此设计一款基于深度学习的流量检测和监测工具显得十分重要,能有效达到对流量识别、分类、特征自动提取、自动学习的目的,以不断拓展流量识别技术领域。
1.2流量识别技术研究现状
网络流量识别技术核心在于网络流量识别方法的改进与创新以及对其核心技术的研究与探索。目前国内外主要有四种方式进行流量识别:基于端口号匹配识别方法、基于DPI和统计特征识别方法、基于传输层行为模式与特征字段的识别方法以及基于流统计特征机器学习识别方法。下面对这四识别方式做简单介绍。
(1)基于端口匹配的识别方法
最早的网络流量识别方法就要属基于端口号匹配的识方法。根据流量数据包中的端口号来辨别不同类型的网络流量协议与业务流量,业务流量识别的目的在于识别网络应用层的协议[3]。按照IANA(Internet Assigned Numbers Authority)的标准规定,每个应用层协议都有着相对应的端口号,其中01023被称为公认端口号用来分配给常见的网络协议,102449151是分配给注册的协议,4915265535之间的端口号可以根据自己的需求自定义使用。通过解析流量数据包中的概要信息(例如传输层的端口号)并将公认端口号和获取到的端口号进行匹配来进一步确定其所属的应用层协议,这一过程就是基于端口号匹配识别。现阶段的网络环境下,许多应用普遍采用随机端口号(如被动ftp)进行数据传输,这就跟以前用的相对的端口通信及传输有明显区别,比如BitTorrent(比特流)以前是用68816889之间的端口来通信的,Gnutella使用的端口通信是介于63466347之间[4]。由于精确性没有保障,所以采用端口匹配的方式显然不适用于当前的网络环境。但是基于端口匹配的识别方式不需要通过复杂的运算分析,只要获取数据包里包含的端口号即可,实现简单的识别速度较快。因此这种方式可以运用于数据流量起伏比较大的大数据网络环境中,满足快速识别公认端口号所对应的应用层协议。国外学者莫尔等人通过实验发现基于端口匹配的识别方法在某些场景下容易受到干扰,不过还是具有一定的实用价值的。端口号是数据包的重要组成部分,在网络流量分类中仍然扮演着重要角色。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/wljs/73.html

好棒文