一种针对多个属性网络的快速异常检测方法

文档序号:29813773发布日期:2022-04-27 09:09阅读:157来源:国知局
一种针对多个属性网络的快速异常检测方法

1.本发明属于多个属性网络的联邦异常检测领域,尤其涉及一种针对多个属性网络的快速异常检测方法。


背景技术:

2.联邦异常检测问题是在多层的私有属性图数据上发现关联异常子图。异常子图检测已被广泛应用于计算机网络中的网络攻击检测,社交网络中的舆情爆发检测以及交通网络的拥堵检测等各种应用中。
3.目前,异常检测面临两大挑战:一是大多数行业中的孤立数据由于数据隐私和安全性而被限制与其他行业共享,二是传统的异常检测需要计算全量的网络才能判断异常,而在互联网等领域每日产生的数据量乘指数级增长,因此其不能快速的得出计算结果,得到结果后,很少的方法能够做到挖掘异常节点的联系,了解异常事件发生的原因。
4.在多层属性网络的私有图属性数据通常采用一种基于近似最优的联邦异常检测方法。近似最优异常查询将已有时空数据抽象为连通的私有属性网络或属性图并与已知的行为模式进行匹配,得到这些网络中最相关且最异常的部分,以探究单层网络下节点之间异常的联系与异常成因。每个私有属性网络分别与公共属性网络上的异常对齐,以挖掘这些事件之间异常的共性。


技术实现要素:

5.针对现有技术存在的问题,本发明是在保护隐私的前提下挖掘多个私有属性网络之间存在的特定结构模式的异常,并指导相应政策的制定,同时挖掘潜在的异常信息。在多个不同时间段的计算机攻击网络中,本发明能够挖掘出在不同时间有着相似攻击行为的ip。根据真实记录可以得到相关所属的固定网段及攻击方式。因此,被攻击的网站只需拦截该网段的ip 就能大概率避免被攻击的风险。
6.本发明采用如下技术方案实施:
7.一种针对多个属性网络的快速异常检测方法,包括如下步骤:
8.根据需求构建多个属性网络并按照如下公式计算网络节点的异常属性值;
[0009][0010]
其中:n为网络中所有节点的个数;属性网络g
*
={gi},i∈{0,1,...,n},gi=(vi,ei,pi)表示第i个网络,vi,ei,pi分别表示gi的节点集,边集和异常属性集;
[0011]
输入一个公共网络和多个私有网络的边集和异常属性集,预定待测网络的参数,包括:
[0012]
异常阈值α和对齐阈值σ;初始化结果集ui为空集,迭代次数i=0;
[0013]
上述多个私有网络gi下载公共网络至本地并分别和公共网络进行预对齐获得对齐概率矩阵集合h
ij

[0014]
获取上一次迭代结果,检测私有网络近似最优异常子图s
j*

[0015]
与公共网络对齐得到结果集uj*,并将结果集uj*上传至云端;
[0016]
在云端合并各私有网络上传的结果,并与公共网络对齐,获得所有对齐后的异常子图u
*
, 汇总为集合u
i+1

