一种P2P网络中基于行为相似度的共谋团体识别方法转让专利

申请号 : CN200810118258.6

文献号 : CN101345627B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 苗光胜冯登国苏璞睿

申请人 : 中国科学院软件研究所

摘要 :

本发明公开了一种P2P网络中基于行为相似度的共谋团体识别方法,属于信息安全技术领域。本发明的方法为:首先为网络中每个节点分配一个信任管理节点用于监测其它节点对其所管理节点的评分行为,和一个行为记录节点用于记录其所管理的节点对其它节点的评分行为;信任管理节点定时检测网络中节点的评分行为,从而发现行为表现异常的节点,当异常节点数量超过设定值后,则进一步分析异常节点之间评分行为的相似度,并判断是否存在共谋团体,最后根据检测结果更新节点的全局信任值。与现有技术相比,本发明适用范围更广,可以识别大多数的团体共谋行为,大大提高了P2P网络信任模型对多节点共谋攻击的抵制能力。

权利要求 :

1.一种P2P网络中基于行为相似度的共谋团体识别方法,其步骤为:

1)为网络中每个节点分配一个信任管理节点和一个行为记录节点;

2)每个节点的信任管理节点监测网络中其他节点对该节点的评分行为;其具体方法为:任一节点i完成从节点j的下载后,根据下载结果形成对节点j的评价数据,然后将评价数据提交给节点j的信任管理节点,同时节点j的信任管理节点判断所接收的评分数据是否存在异常,如果存在异常则标记节点i为评分行为异常的节点;所述评价数据包括:评价节点ID、被评价节点ID、评价结果、具体评分;所述评分行为异常的节点的判定公式为:其中Rij为节点i对节点j的信任评价,Rj为节点j的当前全局信任值,当s>σ时判定节点i为评分异常节点,σ为系统设定的行为异常阈值;

3)每个节点的行为记录节点负责跟踪记录该节点对其他节点的评分行为,并汇总得到该节点的评分向量;

4)信任管理节点定期检测在对所负责节点进行评分的节点中,评分行为异常的节点集合的数量是否超过设定值,如果超过设定值则启动共谋团体检测过程;

5)针对评分行为异常的节点集合,共谋团体检测过程如下:首先从该集合中各个节点的行为记录节点处收集相关节点的评分向量;然后根据节点的评分向量计算节点之间的行为相似度;最后对行为相似度计算结果进行聚类分析,检查行为相似节点的数量是否超过设定值,从而判断是否存在共谋团体;

6)信任管理节点根据反馈的检测结果更新节点的全局信任值。

2.如权利要求1所述的方法,其特征在于利用安全哈西函数中的SHA-1算法为节点分配所述信任管理节点和所述行为记录节点。

3.如权利要求1所述的方法,其特征在于所述行为记录节点跟踪记录该节点对其他节点的评分行为的过程如下:节点i完成从节点j的下载后,首先向该节点j的信任管理节点提交评价数据,然后节点j的信任管理节点将该评分数据报告给节点i的行为记录节点。

4.如权利要求1所述的方法,其特征在于所述评分向量的表示方法为:[Ri1,Ri2,…,Rin],其中,Ri1,Ri2,…,Rin分别表示节点i对其他节点1,2,…,n的评价。

5.如权利要求1所述的方法,其特征在于采用余弦相似度衡量函数计算节点之间的行为相似度。

6.如权利要求5所述的方法,其特征在于只计算节点在共同项目上所表现出来的行为之间的相似度。

7.如权利要求1所述的方法,其特征在于所述聚类分析的方法为:

1)将行为相似的一组节点相似度数据组成一对称矩阵 其中n为节点

数目,si,j为矩阵Sn×n中任一元素,它表示节点i与节点j之间的行为相似度;如果si,j<ε,则令si,j=0,其中ε为行为相似度阈值;

2)使用矩阵变换算法对矩阵Sn×n进行等价变换,最终得到矩阵 其中,是矩阵Sn×n′主对角线上不含0的ki阶子方阵;

