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

基于加权概率融合并行贝叶斯网络的异常行为检测方法

文献发布时间:2023-06-19 13:45:04


基于加权概率融合并行贝叶斯网络的异常行为检测方法

技术领域

本发明属于数据处理技术领域,具体涉及一种基于加权概率融合并行贝叶斯网络的异常行为检测方法。

背景技术

近年来,网络安全问题深受国家和社会的关注,通过对互联网用户行为数据的分析,可以实现对用户异常行为的检测,及时发现问题,尽量避免网络攻击事件的发生。

UNSW-NB15入侵检测数据集是2015年在新南威尔士大学(UNSW)网络安全实验室的合成环境下生成,其中包含9种类型的攻击。攻击类型分别有:analysis:通过电子邮件,Web脚本等渗透Web应用程序。Backdoor:绕过身份验证和未经授权的访问。DoS:试图耗尽目标的资源。Exploit:从漏洞和错误中获益的攻击。Fuzzers:发现漏洞。Generic:使用哈希函数针对分组密码的技术。Reconnaissance:收集有关目标的信息。Shellcode:使目标易受攻击的代码段。Worm:可传播的小型恶意程序。

贝叶斯网络已经成为在不确定性条件下进行建模和推理的一种常见的工具,对数据挖掘具有很强的统计特性。但在面对上述互联网用户行为异常数据时,贝叶斯网络模型由于缺乏计算能力和内存的限制,会产生计算耗时长,结构不稳定等问题,因此从互联网用户行为数据集学习贝叶斯网络结构是一项非常昂贵的任务,并且失败率较高。其次很难确定哪种贝叶斯网络学习算法可以对互联网用户行为数据这一特定数据集表现良好的工作性能,因此需要一种方法来有效地融合分布式学习的子贝叶斯网络结构,以形成遵循大数据集生成准确而稳定的贝叶斯网络结构。最后随着新数据的加入,需要一种自适应性的调整贝叶斯网络模型的增量更新方法,以提高贝叶斯网络的性能和准确性具有重要意义。

发明内容

基于上述问题,本发明提出一种基于加权概率融合并行贝叶斯网络的异常行为检测方法,包括:

步骤1:采集包含N条记录的互联网用户行为数据集;

步骤2:构建局部子贝叶斯网络并进行加权融合得到全局贝叶斯网络,利用用户行为数据集对全局贝叶斯网络进行训练;

步骤3:利用训练后的全局贝叶斯网络对待检测数据集进行用户异常行为的检测。

所述步骤2包括:

步骤2.1:构建子贝叶斯网络并进行子贝叶斯网络结构的学习;

步骤2.2:对K个子贝叶斯网络进行加权概率融合,生成全局贝叶斯网络;

步骤2.3:判断临时父节点和临时边,并将其删除实现全局贝叶斯网络的融合;

步骤2.4:判断更新条件对生成的全局贝叶斯网络结构模型进行学习。

所述步骤2.1包括:

步骤2.1.1:构建K个局部网络学习器,将互联网用户行为数据进行全局分块,平均分为

步骤2.1.2:根据公式(1)将每个数据块分为N

式中,ALS为数据切片尺寸;

步骤2.1.3:根据划分后的数据切片对每个子贝叶斯网络进行学习。

所述步骤2.2包括:

步骤2.2.1:利用公式(2)计算给定节点X在每个子贝叶斯网络中的条件概率:

式中,P

