一种网络漏洞修复方法、装置及存储介质与流程

文档序号:30576868发布日期:2022-06-29 09:45阅读:149来源:国知局
一种网络漏洞修复方法、装置及存储介质与流程

1.本发明涉及网络漏洞修复技术领域,具体涉及一种网络漏洞修复方法、装置及存储介质。


背景技术:

2.无线传感器网络是一种分布式传感网络,它的末梢是大量的可以监测和感知外部环境的微型传感器。无线传感器网络中的节点采用无线方式通信,所以网络部署更加灵活,节点也可以设置为具有移动性,并与互联网进行连接。
3.无线传感器网络的系统中通常包括传感器节点(sensor node)、汇聚节点(sink node)和管理节点,传感器节点是无线传感器网络中基本功能单元,它是一种微型嵌入式设备,传感器主要由处理器单元、数据处理单元、通信传输单元以及能量管理单元构成,它是具有监测数据特点的采集、转换设备,并具有数据的管理、处理和传输以及节点控制等功能。汇聚节点相当于传感器网络内部与外部网络连接的桥梁,可以接受来自外部网络中的任务请求,也可以把无线传感器网络中监测获取到的信息传输到互联网中。网络管理节点具有实时管理整个网络系统的功能,终端通过管理节点获取所监测区域内的所有数据。
4.无线传感器网络中数据的通信质量与完整性与传感器节点的覆盖率密切相关,覆盖是指分布在网络中的节点通过在目标区域内一定的配置来感知外界环境和检测目标,是一种对外部世界的感知和监测能力,也是无线传感器网络在设计和部署规划时所要考虑的问题。因为传感器的能量大部分来源于有限的电池供应,所以它在面对大量并发数据的处理、长期存储和通讯方面时表现较弱,与此同时,网络内的每个传感器节点除了要对本地数据和信息进行收集和处理外,为了达到分布式网络的需要,还要转发从其他节点处获取的信息资源,受到传感器节点成本、结构等方面因素的限制,传感器网络中单个传感器节点的能力有限,所以合理地优化网络中节点的部署和分布结构对于整个网络更好地感知外部世界有着举足轻重的作用。再因为网络系统自身的资源有限,节点能量也有限,通过网络覆盖部署优化可以使区域内各种资源得到最大化利用。
5.无线传感器网络通过对外界世界的感知来达到监测特定事件和信息,这带来的极大便利使得它被应用于很多不同的领域,但是传感器节点的失效将会导致监测区域内出现覆盖漏洞。现有的大部分漏洞修补方法都是通过外界新增节点,这种方法只需知道漏洞的坐标,并根据算法移动修复节点进行修复,易于实现,不过新增节点所需的资源更多,且延后性较大。


技术实现要素:

6.本发明提出了一种网络漏洞修复方法,包括以下步骤:
7.步骤1,计算邻居节点修复漏洞所需的最小移动距离;
8.步骤2,基于节点与其邻居共同的重叠区域面积,计算节点的冗余度;
9.步骤3,选择剩余能量最大的节点作为最优的覆盖漏洞修复节点;
10.步骤4,基于修复算法计算修复位置的漏洞修复覆盖率;
11.步骤5,采用覆盖增强算法计算漏洞修复覆盖率的目标函数的全局最优值。
12.进一步地,所述步骤2具体包括如下步骤:
13.step2.1:获得网络内节点的位置坐标信息,通过坐标计算得到目标节点的所有邻居节点,感知目标节点与邻居节点之间范围重叠;
14.step2.2:分别计算目标节点和所有邻居节点的重叠面积,计算两圆重叠面积s
two

