CN110569648B - 版本漏洞库组织的方法和装置 - Google Patents
版本漏洞库组织的方法和装置 Download PDFInfo
- Publication number
- CN110569648B CN110569648B CN201910873275.9A CN201910873275A CN110569648B CN 110569648 B CN110569648 B CN 110569648B CN 201910873275 A CN201910873275 A CN 201910873275A CN 110569648 B CN110569648 B CN 110569648B
- Authority
- CN
- China
- Prior art keywords
- vulnerability
- software
- screening
- information
- version
- 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.)
- Active
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Abstract
本发明提供了一种版本漏洞库组织的方法和装置,涉及网络安全的技术领域,包括:获取待查询软件的信息,其中,待查询软件的信息包括:待查询软件名称和待查询软件版本号;然后,基于待查询软件的信息在版本漏洞库中查询待查询软件的版本漏洞信息,其中,版本漏洞库为用于查询指定软件名称的指定软件版本号的漏洞信息的数据库,利用本发明方法查询指定软件产品特定版本的漏洞,运维人员只需要维护一个版本漏洞库即可,既省时又省力,缓解了现有技术中为查询软件版本漏洞,运维工作存在的费时又费力的技术问题。
Description
技术领域
本发明涉及网络安全的技术领域,尤其是涉及一种版本漏洞库组织的方法和装置。
背景技术
目前,软件应用市场上的软件种类越来越多,为了提升软件的性能,各种软件都会不定期的发布新的版本,用来修复旧版本存在的一些漏洞和新增软件功能,所以软件版本号是软件版本的重要标志,为了给漏洞修复工作提供有效支持,利用软件版本号快速定位漏洞数据就显得尤为重要。
现有技术中,运维人员可以利用编程语言针为每个软件产品编写相应的漏洞查询脚本,进而支持查询各种软件的每个版本的漏洞,但是鉴于软件种类众多,且软件版本号的定义方式也不是统一的,运维人员就需要同时维护多个脚本,费时又费力。
综上所述,现有技术中为查询软件版本漏洞,运维工作存在费时又费力的技术问题。
发明内容
本发明的目的在于提供一种版本漏洞库组织的方法和装置,以缓解现有技术中为查询软件版本漏洞,运维工作存在的费时又费力的技术问题。
第一方面,本发明实施例提供一种版本漏洞库组织的方法,包括:获取待查询软件的信息,其中,所述待查询软件的信息包括:待查询软件名称和待查询软件版本号;基于所述待查询软件的信息在版本漏洞库中查询所述待查询软件的版本漏洞信息,其中,所述版本漏洞库为用于查询指定软件名称的指定软件版本号的漏洞信息的数据库。
在可选的实施方式中,所述版本漏洞库包括:筛选逻辑表、漏洞筛选信息表和漏洞信息表;所述筛选逻辑表为筛选逻辑索引和筛选逻辑的对应关系表;所述漏洞筛选信息表为每个软件的漏洞索引与筛选逻辑索引的对应关系表,且所述漏洞筛选信息表包括满足每个漏洞索引对应的筛选逻辑的条件信息;所述漏洞信息表为漏洞索引与漏洞详细信息的对应关系表。
在可选的实施方式中,基于所述待查询软件的信息在版本漏洞库中查询所述待查询软件的版本漏洞信息,包括:基于所述待查询软件名称、所述漏洞筛选信息表和所述筛选逻辑表确定查询漏洞索引的SQL查询语句;基于所述漏洞筛选信息表、所述待查询软件版本号和所述SQL查询语句确定所述待查询软件的所有漏洞索引;基于所述所有漏洞索引和漏洞信息表确定所述待查询软件的漏洞信息。
在可选的实施方式中,基于所述待查询软件名称、所述漏洞筛选信息表和所述筛选逻辑表确定用于查询漏洞索引的SQL查询语句,包括:基于所述待查询软件名称在所述漏洞筛选信息表中查询所述待查询软件的所有筛选逻辑索引;基于所述所有筛选逻辑索引和所述筛选逻辑表确定所述待查询软件的所有筛选逻辑;基于所述所有筛选逻辑确定向所述漏洞筛选信息表查询漏洞索引的SQL查询语句。
在可选的实施方式中,基于所述漏洞筛选信息表、所述待查询软件版本号和所述SQL查询语句确定所述待查询软件的所有漏洞索引,包括:将所述待查询软件版本号和所述SQL查询语句进行绑定,得到绑定后的SQL查询语句;利用所述绑定后的SQL查询语句向所述漏洞筛选信息表查询所述待查询软件的所有漏洞索引。
在可选的实施方式中,所述筛选逻辑包括对软件版本号的处理逻辑和软件版本号的比较逻辑。
在可选的实施方式中,所述SQL查询语句为group_concat的形式。
第二方面,本发明实施例提供一种版本漏洞库组织的装置,包括:获取模块,用于获取待查询软件的信息,其中,所述待查询软件的信息包括:待查询软件名称和待查询软件版本号;查询模块,用于基于所述待查询软件的信息在版本漏洞库中查询所述待查询软件的版本漏洞信息,其中,所述版本漏洞库为用于查询指定软件名称的指定软件版本号的漏洞信息的数据库。
在可选的实施方式中,所述版本漏洞库包括:筛选逻辑表、漏洞筛选信息表和漏洞信息表;所述筛选逻辑表为筛选逻辑索引和筛选逻辑的对应关系表;所述漏洞筛选信息表为每个软件的漏洞索引与筛选逻辑索引的对应关系表,且所述漏洞筛选信息表包括满足每个漏洞索引对应的筛选逻辑的条件信息;所述漏洞信息表为漏洞索引与漏洞详细信息的对应关系表。
在可选的实施方式中,查询模块包括:第一确定单元,用于基于所述待查询软件名称、所述漏洞筛选信息表和所述筛选逻辑表确定查询漏洞索引的SQL查询语句;第二确定单元,用于基于所述漏洞筛选信息表、所述待查询软件版本号和所述SQL查询语句确定所述待查询软件的所有漏洞索引;第三确定单元,用于基于所述所有漏洞索引和漏洞信息表确定所述待查询软件的漏洞信息。
现有技术中,为了便于查询指定软件产品特定版本的漏洞,运维人员需要维护多个脚本,费时又费力,与现有技术相比,本发明提供了一种版本漏洞库组织的方法,该方法首先获取待查询软件的信息,其中,待查询软件的信息包括:待查询软件名称和待查询软件版本号;然后,基于待查询软件的信息在版本漏洞库中查询待查询软件的版本漏洞信息,其中,版本漏洞库为用于查询指定软件名称的指定软件版本号的漏洞信息的数据库,利用本发明方法查询指定软件产品特定版本的漏洞,运维人员只需要维护一个版本漏洞库即可,既省时又省力,缓解了现有技术中为查询软件版本漏洞,运维工作存在的费时又费力的技术问题。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种版本漏洞库组织的方法的流程图;
图2为本发明实施例提供的一种基于待查询软件的信息在版本漏洞库中查询待查询软件的版本漏洞信息的流程图;
图3为本发明实施例提供的一种基于待查询软件名称、漏洞筛选信息表和筛选逻辑表确定查询漏洞索引的SQL查询语句的流程图;
图4为本发明实施例提供的一种版本漏洞库组织的装置的功能模块图。
图标:11-获取模块;12-查询模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
目前,众多软件产品对其版本号的定义方式不是统一的,为了快速的通过软件名称及其版本号获取它对应的漏洞,运维人员可以利用编程语言针对每个软件产品编写相应的漏洞查询脚本,进而支持查询各种软件的每个版本的漏洞,但是,由于软件种类众多,运维人员需要同时维护多个脚本,费时又费力。
有鉴于此,本发明提供了一种版本漏洞库组织的方法,将所有软件产品的所有版本漏洞整合进一个版本漏洞库中,以实现快速检索软件漏洞的效果。
实施例一
本发明实施例提供了一种版本漏洞库组织的方法,如图1所示,该方法包括如下步骤:
步骤S11,获取待查询软件的信息。
在本发明实施例中,要确定待查询软件的版本漏洞,首先需要获取待查询软件的信息,其中,待查询软件的信息包括:待查询软件名称和待查询软件版本号,用户可以直接提供待查询软件名称和待查询软件版本号,也可以直接利用待查询软件本身,再通过其他的技术手段获取待查询软件名称和待查询软件版本号,例如在上述待查询软件中运行相应的查询命令等,本发明方法不对获取待查询软件的信息的方式进行具体限定,用户可以根据实际情况进行设置。
步骤S12,基于待查询软件的信息在版本漏洞库中查询待查询软件的版本漏洞信息。
获取到待查询软件的信息后,就可以利用上述信息在版本漏洞库中查询到待查询软件的版本漏洞信息,因为在本发明实施例中,版本漏洞库是用于查询指定软件名称的指定软件版本号的漏洞信息的数据库,已经整合了所有软件产品的所有版本漏洞。
现有技术中,为了便于查询指定软件产品特定版本的漏洞,运维人员需要维护多个脚本,费时又费力,与现有技术相比,本发明提供了一种版本漏洞库组织的方法,该方法首先获取待查询软件的信息,其中,待查询软件的信息包括:待查询软件名称和待查询软件版本号;然后,基于待查询软件的信息在版本漏洞库中查询待查询软件的版本漏洞信息,其中,版本漏洞库为用于查询指定软件名称的指定软件版本号的漏洞信息的数据库,利用本发明方法查询指定软件产品特定版本的漏洞,运维人员只需要维护一个版本漏洞库即可,既省时又省力,缓解了现有技术中为查询软件版本漏洞,运维工作存在的费时又费力的技术问题。
在一个可选的实施方式中,版本漏洞库包括:筛选逻辑表、漏洞筛选信息表和漏洞信息表。
筛选逻辑表为筛选逻辑索引和筛选逻辑的对应关系表。
漏洞筛选信息表为每个软件的漏洞索引与筛选逻辑索引的对应关系表,且漏洞筛选信息表包括满足每个漏洞索引对应的筛选逻辑的条件信息。
漏洞信息表为漏洞索引与漏洞详细信息的对应关系表。
具体的,为了使运维工作更为便捷,版本漏洞库的维护方式就显得尤为重要,如果运维方式不对,也会不同程度的增加运维人员的工作量,所以,在本发明实施例中,版本漏洞库包括:筛选逻辑表、漏洞筛选信息表和漏洞信息表,其中,筛选逻辑表为筛选逻辑索引和筛选逻辑的对应关系表,为了便于理解,下表提供了一种可选的筛选逻辑表的形式,下表中,“ver<a”表示所查询版本号小于指定的版本号a,又如“a<ver and ver<b”表示所查询版本号在版本a与版本b之间。
所以,根据所有软件产品的软件版本号命名规则,运维人员可以设置多种筛选逻辑,以保证所有的软件的所有版本号都能有适合的筛选逻辑,不同的软件产品可以根据其版本号的特征使用相同的筛选逻辑,本发明实施例中的筛选逻辑包括对软件版本号的处理逻辑和软件版本号的比较逻辑,且保存形式是一部分SQL条件语句,例如,“substr(ver,3)<a”(下表中未示出)表示待查询软件版本号忽略前3个字符,且后绪部分的版本小于指定a版本。也就是说,如果软件X与软件Y的版本号命名规则一致,那么在利用版本漏洞库进行软件版本漏洞的查询时,二者就可以使用相同的处理逻辑。
为了便于理解,下表还提供了一种可选的漏洞筛选信息表的形式,由下表可知,漏洞筛选信息表为每个软件的漏洞索引与筛选逻辑索引的对应关系表,且漏洞筛选信息表包括满足每个漏洞索引对应的筛选逻辑的条件信息。结合上面的筛选逻辑表,上述满足每个漏洞索引对应的筛选逻辑的条件信息,就是漏洞筛选信息表中每个漏洞索引对应的a和/或b的取值,需要说明的是,一个漏洞索引可以根据其自身特点使用多个筛选逻辑的并集,例如,下表中,软件A的漏洞索引5就使用了筛选逻辑1和筛选逻辑3的并集,根据下面的漏洞筛选信息表可知,软件产品A中,软件版本号低于5的软件中都包括漏洞索引1所代表的漏洞,软件版本号大于2且小于5的软件中都包括漏洞索引2所代表的漏洞,依次类推,当技术人员发现了一个新的漏洞,就可以在漏洞筛选信息表中新增一条漏洞索引,指明包括该漏洞的版本的条件即可,所以本发明实施例提供的版本漏洞库的组织方法能够极大的缓解运维人员的运维压力。
本发明实施例中的漏洞信息表为漏洞索引与漏洞详细信息的对应关系表,漏洞详细信息可以包括漏洞对应的CVE(Common Vulnerabilities&Exposures,公共漏洞和暴露)、CVSS(Common Vulnerability Scoring System,通用漏洞评分系统)、漏洞的危险等级以及官网描述等其他信息,本发明实施例不对漏洞的详细信息进行具体限定,用户可以根据实际需要,在维护时将漏洞信息的细化程度进行预设,保证得到的漏洞信息满足查询需求。
本发明实施例分别设置了漏洞筛选信息表与漏洞信息表,用户还可以将漏洞信息表与漏洞筛选信息表进行整合,跳过获取漏洞索引的过程,直接得到漏洞详细信息。
在一个可选的实施方式中,如图2所示,上述步骤S12具体可以包括以下步骤:
步骤S121,基于待查询软件名称、漏洞筛选信息表和筛选逻辑表确定查询漏洞索引的SQL查询语句。
具体的,在已知待查询软件名称的前提下,根据版本漏洞库中的漏洞筛选信息表和筛选逻辑表就能够确定该待查询软件查询漏洞索引的逻辑,进而生成相应的SQL查询语句,SQL(Structured Query Language,结构化查询语言)是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。优选的,本发明实施例中用group_concat的形式结合成一个向漏洞筛选信息表查询漏洞信息的SQL查询语句,那么得到的SQL查询语句为:select‘select distinct漏洞索引from(select漏洞索引,?1 as ver from[漏洞筛选信息表]where软件名称=?2 and(’||group_concat(‘(漏洞筛选逻辑索引=’||漏洞筛选逻辑索引||’and(’||漏洞筛选逻辑||’)’,‘or‘)||’)’from[漏洞筛选信息表]group by漏洞筛选逻辑索引);,其中,?1表示用于后续步骤绑定查询用的软件版本;?2表示用于本步骤绑定查询用的软件名称。
步骤S122,基于漏洞筛选信息表、待查询软件版本号和SQL查询语句确定待查询软件的所有漏洞索引。
进一步的,在得到上述SQL查询语句后,再结合获取到的待查询软件版本号,就能够根据漏洞筛选信息表确定出上述待查询软件的所有漏洞索引。
步骤S123,基于所有漏洞索引和漏洞信息表确定待查询软件的漏洞信息。
最后,在得到待查询软件的所有漏洞索引后,结合漏洞信息表给出的漏洞索引与漏洞详细信息的对应关系表,就能够确定出待查询软件的漏洞信息。
本发明实施例结合了SQL语言查询的便利,实现了对不同软件产品及其版本号进行快速定位漏洞数据,依赖SQL查询语句的二次使用,二次查询语句使用or对不同的软件相关的筛选语句进行组合,如与产品“B”相关的筛选条件有“ver<a”和“a<ver and ver<b”,且它们分别在[筛选逻辑表]表里的索引id为1和2,则生成的二次查询语句为selectdistinct漏洞索引from(select漏洞索引,?1 as ver from[漏洞筛选信息表]where软件名称=\'B\'and((logic_id=1 and ver<M)or(logic_id=2 and ver>min and ver<max)),其中?1表示用于绑定查询用的软件版本号;而用于生成其中((logic_id=1 and ver<M)or(logic_id=2 and ver>min and ver<max))部分的一次查询语句关键部分为select'('||group_concat('(logic_id='||id||'and'||[筛选逻辑]||')','or')||')'。
在一个可选的实施方式中,如图3所示,上述步骤S121具体可以包括以下步骤:
步骤S21,基于待查询软件名称在漏洞筛选信息表中查询待查询软件的所有筛选逻辑索引。
步骤S22,基于所有筛选逻辑索引和筛选逻辑表确定待查询软件的所有筛选逻辑。
步骤S23,基于所有筛选逻辑确定向漏洞筛选信息表查询漏洞索引的SQL查询语句。
具体的,在本发明实施中,基于待查询软件名称、漏洞筛选信息表和筛选逻辑表确定查询漏洞索引的SQL查询语句的过程如下:首先,在漏洞筛选信息表中查询与上述待查询软件名称对应的所有筛选逻辑索引,然后再利用筛选逻辑表给出的对应关系,确定上述筛选逻辑索引对应的筛选逻辑,进而得到待查询软件的所有筛选逻辑,最后,结合上述所有筛选逻辑确定出向漏洞筛选信息表查询漏洞索引的SQL查询语句,本发明实施例中SQL语句优选采用group_concat的形式。
在一个可选的实施方式中,上述步骤S122具体可以包括以下步骤:
步骤S31,将待查询软件版本号和SQL查询语句进行绑定,得到绑定后的SQL查询语句。
步骤S32,利用绑定后的SQL查询语句向漏洞筛选信息表查询待查询软件的所有漏洞索引。
具体的,在本发明实施中,基于漏洞筛选信息表、待查询软件版本号和SQL查询语句确定待查询软件的所有漏洞索引的过程如下:首先,将待查询软件版本号和上述步骤S23得到的SQL查询语句进行绑定,得到绑定后的SQL查询语句,上述“绑定”在SQL语言中表现为“?1 as ver”,其中?1表示用于绑定查询用的软件版本号,然后,利用绑定后的SQL查询语句就可以向漏洞筛选信息表查询出待查询软件的所有漏洞索引。
实施例二
本发明实施例还提供了一种版本漏洞库组织的装置,该版本漏洞库组织的装置主要用于执行上述实施例一所提供的版本漏洞库组织的方法,以下对本发明实施例提供的版本漏洞库组织的装置作具体介绍。
图4为本发明实施例提供的一种版本漏洞库组织的装置的功能模块图,如图4所示,该装置包括:获取模块11,查询模块12,其中:
获取模块11,用于获取待查询软件的信息,其中,待查询软件的信息包括:待查询软件名称和待查询软件版本号。
查询模块12,用于基于待查询软件的信息在版本漏洞库中查询待查询软件的版本漏洞信息,其中,版本漏洞库为用于查询指定软件名称的指定软件版本号的漏洞信息的数据库。
现有技术中,为了便于查询指定软件产品特定版本的漏洞,运维人员需要维护多个脚本,费时又费力,与现有技术相比,本发明提供了一种版本漏洞库组织的装置,该装置首先获取待查询软件的信息,其中,待查询软件的信息包括:待查询软件名称和待查询软件版本号;然后,基于待查询软件的信息在版本漏洞库中查询待查询软件的版本漏洞信息,其中,版本漏洞库为用于查询指定软件名称的指定软件版本号的漏洞信息的数据库,利用本发明方法查询指定软件产品特定版本的漏洞,运维人员只需要维护一个版本漏洞库即可,既省时又省力,缓解了现有技术中为查询软件版本漏洞,运维工作存在的费时又费力的技术问题。
可选的,版本漏洞库包括:筛选逻辑表、漏洞筛选信息表和漏洞信息表。
筛选逻辑表为筛选逻辑索引和筛选逻辑的对应关系表。
漏洞筛选信息表为每个软件的漏洞索引与筛选逻辑索引的对应关系表,且漏洞筛选信息表包括满足每个漏洞索引对应的筛选逻辑的条件信息。
漏洞信息表为漏洞索引与漏洞详细信息的对应关系表。
可选的,查询模块包括:
第一确定单元,用于基于待查询软件名称、漏洞筛选信息表和筛选逻辑表确定查询漏洞索引的SQL查询语句。
第二确定单元,用于基于漏洞筛选信息表、待查询软件版本号和SQL查询语句确定待查询软件的所有漏洞索引。
第三确定单元,用于基于所有漏洞索引和漏洞信息表确定待查询软件的漏洞信息。
可选的,第一确定单元还用于:
基于待查询软件名称在漏洞筛选信息表中查询待查询软件的所有筛选逻辑索引。
基于所有筛选逻辑索引和筛选逻辑表确定待查询软件的所有筛选逻辑。
基于所有筛选逻辑确定向漏洞筛选信息表查询漏洞索引的SQL查询语句。
可选的,第二确定单元还用于:
将待查询软件版本号和SQL查询语句进行绑定,得到绑定后的SQL查询语句。
利用绑定后的SQL查询语句向漏洞筛选信息表查询待查询软件的所有漏洞索引。
可选的,筛选逻辑包括对软件版本号的处理逻辑和软件版本号的比较逻辑。
可选的,SQL查询语句为group_concat的形式。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (8)
1.一种版本漏洞库组织的方法,其特征在于,包括:
获取待查询软件的信息,其中,所述待查询软件的信息包括:待查询软件名称和待查询软件版本号;
基于所述待查询软件的信息在版本漏洞库中查询所述待查询软件的版本漏洞信息,其中,所述版本漏洞库为用于查询指定软件名称的指定软件版本号的漏洞信息的数据库;
其中,所述版本漏洞库包括:筛选逻辑表、漏洞筛选信息表和漏洞信息表;
所述筛选逻辑表为筛选逻辑索引和筛选逻辑的对应关系表;
所述漏洞筛选信息表为每个软件的漏洞索引与筛选逻辑索引的对应关系表,且所述漏洞筛选信息表包括满足每个漏洞索引对应的筛选逻辑的条件信息;
所述漏洞信息表为漏洞索引与漏洞详细信息的对应关系表。
2.根据权利要求1所述的方法,其特征在于,基于所述待查询软件的信息在版本漏洞库中查询所述待查询软件的版本漏洞信息,包括:
基于所述待查询软件名称、所述漏洞筛选信息表和所述筛选逻辑表确定查询漏洞索引的SQL查询语句;
基于所述漏洞筛选信息表、所述待查询软件版本号和所述SQL查询语句确定所述待查询软件的所有漏洞索引;
基于所述所有漏洞索引和漏洞信息表确定所述待查询软件的漏洞信息。
3.根据权利要求2所述的方法,其特征在于,基于所述待查询软件名称、所述漏洞筛选信息表和所述筛选逻辑表确定用于查询漏洞索引的SQL查询语句,包括:
基于所述待查询软件名称在所述漏洞筛选信息表中查询所述待查询软件的所有筛选逻辑索引;
基于所述所有筛选逻辑索引和所述筛选逻辑表确定所述待查询软件的所有筛选逻辑;
基于所述所有筛选逻辑确定向所述漏洞筛选信息表查询漏洞索引的SQL查询语句。
4.根据权利要求2所述的方法,其特征在于,基于所述漏洞筛选信息表、所述待查询软件版本号和所述SQL查询语句确定所述待查询软件的所有漏洞索引,包括:
将所述待查询软件版本号和所述SQL查询语句进行绑定,得到绑定后的SQL查询语句;
利用所述绑定后的SQL查询语句向所述漏洞筛选信息表查询所述待查询软件的所有漏洞索引。
5.根据权利要求1所述的方法,其特征在于,所述筛选逻辑包括对软件版本号的处理逻辑和软件版本号的比较逻辑。
6.根据权利要求2所述的方法,其特征在于,所述SQL查询语句为group_concat的形式。
7.一种版本漏洞库组织的装置,其特征在于,包括:
获取模块,用于获取待查询软件的信息,其中,所述待查询软件的信息包括:待查询软件名称和待查询软件版本号;
查询模块,用于基于所述待查询软件的信息在版本漏洞库中查询所述待查询软件的版本漏洞信息,其中,所述版本漏洞库为用于查询指定软件名称的指定软件版本号的漏洞信息的数据库;
其中,所述版本漏洞库包括:筛选逻辑表、漏洞筛选信息表和漏洞信息表;
所述筛选逻辑表为筛选逻辑索引和筛选逻辑的对应关系表;
所述漏洞筛选信息表为每个软件的漏洞索引与筛选逻辑索引的对应关系表,且所述漏洞筛选信息表包括满足每个漏洞索引对应的筛选逻辑的条件信息;
所述漏洞信息表为漏洞索引与漏洞详细信息的对应关系表。
8.根据权利要求7所述的装置,其特征在于,查询模块包括:
第一确定单元,用于基于所述待查询软件名称、所述漏洞筛选信息表和所述筛选逻辑表确定查询漏洞索引的SQL查询语句;
第二确定单元,用于基于所述漏洞筛选信息表、所述待查询软件版本号和所述SQL查询语句确定所述待查询软件的所有漏洞索引;
第三确定单元,用于基于所述所有漏洞索引和漏洞信息表确定所述待查询软件的漏洞信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910873275.9A CN110569648B (zh) | 2019-09-16 | 2019-09-16 | 版本漏洞库组织的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910873275.9A CN110569648B (zh) | 2019-09-16 | 2019-09-16 | 版本漏洞库组织的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110569648A CN110569648A (zh) | 2019-12-13 |
CN110569648B true CN110569648B (zh) | 2021-07-27 |
Family
ID=68780258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910873275.9A Active CN110569648B (zh) | 2019-09-16 | 2019-09-16 | 版本漏洞库组织的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110569648B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111797402A (zh) * | 2020-06-17 | 2020-10-20 | 北京世纪互联宽带数据中心有限公司 | 一种软件漏洞检测的方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473505A (zh) * | 2012-06-06 | 2013-12-25 | 腾讯科技(深圳)有限公司 | 一种软件漏洞的扫描提示方法和装置 |
CN106503564A (zh) * | 2016-10-26 | 2017-03-15 | 上海携程商务有限公司 | 软件漏洞的发现方法和系统 |
CN109241748A (zh) * | 2018-11-28 | 2019-01-18 | 郑州云海信息技术有限公司 | 一种基于软件版本号识别软件漏洞的方法 |
CN109960937A (zh) * | 2019-04-02 | 2019-07-02 | 中国传媒大学 | 一种漏洞演练环境的构建方法及系统 |
CN109977672A (zh) * | 2017-12-22 | 2019-07-05 | 镇江市志捷软件开发有限公司 | 软件漏洞的发现方法和系统 |
-
2019
- 2019-09-16 CN CN201910873275.9A patent/CN110569648B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473505A (zh) * | 2012-06-06 | 2013-12-25 | 腾讯科技(深圳)有限公司 | 一种软件漏洞的扫描提示方法和装置 |
CN106503564A (zh) * | 2016-10-26 | 2017-03-15 | 上海携程商务有限公司 | 软件漏洞的发现方法和系统 |
CN109977672A (zh) * | 2017-12-22 | 2019-07-05 | 镇江市志捷软件开发有限公司 | 软件漏洞的发现方法和系统 |
CN109241748A (zh) * | 2018-11-28 | 2019-01-18 | 郑州云海信息技术有限公司 | 一种基于软件版本号识别软件漏洞的方法 |
CN109960937A (zh) * | 2019-04-02 | 2019-07-02 | 中国传媒大学 | 一种漏洞演练环境的构建方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110569648A (zh) | 2019-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739934B (zh) | 差集对账方法、介质、计算机设备及系统 | |
CN110633292B (zh) | 一种异构数据库的查询方法、装置、介质、设备及系统 | |
CN110795455B (zh) | 依赖关系解析方法、电子装置、计算机设备及可读存储介质 | |
CN106951430B (zh) | 账表查询方法及装置 | |
US9721216B2 (en) | Solution that automatically recommends design assets when making architectural design decisions for information services | |
US9898508B2 (en) | Method and device for processing information | |
US10853347B2 (en) | Dependency-based metadata retrieval and update | |
CA2957674C (en) | Testing insecure computing environments using random data sets generated from characterizations of real data sets | |
US9135591B1 (en) | Analysis and assessment of software library projects | |
CN104503880A (zh) | 一种MySQL数据库监控选项脚本的实现方法及装置 | |
US8112447B2 (en) | System and method for parsing a text file | |
CN109145197B (zh) | 用户画像标签的生成方法、装置和系统 | |
CN110555039A (zh) | 数据查询控制方法、存储介质、设备及系统 | |
CN110569648B (zh) | 版本漏洞库组织的方法和装置 | |
CN109670091A (zh) | 一种基于数据标准的元数据智能维护方法和装置 | |
CN111309586A (zh) | 一种命令测试方法、装置及其存储介质 | |
CN107451280B (zh) | 数据打通方法、装置及电子设备 | |
CN106933907B (zh) | 数据表扩展指标的处理方法及装置 | |
Pfeiffer | Identifying critical projects via pagerank and truck factor | |
US20140222779A1 (en) | Simplified query generation from prior query results | |
US20230034257A1 (en) | Indexes of vertical table columns having a subset of rows correlating to a partition range | |
US20140280110A1 (en) | Requests for source code text | |
US7680759B1 (en) | Automated metadata validation | |
US8055682B1 (en) | Security information repository system and method thereof | |
US20130138683A1 (en) | Systems and methods of automatic generation and execution of database queries |
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 |