专利名称:一种p2p网络中基于行为相似度的共谋团体识别方法
技术领域:
本发明涉及一种网络中共谋团体的识别方法,尤其涉及一种P2P网络中基于行为相似 度的共谋团体识别方法,属于信息安全技术领域,特别是P2P网络安全领域。
背景技术:
P2P网络的出现在很大程度上改变了互联网的发展模式,许多网络应用程序依托P2P 网络技术得到迅猛发展,典型的如eMule, BT等文件共享系统。由于P2P网络天生的开放 性、匿名性和难以追踪性等特点,恶意节点很容易侵入到网络中并发起攻击,因此,P2P 网络在带来便利的同时,也产生一些安全威胁,甚至成为传播病毒的途径。为了解决这一 问题,P2P网络引入了信任机制,对网络中恶意节点的活动起到了比较好的抑制作用。
信任机制的工作原理是通过对恶意节点赋予低信任值的方法达到抑制恶意节点活动 的目的,实践证明该机制效果显著。但是信任机制本身也存在一系列安全问题,也会遭受 恶意节点的攻击。现有的针对P2P信任机制的攻击方式可以大致分为单节点攻击和共谋团 体攻击两类,其中,单节点攻击能力有限,且相对容易识别并防范,而共谋团体攻击由于 可以采用更加复杂高效和难以识别的攻击方式,破坏性远大于单节点攻击。因此对共谋团 体攻击的识别和抵制措施显得非常有必要。
现有的针对共谋团体的识别方案主要是基于对节点IP聚类分析,但是这种基于节点IP 的共谋团体识别方案的应用范围受到很大的限制。它的工作原理是通过对节点的IP来源进 行聚类分析,将来源相近的节点视作共谋团体成员。该方案正确运行的前提是,共谋团体 的成员同时在地理分布上也是邻近的,即该方案只限于识别由IP比较接近的节点组成的特 殊共谋团体。但是现实中这种特殊情况并不总是出现,尤其在botnet网络出现之后,恶意 节点可以很方便的集合大量IP分布于各地的节点组成共谋团体发起攻击,在这种情况下, 基于节点IP的共谋团体识别方案无效。
因此有必要提出一种新型的更加有效的共谋团体识别方案。
发明内容
本发明的目的是为P2P网络信任机制提供一种适用范围更广、更加有效的共谋团体识
别方案。
本发明的技术内容 一种P2P信任模型中的共谋团体识别方案。该方案通过分析节点 之间行为的相似度检测网络中是否存在共谋团体,与现有的共谋团体识别方案相比,它的 理论基础可靠,适用范围更为广泛,可以有效地对P2P网络中的共谋团体进行识别。
本发明对共谋团体的定义如下所示-
设若干节点组成的集合〃,如果V中的节点个数不小于设定值"且V中任意两个节 点之间的相似度不小于设定值"则我们称该集合"构成一个共谋团体。
该方法的工作原理如下同一共谋团体中的成员由于发起攻击的需要,在行为模式上 表现出较大的相似性,因此我们可以根据这种相似性识别出属于同一共谋团体的节点。
本发明的技术方案为
一种P2P网络中基于行为相似度的共谋团体识别方法,其步骤为
1) 为网络中每个节点分配一个信任管理节点和一个行为记录节点;
2) 每个节点的信任管理节点监测网络中其他节点对该节点的评分行为;
3) 每个节点的行为记录节点负责跟踪记录该节点对其他节点的评分行为,并汇总得到 该节点的评分向量;
4) 信任管理节点定期检测在对所负责节点进行评分的节点中,评分行为异常的节点集 合的数量是否超过设定值,如果超过设定值则启动共谋团体检测过程;
5) 针对评分行为异常的节点集合,共谋团体检测过程如下首先从该集合中各个节点 的行为记录节点处收集相关节点的评分向量;然后根据节点的评分向量计算节点之 间的行为相似度;最后对行为相似度计算结果进行聚类分析,检査行为相似节点的 数量是否超过设定值,从而判断是否存在共谋团体;
6) 信任管理节点根据反馈的检测结果更新节点的全局信任值。
进一步的,所述方法中利用安全hash函数中的SHA-1算法为节点分配所述信任管理 节点和所述行为记录节点。
进一步的,所述信任管理节点监测网络中其他节点对该节点的评分行为的过程如下 任一节点i完成从该节点j的下载后,根据下载结果形成对节点j的评价数据,然后将评 价数据提交给节点j的信任管理节点,同时节点j的信任管理节点判断所接收的评分行为 是否存在异常,如果存在异常则标记节点i为评分行为异常的节点;所述评价数据包括 评价节点ID、被评价节点ID、评价结果、具体评分。
进一步的,所述行为记录节点跟踪记录该节点对其他节点的评分行为的过程如下节
点i完成从来源节点j的下载后,首先向该来源节点j的信任管理节点提交评价数据,然 后节点j的信任管理节点将该评分数据报告给节点i的行为记录节点。
进一步的,所述评分行为异常的节点的判定公式为:
,其中&为节点i对节
点j的信任评价,^为节点j的当前全局信任值。
进一步的,所述评分向量的表示方法为[A,&,…,《J,其中,《,,&,...,《 分别表示节点
i对其他节点1,2,…,n的评价。
进一步的,所述方法中采用余弦相似度衡量函数计算节点之间的行为相似度。 进一步的,所述方法中只计算节点在共同项目上所表现出来的行为之间的相似度。
进一步的,所述聚类分析的方法为
1)将行为相似的一组节点相似度数据组成一对称矩阵人^^ i'.',,其中n为节点
数目,i为矩阵L中任一元素,它表示节点/与节点7之间的行为相似度;如果、", 则令%=0,其中f为行为相似度阈值;
2)使用矩阵变换算法对矩阵S胃进行等价变换,最终得到矩阵&x"
co o
0 C2 0
0 o ...
其中,
CU力",2,…)是矩阵^;主对角线上不含0的yfc,阶子方阵;
3)如果^L则输出组成矩阵C',^的节点集合并认为它们共同组成一个共谋团体,
其中,^为共谋团体的规模阈值。
本发明中所说的节点行为具体来说是指节点对其他节点的评分行为,下面我们以基于
分布式哈希表(DHT)的P2P网络为例进行说明。 本发明的具体实现步骤如下所示
1) 每个节点在加入到P2P网络中时,都由系统随机分配两个特定的节点信任管理
节点和行为记录节点;
2) 信任管理节点监测网络中其它节点对其所负责管理节点的评分行为,监测节点在 评分时是否存在行为异常,即该节点所提交评分与当前结果的差异是否在设定的 合理阈值范围内。表现出行为异常的节点我们称之为异常节点;
3) 行为记录节点跟踪记录其所负责记录的节点对其他节点的评分行为,将所汇总得 至U的评分行为以向量[H…,/y表示,其中Ry表示节点i对节点j的评分结果。
该向量描述了它所负责节点的历史行为,我们将使用该向量衡量节点之间的行为 相似度。
4) 当信任管理节点在监测过程中发现在对所负责节点进行评分的节点中,评分行为 表现异常的节点超过设定数量时,则认为可能存在共谋团体攻击,并启动共谋团 体检测过程;
5) 在启动共谋团体检测过程后,信任管理节点首先从各个异常节点的行为记录节点 那里收集相关节点的评分向量(历史行为信息);
6) 根据节点的评分向量使用余弦相似度方法计算节点之间的行为相似度,详细计算 过程参见具体实施过程的说明部分;
7) 对行为相似度计算结果进行聚类分析,检查行为高度相似的节点数量是否超过一 定规模,从而判断是否存在共谋团体,详细的聚类分析过程参见具体实施过程部 分;
8) 将检测结果反馈回信任管理节点,由信任管理节点根据检测结果更新节点的信任 值,保证节点信任值的真实可靠。
本发明的积极效果为
本发明所釆用的基于行为相似度的共谋团体检测算法,通过定时检测网络中节点的评 分行为,从而发现那些行为表现异常的节点,然后通过对这些异常节点之间的行为相似度 进行分析,确认是否存在共谋团体。与其他识别算法如基于IP的共谋团体识别算法相比, 该算法适用范围更广,可以识别大多数的团体共谋行为,大大提高了 P2P网络信任模型对 共谋攻击的抵制能力。
图l为本发明的原理示意图2为本发明的运行流程图。
具体实施例方式
本发明的原理示意图如图1所示,首先在网络中利用安全Hash函数为每个节点分配 信任管理节点和行为记录节点,这两个节点分别负责管理该节点的信任值和记录该节点对 其他节点的评分行为;然后,由信任管理节点实时监控其他节点对该节点的评分,特别是 评分行为表现异常的节点。如果发现在对该节点评分的节点中,行为异常的节点超过一定 数量,则启动共谋团体检测算法,判断是否存在团体共谋行为。如果发现有共谋团体,则 利用该检测结果重新计算信任值,清除该团体对信任值计算的干扰。 参考本发明的流程图2,下面给出详细过程。
第一步,为每个节点分配信任管理节点和行为记录节点,具体分配过程如下-使用两个不同的安全哈希函数,设为^和R,分别对节点ID进行哈希运算,得到两 个不同的哈希运算结果A和^,即
然后利用P2P网络的节点定位规则确定两个节点/> 和g (节点ID分别为和/化)分别 为该节点的信任管理节点和行为记录节点,即
其中,1oc表示P2P网络定位算法。
信任管理节点负责汇总其他节点对该节点的评分,并计算得到该节点的全局信任值, 同时,本发明中检测共谋团体的核心算法也是由信任管理节点负责执行;行为记录节点负 责记录该节点对其他节点的评分行为,它保存了该节点的评分历史。
需要说明的是,节点的信任管理节点/> 与行为记录节点^并未在确定之后就一成不变 了,当出现网络波动与网络环境发生变化时,信任管理节点与行为记录节点的位置可能随 之变动。不过,P2P网络的定位机制能保证始终可以通过上述计算过程找到当前的信任管 理节点与行为记录节点。
本发明使用SHA-1算法作为节点分配过程中所使用的安全哈希函数,利用该函数的 安全单向性,我们可以保证信任管理节点和评分记录节点的分配过程是安全可靠的,可以 最大限度的避免出现被管理节点与该两节点协同作弊的可能,因为使用安全哈希函数 SHA-1的分配过程可以保证
1) 节点无法主动选择哪个节点来管理自己
2) 节点同时也无法选择自己将要管理哪个节点
在节点分配过程中,所有节点只能被动接受哈希函数的随机分配结果,这样就避免了 节点之间的共谋作弊问题,提高了数据管理的安全性;
第二步,节点在完成下载后对来源节点进行评分,将评分提交给来源节点的信任管理 节点。
节点完成下载后,需要首先对下载结果进行鉴别,根据鉴别结果做出相应的评价好 评或者坏评,以及具体的评分。完成评价后提交的评价数据包括以下三部分
1) 评价节点ID(标识评价是由谁做出的)
2) 被评价节点ID(标识被评价对象是哪个节点)
3) 评价结果
该评价的内容可以描述如下-<rating>
<rater>吗</rater> <rated> iz^. </rated> <result> & </result> </rating>
其中,吗为评价节点,A为被评价节点,A表示节点/Z),对节点/^的评价。 节点i将此评价数据提交给节点j的信任管理节点,由其对评分进行汇总。
第三步,节点i向下载来源节点j的信任管理节点提交评价数据后,信任管理节点同 时向节点i的行为记录节点报告此次评分行为,由后者对其评分行为进行汇总。
在本发明中,为了进一步避免节点与行为记录节点之间协同作弊的可能,在提交评价 数据时,我们不允许节点直接向行为记录节点报告,而是采取通过信任管理节点转交的方 式,这样的做法除了增加了节点之间协同作弊的难度之外,还保证了系统内部的一致性。
第四步,信任管理节点每隔时间f对该节点的评分结果进行分析,检査是否存在行为 异常的节点,如果发现行为异常节点,则累计目前为止检测到的异常节点数,若累计数量 超过一定值,则启动共谋团体检测算法进行检测。
发现单节点行为异常是进行共谋团体检测的基础,本发明对共谋团体的检测是建立对 异常节点集合中节点之间行为相似度分析之上的。
本发明所提出的共谋团体检测方法所涉及的相关算法分别叙述如下
信任管理节点在整个共谋团体检测算法中扮演核心角色,负责监测异常节点行为、收 集节点行为向量、计算节点之间行为相似度以及判别是否存在共谋团体等任务。信任管理 节点在接受到节点评价数据之后的处理过程如下面的算法所示
输入节点i对节点j的信任评价;
输出是否存在共谋团体的检测结果;
<formula>complex formula see original document page 10</formula>
其中,/^为节点i对节点j的评分,W,为节点j目前的全局信任值,cr为系统设定的
行为异常阈值,J为共谋团体的规模阈值。
共谋团体检测算法DetectClique()是整个检测过程的核心算法,它的具体执行过程如下 所示
输入异常节点集合u;
输出判定存在的共谋团体并更新信任值计算结果;
〃e"w脑"g吸)嚴语^束A游疗为记录乾点,垄淳剪贫点!'游伊分厨#
XV!', j' e t/," _/ J s,. j = Ca,SifH(i,力;
〃^",桌会"贫《之/《游疗为裙叙度,^象翁菜,A资厚S脚
顯w
厕奔賴合e舰鄉鹏微桌^柳就d, 〃裙微,嫁菜更嚴蹄游全雄錢
节点之间的行为相似度计算是衡量节点是否构成共谋团体的标准之一,如何高效准确 的得到节点之间的行为相似度是本发明所提出的共谋团体识别算法所考虑的关键问题之
一。我们对算法DetectClique()中计算节点之间行为相似度的算法c。股;nO,力说明如下
本发明将每个节点的评分行为用一个多维向量来表示,如节点i的评分向量可以表示 为W,,i…人],其中,《,,《2,…A分别表示节点i对其他节点1,2,…,n的评价。本发明在衡
量节点行为相似度过程中使用余弦相似度衡量函数,在识别过程中,只计算节点在共同项 目上所表现出来的行为之间的相似度,同时考虑到共谋团体检测问题的特殊性以及向量维 数过高的问题,对相似度衡量过程进行了若干修正,得到新的行为相似度衡量算法C必—z,力
说明如下
设有两个节点/,力它们的评价过的节点集合分别为
令
/ = {c"c2,...,ct}
节点/和_/对集合I中节点的评分向量分别为<formula>complex formula see original document page 12</formula>则节点/和节点_/的行为相似度<formula>complex formula see original document page 12</formula>
上式中,若
则令
<formula>complex formula see original document page 12</formula>
在计算得到各个异常节点之间的行为相似度之后,我们需要根据它们之间的行为相似 度状况进行聚类分析,以检测它们中间是否存在共谋团体。在本发明中,对异常节点进行
聚类分析的算法Cluster(XJ如下所示
在计算得到各节点之间的行为相似度之后,我们需要将这些节点中可能存在的共谋团 体识别出来,以达到抑制恶意共谋团体活动的目的。按照我们对共谋团体的定义,构造共 谋团体识别算法如下
1) 将所有n个节点的行为相似度数据组成一个矩阵
<formula>complex formula see original document page 12</formula>
根据我们的定义,节点之间的相似度是对称的,所以该矩阵是一个对称矩阵。
2) 设^为矩阵^中任一元素,它表示节点/与节点y'之间的行为相似度,若
<formula>complex formula see original document page 12</formula>则令
其中f为行为相似度阈值,在本发明中,我们认为相似度超过e的两个节点有共谋嫌疑。
3) 使用矩阵变换算法对矩阵s^进行等价变换,最终得到矩阵s,',使得矩阵&J的 主对角线子矩阵的数据都非O,而其他部分数据皆为0,即
<formula>complex formula see original document page 13</formula>
其中,C'^(hl,2,…)是矩阵S自'主对角线上不含0的A,阶子方阵。按照我们对共谋团体 的定义,若^>5,则我们输出组成矩阵c'^,的节点集合并认为它们共同组成一个共谋团体。
其中,5为共谋团体的规模闺值。
第五步,利用检测结果重新计算节点信任值,消除共谋团体的干扰。 信任管理节点根据检测结果重新计算节点信任值,目的是消除共谋团体在计算过程中 的影响,保证计算结果的真实可靠性,具体实现可能根据信任模型计算全局信任值时的方 法不同而不同。最直观的做法就是在剔除所有共谋团体成员的评分数据之后重新计算节点 的全局信任值。
至此,基于节点行为相似度的共谋团体识别过程结束。
对于本领域技术人员,还可以根据具体信任模型的不同以及本发明的核心思想设计和 构造自己的共谋团体检测算法,在具体环境中达到最好的效果,从而更好的检测网络中存
在的共谋团体,提升P2P网络的安全性。需要特别说明的是,本文对本发明的说明是以P2P 网络中面向节点的信任模型为例,但是对本发明进行适当的调整后,它同样适用于面向资 源的信任模型。此外,P2P网络中节点的行为是多种多样的,但是相对而言,信任模型中 节点的评分行为是一种比较容易衡量、描述以及比较的节点行为,因此我们在本发明中针 对此类行为提出行为相似度的计算、衡量算法以及在其之上的共谋团体识别算法,但是, 通过采用适当的方法描述节点的其他某种行为,类似地,我们也可以在这种行为之上建立 起相应的共谋团体识别方案。
最后,尽管为说明目的公开了本发明的具体实施例和附图,其目的在于帮助理解本发 明的内容并据以实施,但是本领域的技术人员可以理解在不脱离本发明及所附的权利要
求的精神和范围内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实 施例和附图所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
权利要求
1、一种P2P网络中基于行为相似度的共谋团体识别方法,其步骤为1)为网络中每个节点分配一个信任管理节点和一个行为记录节点;2)每个节点的信任管理节点监测网络中其他节点对该节点的评分行为;3)每个节点的行为记录节点负责跟踪记录该节点对其他节点的评分行为,并汇总得到该节点的评分向量;4)信任管理节点定期检测在对所负责节点进行评分的节点中,评分行为异常的节点集合的数量是否超过设定值,如果超过设定值则启动共谋团体检测过程;5)针对评分行为异常的节点集合,共谋团体检测过程如下首先从该集合中各个节点的行为记录节点处收集相关节点的评分向量;然后根据节点的评分向量计算节点之间的行为相似度;最后对行为相似度计算结果进行聚类分析,检查行为相似节点的数量是否超过设定值,从而判断是否存在共谋团体;6)信任管理节点根据反馈的检测结果更新节点的全局信任值。
2. 如权利要求l所述的方法,其特征在于利用安全哈西函数中的SHA-1算法为节点分配 所述信任管理节点和所述行为记录节点。
3. 如权利要求1所述的方法,其特征在于所述信任管理节点监测网络中其他节点对该节 点的评分行为的过程如下任一节点i完成从该节点j的下载后,根据下载结果形成对 节点j的评价数据,然后将评价数据提交给节点j的信任管理节点,同时节点j的信任 管理节点判断所接收的评分行为是否存在异常,如果存在异常则标记节点i为评分行为 异常的节点;所述评价数据包括评价节点ID、被评价节点ID、评价结果、具体评分。
4. 如权利要求1所述的方法,其特征在于所述行为记录节点跟踪记录该节点对其他节点 的评分行为的过程如下节点i完成从来源节点j的下载后,首先向该来源节点j的信 任管理节点提交评价数据,然后节点j的信任管理节点将该评分数据报告给节点i的行 为记录节点。
5. 如权利要求3所述的方法,其特征在于所述评分行为异常的节点的判定公式为<formula>complex formula see original document page 2</formula>,其中RIJ为节点i对节点j的信任评价,A为节点j的当前全局信任值c
6. 如权利要求l所述的方法,其特征在于所述评分向量的表示方法为[R1,R2,…RN],其中,R1,,R2,…RN分别表示节点i对其他节点1,2,…,n的评价。
7. 如权利要求1所述的方法,其特征在于采用余弦相似度衡量函数计算节点之间的行为 相似度。
8. 如权利要求l、 7所述的方法,其特征在于只计算节点在共同项目上所表现出来的行为 之间的相似度。
9. 如权利要求l所述的方法,其特征在于所述聚类分析的方法为1)将行为相似的一组节点相似度数据组成一对称矩阵5 = " ■. r ,其中n为节点数目,^为矩阵S^中任一元素,它表示节点/与节点_/之间的行为相似度;如果、", 则令、=0,其中f为行为相似度阈值;2)使用矩阵变换算法对矩阵S^进行等价变换,最终得到矩阵S目'-C;,力-l,2,…)是矩阵Sj主对角线上不含0的fc,阶子方阵;<formula>complex formula see original document page 3</formula>;其中,3)如果&>5,则输出组成矩阵c'^的节点集合并认为它们共同组成一个共谋团体,其 中,s为共谋团体的规模阈值。
全文摘要
本发明公开了一种P2P网络中基于行为相似度的共谋团体识别方法,属于信息安全技术领域。本发明的方法为首先为网络中每个节点分配一个信任管理节点用于监测其它节点对其所管理节点的评分行为,和一个行为记录节点用于记录其所管理的节点对其它节点的评分行为;信任管理节点定时检测网络中节点的评分行为,从而发现行为表现异常的节点,当异常节点数量超过设定值后,则进一步分析异常节点之间评分行为的相似度,并判断是否存在共谋团体,最后根据检测结果更新节点的全局信任值。与现有技术相比,本发明适用范围更广,可以识别大多数的团体共谋行为,大大提高了P2P网络信任模型对多节点共谋攻击的抵制能力。
文档编号H04L12/66GK101345627SQ200810118258
公开日2009年1月14日 申请日期2008年8月12日 优先权日2008年8月12日
发明者冯登国, 苏璞睿, 苗光胜 申请人:中国科学院软件研究所