一种基于高阶关联挖掘的网络数据异常检测方法与系统转让专利

申请号 : CN201910183446.5

文献号 : CN109818971B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 高跃王楠赵曦滨万海

申请人 : 清华大学

摘要 :

本申请公开了一种基于高阶关联挖掘的网络数据异常检测方法与系统,其中,该方法包括:步骤1,根据获取到的网络数据集合,生成离散森林,并计算网络数据集合中网络数据的离散值;步骤2,根据聚类算法和异常网络数据,生成聚类中心点,并计算网络数据与聚类中心点的相似值;步骤3,根据离散值和相似值,计算网络数据集合中网络数据的权值;步骤4,根据网络数据的权值和超图模型,计算网络数据集合中未标记网络数据的标签矩阵;步骤5,根据标签矩阵,确定未标记网络数据的安全类型。通过本申请中的技术方案,实现了对工业网络环境中大量未标记网络数据的有效识别,提高了未标记网络数据识别的准确性以及已标记网络数据的利用率。

权利要求 :

1.一种基于高阶关联挖掘的网络数据异常检测方法,其特征在于,该方法包括:步骤1,根据获取到的网络数据集合,生成离散森林,并计算所述网络数据集合中网络数据的离散值,其中,所述网络数据包括正常网络数据、异常网络数据和未标记网络数据,离散森林包括多棵离散树,离散树的构建方法包括:将网络数据用属性集进行表示,

随机选择上一层分节点中所包含的属性集中的任一个属性作为划分准则,并从选择的所述属性的取值范围内选取一个数值作为划分点,根据所述划分点和所述分节点中属性的取值,将本层分节点划分为左子树和右子树,当判定所述左子树和所述右子树中的一个子树只包括一个分节点时,将该子树记作叶子节点,并在另一子树中重新随机选择划分点,进行分节点划分,直至所有分节点均被标记为叶子节点;

步骤2,根据聚类算法对所述异常网络数据进行聚类操作,生成聚类中心点,针对所述网络数据集合O,计算任一个网络数据Oi与所述聚类中心点θk的欧式距离来,计算其对应的相似值SS(Oi),对应的计算公式为:式中,k=1,2,…,γ,γ为聚类中心点的个数;

步骤3,根据所述离散值和所述相似值,计算所述网络数据集合中所述网络数据的权值,具体包括:步骤31,根据所述离散值和所述相似值,计算所述网络数据的得分;

步骤32,根据所述得分和得分阈值,计算所述网络数据的所述权值,所述权值的计算公式为:式中,U(Oi)为所述网络数据Oi对应的所述权值,TS(Oi)为所述得分,β为所述得分阈值;

步骤4,根据所述网络数据的所述权值和超图模型,计算所述网络数据集合中所述未标记网络数据的标签矩阵,具体包括:步骤41,根据所述网络数据的所述权值和所述超图模型,构建所述网络数据集合对应的第一检测模型;

步骤42,根据拉普拉斯正则化函数和代价敏感的经验损失函数,修正所述第一检测模型,生成第二检测模型;

步骤43,采用迭代算法,计算所述第二检测模型的类型矩阵,当判定所述第二检测模型收敛时,将所述类型矩阵记作所述标签矩阵;

步骤5,根据所述标签矩阵,确定所述未标记网络数据的安全类型,其中,所述安全类型包括正常型数据和异常型数据。

2.一种基于高阶关联挖掘的网络数据异常检测系统,其特征在于,该系统包括:离散值计算单元,相似值计算单元,权值计算单元,标签矩阵计算单元以及类型确定单元;

所述离散值计算单元用于根据获取到的网络数据集合,生成离散森林,并计算所述网络数据集合中网络数据的离散值,其中,所述网络数据包括正常网络数据、异常网络数据和未标记网络数据,离散森林包括多棵离散树,离散树的构建方法包括:将网络数据用属性集进行表示,

随机选择上一层分节点中所包含的属性集中的任一个属性作为划分准则,并从选择的所述属性的取值范围内选取一个数值作为划分点,根据所述划分点和所述分节点中属性的取值,将本层分节点划分为左子树和右子树,当判定所述左子树和所述右子树中的一个子树只包括一个分节点时,将该子树记作叶子节点,并在另一子树中重新随机选择划分点,进行分节点划分,直至所有分节点均被标记为叶子节点;

