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

网络流量异常检测方法及装置、终端设备、可读存储介质

文献发布时间:2023-06-19 18:37:28


网络流量异常检测方法及装置、终端设备、可读存储介质

技术领域

本发明属于网络流量异常检测技术领域,更具体地说,是涉及一种网络流量异常检测方法及装置、终端设备、可读存储介质。

背景技术

随着网络的普及,网络安全也备受关注。一旦发生网络安全问题,轻则导致应用服务中断,用户个人信息发生泄露,重则造成严重的经济损失乃至国家安全问题的产生。随着各种网络技术的更新迭代和系统结构复杂度的增加导致对流量数据的监控也越来越困难。网络安全问题已经成为当今社会的热点议题之一。由于网络入侵行为方式的不断多样化和复杂化,基于防火墙等的静态安全防范技术已无法满足当代网络安全需求,网络流量异常检测作为主动防御网络异常行为的安全防护技术,可以识别非法入侵行为,对网络信息进行实时保护。在此基础上,各类网络流量异常检测技术应运而生。

其中,基于无监督的网络流量异常检测技术由于其实用性受到了广泛关注,但无监督的网络流量异常检测技术没有先验知识,导致网络流量异常的误检率较高。比如基于K-means的网络流量异常检测算法在凸球形结构的数据集上取得了良好的聚类效果,但其参数k需要预先指定,且严重依赖于初始聚类中心,无法找到任意形状的簇,聚类容易受到噪声或离群点的影响。基于DBSCAN算法网络流量异常检测算法对不规则类簇有很好的聚类结果,且不容易受到噪声点和离群点的影响,但处理密度差异较大的聚类和高维数据,聚类结果较差。此外,聚类结果对半径Eps和密度阈值MinPts的选择较为敏感。基于谱聚类的网络流量异常检测算法能在任意形状的样本空间上聚类且收敛于全局最优解,但其依赖于初始相似度矩阵且计算成本较高。这些无监督异常检测方法所使用的聚类算法在实时网络中不能灵活的识别聚类簇个数,并且大多数算法采用欧式距离作为数据对象之间的相似性度量,而对于高维数据,欧式距离不足以刻画数据对象之间的相似性。

因此,如何降低网络流量异常检测过程中的误检率成为本领域技术人员急需解决的问题。

发明内容

本发明的目的在于提供一种网络流量异常检测方法及装置、终端设备、可读存储介质,以解决现有技术中网络流量异常检测过程中误检率较高的问题。

本发明实施例的第一方面,提供了一种网络流量异常检测方法,包括:

获取待检测的网络流量数据集,并通过计算每两个网络流量数据之间的距离构造所述网络流量数据集对应的k近邻图;

计算每两个网络流量数据的相似度,得到所述网络流量数据集对应的初始相似度矩阵;

根据所述k近邻图以及所述初始相似度矩阵确定每个网络流量数据的局部密度,并根据每个网络流量数据的局部密度确定每个网络流量数据对应的相对距离;

基于所述初始相似度矩阵以及每个网络流量数据的局部密度确定k近邻图上每两个网络流量数据的边权重,并基于每两个网络流量数据的边权重以及马尔科夫链思想确定每个网络流量数据的全局密度;

基于每个网络流量数据的相对距离和每个网络流量数据的全局密度确定每个网络流量数据的γ值,并对每个网络流量数据的γ值进行拉伸,得到每个网络流量数据的γ变换值;

基于每个网络流量数据的γ变换值确定聚类中心点集,并根据所述聚类中心点集对各个非聚类中心点进行逐级分配,得到多个网络流量数据簇;其中,所述聚类中心点集中包含各个聚类中心点,所述聚类中心点指的是作为聚类中心的网络流量数据,所述非聚类中心点指的是未作为聚类中心的网络流量数据;

基于所述多个网络流量数据簇确定异常的网络流量数据。

