对等网络安全防御方法及系统 【技术领域】
本发明涉及安全领域, 更具体地, 涉及一种对等 (Peer-to-Peer, 简称为 P2P) 网络 安全防御方法及系统。背景技术
在传统网络中, 节点的安全主要是通过安全域、 边界防护及等级保护这些传统的 安全技术来防护的。
例如, 在传统的 IP 网络中的防火墙和 NGN(Next Generation Network, 下一代网 络 ) 或 VoIP(Voice over Internet Protocol, IP 电话 ) 网络中的会话边界控制。但是在 P2P 网络中, 由于覆盖层 (Overlay 层 ) 与底层 (Underlay) 的安全机制完全脱离, Overlay 层无法感知节点在底层上的安全防护强度, 安全域、 边界防护及等级保护这些传统安全机 制在 P2P 网络中不再适用。
P2P 网络的安全问题已经受到越来越多的重视, 但目前对于 P2P Overlay 网络安 全问题的研究大多局限于 Overlay 层本身, 即主要研究由于 Overlay 自身的行为特点所造 成的多种安全威胁及防御措施, 如信任机制、 接入控制、 流量控制等安全机制。
(1) 信 任 机 制 : 对 每 个 P2P 节 点 评 定 信 誉 度, 在 多 个 节 点 可 选 的 情 况 下, 信 誉 度 高 的 节 点 成 为 首 选。 信 任 机 制 的 实 施 可 能 采 用 本 地 推 荐 方 式、 PKI(Public Key Infrastructure, 公用密钥基础结构 ) 方式、 名誉方式和基于角色方式来实现。
(2) 接入控制 : 根据用户已经通过的认证身份或者用户信息来确定用户的接入访 问权限。如果用户试图访问非授权资源或者使用不正确的方式访问已授权资源, 接入控制 拒绝这种尝试并且报告该事件。控制功能可能基于如下因素 : 接入控制信息库 ( 存储节点 实体的接入权限 )、 认证信息 ( 该认证信息包括授予权限 )、 能力 (P2P 节点拥有或者表现的 接入能力 )、 安全标签 ( 根据安全策略授予用户的标签 )、 接入尝试次数、 接入尝试路由、 接 入时长和尝试接入的物理位置。
(3) 流量控制 : 确保 P2P 网络在传送数据和消息时不发生拥塞现象, 主要针对中间 节点资源受限而设置的。
由于 Overlay 网络架设在 Underlay 网络之上, 组成 Overlay 网络的节点会受操作 系统、 网络协议等基础设施条件影响, 因此, 若 Underlay 层的安全防护措施较弱, 则攻击者 会从底层攻陷节点, 从而进一步发起对 Overlay 层的攻击。
综上所述, 现有 P2P 网络的安全防御机制存在如下技术问题 : 现有安全机制大都 针对 Overlay 层上的安全, 但是一个在 Overlay 层上可信的节点, 在 Underlay 层可能安全 性能很弱, 如一个节点可能连基本的防病毒等都没有装, 这些在底层存在安全缺陷的节点 通过 Overlay 路径的传播将破坏 Overlay 层的整体安全。因此, 节点在 Underlay 层安全机 制的强弱将直接影响到 Overlay 网络的安全态势。 发明内容本发明解决的技术问题是提供一种对等网络安全防御方法及系统, 建立 P2P 网络 的 Overlay 层与 Underlay 层融合的安全防御措施。
为解决上述技术问题, 本发明提供了一种对等网络安全防御方法, 包括 :
对等网络 (P2P Network) 检测节点的底层 (Underlay 层 ) 安全性能, 根据检测结 果对所述节点进行安全等级评估 ;
所述 P2P 网络根据所述节点的安全等级, 按照覆盖层 (Overlay 层 ) 安全策略决策 是否允许所述节点加入 Overlay 层 ;
其中, 所述节点的安全等级信息存储在对等网络节点安全等级证书中。
进一步地, 所述 P2P 网络检测节点的 Underlay 层安全性能, 包括 :
所述 P2P 网络对申请加入 Overlay 层的节点的 Underlay 层安全性能进行检测 ; 和 /或
所述 P2P 网络定期对 Overlay 层中现有节点的 Underlay 层安全性能进行检测。
进一步地, 所述 Overlay 层安全策略包括 :
设置节点安全等级列表, 允许所述节点安全等级列表中列出的安全等级的节点加 入 Overlay 层 ; 或者, 设置 Overlay 层安全等级阈值, 允许高于所述 Overlay 层安全等级阈值的安 全等级的节点加入 Overlay 层。
进一步地, 所述检测结果, 是指 : 所述 P2P 网络对所述节点的 Underlay 层安全要素 进行检测后, 形成的节点检测报告 ;
所述 P2P 网络根据所述检测结果对所述节点进行安全等级评估, 是指 : 所述 P2P 网 络根据所述节点检测报告, 按照预先设置的 Underlay 层各安全要素在等级划分中所占的 权重值, 对检测的各安全要素进行加权计算, 根据计算结果评估出所述节点的安全等级。
进一步地, 对所述节点的如下 Underlay 层安全要素的一种或其任意组合进行检 测: 防火墙、 安全防护软件、 操作系统、 安全漏洞、 恶意插件。
进一步地, 所述方法还包括 :
预先设置并调整所述 Underlay 层各安全要素在等级划分中所占的权重值。
进一步地, 所述节点安全等级证书中还包含以下信息 : 证书编号、 节点 ID、 证书发 布者信息。
本发明还提供了一种对等网络安全防御系统, 所述系统包括 :
检测子系统, 用于检测节点的 Underlay 层安全性能 ;
评估子系统, 用于根据所述检测子系统的检测结果对所述节点进行安全等级评 估;
证书管理子系统, 用于将所述节点的安全等级信息存储在节点安全等级证书中 ;
决策子系统, 用于根据所述节点的安全等级证书中的安全等级信息, 按照 Overlay 层安全策略决策是否允许所述节点加入 Overlay 层。
此外, 所述检测子系统进一步用于, 对申请加入 Overlay 层的节点的 Underlay 层 安全性能进行检测 ; 和 / 或定期对 Overlay 层中现有节点的 Underlay 层安全性能进行检 测。
此外, 所述决策子系统进一步用于, 设置并调整所述 Overlay 层安全策略, 所述
Overlay 层安全策略包括 :
设置节点安全等级列表, 允许所述节点安全等级列表中列出的安全等级的节点加 入 Overlay 层 ;
或者, 设置 Overlay 层安全等级阈值, 允许高于所述 Overlay 层安全等级阈值的安 全等级的节点加入 Overlay 层。
此外, 所述检测子系统进一步用于, 对所述节点的 Underlay 层的安全要素进行检 测后, 形成节点检测报告 ;
所述评估子系统进一步用于, 根据所述节点检测报告, 按照预先设置的 Underlay 层各安全要素在等级划分中所占的权重值, 对检测的所述各安全要素进行加权计算, 根据 计算结果评估出所述节点的安全等级 ;
其中, 所述安全要素包括以下安全要素的一种或其任意组合 : 防火墙、 安全防护软 件、 操作系统、 安全漏洞、 恶意插件。
此外, 所述系统还包括控制子系统,
所述控制子系统用于, 预先设置并调整所述 Underlay 层各安全要素在等级划分 中所占的权重值。
通过本发明, 建立了一种 P2P 网络中 Overlay 层与 Underlay 层融合的安全防御体 系, 使 Overlay 层能够感知节点 Underlay 层的安全性能。 附图说明
此处所说明的附图用来提供对本发明的进一步理解, 构成本申请的一部分, 本发 明的示意性实施例及其说明用于解释本发明, 并不构成对本发明的不当限定。在附图中 :
图 1 为依据本发明实施例的 P2P 对等网络安全防御系统的结构示意图 ;
图 2 为依据本发明实施例的对新节点进行检测和安全等级评估的流程示意图 ;
图 3 为依据本发明实施例的对 Overlay 网络现有节点进行定期检测的流程示意 图。 具体实施方式
本发明的核心思想在于, 建立一种 P2P 网络中 Overlay 层与 Underlay 层融合的安 全防御机制, 通过该机制构建统一的节点 Underlay 层安全等级评价体系, 根据节点底层的 安全性能划分安全等级, 并以安全等级证书的形式使 Overlay 层可感知 Underlay 层的安全 性能, 进而保证 P2P 网络的安全。
基于上述思想, 本发明提供一种 P2P 网络安全防御方法, 具体采用如下技术方案 :
P2P 网络检测节点的 Underlay 层安全性能, 根据检测结果对所述节点进行安全等 级评估 ;
所述 P2P 网络根据所述节点的安全等级, 按照 Overlay 层安全策略决策是否允许 所述节点加入 Overlay 网络 ;
其中, 所述节点的安全等级信息存储在对等网络节点安全等级证书中。
其中, 所述 P2P 网络检测节点的 Underlay 层安全性能, 包括 :
所述 P2P 网络对申请加入 Overlay 网络的节点的 Underlay 层安全性能进行检测 ;和/或 所述 P2P 网络定期对 Overlay 网络的现有节点的 Underlay 层安全性能进行检测。
P2P 网 络 按 照 Overlay 层 安 全 策 略, 根据节点安全等级高低控制节点加入 Overlay, 即只允许满足 Overlay 安全策略的节点加入并参与存储和路由 ; 不满足 Overlay 安全策略的节点不能加入, 但可以接入 Overlay 网络获取相应等级的服务。
其中, 所述 Overlay 层安全策略可以包括 : 设置节点安全等级列表, 允许所述节点 安全等级列表中列出的安全等级的节点加入 Overlay 层 ;
或者, 设置 Overlay 层安全等级阈值, 允许高于所述 Overlay 层安全等级阈值的安 全等级的节点加入 Overlay 层。
进一步地, 所述 P2P 网络对所述节点的 Underlay 层的安全要素进行检测后, 得出 的所述检测结果, 是指 : 形成节点检测报告 ;
所述 P2P 网络根据检测结果对所述节点进行安全等级评估, 是指 : 所述 P2P 网络根 据所述节点检测报告, 按照预先设置的 Underlay 层各安全要素在等级划分中所占的权重 值, 对检测的各安全要素进行加权计算, 根据计算结果对所述节点划分安全等级。
P2P 网络综合评估节点 Underlay 层安全要素, 所述安全要素包括但不限于 : 防火 墙、 防病毒软件、 操作系统、 安全漏洞、 恶意插件等, 并根据 Overlay 层具体应用场景调整 Underlay 层各安全要素在等级划分中所占权重, 对节点划分安全等级。
进一步地, 所述方法还包括 : 所述 P2P 网络根据 Overlay 层的不同具体应用, 预先 设置并调整所述 Underlay 层安全要素在等级划分中所占的权重值 ; 并且, 对应 Overlay 层 的不同具体应用, 所设置的 Underlay 层安全要素在等级划分中所占的权重值也不同。
进一步地, 所述 P2P 网络评估出所述节点的安全等级后, 根据节点 ID 及节点安全 等级等信息, 生成节点安全等级证书, 节点安全等级证书是节点 Underlay 安全性能的凭 证。节点安全等级证书的内容至少包括节点 ID、 节点安全等级, 还可以包括 : 证书编号、 证 书发布者信息 ( 如证书发布者的唯一标识符、 证书发布者的签名值 ) 等。
相应地, 本发明还提供了一种对等网络安全防御系统, 所述系统主要包括 :
检测子系统, 用于检测节点的 Underlay 层安全性能 ;
评估子系统, 用于根据所述检测子系统的检测结果对所述节点进行安全等级评 估;
证书管理子系统, 用于将所述节点的安全等级信息存储在节点安全等级证书中 ;
决策子系统, 用于根据所述节点的安全等级证书中的安全等级信息, 按照 Overlay 层安全策略决策是否允许所述节点加入 Overlay 层。
此外, 所述检测子系统进一步用于, 对申请加入 Overlay 层的节点的 Underlay 层 安全性能进行检测 ; 和 / 或定期对 Overlay 层中现有节点的 Underlay 层安全性能进行检 测。
此外, 所述决策子系统进一步用于, 设置并调整所述 Overlay 层安全策略, 所述 Overlay 层安全策略包括 : 设置节点安全等级列表, 允许所述节点安全等级列表中列出 的安全等级的节点加入 Overlay 层 ; 或者, 设置 Overlay 层安全等级阈值, 允许高于所述 Overlay 层安全等级阈值的安全等级的节点加入 Overlay 层。
此外, 所述检测子系统进一步用于, 对所述节点的 Underlay 层的安全要素进行检
测后, 形成节点检测报告 ;
所述评估子系统进一步用于, 根据所述节点检测报告, 按照预先设置的 Underlay 层各安全要素在等级划分中所占的权重值, 对检测的所述各安全要素进行加权计算, 根据 计算结果评估出所述节点的安全等级 ;
其中, 所述安全要素包括以下安全要素的一种或其任意组合 : 防火墙、 安全防护软 件、 操作系统、 安全漏洞、 恶意插件。
此外, 所述系统还包括控制子系统, 所述控制子系统用于, 预先设置并调整所述 Underlay 层各安全要素在等级划分中所占的权重值。
为了便于阐述本发明, 以下将结合附图及具体实施例对本发明技术方案的实施作 进一步详细描述。 需要说明的是, 在不冲突的情况下, 本申请中的实施例及实施例中的特征 可以相互组合。
图 1 示出了本发明实施例的一种 P2P 网络安全防御系统, 实现对节点 Underlay 层的安全性能进行安全评级评估, 安全等级证书的分发、 管理、 撤销, 以及节点加入 Overlay 网络的策略控制等。
如图 1 所示, 该系统包括主要包括 : 检测评估模块、 认证模块、 策略控制模块。 其中, 检测评估模块, 主要负责检测新加入节点的 Underlay 层安全性能, 以及 Overlay 现有节点的定期安全检测, 并根据 Overlay 具体应用场景对节点 Underlay 层安全 性能进行安全等级评估, 并将评级结果发送给认证模块 ;
认证模块, 负责根据节点安全等级信息, 生成并颁发安全等级证书, 以及节点退出 Overlay 网络时安全等级证书的撤销, 节点安全等级发生变化时对安全等级证书进行修改 / 更新 ;
策略控制模块, 负责根据不同应用场景 Overlay 网络的安全需求, 制度 Overlay 层 安全策略, 决定允许哪些等级的节点可以加入 Overlay 网络参与存储、 路由, 哪些等级的节 点不能加入 Overlay 网络, 对于不能加入 Overlay 网络的节点, 可以接入 Overlay 网络, 获 取相应等级的服务。
参见图 1, 本实施例中, 检测评估模块分为四个子模块, 分别是检测子模块、 评估子 模块、 控制子模块和漏洞库, 其中 :
所述检测子模块, 负责对申请加入 Overlay 网络的节点进行安全检测, 包括是否 安装必要的防护软件以及节点漏洞扫描 ( 操作系统、 软件漏洞等 ), 形成节点检测报告发送 给评估子模块 ; 此外, 检测子模块还负责对 Overlay 现有节点进行定期安全检测, 包括节点 漏洞扫描以及防护软件、 操作系统等是否升级, 形成节点检测报告发送给评估子模块 ;
所述评估子模块, 负责对收到的节点检测报告进行综合分析, 对各个因素通过加 权计算获得节点 Underlay 等级 ( 此处各个安全要素的权重根据不同应用场景有所区别 ), 并将节点等级信息形成节点安全等级报告, 发送给认证模块 ;
所述控制子模块, 负责控制漏洞库的实时更新, 保证漏洞库的完备性 ; 控制评估子 模块的分级策略, 即根据 Overlay 网络的不同应用场景调节节点 Underlay 层各安全要素在 等级划分中所占权重。
认证模块进一步包括证书管理子模块和证书库, 其中, 证书管理模块负责根据节 点安全等级信息, 生成并颁发节点安全等级证书, 同时负责该证书的更新、 撤销、 查询等管
理; 证书库则用于保存节点的安全等级证书。
策略控制模块进一步包括评价子模块和决策子模块, 其中, 评价子模块负责根 据应用场景对节点申请加入的 Overlay 网络安全需求进行评估 ; 决策子模块负责根据 Overlay 网络的安全需求决定允许哪些等级的节点加入该 Overlay 网络。
参见图 1, 结合上述实施例的安全防御系统, 本发明实施例提供的 P2P 对等网络安 全防御方法具体描述如下 :
步骤 101 : 检测评估模块获得新节点主动报告的已安装的防护软件种类、 版本号, 操作系统类型、 版本号等基本信息 ( 对 Overlay 网络现有节点定期检测时则不需要此步 骤);
步骤 102 : 检测评估模块对节点进行全面的安全漏洞扫描 ;
步骤 103 : 检测评估模块将检测结果与漏洞库进行匹配, 确定节点 Underlay 存在 的安全漏洞 ;
步骤 104 : 检测评估模块将匹配结果发送至评估子模块进行安全等级划分 ;
步骤 105 : 控制子模块根据 Overlay 网络具体应用场景, 控制各安全要素所占权 重, 协助评估子模块完成节点安全等级划分 ; 步骤 106 : 控制子模块定期对漏洞库进行更新 ;
步骤 107 : 评估子模块将节点安全等级信息发送给认证模块进行审核 ;
步骤 108 : 认证模块中的证书管理子模块审核节点身份和安全等级信息, 若未通 过审核返回步骤 102 重新进行扫描 ; 若通过审核则向节点发放安全等级证书 ;
此处, 若节点未通过审核, 即节点身份和安全等级信息不匹配, 则怀疑在检测评估 过程中相关信息被恶意篡改, 因此需重新扫描。
步骤 109 : 将安全等级证书保存在证书库中 ;
步骤 110 : 将安全等级证书发送给策略决策模块进行判决 ;
步骤 111 : 策略决策模块的评价子模块根据 Overlay 具体应用场景, 调整允许加入 Overlay 网络的节点等级, 并发送给决策子模块 ;
步骤 112 : 策略决策模块的决策子模块判决是否允许节点加入 Overlay 网络, 并将 判决结果通知节点。
图 2 为依据本发明实施例的新节点申请加入 Overlay 网络时的检测分级以及证书 分发流程, 该流程具体描述如下 :
1、 检测评估过程
步骤 201 : 主动报告, 即新节点连接到安装有检测评估模块的服务器后, 将自己已 安装的防护软件种类、 版本号, 操作系统类型、 版本号以消息形式主动报告给检测子模块, 检测子模块接收到后, 形成节点描述文件 ;
其中, 形成的节点描述文件中包含新节点报告的防护软件种类、 版本号, 操作系统 类型、 版本号等信息。
步骤 202 : 被动扫描, 检测子模块收到新节点的主动报告消息后, 开始对新节点进 行下一步更全面的安全漏洞扫描 ;
步骤 203 : 检测子模块将检测结果与漏洞库进行匹配, 确定节点 Underlay 存在的 安全漏洞, 形成漏洞检测报告 ;
步骤 204 : 检测子模块将检测结果 ( 包括节点描述文件和漏洞检测报告 ) 发送给 评估子模块 ;
步骤 205 : 评估子模块确认收到检测结果后, 根据 Overlay 应用场景为节点划分安 全等级 ;
步骤 206( 可选步骤 ) : 控制子模块调整各安全要素所占权重后, 发送给评估子模 块;
其中, 该步骤 206 与步骤 205 之间并无一定的先后顺序。该步骤 206 可以不作为 每次评估的必须过程, 并且与步骤 205 是独立的过程, 控制子模块可以根据具体应用为各 安全要素 ( 包括但不限于 : 防火墙、 安全防护软件、 操作系统, 安全漏洞等 ) 配置初始权重, 并在需要时调整各安全要素所占权重。
步骤 207 : 评估子模块将节点安全等级信息发送给证书管理子模块进行审核 ;
步骤 208 : 证书管理子模块确认收到节点安全等级信息 ;
2、 认证过程
步骤 209 : 证书管理子模块审核节点身份和安全等级信息, 具体分为两种情况 :
(1) 未通过审核, 则返回步骤 202 重新评定安全等级 ;
(2) 通过审核, 则生成并颁发安全等级证书 ;
步骤 210 : 本实施例中, 假设审核通过, 则在证书库中保存该证书 ;
步骤 211 : 证书管理子模块将节点安全等级证书发送给决策子模块 ;
3、 策略决策过程
步骤 212, 评价子模块根据 Overlay 网络的应用场景, 确定该 Overlay 网络的安全 等级阈值 N, 并通知决策子模块 ;
步骤 213, 决策子模块根据收到的节点安全等级证书, 以及该 Overlay 网络的安全 等级阈值 N, 对是否允许该节点加入 Overlay 网络进行决策控制, 并向该节点返回决策信 息, 具体分为如下两种情况 :
(1) 该节点安全等级大于等于 Overlay 层的安全等级阈值 N, 则该节点以普通的 bootstrap( 引导 ) 过程加入该 Overlay, 并获得相应的负载和路由表 ;
(2) 该节点安全等级小于 Overlay 层的安全等级阈值 N, 则该节点不能加入该 Overlay, 但仍可通过 Super node( 超级节点 ) 接入 Overlay 获取相应等级的服务。
图 3 为依据本发明实施例的对 Overlay 现有节点进行定期检测的流程, 该流程主 要包括如下步骤 :
步骤 301 : 检测子模块定期对 Overlay 节点进行漏洞扫描 ;
步骤 302 : 检测子模块将检测结果与漏洞库进行匹配, 确定节点 Underlay 存在的 安全漏洞, 形成漏洞检测报告 ;
步骤 303 : 检测子模块将检测结果即漏洞检测报告发送给评估子模块 ;
步骤 304 : 评估子模块确认收到检测结果后, 根据 Overlay 应用场景, 综合分析检 测结果, 为节点划分安全等级 ;
步骤 305 : ( 可选步骤 ) : 控制子模块调整各安全要素所占权重后, 发送给评估子模 块;
其中, 该步骤 305 与步骤 304 是独立的过程, 两者之间并无一定的先后顺序, 控制子模块可以根据具体应用为各安全要素配置初始权重, 并在需要时调整各安全要素所占权 重。
步骤 306 : 评估子模块将节点安全等级信息发送给证书管理子模块进行审核 ;
步骤 307 : 证书管理子模块确认收到节点安全等级信息 ;
步骤 308 : 认证模块从证书库调用节点安全等级证书, 提供给证书管理子模块 ;
步骤 309 : 证书管理子模块审核节点身份和安全等级信息, 将本次评定的安全等 级与原证书中的安全等级进行对比, 具体分为两种情况 :
(1) 节点安全等级保持不变, 则标记本次检测评估时间, 结束本次定期检测 ;
(2) 节点安全等级改变, 修改证书中的安全等级信息 ;
步骤 310 : 本实施例中假设节点安全等级改变, 则证书管理子模块对证书库中保 存的证书进行更新 ;
步骤 311 : 证书管理子模块将节点安全等级证书发送给决策子模块 ;
步骤 312 : 评价子模块根据 Overlay 网络的应用场景, 确定该 Overlay 网络的安全 等级阈值 N, 并通知决策子模块 ;
步骤 313, 决策子模块根据收到的节点安全等级证书, 以及该 Overlay 网络的安全 等级阈值 N, 对是否允许该节点加入 Overlay 网络进行决策控制, 并向该节点返回决策信 息, 具体分为如下两种情况 : (1) 节点安全等级大于等于 Overlay 层的安全等级阈值 N, 则节点不做改变 ;
(2) 节点安全等级小于 Overlay 层的安全等级阈值 N, 则节点以正常方式退出该 Overlay, 但仍可通过 Super node 接入 Overlay 获取相应等级的服务。
以上仅为本发明的优选实施案例而已, 并不用于限制本发明, 本发明还可有其他 多种实施例, 在不背离本发明精神及其实质的情况下, 熟悉本领域的技术人员可根据本发 明做出各种相应的改变和变形, 但这些相应的改变和变形都应属于本发明所附的权利要求 的保护范围。
显然, 本领域的技术人员应该明白, 上述的本发明的各模块或各步骤可以用通用 的计算装置来实现, 它们可以集中在单个的计算装置上, 或者分布在多个计算装置所组成 的网络上, 可选地, 它们可以用计算装置可执行的程序代码来实现, 从而, 可以将它们存储 在存储装置中由计算装置来执行, 并且在某些情况下, 可以以不同于此处的顺序执行所示 出或描述的步骤, 或者将它们分别制作成各个集成电路模块, 或者将它们中的多个模块或 步骤制作成单个集成电路模块来实现。 这样, 本发明不限制于任何特定的硬件和软件结合。