所述相似值计算单元用于根据聚类算法对所述异常网络数据进行聚类操作,生成聚类中心点,针对所述网络数据集合O,计算任一个网络数据Oi与所述聚类中心点θk的欧式距离来,计算其对应的相似值SS(Oi),对应的计算公式为:式中,k=1,2,…,γ,γ为聚类中心点的个数;

所述权值计算单元用于根据所述离散值和所述相似值,计算所述网络数据集合中所述网络数据的权值,具体包括:得分计算模块和权值计算模块;

所述得分计算模块用于根据所述离散值和所述相似值,计算所述网络数据的得分;

所述权值计算模块用于根据所述得分和得分阈值,计算所述网络数据的所述权值,其中,所述权值的计算公式为:式中,U(Oi)为所述网络数据Oi对应的所述权值,TS(Oi)为所述得分,β为所述得分阈值;

所述标签矩阵计算单元用于根据所述网络数据的所述权值和超图模型,计算所述网络数据集合中所述未标记网络数据的标签矩阵,具体包括:第一模型构建单元,第二模型构建单元以及判定单元;

所述第一模型构建单元用于根据所述网络数据的所述权值和所述超图模型,构建所述网络数据集合对应的第一检测模型;

所述第二模型构建单元用于根据拉普拉斯正则化函数和代价敏感的经验损失函数,修正所述第一检测模型,生成第二检测模型;

所述判定单元用于采用迭代算法,计算所述第二检测模型的类型矩阵,当判定所述第二检测模型收敛时,将所述类型矩阵记作所述标签矩阵;

所述类型确定单元用于根据所述标签矩阵,确定所述未标记网络数据的安全类型,其中,所述安全类型包括正常型数据和异常型数据。

说明书 :

一种基于高阶关联挖掘的网络数据异常检测方法与系统

技术领域

[0001] 本申请涉及工业网络数据检测的技术领域,具体而言,涉及一种基于高阶关联挖掘的网络数据异常检测方法以及一种基于高阶关联挖掘的网络数据异常检测系统。

背景技术

[0002] 随着网络技术的快速发展,网络攻击事件也频频发生,面对日益增大的网络数据,如何高效快速的检测出网络数据中的异常数据、并将正常数据和异常数据进行标记,变得越发重要。由于工业网络的特性,导致工业网络中存在大量的未标记网络数据,不利于工业网络的安全运行。由于工业网络中的网络数据遵循的协议类型众多,为了能够高效检测网络数据存在的潜在威胁,并权衡检测质量与检测效率之间的关系,控制异常网络数据对于工业网络的影响,及时、准确的对网络数据的检测十分重要。
[0003] 而现有技术中,针对异常网络数据的检测方式主要分为三种:监督学习检测、半监督学习检测以及无监督学习检测,首先,由于监督学习检测需要充足的已标记网络数据进行训练,而工业环境中存在标签的已标记网络数据较少,导致监督学习检测的准确性较低;其次,虽然无监督学习方式不需要标记数据,但是其不能充分利用已标记网络数据,不仅数据计算量较大、导致系统硬件性能要求较高,而且还造成了已标记网络数据的浪费;最后,半监督学习方式虽然可以同时利用已标记网络数据以及未标记网络数据,但是其必须具有所有类别异常网络数据的标记,对于未标记类别的异常网络数据无法检测,导致异常网络数据检测的全面识别性能较差。

发明内容