在一种可能的实现方式中,所述计算每两个网络流量数据的相似度,得到所述网络流量数据集对应的初始相似度矩阵,包括:

设定相似度目标函数,其中,所述相似度目标函数为:

其中,x

对所述相似度目标函数进行优化求解后,得到所述网络流量数据集对应的初始相似度矩阵。

在一种可能的实现方式中,每个网络流量数据的局部密度的确定方法为:

其中,ρ

在一种可能的实现方式中,所述根据每个网络流量数据的局部密度确定每个网络流量数据对应的相对距离,包括:

其中,δ

在一种可能的实现方式中,所述基于所述初始相似度矩阵以及每个网络流量数据的局部密度确定k近邻图上每两个网络流量数据的边权重,包括:

其中,w

在一种可能的实现方式中,所述基于每两个网络流量数据的边权重以及马尔科夫链思想确定每个网络流量数据的全局密度,包括:

基于每两个网络流量数据的边权重以及马尔科夫链思想确定不同步数游走的转移概率矩阵;

对不同步数游走的转移概率矩阵加权处理后,得到一致性转移概率矩阵;

根据所述一致性转移概率矩阵确定每两个网络流量数据之间的全局轨迹相似度,并基于所述全局轨迹相似度确定每个网络流量数据的全局密度。

在一种可能的实现方式中,所述基于每个网络流量数据的γ变换值确定聚类中心点集,包括:

对每个网络流量数据的γ变换值进行排序,得到每个网络流量数据的排序序号;

基于每个网络流量数据的γ变换值确定用于截断的目标网络流量数据;