3)如果ki>δ,则输出组成矩阵 的节点集合并认为它们共同组成一个共谋团体,其中,δ为共谋团体的规模阈值。

说明书 :

一种P2P网络中基于行为相似度的共谋团体识别方法

技术领域

[0001] 本发明涉及一种网络中共谋团体的识别方法,尤其涉及一种P2P网络中基于行为相似度的共谋团体识别方法,属于信息安全技术领域,特别是P2P网络安全领域。 背景技术
[0002] P2P网络的出现在很大程度上改变了互联网的发展模式,许多网络应用程序依托P2P网络技术得到迅猛发展,典型的如eMule,BT等文件共享系统。由于P2P网络天生的开放性、匿名性和难以追踪性等特点,恶意节点很容易侵入到网络中并发起攻击,因此,P2P网络在带来便利的同时,也产生一些安全威胁,甚至成为传播病毒的途径。为了解决这一问题,P2P网络引入了信任机制,对网络中恶意节点的活动起到了比较好的抑制作用。 [0003] 信任机制的工作原理是通过对恶意节点赋予低信任值的方法达到抑制恶意节点活动的目的,实践证明该机制效果显著。但是信任机制本身也存在一系列安全问题,也会遭受恶意节点的攻击。现有的针对P2P信任机制的攻击方式可以大致分为单节点攻击和共谋团体攻击两类,其中,单节点攻击能力有限,且相对容易识别并防范,而共谋团体攻击由于可以采用更加复杂高效和难以识别的攻击方式,破坏性远大于单节点攻击。因此对共谋团体攻击的识别和抵制措施显得非常有必要。
[0004] 现有的针对共谋团体的识别方案主要是基于对节点IP聚类分析,但是这种基于节点IP的共谋团体识别方案的应用范围受到很大的限制。它的工作原理是通过对节点的IP来源进行聚类分析,将来源相近的节点视作共谋团体成员。该方案正确运行的前提是,共谋团体的成员同时在地理分布上也是邻近的,即该方案只限于识别由IP比较接近的节点组成的特殊共谋团体。但是现实中这种特殊情况并不总是出现,尤其在botnet网络出现之后,恶意节点可以很方便的集合大量IP分布于各地的节点组成共谋团体发起攻击,在这种情况下,基于节点IP的共谋团体识别方案无效。
[0005] 因此有必要提出一种新型的更加有效的共谋团体识别方案。

发明内容