[0017]
将多层私有属性网络gj中的最优异常子图s
j*
的节点视作正常节点;
[0018]
当ui=u
i+1
时,返回对齐的异常子图集合s
*
和u输出对齐后的异常子图结合;
[0019][0020]
否则迭代次数i=i+1,重复5)到7),直至满足8)的停止条件。
[0021]
有益效果
[0022]
本发明是基于分布在多个本地私有数据集上的属性网络建立异常检测模型,其中网络由多个私有属性网络和一个公共属性网络组成。在每个私有属性网络中,将检测到的特定形状异常子图与公共属性网络中的异常子图对齐。其中,异常检测的算法采用近似最优异常查询的方法,利用方法中线性时间子集扫描的异常计算特点和基于异常模式的近似查询方法,解决了传统异常检测算法速度慢,稳健性差,数据成本高,无法解释运算结果的缺点,通过事先了解异常的行为模式快速挖掘结果并有能力分析异常的成因。在公有属性网络中,选择重要的公共异常子图进行异常子图对齐,同时防止数据泄漏。
附图说明
[0023]
附图1为本发明方法的流程图。
[0024]
附图2是基于联邦异常检测的特定结构的快速异常检测方法的思路示意图。
[0025]
附图3是私有网络下近似最优异常查询方法的示意图。
[0026]
附图4是适用于不同数据场景的查询图设置示意图。
[0027]
附图5是本方法应用于私有计算机属性网络攻击检测示意图。
[0028]
附图6是将本方法应用到多个计算机攻击网络中查找到的某个相关异常ip组的示意图。
[0029]
附图7是本发明涉及的联邦异常对齐算法说明总体流程图。
[0030]
附图8是本发明涉及的近似最优异常检测算法说明流程图。
具体实施方式
[0031]
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图与实例对本发明做详细的论述,以下实施例只是描述性的,不是限定性的,不能以此限定本发明的保护范围。
[0032]
如图1所示,本发明提供一种针对多层属性网络的快速异常检测方法,该方法包括如下步骤:
[0033]
s1、根据需求,构建一个公共网络、多个私有网络及一个查询图模式,并计算节点的异常属性值。
[0034]
根据需要构建多个属性网络g
*
={gi},i∈{0,1,...,n},其中gi=(vi,ei,pi)表示第i个网络,vi,ei,pi分别表示gi的节点集,边集和异常属性集。n是属性网络的数量。g0是公
共网络,其余网络是私有网络。多网络可以按时间片划分同一个来源的数据来形成,也可以直接采用多个不同来源的数据来形成。查询图的设置如附图4所示,不同的行为模式可以选择设置不同的查询图结构。例如网络攻击选择星型结构或二部图结构,而河流污染选择线型结构。
[0035]
节点异常特征值的定义一般采用经验p值,节点的经验p值的主要含义是在没有发生网络攻击的零假设h0下,ip节点是否发生网络攻击事件的概率,如果小于等于异常阈值α,则判定发生网络攻击事件。节点v的关于某一特征d的经验p值可定义为:
[0036][0037]
其中:i是一个逻辑函数,fd(v
(t)
)≥fd(v)的情况下,i值为1,否则i值为0;节点v在第t 天前的异常特征(如ip访问量)为fd(v
(t)
),第t天的异常特征为fd(v);经验p值越低,节点越异常。
[0038]
若不是根据时间统计的,则将v本身的属性值作为观测值cv,该网络其他节点的属性值作为对比值ci,根据下式来计算p值。
[0039][0040]
n为网络中所有节点的个数。
[0041]
s2、设定异常阈值α(一般为0.15)和对齐阈值σ(一般为0.6)。初始化结果集ui为空集,迭代次数i=0。
[0042]
将异常属性值小于等于α的节点记为异常节点。如果节点对(vi,vj)的对齐概率大于对齐阈值σ,vi和vj将被标记为有紧密联系的对齐节点,其中,vi和vj必须来源于不同网络。初始化结果集ui为空集,迭代次数i=0,输入一个公共网络和多个私有网络的边集和异常属性集。u为所有私有网络最终在公共网络上的对齐异常子图的集合,需初始化为空集。
[0043]
s3、各私有网络下载公共网络到本地,并分别和公共网络进行预对齐,得到对齐概率矩阵集合h。
[0044]
该步骤利用多网络对齐方法crossmna框架实现,通过输入多个网络的边集以及已知锚链接(确认在不同属性网络中的同一个实体),设置训练比率为1.0,训练次数为400。得到网络间的对齐锚链矩阵h
ij
,汇总得到h(附图2)。这里也可以采用其他网络对齐算法来进行该步骤。
[0045]hij
是gi和gj之间节点的对齐概率矩阵,维度为|vi|
×
|vj|,矩阵中每个值h
ij
(vi,vj)表示的是节点vi和节点vj为锚节点的对齐概率,范围为[0,1],数值越大表示对齐概率越高,为1 时表示这两个节点是已知锚节点。
[0046]
s4、获取上一次迭代结果,各私有网络gj在本地与之对齐,检测私有网络近似最优异常子图s
j*