[0004] 本申请的目的在于:实现对工业网络环境中大量未标记网络数据的有效识别,提高了未标记网络数据识别的准确性以及已标记网络数据的利用率。
[0005] 本申请第一方面的技术方案是:提供了一种基于高阶关联挖掘的网络数据异常检测方法,该方法包括:步骤1,根据获取到的网络数据集合,生成离散森林,并计算网络数据集合中网络数据的离散值,其中,网络数据可以为正常网络数据、异常网络数据和未标记网络数据中的一种;步骤2,根据聚类算法和异常网络数据,生成聚类中心点,并计算网络数据与聚类中心点的相似值;步骤3,根据离散值和相似值,计算网络数据集合中网络数据的权值;步骤4,根据网络数据的权值和超图模型,计算网络数据集合中未标记网络数据的标签矩阵;步骤5,根据标签矩阵,确定未标记网络数据的安全类型,其中,安全类型包括正常型数据和异常型数据。
[0006] 上述任一项技术方案中,进一步地,步骤4,具体包括:步骤41,根据网络数据的权值和超图模型,构建网络数据集合对应的第一检测模型;步骤42,根据拉普拉斯正则化函数和代价敏感的经验损失函数,修正第一检测模型,生成第二检测模型;步骤43,采用迭代算法,计算第二检测模型的类型矩阵,当判定第二检测模型收敛时,将类型矩阵记作标签矩阵。
[0007] 上述任一项技术方案中,进一步地,步骤3,具体包括:步骤31,根据离散值和相似值,计算网络数据的得分;步骤32,根据得分和得分阈值,计算网络数据的权值,权值的计算公式为:
[0008]
[0009] 式中,U(Oi)为网络数据Oi对应的权值,TS(Oi)为得分,β为得分阈值。
[0010] 本申请第二方面的技术方案是:提供了一种基于高阶关联挖掘的网络数据异常检测系统,该系统包括:离散值计算单元,相似值计算单元,权值计算单元,标签矩阵计算单元以及类型确定单元;离散值计算单元用于根据获取到的网络数据集合,生成离散森林,并计算网络数据集合中网络数据的离散值,其中,网络数据可以为正常网络数据、异常网络数据和未标记网络数据中的一种;相似值计算单元用于根据聚类算法和异常网络数据,生成聚类中心点,并计算网络数据与聚类中心点的相似值;权值计算单元用于根据离散值和相似值,计算网络数据集合中网络数据的权值;标签矩阵计算单元用于根据网络数据的权值和超图模型,计算网络数据集合中未标记网络数据的标签矩阵;类型确定单元用于根据标签矩阵,确定未标记网络数据的安全类型,其中,安全类型包括正常型数据和异常型数据。
[0011] 上述任一项技术方案中,进一步地,标签矩阵计算单元,具体包括:第一模型构建单元,第二模型构建单元以及判定单元;第一模型构建单元用于根据网络数据的权值和超图模型,构建网络数据集合对应的第一检测模型;第二模型构建单元用于根据拉普拉斯正则化函数和代价敏感的经验损失函数,修正第一检测模型,生成第二检测模型;判定单元用于采用迭代算法,计算第二检测模型的类型矩阵,当判定第二检测模型收敛时,将类型矩阵记作标签矩阵。
[0012] 上述任一项技术方案中,进一步地,权值计算单元,具体包括:得分计算模块和权值计算模块;得分计算模块用于根据离散值和相似值,计算网络数据的得分;权值计算模块用于根据得分和得分阈值,计算网络数据的权值,权值的计算公式为:
[0013]
[0014] 式中,U(Oi)为网络数据Oi对应的权值,TS(Oi)为得分,β为得分阈值。
[0015] 本申请的有益效果是:通过计算网络数据的离散值和网络数据与异常网络数据的聚类中心点的相似值,得到网络数据的权值,并将权值引入由网络数据构建的超图模型中,得到未标记网络数据的标签矩阵,进而得到未标记网络数据的安全类型,实现了对工业网络环境中大量未标记网络数据的有效识别,提高了未标记网络数据识别的准确性以及已标记网络数据的利用率。通过将网络数据的权值引入超图模型,优化了网络数据之间的关联性,提高了超图模型中标签传递的准确性,进而提高了未标记网络数据识别的准确性,有利于工业网络的安全运行。
[0016] 本申请通过离散值和相似值,计算网络数据对应的得分,再根据得分的大小,采用不同的计算公式计算对应的权值,提高了计算网络数据权值的准确性,通过在超图模型中依次引入权值、拉普拉斯正则化函数和代价敏感的经验损失函数,采用迭代算法,计算标签矩阵,实现了超图模型根据已标记网络数据,对未标记网络数据的识别,有利于提高标签矩阵的可靠性。

附图说明

[0017] 本申请的上述和/或附加方面的优点在结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0018] 图1是根据本申请的一个实施例的基于高阶关联挖掘的网络数据异常检测方法的流程图;
[0019] 图2是根据本申请一个实施例的离散树的示意图;
[0020] 图3是根据本申请一个实施例的超图结构示意图;
[0021] 图4是根据本申请的一个实施例的基于高阶关联挖掘的网络数据异常检测系统的示意框图。

具体实施方式