[0006] 本发明的目的是为P2P网络信任机制提供一种适用范围更广、更加有效的共谋团体识 别方案。
[0007] 本发明的技术内容:一种P2P信任模型中的共谋团体识别方案。该方案通过分析节点之间行为的相似度检测网络中是否存在共谋团体,与现有的共谋团体识别方案相比,它的理论基础可靠,适用范围更为广泛,可以有效地对P2P网络中的共谋团体进行识别。 [0008] 本发明对共谋团体的定义如下所示:
[0009] 设若干节点组成的集合U,如果U中的节点个数不小于设定值δ,且U中任意两个节点之间的相似度不小于设定值ε,则我们称该集合U构成一个共谋团体。
[0010] 该方法的工作原理如下:同一共谋团体中的成员由于发起攻击的需要,在行为模式上表现出较大的相似性,因此我们可以根据这种相似性识别出属于同一共谋团体的节点。
[0011] 本发明的技术方案为:
[0012] 一种P2P网络中基于行为相似度的共谋团体识别方法,其步骤为:
[0013] 1)为网络中每个节点分配一个信任管理节点和一个行为记录节点;
[0014] 2)每个节点的信任管理节点监测网络中其他节点对该节点的评分行为;其具体方法为:任一节点i完成从节点j的下载后,根据下载结果形成对节点j的评价数据,然后将评价数据提交给节点j的信任管理节点,同时节点j的信任管理节点判断所接收的评分数据是否存在异常,如果存在异常则标记节点i为评分行为异常的节点;所述评价数据包括:评价节点ID、被评价节点ID、评价结果、具体评分;所述评分行为异常的节点的判定公式为: 其中Rij为节点i对节点j的信任评价,Rj为节点j的当前全局信任值,当s>σ时判定节点i为评分异常节点,σ为系统设定的行为异常阈值;
[0015] 3)每个节点的行为记录节点负责跟踪记录该节点对其他节点的评分行为,并汇总得到该节点的评分向量;
[0016] 4)信任管理节点定期检测在对所负责节点进行评分的节点中,评分行为异常的节点集合的数量是否超过设定值,如果超过设定值则启动共谋团体检测过程;
[0017] 5)针对评分行为异常的节点集合,共谋团体检测过程如下:首先从该集合中各个节点的行为记录节点处收集相关节点的评分向量;然后根据节点的评分向量计算节点之间的行为相似度;最后对行为相似度计算结果进行聚类分析,检查行为相似节点的数量是否超过设定值,从而判断是否存在共谋团体;
[0018] 6)信任管理节点根据反馈的检测结果更新节点的全局信任值。
[0019] 进一步的,所述方法中利用安全hash函数中的SHA-1算法为节点分配所述信任管理 节点和所述行为记录节点。
[0020] 进一步的,所述行为记录节点跟踪记录该节点对其他节点的评分行为的过程如下:节点i完成从节点j的下载后,首先向该节点j的信任管理节点提交评价数据,然后节点j的信任管理节点将该评分数据报告给节点i的行为记录节点。
[0021] 进一步的,所述评分向量的表示方法为:[Ri1,Ri2,…,Rin],其中,Ri1,Ri2,…,Rin分别表示节点i对其他节点1,2,…,n的评价。
[0022] 进一步的,所述方法中采用余弦相似度衡量函数计算节点之间的行为相似度。 [0023] 进一步的,所述方法中只计算节点在共同项目上所表现出来的行为之间的相似度。
[0024] 进一步的,所述聚类分析的方法为:
[0025] 1)将行为相似的一组节点相似度数据组成一对称矩阵 其中n为节点数目,si,j为矩阵Sn×n中任一元素,它表示节点i与节点j之间的行为相似度;如果si,j<ε,则令si,j=0,其中ε为行为相似度阈值;
[0026] 2)使用矩阵变换算法对矩阵Sn×n进行等价变换,最终得到矩阵其中, 是矩阵Sn×n′主对角线上不含0的ki阶子方阵;
[0027] 3)如果ki>δ,则输出组成矩阵 的节点集合并认为它们共同组成一个共谋团体,其中,δ为共谋团体的规模阈值。
[0028] 本发明中所说的节点行为具体来说是指节点对其他节点的评分行为,下面我们以基于分布式哈希表(DHT)的P2P网络为例进行说明。
[0029] 本发明的具体实现步骤如下所示:
[0030] 1)每个节点在加入到P2P网络中时,都由系统随机分配两个特定的节点:信任管理节点和行为记录节点;
[0031] 2)信任管理节点监测网络中其它节点对其所负责管理节点的评分行为,监测节点在评分时是否存在行为异常,即该节点所提交评分与当前结果的差异是否在设定的合理阈值范围内。表现出行为异常的节点我们称之为异常节点;
[0032] 3)行为记录节点跟踪记录其所负责记录的节点对其他节点的评分行为,将所汇总得 到的评分行为以向量[Ri1,Ri2,…,Rin]表示,其中Rij表示节点i对节点j的评分结果。该向量描述了它所负责节点的历史行为,我们将使用该向量衡量节点之间的行为相似度。
[0033] 4)当信任管理节点在监测过程中发现在对所负责节点进行评分的节点中,评分行为表现异常的节点超过设定数量时,则认为可能存在共谋团体攻击,并启动共谋团体检测过程;
[0034] 5)在启动共谋团体检测过程后,信任管理节点首先从各个异常节点的行为记录节点那里收集相关节点的评分向量(历史行为信息);
[0035] 6)根据节点的评分向量使用余弦相似度方法计算节点之间的行为相似度,详细计算过程参见具体实施过程的说明部分;
[0036] 7)对行为相似度计算结果进行聚类分析,检查行为高度相似的节点数量是否超过一定规模,从而判断是否存在共谋团体,详细的聚类分析过程参见具体实施过程部分; [0037] 8)将检测结果反馈回信任管理节点,由信任管理节点根据检测结果更新节点的信任值,保证节点信任值的真实可靠。
[0038] 本发明的积极效果为:
[0039] 本发明所采用的基于行为相似度的共谋团体检测算法,通过定时检测网络中节点的评分行为,从而发现那些行为表现异常的节点,然后通过对这些异常节点之间的行为相似度进行分析,确认是否存在共谋团体。与其他识别算法如基于IP的共谋团体识别算法相比,该算法适用范围更广,可以识别大多数的团体共谋行为,大大提高了P2P网络信任模型对共谋攻击的抵制能力。

