基于KNN算法的网络流量异常检测之软件工程研究

论文价格:0元/篇 论文用途:仅供参考 编辑:论文网 点击次数:0
论文字数:**** 论文编号:lw202329923 日期:2023-07-22 来源:论文网

第 1 章 绪论

1.1 研究背景与意义
互联网在信息化的网络发展中占主要地位,数据流不断变化提供了支持,在承载互联网各种丰富应用中十分重要,保障网络的安全性与可用性,以及合理利用带宽对电信运营商来说至关重要。目前网络滥用、蠕虫传播、端口扫描、DDOS 攻击等网络恶意攻击造成的网络数据流异常,成为网络流量的黑客武器。因为异常网络流量的变化,使得网络产生异常,从而最终导致网络通信系统崩溃,无法提供正常的服务,造成核心网络通信链路的可用带宽被黑客攻击的流量占用,使得整个网络负载过高。核心重要的用户服务器遭受攻击,用户业务受到异常流量的影响,使服务质量急剧下降。使得带宽利用率降低,从而产生了很多威胁。所以网络数据流异常检测技术为及时发现网络异常提供了重要技术支持。通过对数据存储、传输和分析处理,使得异常检测在数据输入时便得到保障。所以何种特征的表现可以说明网络数据流发生了异常这一问题,成为学术界研究的热点。

目前网络数据已经不仅仅是静态的,而是以一种独特的不断变化的形式存在着,逐渐引起了各领域专家学者的关注。速度极高且易变化是独特的特性。高速网络是以非常高的速度到来的输入数据,并且在到达时的速度和数量在到达之前我们是无法预估的,

所以网络数据流异常检测的研究对于保障网络安全也十分重要。
随着科学技术的发展,网络信息不断产生与变化,能够在攻击前快速、准确、全面的进行防护,对于确保信息系统有一个安全的运营环境,减少因网络安全问题造成的损失具有重要意义。因此网络数据流异常检测的意义也就提升了。一是反映网络性能。对网络数据流异常检测主要是对关键设备、网络链路以及服务器等性能的检测,从而获得宽带占用情况,通过对网络数据流的异常研究让网络的性能得到了提高,从而使网络性能得到了保障。二是为网络故障诊断提供依据。当网络出现故障时,网络数据流就会发生变化,通过对网络数据流的异常检测,可以及时发现问题所在。三是全面分析应用。网络的不断发展壮大,要承载的业务量也逐渐上升。网络带宽异常、峰值流量突变以及对数据流的变化等问题,并且可以对应用层网络的变化情况进行检测。四是为网络协议的优化改进提供依据。网路各层之间是通过通信协议进行数据传输的,随着带宽的增加,各个方面的设计要求也逐渐增高。通过研究实验的结果分析,可以将已知数据设计成模型,待检测数据作为输入进行检测。以此作为网络协议的优化提供依据。
........................


1.2 国内外研究现状
从网络异常检测引起国内外众多专家与机构的关注以来,检测的方法层出不穷。数据流异常行为检测的应用范围也很广泛,各种浏览网页的推送使得数据流每秒钟都在变化,在数据不断变化发展的网络空间里,及时、准确的发现异常行为,是一大比较难以解决的问题。寻找一个合适的技术来处理难题是重要的。国内外很多专家学者也对异常检测从各个方面做了深入研究。
异常检测是用来识别网络数据流异常行为、确定数据流异常分类、寻找异常原因的技术。根据网络异常产生的原因,寻找适合的异常检测方法。寻找到适合的异常检测方法对于及时发现异常、处理异常具有重要意义。国内外很多专家都对异常检测的方法分过类,目前异常检测种类有很多,主要的异常检测的分类有三个方面,关于监督方面、关于半监督方面、关于无监督方面[1]。第一种网络异常检测,需要事先根据已知数据的特征,是由训练集建立一个模式,根据这个模式判断未知类型数据特征。虽然该种异常检测方法,需要已知正常数据特征,但是分类结果很明显。无监督学习网络异常检测是直接对待检测的未知数据进行分析处理,对比所有数据特征,在整体数据中,与其他数据相差较大的就是异常数据。该种异常检测方法仅仅可以用于分类,但无法判别是否为异常。半监督学习网络异常检测是待检测未知数据与正常数据进行比较,并没有确定是何种异常,对正常数据的参数依赖性太大。监督学习网络异常检测包括基于分类的方法、基于回归的方法;半监督学习网络异常检测包括基于聚类的方法、基于分类的方法;无监督学习网络异常检测比较普遍的有三种,根据数据分布、根据数据间距离、根据数据间密度、根据数据聚类方式。
..........................

第 2 章 网络数据流异常检测基础知识

2.1 网络异常的定义及分类
关于网络异常国内外很多专家都给出过定义,通俗的说网络异常即与正常数据不相同的数据。可以从不同的方面将网络数据流异常分类。
异常的最常见分类是:全局异常、条件异常、集体异常。全局异常即在数据流异常检测分类中与大部分数据不相同的数据,即为异常;条件异常即在某种条件下发生的异常,比如零下 30℃对于东北地区来说属于正常温度,然而对于江南地区出现这样的温度就是异常;集体异常即不单单看一个数据是否异常而是看一组数据相比其他的数据而言,比较某些属性值,看是否异常。异常来源的方式有很多,使得网络异常的原因也有很多,一种是性能原因,指网络使用不当造成的数据流异常,如网络设备故障或者发生拥塞、异常网络操作、闪存拥挤等。一种是安全原因,是指网络恶意攻击造成的数据流异常,如网络滥用、蠕虫传播、端口扫描、DDOS 攻击[14]。经过研究与分析,恶意攻击为最难以检测的网络数据流异常,所以选用该异常为主要研究。