[0022] 为了能够更清楚地理解本申请的上述目的、特征和优点,下面结合附图和具体实施方式对本申请进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互结合。
[0023] 在下面的描述中,阐述了很多具体细节以便于充分理解本申请,但是,本申请还可以采用其他不同于在此描述的其他方式来实施,因此,本申请的保护范围并不受下面公开的具体实施例的限制。
[0024] 实施例一:
[0025] 结合图1至图3对本申请的实施例一进行说明。
[0026] 如图1所示,本实施例提供了一种基于高阶关联挖掘的网络数据异常检测方法,该方法包括:
[0027] 步骤1,根据获取到的网络数据集合,生成离散森林,并计算网络数据集合中网络数据的离散值,其中,网络数据可以为正常网络数据、异常网络数据和未标记网络数据中的一种;
[0028] 具体地,在工业网络中,获取到的网络数据集合O={O1,…,On1,…,On2,…,On}中,其中,包括正常网络数据{O1,O2,…,On1}、异常网络数据{On1+1,On1+2,…,On2}和未标记网络数据{On2+1,On2+2,…,On},式中,n1、n2和n为大于或等于1的整数。根据网络数据的离散性,引入离散森林模型,计算任一个网络数据对应的离散值,其中,离散森林模型包括多棵离散树。
[0029] 更具体的,在网络数据集合O中每次随机选取s个,共随机选取L份,共构建Q1……QL个子集合,针对每一份选取的网络数据构建出一棵离散树。以一棵离散树的构建过程为例,对于任一网络数据Oi,式中,1≤i≤n,可以用属性集{A1,…,Aj,…,Ad}表示,式中,d≥j≥1。构建任一棵离散树的任一层分节点时,随机选择上一层分节点(或根节点)中所包含的网络数据的属性集中的任一个属性Aj作为划分准则,并从这个属性Aj的取值范围内选取一个数值作为划分点S,根据划分点和各个网络数据中属性Aj的取值,构建该层分节点。当所有的网络数据均被标记为叶子节点时,表明该棵离散树构建完成。当所有选取的L份网络数据均构建成离散树之后,则表明离散森林构建完成。
[0030] 图2为网络数据的一棵离散树的示意图,选定的网络数据为{O1,O2,O3,O4},每个网络数据均包括2个属性{A1,A2},每个属性的取值范围为[0,1],在构建离散树时,网络数据{O1,O2,O3,O4}作为根节点,逐层对网络数据进行划分,如划分第一层时,选定属性A1为划分准则、对应的划分点S1=0.5,依次比较网络数据{O1,O2,O3,O4}中属性A1的取值与划分点S1之间的大小关系,当网络数据的属性A1的取值大于或等于划分点S1的取值时,将对应的网络数据置于右子树,否则将对应的网络数据置于左子树,通过比较,将O1,O2,O3置于左子树、O4置于右子树,此时,将O1,O2,O3作为下一层离散树的分节点,O4则被标记为一个叶子节点,在进一步分离O1,O2,O3时,选取A2属性,利用同样的方式进行划分,选取划分点S2,当网络数据的属性A2大于或等于划分点S2,放在右子树,小于划分点S2时放在左子树。当O1,O2,O3,O4均被标记为叶子节点时,表明属性Q1对应的离散树构建完成,再采用相同的方法,构建属性Q2…QL对应的离散树,形成对应的离散森林。
[0031] 当离散森林构建完成时,计算任一个网络数据Oi在离散森林中的第一平均长度E(h(Oi)ρ),式中,ρ为离散森林中离散树的棵数,h(Oi)为该网络数据Oi在当前离散树中对应的叶子节点到根节点的距离。如图2所示,网络数据O1对应的距离h(O1)为3,网络数据O2对应的距离h(O2)为2。进而根据第一平均长度E(h(Oi)ρ)和离散森林不可搜索的第二平均长度c(n),计算该网络数据Oi对应的离散值IS(Oi),对应的计算公式为:
[0032]
[0033] c(n)=2H(n)-(2(n-1)/n),
[0034] H(n)=ln(n)+0.5772156649,
[0035] 式中,n为网络数据的个数。
[0036] 步骤2,根据聚类算法和异常网络数据,生成聚类中心点,并计算网络数据与聚类中心点的相似值;
[0037] 具体地,考虑到网络数据中的异常网络数据数量较少、分布较为分散,而正常数据数量较多、分布较为集中,而对于未标记网络数据,如果其与异常数据越接近,则表明其为异常数据的可能性越大。因此,采用聚类算法将异常网络数据进行聚类操作,并生成聚类中心点θk,针对网络数据集合O,计算任一个网络数据Oi与聚类中心点θk的欧式距离来计算其对应的相似值SS(Oi),对应的计算公式为:
[0038]
[0039] 式中,k=1,2,…,γ,γ为聚类中心点的个数。
[0040] 步骤3,根据离散值和相似值,计算网络数据集合中网络数据的权值;
[0041] 在该步骤3中,具体包括:
[0042] 步骤31,根据离散值和相似值,计算网络数据的得分;
[0043] 具体地,设定权重比例系数α,以表示离散值IS(Oi)和相似值SS(Oi)的重要程度,权重比例系数α的取值为(0,1),在本实施例中,可以设定权重比例系数α=0.5,表明离散值IS(Oi)和相似值SS(Oi)同样重要。进而计算网络数据Oi的得分TS(Oi),对应的计算公式为:
[0044] TS(Oi)=αIS(Oi)+(1-α)SS(Oi)。
[0045] 步骤32,根据得分和得分阈值,计算网络数据的权值,权值的计算公式为:
[0046]
[0047] 式中,U(Oi)为网络数据Oi对应的权值,TS(Oi)为得分,β为得分阈值。
[0048] 具体地,根据设定的得分阈值β和得分TS(Oi),计算该网络数据Oi对应的权值U(Oi),权值U(Oi)的计算公式为:
[0049]
[0050] 式中,得分阈值 为网络数据得分的平均值。
[0051] 步骤4,根据网络数据的权值和超图模型,计算网络数据集合中未标记网络数据的标签矩阵;
[0052] 在该步骤4中,具体包括:
[0053] 步骤41,根据网络数据的权值和超图模型,构建网络数据集合对应的第一检测模型;
[0054] 具体地,现有的超图构建方法通常是利用星拓展方法,由于网络数据集合O中的正常网络数据的数量远大于异常网络数据的数量,导致现有的超图模型更加偏向于对正常网络数据的信息获取,而忽略异常网络数据,在本申请的实施例中将网络数据集合O对应的每个权值U(Oi)引入超图模型,以增强超图模型对异常网络数据的重视程度。
[0055] 如图3所示,将任一个网络数据Oi作为超点,生成对应的一个超边,当网络数据集合O中的所有的网络数据均生成对应的超边后,就构成了一个含有n条超边的超图,将超图模型用矩阵的方式进行表示,可以表示为如下的矩阵H:
[0056]
[0057] 式中,Ocentral为在网络数据集合O中选取的中心点,L(Oi,Ocentral)为任一网络数据Oi与中心点Ocentral之间的欧式距离,为两个超点之间距离的平均值,ep为超边集合E中第p个超边,a为调节系数。
[0058] 步骤42,根据拉普拉斯正则化函数和代价敏感的经验损失函数,修正第一检测模型,生成第二检测模型;
[0059] 具体地,在将数据权重融入到超图结构中之后,超图的正则化函数和代价函数都进行了调整,从而生成新的目标函数。基于超图模型中标签传递的运算算法修正拉普拉斯正则化函数Ω(F,O,U,E,W)和代价敏感的经验损失函数 其中,拉普拉斯正则化函数Ω(F,O,U,E,W)对应的计算公式为:
[0060]
[0061]
[0062] 式中,类型矩阵F(O,m)是一个n*M维的矩阵,n为网络数据的个数,M为网络数据的标签类别数,任一行F(Oi,m)是一个1×M的向量,F(Oi,m)=1表明网络数据Oi的标签为第m个类别,而F(Oi,m)=0则表明网络数据Oi的标签不是第m个类别。因此,对于正常网络数据和异常网络数据对应的F(Oi,m)=1,未标记网络数据对应的F(Oi,m)=1/2,也就是说,类型矩阵F(Oi,m)对应的类别值的大小,可以作为判定任一网络数据Oi数据类别(正常型数据和异常型数据)的依据,Do是以d(Oi)为对角线值的对角矩阵,d(Oi)表示超点的度,其计算公式如下:
[0063]
[0064] De是以δ(ep)为对角线值的对角矩阵,δ(ep)表示超边的度,计算公式如下:
[0065]
[0066] 代价敏感的经验损失函数 对应的计算公式为:
[0067]
[0068] 其中,代价敏感的经验损失函数 是惩罚函数,惩罚生成的类型矩阵F中与Y矩阵中不同的部分。Y矩阵是所有网络数据的标签矩阵,根据网络数据是否有标签来设定的,是一个n*M维的矩阵,在Y矩阵中,针对每一个网络数据,如果为已标记数据,则在其对应类别位置标1,其他位置标0,如果是未标记数据则在所有位置标1/2。
[0069] 根据引入的拉普拉斯正则化函数Ω(F,O,U,E,W)和代价敏感的经验损失函数Remp(F,U),通过构建的第一检测模型G′以及正则化函数和代价敏感的经验损失函数,构建第二检测模型QU(F,U),对应的计算公式为:
[0070] QU(F,U)=Ω(F,O,U,E,W)+λRemp(F,U)+μtr(U),
[0071] 式中,λ和μ为预设参数。
[0072] 步骤43,采用迭代算法,计算第二检测模型的类型矩阵,当判定第二检测模型收敛时,将类型矩阵记作标签矩阵。
[0073] 具体地,通过迭代运算,使得重新定义后的第二检测模型QU(F,U)的取值逐步减少,进而得到对应的类型矩阵F(O,m),将该类型矩阵记作标签矩阵。
[0074] 步骤5,根据标签矩阵,确定未标记网络数据的安全类型,其中,安全类型包括正常型数据和异常型数据。
[0075] 具体地,对于获取的任一未标记网络数据,通过计算标签矩阵F(O,m),能够得出在对应的1×M的矩阵中,第m个类别对应的标签矩阵的类别值,根据类别值的大小,进而判断出网络数据Oi对应的类别。
[0076] 实施例二:
[0077] 如图4所示,本实施例提供了一种基于高阶关联挖掘的网络数据异常检测系统30,该系统包括:离散值计算单元31,相似值计算单元32,权值计算单元33,标签矩阵计算单元34以及类型确定单元35;离散值计算单元31用于根据获取到的网络数据集合,生成离散森林,并计算网络数据集合中网络数据的离散值,其中,网络数据可以为正常网络数据、异常网络数据和未标记网络数据中的一种;
[0078] 具体地,在工业网络中,获取到的网络数据集合O={O1,…,On1,…,On2,…,On}中,其中,包括正常网络数据{O1,O2,…,On1}、异常网络数据{On1+1,On1+2,…,On2}和未标记网络数据{On2+1,On2+2,…,On},式中,n1、n2和n为大于或等于1的整数。根据网络数据的离散性,引入离散森林模型,计算任一个网络数据对应的离散值,其中,离散森林模型包括多棵离散树。
[0079] 更具体的,在网络数据集合O中每次随机选取s个,共随机选取L份,共随机选取L份,共构建Q1……QL个子集合,针对每一份选取的网络数据构建出一棵离散树。以一棵离散树的构建过程为例,对于任一网络数据Oi,式中,1≤i≤n,可以用属性集{A1,…,Aj,…,Ad}表示,式中,d≥j≥1。构建任一棵离散树的任一层分节点时,随机选择上一层分节点(或根节点)中所包含的网络数据的属性集中的任一个属性Aj作为划分准则,并从这个属性Aj的取值范围内选取一个数值作为划分点S,根据划分点和各个网络数据中属性Aj的取值,构建该层分节点。当所有的网络数据均被标记为叶子节点时,表明该棵离散树构建完成。当所有选取的L份网络数据均构建成离散树之后,则表明离散森林构建完成。
[0080] 选定的网络数据为{O1,O2,O3,O4},每个网络数据均包括2个属性{A1,A2},每个属性的取值范围为[0,1],在构建离散树时,网络数据{O1,O2,O3,O4}作为根节点,逐层对网络数据进行划分,如划分第一层时,选定属性A1为划分准则、对应的划分点S1=0.5,依次比较网络数据{O1,O2,O3,O4}中属性A1的取值与划分点S1之间的大小关系,当网络数据的属性A1的取值大于或等于划分点S1的取值时,将对应的网络数据置于右子树,否则将对应的网络数据置于左子树,通过比较,将O1,O2,O3置于左子树、O4置于右子树,此时,将O1,O2,O3作为下一层离散树的分节点,O4则被标记为一个叶子节点,在进一步分离O1,O2,O3时,选取A2属性,利用同样的方式进行划分,选取划分点S2,当网络数据的属性A2大于或等于划分点S2,放在右子树,小于划分点S2时放在左子树。当O1,O2,O3,O4均被标记为叶子节点时,表明属性Q1对应的离散树构建完成,再采用相同的方法,构建属性Q2…QL对应的离散树,形成对应的离散森林。
[0081] 当离散森林构建完成时,计算任一个网络数据Oi在离散森林中的第一平均长度E(h(Oi)ρ),式中,ρ为离散森林中离散树的棵数,h(Oi)为该网络数据Oi在当前离散树中对应的叶子节点到根节点的距离。如图2所示,网络数据O1对应的距离h(O1)为3,网络数据O2对应的距离h(O2)为2。进而根据第一平均长度E(h(Oi)ρ)和离散森林不可搜索的第二平均长度c(n),计算该网络数据Oi对应的离散值IS(Oi),对应的计算公式为:
[0082]
[0083] c(n)=2H(n)-(2(n-1)/n),
[0084] H(n)=ln(n)+0.5772156649,
[0085] 式中,n为网络数据的个数。
[0086] 在本实施例中,相似值计算单元32用于根据聚类算法和异常网络数据,生成聚类中心点,并计算网络数据与聚类中心点的相似值;
[0087] 具体地,考虑到网络数据中的异常网络数据数量较少、分布较为分散,而正常数据数量较多、分布较为集中,而对于未标记网络数据,如果其与异常数据越接近,则表明其为异常数据的可能性越大。因此,采用聚类算法将异常网络数据进行聚类操作,并生成聚类中心点θk,针对网络数据集合O,计算任一个网络数据Oi与聚类中心点θk的欧式距离来计算其对应的相似值SS(Oi),对应的计算公式为:
[0088]
[0089] 式中,k=1,2,…,γ,γ为聚类中心点的个数。
[0090] 在本实施例中,权值计算单元33用于根据离散值和相似值,计算网络数据集合中网络数据的权值;
[0091] 进一步地,权值计算单元33,具体包括:得分计算模块331和权值计算模块332;得分计算模块331用于根据离散值和相似值,计算网络数据的得分;
[0092] 具体地,设定权重比例系数α,以表示离散值IS(Oi)和相似值SS(Oi)的重要程度,权重比例系数α的取值为(0,1),在本实施例中,可以设定权重比例系数α=0.5,表明离散值IS(Oi)和相似值SS(Oi)同样重要。进而计算网络数据Oi的得分TS(Oi),对应的计算公式为:
[0093] TS(Oi)=αIS(Oi)+(1-α)SS(Oi)。
[0094] 权值计算模块332用于根据得分和得分阈值,计算网络数据的权值,其中,权值的计算公式为:
[0095]
[0096] 式中,U(Oi)为网络数据Oi对应的权值,TS(Oi)为得分,β为得分阈值。
[0097] 具体地,根据设定的得分阈值β和得分TS(Oi),计算该网络数据Oi对应的权值U(Oi),权值U(Oi)的计算公式为:
[0098]
[0099] 式中,得分阈值 为网络数据得分的平均值。
[0100] 在本实施例中,标签矩阵计算单元34用于根据网络数据的权值和超图模型,计算网络数据集合中未标记网络数据的标签矩阵;
[0101] 进一步地,标签矩阵计算单元34,具体包括:第一模型构建单元341,第二模型构建单元342以及判定单元343;第一模型构建单元341用于根据网络数据的权值和超图模型,构建网络数据集合对应的第一检测模型;
[0102] 具体地,现有的超图构建方法通常是利用星拓展方法,由于网络数据集合O中的正常网络数据的数量远大于异常网络数据的数量,导致现有的超图模型更加偏向于对正常网络数据的信息获取,而忽略异常网络数据,在本申请的实施例中将网络数据集合O对应的每个权值U(Oi)引入超图模型,以增强超图模型对异常网络数据的重视程度。
[0103] 将任一个网络数据Oi作为超点,生成对应的一个超边,当网络数据集合O中的所有的网络数据均生成对应的超边后,就构成了一个含有n条超边的超图,将超图模型用矩阵的方式进行表示,可以表示为如下的矩阵H:
[0104]
[0105] 式中,Ocentral为在网络数据集合O中选取的中心点,L(Oi,Ocentral)为任一网络数据Oi与中心点Ocentral之间的欧式距离,为两个超点之间距离的平均值,ep为超边集合E中第p个超边,a为调节系数。
[0106] 第二模型构建单元342用于根据拉普拉斯正则化函数和代价敏感的经验损失函数,修正第一检测模型,生成第二检测模型;
[0107] 具体地,在将数据权重融入到超图结构中之后,超图的正则化函数和代价函数都进行了调整,从而生成新的目标函数。基于超图模型中标签传递的运算算法,修正拉普拉斯正则化函数Ω(F,O,U,E,W)和代价敏感的经验损失函数 其中,拉普拉斯正则化函数Ω(F,O,U,E,W)对应的计算公式为:
[0108]
[0109]
[0110] 式中,类型矩阵F(O,m)是一个n*M维的矩阵,n为网络数据的个数,M为网络数据的标签类别数,任一行F(Oi,m)是一个1×M的向量,F(Oi,m)=1表明网络数据Oi的标签为第m个类别,而F(Oi,m)=0则表明网络数据Oi的标签不是第m个类别。因此,对于正常网络数据和异常网络数据对应的F(Oi,m)=1,未标记网络数据对应的F(Oi,m)=1/2,也就是说,类型矩阵F(Oi,m)对应的类别值的大小,可以作为判定任一网络数据Oi数据类别(正常型数据和异常型数据)的依据,DO是以d(Oi)为对角线值的对角矩阵,d(Oi)表示超点的度,其计算公式如下:
[0111]
[0112] De是以δ(ep)为对角线值的对角矩阵,δ(ep)表示超边的度,计算公式如下:
[0113]
[0114] 代价敏感的经验损失函数 对应的计算公式为:
[0115]
[0116] 其中,代价敏感的经验损失函数 是惩罚函数,惩罚生成的类型矩阵F中与Y矩阵中不同的部分。Y矩阵是所有数据的标签矩阵,根据网络数据是否有标签来设定的,是一个n*M维的矩阵,在Y矩阵中,针对每一个网络数据,如果为已标记数据,则在其对应类别位置标1,其他位置标0,如果是未标记数据则在所有位置标1/2。
[0117] 根据引入的拉普拉斯正则化函数Ω(F,O,U,E,W)和代价敏感的经验损失函数Remp(F,U),通过构建的第一检测模型G′以及正则化函数和代价敏感的经验损失函数,构建第二检测模型QU(F,U),对应的计算公式为:
[0118] QU(F,U)=Ω(F,O,U,E,W)+λRemp(F,U)+μtr(U),
[0119] 式中,λ和μ为预设参数。
[0120] 判定单元343用于采用迭代算法,计算第二检测模型的类型矩阵,当判定第二检测模型收敛时,将类型矩阵记作标签矩阵。
[0121] 具体地,通过迭代运算,使得重新定义后的第二检测模型QU(F,U)的取值逐步减少,进而得到对应的类型矩阵F(O,m),将该类型矩阵记作标签矩阵。
[0122] 在本实施例中,类型确定单元35用于根据标签矩阵,确定未标记网络数据的安全类型,其中,安全类型包括正常型数据和异常型数据。
[0123] 具体地,对于获取的任一未标记网络数据,通过计算标签矩阵F(O,m),能够得出在对应的1×M的矩阵中,第m个类别对应的标签矩阵的类别值,根据类别值的大小,进而判断出网络数据Oi对应的类别。
[0124] 以上结合附图详细说明了本申请的技术方案,本申请提出了一种基于高阶关联挖掘的网络数据异常检测方法与系统,其中,该方法包括:步骤1,根据获取到的网络数据集合,生成离散森林,并计算任一网络数据的离散值,其中,网络数据集合包括正常网络数据、异常网络数据和未标记网络数据;步骤2,根据聚类算法和异常网络数据,生成聚类中心点,并计算任一网络数据与任一聚类中心点的相似值;步骤3,根据离散值和相似值,计算网络数据集合中任一网络数据的权值;步骤4,根据任一网络数据的权值和超图模型,计算未标记网络数据的标签矩阵;步骤5,根据标签矩阵,确定未标记网络数据的安全类型,其中,安全类型包括正常型数据和异常型数据。通过本申请中的技术方案,实现了对工业网络环境中大量未标记网络数据的有效识别,提高了未标记网络数据识别的准确性以及已标记网络数据的利用率。
[0125] 本申请中的步骤可根据实际需求进行顺序调整、合并和删减。
[0126] 本申请装置中的单元可根据实际需求进行合并、划分和删减。
[0127] 尽管参考附图详地公开了本申请,但应理解的是,这些描述仅仅是示例性的,并非用来限制本申请的应用。本申请的保护范围由附加权利要求限定,并可包括在不脱离本申请保护范围和精神的情况下针对发明所作的各种变型、改型及等效方案。