一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于页面自适应替换缓存替换算法的漏洞快速查找方法及系统与流程

2022-02-22 23:28:28 来源:中国专利 TAG:


1.本发明涉及于信息安全技术领域,适用于漏洞快速查找技术,尤其涉及一种基于页面自适应替换缓存替换算法的漏洞快速查找方法及系统。


背景技术:

2.漏洞快速查找技术一直是被动漏洞检测的关键技术。用户通过搜索漏洞的cve可以快速的定位设备的漏洞信息。cve中文全称是通用漏洞披露,是漏洞数据库中为存储被广泛认同的信息安全漏洞给出的统称,是漏洞数据库中共享漏洞信息的“关键字”,用户可以通过cve在漏洞数据库中获得此漏洞的全部信息。cve搜索一直是漏洞快速查找技术的核心。通常被动漏洞检测是通过收集设备信息,识别设备的厂商信息、产品信息和版本信息,构建设备cpe字符串,与漏洞数据库中的cpe进行匹配,匹配成功后会提供这个设备所存在漏洞的编号(cve),由于每个cve中包含大量cpe字符串,导致这种匹配会消耗非常大的计算资源。现有技术目前针对cve搜索技术的研究,主要文献包括:wreus e提出了利用机器学习对cve进行自动cpe标记,l.a.b.sanguino提出了使用cpe和cve匹配软件漏洞,dong y提出的公共安全漏洞报告中不一致性的检测。这些研究主要解决了自动化搜索与用户交互等问题,但对于cve的搜索速度不尽如人意,通常存在如下问题,一是大量不频繁出现的cve使得数据库容量十分大,二是过去频繁但是最近已经不再出现的cve占据了数据库前部,三是列举的匹配方法耗费太多计算资源。
3.考虑到cve的快速搜索是提高被动漏洞检测速率的关键,随着物联网的广泛应用,越来越多的漏洞被发现,这使得传统的搜索方式需要消耗更多的计算资源。


技术实现要素:

4.本发明针对现有技术存在的缺陷和不足,提出一种基于页面自适应替换缓存替换算法的漏洞快速查找方法及系统,本发明的目的就是利用cve的特性减少搜索所需要的计算资源,使cve搜索可以更快、更容易的命中,为此我们需要解决的问题如下:
5.(1)研究发现,往往多种设备具有同一种漏洞,针对这一种特性,需要使cve搜索技术更加关注cve的出现频率,使出现频率更高的cve更容易被命中。
6.(2)漏洞具有时效性,cve搜索技术应该更加关注cve出现的时间,使最近出现的cve更容易被命中。
7.(3)存在一种现象,一个漏洞在一个很短暂的时间段频繁出现,但是之后再也没出现过,所以需要使cve搜索技术可以消除这种偶然变动因素。
8.为了使普遍的cve更容易被命中,本发明构建了一个二级缓存数据库,第一级缓存为优先的cve,第二级缓存为普通的cve,第一级缓存中存储的是经过算法计算的更普遍的cve,第二级缓存存储的是剩下的cve,当用户搜索一个设备的cpe字符串时,先去第一级缓存搜索,当第一级缓存没有的时候去第二级缓存搜索,这样就有效的降低了搜索所需要的
计算资源。构建二级缓存数据库最大的难点是如何对优先的cve和普通的cve进行划分,本发明基于页面自适应替换缓存替换算法,在改进的基础上使之更加适合cve的搜索,改进后的算法增加了移动平均算法。页面自适应替换缓存替换算法选出频率较高、时间较近的cve,这解决了上述需要解决的问题中的第一条和第二条。为了防止待解决问题三的出现,本发明选择了移动平均算法,此算法将前面μ个节点作为参考,结合最新节点数据,将它们平均,得到平滑后的此节点数据,它可以有效的消除噪音,使移动曲线更加的平滑。
9.其具体包括以下技术内容:
10.一种基于页面自适应替换缓存替换算法的漏洞快速查找方法,其特征在于,包括:构建二级缓存数据库,第一级用于缓存优先的cve,第二级用于缓存普通的cve;并采用基于移动平均算法的页面自适应替换缓存替换算法对优先的cve和普通的cve进行划分。
11.进一步地,当用户搜索一个设备的cpe字符串时,先从第一级缓存搜索,当第一级缓存无法找到时前往第二级缓存搜索。
12.进一步地,所述基于移动平均算法的页面自适应替换缓存替换算法具体包括以下步骤:
13.步骤a1:将所有的cve存储在第二级缓存中;
14.步骤a2:当给定一个设备cpe字符串e时,前往数据库中找到它对应的cve为ve,计算ve的得分pn(ve);计算公式如下:
15.pn(ve)=ωf·
m ωr·
(t
c-t
p
)
16.其中,pn(ve)记录的是cve为ve的得分,其中m代表的是此cve出现的次数,即频率,ωf表示频率的权重,tc和t
p
表示此cve当前出现的时间和上一次出现的时间,ωr则表示时间的权重,通过调整ωf和ωr权重使算法更关注频率或者更关注时间最近性;
17.步骤a3:使用移动平均算法计算ve的分数s(ve);计算公式如下:
[0018][0019]
其中,sn(ve)表示的是移动平均计算的得分,s
n-1
(ve)表示的是上一次的移动平均得分,μ表示移动窗口,δ表示惩罚因子。
[0020]
进一步地,还包括:
[0021]
步骤a4:假设ve在第二级缓存中,为cve的移动平均分数sn(ve)设置一个阈值θ,当分数s(ve)超过阈值θ时,将这个cve提升到第一级缓存中,如果第一级缓存满,则提高阈值,并且增加第一级缓存的容量;定期计算所有cve的分数,更新二级缓存数据库。
[0022]
进一步地,查找过程包括以下步骤:
[0023]
步骤b1:输入待搜索cpe字符串e,前往第一级缓存搜索,如果搜索成功,则输出此cpe字符串对应的cve,记为ve,更新pn(ve);
[0024]
步骤b2:如果搜索不成功,则前往第二级缓存搜索,得到此cpe字符串对应的cve,记为ve,输出ve,然后更新sn(ve);
[0025]
步骤b3:判断sn(ve)是否大于阈值θ,如果不大于,直接结束,如果大于,执行下一步;
[0026]
步骤b4:判断第一级缓存是否已满,如果未满,则将此ve加入第一级缓存,如果已满,则提高阈值θ,并且对第一级缓存进行扩容,然后将ve加入第一级缓存。
[0027]
以及,一种基于页面自适应替换缓存替换算法的漏洞快速查找系统,其特征在于,包括:二级缓存数据库,其中,第一级用于缓存优先的cve,第二级用于缓存普通的cve;采用基于移动平均算法的页面自适应替换缓存替换算法对优先的cve和普通的cve进行划分。
[0028]
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上所述的基于页面自适应替换缓存替换算法的漏洞快速查找方法的步骤。
[0029]
一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如上所述的基于页面自适应替换缓存替换算法的漏洞快速查找方法的步骤。
[0030]
本发明及其优选方案具有以下有益效果:提出二级缓存数据库,利用页面自适应替换缓存替换算法思想和移动平均算法,将其作为分级规则,这种分级规则解决了频繁性、时效性、噪音点的问题,很好的选出了更优先的cve存入第一级缓存,通过梯度搜索大大的提高了cve的搜索速度,减少了不必要的计算资源浪费。
附图说明
[0031]
下面结合附图和具体实施方式对本发明进一步详细的说明:
[0032]
图1为本发明实施例工作流程示意图。
具体实施方式
[0033]
为让本专利的特征和优点能更明显易懂,下文特举实施例,并配合附图,作详细说明如下:
[0034]
在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。
[0035]
为了使普遍的cve更容易被命中,本实施例构建了一个二级缓存数据库,第一级缓存为优先的cve,第二级缓存为普通的cve,第一级缓存中存储的是经过算法计算的更普遍的cve,第二级缓存存储的是剩下的cve,当用户搜索一个设备的cpe字符串时,先去第一级缓存搜索,当第一级缓存没有的时候去第二级缓存搜索,这样就有效的降低了搜索所需要的计算资源。构建二级缓存数据库最大的难点是如何对优先的cve和普通的cve进行划分,本实施例使用的是页面自适应替换缓存替换算法,并且对这个算法进行了一定的改进,使之更加适合cve的搜索,改进后的算法增加了移动平均算法。页面自适应替换缓存替换算法选出频率较高、时间较近的cve,这解决了上诉需要解决的问题中的第一条和第二条。为了防止待解决问题三的出现,本实施例采用移动平均算法,此算法将前面μ个节点作为参考,结合最新节点数据,将它们平均,得到平滑后的此节点数据,它可以有效的消除噪音,使移动曲线更加的平滑。
[0036]
其中,算法部分的详细步骤如下:
[0037]
步骤一:将所有的cve存储在第二级缓存中。
[0038]
步骤二:当给定一个设备cpe字符串e时,去数据库中找到它对应的cve为ve,计算ve的得分pn(ve)。计算公式如下:
[0039]
pn(ve)=ωf·
m ωr·
(t
c-t
p
)
[0040]
这个公式中的pn(ve)记录的是cve为ve的得分,它是移动平均计算的基础,其中m代表的是此cve出现的次数,也可以说成频率,ωf表示频率的权重,tc和t
p
表示此cve当前出现的时间和上一次出现的时间,ωr则表示时间的权重,可以通过调整ωf和ωr权重使算法更关注频率或者更关注时间最近性。
[0041]
步骤三:使用移动平均算法计算这个ve的分数s(ve)。计算公式如下:
[0042][0043]
sn(ve)表示的是移动平均计算的得分,s
n-1
(ve)表示的是上一次的移动平均得分,μ表示移动窗口,δ表示惩罚因子。当pn(ve)突然变大的时候,移动平均算法可以结合前面几个p
n-μ
(ve),降低这个pn(ve)的得分,因为它可能是一个噪音点,使用移动平均可以很好的消除噪音。
[0044]
步骤四:假设ve在第二级缓存中,我们会为cve的移动平均分数sn(ve)设置一个阈值θ,当分数s(ve)超过阈值θ时,将这个cve提升到第一级缓存中,如果第一级缓存满,那么提高阈值,并且增加第一级缓存的容量。为了提高准确性,需要定期计算所有cve的分数,更新二级缓存数据库。
[0045]
如图1所示,对于构建完成的缓存数据库,其查找和具体运作和维护的步骤可以采用如下方案:
[0046]
步骤一:输入待搜索cpe字符串e,去第一级缓存搜索,如果搜索成功,则输出此cpe字符串对应的cve,记为ve,更新pn(ve)。
[0047]
步骤二:如果搜索不成功,则去第二级缓存搜索,得到此cpe字符串对应的cve,记为ve,输出ve,然后更新sn(ve)。
[0048]
步骤三:判断sn(ve)是否大于阈值θ,如果不大于,直接结束,如果大于,执行下一步。
[0049]
步骤四:判断第一级缓存是否已满,如果未满,那么将此ve加入第一级缓存,如果已满,那么需要提高阈值θ,并且对第一级缓存进行扩容,然后将ve加入第一级缓存。
[0050]
以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。
[0051]
本实施例提供的以上系统及方法可以代码化的形式存储在计算机可读取存储介质中,并以计算机程序的方式进行实现,并通过计算机硬件输入计算所需的基本参数信息,并输出计算结果。
[0052]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0053]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流
程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0054]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0055]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0056]
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
[0057]
本专利不局限于上述最佳实施方式,任何人在本专利的启示下都可以得出其它各种形式的基于页面自适应替换缓存替换算法的漏洞快速查找方法及系统,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本专利的涵盖范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献