[0015][0016]
其中,
[0017]
(xi,yi),(xj,yj)为平面空间中两点,d为邻居节点修复漏洞所需的最小移动距离,r为圆的半径;
[0018]
step2.3:计算三圆重叠面积,计算目标节点与每个邻居节点的两个交点坐标,比较两个交点是否落在第三个圆内,来判断重叠情况;
[0019]
如果两个交点都没有落在第三个圆内,则s
three
=0;
[0020]
如果两个交点中只有一个交点落在第三个圆内或两个交点都落在第三个圆内,则s
three
按如下公式计算:
[0021][0022]
其中,a,b,c是重叠区域圆形三角形的边长,s是三角形周长的一半;
[0023]
step2.4:基于目标节点所有的两圆和三圆的重叠面积s
i two
和s
j three
,计算冗余度r:
[0024][0025]
进一步地,所述步骤3中,将冗余度和移动距离归一化成剩余能量,选择剩余能量最大的节点作为最优的覆盖漏洞修复节点,节点的剩余能量e:
[0026][0027]
其中,e0为初始剩余能量,kv为每移动一米所消耗的能量,r为冗余度,d为邻居节点修复漏洞所需的最小移动距离,ks为节点每运行一小时所消耗的能量,e为节点的初始剩余能量,t为节点工作时间。
[0028]
进一步地,所述步骤4中,如果节点si的剩余能量e
si
小于设定的能量阈值e
th
,则节点将执行修复算法:
[0029]
节点si周边被节点sj以角度[π-α,π+α]覆盖,逐渐增加α角度,使得覆盖角度最终达到[0,2π],将候选点sj(xj,yj)约束在线段sisj上,sj(xj,yj)以一定的步长沿sisj移动,自适应步长ε控制如下:
[0030][0031]
式中:φ为移动后d角度的相对增量;k∈[0,1]为动态平衡因子;t
max
为最大移动次数;t为当前移动次数;
[0032]
把漏洞修复覆盖率最大化转为计算出目标函数的全局最优值,则目标函数f为:
[0033][0034]
进一步地,所述步骤5中,增强算法具体包括如下步骤:
[0035]
step5.1:初始化算法系数,随机生成初始算法系数序列a=[β1,β2,β3

βn],并计算目标函数f(e);
[0036]
step5.2:进行迭代寻优,不断迭代出更优的解;
[0037]
step5.3:进行判断,是否为集合中的最优值,若是,则进入下一步,否则返回step5.2,对下一个参数进行计算;
[0038]
step5.4:判断本代节点覆盖率是否优于当前节点覆盖率,若是则将本代的节点覆盖率替换为当前最优节点覆盖率;否则保留当前最优节点覆盖率;
[0039]
step5.5:判断是否达到迭代终止条件,若是则结束循环过程;否则返回step5.3。
[0040]
本发明还提出了一种网络漏洞修复装置,用于实现上述的网络漏洞修复方法。
[0041]
本发明还提出了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的网络漏洞修复方法的步骤。
附图说明
[0042]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0043]
附图1为本发明的网络漏洞修复方法的流程图;
[0044]
附图2为本发明的邻居节点移动距离示意图;
[0045]
附图3为本发明的冗余度的计算和处理流程图;
[0046]
附图4为本发明的增强算法流程图。
具体实施方式
[0047]
为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0048]
在本发明的具体实施例附图中,为了更好、更清楚的描述系统中的各元件的工作原理,表现所述装置中各部分的连接关系,只是明显区分了各元件之间的相对位置关系,并不能构成对元件或结构内的信号传输方向、连接顺序及各部分结构大小、尺寸、形状的限
定。
[0049]
漏洞是指系统在硬件、软件、协议的具体实现或安全策略上存在的缺陷,这些缺陷会在系统的使用过程中被发现。例如,系统在执行某项操作时发生了错误等等。由于系统在发生错误时会产生错误信息,系统可以对产生的错误信息进行收集,并通过终端将收集到的错误信息发送到服务器,由开发人员根据错误信息开发出补丁。所述补丁可以在安装时对系统中存在的漏洞进行修复。通常,一个补丁可以修复至少一个漏洞。
[0050]
漏洞修复前,需要对漏洞进行检测。具体地,检测漏洞的方法有很多种,例如,可以获取系统中所有文件和进程的信息,将获取的信息与本地的漏洞策略库提供的扫描规则进行匹配,如果满足匹配条件,则确定漏洞存在,即检测到漏洞。其中,所述漏洞策略库用来存储漏洞的扫描规则,所述扫描规则是安全专家对系统安全漏洞、黑客攻击案例的分析和系统管理员关于系统安全配置的经验形成的相应的匹配规则,可支持应用程序自动进行系统漏洞的扫描分析。由于在使用系统的过程中会不断发现漏洞,因此,需要经常对扫描规则进行更新,以确保漏洞策略库可以扫描出最新发现的漏洞。
[0051]
如图1所示,为本发明的一种网络漏洞修复方法的流程示意图,具体流程如下:
[0052]
步骤1,计算邻居节点修复漏洞所需的最小移动距离。
[0053]
为了进行覆盖漏洞的修复,修复节点需要找到最佳移动距离和目标位置。每个邻居节点将计算它移动所需的距离,而这个距离将用于选择最符合条件的修复节点。
[0054]
具体而言,每个节点计算自身与每个邻居节点的交点,由图2中可以看出每两个邻居节点至少有两个交点,保留其中距离覆盖漏洞区域较近的交点,用于移动距离的计算,而舍弃另一个交点。邻居节点修复漏洞所需的最小移动距离如图2中虚线段d所示,d可由距离公式(1)得出。通过计算每个邻居节点的交点,可以得到一个界定覆盖漏洞的交点列表,通过交点列表能够对覆盖漏洞本身做出一个近似。
[0055]
本算法中移动距离是指二维平面空间中一点移动到另一点的直线距离。移动距离是覆盖漏洞修复算法中的一个重要指标,它可以通过平面空间中两点(xi,yi),(xj,yj)之间的距离公式(1)求得:
[0056][0057]
步骤2,基于节点与其邻居共同的重叠区域面积,计算节点的冗余度。
[0058]
在本发明中,每个节点si,si∈s,都拥有自身的剩余能量信息,并可以从位置坐标信息计算出其与邻居交点重叠的冗余面积。考虑重叠区域的冗余覆盖,冗余度其实表明了监测目标区域内节点的利用效率。冗余度越高,节点之间的重叠面积越大,利用效率越低。
[0059]
为了计算节点的冗余度,必须计算给定节点与其邻居共同的重叠区域面积。对于两个节点覆盖范围重叠的情况,使用两圆相交的面积公式(3)即可得到冗余面积。然而,当有三个节点发生重叠时,只计算两圆重叠面积s
two
,会导致三圆重叠的面积被计算了两次。因此,还必须计算得出三圆重叠面积s
three
,并在计算冗余面积总和时需要减去三圆重叠面积,这样才能得出准确地节点总重叠区域。
[0060]
最终,冗余度r可由公式(2)计算得出:
[0061][0062]
其中,n是两圆重叠的次数,m是三圆重叠的次数,通过计算目标节点所有两圆重叠面积s
i two
和三圆重叠面积s
j three
,作差得到有效重叠面积,再求有效重叠面积与目标节点感知面积的比值,即可得到冗余度的大小。
[0063]
如图3所示,对于网络内任意一个目标节点,其冗余度的计算和处理流程总结如下:
[0064]
step2.1:获得网络内节点的位置坐标信息,通过坐标计算得到目标节点的所有邻居节点,感知目标节点与邻居节点之间范围重叠,可以相互通信交换信息。
[0065]
step2.2:分别计算目标节点和所有邻居节点的重叠面积,因为两个节点之间只存在两圆重叠的情况,即利用公式(3)计算两圆重叠面积s
two