蠕虫传播:是一段独立的恶意代码,与计算机病毒类似,即通过计算机或者说是通过网络不断的复制粘贴的传播,最初是因为发生这种类型异常时的变现是,屏幕上会出现蠕虫吞噬数据所以叫做蠕虫传播,这种异常传播速度非常快。当扫描到的主机并没有感染相同的蠕虫时,立即进行传播感染。
DDOS 攻击:是一种扩大的 DoS 攻击,DoS 是一种以拒绝合法用户访问共享服务或资源为主要目标的攻击[15],攻击的目的是恶意破坏提供的服务,采用协作攻击方式。主要包含攻击者、主控机、被控机、被侵害主机四个部分,利用许多傀儡机发起攻击即攻击者首先扫描搜寻一台主控机,然后主控机控制多台被控机,被控机协作攻击要侵害的主机,合力攻击,提高攻击力度。近年来随着网络攻击的增多,网络数据流的异常检测问题成为国内外专家关注的问题,据不完全统计分析,在众多的造成网络数据流的异常中,DDOS 攻击的范围最广,影响力度较大。

................................

2.2 网络数据流特征的选取
网络数据流的异常检测,即对比未知待检测数据与正常数据之间的不相同,具体哪些特征或者属性可以作为判断的标准,对于异常数据的判断至关重要。对于基于应用层的网络数据流异常检测,抓包是关键。通过研究发现,当发生蠕虫传播时,蠕虫会通过一个 IP 端口向多个 IP 地址的端口发起请求,过程中会产生大量的数据包。当发生 DDOS攻击时,如果只用制造假 IP 地址发起攻击,便会出现大量的虚假的数据包。借此大肆传播,造成网络异常。数据包包含{源 IP 地址,目的 IP 地址,IP 协议号,源端口,目的端口},通过观察蠕虫传播和 DDOS 攻击中数据包属性的变化,来进行网络数据流特征的选择。具体情况如表 2.1:


当发生网络数据流异常时,数据流的各种属性或多或少的会发生变化。从表中可以看出,主要变化的是目的 IP 地址、源 IP 地址、源端口、目的端口。Mousavi S M,St-Hilaire M 等人,在研究中选取大量数据集,通过实验结果比较发现源 IP 地址、目的 IP 地址、源端口、目的端口,在数据发生异常时变化比较大[16]。除此之外还有很多国内外专家对此做过实验。总结之后,本文主要从源 IP 地址、目的 IP 地址、源端口、目的端口,这四个方面的属性变化来建立特征矩阵,判断是否发生网络数据流异常。

.................................

第 3 章 KNN 算法的改进 ............................... 14
3.1 KNN 算法 ............................ 14
3.1.1 KNN 算法原理 ................................... 14
3.1.2 KNN 算法用于异常检测 .............................. 14
第 4 章 网络流量异常检测系统设计 ............................. 25
4.1 网络流量异常检测系统设计 ............................. 25
4.2 Flume 数据采集 ................................ 25
第 5 章 总结与展望 ........................ 35
5.1 总结 ............................... 35
5.2 展望 ................................. 36

第 4 章 网络流量异常检测系统设计

4.1 网络流量异常检测系统设计
根据网络流量的分类和网络数据流的特点,在实时流处理平台 Storm 分析模块上利用优化的 KNN 算法分析数据流,找出数据流中的异常,设计一种可视化的实时异常流量监测系统。具体网络数据流异常检测系统流程图 4.1 如下:

网络流量异常检测系统主要由三部分组成:数据收集部分,数据存储部分,数据处理部分。将数据通过 Flume 收集,存储在 Kafka 中,将优化改进的 KNN 算法应用于Storm 平台上实现对异常数据的检测。通过建立这样一个异常检测系统,实现各个模块的功能,从而保证可以准确及时发现异常。
..................................

第 5 章 总结与展望

5.1 总结
随着大数据时代的到来,网络数据复杂多样,如何对海量的数据中的异常数据进行检测变得直观重要。目前,网络数据流的异常检测技术仍然是采用传统的检测系统,实现对动态数据流的异常检测变得尤为重要。网络数据流具有数据量大、时间连续、无限不可知、到达快速、随时间改变的特性。结合这些特征,分析数据流异常的特点和各种网络数据流异常检测的方法,通过比较分析后选择将经典机器学习算法 KNN 算法用于网络数据流异常检测。
针对算法计算量比较大和未分类数据没有优化处理的问题,提出改进的 KNN 算法,该算法结合了 PCA 算法和 KNN 算法的核心思想。对于收集到的数据首先利用 PCA 算法进行降维处理,得到降维后的矩阵,然后利用降维后的矩阵,重新得到原始数据矩阵,比较前后误差大小,对于通过误差大小无法判别的数据,则组合成一个模型簇,利用模型簇与模型簇之间距离的大小,从而判断数据的类型。对于小部分未分类的数据,则通过比较模型簇之间密度大小的方式判别其类型。在理论创新的基础上,通过 MATLAB 软件仿真分析,相比 KNN 算法,MKNN Model 算法具有更高的准确率与更好的时效性,在网络数据流异常检测中具有一定的应用价值。

面对网络数据流异常不断发展的现状,分析数据流的特点与分类,设计了网络数据流异常检测系统,该系统实现了网络数据流异常的实时检测,详细介绍了系统各个模块的实现,并将改进的算法在系统中实现。将系统应用于 DDOS 攻击的异常检测实验,通过实验结果表明,该系统对于网络数据流的异常检测的效率较高。
参考文献(略)

如果您有论文相关需求,可以通过下面的方式联系我们
客服微信:371975100
QQ 909091757 微信 371975100