附图说明

[0040] 图1为本发明的原理示意图;
[0041] 图2为本发明的运行流程图。

具体实施方式

[0042] 本发明的原理示意图如图1所示,首先在网络中利用安全Hash函数为每个节点分配信任管理节点和行为记录节点,这两个节点分别负责管理该节点的信任值和记录该节点对其他节点的评分行为;然后,由信任管理节点实时监控其他节点对该节点的评分,特别是评分行为表现异常的节点。如果发现在对该节点评分的节点中,行为异常的节点超过一定 数量,则启动共谋团体检测算法,判断是否存在团体共谋行为。如果发现有共谋团体,则利用该检测结果重新计算信任值,清除该团体对信任值计算的干扰。
[0043] 参考本发明的流程图2,下面给出详细过程。
[0044] 第一步,为每个节点分配信任管理节点和行为记录节点,具体分配过程如下: [0045] 使用两个不同的安全哈希函数,设为Hm和Hr,分别对节点ID进行哈希运算,得到两个不同的哈希运算结果Xm和Xr,即
[0046]
[0047] 然后利用P2P网络的节点定位规则确定两个节点Rm和Rr(节点ID分别为IDm和IDr)分别为该节点的信任管理节点和行为记录节点,即
[0048]
[0049] 其中,loc表示P2P网络定位算法。
[0050] 信任管理节点负责汇总其他节点对该节点的评分,并计算得到该节点的全局信任值,同时,本发明中检测共谋团体的核心算法也是由信任管理节点负责执行;行为记录节点负责记录该节点对其他节点的评分行为,它保存了该节点的评分历史。
[0051] 需要说明的是,节点的信任管理节点Pm与行为记录节点Pr并未在确定之后就一成不变了,当出现网络波动与网络环境发生变化时,信任管理节点与行为记录节点的位置可能随之变动。不过,P2P网络的定位机制能保证始终可以通过上述计算过程找到当前的信任管理节点与行为记录节点。
[0052] 本发明使用SHA-1算法作为节点分配过程中所使用的安全哈希函数,利用该函数的安全单向性,我们可以保证信任管理节点和评分记录节点的分配过程是安全可靠的,可以最大限度的避免出现被管理节点与该两节点协同作弊的可能,因为使用安全哈希函数SHA-1的分配过程可以保证:
[0053] 1)节点无法主动选择哪个节点来管理自己
[0054] 2)节点同时也无法选择自己将要管理哪个节点
[0055] 在节点分配过程中,所有节点只能被动接受哈希函数的随机分配结果,这样就避免了节点之间的共谋作弊问题,提高了数据管理的安全性;
[0056] 第二步,节点在完成下载后对来源节点进行评分,将评分提交给来源节点的信任管理节点。
[0057] 节点完成下载后,需要首先对下载结果进行鉴别,根据鉴别结果做出相应的评价:好评或者坏评,以及具体的评分。完成评价后提交的评价数据包括以下三部分: [0058] 1)评价节点ID(标识评价是由谁做出的)
[0059] 2)被评价节点ID(标识被评价对象是哪个节点)
[0060] 3)评价结果
[0061] 该评价的内容可以描述如下:
[0062]
[0063] IDi
[0064] IDj
[0065] Rij
[0066]
[0067] 其中,IDi为评价节点,IDj为被评价节点,Rij表示节点IDi对节点IDj的评价。 [0068] 节点i将此评价数据提交给节点j的信任管理节点,由其对评分进行汇总。 [0069] 第三步,节点i向下载来源节点j的信任管理节点提交评价数据后,信任管理节点同时向节点i的行为记录节点报告此次评分行为,由后者对其评分行为进行汇总。 [0070] 在本发明中,为了进一步避免节点与行为记录节点之间协同作弊的可能,在提交评价数据时,我们不允许节点直接向行为记录节点报告,而是采取通过信任管理节点转交的方式,这样的做法除了增加了节点之间协同作弊的难度之外,还保证了系统内部的一致性。
[0071] 第四步,信任管理节点每隔时间t对该节点的评分结果进行分析,检查是否存在行为异常的节点,如果发现行为异常节点,则累计目前为止检测到的异常节点数,若累计数量超过一定值,则启动共谋团体检测算法进行检测。
[0072] 发现单节点行为异常是进行共谋团体检测的基础,本发明对共谋团体的检测是建立对异常节点集合中节点之间行为相似度分析之上的。
[0073] 本发明所提出的共谋团体检测方法所涉及的相关算法分别叙述如下: [0074] 信任管理节点在整个共谋团体检测算法中扮演核心角色,负责监测异常节点行为、收集节点行为向量、计算节点之间行为相似度以及判别是否存在共谋团体等任务。信任管理节点在接受到节点评价数据之后的处理过程如下面的算法所示:
[0075] 输入:节点i对节点j的信任评价;
[0076] 输出:是否存在共谋团体的检测结果;
[0077] Procedure ReceiveRating(IDi,IDj,Rij)
[0078] {
[0079] if(评价有效)
[0080] {
[0081] 更新节点的全局信任值;
[0082] //原语Submit(IDi,IDj,Rij)转发该评价行为给节点i的行为记录节点 [0083] Submit(IDi,IDj,Rij);
[0084] //测试节点i是否为异常节点,其中s表示节点评分的异常度
[0085]
[0086] if(s>σ)
[0087] {
[0088] Xj←Xj+1;
[0089] //更新针对节点j的异常节点的数量
[0090] 将节点i加入集合U中;
[0091] if(xj≥δ)
[0092] //如果异常节点数量超过设定的团体规模阈值δ
[0093] {
[0094] DetectClique(U);
[0095] //启动共谋团体检测算法
[0096] }
[0097] }
[0098] }
[0099] }
[0100] 其中,Rij为节点i对节点j的评分,Rj为节点j目前的全局信任值,σ为系统设定的行为异常阈值,δ为共谋团体的规模阈值。
[0101] 共谋团体检测算法DetectClique()是整个检测过程的核心算法,它的具体执行过程如下所示:
[0102] 输入:异常节点集合U;
[0103] 输出:判定存在的共谋团体并更新信任值计算结果;
[0104] Procedure DetectClipue(U)
[0105] {
[0106] QueryRating(IDi);
[0107] //QueryRating(IDi)原语用来从节点i的行为记录节点那里得到节点i的评分向量 si,j=CalSim(i,j);
[0108] //计算集合U中节点之间的行为相似度,计算结果放入矩阵Sn×n
[0109] Q=Cluster(Sn×n)
[0110] if(|Q|≥δ)
[0111] {
[0112] 此时判定集合Q构成共谋团体,输出集合Q中的节点;
[0113] RefreshTrust(j);
[0114] //根据检测结果更新节点j的全局信任值;
[0115] }
[0116] }
[0117] 节点之间的行为相似度计算是衡量节点是否构成共谋团体的标准之一,如何高效准确的得到节点之间的行为相似度是本发明所提出的共谋团体识别算法所考虑的关键问题之一。我们对算法DetectClique()中计算节点之间行为相似度的算法CalSim(i,j)说明如下:
[0118] 本发明将每个节点的评分行为用一个多维向量来表示,如节点i的评分向量可以表示为[Ri1,Ri2,…,Rin],其中,Ri1,Ri2,…,Rin分别表示节点i对其他节点1,2,…,n的评价。本发明在衡量节点行为相似度过程中使用余弦相似度衡量函数,在识别过程中,只计算节点在共同项目上所表现出来的行为之间的相似度,同时考虑到共谋团体检测问题的特殊性以及向量维数过高的问题,对相似度衡量过程进行了若干修正,得到新的行为相似度衡量算法CalSim(i,j)说明如下:
[0119] 设有两个节点i,j,它们的评价过的节点集合分别为
[0120] Ui={a1,a2,…,am}
[0121] Uj={b1,b2,…,bn}
[0122] 令
[0123] I=Ui∩Uj={c1,c2,…,ck}
[0124] 节点i和j对集合I中节点的评分向量分别为
[0125] Ei=[Ri,1,Ri,2,…,Ri,k]
[0126] Ej=[Rj,1,Rj,2,…,Rj,k]
[0127] 则节点i和节点j的行为相似度
[0128]
[0129] 上式中,若
[0130]
[0131] 则令
[0132] Si,j=0
[0133] 在计算得到各个异常节点之间的行为相似度之后,我们需要根据它们之间的行为相似度状况进行聚类分析,以检测它们中间是否存在共谋团体。在本发明中,对异常节点进行聚类分析的算法Cluster(Sn×n)如下所示:
[0134] 在计算得到各节点之间的行为相似度之后,我们需要将这些节点中可能存在的共谋团体识别出来,以达到抑制恶意共谋团体活动的目的。按照我们对共谋团体的定义,构造共谋团体识别算法如下:
[0135] 1)将所有n个节点的行为相似度数据组成一个矩阵
[0136]
[0137] 根据我们的定义,节点之间的相似度是对称的,所以该矩阵是一个对称矩阵。 [0138] 2)设si,j为矩阵Sn×n中任一元素,它表示节点i与节点j之间的行为相似度,若 [0139] si,j<ε
[0140] 则令
[0141] si,j=0
[0142] 其中ε为行为相似度阈值,在本发明中,我们认为相似度超过ε的两个节点有共谋嫌疑。
[0143] 3)使用矩阵变换算法对矩阵Sn×n进行等价变换,最终得到矩阵Sn×n′,使得矩阵Sn×n′的主对角线子矩阵的数据都非0,而其他部分数据皆为0,即
[0144]
[0145] 其中, 是矩阵Sn×n′主对角线上不含0的ki阶子方阵。按照我们对共谋团体的定义,若ki>δ,则我们输出组成矩阵 的节点集合并认为它们共同组成一个共谋团体。其中,δ为共谋团体的规模阈值。
[0146] 第五步,利用检测结果重新计算节点信任值,消除共谋团体的干扰。 [0147] 信任管理节点根据检测结果重新计算节点信任值,目的是消除共谋团体在计算过程中的影响,保证计算结果的真实可靠性,具体实现可能根据信任模型计算全局信任值时的方法不同而不同。最直观的做法就是在剔除所有共谋团体成员的评分数据之后重新计算节点的全局信任值。
[0148] 至此,基于节点行为相似度的共谋团体识别过程结束。
[0149] 对于本领域技术人员,还可以根据具体信任模型的不同以及本发明的核心思想设计和构造自己的共谋团体检测算法,在具体环境中达到最好的效果,从而更好的检测网络中存在的共谋团体,提升P2P网络的安全性。需要特别说明的是,本文对本发明的说明是以P2P网络中面向节点的信任模型为例,但是对本发明进行适当的调整后,它同样适用于面向资源的信任模型。此外,P2P网络中节点的行为是多种多样的,但是相对而言,信任模型中节点的评分行为是一种比较容易衡量、描述以及比较的节点行为,因此我们在本发明中针对此类行为提出行为相似度的计算、衡量算法以及在其之上的共谋团体识别算法,但是,通过采用适当的方法描述节点的其他某种行为,类似地,我们也可以在这种行为之上建立起相应的共谋团体识别方案。
[0150] 最后,尽管为说明目的公开了本发明的具体实施例和附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实施例和附图所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。