专利名称:用于在结构化对等网络中检测恶意端的监督者端的制作方法
技术领域:
本发明涉及用于在对等(P2P)网络内检测对等节点的不当行为 的方法。此外,本发明涉及连接至P2P网络的终端,该终端在P2P 网络中充当检测对等节点的不当行为的测试者端。并且本发明涉及计 算机可读介质,其包含在充当测试者端的终端上执行的代码,该代码 适于检测对等节点的不当行为。
背景技术:
网络安全缺口妨碍了表现为栅格、集群、内联网、外联网或P2P 系统的分布式计算系统的应用。特别地,P2P流式系统经常假设主机 是协作的。然而,在互联网的开放环境中该假设并不一定成立。对等(P2P)通信以及实际上所有类型的通信都依赖于在所选实 体之间建立有效连接的可能性。然而,由于实体在网络内移动、拓朴 改变或/和无法更新地址租约,实体可以具有一个或多个可以变化的地 址。因此,对此问题的典型的架构性解决方案是为每个实体指派稳定 的名称,并在需要连接时将该名称"解析,,为当前地址。这一名称到 地址的转换必须非常健壮,并且还必须允许容易和快速的更新。为了增大那些希望连接到某实体的实体找到该实体的地址的可 能性,包括对等名称解析协议(PNRP)在内的多种对等协议允许实 体通过各种机制公布其地址。 一些协议还允许客户端通过处理来自网 络中其他实体的请求来获知其他实体的地址。实际上,正是对地址的 获知支持了对等网络的成功操作。也即,关于网络中其他对等端的信 息了解越多,针对特定资源的搜索的收敛可能性就越大。然而,在对等协议下面没有健壮的安全性基础设施的情况下,恶 意实体可以轻易地j波坏这种对等系统的收^:能力。这种石皮坏例如可以由从事身份窃取的实体造成。在这种对对等网络的身份窃取攻击中,恶意节点公布其不具有授权关系的标识(ID)的地址信息,也即,恶 意节点既不是该ID的所有者也不是群组成员等。恶意实体还可以在 安全节点响应之前先进行截取和/或响应,由此使其看起来是安全节点。通常,P2P网络攻击可能试图破坏或耗尽节点或网络资源。在 PNRP中,恶意实体还可以通过将大量不良信息涌入网络来阻塞PNRP 解析,从而使网络中的其他节点倾向于将请求转发给不存在的节点 (这将对搜索的收敛造成消极影响)或攻击者所控制的节点。还可能 通过在将用以发现资源的RESOLVE (解析)分组转发给下一节点之 前对其进行修改或者通过将无效的RESPONSE (响应)发送回生成 RESOLVE分组的请求者来降低PNRP的名称解析能力。恶意实体还 可能通过试图确保搜索不收敛来破坏对等网络的操作,其中确保搜索 不收敛例如是通过以下方式实现的试图将搜索转发给进一 步远离所 请求ID的节点,而不是将搜索转发给在其高速緩存中距离ID较近的 节点以帮助搜索收敛。可选地,恶意实体可以仅仅是根本不对搜索请 求进行响应。PNRP解析还可能因为恶意节点代表有效ID发送无效 BYE(再见)消息而受到妨碍。结果,节点云(cloud)中的其他节点 可能将该有效ID从其高速緩存中移除,这减少了其中存储的有效节 点的lt目。尽管简单地确认地址证书可以防止身份窃取问题,但是这对于妨 碍PNRP解析的攻击是无效的。攻击者可以连续生成可验证的地址证 书(或者预先生成它们),并在对等节点云中涌入相应的ID。如果 任何节点试图验证ID的所有权,攻击者将能够证实它是该涌入ID的 所有者,因为实际上它就是。然而,如果攻击者设法生成足够的ID, 它就可以将大多数对等搜索引到它控制的节点之一。 一旦恶意节点将 搜索引到受控节点,攻击者便在相当程度上控制和引导了网络的操作。 , 恶意节点还可能尝试拒绝服务(DoS)攻击。在P2P节点改变时,它可以将其新的信息发布给其他网络节点。如果获知新节点记录的所有节点都试图执行ID所有权检查,将发生针对所公布ID的所有者的 网络活动风暴。利用该弱点,攻击者可以通过使某个目标非常受欢迎 来发动对该目标的互联网协议(IP) DoS攻击。例如,如果恶意实体 将互联网网站IP地址公布为已更新节点的ID IP,则接收到所公布IP 的对等网络中的所有节点都将试图连接该IP以验证记录的真实性。 当然,网站的服务器将无法证实ID的所有权,因为该信息是攻击者 生成的。然而破坏已经发生。也即,攻击者说服对等群中的安全部分 将验证请求涌入该IP地址,并可能有效地使其关闭。在US 2003/0226033中描述了一种方法,其基于以下主要步骤 当计算机系统通过用户的引导或从对等计算机系统接收到程序时,该 计算机系统查询黑名单程序的数据库。如果在黑名单数据库中找到了 所接收的程序,则该计算机系统不允许所接收的程序运行。如果在黑 名单数据库中没有找到所接收的程序,则该计算机系统扫描所接收的 程序,以确定如果所接收的程序在计算机系统上运行它是否可能引起 不期望的行为。如果计算机系统确定所接收的程序可能引起不期望的 行为,则计算机系统将所接收的程序添加到黑名单数据库中,并且不 允许所接收的程序在计算机系统上运行。但是这种解决方案是相当有 限的,因为其仅对已经被添加到黑名单的程序是成功的。它无法真正 地4企测恶意端。在US 2006/0179139中,描述了 一种安全性基础设施和方法,其 禁止恶意节点破坏对等网络的正常操作的能力。该发明的方法使节点 是自验证的,从而允许节点使用安全身份和不安全身份两者。在需要 时或有机会时,通过在已有消息上附带(piggyback)证明来确i人ID 所有权。通过随机选择连接到哪个节点来降低最初连接至恶意节点的 可能性。此外,通过维护需要进一步响应的先前通信的有关信息可以 识别来自恶意端的信息,并且忽略来自恶意端的信息。通过允许节点 在其资源使用超过预定界限时忽略请求来禁止拒绝服务攻击。通过要 求待移除的节点对撤销证书进行签字来降低恶意节点移除有效节点的能力。这种解决方案无法完全解决问题,因为恶意节点仍然能够进 行操作,也即,没有通过某种方法对其去激活。在US 2006/0215575中描述了一种解决方案,其基于对与P2P整 体健康状况相关联的一些统计的分析,该统计是相对于P2P网络中的 各个节点以及节点对节点的性能而进行收集和分析的。在与活动 (live)P2P网络结合使用时,健康状况统计可以提供对网络性能的 实时反映。这种反映可以用来调节P2P网络拓朴或者用来隔离表现不 佳的节点或恶意节点。但是这种解决方案基于例如控制器和其他仪器 的附加硬件。在Xing Jin等人在ICME 2006,第1537-1540页的论文"Detecting malicious hosts in the presence of lying hosts in peer-to-peer streaming" 中,讨论了如何基于其历史表现来检测恶意主机(例如,具有攻击动 作和反常行为)。在提议的系统中,每个主机监控其邻居的表现并将 其报告给服务器。基于这些报告,服务器计算主机声誉,声誉低的主 机是恶意的。问题在于,主机可以通过向服务器提交伪造的报告来撒 谎。为了克服该问题,Xing Jin等人的论文中提出了将处理撒谎主机 中的声誉计算问题公式化为最小化问题,并通过传统的Levenberg-Marquardt算法对其求解。但是这种解决方案远远不能令人满意。在US 2006/0074946中描述了 一种用于网络管理的分布式代理技 术。该技术使用广泛分布在各种网络设备上的客户端来监控网络。发明内容根据上文所述,本发明的目的是通过足够准确的方式检测恶意 端,以便能够在不花费过多其他代价的情况下隔离恶意端。根据本发明,该目的是通过检测P2P网络内对等节点的不当行为 的方法实现的。该方法包括从该网络中选择对等节点充当测试者端的 步骤。这种测试者端继而向P2P网络中发送测试请求消息,该测试请 求消息将测试者端本身作为目的地。测试者端通过收集与测试请求消息相关的任何可能的响应消息来分析P2P网络的行为。测试者端识别 接收的对测试请求信息的响应消息中与根据预定义的P2P网络规则 而管理的属性的任何差异。在发现不当行为而无法识别不当行为对等 节点的情况下,则从P2P网络中选择不同的对等节点充当新的测试者 端。该新的监督者或者说测试者端通过应用上面的相同步骤以与先前 的测试者端相同的方式进行操作。在这种情况下,该方法还包括比较 由不同测试者端获得的识别结果以试图识别不当行为对等节,泉的步 骤。在没有检测到不当行为对等节点的否定情况下,可以在未来的某 一时间通过从P2P网络中选择另外的不同对等节点来应用上面的检 测过程。可以应用这种方法,直到可以识别不当行为对等节点或者测 试了所有对等节点。可替换地,可以在某个预定义的时间间隔之后定 期应用这种方法。在不当行为对等节点被识别的情况下,有可能通过 更新预定义的管理P2P网络的规则,但不排除其他方法,来将不当行 为对等节点从P2P网络中丢弃,从而将该不当行为对等节点从该P2P 网络中隔离。在根据本发明的可选方案中,从P2P网络中选4奪至少两个对等节 点充当测试者端。在这种情况下,发往P2P网络以i殳法识别不当行为 端的测试请求消息由两个测试者端之一发送,这次测试请求消息以另 一测试者端为目的地。该另一测试者端执行对P2P网络行为的分析, 将所接收的对测试请求消息的响应消息与相应的具有相同目的地的、 没有沿着根据预定义的管理P2P网络的规则的路径而是直接发送到 该另 一 测试者端的测试请求消息进行比较。在发现了不当行为但无法识别不当行为对等节点的情况下,从 P2P网络中选择不同的对等节点充当新的测试者端。应用该步骤,直 到包围了可能的不当行为对等节点,也即,将其从P2P网络中隔离出 去。在某个特定的可选方案中,预定义的管理P2P网络的规则涉及在 该网络内转发某个请求时所使用的路由规则和路径。本发明还涉及作为P2P网络的一部分的终端,该终端充当测试者 端,具有计算机存储介质,所述计算机存储介质包含适于执行上述检测方法的步骤的代码。在发现不当行为但无法识别该行为对等节点的情况下,则该终端释放测试端属性,以1更分发给P2P网络中的其他终 端。具有测试端属性的所述其他终端将充当新的监督者或测试者端, 并应用根据本发明的检测方法。在根据本发明的某个实施方式中,该终端与该P2P网络中的至少 一个第二终端一起充当测试者端。在这种情况下,这两个测试者端均 具有计算机存储介质,其包括适于执行相应检测方法的代码。所述相 应检测方法是两个测试者端之一向P2P网络中发送网络测试请求消 息,该测试请求消息以另一测试者端作为目的地。分析和识别步骤由 目标测试者端执行,其将所接收的对测试请求消息的响应消息与相应 的具有相同目的地的、没有应用根据预定义的管理P2P网络的规则的 路径而是直接从第 一 测试者端发送给第二测试者端的测试请求消息 进行比较。本发明还涉及根据预定义规则管理的、包括如上所述的充当测试 者端的终端的P2P网络。在从属权利要求、下面的说明书和附图中描述了本发明的有益进展。
现在将参考附图进一步阐述本发明的示例性实施方式,其中 图1是在应用根据本发明的方法时的P2P网络的示意图; 图2到图4是根据本发明的具有2个节点充当测试者节点的P2P 网络的示意图;图5是在消除了所识别的恶意节点之后的P2P网络的示意图。
具体实施方式
根据本发明,根据待分析的P2P网络终端来定义所谓的监督者或 测试者端。对充当测试者端的第 一终端的选择可以随机进行,或者应 用 一些预定义的规则来进行。该第 一终端就是第 一个被选择的测试者端,其在将请求转发给结构化P2P网络时设法确定该P2P网络是否没 有按照有效的方式运转。测试者端通过网络的测试消息部分进行检 查,并对其进行确认。以这种方式,其可以检测所谓的恶意端,所述 恶意端的行为不满足所应用的P2P算法。这意味着如果某个请求通过 这样的端,则对该请求的应答不可能是成功的或/和正确的。在应用根据本发明的解决方案时,可以检测恶意节点或恶意端的 以下三种不当行为 对请求进行错误路由没有根据针对该P2P网络的指定算法来路由请求。这破坏了路由,并且将可能导致通常可被成功应答的请求失败。 阻塞请求恶意节点故意阻塞请求,以阻碍成功的响应。 *内容操纵恶意节点通过相似的且恶意的方式改变请求的内容。 这可以具有若干后果,例如导致失败的请求或错误响应。被故意 操纵的响应在其请求端按照错误信息工作时还可能导致其他的问题。在实现根据本发明的解决方案时,主要有两种可能性可以选择。 在一种情况下,选择单个监督者或测试者端,其发送最终将返回到自 身的测试P2P请求。由监督者或测试者端发送到P2P网络中的请求必 须以该测试者端自身作为最终目的地。并且根据测试者端在接收回被 转发的测试请求时收集的时间或其他参数,测试者端继而将能够识别 是否是不当行为,或者甚至在更好情况下能够识别不当行为恶意节 点。根据本发明的 一种可选实施方式是基于将两个节点用作监督者 或测试者端。它们在P2P网络中的位置构成要测试的P2P网络的区域。 实际上,在成功地测试区域之后,可以将测试属性分发给其他终端, 以便定义新的待分析的P2P网络的区域。在本发明中还可以具有多于 两个的同时运行的监督者端。这将提高在待分析的P2P网络中检测恶 意端的速度。在任何情况下,为了测试网络的一部分,测试者端知道应用'于P2P本发明的测试者端可以用于任意类型的结构化 P2P网络。对于以下的说明,如图1到图5所示,使用了环形网络。 但是可以在具有不同拓朴的网络上实现本发明。根据本发明的测试过程如下图1示出了具有特定数量节点的 P2P网络,所有节点分布在某种类型的环型拓朴中。该拓朴定义了管 理P2P网络所依据的的预定义规则,也即,在该P2P网络中传送或转 发任何类型的请求时应用的规则。从该P2P网络中选择节点中的两个 充当测试者或监督者端,即A和B。在实现根据本发明的方法时,监 督者端A(可以是在P2P网络中交互的任意类型的终端)向P2P网络 发送测试请求消息,其目的地是另一监督者节点B。在P2P网络中根 据预定义的管理该网络的规则将该请求从 一 个节点转发到另 一 节点。 图1中通过小箭头示出这种转发,其从监督者端A到直接邻居节点3, 并随后转发到后续邻居7、 8、 12、 15,直至到达第二监督者端B。测试者或监督者端B对所接收到的由其邻居节点15转发的测试 请求消息进行分析,将其与从监督者端A直接传送给监督者端B的 第二测试请求消息进行比较。该直接传送在图1中由A和B之间的 大箭头示出,并且可以使用允许这种P2P网络中进行直接连接的不同 类型的规则。这种直接链路例如可以基于来自P2P算法的chord路由 (finger )或chord后继。这种直接链路的一种可选方案可以通过使用 所谓的社会路由(来自好友列表的好友)来给出,其发起某种类型的 应用(消息工具、VoIP工具)。另一可选方案可以通过使用上一次连接的对等端来给出。也可以由初始监督者端A通过收集监督者端B沿着图1中大箭头所示的直接链路而转发的所有请求消息来执行对P2P网络行为的分 析。在图l所示的情况下,没有检测到不当行为,这意味着在两个监 督者端A和B之间没有恶意节点。由监督者端A发送的测试请求消 息正确地遵循预定义的管理网络的规则。在图2中示出了一种不同的情况,其中来自P2P网络的节点之一 是恶意节点。该恶意节点是节点8,其位于两个所选的监督者端A和B之间。在这种情况下并如图2所示,由监督者端A发送的测试请求 消息没有达到监督者端B,这是由于恶意节点8位于这两个监督者或 测试者端A和B之间。因此,在从其邻居节点7接收到该测试请求 消息时,恶意节点8根据错误的规则对其进行转发,例如,转发到另 一节点45而不是其顺行的第二邻居节点12,由此违反了预定义的管 理该P2P网络的规则。两个监督者端A和B能够识别不当行为,但 是还无法定位恶意节点。在这种情况下,释放作用于充当监督者端的 节点(即,A和B)的测试端属性,将该测试端属性分发给P2P网络 的其他终端或节点。在图3中示出了被分发了测试端属性的节点,使得现在两个监督 者或测试者端A和B之间只有两个节点7和8。这里,选择了一种简 单的过程将测试端属性分发给与最初选择的监督者端相邻的两个节 点从而减小测试区域。可以选择不同的过程,例如,将测试者端属性 分发给隔一个的邻居节点,以试图加速检测方法。继而由新选择的监 督者端A和B来应用根据本发明的检测方法。在监督者端A所转发 的测试请求消息在到达第二监督者端B时符合所有预定义规则的情 况下,则表示测试区域不包含恶意节点。然而如果P2P网络中存在恶 意节点,则必须改变测试区域,直到定位恶意节点,这是如图4中所 示的情况,其中两个监督者端A和B最终能够检测到恶意端8。用于 收缩测试区域的最优算法依赖于基础P2P网络,也即,预定义的管理 网络的规则。图5示出了为了使所定位的恶意节点B不活动而对预定义的管理 网络的规则进行改编之后的P2P网络。在图5所示的情况中,简单地 将恶意节点排除出P2P网络,从而使通过该网络转发的任何消息将从 节点7跳跃到节点12,而避免了其间的节点8。可以应用使恶意节点 不活动的其他可能的方法。对恶意端或节点的检测是构建稳定和健壮的P2P网络的基本要 求。根据本发明的解决方案的实现允许通过适当的方法(侈£如将恶意 端排除)来构建一种用以抵抗某个恶意端产生的损坏的策略。
权利要求
1.一种用于检测根据预定义规则管理的对等(P2P)网络内的对等节点的不当行为的方法,所述方法包括以下步骤a)从所述P2P网络中选择对等节点充当测试者端;b)从所述测试者端向所述P2P网络中发送测试请求消息,该测试请求消息以所述测试者端自身为目的地;c)所述测试者端收集与所述测试请求消息相关的任何可能的响应消息,从而分析所述P2P网络的行为;d)所述测试者端根据所接收到的对所述测试请求消息的响应消息来识别与根据所述预定义规则而管理的属性的任何可能的差异;e)在发现不当行为但无法识别不当行为对等节点的情况下,从所述P2P网络中选择不同的对等节点充当测试者端,并相应地应用步骤b到d;f)比较不同测试者端所获得的识别结果,以试图识别所述不当行为对等节点,并且在不能识别的情况下,通过从所述P2P网络中选择其他不同的对等节点并应用步骤b到f来重新开始检测过程;g)在识别不当行为对等节点时,通过更新所述预定义的管理所述P2P网络的规则从所述P2P网络中丢弃所述不当行为对等节点。
2. 根据权利要求1所述的检测方法,其中,在所述步骤a)从所 述P2P网络中选择至少两个对等节点(A、 B)充当测试者端(A、 B), 在所述步骤b)由所述两个测试者端之一 (A)发送测试请求消息到 所述P2P网络,所述测试请求消息以另一测试者端(B)作为所述测 试请求消息的目的地,而所述步骤c)和d)是通过以下方式来扭^亍 的将所接收到的对所述测试请求消息的响应消息与相应的具有相同 目的地的、没有沿着根据所述预定义的管理所述P2P网络的规则的路 径而是直接发送到所述另一测试者端的、具有相同目的地的相应测试请求消息进行比较。
3. 根据权利要求2所述的检测方法,其中,在发现不当行为而无法识别不当行为对等节点的情况下,从所述P2P网络中选择至少一个 不同的对等节点充当测试者端,从而试图包围可能的不当行为对等节点。
4. 根据权利要求1或2所述的检测方法,其中,所述预定义规则 涉及在所述P2P网络中转发某个请求时使用的路由规则和路径。
5. —种根据预定义规则管理的对等(P2P)网络中的终端,所述 终端充当测试者端,所述测试者端是从所述P2P网络中选择的节点, 其具有计算机存储介质,所述计算机存储介质包含适于执行以下步骤 的代码从所述测试者端向所述P2P网络中发送测试请求消息,该测试请 求消息以所述测试者端自身为目的地;所述测试者端收集与所述测试请求消息相关的任何可能的响应 消息,从而分析所述P2P网络的行为;所述测试者端根据所接收到的对所述测试请求消息的响应消息 来识别与根据所述预定义规则而管理的属性的任何可能的差异;在发现不当行为但无法识别不当行为对等节点的情况下,所述终 端释放测试端属性,将所述测试端属性分发给所述P2P网络的其他终端。
6. 根据权利要求5所述的终端,其中,所述终端(A)至少与所 述P2P网络的第二终端(B) —起充当测试者端,使所述两个测试者 端之一 (A)向所述P2P网络中发送测试请求消息到所述P2P网络, 该测试请求消息以另一测试者端(B)作为目的地,而所述分析和识 别步骤是通过以下方式来执行的将所接收的对所述测试请求消息的 响应消息与相应的具有相同目的地的、没有应用根据所述预定义的管 理所述P2P网络的规则的路径而是直接发送到所述另一测试者端的测试请求消息进行比较。
7. —种计算机可读介质,包括在充当测试者端的终端上执行的代 码,所述测试者端是从根据预定义规则而管理的P2P网络中选择的节 点,所述代码适于通过执行以下步骤来检测对等节点的不当行为从所述测试者端向所述P2P网络中发送测试请求消息,该测试请 求消息以所述测试者端自身为目的地;所述测试者端收集与所述测试请求消息相关的任何可能的响应 消息,从而分析所述P2P网络的行为;所述测试者端根据所接收到的对所述测试请求消息的响应消息 来识别与根据所述预定义规则而管理的属性的任何可能的差异;在发现不当行为但无法识别不当行为对等节点的情况下,所述终 端释放测试端属性,将所述测试端属性分发给所述P2P网络的其他终端。
全文摘要
本发明提出一种用于在结构化对等网络中检测恶意端的监督者端以及一种用于检测P2P网络内的对等节点的不当行为的方法。该方法包括从该网络中选择对等节点充当测试者节点的步骤。该测试者节点继而发送以该测试者对等节点自身为目的地的测试请求消息。测试者端通过收集与测试请求消息相关的任何可能的响应消息来分析P2P网络的行为。测试者端识别与根据P2P网络的预定义规则而管理的属性的任何可能的差异。在发现不当行为但无法识别不当行为对等节点的情况下,则从P2P网络中选择不同的对等节点充当新的测试者端,直到可以识别不当行为对等节点或是检测了所有对等节点。在不当行为对等节点被识别的情况下,将该不当行为对等节点从P2P网络中隔离。
文档编号H04L12/26GK101325518SQ20081011014
公开日2008年12月17日 申请日期2008年6月13日 优先权日2007年6月15日
发明者M·德雷夫尼奥克, T·施特劳斯 申请人:阿尔卡特朗讯