[0066][0067]
其中,(xi,yi),(xj,yj)为平面空间中两点,d为邻居节点修复漏洞所需的最小移动距离,r为圆的半径。
[0068]
step2.3:继续计算三圆重叠面积,求出目标节点与每个邻居节点的两个交点坐标,通过比较两个交点是否落在第三个圆内来判断此时的重叠情况属于三圆相交的哪一种类型。
[0069]
如果两个交点都没有落在第三个圆内,说明此时不存在三圆重叠的情况,即s
three
=0。
[0070]
如果两个交点中只有一个交点落在第三个圆内或两个交点都落在第三个圆内,则利用公式(4)计算s
three

[0071][0072]
其中,a,b,c是重叠区域圆形三角形的边长(即交点之间的距离,使用距离公式可以得出),形成一个计算面积的三角形,s是三角形周长的一半,ai为交点,使用海伦公式,可以计算得到此三角形的面积,再加上三片圆形区域的面积,即为三圆重叠面积。
[0073]
step2.4:求得目标节点所有的两圆和三圆的重叠面积,利用公式(2)即可计算得出它的冗余度r。
[0074]
步骤3,选择剩余能量最大的节点作为最优的覆盖漏洞修复节点。
[0075]
通过每个节点的冗余度、剩余能量和移动距离这三个条件综合选择最优的修复节点,因为是三个维度的变量,所以将冗余度和移动距离归一化成剩余能量来解释,最终选择剩余能量最大的节点作为最优的覆盖漏洞修复节点。
[0076]
首先考虑节点移动距离,对于初始剩余能量为e0的节点,在漏洞修复的过程节点会移动到漏洞所在位置,移动距离越长,能量消耗越大,剩余能量也随之减少,移动距离为d时剩余能量ed可以通过公式(5)得出:
[0077]
ed=e
o-k
vdꢀꢀꢀ
(5);
[0078]
其中kv为每移动一米所消耗的能量。再考虑节点的冗余度,结合节点的静态工作
时间,在网络模型部署完成后,节点虽然不发生移动,但是需要监测事件的发生并进行数据的统计和处理,这个过程同样需要消耗能量,且消耗的能量随着节点工作时间的增加而变大,节点每工作时间t时的剩余能量e
t
可以通过公式(6)求得:
[0079][0080]
其中ks为节点每运行一小时所消耗的能量,结合公式(5)和公式(6)可以得到节点总的剩余能量e为公式(7):
[0081][0082]
通过每个漏洞邻居节点的移动距离、冗余度和剩余能量来总的剩余能量e,并比较所有邻居节点e的大小,选择e值最大的邻居节点为修复漏洞的最优节点。
[0083]
这样综合考虑选取的节点所需移动距离较小、节点冗余较大、节点剩余能量较大。而选择移动距离较小的节点,则可以减少节点在移动中的能量损耗;选择冗余度较大的节点意味着该节点的重叠区域最多,它的移动对于监测区域内的影响最小;选择总的剩余能量较大的节点,可以确保该节点在完成漏洞修复之后维持更长的工作时间,保证可靠性。一旦选择了修复节点,就将该节点按步骤1中的移动方向移动距离d,即可到达修复位置。
[0084]
步骤4,基于修复算法计算修复位置的漏洞修复覆盖率。
[0085]
当检测出漏洞的位置后,会得到多个候选节点,将适当的候选节点移动到合适的位置,既能提高网络的覆盖率又可以降低节点的移动距离成为整个网络修复问题。
[0086]
如果节点si的剩余能量e
si
小于设定的能量阈值e
th
,则预计其节点将死亡并造成覆盖漏洞,则节点将执行修复算法。
[0087]
由于节点si周边被节点sj以角度[π-α,π+α]覆盖,逐渐增加α角度,使得覆盖角度最终达到[0,2π]。将候选点sj(xj,yj)约束在线段sisj上,sj(xj,yj)以一定的步长沿sisj移动,这样保证使用最少的移动步长完成漏洞的修补,自适应步长ε公式如下:
[0088][0089]
式中:φ为移动α角度后的相对增量;k∈[0,1]为动态平衡因子;t
max
为最大移动次数;t为当前移动次数。
[0090]
把漏洞修复覆盖率最大化转为计算出目标函数的全局最优值,则目标函数f为:
[0091][0092]
该目标函数f(ε)可以采用现有技术中的任何优化函数。
[0093]
步骤5,采用覆盖增强算法计算漏洞修复覆盖率的目标函数的全局最优值。
[0094]
满足阈值条件的解将会和优质解一同被保留到优质解集群中,优质解集群设有上限,当集群达到上线后,网络将会抛弃优质解集群中适应度最小的个体,最终网络的最优解也将从该优质解集群中产生,如图4所示,增强算法流程为:
[0095]
step5.1:初始化算法系数,随机生成初始算法系数序列a=[β1,β2,β3

βn],并计算目标函数f(ε)。
[0096]
step5.2:进行迭代寻优,不断迭代出更优的解。
[0097]
step5.3:进行判断,是否为集合中的最优值,若是,则进入下一步,否则返回step5.2,对下一个参数进行计算。
[0098]
step5.4:判断本代节点覆盖率是否优于当前节点覆盖率,若是则将本代的节点覆盖率替换为当前最优节点覆盖率;否则保留当前最优节点覆盖率。
[0099]
step5.5:判断是否达到迭代终止条件,若是则结束循环过程;否则返回step5.3。
[0100]
以上算法每一次的迭代过程都会向着优化目标函数增大的方向靠近,算法的最终目的是计算出目标函数的全局最优值,使覆盖效果达到最优,同时使网络性能最优。利用该覆盖增强算法,对随机初始化的节点覆盖率进行了优化,显著的提升了节点的覆盖范围。
[0101]
采用本发明的网络漏洞修复方法时,当接收到修复指令时对漏洞进行修复。其中,所述修复指令可以是后台自动发送的指令,或者,也可以将漏洞提示与修复漏洞进程相关联,在漏洞提示上添加修复按钮,如果用户选择本次修复漏洞,则可以点击漏洞提示上的修复按钮,当系统接收到用户点击修复按钮的指令时,触发漏洞修复进程,对漏洞所对应的补丁进行下载和安装,以完成对漏洞的修复。如果用户选择下次修复漏洞,则可以选择忽略或关闭漏洞提示。
[0102]
优选地,在触发漏洞修复进程之后,还可以将修复漏洞进程设置为后台修复,将漏洞修复进程的图标显示在桌面右下角的系统托盘中,以减少对用户的打扰。另外,为了增强用户对修复漏洞的感知,还可以关闭漏洞提示,并在系统气泡上提示正在进行漏洞修复。其中,系统气泡是后台修复方式下弹出的提示,通常由后台引发,在进程的图标上出现,用以提示进程的状态。
[0103]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如,固态硬盘(solid state disk,ssd))等。
[0104]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1