CN113486358A - 一种漏洞检测方法及装置 - Google Patents
一种漏洞检测方法及装置 Download PDFInfo
- Publication number
- CN113486358A CN113486358A CN202110780886.6A CN202110780886A CN113486358A CN 113486358 A CN113486358 A CN 113486358A CN 202110780886 A CN202110780886 A CN 202110780886A CN 113486358 A CN113486358 A CN 113486358A
- Authority
- CN
- China
- Prior art keywords
- vulnerability
- information
- verified
- detected object
- bug
- 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
- 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
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种漏洞检测方法及装置,所述方法包括:获取检测任务,所述检测任务包括至少一个待验证漏洞和至少一个被检测对象;其中,所述待验证漏洞是从漏洞资产库中获得的,所述漏洞资产库是预先获得的;根据所述至少一个待验证漏洞和所述至少一个被检测对象,生成每个被检测对象的漏洞验证请求;其中,所述漏洞验证请求包括所述至少一个待验证漏洞以及每个待验证漏洞的概念证明;根据每个被检测对象的漏洞验证请求对每个被检测对象进行漏洞检测,获得每个被检测对象的漏洞检测结果;其中,通过每个待验证漏洞的概念证明检测每个待验证漏洞是否存在。所述装置用于执行上述方法。本发明实施例提供的漏洞检测方法及装置,提高了漏洞的检测效率。
Description
技术领域
本发明涉及安全检测技术领域,具体涉及一种漏洞检测方法及装置。
背景技术
随着安全技术的飞速发展,企业在安全测试工具方面的选择越来越多,各类白盒、黑盒、灰盒测试工具在软件生命周期的各个阶段发挥着不同的作用,共同维护和保障系统安全。
现有技术中,不同的安全测试工具相互独立,几乎无法进行信息共享,互相之间难以取长补短并形成正反馈。同时,企业自身开发的众多系统在脆弱性方面存在一定相似性,需要基于检出的漏洞对不同系统进行交叉测试,现阶段的主要交叉测试方式是依靠测试人员手动排查,该方法需要测试人员投入大量的精力,并且人员的投入会随着系统数量的增加线性增长,对于已经发现的漏洞还需要测试人员定期复验直到漏洞被彻底修复,人工重复验证工作量较大且效率较低。
发明内容
针对现有技术中的问题,本发明实施例提供一种漏洞检测方法及装置,能够至少部分地解决现有技术中存在的问题。
一方面,本发明提出一种漏洞检测方法,包括:
获取检测任务,所述检测任务包括至少一个待验证漏洞和至少一个被检测对象;其中,所述待验证漏洞是从漏洞资产库中获得的,所述漏洞资产库是预先获得的;
根据所述至少一个待验证漏洞和所述至少一个被检测对象,生成每个被检测对象的漏洞验证请求;其中,所述漏洞验证请求包括所述至少一个待验证漏洞以及每个待验证漏洞的概念证明;
根据每个被检测对象的漏洞验证请求对每个被检测对象进行漏洞检测,获得每个被检测对象的漏洞检测结果;其中,通过每个待验证漏洞的概念证明检测每个待验证漏洞是否存在。
另一方面,本发明提供一种漏洞检测装置,包括:
第一获取单元,用于获取检测任务,所述检测任务包括至少一个待验证漏洞和至少一个被检测对象;其中,所述待验证漏洞是从漏洞资产库中获得的,所述漏洞资产库是预先获得的;
第一生成单元,用于根据所述至少一个待验证漏洞和所述至少一个被检测对象,生成每个被检测对象的漏洞验证请求;其中,所述漏洞验证请求包括所述至少一个待验证漏洞以及每个待验证漏洞的概念证明;
检测单元,用于根据每个被检测对象的漏洞验证请求对每个被检测对象进行漏洞检测,获得每个被检测对象的漏洞检测结果;其中,通过每个待验证漏洞的概念证明检测每个待验证漏洞是否存在。
再一方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述漏洞检测方法的步骤。
又一方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述漏洞检测方法的步骤。
本发明实施例提供的漏洞检测方法及装置,能够获取检测任务,检测任务包括至少一个待验证漏洞和至少一个被检测对象,根据至少一个待验证漏洞和至少一个被检测对象,生成每个被检测对象的漏洞验证请求,根据每个被检测对象的漏洞验证请求对每个被检测对象进行漏洞检测,获得每个被检测对象的漏洞检测结果,实现了不同系统的漏洞交叉检测,提高了漏洞的检测效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明第一实施例提供的漏洞检测方法的流程示意图。
图2是本发明第二实施例提供的漏洞检测方法的流程示意图。
图3是本发明第三实施例提供的漏洞检测方法的流程示意图。
图4是本发明第四实施例提供的漏洞检测方法的流程示意图。
图5是本发明第五实施例提供的漏洞检测方法的流程示意图。
图6是本发明第六实施例提供的漏洞检测方法的流程示意图。
图7是本发明第七实施例提供的漏洞检测方法的流程示意图。
图8是本发明第八实施例提供的漏洞检测装置的结构示意图。
图9是本发明第九实施例提供的漏洞检测装置的结构示意图。
图10是本发明第十实施例提供的漏洞检测装置的结构示意图。
图11是本发明第十一实施例提供的漏洞检测装置的结构示意图。
图12是本发明第十二实施例提供的漏洞检测装置的结构示意图。
图13是本发明第十三实施例提供的漏洞检测装置的结构示意图。
图14是本发明十四实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
为了便于理解本申请提供的技术方案,下面先对本申请技术方案的相关内容进行说明。
漏洞资产库:通过适配不同安全测试工具输出的测试结果以及渗透测试人员手工测试报告,对发现的漏洞自动转换、去重和定级,以统一化的格式与被检测对象信息一起存储在数据库,从而形成漏洞资产库。
系统漏洞复验:对已经发现的漏洞进行重复验证,确认漏洞是否仍然存在,定期对被检测对象进行复查,直到漏洞被彻底修复。
漏洞交叉检测:基于企业内开发的不同系统在开发人员、使用框架、开发方式等方面高度相似从而造成相似系统脆弱性的情况下,可利用在一个被检测对象内发现的漏洞,对其他被检测对象进行漏洞交叉检测,从而提高漏洞的检出率。
在网络安全形势日益严峻的背景下,安全问题已经延伸到系统从开发、测试到投产的各个环节,为了应对各种形式的系统漏洞对安全生产造成的影响,大型企业往往会采购不同安全公司的安全测试工具对应用系统进行漏洞扫描,以覆盖软件生命周期各个阶段的安全需求,然而由于各家公司对安全测试工具的定位各异、定级标准不一、使用方式不同等问题,造成测试输出结果的方法、格式和内容迥异,与企业自身渗透测试人员的测试报告和结果也很难统一,渗透测试人员与测试工具之间信息共享效率低下,测试工具与工具之间信息共享困难,难以形成相互校正和反馈的良性循环,需要一个漏洞资产库平台把不同测试工具和人员的漏洞扫描结果统一化描述和存储。另一方面,企业自身研发的系统在开发人员、使用框架、开发方式等方面具有很大相似性,因而很难避免系统在安全方面也具有相似的脆弱性,甚至同一漏洞可以在不同系统之间通用的情况,在已发现某个系统的漏洞的情况下,安全测试人员如需对每一个系统进行相同漏洞排查需要耗费大量的精力,同时在漏洞彻底修复之前需要对系统定期复验,进一步加大了安全测试人员的负担。因此,本发明实施例提出一种漏洞检测方法,基于建立的漏洞资产库对不同系统进行漏洞检测,以提高系统的漏洞检测效率。此外,基于建立的漏洞资产库,还可以定期进行系统漏洞复检,减少人力投入,节约了复检的人力成本。
图1是本发明一实施例提供的漏洞检测方法的流程示意图,如图1所示,本发明实施例提供的吸附质气体的漏洞检测方法,包括:
S101、获取检测任务,所述检测任务包括至少一个待验证漏洞和至少一个被检测对象;其中,所述待验证漏洞是从漏洞资产库中获得的,所述漏洞资产库是预先获得的;
具体地,安全测试人员可以从漏洞资产库中手动选择一个或者两个以上的漏洞作为待验证漏洞,并选择至少一个被检测对象,发起检测任务。服务器可以获取所述检测任务,所述检测任务包括所述至少一个待验证漏洞和至少一个被检测对象。所述服务器会执行所述检测任务,在每个被检测对象下对每个待验证漏洞进行检测。其中,所述待验证漏洞是从漏洞资产库中获得的,所述漏洞资产库是预先获得的。每个漏洞信息对应一个漏洞。本发明实施例提供的漏洞检测方法的执行主体包括但不限于服务器。
需要说明的是,安全测试人员通常会选取在某个系统中已经检测出的漏洞,但该漏洞还没有在其他系统中进行过检测,目的是为了进行漏洞交叉检测。
可理解的是,在本发明实施例中,被检测对象是指漏洞检测的对象,可以是开发的软件程序或者操作系统,根据实际需要进行设置,本发明实施例不做限定。
S102、根据所述至少一个待验证漏洞和所述至少一个被检测对象,生成每个被检测对象的漏洞验证请求;其中,所述漏洞验证请求包括所述至少一个待验证漏洞以及每个待验证漏洞的概念证明;
具体地,所述服务器在获取所述待检测任务之后,会根据所述至少一个待验证漏洞和所述至少一个被检测对象,为每个被检测对象生成每个被检测对象的漏洞验证请求。其中,所述漏洞验证请求包括所述至少一个待验证漏洞以及每个待验证漏洞的概念证明(Proof of Concept,简称POC)。所述漏洞资产库包括每个待验证漏洞的POC。
例如,待检测任务A包括2个待验证漏洞:待验证漏洞a和待验证漏洞b,和两个被检测对象:被检测对象B和被检测对象C。所述服务器会为被检测对象B生成被检测对象B的漏洞验证请求,被检测对象B的漏洞验证请求包括待验证漏洞a以及待验证漏洞a的POC,待验证漏洞b以及待验证漏洞b的POC。所述服务器会为被检测对象C生成被检测对象C的漏洞验证请求,被检测对象C的漏洞验证请求包括待验证漏洞a以及待验证漏洞a的POC,待验证漏洞b以及待验证漏洞b的POC。
S103、根据每个被检测对象的漏洞验证请求对每个被检测对象进行漏洞检测,获得每个被检测对象的漏洞检测结果;其中,通过每个待验证漏洞的概念证明检测每个待验证漏洞是否存在。
具体地,所述服务器会根据每个被检测对象的漏洞验证请求对每个被检测对象进行漏洞检测,即根据每个被检测对象的漏洞验证请求包括的每个待验证漏洞的POC检测每个被检测对象是否存在每个待验证漏洞,获得每个被检测对象的漏洞检测结果。如果所述漏洞验证请求包括的任何一个待验证漏洞检测出存在,那么对应的被检测对象的漏洞检测结果为存在漏洞,如果所述漏洞验证请求包括的所有待验证漏洞检测为不存在,那么对应的被检测对象的漏洞检测结果为不存在漏洞。所述服务器可以将获得的漏洞检测结果写入到所述漏洞资产库中。
例如,所述服务器基于被检测对象B的漏洞验证请求,调用被检测对象B的接口,分别在被检测对象B中执行待验证漏洞a的POC和待验证漏洞b的POC,获得待验证漏洞a的检测结果和待验证漏洞b的检测结果,作为被检测对象B的漏洞检测结果。其中,待验证漏洞a的检测结果和待验证漏洞b的检测结果为漏洞存在或者漏洞不存在。如果待验证漏洞a的检测结果和待验证漏洞b的检测结果中有一个为漏洞存在,那么被检测对象B的漏洞检测结果为存在漏洞,如果待验证漏洞a的检测结果和待验证漏洞b的检测结果都为漏洞不存在,那么被检测对象B的漏洞检测结果为不存在漏洞。
本发明实施例提供的漏洞检测方法,能够获取检测任务,检测任务包括至少一个待验证漏洞和至少一个被检测对象,根据至少一个待验证漏洞和至少一个被检测对象,生成每个被检测对象的漏洞验证请求,根据每个被检测对象的漏洞验证请求对每个被检测对象进行漏洞检测,获得每个被检测对象的漏洞检测结果,实现了不同系统的漏洞交叉检测,提高了漏洞的检测效率。
在上述各实施例的基础上,进一步地,本发明实施例提供的漏洞检测方法还包括:
若获知所述被检测对象的漏洞检测结果为存在漏洞,则将存漏洞的待验证漏洞与所述被检测对象对应写入所述漏洞资产库并进行定期复检。
具体地,所述服务器在获得所述被检测对象的漏洞检测结果之后,如果获知所述被检测对象的漏洞检测结果为存在漏洞,那么可以从获取存在漏洞的待验证漏洞的漏洞信息,将存在漏洞的待验证漏洞的漏洞信息与所述被检测对象对应,然后写入到所述漏洞资产库中。所述服务器还会设置存在漏洞的待验证漏洞在所述被检测对象的复检周期,以便于定期对存在漏洞的待验证漏洞在所述被检测对象中进行定期复检。其中,所述漏洞信息可以包括漏洞名称、漏洞类型、POC、发现位置、风险等级等。在存在漏洞的待验证漏洞的漏洞信息与所述被检测对象对应时,可以将所述被检测对象的系统信息存在漏洞的待验证漏洞的漏洞信息对应。系统信息可以包括系统名称、地址、端口等信息,根据实际需要进行设置,本发明实施例不做限定。
例如,被检测对象B的漏洞检测结果为存在漏洞,存在漏洞的待验证漏洞为待验证漏洞b,所述服务器可以从所述漏洞资产库中获取待验证漏洞b的漏洞名称、漏洞类型、POC、发现位置和风险等级,然后将待验证漏洞b的上述漏洞信息与被检测对象B的系统信息对应存储到所述漏洞资产库中。所述服务器还可以根据待验证漏洞b的风险等级,设置待验证漏洞b在被检测对象B中的复检周期。
图2是本发明第二实施例提供的漏洞检测方法的流程示意图,如图2所示,在上述各实施例的基础上,进一步地,获得所述漏洞资产库的步骤包括:
S201、接收各个测试终端发送的漏洞上报信息;其中,各个漏洞上报信息的格式统一;每个漏洞上报信息包括至少一个漏洞信息;所述漏洞上报信息是基于第一测试方式得到的第一测试结果和/或第二测试方式的第二测试结果获得的;
具体地,各个测试终端可以向所述服务器发送漏洞上报信息,所述服务器会接收所述漏洞上报信息。每个漏洞上报信息包括至少一个漏洞信息,所述漏洞信息可以包括漏洞名称、漏洞类型、POC和发现位置等,根据实际需要进行设置,本发明实施例不做限定。各个测试终端发送的漏洞上报信息的格式统一。所述漏洞上报信息是基于第一测试方式得到的第一测试结果和/或第二测试方式的第二测试结果获得的,即所述漏洞上报信息可以基于第一测试方式得到的第一测试结果和第二测试方式的第二测试结果获得的、基于第一测试方式得到的第一测试结果获得或者基于第二测试方式的第二测试结果获得。其中,第一测试方式可以是通过不同安全测试工具的安全测试,第二测试方式可以是渗透测试人员通过白盒、黑盒和灰盒等方法对系统进行的测试。所述测试终端包括但不限于台式机、笔记本电脑、智能手机、平板电脑等设备。
例如,第一测试方式采用的安全测试工具包括但不限于各类静态扫描、动态扫描和交互式扫描等安全测试工具,第二测试方式采用白盒、黑盒和灰盒等方法。上述不同的工具和方法获得的测试结果的方式各不一样,有的提供API,通过调用API获取测试结果,有的则提供结果文档如Excel表格,有的只在网页上显示结果,因此可以开发一个中间适配件,通过中间适配件各类型的测试结果转化成同样的格式描述。中间适配件针对不同的测试结果都能够正确转化,包括API读取功能、网页抓取功能、文件读取功能等,在无法自动获取测试结果的情况下还提供手动输入的页面,使得任意形式的测试结果都能够被正确获取,在此基础上还建立了一个字典对照表,统一化各类型的测试结果的不同字段名(key)和值(value),比如不同的漏洞名称字段vulnerabilityName和vulName统一为vul_name。所述测试终端发送的漏洞上报信息可以包括多个漏洞信息,每个漏洞信息的格式统一;不同测试终端发送的漏洞信息的格式也是统一的,以便于进行后续进行去重。
S202、对各个漏洞上报信息包括的漏洞信息进行去重,获得待入库漏洞信息;
具体地,所述服务器在接收到各个漏洞上报信息之后,会对各个漏洞上报信息包括的漏洞信息进行去重,一方面需要确定各个漏洞上报信息包括的漏洞信息是否存在重复的漏洞信息,另一方面需要确定各个漏洞上报信息包括的漏洞信息是否在所述漏洞资产库中存在重复的漏洞信息。所述服务器对存在重复的漏洞信息进行合并,获得待入库漏洞信息。其中,所述待入库漏洞信息中可以包括一个漏洞信息,也可以包括两个及两个以上的漏洞信息。
S203、根据漏洞定级规则对所述待入库漏洞信息中的每个漏洞信息对应的漏洞进行风险定级;其中,所述漏洞定级规则是预设的;
具体地,所述服务器在获得所述待入库漏洞信息之后,会确定所述待入库漏洞信息中的每个漏洞信息对应的漏洞的风险等级,所述服务器可以根据漏洞定级规则对漏洞进行风险定级。其中,所述漏洞定级规则是预设的,所述风险等级是预设的。
例如,所述漏洞定级规则包括根据漏洞名称查询对应的风险等级,漏洞名称对应的风险等级是预先设置的。预先设置低危、中危、高危和极危四个风险等级,并将各个漏洞名称与上述四个风险等级对应,每个漏洞名称对应一个风险等待。所述服务器获取所述待入库漏洞信息中的每个漏洞信息包括的漏洞名称,然后根据漏洞名称可以查询获得对应的风险等级,查询获得的风险等级即为漏洞名称对应的漏洞的风险等级。其中,漏洞与漏洞名称一一对应。
S204、将风险定级后的所述待入库漏洞信息中的每个漏洞信息存储到所述漏洞资产库。
具体地,所述待入库漏洞信息中的每个漏洞信息在完成风险定级之后,可以将风险定级结果添加到每个漏洞信息中,然后存储到所述漏洞资产库中,在将漏洞信息入库时,还会将检测出的漏洞信息对应的漏洞的被检测对象的相关信息与漏洞信息对应,存储到所述漏洞资产库中,其中,上述被检测对象的相关信息可以携带在各个测试终端发送的漏洞上报信息中。所述风险定级结果包括漏洞对应的风险等级。
在上述各实施例的基础上,进一步地,本发明实施例提供的漏洞检测方法还包括:
根据所述待入库漏洞信息中的每个漏洞信息的风险定级结果为每个漏洞信息设置复检周期和漏洞状态。
具体地,所述服务器在将所述待入库漏洞信息入库时,可以根据所述待入库漏洞信息中的每个漏洞信息的风险定级结果为每个漏洞信息设置复检周期和漏洞状态。
例如,所述待入库漏洞信息包括4个漏洞信息:漏洞信息1、漏洞信息2、漏洞信息3和漏洞信息4,漏洞信息1对应的风险等级为低危,漏洞信息2对应的风险等级为中危,漏洞信息3对应的风险等级为高危,漏洞信息4对应的风险等级为极危。默认设置中,低危的复检周期为14天,中危的复检周期为7天,高危的复检周期为3天,极危的复检周期为1天,那么所述服务器可以设置漏洞信息1的复检周期为1天,漏洞信息2的复检周期为3天,漏洞信息3的复检周期为7天,漏洞信息4的复检周期为14天。对于第一次入库到所述漏洞资产库中的每个漏洞信息,都会设置复检周期,并且漏洞状态会设置为未修复,表明漏洞信息对应的被检测对象需要进行漏洞修复。如果后续在进行复检之后,发现被检测对象的漏洞消失,那么对应的漏洞信息的漏洞状态可以更改为已修复,表明漏洞信息对应的被检测对象漏洞修复完成。
图3是本发明第三实施例提供的漏洞检测方法的流程示意图,如图3所示,在上述各实施例的基础上,进一步地,本发明实施例提供的漏洞检测方法还包括:
S301、从所述漏洞资产库获取所述漏洞状态为未修复且已到达复检时间的漏洞,作为待复检漏洞;
具体地,所述服务器根据所述漏洞资产库中各个漏洞信息对应的复检时间和漏洞状态,获得所有需要复检的漏洞作为待复检漏洞。需要复检的漏洞,是指漏洞对应的漏洞信息对应漏洞状态为未修复并且已到达漏洞信息对应的复检时间,即该漏洞为漏洞状态为未修复且已到达复检时间的漏洞。其中,每个漏洞信息对应的复检时间可以是基于上一次的复检时间和复检周期计算出来的,也可以是在上一复检完成之后写入到漏洞信息中的。将当前时间与复检时间进行比较,如果当前时间不早于复检时间,可以确定已到达复检时间。
S302、根据所述待复检漏洞对应的漏洞信息生成每个漏洞的复验请求;
具体地,所述服务器会获取所述待复检漏洞中每个需要复检的漏洞对应的漏洞信息,然后根据每个需要复检的漏洞对应的漏洞信息包括的POC和对应的被检测对象信息,生成每个漏洞的复验请求,每个漏洞的复验请求可以包括POC和对应的被检测对象信息。
S303、根据每个漏洞的复验请求对每个漏洞进行漏洞复检,获得所述待复检漏洞中每个漏洞的复检结果。
具体地,所述服务器会根据每个漏洞的复验请求包括的POC和对应的被检测对象信息,检测被检测对象是否存在漏洞,如果漏洞依然存在,那么获得的复检结果为未修复,如果漏洞不存在了,那么获得复检结果为已修复。所述服务器可以获得所述待复检漏洞中每个漏洞的复检结果。其中,通过POC检测漏洞是否存在的具体过程为现有技术,此处不进行赘述。
图4是本发明第四实施例提供的漏洞检测方法的流程示意图,如图4所示,在上述各实施例的基础上,进一步地,本发明实施例提供的漏洞检测方法还包括:
S401、若获知所述漏洞的复检结果为已修复,则更改所述漏洞资产库中所述漏洞对应的漏洞信息的漏洞状态为已修复并停止复检;
具体地,所述服务器在获得所述待复检漏洞中各个漏洞的复检结果之后,可以获知所述漏洞的复检结果为已修复还是未修复,如果所述漏洞的复检结果为已修复,说明无需再进行该漏洞的复检,那么所述服务器会更改所述漏洞资产库中所述漏洞对应的漏洞信息的漏洞状态为已修复,并清空对应复检周期,停止复检。
S402、若获知所述漏洞的复检结果为未修复,则重置所述漏洞资产库中所述漏洞对应的漏洞信息的复检时间。
具体地,如果所述漏洞的复检结果为未修复,说明还需再进行该漏洞的复检,所述服务器会保持所述漏洞对应的漏洞信息的漏洞状态不变,并根据复检周期重新计算复检时间,更新原来的复检时间。
在上述各实施例的基础上,进一步地,所述对各个漏洞上报信息包括的漏洞信息进行去重,获得待入库漏洞信息包括:
若判断获知所述漏洞上报信息中的一个漏洞信息与其他漏洞上报信息中的漏洞信息不匹配,并且所述漏洞上报信息中的一个漏洞信息与所述漏洞资产库中的漏洞信息不匹配,则将所述漏洞上报信息中的一个漏洞信息作为所述待入库漏洞信息中的一个漏洞信息。
具体地,所述服务器在确定各个漏洞上报信息包括的漏洞信息是否存在重复的漏洞信息时,可以将所述漏洞上报信息中的一个漏洞信息与其他漏洞上报信息中的漏洞信息进行比较,判断上述一个漏洞信息与其他漏洞上报信息中的漏洞信息是否匹配。所述服务器在确定各个漏洞上报信息包括的漏洞信息是否在所述漏洞资产库中存在重复的漏洞信息时,会将所述漏洞上报信息中的一个漏洞信息与所述漏洞资产库中的漏洞信息进行比较,判断上述一个漏洞信息与所述漏洞资产库中的漏洞信息是否匹配。如果上述一个漏洞信息与其他漏洞上报信息中的漏洞信息不匹配,并且与所述漏洞资产库中的漏洞信息不匹配,那么可以将上述一个漏洞信息作为所述待入库漏洞信息中的一个漏洞信息。如果上述一个漏洞信息与其他漏洞上报信息中的漏洞信息匹配,即其他漏洞上报信息中存在与上述一个漏洞信息相同的漏洞信息,那么需要合并相同的漏洞信息。如果上述一个漏洞信息与所述漏洞资产库中的漏洞信息匹配,即所述漏洞资产库中的漏洞信息中存在与上述一个漏洞信息相同的漏洞信息,那么需要合并相同的漏洞信息。相同的漏洞信息只会保留一个漏洞信息作为所述待入库漏洞信息中的一个漏洞信息。其中,其他漏洞上报信息是指各个漏洞上报信息中除了所述漏洞上报信息以外的漏洞信息。
在上述各实施例的基础上,进一步地,所述漏洞信息包括漏洞名称、漏洞类型、概念证明和发现位置;相应地,所述漏洞信息包括漏洞名称、漏洞类型、概念证明和发现位置;相应地,所述若判断获知所述漏洞上报信息中的一个漏洞信息与其他漏洞上报信息中的漏洞信息不匹配,并且所述漏洞上报信息中的一个漏洞信息与所述漏洞资产库中的漏洞信息不匹配包括:
若判断获知第一漏洞信息包括的漏洞名称、漏洞类型、概念证明和发现位置与第二漏洞信息包括的漏洞名称、漏洞类型、概念证明和发现位置至少有一个不相同,则确定所述第一漏洞信息与所述第二漏洞信息不匹配;其中,所述第一漏洞信息为所述漏洞上报信息中的一个漏洞信息,所述第二漏洞信息为所述其他漏洞上报信息或者所述漏洞资产库中一个漏洞信息。
具体地,所述漏洞信息包括漏洞名称、漏洞类型、概念证明和发现位置。漏洞名称与漏洞一一对应。漏洞类型包括但不限于内存破坏类、逻辑错误类、输入验证类、设计错误类、配置错误类等,根据实际需要进行设置,本发明实施例不做限定。概念证明是验证程序,用于验证漏洞是否存在。发现位置是指检测漏洞的位置。
在判断两个漏洞信息是否匹配时,需要判断两个漏洞信息包括的漏洞名称、漏洞类型、概念证明和发现位置是否相同,如果上述四种信息至少有一种信息不相同,那么这两个漏洞信息不匹配,如果上述四种信息都相同,说明这两个漏洞信息相同,那么这两个漏洞信息匹配。所述服务器对比第一漏洞信息包括的漏洞名称和第二漏洞信息包括的漏洞名称,如果第一漏洞信息包括的漏洞名称和第二漏洞信息包括的漏洞名称不同,那么可以确定第一漏洞信息与第二漏洞信息不匹配;如果第一漏洞信息包括的漏洞名称和第二漏洞信息包括的漏洞名称相同,那么对比第一漏洞信息包括的漏洞类型与第二漏洞信息包括的漏洞类型,如果第一漏洞信息包括的漏洞类型与第二漏洞信息包括的漏洞类型不同,可以确定第一漏洞信息与第二漏洞信息不匹配;如果第一漏洞信息包括的漏洞类型和第二漏洞信息包括的漏洞类型相同,那么对比第一漏洞信息包括的概念证明与第二漏洞信息包括的概念证明,如果第一漏洞信息包括的概念证明与第二漏洞信息包括的概念证明不同,可以确定第一漏洞信息与第二漏洞信息不匹配;如果第一漏洞信息包括的概念证明和第二漏洞信息包括的概念证明相同,那么对比第一漏洞信息包括的发现位置与第二漏洞信息包括的发现位置,如果第一漏洞信息包括的发现位置与第二漏洞信息包括的发现位置不同,可以确定第一漏洞信息与第二漏洞信息不匹配;如果第一漏洞信息包括的发现位置与第二漏洞信息包括的发现位置相同,说明第一漏洞信息与第二漏洞信息相同。在本发明实施例中,漏洞名称、漏洞类型、概念证明和发现位置四种信息的比较没有先后顺序。所述第一漏洞信息为所述漏洞上报信息中的一个漏洞信息,所述第二漏洞信息为所述其他漏洞上报信息或者所述漏洞资产库中一个漏洞信息。
图5是本发明第五实施例提供的漏洞检测方法的流程示意图,如图5所示,本发明实施例提供的漏洞资产库的建立过程如下:
第一步、获取测试结果数据。在各个测试终端,采用静态扫描、动态扫描和交互式扫描等安全测试工具等安全测试工具进行漏洞检测,获得各类测试结果数据,和/或渗透测试人员通过白盒、黑盒和灰盒等方法进行漏洞检测,获得各类测试结果数据。
第二步、统一数据格式并发送。通过中间适配件对各类测试结果数据进行统一化格式描述,获得至少一个漏洞信息。各个测试终端将获得的漏洞信息携带在漏洞上报信息中发送给服务器。
第三步、接收漏洞上报信息。服务器会接收各个测试终端发送的漏洞上报信息。
第四步、进行去重。服务器对各个漏洞上报信息包括的漏洞信息进行去重,获得待入库漏洞信息。
第五步、进行风险定级。服务器为所述待入库漏洞信息中的每个漏洞信息对应的漏洞进行风险定级,获得每个漏洞信息的风险定级结果,风险定级结果中包括漏洞信息对应的漏洞的风险等级。
第六步、设置复检周期。服务器根据待入库漏洞信息中的每个漏洞信息的风险定级结果为每个漏洞信息设置复检周期,并设置每个漏洞信息的漏洞状态。
第七步、关联被检测对象信息。服务器将经过风险定级的漏洞信息与对应的被检测对象的相关信息进行关联。
第八步、写入漏洞资产库。服务器将漏洞信息与关联的被检测对象的相关信息存储到漏洞资产库中。
图6是本发明第六实施例提供的漏洞检测方法的流程示意图,如图6所示,本发明实施例提供的漏洞复验的流程如下:
第一步、查找复检漏洞。服务器从漏洞资产库获取漏洞状态为未修复且已到达复检时间的漏洞,作为待复检漏洞。
第二步、生成复验请求。服务器获取待复检漏洞中每个需要复检的漏洞对应的漏洞信息,然后根据每个需要复检的漏洞对应的漏洞信息包括的POC和对应的被检测对象信息,生成每个漏洞的复验请求。
第三步、判断复检结果。服务器根据每个漏洞的复验请求包括的POC和对应的被检测对象信息,检测被检测对象是否存在漏洞,如果复检结果为未修复,说明漏洞依然存在,进入第五步;如果复检结果为已修复,说明漏洞被修复,进入第四步。
第四步、更新漏洞状态。服务器更新对应的漏洞信息的漏洞状态为已修复,以后无需再进行复检。
第五步、重置复检时间。服务器重置对应的漏洞信息的复检时间,以进行下一次的复检。
图7是本发明第七实施例提供的漏洞检测方法的流程示意图,如图7所示,本发明实施例提供的漏洞交叉检测的流程如下:
第一步、获取检测任务。安全测试人员可以发起检测任务,服务器可以获取所述检测任务。所述检测任务包括至少一个待验证漏洞和至少一个被检测对象。
第二步、生成漏洞验证请求。服务器根据检测任务包括的至少一个待验证漏洞和至少一个被检测对象,生成每个被检测对象的漏洞验证请求。
第三步、判断漏洞检测结果。服务器根据每个被检测对象的漏洞验证请求包括的每个待验证漏洞的POC检测每个被检测对象是否存在每个待验证漏洞,获得每个被检测对象的漏洞检测结果。如果漏洞检测结果为存在漏洞,那么进入第四步。如果漏洞检测结果为不存在漏洞,那么无需为被检测对象设置复检周期,流程结束。
第四步、添加到漏洞资产库。服务器将存漏洞的待验证漏洞与被检测对象对应写入漏洞资产库,并设置复检周期,以便后续对被检测对象进行复检。
根据累积的漏洞资产库可以对安全测试工具的扫描规则进行调优,也可以服务渗透测试人员的手工测试,对安全工具测试和渗透测试人员产生正反馈,从而让整个漏洞检测形成一个带自学习功能的有效闭环。根据漏洞资产库中漏洞出现的频次和分布等信息可以生成漏洞POC库服务于渗透测试人员的手工测试,也可以生成规则调整请求调整安全测试工具的扫描规则。
举例来说,基于时间的SQL盲注漏洞在多个被检测对象中出现,那么服务器可以把记载在漏洞资产库中的所有相同类型的漏洞的POC集合在一起,生成一个POC库(txt文件),渗透测试人员可以利用这个POC库通过半自动化工具(例如BurpSuite)手工渗透多处可能存在此漏洞的地方。同时,在此类型的漏洞出现频次突破一定阈值以后,服务器会生成适配安全测试工具的规则调整请求,例如调用Fortify(静态代码漏扫工具)自定义扫描规则的API,添加此类型漏洞的特征,增强Fortify对此类型漏洞的识别能力,为了支持面对多款安全测试工具生成规则调整请求,提供一个输出适配模块,与输入部分的中间适配件作用类似,输出适配模块把同一个规则调整请求转化为可用于多款安全测试工具的规则调整请求。
本发明实施例提供的漏洞检测方法,具有如下优点:
(1)提出漏洞资产库的概念,用统一化格式和描述存储所有安全测试工具和人员检测出的漏洞,与被测对象一起形成漏洞资产库,解决不同工具与工具之间、工具与人员之间的信息共享问题,防止“缺陷孤岛”问题的发生;
(2)基于漏洞资产库,以固定的复验周期,自动生成并发出漏洞复验请求,自行依据规则判定漏洞是否修复,大大降低了人员的精力投入,且能做到全平台漏洞覆盖;
(3)基于漏洞资产库,对于已发现的漏洞,在选定的多个系统之间自动生成并发出交叉检测请求,自行依据规则判定漏洞是否存在,把渗透测试人员从大量的交叉测试中抽离出来,节省人员投入;
(4)基于漏洞资产库的统计数据,对不同测试工具生成规则调优请求,也可生成服务渗透测试人员的POC库,对测试人员与工具形成正向反馈。
图8是本发明第八实施例提供的漏洞检测装置的结构示意图,如图8所示,本发明实施例提供的漏洞检测装置包括第一获取单元801、第一生成单元802和检测单元803,其中:
第一获取单元801用于获取检测任务,所述检测任务包括至少一个待验证漏洞和至少一个被检测对象;其中,所述待验证漏洞是从漏洞资产库中获得的,所述漏洞资产库是预先获得的;第一生成单元802用于根据所述至少一个待验证漏洞和所述至少一个被检测对象,生成每个被检测对象的漏洞验证请求;其中,所述漏洞验证请求包括所述至少一个待验证漏洞以及每个待验证漏洞的概念证明;检测单元803用于根据每个被检测对象的漏洞验证请求对每个被检测对象进行漏洞检测,获得每个被检测对象的漏洞检测结果;其中,通过每个待验证漏洞的概念证明检测每个待验证漏洞是否存在。
具体地,安全测试人员可以从漏洞资产库中手动选择一个或者两个以上的漏洞作为待验证漏洞,并选择至少一个被检测对象,发起检测任务。第一获取单元801可以获取所述检测任务,所述检测任务包括所述至少一个待验证漏洞和至少一个被检测对象。所述服务器会执行所述检测任务,在每个被检测对象下对每个待验证漏洞进行检测。其中,所述待验证漏洞是从漏洞资产库中获得的,所述漏洞资产库是预先获得的。每个漏洞信息对应一个漏洞。
在获取所述待检测任务之后,第一生成单元802会根据所述至少一个待验证漏洞和所述至少一个被检测对象,为每个被检测对象生成每个被检测对象的漏洞验证请求。其中,所述漏洞验证请求包括所述至少一个待验证漏洞以及每个待验证漏洞的概念证明(Proof of Concept,简称POC)。所述漏洞资产库包括每个待验证漏洞的POC。
检测单元803会根据每个被检测对象的漏洞验证请求对每个被检测对象进行漏洞检测,即根据每个被检测对象的漏洞验证请求包括的每个待验证漏洞的POC检测每个被检测对象是否存在每个待验证漏洞,获得每个被检测对象的漏洞检测结果。如果所述漏洞验证请求包括的任何一个待验证漏洞检测出存在,那么对应的被检测对象的漏洞检测结果为存在漏洞,如果所述漏洞验证请求包括的所有待验证漏洞检测为不存在,那么对应的被检测对象的漏洞检测结果为不存在漏洞。所述服务器可以将获得的漏洞检测结果写入到所述漏洞资产库中。
本发明实施例提供的漏洞检测装置,能够获取检测任务,检测任务包括至少一个待验证漏洞和至少一个被检测对象,根据至少一个待验证漏洞和至少一个被检测对象,生成每个被检测对象的漏洞验证请求,根据每个被检测对象的漏洞验证请求对每个被检测对象进行漏洞检测,获得每个被检测对象的漏洞检测结果,实现了不同系统的漏洞交叉检测,提高了漏洞的检测效率。
图9是本发明第九实施例提供的漏洞检测装置的结构示意图,如图9所示,在上述各实施例的基础上,进一步地,本发明实施例提供的漏洞检测装置还包括写入单元804,其中:
写入单元804用于在获知所述被检测对象的漏洞检测结果为存在漏洞之后,将存漏洞的待验证漏洞与所述被检测对象对应写入所述漏洞资产库并进行定期复检。
图10是本发明第十实施例提供的漏洞检测装置的结构示意图,如图10所示,在上述各实施例的基础上,进一步地,本发明实施例提供的漏洞检测装置还包括接收单元805、去重单元806、风险定级单元807和存储单元808,其中:
接收单元805用于接收各个测试终端发送的漏洞上报信息;其中,各个漏洞上报信息格式统一;每个漏洞上报信息包括至少一个漏洞信息;所述漏洞上报信息是基于第一测试方式得到的第一测试结果和/或第二测试方式的第二测试结果获得的;去重单元806用于对各个漏洞上报信息包括的漏洞信息进行去重,获得待入库漏洞信息;风险定级单元807用于根据漏洞定级规则对所述待入库漏洞信息中的每个漏洞信息对应的漏洞进行风险定级;其中,所述漏洞定级规则是预设的;存储单元808用于将风险定级后的所述待入库漏洞信息中的每个漏洞信息存储到所述漏洞资产库。
图11是本发明第十一实施例提供的漏洞检测装置的结构示意图,如图11所示,在上述各实施例的基础上,进一步地,本发明实施例提供的漏洞检测装置还包括:
设置单元809用于根据所述待入库漏洞信息中的每个漏洞信息的风险定级结果为每个漏洞信息设置复检周期和漏洞状态。
图12是本发明第十二实施例提供的漏洞检测装置的结构示意图,如图12所示,在上述各实施例的基础上,进一步地,本发明实施例提供的漏洞检测装置还包括第二获取单元810、第二生成单元811和复检单元812,其中:
第二获取单元810用于获取所述漏洞状态为未修复且已到达复检时间的漏洞,作为待复检漏洞;第二生成单元811用于根据每个待复检漏洞的漏洞信息生成每个待复检漏洞的复验请求;复检单元812用于根据每个待复检漏洞的复验请求对每个待复检漏洞进行漏洞复检,获得每个待复检漏洞的复检结果。
图13是本发明第十三实施例提供的漏洞检测装置的结构示意图,如图13所示,在上述各实施例的基础上,进一步地,本发明实施例提供的漏洞检测装置还包括更改单元813和重置单元814,其中:
更改单元813用于在获知所述待复检漏洞的复检结果为已修复之后,更改所述漏洞资产库中所述待复检漏洞的漏洞状态为已修复并停止复检;重置单元814用于在获知所述复检漏洞的复检结果为未修复之后,重置所述漏洞资产库中所述待复检漏洞的复检时间。
在上述各实施例的基础上,进一步地,去重单元具体806用于:
若判断获知所述漏洞上报信息中的一个漏洞信息与其他漏洞上报信息中的漏洞信息不匹配,并且所述漏洞上报信息中的一个漏洞信息与所述漏洞资产库中的漏洞信息不匹配,则将所述漏洞上报信息中的一个漏洞信息作为所述待入库漏洞信息中的一个漏洞信息。
在上述各实施例的基础上,进一步地,去重单元具体806具体用于:
若判断获知第一漏洞信息包括的漏洞名称、漏洞类型、概念证明和发现位置与第二漏洞信息包括的漏洞名称、漏洞类型、概念证明和发现位置至少有一个不相同,则确定所述第一漏洞信息与所述第二漏洞信息不匹配;其中,所述第一漏洞信息为所述漏洞上报信息中的一个漏洞信息,所述第二漏洞信息为所述其他漏洞上报信息或者所述漏洞资产库中一个漏洞信息。
本发明实施例提供的装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
图14是本发明一实施例提供的电子设备的实体结构示意图,如图14所示,该电子设备可以包括:处理器(processor)1401、通信接口(Communications Interface)1402、存储器(memory)1403和通信总线1404,其中,处理器1401,通信接口1402,存储器1403通过通信总线1404完成相互间的通信。处理器1401可以调用存储器1403中的逻辑指令,以执行如下方法:获取检测任务,所述检测任务包括至少一个待验证漏洞和至少一个被检测对象;其中,所述待验证漏洞是从漏洞资产库中获得的,所述漏洞资产库是预先获得的;根据所述至少一个待验证漏洞和所述至少一个被检测对象,生成每个被检测对象的漏洞验证请求;其中,所述漏洞验证请求包括所述至少一个待验证漏洞以及每个待验证漏洞的概念证明;根据每个被检测对象的漏洞验证请求对每个被检测对象进行漏洞检测,获得每个被检测对象的漏洞检测结果;其中,通过每个待验证漏洞的概念证明检测每个待验证漏洞是否存在。
此外,上述的存储器1403中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取检测任务,所述检测任务包括至少一个待验证漏洞和至少一个被检测对象;其中,所述待验证漏洞是从漏洞资产库中获得的,所述漏洞资产库是预先获得的;根据所述至少一个待验证漏洞和所述至少一个被检测对象,生成每个被检测对象的漏洞验证请求;其中,所述漏洞验证请求包括所述至少一个待验证漏洞以及每个待验证漏洞的概念证明;根据每个被检测对象的漏洞验证请求对每个被检测对象进行漏洞检测,获得每个被检测对象的漏洞检测结果;其中,通过每个待验证漏洞的概念证明检测每个待验证漏洞是否存在。
本实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取检测任务,所述检测任务包括至少一个待验证漏洞和至少一个被检测对象;其中,所述待验证漏洞是从漏洞资产库中获得的,所述漏洞资产库是预先获得的;根据所述至少一个待验证漏洞和所述至少一个被检测对象,生成每个被检测对象的漏洞验证请求;其中,所述漏洞验证请求包括所述至少一个待验证漏洞以及每个待验证漏洞的概念证明;根据每个被检测对象的漏洞验证请求对每个被检测对象进行漏洞检测,获得每个被检测对象的漏洞检测结果;其中,通过每个待验证漏洞的概念证明检测每个待验证漏洞是否存在。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (18)
1.一种漏洞检测方法,其特征在于,包括:
获取检测任务,所述检测任务包括至少一个待验证漏洞和至少一个被检测对象;其中,所述待验证漏洞是从漏洞资产库中获得的,所述漏洞资产库是预先获得的;
根据所述至少一个待验证漏洞和所述至少一个被检测对象,生成每个被检测对象的漏洞验证请求;其中,所述漏洞验证请求包括所述至少一个待验证漏洞以及每个待验证漏洞的概念证明;
根据每个被检测对象的漏洞验证请求对每个被检测对象进行漏洞检测,获得每个被检测对象的漏洞检测结果;其中,通过每个待验证漏洞的概念证明检测每个待验证漏洞是否存在。
2.根据权利要求1所述的方法,其特征在于,还包括:
若获知所述被检测对象的漏洞检测结果为存在漏洞,则将存漏洞的待验证漏洞与所述被检测对象对应写入所述漏洞资产库并进行定期复检。
3.根据权利要求1或2所述的方法,其特征在于,获得所述漏洞资产库的步骤包括:
接收各个测试终端发送的漏洞上报信息;其中,各个漏洞上报信息格式统一;每个漏洞上报信息包括至少一个漏洞信息;所述漏洞上报信息是基于第一测试方式得到的第一测试结果和/或第二测试方式的第二测试结果获得的;
对各个漏洞上报信息包括的漏洞信息进行去重,获得待入库漏洞信息;
根据漏洞定级规则对所述待入库漏洞信息中的每个漏洞信息对应的漏洞进行风险定级;其中,所述漏洞定级规则是预设的;
将风险定级后的所述待入库漏洞信息中的每个漏洞信息存储到所述漏洞资产库。
4.根据权利要求3所述的方法,其特征在于,还包括:
根据所述待入库漏洞信息中的每个漏洞信息的风险定级结果为每个漏洞信息设置复检周期和漏洞状态。
5.根据权利要求4所述的方法,其特征在于,还包括:
从所述漏洞资产库获取所述漏洞状态为未修复且已到达复检时间的漏洞,作为待复检漏洞;
根据所述待复检漏洞对应的漏洞信息生成每个漏洞的复验请求;
根据每个漏洞的复验请求对每个漏洞进行漏洞复检,获得所述待复检漏洞中每个漏洞的复检结果。
6.根据权利要求5所述的方法,其特征在于,还包括:
若获知所述漏洞的复检结果为已修复,则更改所述漏洞资产库中所述漏洞对应的漏洞信息的漏洞状态为已修复并停止复检;
若获知所述漏洞的复检结果为未修复,则重置所述漏洞资产库中所述漏洞对应的漏洞信息的复检时间。
7.根据权利要求3所述的方法,其特征在于,所述对各个漏洞上报信息包括的漏洞信息进行去重,获得待入库漏洞信息包括:
若判断获知所述漏洞上报信息中的一个漏洞信息与其他漏洞上报信息中的漏洞信息不匹配,并且所述漏洞上报信息中的一个漏洞信息与所述漏洞资产库中的漏洞信息不匹配,则将所述漏洞上报信息中的一个漏洞信息作为所述待入库漏洞信息中的一个漏洞信息。
8.根据权利要求7所述的方法,其特征在于,所述漏洞信息包括漏洞名称、漏洞类型、概念证明和发现位置;相应地,所述若判断获知所述漏洞上报信息中的一个漏洞信息与其他漏洞上报信息中的漏洞信息不匹配,并且所述漏洞上报信息中的一个漏洞信息与所述漏洞资产库中的漏洞信息不匹配包括:
若判断获知第一漏洞信息包括的漏洞名称、漏洞类型、概念证明和发现位置与第二漏洞信息包括的漏洞名称、漏洞类型、概念证明和发现位置至少有一个不相同,则确定所述第一漏洞信息与所述第二漏洞信息不匹配;其中,所述第一漏洞信息为所述漏洞上报信息中的一个漏洞信息,所述第二漏洞信息为所述其他漏洞上报信息或者所述漏洞资产库中一个漏洞信息。
9.一种漏洞检测装置,其特征在于,包括:
第一获取单元,用于获取检测任务,所述检测任务包括至少一个待验证漏洞和至少一个被检测对象;其中,所述待验证漏洞是从漏洞资产库中获得的,所述漏洞资产库是预先获得的;
第一生成单元,用于根据所述至少一个待验证漏洞和所述至少一个被检测对象,生成每个被检测对象的漏洞验证请求;其中,所述漏洞验证请求包括所述至少一个待验证漏洞以及每个待验证漏洞的概念证明;
检测单元,用于根据每个被检测对象的漏洞验证请求对每个被检测对象进行漏洞检测,获得每个被检测对象的漏洞检测结果;其中,通过每个待验证漏洞的概念证明检测每个待验证漏洞是否存在。
10.根据权利要求9所述的装置,其特征在于,还包括:
写入单元,用于在获知所述被检测对象的漏洞检测结果为存在漏洞之后,将存漏洞的待验证漏洞与所述被检测对象对应写入所述漏洞资产库并进行定期复检。
11.根据权利要求9或10所述的装置,其特征在于,还包括:
接收单元,用于接收各个测试终端发送的漏洞上报信息;其中,各个漏洞上报信息格式统一;每个漏洞上报信息包括至少一个漏洞信息;所述漏洞上报信息是基于第一测试方式得到的第一测试结果和/或第二测试方式的第二测试结果获得的;
去重单元,用于对各个漏洞上报信息包括的漏洞信息进行去重,获得待入库漏洞信息;
风险定级单元,用于根据漏洞定级规则对所述待入库漏洞信息中的每个漏洞信息对应的漏洞进行风险定级;其中,所述漏洞定级规则是预设的;
存储单元,用于将风险定级后的所述待入库漏洞信息中的每个漏洞信息存储到所述漏洞资产库。
12.根据权利要求11所述的装置,其特征在于,还包括:
设置单元,用于根据所述待入库漏洞信息中的每个漏洞信息的风险定级结果为每个漏洞信息设置复检周期和漏洞状态。
13.根据权利要求12所述的装置,其特征在于,还包括:
第二获取单元,用于获取所述漏洞状态为未修复且已到达复检时间的漏洞,作为待复检漏洞;
第二生成单元,用于根据每个待复检漏洞的漏洞信息生成每个待复检漏洞的复验请求;
复检单元,用于根据每个待复检漏洞的复验请求对每个待复检漏洞进行漏洞复检,获得每个待复检漏洞的复检结果。
14.根据权利要求13所述的装置,其特征在于,还包括:
更改单元,用于在获知所述待复检漏洞的复检结果为已修复之后,更改所述漏洞资产库中所述待复检漏洞的漏洞状态为已修复并停止复检;
重置单元,用于在获知所述复检漏洞的复检结果为未修复之后,重置所述漏洞资产库中所述待复检漏洞的复检时间。
15.根据权利要求11所述的装置,其特征在于,所述去重单元具体用于:
若判断获知所述漏洞上报信息中的一个漏洞信息与其他漏洞上报信息中的漏洞信息不匹配,并且所述漏洞上报信息中的一个漏洞信息与所述漏洞资产库中的漏洞信息不匹配,则将所述漏洞上报信息中的一个漏洞信息作为所述待入库漏洞信息中的一个漏洞信息。
16.根据权利要求15所述的装置,其特征在于,所述去重单元具体用于:
若判断获知第一漏洞信息包括的漏洞名称、漏洞类型、概念证明和发现位置与第二漏洞信息包括的漏洞名称、漏洞类型、概念证明和发现位置至少有一个不相同,则确定所述第一漏洞信息与所述第二漏洞信息不匹配;其中,所述第一漏洞信息为所述漏洞上报信息中的一个漏洞信息,所述第二漏洞信息为所述其他漏洞上报信息或者所述漏洞资产库中一个漏洞信息。
17.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8任一项所述方法的步骤。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110780886.6A CN113486358B (zh) | 2021-07-09 | 2021-07-09 | 一种漏洞检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110780886.6A CN113486358B (zh) | 2021-07-09 | 2021-07-09 | 一种漏洞检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113486358A true CN113486358A (zh) | 2021-10-08 |
CN113486358B CN113486358B (zh) | 2023-06-02 |
Family
ID=77938416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110780886.6A Active CN113486358B (zh) | 2021-07-09 | 2021-07-09 | 一种漏洞检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113486358B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114637690A (zh) * | 2022-05-09 | 2022-06-17 | 北京航天驭星科技有限公司 | 一种api渗透测试方法、系统、电子设备及存储介质 |
CN115208634A (zh) * | 2022-06-17 | 2022-10-18 | 江苏信息职业技术学院 | 一种网络资产的监管引擎 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102468985A (zh) * | 2010-11-01 | 2012-05-23 | 北京神州绿盟信息安全科技股份有限公司 | 针对网络安全设备进行渗透测试的方法和系统 |
CN102508780A (zh) * | 2011-11-21 | 2012-06-20 | 电子科技大学 | 一种用于软件测试的交叉式动态法和装置 |
CN108322446A (zh) * | 2018-01-05 | 2018-07-24 | 深圳壹账通智能科技有限公司 | 内网资产漏洞检测方法、装置、计算机设备和存储介质 |
CN108494727A (zh) * | 2018-02-06 | 2018-09-04 | 成都清华永新网络科技有限公司 | 一种用于网络安全管理的安全事件闭环处理方法 |
CN110348218A (zh) * | 2019-06-06 | 2019-10-18 | 国家计算机网络与信息安全管理中心 | 一种基于车载终端系统的漏洞测试方法及装置 |
CN110719300A (zh) * | 2019-11-18 | 2020-01-21 | 支付宝(杭州)信息技术有限公司 | 一种自动化漏洞验证的方法和系统 |
CN111240994A (zh) * | 2020-01-20 | 2020-06-05 | 北京国舜科技股份有限公司 | 漏洞处理方法、装置、电子设备及可读存储介质 |
CN111898133A (zh) * | 2020-07-23 | 2020-11-06 | 昆山领创信息科技有限公司 | 一种基于自动化的渗透测试装置和方法 |
CN112671609A (zh) * | 2020-12-21 | 2021-04-16 | 哈尔滨工大天创电子有限公司 | 一种资产普查与安全检测方法、装置及终端设备 |
CN112671716A (zh) * | 2020-12-03 | 2021-04-16 | 中国电子科技网络信息安全有限公司 | 基于图谱的漏洞知识挖掘方法及系统 |
-
2021
- 2021-07-09 CN CN202110780886.6A patent/CN113486358B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102468985A (zh) * | 2010-11-01 | 2012-05-23 | 北京神州绿盟信息安全科技股份有限公司 | 针对网络安全设备进行渗透测试的方法和系统 |
CN102508780A (zh) * | 2011-11-21 | 2012-06-20 | 电子科技大学 | 一种用于软件测试的交叉式动态法和装置 |
CN108322446A (zh) * | 2018-01-05 | 2018-07-24 | 深圳壹账通智能科技有限公司 | 内网资产漏洞检测方法、装置、计算机设备和存储介质 |
CN108494727A (zh) * | 2018-02-06 | 2018-09-04 | 成都清华永新网络科技有限公司 | 一种用于网络安全管理的安全事件闭环处理方法 |
CN110348218A (zh) * | 2019-06-06 | 2019-10-18 | 国家计算机网络与信息安全管理中心 | 一种基于车载终端系统的漏洞测试方法及装置 |
CN110719300A (zh) * | 2019-11-18 | 2020-01-21 | 支付宝(杭州)信息技术有限公司 | 一种自动化漏洞验证的方法和系统 |
CN111240994A (zh) * | 2020-01-20 | 2020-06-05 | 北京国舜科技股份有限公司 | 漏洞处理方法、装置、电子设备及可读存储介质 |
CN111898133A (zh) * | 2020-07-23 | 2020-11-06 | 昆山领创信息科技有限公司 | 一种基于自动化的渗透测试装置和方法 |
CN112671716A (zh) * | 2020-12-03 | 2021-04-16 | 中国电子科技网络信息安全有限公司 | 基于图谱的漏洞知识挖掘方法及系统 |
CN112671609A (zh) * | 2020-12-21 | 2021-04-16 | 哈尔滨工大天创电子有限公司 | 一种资产普查与安全检测方法、装置及终端设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114637690A (zh) * | 2022-05-09 | 2022-06-17 | 北京航天驭星科技有限公司 | 一种api渗透测试方法、系统、电子设备及存储介质 |
CN115208634A (zh) * | 2022-06-17 | 2022-10-18 | 江苏信息职业技术学院 | 一种网络资产的监管引擎 |
Also Published As
Publication number | Publication date |
---|---|
CN113486358B (zh) | 2023-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9753838B2 (en) | System and method to classify automated code inspection services defect output for defect analysis | |
US9594797B2 (en) | Data quality assessment | |
CN110088744B (zh) | 一种数据库维护方法及其系统 | |
US10331439B2 (en) | Source code transfer control method, computer program therefor, and recording medium therefor | |
CN111881022A (zh) | 基于测试场景生成测试用例的方法、装置和设备 | |
CN113486358A (zh) | 一种漏洞检测方法及装置 | |
US11870645B1 (en) | Configuration drift management tool | |
US10395200B2 (en) | Method and apparatus for repairing policies | |
CN111679977B (zh) | 一种基于Jest的React项目单元测试方法、设备及存储介质 | |
US11663113B2 (en) | Real time fault localization using combinatorial test design techniques and test case priority selection | |
US9032253B2 (en) | Integrated testing system utilizing a test script and a test environment created based on the script | |
CN103440460A (zh) | 一种应用系统变更验证方法及验证系统 | |
JP2020524862A (ja) | ソフトウェア試験装置、ソフトウェア試験方法、および、ソフトウェア試験プログラム | |
US11347533B2 (en) | Enhanced virtual machine image management system | |
CN110147313B (zh) | 一种日志输出方法及装置 | |
CN114817929B (zh) | 物联网漏洞动态追踪和处理方法、装置、电子设备及介质 | |
CN111881128B (zh) | 大数据回归验证方法及大数据回归验证装置 | |
US11475654B1 (en) | Technology control evaluation program | |
CN105718341A (zh) | 一种测试的方法及管理装置 | |
CN115374008A (zh) | 基于决策树的信息系统缺陷测试方法、装置及电子设备 | |
US20190065355A1 (en) | Information processing device and output method | |
CN113986764A (zh) | 数据核对测试方法及装置、电子设备、存储介质 | |
CN116974932A (zh) | 接口测试方法、装置、电子设备及计算机存储介质 | |
CN116893973A (zh) | 精准测试方法、装置、计算设备及可读存储介质 | |
CN116108089A (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 |