将排序序号在所述目标网络流量数据之前的各个网络流量数据作为聚类中心点,得到聚类中心点集centers={cc

其中,cc

所述根据所述聚类中心点集对各个非聚类中心点进行逐级分配,得到多个网络流量数据簇,包括:

第一级分配:若cc

第二级分配:将第一网络流量数据分配至其近邻点中最多点所在的网络流量数据簇中;其中,第一网络流量数据指的是进行第一级分配后,还未分配的网络流量数据;

第三级分配:将第二网络流量数据分配至其相对点所在的网络流量数据簇中;其中,第二网络流量数据指的是进行第二级分配后,还未分配的网络流量数据;第二网络流量数据的相对点指的是比其局部密度更高且距离最近的网络流量数据。

本发明实施例的第二方面,提供了一种网络流量异常检测装置,包括:

数据聚类模块,所述数据聚类模块用于执行以下步骤:

获取待检测的网络流量数据集,并通过计算每两个网络流量数据之间的距离构造所述网络流量数据集对应的k近邻图;

计算每两个网络流量数据的相似度,得到所述网络流量数据集对应的初始相似度矩阵;

根据所述k近邻图以及所述初始相似度矩阵确定每个网络流量数据的局部密度,并根据每个网络流量数据的局部密度确定每个网络流量数据对应的相对距离;

基于所述初始相似度矩阵以及每个网络流量数据的局部密度确定k近邻图上每两个网络流量数据的边权重,并基于每两个网络流量数据的边权重以及马尔科夫链思想确定每个网络流量数据的全局密度;

基于每个网络流量数据的相对距离和每个网络流量数据的全局密度确定每个网络流量数据的γ值,并对每个网络流量数据的γ值进行拉伸,得到每个网络流量数据的γ变换值;

基于每个网络流量数据的γ变换值确定聚类中心点集,并根据所述聚类中心点集对各个非聚类中心点进行逐级分配,得到多个网络流量数据簇;其中,所述聚类中心点集中包含各个聚类中心点,所述聚类中心点指的是作为聚类中心的网络流量数据,所述非聚类中心点指的是未作为聚类中心的网络流量数据;

异常检测模块,所述异常检测模块用于:

基于所述多个网络流量数据簇确定异常的网络流量数据。

本发明实施例的第三方面,提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的网络流量异常检测方法的步骤。

本发明实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的网络流量异常检测方法的步骤。

本发明提供的网络流量异常检测方法及装置、终端设备、可读存储介质的有益效果在于:

区别于现有技术,本发明将网络流量数据转换成了图数据来进行处理,通过图的连通性以及网络流量数据之间的可达性更好地考虑到了数据的全局密度。在此基础上,本发明还对各个网络流量数据的γ值进行了拉伸,从而有效增大了聚类中心和非聚类中心的区分度。因此,本发明可以对网络流量数据实现更合理地聚类,进而更加准确地筛选出异常的网络流量数据。也就是说,本发明有效降低了误检率,提高了网络流量异常检测的精度,从而解决了现有技术中的问题。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一实施例提供的网络流量异常检测方法的流程示意图;

图2为本发明另一实施例提供的网络流量异常检测方法的流程示意图;

图3为本发明一实施例提供的网络流量异常检测装置的结构框图;

图4为本发明一实施例提供的终端设备的示意框图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图通过具体实施例来进行说明。

请参考图1,图1为本发明一实施例提供的网络流量异常检测方法的流程示意图,该方法包括:

S101:获取待检测的网络流量数据集,并通过计算每两个网络流量数据之间的距离构造网络流量数据集对应的k近邻图。

在本实施例中,还可以在构造网络流量数据集的k近邻图之前,对网络流量数据集进行预处理。其中,对网络流量数据进行预处理包括:对网络流量数据集进行数据完整化、字符型数据数值化、数据标准化、数据属性降维。

在本实施例中,为充分考虑样本局部信息(其中,样本即指的是网络流量数据,样本集合即指的是网络流量数据集,后续实施例类同,不在赘述),本发明实施例可设定k的值,例如,可将k的值定为8。通过计算样本间距离,将每个样本的与之最近的8个样本构成样本近邻图,得到数据集的K近邻图,图模型表示为G=(V,E,W),V表示样本集合,即V={x

数据集中样本分布是独立的,现有算法在研究样本之间相似性时通常仅仅依靠样本间欧式距离,只关注样本局部相似性,没有考虑到样本的近邻信息以及样本之间的连通性,容易导致两个簇的边缘点之间距离较小,相似度却很大,导致最终聚类准确率降低。本发明实施例通过构造样本k近邻图,单个样本实现点间连接,将数据转化为图数据进行研究,通过样本间有边连接也可以说明两样本相似,后续设计目标函数学得全局相似性矩阵作为算法初始相似度矩阵,充分考虑了样本的全局密度,可以更合理地分簇。

S102:计算每两个网络流量数据的相似度,得到网络流量数据集对应的初始相似度矩阵。

在本实施例中一种可能的实现方式中,计算每两个网络流量数据的相似度,得到网络流量数据集对应的初始相似度矩阵,包括:

设定相似度目标函数,其中,相似度目标函数为:

其中,x

对相似度目标函数进行优化求解后,得到网络流量数据集对应的初始相似度矩阵。

本发明实施例基于流形数据集解释,如果两个数据点(也即两个网络流量数据)很接近,那么它们在图中彼此也很接近,因此初始相似度矩阵S可通过上述公式获得,其中α为超参数,此公式不单单关注两个样本间距离远近的相似性,而是考虑到每一个样本与其他所有样本之间的距离,得到初始相似度矩阵,此矩阵是对称的,即s

S103:根据k近邻图以及初始相似度矩阵确定每个网络流量数据的局部密度,并根据每个网络流量数据的局部密度确定每个网络流量数据对应的相对距离。其中,某个网络流量数据的相对距离为该网络流量数据与比其局部密度更高且距离最近的点的距离。

在本实施例中,根据样本分布密集稀疏特点,结合样本方差以及样本间相似性定义给出了一种局部密度的度量方法,也即:

其中,ρ

其中,前述距离方差越小,表明x

在本实施例一种可能的实现方式中,根据每个网络流量数据的局部密度确定每个网络流量数据对应的相对距离,包括:

其中,δ

现有算法中由于数据集分布特征不同及数据集规模不同,采用的局部密度度量方式不统一,即截断核和指数核函数两种方式来计算局部密度。计算局部密度时,截断距离作为衡量密度的一个重要参数,需要根据数据集特点进行经验设置,不同的数据集选取的值不同,这直接影响样本的局部密度,进而影响最终的聚类结果,因此在密度计算时,为避免截断距离带来的影响,实现固定参数或无参在聚类算法中尤为重要。本发明实施例根据样本间相似度信息及k近邻信息,重新定义了样本密度度量,避免了参数的影响,统一了局部密度度量,充分考虑了样本的空间分布特征。

S104:基于初始相似度矩阵以及每个网络流量数据的局部密度确定k近邻图上每两个网络流量数据的边权重,并基于每两个网络流量数据的边权重以及马尔科夫链思想确定每个网络流量数据的全局密度。

在本实施例中,基于初始相似度矩阵以及每个网络流量数据的局部密度确定k近邻图上每两个网络流量数据的边权重,包括:

其中,w

其中,上述实施例通过目标函数可以得到更加合理的对称相似度矩阵(也即初始相似度矩阵),但是为了更加契合密度峰值聚类的思想,即每个样本在分配时寻找比其密度大且距离最近的点,本发明实施例把这一思想融入样本间边权计算,使样本在近邻图上游走的时候与其密度大的样本的边权更大。这就意味着边权大的运动轨迹对于样本来说更加必不可少,表征着样本间相似度大。因此,本实施例通过上式计算样本间边权重,通过上式可以看出,给定两个样本点,比较之下,密度低样本与密度高样本之间的边权重大,而密度高样本与密度低样本之间的边权重小,说明当在近邻图上游走转移时,密度低样本更加倾向于密度高样本所在的区域,对应的马尔科夫链思想下的转移概率矩阵值就大,两个样本之间相似性较大。

在一种可能的实现方式中,基于每两个网络流量数据的边权重以及马尔科夫链思想确定每个网络流量数据的全局密度,包括:

基于每两个网络流量数据的边权重以及马尔科夫链思想确定不同步数游走的转移概率矩阵。

对不同步数游走的转移概率矩阵加权处理后,得到一致性转移概率矩阵。

根据一致性转移概率矩阵确定每两个网络流量数据之间的全局轨迹相似度,并基于全局轨迹相似度确定每个网络流量数据的全局密度。

在本实施例中,根据马尔可夫链思想,P(y

其中,

在本实施例中,可基于一致性转移概率矩阵衡量样本间全局相似度。P

其中,

在此基础上,样本点在近邻图上游走后得到统一的一致性轨迹矩阵P

在本实施例中,为考虑图的连通性及样本间的可达性,本发明采用Markov Chains思想,在图中样本间计算概率游走到下一状态,并且下一状态由当前状态决定,与其他时刻状态无关。不同步数游走得到不同转移概率矩阵,t步游走意味着从源样本到目的样本经过t步到达,即相似度通过中间样本传播到目的样本,t越大,转移概率矩阵趋于平稳。由于每个转移概率矩阵是由不同步数游走得到的,即源样本经过不同的样本、不同的运动轨迹到达目的样本,因此每个转移概率矩阵不同,这也表示样本间相似度在不同步数时也不同,不同步数的相似度矩阵对最后的聚类结果也不同,因此本发明通过设计目标函数进行不同转移概率矩阵加权融合,得到一致性相似性矩阵,使样本间相似度矩阵考虑到样本局部结构及样本间可达性,更加合理。

S105:基于每个网络流量数据的相对距离和每个网络流量数据的全局密度确定每个网络流量数据的γ值,并对每个网络流量数据的γ值进行拉伸,得到每个网络流量数据的γ变换值。

在本实施例中,相对距离δ

在本实施例中,可通过对γ值进行Sigmoid函数变换,增大聚类中心与非聚类中心的区分度。现有算法在选取聚类中心点时通常在决策图直观选取,容易导致中心点的多选以及漏选,在γ分布图上也会存在大值较大,小值较小的问题,导致选择中心点时容易漏选,因此本发明将γ值采用Sigmoid函数变换,以实现在某一位置对样本γ值进行拉伸,变换函数来源于

其中,λ目的是将γ值进行拉伸,c目的是当在x=c处时,可以将此处附近的一些样本拉伸开来,增加聚类中心与非聚类中心的区分度,本实施例经在合成数据集、UCI真实数据集以及KDD Cup99数据集分析发现,大多数样本在γ<0.2处较为密集,因此c=0.2γ时,可以将附近一些样本进行拉伸,利用决策函数可以准确确定聚类中心,算法的性能较好。因此本发明可采用以下变换函数确定γ变换值。

其中,上式中x指的是γ值,

现有算法在选取中心点时,以局部密度为横坐标,相对距离为纵坐标绘制二维决策图,将具有较高和的样本点标识为聚类中心。人为主观影响较大,且对于密度分布不均匀以及差异性很大的数据集来说,直观选择中心点较为困难。本发明实施例借助Sigmoid函数,可以将一些样本在特定值拉伸,增加聚类中心与非聚类中心的区分度,使其在决策图上可以更加明显,通过变换后的γ分布图中变化最明显的部分确定聚类中心。

S106:基于每个网络流量数据的γ变换值确定聚类中心点集,并根据聚类中心点集对各个非聚类中心点进行逐级分配,得到多个网络流量数据簇。其中,聚类中心点集中包含各个聚类中心点,聚类中心点指的是作为聚类中心的网络流量数据,非聚类中心点指的是未作为聚类中心的网络流量数据。

在本实施例中,在一种可能的实现方式中,基于每个网络流量数据的γ变换值确定聚类中心点集,包括:

对每个网络流量数据的γ变换值进行排序,得到每个网络流量数据的排序序号。

基于每个网络流量数据的γ变换值确定用于截断的目标网络流量数据。

将排序序号在目标网络流量数据之前的各个网络流量数据作为聚类中心点,得到聚类中心点集centers={cc

其中,cc

根据聚类中心点集对各个非聚类中心点进行逐级分配,得到多个网络流量数据簇,包括:

第一级分配:若cc

第二级分配:将第一网络流量数据分配至其近邻点中最多点所在的网络流量数据簇中。其中,第一网络流量数据指的是进行第一级分配后,还未分配的网络流量数据。

第三级分配:将第二网络流量数据分配至其相对点所在的网络流量数据簇中。其中,第二网络流量数据指的是进行第二级分配后,还未分配的网络流量数据。第二网络流量数据的相对点指的是比其局部密度更高且距离最近的网络流量数据。

在本实施例中,可将

在本实施例中,确定聚类中心集后,可首先给聚类中心分配簇标记,然后分配聚类中心的k个近邻点,若cc

现有算法分配非聚类中心点时采用一步分配,即直接将非聚类中心点分配到比其密度更大且距离更近的点所在的簇中,易产生连带错误,降低聚类准确率。本发明实施例考虑样本k近邻局部信息逐级分配,避免了连带错误的产生。

S107:基于多个网络流量数据簇确定异常的网络流量数据。

在本实施例中,在网络流量异常检测系统中,网络数据集中异常流量要远远小于正常流量,因此可将较小簇定义为异常流量簇。异常流量簇中包含的均为异常流量。将较大流量簇定义为正常簇,正常簇中包含的均为正常流量。

具体的,可根据各个网络流量数据簇中网络流量数据的数量设定数量阈值,若某个网络流量数据簇中的网络流量数据的数量小于前述数量阈值,则将该网络流量数据簇中的各个网络流量数据作为异常的网络流量数据。或者,根据各个网络流量数据簇中网络流量数据的数量对各个网络流量数据簇进行升序排序,将排在前q个的网络流量数据簇中的网络流量数据作为异常的网络流量数据。其中,q为预设值。

本发明实施例在UCI、人工数据集以及CICIDS2017数据集上进行实验,人工数据集以及UCI数据集上的实验结果表明该算法都可以自适应准确选定聚类中心,且在一定程度上提高了聚类性能,在CICIDS2017数据集上的实验结果表明本发明在保证无监督网络流量异常检测系统实用性的同时,提高了异常网络流量检测精度、降低了误检率。

由上可以得出,本发明采用样本局部密度大于围绕它的邻居样本的局部密度,且不同类簇的聚类中心之间的距离相对较远的思想。对现有的局部密度度量方式、聚类中心的选取以及非聚类中心点分配加以改进,提出了一种适用于网络流量异常检测的转移概率矩阵融合的密度峰值聚类方法,提高了异常网络流量的检测率。本实施例将样本数据转换成图数据进行研究,构造样本的k近邻图,每个样本为图节点,节点间连接为两节点权重,边权重根据样本点趋密性思想定义,可以表示为两个样本之间的初始相似性,低密度节点与高密度节点之间的相似性大。在图上任一样本开始随机游走,每走一步就会得到样本之间的多阶结构。由于样本在图上采用不同步数随机游走所获得的转移概率矩阵不同,不同步数的转移概率矩阵影响样本相似度,也会对最终聚类结果产生影响,本发明对不同步数的转移概率矩阵进行自动加权,同时融合多步转移概率矩阵得到一致性转移概率矩阵,计算每个节点游走轨迹相似度,更加全面度量样本之间的相似性,考虑了图的连通性以及样本之间的连接关系。并且,本发明还重新定义了样本密度度量,使密度更加反映样本空间分布特征。采用Sigmoid函数变换对归一化的γ进行变换,以增大聚类中心与非聚类中心的区分度。同时优化了非样本点分配策略。通过在UCI以及人工数据集上进行实验,该算法都可以自适应准确选定聚类中心,且在一定程度上提高了聚类性能,提高了异常网络流量的检测率,降低了误检率。与现有基于有监督的异常检测技术相比,该算法不需要先验知识,例如样本标签约束、成对相似性约束等,减少了人工标记的时间成本。与现有基于无监督的网络流量异常检测技术相比,该算法在保留了网络流量异常检测系统的实用性的同时,提高了异常网络流量的检测率,降低了误检率。

请参考图2,本发明还基于UCI数据集以及人工数据集、CICIDS2017数据集给出了一种具体的实施示例,其中具体步骤如下:

步骤一:读入数据。

(1)对UCI数据集以及人工数据集直接读入。

(2)读入CICIDS数据集时:

数据抽样:CICIDS2017数据集数据捕获经历了5天(2017年7月3日-7日,周一至周五),且周一只捕获了正常网络流量数据集,周二至周五捕获正常和异常网络流量数据集,其中包含15个样本标签,其中异常类14个,该数据集共有2830743条数据,由于数据量庞大,本发明采用抽样策略,分为5个数据集,正常流量远多于异常流量,D

(3)数据预处理。本发明所用到的UCI数据集和合成数据集均是标准聚类数据集,无需数据预处理。网络流量数据集CICIDS2017一条normal流量行为举例如下:

(53,199,2,2,88,188,44,44,44,0,94,94,94,0,1386934.673,20100.50251,66.33333333,30.89228598,102,48,49,49,0,49,49,48,48,0,48,48,0,0,0,0,64,64,10050.25126,10050.25126,44,94,64,27.38612788,750,0,0,0,0,0,0,0,0,1,80,44,94,64,0,0,0,0,0,0,2,88,2,188,-1,-1,1,32,0,0,0,0,0,0,0,0)

(a)数据完整化。网络流量数据集CICIDS2017中,Flow Bytes/s与Flow Packets/s两个特征存在空值,采用本特征最大值进行填充。

(b)字符型数据数值化。CICIDS2017数据集每条网络流量特征为时间戳、源端口号、目的端口号以及发送和接收包的大小,没有字符型数据,不需要字符数据数值化。

(c)数据标准化。为了消除不同特征之间受不同量纲的影响,对CICIDS2017数据集进行了Max-Min归一化处理,如下式所示,从而让数据之间具有可比性。

(d)数据属性降维。CICIDS2017数据集共有78维特征,首先删除重复特征FwdHeaderLength。然后采用互信息作为特征选择方法,度量特征与类别之间的关系,通过互信息的大小排序,来确定特征的顺序,以此进行特征选择。本发明计算特征的互信息公式如下式,其中数据集特征集合为F={d

步骤二:计算样本间欧式距离

步骤三:构造样本K近邻图,本发明将k的值定为8。通过样本间欧式距离,将每个样本的与之最近的8个样本构成样本近邻图,得到数据集的K近邻图,图模型表示为G=(V,E,W),V表示样本集合,即V={x

步骤四:计算样本相对距离。

步骤五:计算样本相似度。α为正则项参数。

步骤六:计算样本局部密度。

步骤八:计算样本节点边权重。

步骤九:加权融合转移概率矩阵,交替寻优至目标函数收敛。β为正则项参数。

步骤十:根据稳定性转移概率矩阵,计算样本全局轨迹相似度,衡量样本间全局相似度。

步骤十一:计算样本全局密度ρ

步骤十二:计算样本相对距离δ

步骤十三:对γ进行Sigmoid函数变换。将样本γ升序排列,以实现在某一位置对样本γ值进行拉伸,变换函数来源于

步骤十四:确定聚类中心点。将

步骤十五:优化非聚类中心点的分配。首先给聚类中心分配簇标记,然后分配聚类中心的k个近邻点,若cc

步骤十三:输出最终聚类结果。根据本发明采用的评价指标为:计算准确率(ACC)、误检率(FAR)、调整互信息(AMI)、调整兰德指数(ARI)以及FM指数(FMI)。经过指标评价,本发明实施例可获得良好的聚类效果以及异常流量检测效果。

对应于上文实施例的网络流量异常检测方法,图3为本发明一实施例提供的网络流量异常检测装置的结构框图。为了便于说明,仅示出了与本发明实施例相关的部分。参考图3,该网络流量异常检测装置20包括:数据聚类模块21、异常检测模块22。

其中,数据聚类模块21,数据聚类模块用于执行以下步骤:

获取待检测的网络流量数据集,并通过计算每两个网络流量数据之间的距离构造网络流量数据集对应的k近邻图。

计算每两个网络流量数据的相似度,得到网络流量数据集对应的初始相似度矩阵。

根据所述k近邻图以及初始相似度矩阵确定每个网络流量数据的局部密度,并根据每个网络流量数据的局部密度确定每个网络流量数据对应的相对距离。其中,某个网络流量数据的相对距离为该网络流量数据与比其局部密度更高且距离最近的点的距离。

基于初始相似度矩阵以及每个网络流量数据的局部密度确定k近邻图上每两个网络流量数据的边权重,并基于每两个网络流量数据的边权重以及马尔科夫链思想确定每个网络流量数据的全局密度。

基于每个网络流量数据的相对距离和每个网络流量数据的全局密度确定每个网络流量数据的γ值,并对每个网络流量数据的γ值进行拉伸,得到每个网络流量数据的γ变换值。

基于每个网络流量数据的γ变换值确定聚类中心点集,并根据聚类中心点集对各个非聚类中心点进行逐级分配,得到多个网络流量数据簇。其中,聚类中心点集中包含各个聚类中心点,聚类中心点指的是作为聚类中心的网络流量数据,非聚类中心点指的是未作为聚类中心的网络流量数据。

异常检测模块22,异常检测模块用于:

基于多个网络流量数据簇确定异常的网络流量数据。

在一种可能的实现方式中,数据聚类模块21具体用于:

设定相似度目标函数,其中,相似度目标函数为:

其中,x

对相似度目标函数进行优化求解后,得到网络流量数据集对应的初始相似度矩阵。

在一种可能的实现方式中,数据聚类模块21具体用于通过下式计算每个网络流量数据的局部密度:

其中,ρ

在一种可能的实现方式中,数据聚类模块21具体用于通过下式确定每个网络流量数据对应的相对距离:

其中,δ

在一种可能的实现方式中,数据聚类模块21具体用于通过下式确定k近邻图上每两个网络流量数据的边权重,包括:

其中,w

在一种可能的实现方式中,数据聚类模块21具体用于:

基于每两个网络流量数据的边权重以及马尔科夫链思想确定不同步数游走的转移概率矩阵。

对不同步数游走的转移概率矩阵加权处理后,得到一致性转移概率矩阵。

根据一致性转移概率矩阵确定每两个网络流量数据之间的全局轨迹相似度,并基于全局轨迹相似度确定每个网络流量数据的全局密度。

在一种可能的实现方式中,数据聚类模块21具体用于:

对每个网络流量数据的γ变换值进行排序,得到每个网络流量数据的排序序号。

基于每个网络流量数据的γ变换值确定用于截断的目标网络流量数据。

将排序序号在目标网络流量数据之前的各个网络流量数据作为聚类中心点,得到聚类中心点集centers={cc

其中,cc

数据聚类模块21具体用于执行以下步骤:

第一级分配:若cc

第二级分配:将第一网络流量数据分配至其近邻点中最多点所在的网络流量数据簇中。其中,第一网络流量数据指的是进行第一级分配后,还未分配的网络流量数据。

第三级分配:将第二网络流量数据分配至其相对点所在的网络流量数据簇中。其中,第二网络流量数据指的是进行第二级分配后,还未分配的网络流量数据。第二网络流量数据的相对点指的是比其局部密度更高且距离最近的网络流量数据。

参见图4,图4为本发明一实施例提供的终端设备的示意框图。如图4所示的本实施例中的终端300可以包括:一个或多个处理器301、一个或多个输入设备302、一个或多个输出设备303及一个或多个存储器304。上述处理器301、输入设备302、输出设备303及存储器304通过通信总线305完成相互间的通信。存储器304用于存储计算机程序,计算机程序包括程序指令。处理器301用于执行存储器304存储的程序指令。其中,处理器301被配置用于调用程序指令执行以下操作上述各装置实施例中各模块/单元的功能,例如图3所示模块21至22的功能。

应当理解,在本发明实施例中,所称处理器301可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

输入设备302可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备303可以包括显示器(LCD等)、扬声器等。

该存储器304可以包括只读存储器和随机存取存储器,并向处理器301提供指令和数据。存储器304的一部分还可以包括非易失性随机存取存储器。例如,存储器304还可以存储设备类型的信息。

具体实现中,本发明实施例中所描述的处理器301、输入设备302、输出设备303可执行本发明实施例提供的网络流量异常检测方法的第一实施例和第二实施例中所描述的实现方式,也可执行本发明实施例所描述的终端的实现方式,在此不再赘述。

在本发明的另一实施例中提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令被处理器执行时实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。

计算机可读存储介质可以是前述任一实施例的终端的内部存储单元,例如终端的硬盘或内存。计算机可读存储介质也可以是终端的外部存储设备,例如终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,计算机可读存储介质还可以既包括终端的内部存储单元也包括外部存储设备。计算机可读存储介质用于存储计算机程序及终端所需的其他程序和数据。计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

技术分类

06120115629643