[0047]
在该步骤中,为了评价每个私有网络异常子图的异常程度,本技术引入非参数图扫描统计量f作为异常得分函数:
[0048][0049]
其中是一个统计函数。s是g的一组连通的顶点子集(即连通子图),α是节点的异
常阈值(一般为0.15),n
α
(s)是s中异常节点(异常属性值小于或等于α)个数,n(s)是s中所有节点个数。此外,为了保证最大异常性,需要满足两个属性:值随着n
α
(s)单调递增,且随着n(s)-n
α
(s)即正常节点数的增多而单调递减;因此本发明使用higher criticism(hc)统计量作为
[0050][0051]
检测私有网络近似最优异常子图步骤如下:
[0052]
4.1)初始化上下限结果集为空集,迭代次数i=0,输入私有属性网络的边集、异常特征集和查询图的边集。
[0053]
4.2)计算节点的异常优先级。g()是优先级函数。输入属性图g,将图中节点按照异常特征值的大小进行排序,优先级越高的节点越异常。该函数将图g中的节点排序为后输出。
[0054]
4.3)选择前m个节点做为上限结构。
[0055]
4.4)分解查询图q为星型结构,对于上限节点集中的每个点,检测与星型结构同构的子图得到maxq函数将上限结构的节点集及其邻居在属性图g中匹配与查询图q近似的部分,并转化为下限结构图q近似的部分,并转化为下限结构将查询图q分解为星型子结构,其中每个节点都会作为星型结构的中心节点或叶子结点。当查询图为无属性图时,仅需保留叶子数不同的星型结构即可。star(v)函数表示返回节点v在属性图g上包含一阶邻居的子图是最大化异常得分函数的星型子图,并与查询图分解的星型结构同构。利用贪心算法的思想,将得到的一一拼接,argmin得到与查询图最相似的部分,拼接结果作为下限
[0056]
4.5)将上一次迭代得到的异常子图上限与下限合并,得到暂时最优结构s。
[0057]
4.6)更新上限结果集步骤中,上限节点集的更新需要加入未计算过的节点如v
(k+1)
,v
(j)
是保留集中优先级最高的节点,而v
(k)
是优先级最低的节点。更新后上限节点集数量是m个。
[0058]
4.7)当上限与下限异常得分接近时,返回近似异常查询结果否则迭代次数 i=i+1,直至满足停止条件。最终结果就是使得属性图中的某个子图目标函数f最大的同时与查询图结构相似的异常检测结果。
[0059]
s5、与公共网络对齐得到uj*,并将uj*上传至云端。
[0060]
s6、在云端合并各私有网络上传的结果,并与公共网络对齐,得到所有对齐后的异常子图u
*
,汇总为集合u
i+1