步骤2.2.2:利用公式(3)计算一个节点中每个子贝叶斯网络的权重ω(B

式中,BIC(B

步骤2.2.3:利用公式(4)实现同一节点上子贝叶斯网络的合并:

式中,n

所述步骤2.3包括:

步骤2.3.1:计算节点X与父节点Y间的熵:

式中,P(X=x

步骤2.3.2:利用公式(7)计算出每个节点的信息增益值IG(X,Y):

IG(X,Y)=H(X)-H(X|Y) (7)

步骤2.3.3:判断信息增益值IG(X,Y)与设定阈值δ的大小,如果IG(X,Y)<δ,则说明该父结点为临时父节点,并删除该临时父节点及其对应的临时边,得到最终的全局贝叶斯网络结构模型。

所述步骤2.4包括:

步骤2.4.1:每个单位时间Δt内收集一次新的样本数据构成新的样本集D″;

步骤2.4.2:从原始样本数据集D中随机抽取一定数量的样本数据构成样本集D′;

步骤2.4.3:将D′和D″合并为新的数据集

步骤2.4.4:计算全局贝叶斯网络的增量评分值

式中,BIC(G′|D′)表示历史贝叶斯网络结构G′利用原始样本数据集D′进行学习时生成的BIC分值;

步骤2.4.5:根据增量评分值Score(D,D′|G′)更新全局贝叶斯网络模型,实现全局贝叶斯网络模型的学习过程。

所述步骤2.4.5包括:

1)当Score(D,D′|G′)≤0时,需要对全局贝叶斯网络模型的参数进行更新;

2)当Score(D,D′|G′)>0时,需要对全局贝叶斯网络模型的结构进行更新;

所述对全局贝叶斯网络模型的参数进行更新,包括:

1-1:计算用户行为证据e与行为类别L

式中,p(e,L

1-2:统计行为证据e在行为级别L

式中,e

1-3:计算贝叶斯网络节点的重要度分数S

S

1-4:计算出所有证据节点的重要度分数,并按降序对其进行排列以获取一组分数高的节点集;

1-5:计算未知节点参数

1-6:计算更新后的节点参数

式中,

1-7:计算更新后的节点参数

式中,N

1-8:将节点的概率参数更新为最准确的概率参数;

1-9:重复1-1至1-8直至贝叶斯网络模型偏离稳态,需要进行全局贝叶斯网络模型的结构进行更新;

所述对全局贝叶斯网络模型的结构进行更新,包括:

2-1:进行贝叶斯网络模型的学习,获得基于新数据集的全局贝叶斯网络模型G″;

2-2:将G″与原始贝叶斯网络模型G′进行再一次的加权概率融合,获得基于新增数据更新的贝叶斯网络结构G。

本发明的有益效果是:

本发明提出了一种基于加权概率融合并行贝叶斯网络的异常行为检测方法,首先计算适合相应字贝叶斯网络学习的数据片尺寸,达到快速进行并行贝叶斯网络模型训练的目的,在得到若干子贝叶斯网络结构的同时,通过加权概率融合方法将若干子贝叶斯网络结构合并成一个全局贝叶斯网络模型。通过一种增量评分函数,定量的表示了单位时间内网络模型与数据之间适应程度的变化情况。采用依据几个特定节点进行更新的措施,达到了新旧数据在网络模型中的平衡。本发明方法达到了面对互联网用户行为数据时,提高学习贝叶斯网络模型的效率及准确性的效果,保证随着新增数据的增加贝叶斯网络模型对数据表达的精确度及稳定性。

附图说明

图1为本发明中基于加权概率融合并行贝叶斯网络的异常行为检测方法流程图;

图2为本发明中阈值权重β与贝叶斯网络的AMBS值的关系图;

图3为本发明中阈值权重β与计算ALS的执行时间的关系图;

图4为本发明中对比不同算法对训练贝叶斯网络模型的执行时间比较图;

图5为本发明中对于Alarm数据集,四种不同算法对获得贝叶斯网络的准确性比较图;

图6为本发明中四种不同算法的F1分数的比较图;

图7为本发明中四种不同算法的BSF得分的分布情况;

图8为本发明中三种贝叶斯网络增量更新方法的概念漂移结果图;

图9为本发明中三种贝叶斯网络与数据的BIC分数的变化图;

图10为本发明中网络用户行为贝叶斯网络结构图;

图11为本发明中关于UNSW-NB15数据集的真正率(TPR)数据图;

图12为本发明中关于UNSW-NB15数据集的误报率(FAR)数据图;

图13为本发明中关于UNSW-NB15数据集的准确率数据图。

具体实施方式

下面结合附图和具体实施实例对发明做进一步说明。

如图1所示,一种基于加权概率融合并行贝叶斯网络的异常行为检测方法,包括:

步骤1:采集包含N条记录的互联网用户行为数据集;

步骤2:构建局部子贝叶斯网络并进行加权融合得到全局贝叶斯网络,利用用户行为数据集对全局贝叶斯网络进行训练;包括:

步骤2.1:构建子贝叶斯网络并进行子贝叶斯网络结构的学习;包括:

步骤2.1.1:构建K个map学习任务,这里每个map任务称为局部网络学习器,每个局部网络学习器中包含三种贝叶斯网络结构学习算法,对在设定的map学习任务中进行平均分配数据,将互联网用户行为数据进行全局分块,平均分为

步骤2.1.2:根据公式(1)将每个数据块分为N

式中,ALS为数据切片尺寸;

首先给出计算贝叶斯信息准则(Bayesian Information criterion,简称BIC)的方法,假设n为贝叶斯网络BN中变量节点的数量,即数据集中样本存在的变量个数,r

其次给出有向边分数的计算方法。假设样本数据集D中有N

给出平均马而可夫毯计算方法,假设贝叶斯网络结构BN具有P个节点,假设每个节点的马尔可夫毯大小为MBS,计算其平均马尔可夫毯大小AMBS:

最后给出ALS的计算方法:

Step1:设置两个初始数切片D

Step2:针对两个初始数切片D

Step3:分别计算BNDS1、BNDS2的有向边分数,并将其定义为Sde1和Sde2;

Step4:分别计算BNDS1、BNDS2的AMBS尺寸,并将其定义为CAMBS1和CAMBS2;

Step5:判断是否|CAMBS1-CAMBS2|<β并且|Sde1-Sde2|<ε,根据实验获得,阈值权重β取0~0.05,ε取0.5。如果是,则执行ALS=(D1+D2)/2,并输出ALS值;否则进入step6;

Step6:执行Dsliced1=Dsliced1*2;Dsliced2=Dsliced2/2;后,再进行Step1-Step5的轮询。

步骤2.1.3:利用基础的贝叶斯网络学习算法Hill Climbing(简称HC算法)、Max-Min Hill-Climbing算法(简称MMHC算法)和禁忌搜索算法(简称Tabu算法),根据划分后的数据切片对每个子贝叶斯网络进行学习;

对局部子贝叶斯网络进行加权概率融合,首先处理贝叶斯网络中节点的条件概率表。子贝叶斯网络融合条件是:节点在子贝叶斯网络的条件概率表中的父结点集的条件形式相同。当不满足融合条件时,利用参数独立性质为节点添加临时父结点,使其满足融合条件,子贝叶斯融合是指某一节点的子贝叶斯融合,计算出的条件概率是节点的条件概率。

步骤2.2:对K个子贝叶斯网络进行加权概率融合,生成全局贝叶斯网络;包括:

步骤2.2.1:利用公式(2)计算给定节点X在每个子贝叶斯网络中的条件概率:

式中,P

例如,在节点X的子贝叶斯网络BN1、BN2、BN3中,节点X的条件概率分别是P

由于每个贝叶斯网络参与条件概率融合时所做出的贡献度不同,所以需设定一个基于贝叶斯网络评分的权重,因此引入了BIC评分函数设定一个基于贝叶斯网络评分的权重。

步骤2.2.2:利用公式(3)计算一个节点中每个子贝叶斯网络的权重ω(B

式中,BIC(B

步骤2.2.3:利用公式(4)实现同一节点上子贝叶斯网络的合并:

式中,n

在进行局部贝叶斯网络融合时,为了满足融合条件,添加了临时父节点,为此需要是进行判断临时父节点和临时边,并将两者全部删除,最终得到全局贝叶斯网络结构模型。

步骤2.3:判断临时父节点和临时边,并将其删除实现全局贝叶斯网络的融合;包括:

步骤2.3.1:计算节点X与父节点Y间的熵,利用节点与父结点间的熵判断此父结点是否为临时父节点,首先需要利用公式(5)计算节点的信息熵,然后利用公式(6)计算临时父节点的条件熵;

式中,P(X=x

步骤2.3.2:利用公式(7)计算出每个节点的信息增益值IG(X,Y):

IG(X,Y)=H(X)-H(X|Y) (7)

步骤2.3.3:判断信息增益值IG(X,Y)与设定阈值δ的大小,如果IG(X,Y)<δ,则说明该父结点为临时父节点,并删除该临时父节点及其对应的临时边,得到最终的全局贝叶斯网络结构模型;

新数据连续产生,每个单位时间Δt收集一次新数据。从原始样本数据集D中随机抽取一定数量的样本数据D′,并且利用收集到的新增数据组合成一个新的混合数据块。利用这个混合数据块计算与现有贝叶斯网络结构的拟合分数,判断是否需要进行贝叶斯网络的更新。设D′,D″和D=D′∪D″表示原始样本数据集,新增样本数据集和新组成的数据集。其中样本数量为|D′|=N′,|D″|=N″,|D|=N=N″+N′。G′和G表示历史贝叶斯网络结构和更新后的新贝叶斯网络结构。

步骤2.4:判断更新条件对生成的全局贝叶斯网络结构模型进行学习;包括:

步骤2.4.1:每个单位时间Δt内收集一次新的样本数据构成新的样本集D″;

步骤2.4.2:从原始样本数据集D中随机抽取一定数量的样本数据构成样本集D′;

步骤2.4.3:将D′和D″合并为新的数据集

步骤2.4.4:计算全局贝叶斯网络的增量评分值

式中,BIC(G′|D′)表示历史贝叶斯网络结构G′利用原始样本数据集D′进行学习时生成的BIC分值;

利用公式(9)计算得μ,如果μ>0.5,证明历史贝叶斯网络结构对混合新数据集拟合度较高,则学习过程趋向于旧数据集。如果μ<0.5,则更新过程趋向于新数据集。

最终得到关于当前贝叶斯网络G′的增量评分函数公式

互信息是衡量变量之间相互依赖程度的度量,基于互信息量的证据项得分反映了证据项对用户行为安全性分析的贡献,并显示了用户行为证据的重要性。参数更新是根据行为证据节点与用户行为类别节点间的互信息量识别关键节点,然后将这些节点的概率参数更新为最准确的概率参数。

步骤2.4.5:根据增量评分值Score(D,D′|G′)更新全局贝叶斯网络模型,实现全局贝叶斯网络模型的学习过程;包括:

1)当Score(D,D′|G′)≤0时,需要对全局贝叶斯网络模型的参数进行更新;

2)当Score(D,D′|G′)>0时,需要对全局贝叶斯网络模型的结构进行更新;

所述对全局贝叶斯网络模型的参数进行更新,包括:

1-1:计算用户行为证据e与行为类别L

式中,p(e,L

1-2:统计行为证据e在行为级别L

式中,e

1-3:计算贝叶斯网络节点的重要度分数S

S

1-4:计算出所有证据节点的重要度分数,并按降序对其进行排列以获取一组分数高的节点集,这组分数高的节点集是需要进行更新的;当贝叶斯网络适应性检验未超过阈值时,保留初始贝叶斯网络结构,对这组节点进行参数更新。

1-5:求得适合于新增数据的分布概率,采用极大似然估计法(MaximumLikelihood Estimates,MEL),取似然函数;计算未知节点参数

由于求上式的最大值非常困难,故接下来将公式(13)展开成带有一阶拉格朗日余项的泰勒公式:

其中,

其中,

1-6:更新后的网络模型节点参数也需要保留历史数据中的概率分布,对于同一空间上的两个分布,KL散度又称信息熵,是两个概率分布(probability distribution)间差异的非对称性度量,KL散度是广泛使用的距离度量之一。使用两个参数在该结构上的分布距离来比较两个参数之间的距离,更新后的节点参数

式中,

1-7:计算更新后的节点参数

式中,N

为了使更新后的节点参数在新旧数据中保持平衡,令:

由贝叶斯网络结构的分解性可将

将上式代回

并对上式中的

1-8:将节点的概率参数更新为最准确的概率参数;

1-9:重复1-1至1-8直至贝叶斯网络模型偏离稳态,需要进行全局贝叶斯网络模型的结构进行更新;

所述对全局贝叶斯网络模型的结构进行更新,包括:

2-1:进行贝叶斯网络模型的学习,获得基于新数据集的全局贝叶斯网络模型G″;

2-2:将G″与原始贝叶斯网络模型G′进行再一次的加权概率融合,获得基于新增数据更新的贝叶斯网络结构G;

步骤3:利用训练后的全局贝叶斯网络对待检测数据集进行用户异常行为的检测。

为了验证本发明方法的有效性,设计对比实验进行验证。采用多组阈值对ALS计算结果的影响来对比分析,并同时结合算法根据不同阈值得到根据最终适应性数据片训练的贝叶斯网络的AMBS值和计算ALS的执行时间进行分析。由折线图2可知,当阈值权重β=0至0.05时最终得到的AMBS平均在3.5附近,当阈值权重β取大于0.05数值衡量AMBS差值范围时,AMBS值较标准网络模型的AMBS值差距较大。根据图3描述的在不同权重取值情况下获得数据切片的执行时间可知,虽然当阈值权重β取值为0时,获得的AMBS值最接近实际AMBS值,但是取0为权重导致了计算迭代次数增加,加大的计算累计时长;因此将阈值权重β设置为0.05。

在spark框架下编写本发明方法加权概率融合并行贝叶斯网络(简称WPFPBayes)增量学习算法、基于整体的并行贝叶斯网络学习算法(简称PenByes)、Joseph提出的贝叶斯网络并行学习算法(简称Joseph)以及Anders提出的贝叶斯网络并行学习算法(简称Anders)进行对比测试,比较四种方法随着数据输入量的增长,不同方法在性能方面的差异。本仿真实验采用以下方法评估贝叶斯网络的表现:正确率(accuracy),准确率(Precision)、召回率、F1分数和BSF分数,各评价指标定义如下:

在本文中,TP(True positive)表示在学习的贝叶斯网络与贝叶斯网络结构黄金标准网络(简称GSN)中均存在的边数;FP(False positive)表示在学习的贝叶斯网络中存在但GSN中不存在的边数;TN(True negative)表示在学习的贝叶斯网络与GSN中节点间具有相同独立性数量;FN(False negative)表示在学习的贝叶斯网络中存在但在不存在与GSN中的节点间的独立性,e是GSN的边缘数量,i是GSN中节点间具有独立性的数量。|v|是数据集中变量的数量。

四种方法的执行时间和精确率如下图4和图5所示。图6和图7分别给出了F1得分和BSF得分的分布情况。图8描述了不同贝叶斯网络增量更新方法的概念漂移结果。图9表示增量学习中BIC分数的变化。仿真结果表明,本文方法较其他两并行网络学习算法的执行时间方面的表现存在略微优势,平均提高了14.32%。同时,与其他算法相比,本文方法能够在大量数据的情况下保持学习的稳定性。这表明通过本文方法获得的符合实际情况的贝叶斯网络结构具有有效性和鲁棒性。对比F1分数与BSF分数可以得知,本文改进的贝叶斯网络得分均高于其他算法,这说明本文方法比其他算法获得的贝叶斯网络模型更准确。由图8和图9的实验结果可得本发明方法对贝叶斯网络的概念偏移情况较敏感并且快速找到贝叶斯网络发生变化的时刻,可以在合理时间范围内对贝叶斯网络模型做出更新决策并且获得比其他算法更好的结果。

最后,利用本发明方法对网络用户行为进行分析,具体实施方式如下:利用WEKA工具对UNSW-NB15入侵检测数据集进行处理,采用包裹式(wapper)特征选择方法从9种攻击中筛选出17种特征数据,分别为:sbytes,dbytes,sttl,dttl,sloss,dloss,Sload,smean,dmean,res_bdy_len,is_ftp_login,ct_ftp_cmd,ct_srv_src,ct_srv_dst,ct_src_dport_ltm,ct_dst_sport_ltm,ct_dst_src_ltm,attack_cat,并将连续的数据离散化,再利用贝叶斯网络学习算法得到关于用户行为的贝叶斯网络,具体如图10所示。基于此贝叶斯网络模型对UNSW-NB15训练集进行测试。分别通过真正率(TPR),误报率(FAR)参数测量对各攻击类型的检测准确性,通过对各类攻击的准确检测,实现对用户异常行为的准确识别,及时发现并避免网络攻击事件的发生。

图11表示了UNSW-NB15数据集中不同攻击类别的TPR值,图12表示了UNSW-NB15数据集中不同攻击类别的FAR值,图13表示了UNSW-NB15数据集中不同攻击类别的准确率。经实验证明,本发明方法与经典的贝叶斯网络学习算法训练的网络模型相比具有相近的准确率,但本发明方法得到的网络模型更稳定,耗时更少;可有效的检测出网络用户的异常行为。

相关技术
  • 基于加权概率融合并行贝叶斯网络的异常行为检测方法
  • 基于概率特征加权融合的铁路接触网支柱号牌检测识别法
技术分类

06120113791702