掌桥专利:专业的专利平台
掌桥专利
首页

软件定义网络异常流量检测方法

文献发布时间:2023-06-19 12:07:15


软件定义网络异常流量检测方法

技术领域

本发明属于信息安全技术领域,特别是一种软件定义网络异常流量检测方法。

背景技术

随着虚拟化和云计算技术的发展,软件定义网络作为一种新兴的网络架构,逐渐受到了研究者的青睐。它通过转发平面和数据平面分类的设计思想和网络可编程的特点,解决了传统网络灵活性差、难以管理、维护代价大等问题。然而由于软件定义网络在设计时对安全问题缺少相应的考虑,以及软件定义网络集中控制和开放性的特点,使得软件定义网络更容易遭受网络攻击,尤其是控制平面和数据平面。现阶段面对软件定义网络存在的安全问题,网络异常流量检测开始应用于软件定义网络,它能够感知软件定义网络中存在的异常流量,通过流量分析技术实现网络攻击溯源取证,帮助安全人员采取相应措施。

现有的网络异常流量检测基本处理流程如下:首先进行数据采集,包括终端数据、中间件数据、流量抓取、第三方设备日志。然后进行数据预处理,对采集的数据进行预处理,包括数据数值化、标准化、数据筛选,最终转换成平台可理解的格式化数据,以文件形式存储等待解析。最后进行数据分析,对数据进行识别、分类,筛选出异常的数据并进行报告。

上述网络异常检测方法存在如下不足:

1、检测方法准确率低,大约为80%-90%,误报率高,约为15%:现有的检测方法为提高效率,对数据特征的保留少,难以保证不丢失主要信息。

2、无法具体区分网络攻击的种类:现有检测方法对正常数据采用数学建模方式分析其行为,对于符合行为模型的网络流量认定为正常流量,不符合行为模型的网络流量只是认定为异常流量,无法对其进行分类。

3、与软件定义网络不适配:软件定义网络尚处于初期阶段,对软件定义网络的异常流量检测研究还不成熟。

发明内容

本发明的目的在于提供一种软件定义网络异常流量检测方法,准确率高,速度快。

实现本发明目的的技术解决方案为:

一种软件定义网络异常流量检测方法,包括如下步骤:

(10)样本数据获取:从软件定义网络抓取原始流量文件,对原始流量文件内所有的流量数据进行预处理,得到样本数据集;

(20)数据粗粒度划分:采用局部异常因子法,将所述样本数据集进行粗粒度划分,得到正常数据和异常数据;

(30)异常数据细粒度划分:采取K-means方法,将所述异常数据进行细粒度划分,检测出异常数据及其种类。

本发明与现有技术相比,其显著优点为:

1、检测方法准确率高,误报率低:本发明改善了现有技术中对主要信息保留不完整的问题,在样本数据获取步骤中对原始流量文件进行预处理中,采用了熵值法将最能体现原数据特征的属性进行提取,保留下来;准确率可以达到98%以上,误报率在5%以下。

2、可以区分具体攻击的类别:本发明对异常流量进行了进一步的分类,在步骤(30)中对异常流量数据进行细粒度的划分,区分出异常流量具体所属种类,包括DoS、U2R、R2L、probe等网络攻击类型。

3、适用于软件定义网络环境:本发明可以在软件定义网络平台中运行。

下面结合附图和具体实施方式对本发明作进一步的详细描述。

附图说明

图1是本发明软件定义网络异常流量检测方法的主流程图。

图2为图1中样本数据获取步骤的流程图。

图3为图1中数据粗粒度划分步骤的流程图。

图4为图1中数据细粒度划分步骤的流程图。

具体实施方式

如图1所示,本发明软件定义网络异常流量检测方法,包括如下步骤:

(10)样本数据获取:从软件定义网络抓取原始流量文件,对原始流量文件内所有的流量数据进行预处理,得到样本数据集;

如图2所,所述(10)样本数据获取步骤包括:

(11)原始流量文件抓取:利用抓包软件从软件定义网络获取原始流量文件;

(12)流量数据预处理:对原始流量文件中的流量数据进行数值化、标准化、归一化处理,得到同一类型的原始数据集;

(13)数据降维:采用熵值法计算原始数据集中所有特征参数的熵值,选取熵值较大的多个特征参数组成降维的样本数据集。

所述(13)数据降维步骤包括:

(131)数据集熵值计算:按下式计算含有n个变量x

式中,p