[0061]
为了获得网络之间异常子图对齐的对齐得分,定义函数q作为异常对齐的评分函数,公式如下所示:
[0062]
[0063]
其中,σ是对齐阈值(本方法设置0.8),n
σ
(s,u)是s与u中对齐节点的个数,n(s)是s 中所有节点个数,n(u)是u中所有节点个数。节点的对齐概率来自预对齐矩阵结集合h=(h
ij
), h
ij
是gi和gj的对齐概率矩阵,且i≠j(见附图2)。
[0064]
s7、将gj中的所有属于s
j*
的节点视作正常节点
[0065]
本发明通过将这些节点异常属性值置为1来实现该步骤。
[0066]
s8、当ui=u
i+1
时,返回对齐的异常子图集合s
*
和u。
[0067]
否则迭代次数i=i+1,重复4)到7),直至满足8)的停止条件。
[0068]
最终结果(s
*
,u)就是使得目标函数最大的且与特定形状近似的异常子图集。总体方法目标函数定义如下:
[0069][0070]
本发明中从各四月网络在本地检测最优异常子图的过程:
[0071]
对于给定的多个属性网络g
*
={gi},i∈{0,1,...,n},其中gi=(vi,pi,ei)表示第i个网络, vi,pi,ei分别表示gi的节点集,边集和异常属性集。n是属性网络的数量。节点的异常特征值设置在[0,1],越小表示节点越异常,大于α
max
=0.15表示该节点是正常节点。
[0072]
本发明在私有属性网络中寻找包含最异常节点并与查询图结构相似的子图,因此设定如下的目标函数:
[0073][0074]
即近似最优异常查询的子图结果应使得函数值f最大化并满足s同构于q的约束。对于给定的属性网络g=(v,e,w),其中g表示属性图,属性图中包含(1)节点集v=[n]={1,...,n}; (2)边集其中|e|=p,即边集合的数量是p;(3)节点异常属性集其中行向量是在顶点v∈v的时间跨度t内观察到的属性值。对于节点子集集只在s中保留行向量。如果vs∈v,es∈e,并且ws受到w的限制,那么我们定义g中的子图s为同时设定为查询图。对于时间t和在这个计算机网络中的节点 v,本技术将第t天的节点v被访问的记录数记为观测值并且将节点v在第t天前的时间段t内平均访问日志数表示为期望值此外,在数据记录中区分了正常访问数据和实际攻击数据,可以知道实际发生的攻击类型、攻击时间和攻击与被攻击的ip地址。节点异常特征值(经验p值)的计算为观测值cv与期望值bv的比较。为了测试算法的鲁棒性,随机翻转网络中百分之k∈{5、10、20}的节点的经验p值。
[0075]
本发明总体思想是迭代算法中上界和下界的子图结构,当上下限的异常得分小于阈值时结束计算。实验中设置上下限异常得分差异的阈值是ε=10-6
。当满足这个条件,就可以判定找到近似最优解,运算结束并返回结果。私有网络的近似最优异常检测具体包含以下步骤:
[0076]
1)根节点的选择:给定一个私有属性图g,需要选择m个根节点集合来开始与查询图的匹配过程,其中m的含义是查询图q中的节点数。选择根节点集的思路是:(1)包含尽正常节点的数量尽可能得少;(2)包含尽可能多的异常节点,并且异常节点计算出的异常值较
高,从而可以保证整个子图的异常得分较高。考虑到这两个设计目标,首先优先级函数g()按照经验p值的升序构造节点的匹配顺序,并选择前m个节点作为根节点,如{v3,v6,v8,v7},根节点集作为第一次迭代中的异常得分函数的上界进入计算,(函数定义见具体实施方案)。
[0077][0078]
2)构造异常得分函数的上界:在第i次迭代中,下一步是通过上一次迭代结果的更新选定的m个节点的节点集,即通过构造异常得分的上界的图结构此外,本发明设置不需要是连通图,即使在属性图g中是包含孤立点同样满足要求。结构的节点数与第一次迭代构造的根节点集的节点个数相同,都是由m个节点组成。的节点由两部分组成,一部分是从上一次迭代和的交集中得到需要保留的异常值较高的顶点构成的节点集s,另一部分是在属性图g中经过优先级排序的优先级较高可以用于加入候选异常得分上限节点集的顶点,在算法中用max g({v
(j)
,...,v
(k)
,v
(k+1)
})表示。节点的更新部分采用紧凑的迭代方式,如算法maxg({v
(j)
,...,v
(k)
,v
(k+1)
}-s,m-s)所示,假设在第i-1次迭代后更新到达第 k个顶点v
(k)
(v
(k)
已存在中),并计算和的交集得到需要保留|s|个数量的顶点。在需要保留的节点的节点集s中,假设第j个顶点v
(j)
是s中优先级最高的顶点,而第k个顶点 v
(k)
作为优先级最低且最后一个被保留的顶点。节点更新是在v
(j)
后按优先级顺序选择m-|s|
‑ꢀ
1个顶点,而且必须选择未计算过的节点v
(k+1)
进入更新的节点集以确保下一步迭代不会被困在无限循环中。本发明在返回结果时采取一个优化策略,当s中的顶点数量等于查询图 q并且是连通图时,直接返回s作为计算结果。如果需要保留的节点集s的节点数小于m,则按降序一步步更新
[0079]
3)构造异常得分函数的下界:近似最优异常查询算法基于异常得分上界结构的节点集构造其下界结构的节点集构造其下界结构作为根来选择与查询图的分解结构相同的星型子图。匹配的星型结构接着被组装成一个近似于查询图的子图,本方法选择启发式搜索来构造首先,引入了查询图的分解该步按照星型拓扑结构将查询图q分解为 m是查询图的节点数量。分解查询图中,每个节点都有机会作为一个星型结构的中心节点和多个星型结构的叶子节点。如附图4给出查询图分解的实例,查询图q被分解为两个有3个叶子结点的星型结构和两个有2个叶子结点的星型结构,当然在计算过程中只需要保留一个有相同节点数量的星型结构即可。star函数返回m个星型结构。star函数以中的顶点 {v
(j)
,...,v
(k-1)
,v
(k+1)
}作为中心,{v
(j)
,...,v
(k-1)
,v
(k+1)
}在属性图g中的邻居作为叶顶点构建m个星型子图其中。为了进一步优化构造出来的结果,使其与查询图结构相似,设定条件即将star函数返回的m个星型结构与分解的查询图
同构。当{v
(j)
,...,v
(k-1)
,v
(k+1)
}所在星型结构的叶子结点数大于分解子图的叶子数时,只选择最异常的顶点作为叶子,否则接受顶点v的所有邻居。需要匹配每个分解子图并保存结果。在得到候选子图后,将逐个组合在一起,计算得到异常得分最高的子图作为当两个及以上子图异常得分相同时,将选择与查询图的图编辑距离最小的子图作为
[0080]
在私有网络进行近似异常检测后,需要将异常子图传入公共属性网络并进行异常对齐,异常对齐的具体方法如下:
[0081]
公共异常对齐:各私有网络将对齐结果上传至云端,在云端再次执行异常对齐工作,对齐结果不再改变,整合得到对齐的异常子图集。对齐的异常子图始终包含最多的对齐节点以及最少的非对齐节点。其中判断节点之间是否具有对齐关系的对齐阈值记为σ,对齐概率大于它的节点判定为对齐节点。本发明使用对齐函数来统计对齐异常子图的对齐得分(函数定义见具体实施方案)。
[0082][0083]
本发明需要同时优化异常检测和异常对齐两方面内容,因此设定如下的目标函数:
[0084][0085]
最优的对齐异常子图结果(s
*
,u
*
)应使得函数值最大化。
[0086]
其中:近似最优的联邦异常检测算法的定义。根据上述步骤,为了取得最优解,本发明进一步提出了跨越多个属性网络的联邦异常检测算法,具体算法设计如下图所示。将该算法被定义为approximate optimal anomaly max query in attributed networks简称anomalymaxq。该方法运行在fadman联邦异常对齐方法框架下,通过初始化结果集ui为空集,迭代次数 i=0,并预先定义异常阈值α和对齐阈值σ,输入一个公共网络和多个私有网络的边集/属性集数据,通过多轮迭代,不断扩张对齐异常子图集合s
*
和u
*
,得到使得目标函数最大的结果集。
[0087]
本发明提出的方法是一个适用于在保护隐私,不进行直接数据交换的前提下,进行多场景联邦异常检测的算法。这里简单叙述几个具体场景。1,在计算机攻击网络中,以ip和网站作为节点,访问行为作为边,访问频率作为异常属性。按照时间将其划分为多个网络,若所有网络都具有异常属性,本发明能够挖掘出攻击行为类似的异常ip组(附图5);若某时间段的网络没有异常属性,则该方法能够通过对齐其他网络的异常子图到该网络从而挖掘该网络的异常,做到预测该时间段攻击ip的作用;2、在企业投资的网络中,本发明可以检测企业是否有虚增业绩和洗钱的行为风险,帮助投资者制定投资决策。
[0088]
本发明在计算机流量网络数据集上展示了针对计算机一对多攻击模式和多对多攻击模式的检测分析。虽然这些ip地址出现在不同的地方和时期,但它们的攻击行为是相似的。利用这一点可以通过查询特定的攻击模式来获得一些异常的ip组,从而帮助服务器主动拦截某 ip段的攻击,例如星型查询图和二部图形查询图。如附图6所示,anomalymaxq
算法成功地发现了没有无辜节点的攻击网络。
[0089]
一对多攻击模式。如附图6所示,该图为算法检测到的网络攻击。红色节点表示现实世界中的攻击或被攻击ip站点,黄色区域表示我们计算的异常顶点。可以清楚地看到,通过星型查询图发现的攻击记录。检测结果发现,2015年3月10日来自中国江苏省的某ip地址 x.x.223.66攻击了其他四个服务器站点yysj.*.edu.cn和szb.*.edu.cn等。经检测,该类攻击是fckeditorattack类攻击。一对多或多对一网络攻击模式也是网络中最常见的攻击形式。多对多攻击模式。附图6显示了该类查询图检测到的2015年3月12日由境外和中国江西一同发动的dedecmsattack类网络攻击。因为攻击者通常不只使用单一的ip地址来进行网络攻击,与星型结构相比,可以发现同时攻击的ip组。通过记录这些ip地址,发现这些ip 地址来自多个固定的网络段,并且攻击模式和位置保持不变,这意味着这些ip地址可能来自同一攻击源。有了这些信息,就可以通过阻止这些固定ip段的ip防止网络攻击。
[0090]
通过实践得知,本方法应用范围广泛,扩展性强,能够适用于不同场景,并进行相关异常信息/潜在异常信息的挖掘。
[0091]
本发明并不限于上文描述的实施方式。以上对具体实施方式的描述旨在描述和说明本发明的技术方案,上述的具体实施方式仅仅是示意性的,并不是限制性的。在不脱离本发明宗旨和权利要求所保护的范围情况下,本领域的普通技术人员在本发明的启示下还可做出很多形式的具体变换,这些均属于本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1