CN111444392A - 一种漏洞库的访问方法、装置及设备 - Google Patents
一种漏洞库的访问方法、装置及设备 Download PDFInfo
- Publication number
- CN111444392A CN111444392A CN202010223399.5A CN202010223399A CN111444392A CN 111444392 A CN111444392 A CN 111444392A CN 202010223399 A CN202010223399 A CN 202010223399A CN 111444392 A CN111444392 A CN 111444392A
- Authority
- CN
- China
- Prior art keywords
- vulnerability
- template
- type
- vulnerabilities
- array
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开一种漏洞库的访问方法、装置及设备,漏洞库包括漏洞表和模板表,漏洞表用于存储漏洞,模板表用于存储模板,模板具有对应的数组,数组的索引用于标识漏洞,索引值用于表示对应的漏洞是否处于该模板中,该方法包括:响应于携带模板标识的预设访问请求,从模板表中获取具有模板标识的模板对应的数组,以及获取漏洞表中的漏洞;基于所述数组的索引和索引值,确定所述漏洞表中的第一类漏洞和第二类漏洞;其中,所述第一类漏洞包括处于所述模板中的漏洞,所述第二类漏洞包括除所述第一类漏洞之外的漏洞;返回携带所述第一类漏洞和所述第二类漏洞的响应。本申请能够提高用户对漏洞库访问的响应效率,从而提高用户对漏洞库的访问体验。
Description
技术领域
本申请涉及数据处理领域,具体涉及一种漏洞库的访问方法、装置及设备。
背景技术
随着计算机和互联网技术的发展,各种设备和软件层出不穷,而不可避免的是设备和软件的开发必然存在漏洞,因此,对于设备或软件的漏洞扫描任务也是逐年增加的。
漏洞库是用于存储现有类型的漏洞的数据库,漏洞扫描是基于漏洞库中现有类型的漏洞对设备或软件进行扫描,从而确定该设备或软件中是否存在对应的漏洞。由于漏洞库中存储的漏洞量级较大,且针对不同的设备或软件,可能存在的漏洞也是不同的,因此,基于漏洞库中的所有漏洞对各种设备或软件进行漏洞扫描显然是不切实际的。为此,在进行漏洞扫描之前,通常需要从漏洞库中确定出漏洞集合,以便基于确定出的漏洞集合进行漏洞扫描。
目前,为了满足用户的需求,漏洞库中存储有包含漏洞标识的模板,用户可以根据需求选择漏洞库中对应的模板,然后基于该模板中的漏洞标识对应的漏洞进行漏洞扫描。进一步的,目前还存在向用户显示处于所选模板中的漏洞以及漏洞库中的其他漏洞的需求,以便用户能够在所选模板的基础上,进一步的以可视化的形式选择增加漏洞库中的其他漏洞以满足漏洞扫描的需求。
但是,目前对于上述需求的解决方式是,通过多次遍历漏洞库所有漏洞的方式,确定处于所选模板中的漏洞,以便为用户显示处于所选模板中的漏洞以及漏洞库中的其他漏洞。具体的,针对所选模板中包括的每一个漏洞标识,都需要遍历一次漏洞库中的所有漏洞,以确定该漏洞标识对应的漏洞,并将其标注为处于所选模板中,最终实现为用户显示处于所选模板中的漏洞以及漏洞库中的其他漏洞的目的。
显然,以多次遍历漏洞库中所有漏洞的方式对用户访问漏洞库的操作进行响应,会影响漏洞库的响应效率,进一步的影响用户对漏洞库的访问体验。
发明内容
有鉴于此,本申请提供了一种漏洞库的访问方法、装置及设备,能够提高用户对漏洞库访问的响应效率,从而提高用户对漏洞库的访问体验。
第一方面,为实现上述发明目的,本申请提供了一种漏洞库的访问方法,所述漏洞库包括漏洞表和模板表,所述漏洞表用于存储漏洞,所述模板表用于存储模板,所述模板具有对应的数组,所述数组的索引用于标识漏洞,所述数组的索引值用于表示对应的漏洞是否处于所述模板中,所述方法包括:
响应于携带模板标识的预设访问请求,从所述模板表中获取具有所述模板标识的模板对应的数组,以及获取所述漏洞表中的漏洞;
基于所述数组的索引和索引值,确定所述漏洞表中的第一类漏洞和第二类漏洞;其中,所述第一类漏洞包括处于所述模板中的漏洞,所述第二类漏洞包括除所述第一类漏洞之外的漏洞;
返回携带所述第一类漏洞和所述第二类漏洞的响应。
一种可选的实施方式中,所述响应于携带模板标识的预设访问请求,从所述模板表中获取具有所述模板标识的模板对应的数组,以及获取所述漏洞表中的漏洞,包括:
响应于携带模板标识的预设访问请求,确定缓存中是否存储有具有所述模板标识的模板对应的数组;
如果所述缓存中存储有所述数组,则从所述缓存中获取所述数组,以及获取所述漏洞表中的漏洞;
如果所述缓存中未存储所述数组,则从所述模板表中获取具有所述模板标识的模板对应的数组,以及获取所述漏洞表中的漏洞。
一种可选的实施方式中,所述返回携带所述第一类漏洞和所述第二类漏洞的响应之后,还包括:
响应于携带所述第二类漏洞的漏洞标识的预设新增请求,确定在所述数组中所述漏洞标识对应的索引;
将所述索引对应的索引值设置为第一预设值,所述第一预设值用于表示所述索引对应的漏洞处于所述模板中。
一种可选的实施方式中,所述返回携带所述第一类漏洞和所述第二类漏洞的响应之后,还包括:
响应于携带所述第一类漏洞的漏洞标识的预设删除请求,确定在所述数组中所述漏洞标识对应的索引;
将所述索引对应的索引值设置为第二预设值,所述第二预设值用于表示所述索引对应的漏洞未处于所述模板中。
一种可选的实施方式中,所述基于所述数组的索引和索引值,确定所述漏洞表中的第一类漏洞和第二类漏洞;其中,所述第一类漏洞包括处于所述模板中的漏洞,所述第二类漏洞包括除所述第一类漏洞之外的漏洞,包括:
基于所述数组的索引值,确定对应的索引所标识的漏洞是否处于所述模板中;
如果所述索引所标识的漏洞处于所述模板中,则将所述漏洞表中所述索引所标识的漏洞确定为第一类漏洞;
将所述漏洞表中除所述第一类漏洞之外的漏洞确定为第二类漏洞。
第二方面,本申请提供了一种漏洞库的访问装置,所述漏洞库包括漏洞表和模板表,所述漏洞表用于存储漏洞,所述模板表用于存储模板,所述模板具有对应的数组,所述数组的索引用于标识漏洞,所述数组的索引值用于表示对应的漏洞是否处于所述模板中,所述装置包括:
获取模块,用于响应于携带模板标识的预设访问请求,从所述模板表中获取具有所述模板标识的模板对应的数组,以及获取所述漏洞表中的漏洞;
第一确定模块,用于基于所述数组的索引和索引值,确定所述漏洞表中的第一类漏洞和第二类漏洞;其中,所述第一类漏洞包括处于所述模板中的漏洞,所述第二类漏洞包括除所述第一类漏洞之外的漏洞;
返回模块,用于返回携带所述第一类漏洞和所述第二类漏洞的响应。
一种可选的实施方式中,所述获取模块,包括:
确定子模块,用于响应于携带模板标识的预设访问请求,确定缓存中是否存储有具有所述模板标识的模板对应的数组;
第一获取子模块,用于在所述缓存中存储有所述数组时,从所述缓存中获取所述数组,以及获取所述漏洞表中的漏洞;
第二获取子模块,用于在所述缓存中未存储所述数组时,从所述模板表中获取具有所述模板标识的模板对应的数组,以及获取所述漏洞表中的漏洞。
一种可选的实施方式中,所述装置还包括:
第二确定模块,用于响应于携带所述第二类漏洞的漏洞标识的预设新增请求,确定在所述数组中所述漏洞标识对应的索引;
设置模块,用于将所述索引对应的索引值设置为第一预设值,所述第一预设值用于表示所述索引对应的漏洞处于所述模板中。
第三方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如上述任一项所述的方法。
第四方面,本申请还提供了一种设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述任一项所述的方法。
本申请实施例提供的漏洞库的访问方法中,通过调整模板的存储方式,使得漏洞库的响应效率提高。具体的,为漏洞库中的各个模板分别设置对应的数组,其中,模板对应的数组的索引用于标识漏洞,数组的索引值用于表示对应的漏洞是否处于该模板中。基于模板对应的数组中的索引和索引值,能够直接确定漏洞表中各个索引分别对应的漏洞是否处于该模板中,无需多次遍历漏洞库,提高了漏洞库的响应效率,进一步的提高用户对漏洞库的访问体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种漏洞库的访问方法的流程图;
图2为本申请实施例提供的另一种漏洞库的访问方法流程图;
图3为本申请实施例提供的又一种漏洞库的访问方法流程图;
图4为本申请实施例提供的又一种漏洞库的访问方法流程图;
图5为本申请实施例提供的一种漏洞库的访问装置结构示意图;
图6为本申请实施例提供的一种漏洞库的访问设备结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,漏洞库中存储有包含漏洞标识的模板,对于模板中包含的漏洞标识,需要通过多次遍历漏洞库中所有漏洞的方式,确定各个漏洞标识在漏洞库中分别对应漏洞,以便将漏洞库中处于该模板中的漏洞和其他漏洞区分出来,最终有区别的显示给用户,使得用户能够获知哪些漏洞是属于其所选模板的,以及可以根据需求对所选模板中的漏洞进行增加、删除等操作,最终得到用于漏洞扫描的漏洞。
由于通过多次遍历漏洞库中所有漏洞,以确定漏洞库中处于所选模板中的漏洞的方式,会影响漏洞库的响应效率,进一步的可能影响用户对漏洞库的访问体验,因此,本申请提供了一种漏洞库的访问方法,通过调整模板的存储方式,使得漏洞库的响应效率提高。具体的,为漏洞库中的各个模板分别设置对应的数组,其中,模板对应的数组的索引用于标识漏洞,数组的索引值用于表示对应的漏洞是否处于该模板中。基于模板对应的数组中的索引和索引值,能够直接确定漏洞表中各个索引分别对应的漏洞是否处于该模板中,无需多次遍历漏洞库,提高了漏洞库的响应效率,进一步的提高用户对漏洞库的访问体验。
基于此,本申请实施例提供了一种漏洞库的访问方法,所述漏洞库包括漏洞表和模板表,所述漏洞表用于存储漏洞,所述模板表用于存储模板,所述模板具有对应的数组,所述数组的索引用于标识漏洞,所述数组的索引值用于表示对应的漏洞是否处于所述模板中。
参考图1,为本申请实施例提供的一种漏洞库的访问方法的流程图,该方法包括:
S101:响应于携带模板标识的预设访问请求,从所述模板表中获取具有所述模板标识的模板对应的数组,以及获取所述漏洞表中的漏洞。
为了提高漏洞库的响应速度,本申请实施例为模板表中的每个模板分别设置数组,利用数组的索引标识漏洞库中的漏洞,利用数组的索引值表示对应的索引所标识的漏洞是否存储于该数组对应的模板中。
假设漏洞库的漏洞表中包括10个漏洞,事实上漏洞表中的漏洞一般是几十万量级的,上述“10个”只是作为示例,对于本申请实施例不构成范围的限制。该漏洞库的模板表中包括“摄像头相关漏洞”的模板,该模板对应的数组为[0,1,1,0,0,0,0,1,1,1],假设索引值为0表示对应的索引所标识的漏洞未处于该模板中,而索引值为1表示对应的索引所标识的漏洞处于该模板中。因此,可以从该模板对应的数组中获知,该模板包括漏洞表中的第2、3、8、9、10个漏洞。
本申请实施例中,在接收到携带模板标识的预设访问请求时,从漏洞库的模板表中获取具有该模板标识的模板对应的数组。其中,预设访问请求用于对漏洞库进行访问,以获取该预设访问请求携带的模板标识对应的模板所包含的漏洞,以及漏洞库中的其他漏洞,最终将这些漏洞区别显示于用户界面,使用户能够了解用于后续漏洞扫描的漏洞,以及对包含于该模板中的漏洞进行删除以及增加等后续操作,最大程度的满足用户的漏洞扫描需求。
一种可选的实施方式中,漏洞库的模板表中对于各个模板对应的数组的存储格式可以为json格式。也就是说,将各个模板对应的数组转换为json格式存储于漏洞库的模板表中。在接收到携带模板标识的预设访问请求时,从模板表中获取该模板标识对应的json格式的数组,然后将json格式的数组转换为数组格式,用于后续漏洞库的响应。
另外,由于对预设访问请求的响应不仅需要包含处于该模板中的漏洞,还需要包含未处于该模板中的漏洞,即将二者区别显示于用户界面。为此,本申请实施例中,在接收到携带模板标识的预设访问请求时,还需要获取漏洞表中的漏洞,以便确定漏洞表中处于该模板中的漏洞以及其他漏洞,区别显示于用户界面。
S102:基于所述数组的索引和索引值,确定所述漏洞表中的第一类漏洞和第二类漏洞;其中,所述第一类漏洞包括处于所述模板中的漏洞,所述第二类漏洞包括除所述第一类漏洞之外的漏洞。
本申请实施例中,在获取模板对应的数组和漏洞表中的漏洞之后,基于该数组的索引和索引值,确定出漏洞表中的各个漏洞是否处于该模板中。
一种可选的实施方式中,首先,基于所述数组的索引值,确定对应的索引所标识的漏洞是否处于所述模板中。如果所述索引所标识的漏洞处于所述模板中,则将所述漏洞表中所述索引所标识的漏洞确定为第一类漏洞,将所述漏洞表中除所述第一类漏洞之外的漏洞确定为第二类漏洞。
举例说明,仍然以数组为[0,1,1,0,0,0,0,1,1,1]的“摄像头相关漏洞”模板为例,通过该数组能够确定漏洞表中的第2、3、8、9、10个漏洞处于该模板,第1、4、5、6、7个漏洞未处于该模板,则可以确定漏洞表中的第2、3、8、9、10个漏洞为第一类漏洞,第1、4、5、6、7个漏洞为第二类漏洞。由于仅通过该数组即可以确定漏洞表中的各个漏洞是否处于该模板中,不需要对漏洞表中的所有漏洞进行多次遍历,提高了漏洞库的响应效率。
S103:返回携带所述第一类漏洞和所述第二类漏洞的响应。
本申请实施例中,在确定漏洞表中的第一类漏洞和第二类漏洞之后,返回携带第一类漏洞和第二类漏洞的响应,将第一类漏洞和第二类漏洞区别显示于用户界面。
本申请实施例提供的漏洞库的访问方法中,通过调整模板的存储方式,使得漏洞库的响应效率提高。具体的,为漏洞库中的各个模板分别设置对应的数组,其中,模板对应的数组的索引用于标识漏洞,数组的索引值用于表示对应的漏洞是否处于该模板中。基于模板对应的数组中的索引和索引值,能够直接确定漏洞表中各个索引分别对应的漏洞是否处于该模板中,无需多次遍历漏洞库,提高了漏洞库的响应效率,进一步的提高用户对漏洞库的访问体验。
基于上述实施方案,进一步的本申请实施例还提供了一种漏洞库的访问方法,在用户界面显示所选模板中包含的漏洞和其他漏洞之后,用户还可以基于漏洞扫描需求对所选模板中包含的漏洞进行增加、删除等操作,以进一步的满足用户的漏洞扫描需求。
参考图2,为本申请实施例提供的另一种漏洞库的访问方法流程图,该方法包括:
S201:响应于携带模板标识的预设访问请求,从所述模板表中获取具有所述模板标识的模板对应的数组,以及获取所述漏洞表中的漏洞;
S202:基于所述数组的索引和索引值,确定所述漏洞表中的第一类漏洞和第二类漏洞;其中,所述第一类漏洞包括处于所述模板中的漏洞,所述第二类漏洞包括除所述第一类漏洞之外的漏洞。
S203:返回携带所述第一类漏洞和所述第二类漏洞的响应。
本申请实施例中的S201-S203可参考上述实施例中的S101-S103进行理解,在此不再赘述。
S204:响应于携带所述第二类漏洞的漏洞标识的预设新增请求,确定在所述数组中所述漏洞标识对应的索引。
本申请实施例中,基于显示于用户界面的第一类漏洞和第二类漏洞,用户可以通过选择任一或多个第二类漏洞的方式,增加用于漏洞扫描的漏洞,满足用户的漏洞扫描需求。其中,预设新增请求用于请求将第二类漏洞增加至模板中。
实际应用中,在接收到携带第二类漏洞的漏洞标识的预设新增请求时,首先从模板表中获取所选模板对应的数组,然后确定需要新增至该数组的漏洞,在该数组中对应的索引。
举例说明,仍然以数组为[0,1,1,0,0,0,0,1,1,1]的“摄像头相关漏洞”模板为例,假设预设新增请求中携带的第二类漏洞,即未处于所选模板中的漏洞分别为漏洞表中的第1、4、5个漏洞,则可以确定其在该数组中的索引分别为0、3、4。
S205:将所述索引对应的索引值设置为第一预设值,所述第一预设值用于表示所述索引对应的漏洞处于所述模板中。
本申请实施例中,第一预设值可以为1,具体的,模板对应的数组的索引值为1,则表示该索引值的索引对应的漏洞处于该模板中。
实际应用中,在确定预设新增请求中携带的漏洞标识对应的索引之后,将所选模板中该索引对应的索引值均设置为第一预设值。
例如,将上述示例中数组[0,1,1,0,0,0,0,1,1,1]中索引分别为0、3、4的索引值均设置为1,得到更新后的数组[1,1,1,1,1,0,0,1,1,1],以完成数组的更新,并将该数组转换成json格式,存储于漏洞库的模板表中。
本申请实施例中,可以通过重新设置模板对应的数组的索引值的方式,增加该模板包含的漏洞,处理简单,提高了漏洞库的响应速度。
在上述对所选模板中包含的漏洞进行增加操作处理方法的基础上,进一步的本申请实施例还提供了一种漏洞库的访问方法,本申请实施例在用户界面显示所选模板中包含的漏洞和其他漏洞之后,用户还可以基于漏洞扫描需求对所选模板中包含的漏洞进行删除操作,以删除本次漏洞扫描不需要的漏洞,提高漏洞扫描的效率。
参考图3,为本申请实施例提供的又一种漏洞库的访问方法流程图,该方法包括:
S301:响应于携带模板标识的预设访问请求,从所述模板表中获取具有所述模板标识的模板对应的数组,以及获取所述漏洞表中的漏洞。
S302:基于所述数组的索引和索引值,确定所述漏洞表中的第一类漏洞和第二类漏洞;其中,所述第一类漏洞包括处于所述模板中的漏洞,所述第二类漏洞包括除所述第一类漏洞之外的漏洞。
S303:返回携带所述第一类漏洞和所述第二类漏洞的响应。
本申请实施例中的S301-S303可参考上述实施例中的S101-S103进行理解,在此不再赘述。
S304:响应于携带所述第一类漏洞的漏洞标识的预设删除请求,确定在所述数组中所述漏洞标识对应的索引。
本申请实施例中,基于显示于用户界面的第一类漏洞和第二类漏洞,用户可以通过选择任一或多个第一类漏洞的方式,删除所选模板中的漏洞,满足用户的漏洞扫描需求,提高漏洞库处理效率。其中,预设删除请求用于请求将第一类漏洞从所选模板中删除。
实际应用中,在接收到携带第一类漏洞的漏洞标识的预设删除请求时,首先从所选模板对应的数组中确定预设删除请求中的漏洞标识对应的索引。
举例说明,仍然以数组为[0,1,1,0,0,0,0,1,1,1]的“摄像头相关漏洞”模板为例,假设预设删除请求中携带的第一类漏洞,即处于所选模板中的漏洞分别为漏洞表中的第2、3个漏洞,则可以确定其在该数组中的索引分别为1、2。
S305:将所述索引对应的索引值设置为第二预设值,所述第二预设值用于表示所述索引对应的漏洞未处于所述模板中。
本申请实施例中,第二预设值可以为0,具体的,模板对应的数组的索引值为0,则表明该索引值的索引对应的漏洞未处于该模板中。
实际应用中,在确定预设删除请求中携带的漏洞标识对应的索引之后,将所选模板中该索引对应的索引值均设置为第二预设值。
例如,将上述示例中数组数组[0,1,1,0,0,0,0,1,1,1]中索引分别为1、2的索引值均设置为0,得到更新后的数组[0,0,0,0,0,0,0,1,1,1],以完成数组的更新,并将该数组转换成json格式,存储于漏洞库的模板表中。
本申请实施例中,可以通过重新设置模板对应的数组的索引值的方式,删除该模板包含的漏洞,处理简单,提高了漏洞库的响应速度。
基于上述实施方案,进一步的本申请实施例还提供了一种漏洞库的访问方法,参考图4,为本申请实施例提供的又一种漏洞库的访问方法流程图,该方法包括:
S401:响应于携带模板标识的预设访问请求,确定缓存中是否存储有具有所述模板标识的模板对应的数组。
由于漏洞库的模板表中存储模板对应的数组的方式,通常是需要预先将数组转换成json格式然后进行存储的,而每次在对模板对应的数组进行处理时,需要首先从漏洞库中获取所选模板的json格式的数组,然后将json格式转换成数组格式,最终基于数组格式的模板进行处理。如果需要多次处理模板,则每次均需要完成上述操作,显然操作比较复杂,容易降低漏洞库的操作效率。
为此,本申请实施例利用缓存对所选模板的数组进行存储,以便在需要对模板进行处理时,无需多次从漏洞库中获取模板对应的数组,而是直接从缓存中获取该数组即可,避免了多次访问漏洞库造成的访问效率低的问题。
实际应用中,在接收到携带模板标识的预设访问请求时,首先确定缓存中是否存储有预设访问请求携带的模板标识对应的模板,如果存在,则直接从缓存中获取该模板对应的数组即可。值得注意的是,在缓存中可以直接对模板对应的数组进行存储,无需转换成json格式。
S402:如果所述缓存中存储有所述数组,则从所述缓存中获取所述数组,以及获取所述漏洞表中的漏洞。
S403:如果所述缓存中未存储所述数组,则从所述模板表中获取具有所述模板标识的模板对应的数组,以及获取所述漏洞表中的漏洞。
实际应用中,如果确定缓存中未存储该数组,则可以从漏洞库的模板表中获取具有模板标识的模板对应的数组,然后将该数组存储于缓存中,以便后续对该模板进行处理时可以直接从缓存中获取对应的数组。
S404:基于所述数组的索引和索引值,确定所述漏洞表中的第一类漏洞和第二类漏洞;其中,所述第一类漏洞包括处于所述模板中的漏洞,所述第二类漏洞包括除所述第一类漏洞之外的漏洞。
S405:返回携带所述第一类漏洞和所述第二类漏洞的响应。
本申请实施例中的S404和S405可参照上述实施例中的S102和S103进行理解,在此不再赘述。
本申请实施例提供的漏洞库的访问方法中,利用缓存存储漏洞库中的各个模板对应的数组,以便在对模板进行处理时,可以直接从缓存获取对应的数组,无需多次访问漏洞库,因此能够提高漏洞库的访问效率。
基于上述方法实施例,本申请还提供了一种漏洞库的访问装置,所述漏洞库包括漏洞表和模板表,所述漏洞表用于存储漏洞,所述模板表用于存储模板,所述模板具有对应的数组,所述数组的索引用于标识漏洞,所述数组的索引值用于表示对应的漏洞是否处于所述模板中。
参考图5,为本申请实施例提供的一种漏洞库的访问装置结构示意图,所述装置包括:
获取模块501,用于响应于携带模板标识的预设访问请求,从所述模板表中获取具有所述模板标识的模板对应的数组,以及获取所述漏洞表中的漏洞;
第一确定模块502,用于基于所述数组的索引和索引值,确定所述漏洞表中的第一类漏洞和第二类漏洞;其中,所述第一类漏洞包括处于所述模板中的漏洞,所述第二类漏洞包括除所述第一类漏洞之外的漏洞;
返回模块503,用于返回携带所述第一类漏洞和所述第二类漏洞的响应。
一种可选的实施方式中,所述获取模块501,包括:
确定子模块,用于响应于携带模板标识的预设访问请求,确定缓存中是否存储有具有所述模板标识的模板对应的数组;
第一获取子模块,用于在所述缓存中存储有所述数组时,从所述缓存中获取所述数组,以及获取所述漏洞表中的漏洞;
第二获取子模块,用于在所述缓存中未存储所述数组时,从所述模板表中获取具有所述模板标识的模板对应的数组,以及获取所述漏洞表中的漏洞。
另外,所述装置还包括:
第二确定模块,用于响应于携带所述第二类漏洞的漏洞标识的预设新增请求,确定在所述数组中所述漏洞标识对应的索引;
设置模块,用于将所述索引对应的索引值设置为第一预设值,所述第一预设值用于表示所述索引对应的漏洞处于所述模板中。
本申请实施例提供的漏洞库的访问装置,通过调整模板的存储方式,使得漏洞库的响应效率提高。具体的,为漏洞库中的各个模板分别设置对应的数组,其中,模板对应的数组的索引用于标识漏洞,数组的索引值用于表示对应的漏洞是否处于该模板中。基于模板对应的数组中的索引和索引值,能够直接确定漏洞表中各个索引分别对应的漏洞是否处于该模板中,无需多次遍历漏洞库,提高了漏洞库的响应效率,进一步的提高用户对漏洞库的访问体验。
另外,本申请实施例还提供了一种漏洞库的访问设备,参见图6所示,可以包括:
处理器601、存储器602、输入装置603和输出装置604。漏洞库的访问设备中的处理器601的数量可以一个或多个,图6中以一个处理器为例。在本发明的一些实施例中,处理器601、存储器602、输入装置603和输出装置604可通过总线或其它方式连接,其中,图6中以通过总线连接为例。
存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行漏洞库的访问设备的各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置603可用于接收输入的数字或字符信息,以及产生与漏洞库的访问设备的用户设置以及功能控制有关的信号输入。
具体在本实施例中,处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现上述漏洞库的访问方法中的各种功能。
另外,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述的漏洞库的访问方法。
可以理解的是,对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请实施例所提供的一种漏洞库的访问方法、装置及设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种漏洞库的访问方法,其特征在于,所述漏洞库包括漏洞表和模板表,所述漏洞表用于存储漏洞,所述模板表用于存储模板,所述模板具有对应的数组,所述数组的索引用于标识漏洞,所述数组的索引值用于表示对应的漏洞是否处于所述模板中,所述方法包括:
响应于携带模板标识的预设访问请求,从所述模板表中获取具有所述模板标识的模板对应的数组,以及获取所述漏洞表中的漏洞;
基于所述数组的索引和索引值,确定所述漏洞表中的第一类漏洞和第二类漏洞;其中,所述第一类漏洞包括处于所述模板中的漏洞,所述第二类漏洞包括除所述第一类漏洞之外的漏洞;
返回携带所述第一类漏洞和所述第二类漏洞的响应。
2.根据权利要求1所述的方法,其特征在于,所述响应于携带模板标识的预设访问请求,从所述模板表中获取具有所述模板标识的模板对应的数组,以及获取所述漏洞表中的漏洞,包括:
响应于携带模板标识的预设访问请求,确定缓存中是否存储有具有所述模板标识的模板对应的数组;
如果所述缓存中存储有所述数组,则从所述缓存中获取所述数组,以及获取所述漏洞表中的漏洞;
如果所述缓存中未存储所述数组,则从所述模板表中获取具有所述模板标识的模板对应的数组,以及获取所述漏洞表中的漏洞。
3.根据权利要求1所述的方法,其特征在于,所述返回携带所述第一类漏洞和所述第二类漏洞的响应之后,还包括:
响应于携带所述第二类漏洞的漏洞标识的预设新增请求,确定在所述数组中所述漏洞标识对应的索引;
将所述索引对应的索引值设置为第一预设值,所述第一预设值用于表示所述索引对应的漏洞处于所述模板中。
4.根据权利要求1所述的方法,其特征在于,所述返回携带所述第一类漏洞和所述第二类漏洞的响应之后,还包括:
响应于携带所述第一类漏洞的漏洞标识的预设删除请求,确定在所述数组中所述漏洞标识对应的索引;
将所述索引对应的索引值设置为第二预设值,所述第二预设值用于表示所述索引对应的漏洞未处于所述模板中。
5.根据权利要求1所述的方法,其特征在于,所述基于所述数组的索引和索引值,确定所述漏洞表中的第一类漏洞和第二类漏洞;其中,所述第一类漏洞包括处于所述模板中的漏洞,所述第二类漏洞包括除所述第一类漏洞之外的漏洞,包括:
基于所述数组的索引值,确定对应的索引所标识的漏洞是否处于所述模板中;
如果所述索引所标识的漏洞处于所述模板中,则将所述漏洞表中所述索引所标识的漏洞确定为第一类漏洞;
将所述漏洞表中除所述第一类漏洞之外的漏洞确定为第二类漏洞。
6.一种漏洞库的访问装置,其特征在于,所述漏洞库包括漏洞表和模板表,所述漏洞表用于存储漏洞,所述模板表用于存储模板,所述模板具有对应的数组,所述数组的索引用于标识漏洞,所述数组的索引值用于表示对应的漏洞是否处于所述模板中,所述装置包括:
获取模块,用于响应于携带模板标识的预设访问请求,从所述模板表中获取具有所述模板标识的模板对应的数组,以及获取所述漏洞表中的漏洞;
第一确定模块,用于基于所述数组的索引和索引值,确定所述漏洞表中的第一类漏洞和第二类漏洞;其中,所述第一类漏洞包括处于所述模板中的漏洞,所述第二类漏洞包括除所述第一类漏洞之外的漏洞;
返回模块,用于返回携带所述第一类漏洞和所述第二类漏洞的响应。
7.根据权利要求6所述的装置,其特征在于,所述获取模块,包括:
确定子模块,用于响应于携带模板标识的预设访问请求,确定缓存中是否存储有具有所述模板标识的模板对应的数组;
第一获取子模块,用于在所述缓存中存储有所述数组时,从所述缓存中获取所述数组,以及获取所述漏洞表中的漏洞;
第二获取子模块,用于在所述缓存中未存储所述数组时,从所述模板表中获取具有所述模板标识的模板对应的数组,以及获取所述漏洞表中的漏洞。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二确定模块,用于响应于携带所述第二类漏洞的漏洞标识的预设新增请求,确定在所述数组中所述漏洞标识对应的索引;
设置模块,用于将所述索引对应的索引值设置为第一预设值,所述第一预设值用于表示所述索引对应的漏洞处于所述模板中。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如权利要求1-5任一项所述的方法。
10.一种设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010223399.5A CN111444392B (zh) | 2020-03-26 | 2020-03-26 | 一种漏洞库的访问方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010223399.5A CN111444392B (zh) | 2020-03-26 | 2020-03-26 | 一种漏洞库的访问方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111444392A true CN111444392A (zh) | 2020-07-24 |
CN111444392B CN111444392B (zh) | 2023-04-25 |
Family
ID=71652538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010223399.5A Active CN111444392B (zh) | 2020-03-26 | 2020-03-26 | 一种漏洞库的访问方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111444392B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111859399A (zh) * | 2020-07-29 | 2020-10-30 | 网宿科技股份有限公司 | 一种基于oval的漏洞检测方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103065095A (zh) * | 2013-01-29 | 2013-04-24 | 四川大学 | 一种基于指纹识别技术的web漏洞扫描方法和漏洞扫描器 |
US20130247207A1 (en) * | 2011-09-21 | 2013-09-19 | Mcafee, Inc., A Delaware Corporation | System and method for grouping computer vulnerabilities |
CN104363236A (zh) * | 2014-11-21 | 2015-02-18 | 西安邮电大学 | 一种自动化漏洞验证的方法 |
US20160300065A1 (en) * | 2015-04-07 | 2016-10-13 | Bank Of America Corporation | Program Vulnerability Identification |
CN106295347A (zh) * | 2015-05-28 | 2017-01-04 | 国家计算机网络与信息安全管理中心 | 用于搭建漏洞验证环境的方法及装置 |
CN108011898A (zh) * | 2018-01-30 | 2018-05-08 | 上海壹账通金融科技有限公司 | 漏洞检测方法、装置、计算机设备和存储介质 |
CN108537042A (zh) * | 2018-04-04 | 2018-09-14 | 上海有云信息技术有限公司 | 自定义插件生成方法、装置、设备及存储介质 |
CN110431819A (zh) * | 2017-03-20 | 2019-11-08 | 浩瀚有限公司 | 基于网络可用数据变化的触发扫描 |
CN110704847A (zh) * | 2019-09-27 | 2020-01-17 | 重庆紫光华山智安科技有限公司 | 漏洞扫描方法及相关装置 |
CN110909361A (zh) * | 2019-11-08 | 2020-03-24 | 北京长亭未来科技有限公司 | 一种漏洞检测方法,装置和计算机设备 |
-
2020
- 2020-03-26 CN CN202010223399.5A patent/CN111444392B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130247207A1 (en) * | 2011-09-21 | 2013-09-19 | Mcafee, Inc., A Delaware Corporation | System and method for grouping computer vulnerabilities |
CN103065095A (zh) * | 2013-01-29 | 2013-04-24 | 四川大学 | 一种基于指纹识别技术的web漏洞扫描方法和漏洞扫描器 |
CN104363236A (zh) * | 2014-11-21 | 2015-02-18 | 西安邮电大学 | 一种自动化漏洞验证的方法 |
US20160300065A1 (en) * | 2015-04-07 | 2016-10-13 | Bank Of America Corporation | Program Vulnerability Identification |
CN106295347A (zh) * | 2015-05-28 | 2017-01-04 | 国家计算机网络与信息安全管理中心 | 用于搭建漏洞验证环境的方法及装置 |
CN110431819A (zh) * | 2017-03-20 | 2019-11-08 | 浩瀚有限公司 | 基于网络可用数据变化的触发扫描 |
CN108011898A (zh) * | 2018-01-30 | 2018-05-08 | 上海壹账通金融科技有限公司 | 漏洞检测方法、装置、计算机设备和存储介质 |
CN108537042A (zh) * | 2018-04-04 | 2018-09-14 | 上海有云信息技术有限公司 | 自定义插件生成方法、装置、设备及存储介质 |
CN110704847A (zh) * | 2019-09-27 | 2020-01-17 | 重庆紫光华山智安科技有限公司 | 漏洞扫描方法及相关装置 |
CN110909361A (zh) * | 2019-11-08 | 2020-03-24 | 北京长亭未来科技有限公司 | 一种漏洞检测方法,装置和计算机设备 |
Non-Patent Citations (1)
Title |
---|
段丹青;陈松乔;杨卫平;: "漏洞扫描与入侵检测联动***的研究" * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111859399A (zh) * | 2020-07-29 | 2020-10-30 | 网宿科技股份有限公司 | 一种基于oval的漏洞检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111444392B (zh) | 2023-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107506300B (zh) | 一种用户界面测试方法、装置、服务器和存储介质 | |
CN107239392B (zh) | 一种测试方法、装置、终端及存储介质 | |
CN108255620B (zh) | 一种业务逻辑处理方法、装置、业务服务器及*** | |
CN112199093B (zh) | 资源检查方法、装置、设备及计算机可读存储介质 | |
CN110287696B (zh) | 一种反弹shell进程的检测方法、装置和设备 | |
CN110955409B (zh) | 在云平台上创建资源的方法和装置 | |
CN113626102A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN116107892A (zh) | 自动化测试方法、装置、设备及存储介质 | |
CN113535577B (zh) | 基于知识图谱的应用测试方法、装置、电子设备和介质 | |
CN109189688B (zh) | 一种测试用例脚本的生成方法、生成装置及电子设备 | |
CN111444392A (zh) | 一种漏洞库的访问方法、装置及设备 | |
CN108664505B (zh) | 一种数据库表结构的导出方法及装置 | |
CN116842910A (zh) | 一种业务数据展示方法、装置、设备以及存储介质 | |
CN114625407A (zh) | 一种ab实验的实现方法、***、设备及存储介质 | |
CN110955449A (zh) | 客户端的灰度发布方法及装置 | |
JP2020123323A (ja) | オブジェクトセットの視覚的表現を提供する方法、装置、機器、および記憶媒体。 | |
CN114564856B (zh) | 一种基于fmea的数据共享方法及电子设备 | |
CN113641628A (zh) | 数据质量检测方法、装置、设备及存储介质 | |
CN110223108B (zh) | 点击通过率的预测方法、装置及设备 | |
CN110750569A (zh) | 数据提取方法、装置、设备及存储介质 | |
CN113010587A (zh) | 数据源配置方法、装置、终端、服务器及介质 | |
CN117573561B (zh) | 一种自动化测试***、方法、电子设备和存储介质 | |
CN110569459A (zh) | 一种网页信息的统计方法和装置 | |
CN114090523B (zh) | 电子设备及其xml文件的节点解析方法、介质 | |
CN115514806B (zh) | 一种离散服务集群的感知发现方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |