技术领域
[0001] 本
发明实施例涉及网络安全技术领域,尤其涉及一种数据协同采集方法及系统。
背景技术
[0002] 随着通信技术、网络技术和信息技术的持续快速发展和应用的广泛普及,形成了包含天地一体化网络、
物联网、专用网络和各类服务系统(如:
电子凭据服务系统、
电子商务系统、电子政务系统)所在网络等的大规模异构互联网络。
[0003] 大规模异构互联网络的网络环境复杂,不同区域、不同时间的安全保障目标不同,安全威胁瞬时多变且威胁范围广,在这种情况下,需要采集代理间建立协作机制,对威胁范围内的关键
节点进行协同采集和协同传输,
现有技术缺少按需为各个采集代理定制不同的采集策略,导致制定、执行采集任务对威胁检测的有效率低,且出现采集冗余的现象;同时,在大规模异构互联网络中,采集代理在执行采集任务和传输采集数据时,由于采集各类设备、系统等的采集代理数量众多且
位置分散,使集中式的采集管理模
块通常不能与各个采集代理进行实时通信,例如,当前的天地一体化信息网络,采集管理模块通常位于地面,并通过关口站将采集策略传输至卫星,接着由卫星转发至位于终端上的采集代理,由于卫星高速移动,采集管理模块不能随时通过卫星在采集代理间协调采集内容和传输内容,导致多个采集代理重复采集、传输相同的数据,造成了计算资源、存储资源和传输资源的浪费。
[0004] 因此,在制定采集策略、采集数据、传输采集内容时,需要根据采集代理的部署位置、网络状态、采集能
力等在采集代理间建立协作采集机制,减少冗余采集数据,为网络安全监测提供精准的数据来源。
发明内容
[0005] 针对现有技术中存在的技术问题,本发明实施例提供一种数据协同采集方法及系统。
[0006] 第一方面,本发明实施例提供一种数据协同采集方法,包括:
[0007] 向协作邻居节点候选集中的每一邻居节点发送协同采集
请求,以使得所述邻居节点基于所述协同采集请求,判断是否进行
数据采集,若判断进行数据采集,则生成协同采集反馈;
[0008] 基于接收到的所有判断进行数据采集的邻居节点发送的协同采集反馈,生成协同采集协商结果;其中,所述协同采集协商结果携带有协作采集邻居节点集以及所述协作采集邻居节点集中每一邻居节点的协作采集分项信息;
[0009] 将所述协同采集协商结果发送给所述协作采集邻居节点集中的每一邻居节点,以使得所述邻居节点根据所述协同采集协商结果进行数据协同采集。
[0010] 第二方面,本发明实施例提供一种数据协同采集方法,包括:
[0011] 接收采集代理发送的协同采集请求,并基于所述协同采集请求,判断进行数据采集,并生成协同采集反馈;
[0012] 将所述协同采集反馈发送给所述采集代理,以使得所述采集代理基于接收到的所有判断进行数据采集的邻居节点发送的协同采集反馈,生成协同采集协商结果;
[0013] 接收所述采集代理发送的协同采集协商结果,并根据所述协同采集协商结果进行数据协同采集。
[0014] 第三方面,本发明实施例提供一种数据协同采集系统,包括:
[0015] 协同采集请求发送模块,用于向协作邻居节点候选集中的每一邻居节点发送协同采集请求,以使得所述邻居节点基于所述协同采集请求,判断是否进行数据采集,若判断进行数据采集,则生成协同采集反馈;
[0016] 协同采集协商结果生成模块,用于基于接收到的所有判断进行数据采集的邻居节点发送的协同采集反馈,生成协同采集协商结果;其中,所述协同采集协商结果携带有协作采集邻居节点集以及所述协作采集邻居节点集中每一邻居节点的协作采集分项信息;
[0017] 协同采集协商结果发送模块,用于将所述协同采集协商结果发送给所述协作采集邻居节点集中的每一邻居节点,以使得所述邻居节点根据所述协同采集协商结果进行数据协同采集。
[0018] 第四方面,本发明实施例提供一种数据协同采集系统,包括:
[0019] 协同采集反馈生成模块,用于接收采集代理发送的协同采集请求,并基于所述协同采集请求,判断进行数据采集,并生成协同采集反馈;
[0020] 协同采集反馈发送模块,用于将所述协同采集反馈发送给所述采集代理,以使得所述采集代理基于接收到的所有判断进行数据采集的邻居节点发送的协同采集反馈,生成协同采集协商结果;
[0021] 数据协同采集模块,用于接收所述采集代理发送的协同采集协商结果,并根据所述协同采集协商结果进行数据协同采集。
[0022] 第五方面,本发明实施例提供一种电子设备,包括
存储器、处理器及存储在存储器上并可在处理器上运行的
计算机程序,所述处理器执行所述程序时实现如第一方面或第二方面所提供的方法的步骤。
[0023] 第六方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面或第二方面所提供的方法的步骤。
[0024] 本发明实施例提供的一种数据协同采集方法及系统,采集代理通过向协作邻居节点候选集中的每一邻居节点发送协同采集请求,使得协作邻居节点候选集中的每一邻居节点能够判断是否参与协同采集,最大化采集效用,进而实时调整本地的采集策略,使得无论采集代理能否与采集管理模块通信,均能降低数据全面采集所消耗的计算资源、存储资源和传输资源,为安全监测和威胁发现提供精准的数据来源。
附图说明
[0025] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0026] 图1为本发明一实施例提供的一种数据协同采集方法
流程图;
[0027] 图2为本发明另一实施例提供的一种数据协同采集方法流程图;
[0028] 图3为本发明一实施例提供的一种数据协同采集系统的结构示意图;
[0029] 图4为本发明另一实施例提供的一种数据协同采集系统的结构示意图;
[0030] 图5为本发明实施例提供的一种基于非确定性协同采集请求的集中式协商方法示意图;
[0031] 图6为本发明实施例提供的一种基于确定性协同采集请求的集中式协商方法示意图;
[0032] 图7为本发明实施例提供的一种基于非确定性采集请求的分布式协商方法示意图;
[0033] 图8为本发明实施例提供的一种基于确定性采集请求的分布式协商方法示意图;
[0034] 图9为本发明实施例提供的一种集中式协同传输方法示意图;
[0035] 图10为本发明实施例提供的一种分布式协同传输方法示意图;
[0036] 图11为本发明实施例提供的采集代理的结构示意图;
[0037] 图12为本发明实施例提供的以邻居采集代理为执行主体的结构及数据流向示意图;
[0038] 图13为本发明实施例提供的以主动发起协同采集请求和/或协同传输请求的采集代理为执行主体的结构及数据流向示意图;
[0039] 图14为本发明实施例提供的一种电子设备的实体结构示意图。
具体实施方式
[0040] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0041] 图1为本发明一实施例提供的一种数据协同采集方法流程图,该方法的执行主体为采集代理,如图1所示,该方法包括:
[0042] 步骤101,向协作邻居节点候选集中的每一邻居节点发送协同采集请求,以使得所述邻居节点基于所述协同采集请求,判断是否进行数据采集,若判断进行数据采集,则生成协同采集反馈。
[0043] 需要说明的是,网络中通常具有多个采集代理,而本发明实施例所提供的方法的执行主体可以为这多个采集代理中的任一采集代理。其中,采集代理为对网络中的数据进行采集的采集器和采集组件的统称。
[0044] 当采集代理接收到采集管理模块发送的采集策略和/或采集到本地信息后,向协作邻居节点候选集中的每一邻居节点发送协同采集请求。其中,采集策略为携带有特定信息的一种策略,特定信息为确定哪些采集代理在什么时间段采集网络中的哪些对象中的哪些数据;协作邻居节点候选集为由采集代理的若干个邻居采集代理(简称为邻居节点)组成的集合,需要说明的是,协作邻居节点候选集为采集代理的邻居节点集的子集;协同采集请求为采集代理请求邻居节点进行数据协同采集的请求。
[0045] 当邻居节点接收到采集代理发送的协同采集请求后,会判断是否进行数据采集,若判断进行数据采集,则生成协同采集反馈并发送给采集代理。其中,协同采集反馈中携带有自身的分项信息,其中,分项信息包括但不限于:可采集项、采集
频率和采集时间中的任意一种或多种。
[0046] 步骤102,基于接收到的所有判断进行数据采集的邻居节点发送的协同采集反馈,生成协同采集协商结果;其中,所述协同采集协商结果携带有协作采集邻居节点集以及所述协作采集邻居节点集中每一邻居节点的协作采集分项信息。
[0047] 具体地,采集代理接收所有判断进行数据采集的邻居节点发送的协同采集反馈,并根据接收到的所有协同采集反馈,生成协同采集协商结果。其中,协同采集协商结果携带有协作采集邻居节点集以及协作采集邻居节点集中每一邻居节点的协作采集分项信息。其中,协作采集邻居节点集为采集代理最终确定的进行数据协同采集的包含有若干个邻居节点的集合,需要说明的是,协作采集邻居节点集为协作邻居节点候选集的子集;协作采集分项信息包括但不限于:协同采集项、协同采集频率和协同采集时间中的任意一种或多种。
[0048] 步骤103,将所述协同采集协商结果发送给所述协作采集邻居节点集中的每一邻居节点,以使得所述邻居节点根据所述协同采集协商结果进行数据协同采集。
[0049] 本发明实施例提供的方法,采集代理通过向协作邻居节点候选集中的每一邻居节点发送协同采集请求,使得协作邻居节点候选集中的每一邻居节点能够判断是否参与协同采集,最大化采集效用,进而实时调整本地的采集策略,使得无论采集代理能否与采集管理模块通信,均能降低数据全面采集所消耗的计算资源、存储资源和传输资源,为安全监测和威胁发现提供精准的数据来源。
[0050] 在上述各实施例的
基础上,本发明实施例还包括:
[0051] 步骤104,向所述协作采集邻居节点集中的每一邻居节点发送协同传输请求,以使得所述邻居节点基于所述协同传输请求,判断是否进行数据传输,若判断进行数据传输,则生成协同传输反馈。
[0052] 具体地,采集代理向协作采集邻居节点集中的每一邻居节点发送协同传输请求。其中,协同传输请求为采集代理请求邻居节点进行数据协同传输的请求。
[0053] 步骤105,基于接收到的所有判断进行数据传输的邻居节点发送的协同传输反馈,生成协同传输协商结果;其中,所述协同传输协商结果携带有协作传输邻居节点集以及所述协作传输邻居节点集中每一邻居节点的协作传输分项信息。
[0054] 具体地,采集代理接收所有判断进行数据传输的邻居节点发送的协同传输反馈,并根据接收到的所有协同传输反馈,生成协同传输协商结果。
[0055] 其中,协同传输协商结果携带有协作传输邻居节点集以及协作传输邻居节点集中每一邻居节点的协作传输分项信息。其中,协作传输邻居节点集为采集代理最终确定的进行数据协同传输的包含有若干个邻居节点的集合,需要说明的是,协作传输邻居节点集为协作采集邻居节点集的子集;协作传输分项信息包括但不限于:协同传输项和/或协同传输时间。
[0056] 步骤106,将所述协同传输协商结果发送给所述协作传输邻居节点集中的每一邻居节点,以使得所述邻居节点根据所述协同传输协商结果进行数据协同传输。
[0057] 本发明实施例提供的方法,采集代理通过向协作采集邻居节点集中的每一邻居节点发送协同传输请求,使得协作采集邻居节点集中的每一邻居节点能够判断是否参与协同传输,最大化采集效用,进而实时调整本地的采集策略,使得无论采集代理能否与采集管理模块通信,均能降低数据全面采集所消耗的计算资源、存储资源和传输资源,为安全监测和威胁发现提供精准的数据来源。
[0058] 在上述各实施例的基础上,本发明实施例对确定协作邻居节点候选集的过程进行说明。即,向协作邻居节点候选集中的每一邻居节点发送协同采集请求,之前还包括:
[0059] 基于通信范围、威胁传播特征或服务依赖关系中的任意一种或多种,从邻居节点集中选择若干个邻居节点以组成协作邻居节点候选集。
[0060] 具体地,基于通信范围选择协作邻居节点候选集,例如,在采集代理的邻居节点集中,选择通信范围之内的所有节点,作为采集代理的协作邻居节点候选集。
[0061] 基于威胁传播特征选择协作邻居节点候选集,其中,威胁传播特征包含威胁针对的漏洞编号、
操作系统、设备类型、服务类型、网络类型,是否自主传播等的部分和或全部的任意组合。具体地,根据威胁传播特征与邻居节点集中邻居节点的匹配程度确定协作邻居节点候选集。例如,将邻居节点集中具有相同操作系统类型和漏洞的邻居节点定义为协作邻居节点,将所有邻居节点作为采集代理的协作邻居节点候选集。
[0062] 基于服务依赖关系选择协作邻居节点候选集,即,在邻居节点集中,将与采集代理具有服务依赖关系的邻居节点作为协作邻居节点,其中服务依赖关系指若某一服务的运行依赖于其他服务,则两个服务之间具有服务依赖关系,例如,Web服务的运行一般情况下都依赖于
数据库服务,所以如果两者中任意一个发现异常或者潜在异常,则将另一个作为协作邻居节点,并将所有邻居节点作为采集代理的协作邻居节点候选集。
[0063] 在上述各实施例的基础上,本发明实施例对向协作邻居节点候选集中的每一邻居节点发送协同采集请求进行具体说明。即,向协作邻居节点候选集中的每一邻居节点发送协同采集请求,进一步包括:
[0064] 基于接收到的协同采集策略和/或采集到的本地信息,判定所述协同采集请求的类型为确定性协同采集请求或非确定性协同采集请求;其中,所述确定性协同采集请求包括但不限于:采集对象、采集对象对应的采集项和协同采集时间中的任意一种或多种,所述非确定性协同采集请求包括但不限于:疑似的威胁类型、威胁特征、操作系统特征、系统异常特征、源地址、目的地址、威胁发现时间中的任意一种或多种;
[0065] 采集代理可根据接收到的采集策略和/或采集到的本地信息,判定发送何种协同采集请求,并根据判定结果发送相应类型的协同采集请求。
[0066] 根据判定结果向协作邻居节点候选集中的每一邻居节点发送相应类型的协同采集请求。
[0067] 具体地,协同采集请求的类型有两类,第一类为确定性协同采集请求,第二类为非确定性协同采集请求。其中,对于非确定性协同采集请求,威胁类型包括但不限于::拒接服务攻击、非法
访问、流量异常、FTP木
马、震荡波蠕虫、漏洞攻击、后
门攻击、域名劫持、扫描探测、木马/病毒、中间人攻击、SQL注入攻击中的任意一种或多种。
[0068] 在上述各实施例的基础上,本发明实施例对生成协同采集协商结果的过程进行具体说明。即,基于接收到的所有判断进行数据采集的邻居节点发送的协同采集反馈,生成协同采集协商结果,进一步包括:
[0069] 基于接收到的所有判断进行数据采集的邻居节点发送的协同采集反馈,根据随机分配原则、最大采集收益原则、最少消耗资源原则或最少激活采集代理原则中的任意一种或多种,生成协同采集协商结果。
[0070] 以下将对根据最大采集收益原则,生成协同采集协商结果的过程进行说明:
[0071] 需要说明的是,协同采集反馈中包含了采集代理的分项信息,其中,分项信息包括但不限于:可采集项、采集频率和采集时间中的任意一种或多种。
[0072] 首先,对于所有返回了协同采集反馈的邻居节点,按采集贡献度由高到底进行排序,记为CL=
,其中agt1、agt2、agti、agtn分别代表邻居节点1、邻居节点2、邻居节点i和邻居节点n,C1、C2、Ci、Cn分别代表邻居节点1、邻居节点2、邻居节点i和邻居节点n的协作采集反馈中携带的分项信息中的可采集项集合;[0073] 然后,对于采集贡献度最高的邻居节点agt1,将其加入至协作采集邻居节点集Φ,然后将agt1的可采集项集合C1作为本次协同agt1的采集项集合,并将C1添加到已采集集合Ψ;
[0074] 随后,选择采集贡献度递减的邻居节点agti加入到协作采集邻居节点集Φ,然后将agti的可采集项集合Ci与Ψ做差集,将所述差集作为本次协同的agti的采集项集合,然后将所述差集合并到已采集集合Φ。重复此过程,直至已采集集合Φ满足采集策略的要求。
[0075] 由上述过程,确定协作采集邻居节点集Φ,以及协作采集邻居节点集Φ中的每一邻居节点的采集项集合,对于协作采集邻居节点集Φ中的一个邻居节点来说,将该邻居节点的采集项集合称为协同采集项、将对应的采集频率称为协同采集频率、将对应的采集时间称为协同采集时间,将协同采集项、协同采集频率和协同采集时间统称为协作采集分项信息,将协作采集邻居节点集以及其中的每一邻居节点的协作采集分项信息组成协同采集协商结果,发送给协作采集邻居节点集中的每一邻居节点。
[0076] 对于最少消耗资源原则,将最大采集收益原则中的排序方式改为按照采集消耗的资源由小到大对邻居节点进行排序,达到最少消耗资源的目的。
[0077] 对于最少激活采集代理原则,将最大采集收益原则中的排序方式改为按照可采集项由多到少对邻居节点进行排序,达到最少激活邻居节点的目的。
[0078] 在上述各实施例的基础上,协同传输请求包括但不限于:
[0079] 采集对象、采集对象对应的采集项、协同传输时间、传输目的地和传输成本中的任意一种或多种。
[0080] 在上述各实施例的基础上,基于接收到的所有判断进行数据传输的邻居节点发送的协同传输反馈,生成协同传输协商结果,进一步包括:
[0081] 基于接收到的所有判断进行数据传输的邻居节点发送的协同传输反馈,根据数据传输需求,生成协同传输协商结果;其中,所述数据传输需求为传输成本优先、可用传输资源优先、安全保障优先、压缩效果优先、消冗效果优先、传输时延优先、传输跳数优先和传输带宽优先中的任意一种或多种。
[0082] 具体地,若数据传输需求为传输成本优先,则按照传输成本对返回协同传输反馈的邻居节点进行排序;若数据传输需求为可用传输资源优先,则按照可用传输资源多少对返回协同传输反馈的邻居节点进行排序;若数据传输需求为安全保障优先,则按照加密机制和或签名机制优劣对返回协同传输反馈的邻居节点进行排序;若数据传输需求为压缩效果优先,则按照
压缩机制的效果优劣对返回协同传输反馈的邻居节点进行排序;若数据传输需求为消冗效果优先,则按照消冗机制的效果优劣对返回协同传输反馈的邻居节点进行排序;若数据传输需求为传输时延优先,则按照传输时延由少到多对返回协同传输反馈的邻居节点进行排序;若数据传输需求为传输跳数优先,则按照传输跳数由少到多对返回协同传输反馈的邻居节点进行排序。
[0083] 将排序结果记为L=
,将待采集的采集项集合记为Ω,按序依次选择邻居agti加入到协作传输邻居节点集Φ,然后,将Ω与agti的可传输的采集项集合求交,作为agti的传输内容集合,记为Ti,随后,将Ω与Ti的差集更新Ω。重复此过程,直至待采集的采集项集合Ω为空集。[0084] 由上述过程,确定协作传输邻居节点集Φ,以及协作传输邻居节点集Φ中的每个邻居节点的传输内容集合,对于协作传输邻居节点集Φ中的一个邻居节点来说,将该邻居节点的传输内容集合称为协作传输项、将对应的传输时间称为协同传输时间,将协同传输项和/或协同传输时间统称为协作传输分项信息,将所述协作传输邻居节点集以及其中每一邻居节点的协作传输分项信息作为协同传输协商结果,发送给协作传输邻居节点集中的每一邻居节点。
[0085] 图2为本发明另一实施例提供的一种数据协同采集方法流程图,该方法的执行主体为邻居节点,如图2所示,该方法包括:
[0086] 步骤201,接收采集代理发送的协同采集请求,并基于所述协同采集请求,判断进行数据采集,并生成协同采集反馈。
[0087] 具体地,本发明实施例所提供的方法的执行主体为与上述实施例所提供的方法的执行主体(采集代理)进行交互的邻居节点。
[0088] 邻居节点为采集代理的协作邻居节点候选集中一个节点,该邻居节点接收到采集代理发送的协同采集请求后,基于该协同采集请求,判断是否进行数据采集,若判断进行数据采集,则生成协同采集反馈。需要说明的是,在本发明实施例中,默认该邻居节点为判断进行数据采集的节点。
[0089] 生成协同采集反馈。其中,协同采集反馈携带有自身的分项信息,其中,分项信息包括但不限于:可采集项、采集频率和采集时间中的任意一种或多种。
[0090] 步骤202,将所述协同采集反馈发送给所述采集代理,以使得所述采集代理基于接收到的所有判断进行数据采集的邻居节点发送的协同采集反馈,生成协同采集协商结果。
[0091] 步骤203,接收所述采集代理发送的协同采集协商结果,并根据所述协同采集协商结果进行数据协同采集。
[0092] 本发明实施例提供的方法,邻居节点通过接收采集代理发送的协同采集请求,使得协作邻居节点候选集中的每一邻居节点能够判断是否参与协同采集,最大化采集效用,进而实时调整本地的采集策略,使得无论采集代理能否与采集管理模块通信,均能降低数据全面采集所消耗的计算资源、存储资源和传输资源,为安全监测和威胁发现提供精准的数据来源。
[0093] 在上述各实施例的基础上,本发明实施例还包括:
[0094] 步骤204,接收所述采集代理发送的协同传输请求,基于所述协同传输请求,判断进行数据传输,并生成协同传输反馈。
[0095] 步骤205,将所述协同传输反馈发送给所述采集代理,以使得所述采集代理基于接收到的所有判断进行数据传输的邻居节点发送的协同传输反馈,生成协同传输协商结果;
[0096] 步骤206,接收所述采集代理发送的协同传输协商结果,并根据所述协同传输协商结果进行数据协同传输。
[0097] 在上述各实施例的基础上,本发明实施例对生成协同采集反馈的过程进行具体说明。即,基于所述协同采集请求,判断进行数据采集,并生成协同采集反馈,进一步包括:
[0098] 基于所述协同采集请求,根据采集能力、可用计算资源、可用存储资源、可用传输资源和采集收益中的任意一种或多种,判断是否进行数据采集。
[0099] 若判断进行数据采集,则计算可采集项、采集频率和采集时间,并将可采集项、采集频率和采集时间中的任意一种或多种,封装为协同采集反馈。
[0100] 具体地,本发明实施例可根据采集成本和/或采集收益,计算可采集项、采集频率和采集时间。其中,采集成本包括但不限于::计算资源消耗、存储资源消耗和传输资源消耗中的任意一种或多种;采集收益指采集贡献度。
[0101] 需要说明的是,在计算采集收益之前,要先对采集贡献度进行调整,然后再将调整后的采集贡献度作为采集收益,以用于计算。可以依据包括但不限于以下方式对采集贡献度进行调整:
[0102] 若协同采集请求中包含疑似的威胁类型字段和系统异常特征字段,则对与异常特征相关联的采集项的贡献度进行调整,例如,协同采集请求中威胁类型是DoS攻击,系统异常特征是CPU利用率为90%,则对于收到协同采集请求的采集代理,将原本采集项CPU利用率对检测DoS攻击的贡献度从0.5调高到0.8,调幅可根据系统异常程度确定;
[0103] 对互补型采集项的威胁分析的贡献度进行调低处理,对增强型采集项的威胁分析的贡献度进行调高处理。例如,协同采集请求中威胁类型是DoS攻击,协同采集请求中采集策略包含的采集项有CPU利用率、网络
接口收发包字节数,采集收到上述协同采集请求后,对CPU利用率这一增强型的采集项的威胁分析的贡献度调高,对网络接口收发包字节数这一互补性的采集项的威胁分析的贡献度调低。
[0104] 下面通过一个具体实例说明邻居节点如何根据采集成本和采集收益计算可采集项和采集频率:
[0105] 采集代理在自身采集能力表中,查找对检测协同采集请求中的威胁类型的贡献度大于0的采集项,作为采集项贡献度候选集C(c1,c2,……,cn),其中ci为采集项i对检测协同采集请求中的威胁类型的贡献度。定义一组决策变量X(x1,x2,……,xn),xi为0时,表示不对采集项i进行采集,xi>0,表示对采集项i进行采集,且其数值代表采集频率,例如,当采集项为系统状态类或日志类时xi为连续值,当采集项为流量时xi取离散值1。
[0106] 定义收益函数f1(X)=λlog(1+∑log(1+xici)),表示对检测威胁的采集收益。log(1+xici)表示检测威胁的收益对采集项i在不同威胁下的收益递减;外层log形式表示检测该类威胁的收益对总体收益递减。
[0107] 定义成本函数 表示采集成本,其中,CRI(xi)、SRI(xi)、NRI(xi)分别为采集项i的计算资源、存储资源和传输资源的消耗情况,wc、ws、wn分别为计算资源、存储资源和传输资源对于资源消耗的权重,M为采集项的个数。
[0108] 定义约束条件 分别表示计算资源消耗小于采集代理的剩余计算资源、存储资源消耗小于采集代理的剩余存储资源和传输资源消耗小于采集代理的剩余传输资源。
[0109] 目标函数是max f1(X)-w×f2(X),采集效用最大,其中w为系统系数,所述采集效用指采集收益减去采集成本。
[0110] 在上述约束条件下,采用有效集法、
牛顿插值法、遗传
算法等优化方法,求解目标函数,获得采集效用最大时的X(x1,x2,……,xn),将所有xi大于0的项对应的采集项i的集合定义为可采集项集合。若所有决策变量均为0,表示采集代理不采集任何数据时对自身是最优选择,在这种情况下,不参与本次协作。
[0111] 采集时间分为采集起始时间和采集持续时间。
[0112] 所述采集起始时间可以来源于协作采集请求中的起始时间,或者根据威胁传播速度预测本采集代理的采集起始时间,或者以上两者中的较小时间;
[0113] 所述采集持续时间可以来源于协作采集请求中的协作时间段要求,或者根据威胁类型预测威胁持续的时间,再或者采集代理根据
电池电量、存储资源、计算资源的消耗情况,计算自身可以接受的采集持续时间,再或者以上两者或三者中的较小时间。
[0114] 将可采集项、采集频率和采集时间中的任意一种或多种封装为协同采集反馈,将协同采集反馈返回给发送协同采集请求的采集代理。
[0115] 在上述各实施例的基础上,本发明实施例对生成协同传输反馈的过程进行具体说明。即,基于所述协同传输请求,判断进行数据传输,并生成协同传输反馈,进一步包括:
[0116] 基于所述协同传输请求,根据可用传输资源、安全保障机制、数据传输需求和网络传输特征中的任意一种或多种,判断是否进行协同传输;
[0117] 若判断进行协同传输,则将可传输内容、传输成本、可用传输资源、加密机制、签名机制、压缩机制、消冗机制、传输时延、传输跳数和传输带宽中的任意一种或多种,封装为协同传输反馈。
[0118] 具体地,邻居节点将可传输内容、传输成本、可用传输资源、加密机制、签名机制、压缩机制、消冗机制、传输时延、传输跳数、传输带宽中的任意一种或多种,封装为协同传输反馈,并将协同传输反馈返回给发送协同传输请求的采集代理。
[0119] 图3为本发明一实施例提供的一种数据协同采集系统的结构示意图,如图3所示,该系统包括:
[0120] 协同采集请求发送模块301,用于向协作邻居节点候选集中的每一邻居节点发送协同采集请求,以使得所述邻居节点基于所述协同采集请求,判断是否进行数据采集,若判断进行数据采集,则生成协同采集反馈;
[0121] 协同采集协商结果生成模块302,用于基于接收到的所有判断进行数据采集的邻居节点发送的协同采集反馈,生成协同采集协商结果;其中,所述协同采集协商结果携带有协作采集邻居节点集以及所述协作采集邻居节点集中每一邻居节点的协作采集分项信息;
[0122] 协同采集协商结果发送模块303,用于将所述协同采集协商结果发送给所述协作采集邻居节点集中的每一邻居节点,以使得所述邻居节点根据所述协同采集协商结果进行数据协同采集。
[0123] 本发明实施例提供的系统,具体执行上述各方法实施例流程,具体请详见上述各方法实施例的内容,此处不再赘述。本发明实施例提供的系统,采集代理通过向协作邻居节点候选集中的每一邻居节点发送协同采集请求,使得协作邻居节点候选集中的每一邻居节点能够判断是否参与协同采集,最大化采集效用,进而实时调整本地的采集策略,使得无论采集代理能否与采集管理模块通信,均能降低数据全面采集所消耗的计算资源、存储资源和传输资源,为安全监测和威胁发现提供精准的数据来源。
[0124] 图4为本发明另一实施例提供的一种数据协同采集系统的结构示意图,如图4所示,该系统包括:
[0125] 协同采集反馈生成模块401,用于接收采集代理发送的协同采集请求,并基于所述协同采集请求,判断进行数据采集,并生成协同采集反馈;
[0126] 协同采集反馈发送模块402,用于将所述协同采集反馈发送给所述采集代理,以使得所述采集代理基于接收到的所有判断进行数据采集的邻居节点发送的协同采集反馈,生成协同采集协商结果;
[0127] 数据协同采集模块403,用于接收所述采集代理发送的协同采集协商结果,并根据所述协同采集协商结果进行数据协同采集。
[0128] 本发明实施例提供的系统,具体执行上述各方法实施例流程,具体请详见上述各方法实施例的内容,此处不再赘述。本发明实施例提供的系统,邻居节点通过接收采集代理发送的协同采集请求,使得协作邻居节点候选集中的每一邻居节点能够判断是否参与协同采集,最大化采集效用,进而实时调整本地的采集策略,使得无论采集代理能否与采集管理模块通信,均能降低数据全面采集所消耗的计算资源、存储资源和传输资源,为安全监测和威胁发现提供精准的数据来源。
[0129] 图5为本发明实施例提供的一种基于非确定性协同采集请求的集中式协商方法示意图,非确定性协同采集请求不确定采集对象和/或采集对象对应的采集项,需根据需要检测的潜在威胁,采集代理协商采集内容,如图5所示,该方法包括:
[0130] 步骤1,采集代理向邻居采集代理发送非确定性协同采集请求;
[0131] 步骤2,邻居采集代理判断是否进行协同采集,若判断进行协同采集,则生成协同采集反馈给采集代理;
[0132] 步骤3,采集代理向邻居采集代理发送根据协同采集反馈生成的协同采集协商结果;
[0133] 步骤4,邻居节点根据协同采集协商结果采集数据并将采集得到的数据发送给汇聚系统。
[0134] 图6为本发明实施例提供的一种基于确定性协同采集请求的集中式协商方法示意图,确定性协同采集请求指已经
指定采集对象和/或采集对象对应的采集项,采集代理协商分配采集内容。具体过程如下:
[0135] 步骤1,采集代理向邻居采集代理发送确定性协同采集请求;
[0136] 步骤2,邻居采集代理判断是否进行协同采集,若判断进行协同采集,则生成协同采集反馈给采集代理;
[0137] 步骤3,采集代理向邻居采集代理发送根据协同采集反馈生成的协同采集协商结果;
[0138] 步骤4,邻居节点根据协同采集协商结果采集数据并将采集得到的数据发送给汇聚系统。
[0139] 图7为本发明实施例提供的一种基于非确定性采集请求的分布式协商方法示意图,非确定性协同采集请求指不确定采集对象和/或采集对象对应的采集项,需根据需要检测的潜在威胁,采集代理协商采集内容。具体过程如下:
[0140] 步骤1,采集代理接收到检测潜在威胁的采集策略,将其封装为疑似的威胁类型、威胁特征、操作系统特征、系统异常特征、源地址、目的地址、威胁发现时间中的任意一种或多种组成的非确定性协同采集请求,并向邻居节点发送;
[0141] 步骤2,邻居节点接收到非确定性协同采集请求后,根据疑似的威胁类型、威胁特征、操作系统特征、系统异常特征、源地址、目的地址、威胁发现时间、自身采集能力、可用计算资源、可用存储资源、可用传输资源中的任意一种或多种,使用
优化算法,计算协同采集项、协同采集频率和协同采集时间,保证本节点的协同采集项、协同采集频率和协同采集时间为全局整体最优,然后,按照计算结果执行采集,并发送给汇聚系统。
[0142] 图8为本发明实施例提供的一种基于确定性采集请求的分布式协商方法示意图,具体过程如下:
[0143] 步骤1,采集代理接收到指定采集对象和或采集对象对应的采集项的采集策略,将其封装为采集对象、采集对象对应的采集项、协同采集时间等字段中的任意一种或多种组成的确定性协同采集请求,并向邻居节点发送;
[0144] 步骤2,邻居节点接收到非确定性协同采集请求后,根据已经指定采集对象和/或采集对象对应的采集项、自身采集能力、可用计算资源、可用存储资源、可用传输资源中的任意一种或多种,使用优化算法,计算协同采集项、协同采集频率和协同采集时间,保证本节点的协同采集项、协同采集频率和协同采集时间为全局整体最优,然后,按照计算结果执行采集,并发送给汇聚系统。
[0145] 图9为本发明实施例提供的一种集中式协同传输方法示意图,具体过程如下:
[0146] 步骤1,采集代理向邻居节点发送协同传输请求,协同传输请求包括但不限于:采集对象、采集对象对应的采集项、协同传输时间、传输目的地、传输成本中的任意一种或多种;
[0147] 步骤2,邻居节点接收到协同传输请求后,根据可用传输资源、安全保障机制、数据传输需求、网络传输特征中的任意一种或多种,判断是否参与协同传输,以及协同传输的内容标识;将可传输内容、传输成本、可用传输资源、加密机制、签名机制、压缩机制、消冗机制、传输时延、传输跳数、传输带宽中的任意一种或多种,封装为协同传输反馈,返回给发送协同传输请求的采集代理;
[0148] 步骤3,采集代理接收协同传输反馈,对自身和/或邻居节点的传输内容进行分配,依据传输内容的分配结果,封装协同传输协商结果,返回给邻居节点;
[0149] 步骤4,邻居节点依据协同传输协商结果进行传输,并将协同传输内容发送给汇聚系统。
[0150] 图10为本发明实施例提供的一种分布式协同传输方法示意图,具体过程如下:
[0151] 步骤1,采集代理向邻居节点发送协同传输请求,协同传输请求包括但不限于:采集对象、采集对象对应的采集项、协同传输时间、传输目的地、传输成本中的任意一种或多种;
[0152] 步骤2,邻居节点接收到协同传输请求后,根据可用传输资源、安全保障机制、数据传输需求、网络传输特征中的任意一种或多种,使用优化算法,判断是否参与协同传输,以及协同传输的内容标识;
[0153] 步骤3,邻居节点将协同传输的内容标识作为协同传输协商结果反馈给采集代理,并将协同传输内容发送给汇聚系统。
[0154] 图11为本发明实施例提供的采集代理的结构示意图,采集代理包括但不限于:数据采集单元、协同采集协商单元、协同传输协商单元和通信单元中的任意一种或多种。
[0155] 其中,数据采集单元由多个分层采集单元组成,分层采集单元可采集
内核层、应用层、网络层、物理层中的任意一种或多种,数据采集单元接收协同采集协商单元发送的采集指令,按照采集指令执行采集任务,并将采集到的数据发送给通信单元,用于采集数据的上传和汇聚。
[0156] 协同采集协商单元,当该采集代理为发起协同传输请求的采集代理时,用于生成协同采集请求并通过通信单元向邻居节点发送,从通信单元接收邻居节点的协同采集反馈,对反馈结果进行分析,得到协同采集协商结果,并通过通信单元返回给邻居节点;当该采集代理为邻居节点时,用于从通信单元接收协同采集请求,根据自身采集能力、可用计算资源、可用存储资源、可用传输资源中的任意一种或多种,计算可采集项、采集频率和采集时间,生成并通过通信单元发送协同采集反馈,而后从通信单元接收协同采集协商结果,将协商结果转化为采集指令,发送给数据采集单元。
[0157] 协同传输协商单元,当该采集代理为发起协同传输请求的采集代理时,用于生成协同传输请求并通过通信单元向邻居节点发送,从通信单元接收邻居节点的协同传输反馈,对反馈结果进行分析,得到协同传输协商结果,并通过通信单元返回给邻居节点;当该采集代理为邻居节点时,用于从通信单元接收协同传输请求,根据自身可用传输资源、安全保障机制、数据传输需求、网络传输特征中的任意一种或多种,判断是否参与协同传输,生成并通过通信单元发送协同传输反馈,而后从通信单元接收协同传输协商结果,将协商结果转化为传输指令,发送给数据采集单元。
[0158] 通信单元,用于接收和发送来自数据采集单元、协同采集协商单元、协同传输协商单元,以及外部采集管理模块和或邻居节点的各类数据。
[0159] 为更清楚地描述本发明内容,图12为本发明实施例提供的以邻居采集代理为执行主体的结构及数据流向示意图,邻居节点被动接收协同采集请求和/或协同传输请求,通过生成协同采集反馈和/或协同传输反馈来参与协同采集和/或协同传输;图13为本发明实施例提供的以主动发起协同采集请求和/或协同传输请求的采集代理为执行主体的结构及数据流向示意图,通过接收协同采集反馈和/或协同传输反馈,生成协同采集协商结果和/或协同传输协商结果参与协同采集和/或协同传输。
[0160] 图14为本发明实施例提供的一种电子设备的实体结构示意图,如图14所示,该电子设备可以包括:处理器(processor)1401、
通信接口(Communications Interface)1402、存储器(memory)1403和通信总线1404,其中,处理器1401,通信接口1402,存储器1403通过通信总线1404完成相互间的通信。处理器1401可以调用存储在存储器1403上并可在处理器1401上运行的计算机程序,以执行上述各实施例提供的方法,例如包括:向协作邻居节点候选集中的每一邻居节点发送协同采集请求,以使得所述邻居节点基于所述协同采集请求,判断是否进行数据采集,若判断进行数据采集,则生成协同采集反馈;基于接收到的所有判断进行数据采集的邻居节点发送的协同采集反馈,生成协同采集协商结果;其中,所述协同采集协商结果携带有协作采集邻居节点集以及所述协作采集邻居节点集中每一邻居节点的协作采集分项信息;将所述协同采集协商结果发送给所述协作采集邻居节点集中的每一邻居节点,以使得所述邻居节点根据所述协同采集协商结果进行数据协同采集。或者,接收采集代理发送的协同采集请求,并基于所述协同采集请求,判断进行数据采集,并生成协同采集反馈;将所述协同采集反馈发送给所述采集代理,以使得所述采集代理基于接收到的所有判断进行数据采集的邻居节点发送的协同采集反馈,生成协同采集协商结果;接收所述采集代理发送的协同采集协商结果,并根据所述协同采集协商结果进行数据协同采集。
[0161] 此外,上述的存储器1403中的逻辑指令可以通过
软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,
服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动
硬盘、
只读存储器(ROM,Read-Only Memory)、
随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0162] 本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:向协作邻居节点候选集中的每一邻居节点发送协同采集请求,以使得所述邻居节点基于所述协同采集请求,判断是否进行数据采集,若判断进行数据采集,则生成协同采集反馈;基于接收到的所有判断进行数据采集的邻居节点发送的协同采集反馈,生成协同采集协商结果;其中,所述协同采集协商结果携带有协作采集邻居节点集以及所述协作采集邻居节点集中每一邻居节点的协作采集分项信息;将所述协同采集协商结果发送给所述协作采集邻居节点集中的每一邻居节点,以使得所述邻居节点根据所述协同采集协商结果进行数据协同采集。或者,接收采集代理发送的协同采集请求,并基于所述协同采集请求,判断进行数据采集,并生成协同采集反馈;将所述协同采集反馈发送给所述采集代理,以使得所述采集代理基于接收到的所有判断进行数据采集的邻居节点发送的协同采集反馈,生成协同采集协商结果;接收所述采集代理发送的协同采集协商结果,并根据所述协同采集协商结果进行数据协同采集。
[0163] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0164] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用
硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0165] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行
修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。