(132)特征参数选取:计算原始数据集中所有特征参数的熵值,从大到小排列,根据原始数据集规模大小,选取与原始数据集规模相应的熵值较大的多个特征参数组成样本数据集。

例如,实验使用KDD CUP 99网络入侵检测数据集,该数据集是从一个模拟的美国空军局域网上采集来的9个星期的网络连接数据,分成具有标识的训练数据和未加标识的测试数据。测试数据和训练数据有着不同的概率分布,测试数据包含了一些未出现在训练数据中的攻击类型,这使得入侵检测更具有现实性。

首先对数据集随机选取大小为2000的子集,将数据集进行数值化、标准化、归一化,首先将非数字类型的数据转化为数字,然后消除由于属性度量的差异对聚类产生的影响,对属性值进行标准化,最后将所有数值归一化,即把所有数值映射到[0,1]区间;

用熵值法选取区分度较大的特征参数,提高数据间的差异,主要包括duration(连接的持续时间)、src_bytes(从源主机发送到目的主机的数据的字节数)、dst_bytes(从目的主机发送到源主机的数据的字节数)、count(过去两秒内,与当前连接具有相同目标主机的连接数)、srv_count(过去两秒内,与当前连接有相同服务的连接数)、dst_host_count(前100个连接中,与当前连接目标主机相同的连接数)、dst_host_srv_count(前100个连接中,与当前连接目标主机相同且服务也相同的连接数)在内的7个特征作为输入数据。

(20)数据粗粒度划分:采用局部异常因子法,将所述样本数据集进行粗粒度划分,得到正常数据和异常数据;

如图3所示,所述(20)数据粗粒度划分步骤包括:

(21)数据点间距离计算:设样本数据集为D,假设共有n个检测样本,数据的特征参数个数为为m,对于

对于数据集D中任意两个数据点X

(22)计算第k距离:d

①至少有k个点P′∈D\{O},满足d(O,P′)≤d(O,P)

②至多有k-1个点P′∈D\{O},满足d(O,P′)<d(O,P)

此时,d

(23)计算第k距离邻域:设N

N

(24)计算可达距离:点P到中心点O的第k可达距离为:

d

即点P到点O的第k可达距离至少是点O的第k距离;距离中心点O最近的k个点到中心点O的可达距离均为d

(25)计算局部可达密度:按下式计算所有属于点P的第k邻域内的点到点P的可达距离的平均值,即局部可达密度,

即所有属于点P的第k邻域内的点到点P的可达距离的平均值。若P与其邻域点同属一个簇,则可达距离就更可能取较小的d

(26)计算局部离群因子:按下式计算点P的第k邻域N

表示点P的第k邻域N

(27)数据划分:对于输入的每个点计算其局部异常因子值LOF

(30)异常数据细粒度划分:采取K-means方法,将所述异常数据进行细粒度划分,检测出异常数据及其种类。

如图4所示,所述(30)异常数据细粒度划分步骤包括:

(31)设定聚类中心:选定N个点作为初始聚类中心点;

(32)聚类分簇:把每个聚类中心划分成簇,计算每个非中心的点与各个中心的距离,将其放入与其距离最近的聚类中心所在的簇中;

(33)重新计算聚类中心:在完成一轮分簇后,计算每个簇内所有点的坐标平均值,这个平均值所在的坐标值即为新的聚类中心;

(34)算法收敛:重复步骤(32)和(33),如果所有簇的聚类中心计算结果与上一轮计算结果相同或计算结果的差值设定的阈值,就认定算法已经收敛,进入步骤(35),否则返回步骤(32);

(35)输出结果:每个簇内占主要数量的结果即为该簇的认定结果,认为此簇内所有点属于该类型数据,输出每个簇内点的数量和该簇被认定的数据类型。

实验结果表明,采用本发明方法,可以达到99.05%的检测率和0.72%的误报率。

本发明首先对数据进行了数据筛选,进行预处理和数据降维,在提高算法效率的同时保证了主要信息的完整性;然后对数据进行了粗粒度划分,划分为正常和异常数据集,经过初步划分,把异常数据缩小范围,方便进行具体分类处理;最后对异常数据进行细粒度划分,划分出具体的异常种类,方便网络安全人员提供针对性的解决方案。比现有技术提高了异常流量检测算法的准确率,降低了误报率,并减少了系统开销。

相关技术
  • 软件定义网络异常流量检测方法
  • 一种面向软件定义网络的轻量级网络流量异常检测方法
技术分类

06120113173436