CN110704847A - 漏洞扫描方法及相关装置 - Google Patents

漏洞扫描方法及相关装置 Download PDF

Info

Publication number
CN110704847A
CN110704847A CN201910922448.1A CN201910922448A CN110704847A CN 110704847 A CN110704847 A CN 110704847A CN 201910922448 A CN201910922448 A CN 201910922448A CN 110704847 A CN110704847 A CN 110704847A
Authority
CN
China
Prior art keywords
vulnerability
scanning
vulnerability scanning
access request
request message
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
Application number
CN201910922448.1A
Other languages
English (en)
Other versions
CN110704847B (zh
Inventor
曾勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing Unisinsight Technology Co Ltd
Original Assignee
Chongqing Unisinsight Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chongqing Unisinsight Technology Co Ltd filed Critical Chongqing Unisinsight Technology Co Ltd
Priority to CN201910922448.1A priority Critical patent/CN110704847B/zh
Publication of CN110704847A publication Critical patent/CN110704847A/zh
Application granted granted Critical
Publication of CN110704847B publication Critical patent/CN110704847B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明的实施例涉及计算机安全技术领域,提供了一种漏洞扫描方法及相关装置,所述方法包括:获取测试设备运行测试用例时发送的访问被测系统的访问请求消息及被测系统针对访问请求消息反馈的响应消息;依据访问请求消息、响应消息及预先存储的规则库对被测系统进行主动漏洞扫描,生成主动漏洞扫描结果,其中,规则库中的规则是预先从预设漏洞信息平台上获取并存储于本地的。通过基于CI环境中运行测试用例时实际产生的访问请求消息及响应消息对被测系统进行主动漏洞扫描,同时采用更丰富的规则库及容器化运行方式,极大地降低了漏报和误报率。

Description

漏洞扫描方法及相关装置
技术领域
本发明涉及计算机安全技术领域,具体而言,涉及一种漏洞扫描方法及相关装置。
背景技术
持续集成CI(Continuous Integration,CI),是一种软件开发实践,在实践中指只要代码有变更,就自动运行构建、单元测试,集成,全面测试,最终反馈运行结果。CI因具备快速暴露错误,保证代码提交质量、降低整体集成风险,促进产品快速迭代等优势在敏捷开发中被广泛应用。
在CI环境下,为了对运行变更后的代码的系统的安全性持续进行安全评估,及时发现运行变更后的代码的系统中存在的安全漏洞,现有技术通常将开源漏洞扫描软件集成在CI环境中,以便对更新后的系统进行漏洞扫描,及时发现其中的安全漏洞。但是开源漏洞扫描软件由于只是基于模拟访问请求消息及响应消息进行的分析,并不是对实际产生的访问请求消息及响应消息进行的分析而实现的漏洞扫描,因而存在较高的漏报和误报率。
发明内容
有鉴于此,本发明的目的在于提供了一种漏洞扫描方法及相关装置,通过基于CI环境中运行测试用例时实际产生的访问请求消息及响应消息对被测系统进行主动漏洞扫描,降低了漏报和误报率。
为了实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本发明实施例提供一种漏洞扫描方法,应用于持续集成环境中的扫描服务器,持续集成环境中存在集成构建设备、测试设备及被测系统,扫描服务器与测试设备及被测系统均通信连接,被测系统运行有因集成构建设备中的代码被更新而触发代码构建以得到的可运行软件,测试设备运行有用于测试被测系统的测试用例,测试设备预先将扫描服务器设置为访问被测系统的代理,所述方法包括:获取测试设备运行测试用例时发送的访问被测系统的访问请求消息及被测系统针对访问请求消息反馈的响应消息;依据访问请求消息、响应消息及预先存储的规则库对被测系统进行主动漏洞扫描,生成主动漏洞扫描结果,其中,规则库中的规则是预先从预设漏洞信息平台上获取并存储于本地的。
第二方面,本发明实施例提供一种漏洞扫描装置,应用于持续集成环境中的扫描服务器,持续集成环境中存在集成构建设备、测试设备及被测系统,扫描服务器与测试设备及被测系统均通信连接,被测系统运行有因集成构建设备中的代码被更新而触发代码构建以得到的可运行软件,测试设备运行有用于测试被测系统的测试用例,测试设备预先将扫描服务器设置为访问被测系统的代理,装置包括主动扫描模块,主动扫描模块用于:获取测试设备运行测试用例时发送的访问被测系统的访问请求消息及被测系统针对访问请求消息反馈的响应消息;依据访问请求消息、响应消息及预先存储的规则库对被测系统进行主动漏洞扫描,生成主动漏洞扫描结果,其中,规则库中的规则是预先从预设漏洞信息平台上获取并存储于本地的。
第三方面,本发明实施例提供一种扫描服务器,所述扫描服务器包括:一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现如前述的漏洞扫描方法。
第四方面,本发明实施例提供一种漏洞扫描系统,漏洞扫描系统包括扫描服务器,扫描服务器与测试设备及被测系统均通信连接,被测系统运行有因集成构建设备中的代码被更新而触发代码构建以得到的可运行软件,测试设备运行有用于测试被测系统的测试用例,测试设备预先将扫描服务器设置为访问被测系统的代理;扫描服务器用于获取测试设备运行测试用例时发送的访问被测系统的访问请求消息及被测系统针对访问请求消息反馈的响应消息;扫描服务器用于依据访问请求消息、响应消息及预先存储的规则库对被测系统进行主动漏洞扫描,生成主动漏洞扫描结果,其中,规则库中的规则是预先从预设漏洞信息平台上获取并存储于本地的。
第五方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前述的漏洞扫描方法。
相对现有技术,本发明实施例提供了一种漏洞扫描系统及相关装置,通过预先设置测试设备,将扫描服务器设置为测试设备访问被测系统的代理,从而可以获取测试设备运行测试用例时发出的访问被测系统的访问请求消息及被测系统针对该访问请求消息反馈的响应消息,基于访问请求消息、响应消息及扫描服务器预存的规则库对被测系统进行主动漏洞扫描,由于该访问请求消息、响应消息是运行测试用例时实际产生的消息,因而,基于此的主动漏洞扫描可以避免因模拟访问请求消息及响应消息导致的较高的漏报和误报率,达到降低漏报和误报率的目的。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的一种应用场景图。
图2示出了本发明实施例提供另一种应用场景图。
图3示出了本发明实施例提供的一种漏洞扫描方法的流程图。
图4示出了本发明实施例提供的另一种漏洞扫描方法的流程图。
图5示出了本发明实施例提供的另一种漏洞扫描方法的流程图。
图6示出了本发明实施例提供的漏洞扫描装置的结构框图。
图7示出了本发明实施例提供的漏洞扫描系统的示意图。
图8示出了本发明实施例提供的扫描服务器的结构示意图。
图标:10-扫描服务器;11-存储器;12-通信接口;13-处理器;14-总线;100-漏洞扫描装置;110-主动扫描模块;120-被动扫描模块;130-报告反馈模块;140-规则库更新模块;20-控制服务器;30-被测系统;40-测试设备;50-集成构建设备。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
随着互联网IT技术的发展,网络安全事件也越来越多的暴露出来,这也使得软件系统的安全质量问题越来越受到重视,相应的软件系统安全评估中的漏洞扫描技术近年来也得到了大幅度的提升。
随着CI平台在软件开发中的广泛应用,如何及时、自动评估CI平台中频繁更新的代码的安全性是在CI平台中进行安全自动化面临的亟待解决的问题。
针对该问题,通常采用的解决方案是:在扫描服务器上预先安装漏洞扫描软件,当CI平台的控制服务器检测到代码有更新时,启动对更新后的代码进行构建以得到可运行软件,再将该可运行软件部署在被测系统,利用漏洞扫描软件对被测系统进行漏洞扫描。
请参考图1,图1示出了本发明实施例提供基于该解决方案的一种应用场景图。图1中存在扫描服务器10、控制服务器20、被测系统30、测试设备40及集成构建设备50,控制服务器20与集成构建设备50、扫描服务器10及测试设备40均通信连接,被测系统30与集成构建设备50、扫描服务器10及测试设备40均通信连接。扫描服务器10预先安装有漏洞扫描软件,当控制服务器20检测到集成构建设备50上的代码有更新时,启动集成构建设备50进行代码构建以得到可运行软件,控制服务器20控制集成构建设备50将该可运行软件部署在被测系统30上,控制服务器20控制扫描服务器10启动预先安装的漏洞扫描软件对被测系统30进行漏洞扫描,最终得到漏洞扫描结果。
漏洞扫描软件通常是专门的软件厂商开发的商业软件,一方面商业软件成本较高,另一方面由于软件厂商通常不会开放过多的接口,因而不利于在此基础上做二次开发,从而增加了在CI平台上集成漏洞扫描软件的难度。
为了提高在CI平台上集成漏洞扫描软件的灵活性,通常采用开源的漏洞扫描软件,由于该软件的开源特性,使得开源的漏洞扫描软件很容易集成在CI平台上,但是,此方案的漏洞扫描具有较高的漏报和误报率。
针对这一问题,发明人经过仔细研究发现,开源的漏洞扫描软件的工作原理是:基于该软件本身的漏洞特征库模拟访问请求消息及响应消息,再依据模拟的访问请求消息及响应消息,实现漏洞扫描,由于模拟的访问请求消息及响应消息与真实访问被测系统30时产生的访问请求消息及响应消息有很大的差别,故而造成了较高的漏报和误报率。
针对这一结论,发明人从测试用例运行时产生的访问请求消息及响应消息中获取灵感,提供了一种漏洞扫描方法,该方法基于测试用例运行时产生的真实的访问请求消息及响应消息进行漏洞扫描,从而避免了模拟的访问请求消息及响应消息造成的较高的漏报和误报率,最终降低了漏报和误报率。请参照图2,图2是本发明实施例提供的、在图1的基础上进行改进后的另一种应用场景图。图2是在图1的基础上,扫描服务器10与测试设备40通信连接,测试设备40预先将扫描服务器10设置为访问被测系统30的代理,即任何测试设备40发往被测系统30的访问请求消息会首先发送至扫描服务器10,再由扫描服务器10发送至被测系统30,任何被测系统30反馈给测试设备40的响应消息也会首先发送至扫描服务器10,由扫描服务器10再将响应消息发送至测试设备40。扫描服务器10预先存储有规则库,该规则库中的规则是预先从预设漏洞信息平台上获取并存储于本地的。扫描服务器10在获取到测试设备40运行测试用例时发送的访问请求消息及针对该访问请求消息反馈的响应消息后,根据本地存储的规则库对被测系统30进行主动漏洞扫描,最终得到主动漏洞扫描的结果。
需要说明的是,图2中的扫描服务器10还同时会接入互联网,以便按照预设周期通过互联网从预设漏洞信息平台上获取最新的规则并更新至本地的规则库。
还需要说明的是,用户可以通过图2中的控制服务器20设置主动漏洞扫描的配置信息,控制服务器20将该配置信息发送至扫描服务器10,扫描服务器10按照该配置信息对被测系统30进行主动漏洞扫描。
下面将对本发明实施例提供的漏洞扫描方法及相关装置进行详细描述。
基于图2的应用场景,图3示出了本发明实施例提供的一种漏洞扫描方法的流程图。该方法应用于持续集成环境下图2所示的应用场景中扫描服务器10,该漏洞扫描方法包括以下步骤:
步骤S101,获取测试设备运行测试用例时发送的访问被测系统的访问请求消息及被测系统针对访问请求消息反馈的响应消息。
在本实施例中,测试设备40通过运行测试用例实现对被测系统30的测试。测试设备40在运行测试用例时会通过扫描服务器10向被测系统30发送访问请求消息,被测系统30也会通过扫描服务器10向测试设备40反馈针对该访问请求消息的响应消息。即扫描服务器10可以获取到测试设备40和被测系统30之间的交互信息。
在本实施例中,一种触发测试设备40运行测试用例的方式是:控制服务器20检测到集成构建设备50对更新的代码进行构建以得到可运行软件后,控制测试设备40运行测试用例。另一种触发测试设备40运行测试用例的方式是:用户在测试设备40上手动启动测试用例的运行。
步骤S102,依据访问请求消息、响应消息及预先存储的规则库对被测系统进行主动漏洞扫描,生成主动漏洞扫描结果,其中,规则库中的规则是预先从预设漏洞信息平台上获取并存储于本地的。
在本实施例中,主动漏洞扫描是指基于实际访问被测系统30产生的访问请求消息及响应消息进行的漏洞扫描。
在本实施例中,作为一种实施方式,规则库中可以存在多个漏洞的漏洞特征信息,首先提取访问请求消息、响应消息中的特征信息,然后判断规则库中是否存在与该特征信息匹配的目标漏洞特征信息,若存在,则认为被测系统30中存在目标漏洞,根据目标漏洞的漏洞信息及对应的访问请求消息及响应消息,最终生成主动漏洞扫描结果。
作为另一种实施方式,规则库中可以存在多个漏洞对应的访问请求及对应的响应消息之间的漏洞关系规则,通过提取步骤S101获取的访问请求及对应的响应消息之间的关系信息,判断该关系信息是否满足规则库中的目标漏洞关系规则,进而判断是否存在目标漏洞,最终得到主动漏洞扫描结果。
在本发明实施例中,上述实施方式是基于运行测试用例时实际产生的访问请求消息及响应消息对被测系统30进行主动漏洞扫描,因此可以覆盖到被测系统30经常使用的场景,在降低了漏报和误报率的同时也加强了被测系统30的安全性测试的实用性。
由于绝大多数漏洞信息平台中的漏洞规则库中记录的是漏洞的漏洞特征信息,因此,为了可以利用尽量多的漏洞信息平台中的漏洞规则库,在图3的基础上,本发明实施例以基于漏洞特征信息的漏洞规则库,提供了另一种漏洞扫描方法,请参照图4,图4示出了本发明实施例提供的另一种漏洞扫描方法的流程图,步骤S102具体包括以下子步骤:
子步骤S1021,提取访问请求消息及响应消息中的特征信息。
在本实施例中,对于WEB访问请求而言,访问请求消息中的特征信息可以是用户名、密码、鉴权信息。对于主机扫描而言,访问请求消息中的特征信息可以是文件属性、文件访问口令等。
子步骤S1022,当规则库中存在与特征信息匹配的目标漏洞特征信息时,判定被测系统存在与目标漏洞特征信息对应的目标漏洞。
在本实施例中,规则库包括多个漏洞规则,每一漏洞规则包括、但不限于漏洞的编号,对应的漏洞描述、漏洞特征信息等。
在本实施例中,规则库中存在与特征信息匹配的目标漏洞特征信息可以是访问请求消息的特征信息与目标漏洞特征信息匹配,也可以是响应消息的特征信息与目标漏洞特征信息匹配,还可以是访问请求消息的特征信息和响应消息的特征信息合起来与目标漏洞特征信息匹配。
子步骤S1023,获取目标漏洞的漏洞信息,并依据漏洞信息、对应的访问请求消息及响应消息生成主动漏洞扫描结果。
在本实施例中,漏洞信息包括、但不限于漏洞的编号,对应的漏洞描述、漏洞特征信息等。主动漏洞扫描结果中包括、但不限于漏洞信息、访问请求消息及响应消息,访问请求消息的特征信息及响应消息的特征信息等。
在本实施例中,上述实施方式由于采用基于漏洞特征信息的漏洞规则库的匹配方式,可以使用绝大多数平台提供的漏洞规则库,由此可以发现尽可能多的漏洞,进一步减少误报和漏报率,避免了现有开源软件使用的规则库单一造成误报和漏报较多的问题。
为了最大限度地通过漏洞扫描发现尽可能多的漏洞,在图3的基础上,本发明实施例还提供了另一种漏洞扫描方法,请参照5,图5示出了本发明实施例提供的另一种漏洞扫描方法的流程图,该漏洞扫描方法还包括:
步骤S103,调用预设漏洞扫描软件对被测系统进行被动漏洞扫描,得到被动漏洞扫描结果。
在本实施例中,预设漏洞扫描软件包括、但不限于WEB安全扫描软件、主机系统扫描软件等。WEB安全扫描软件包括、但不限于nikto,nikto为一款开源的WEB服务器扫描程序、或者WEBScarab,WEBScarab是一款可以分析使用超文本传输协议HTTP(Hyper TextTransfer Protocol,HTTP)和超文本传输安全协议HTTPS(Hyper Text Transfer Protocolover Secure Socket Layer或Hypertext Transfer Protocol Secure,HTTP)进行通信的应用程序等。
在本实施例中,被动漏洞扫描结果包括利用预设漏洞扫描软件扫描被测系统30得到的漏洞的漏洞信息,该漏洞信息包括、但不限于漏洞的编号,对应的漏洞描述、漏洞特征信息等。
在本实施例中,步骤S103可以和步骤S102或者步骤S101同时执行、也可以在步骤S101之前执行、也可以在步骤S102之后执行。
步骤S104,将主动漏洞扫描结果和被动漏洞扫描结果进行合并,并对其中重复的漏洞进行去重,得到漏洞扫描结果全集。
在本实施例中,主动漏洞扫描结果和被动漏洞扫描结果中可以存在重复的漏洞信息,可以根据漏洞的编号及漏洞的特征信息识别两个漏洞信息是否重复,为了减少漏洞扫描结果占用的存储资源,也为了便于更清晰地展示漏洞扫描结果,需要对重复的漏洞信息进行去重,即只在合并后的漏洞扫描结果全集中保留其中一份漏洞信息。
步骤S105,对漏洞扫描结果全集中的漏洞进行统计,并按照优先级进行归类,生成漏洞扫描报告。
在本实施例中,每一漏洞均对应一个优先级,漏洞扫描报告可以、但不限于包括统计的漏洞的总数、属于每类优先级的漏洞的总数,针对每一漏洞可以采取的扑救措施或者消除该漏洞的措施等。
步骤S106,按照预设周期对规则库进行更新。
在本实施例中,规则库中的规则是预先从预设漏洞信息平台上获取并存储于本地的,预设漏洞信息平台包括、但不限于公共漏洞暴露平台CVE(Common VulnerabilitiesExposures,CVE)、漏洞利用数据库Exploitdb、开放式漏洞评估系统Openvas、开源漏洞信息库Osvdb等。
在本实施例中,每一漏洞信息平台的漏洞规则可以不相同,此时,需要将每一漏洞信息平台的漏洞规则进行统一化处理,最终得到规则库。
在本实施例中,对于规则库的更新可以是全量下载,可以是定制下载,全量下载即将每一漏洞信息平台中的全部漏洞规则更新至本地的规则库中,定制下载是预先指定需要下载的漏洞信息平台,从预先指定的漏洞信息平台中下载其中的规则并更新至本地的规则库中。
需要说明的是,预设漏洞扫描软件也有自己的漏洞规则库,可以按照预先对预设漏洞扫描软件的配置对其漏洞规则库进行更新。
上述实施例提供的漏洞扫描方法将主动漏洞扫描方法和现有漏洞扫描软件进行结合,将两者扫描的结果进行合并,保证得到更新全面的漏洞扫描结果,同时按预设周期对规则库进行定制化地更新,使得主动扫描使用的规则库和预设漏洞扫描软件本身的漏洞规则库均能及时得以更新,由此保证基于最新的规则库进行漏洞扫描减少误报和漏报率。
可以理解,步骤S106也可以和图3或者图4中的步骤配合使用,以保证图3或者图4中的漏洞扫描是基于最新的规则库进行的,减少误报和漏报率。步骤S103-S105页可以和图4中的步骤配合使用,以实现将主动漏洞扫描方法和现有漏洞扫描软件进行结合,将两者扫描的结果进行合并,保证得到更新全面的漏洞扫描结果。
为了执行上述实施例及各个可能的实施方式中的相应步骤,下面给出一种漏洞扫描装置的实现方式。请参照图6,图6为本发明实施例提供的一种漏洞扫描装置100的结构框图。需要说明的是,本实施例所提供的漏洞扫描装置100,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及指出,可参考上述实施例中的相应内容。该漏洞扫描装置100应用于持续集成环境中的扫描服务器10,该漏洞扫描装置100包括:主动扫描模块110、被动扫描模块120、报告反馈模块130及规则库更新模块140。
主动扫描模块110,用于获取测试设备运行测试用例时发送的访问被测系统的访问请求消息及被测系统针对访问请求消息反馈的响应消息;依据访问请求消息、响应消息及预先存储的规则库对被测系统进行主动漏洞扫描,生成主动漏洞扫描结果,其中,规则库中的规则是预先从预设漏洞信息平台上获取并存储于本地的。
作为一种实施方式,主动扫描模块110具体用于提取访问请求消息及响应消息中的特征信息;当规则库中存在与特征信息匹配的目标漏洞特征信息时,判定被测系统存在与目标漏洞特征信息对应的目标漏洞;获取目标漏洞的漏洞信息,并依据漏洞信息、对应的访问请求消息及响应消息生成主动漏洞扫描结果。
被动扫描模块120,用于调用预设漏洞扫描软件对被测系统进行被动漏洞扫描,得到被动漏洞扫描结果。
报告反馈模块130,用于将主动漏洞扫描结果和被动漏洞扫描结果进行合并,并对其中重复的漏洞进行去重,得到漏洞扫描结果全集;对漏洞扫描结果全集中的漏洞进行统计,并按照优先级进行归类,生成漏洞扫描报告。
规则库更新模块140,用于按照预设周期对所述规则库进行更新。
需要说明的是,作为一种实施方式,漏洞扫描装置100中的每个功能模块均可以采用docker容器技术分别进行封装,由此实现了漏洞扫描装置100的秒级部署、易移植、故障自动恢复以及根据需要向漏洞扫描装置100新增或者减少对应的功能模块,实现其中功能模块的弹性管理,另外,以容器化的方式部署漏洞扫描装置100中的每个功能模块也可以使得主动漏洞扫描和被动漏洞扫描的扫描效率更快,且可以快速地得到扫描后的反馈结果,以便及时针对反馈结果进行相应的处理,加快软件的安全评估效率。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的漏洞扫描装置100的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
基于同一发明思路,本发明实施例还提供一种漏洞扫描系统,请参照图7,图7示出了本发明实施例提供的漏洞扫描系统的示意图。漏洞扫描系统与测试设备40及被测系统30均通信连接,集成构建设备50与漏洞扫描系统及被测系统30均通信连接。被测系统30运行有因集成构建设备50中的代码被更新而触发代码构建以得到的可运行软件,测试设备40运行有用于测试被测系统30的测试用例,漏洞扫描系统预先存储有预先从预设漏洞信息平台上获取并存储于本地的规则库。
漏洞扫描系统获取测试设备40运行测试用例时与被测系统30之间的交互消息,该交互消息包括测试设备40发出的访问被测系统30的访问请求消息及被测系统30针对该访问请求消息反馈的响应消息,并根据该访问请求消息、响应消息及规则库对被测系统30进行主动漏洞扫描。
漏洞扫描系统包括扫描服务器10和控制服务器20,扫描服务器10与控制服务器20通信连接,扫描服务器10与测试设备40和被测系统30均通信连接,扫描服务器10与测试设备40及被测系统30均通信连接,测试设备40预先将扫描服务器10设置为访问被测系统30的代理。
扫描服务器10获取测试设备40运行测试用例时发送的访问被测系统30的访问请求消息及被测系统30针对访问请求消息反馈的响应消息;扫描服务器10依据访问请求消息、响应消息及预先存储的规则库对被测系统30进行主动漏洞扫描,生成主动漏洞扫描结果。
在可选的实施方式中,用户可以在控制服务器20对扫描服务器10上运行的主动漏洞扫描进行配置,控制服务器20将主动漏洞扫描的配置信息发送至扫描服务器10;扫描服务器10按照主动漏洞扫描的配置信息对被测系统30进行主动漏洞扫描。
需要说明的是,除了可以在控制服务器20上对主动漏洞扫描进行配置,还可以配置的项目包括:(1)被动漏洞扫描的配置,被动漏洞扫描的配置包括、但不限于扫描方式、扫描地址等;(2)漏洞扫描报告的格式及反馈的配置,漏洞扫描报告的格式的配置包括、但不限于漏洞扫描报告中漏洞的显示优先级、漏洞信息等,例如,漏洞信息可以包括漏洞的数量,漏洞的详细信息及对应的解决方案等。反馈的配置包括、但不限于反馈接收人、反馈方式,例如,反馈方式可以是邮件、钉钉等;(3)规则库的更新的配置,可以配置规则库的更新周期、预设漏洞信息平台、更新方式(全量更新还是自定义更新)等。控制服务器20将每一项配置发送至扫描服务器10上对应的功能模块,以便对应的功能模块按照对应的配置进行工作。
由于控制服务器20可以统一管理各项配置信息,因此简化了配置管理的工作,提高了本方案的易用性。
请参看图8,图8示出了本发明实施例提供的扫描服务器10的结构示意图。扫描服务器10还包括存储器11、通信接口12、处理器13和总线14。存储器11、通信接口12,处理器13通过总线14连接。
存储器11用于存储程序,例如图6所示的漏洞扫描装置100,漏洞扫描装置100包括至少一个可以软件或固件(firmware)的形式存储于存储器11中的软件功能模块,处理器13在接收到执行指令后,执行所述程序以实现上述实施例揭示的漏洞扫描方法。
存储器11可能包括高速随机存取存储器(RAM:Random Access Memory),也可能还包括非易失存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器11可以是内置于处理器13中的存储装置,也可以是独立于处理器13的存储装置。
通过至少一个通信接口12(可以是有线或者无线)实现扫描服务器10与其他外部设备的通信连接。
总线14可以是ISA总线、PCI总线或EISA总线等。图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器13可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器13中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器13可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前述实施方式中任一项所述的方法。
综上所述,本发明实施例提供了一种漏洞扫描方法及相关装置,应用于持续集成环境中的扫描服务器,持续集成环境中存在集成构建设备、测试设备及被测系统,扫描服务器与测试设备及被测系统均通信连接,被测系统运行有因集成构建设备中的代码被更新而触发代码构建以得到的可运行软件,测试设备运行有用于测试被测系统的测试用例,测试设备预先将扫描服务器设置为访问被测系统的代理,所述方法包括:获取测试设备运行测试用例时发送的访问被测系统的访问请求消息及被测系统针对访问请求消息反馈的响应消息;依据访问请求消息、响应消息及预先存储的规则库对被测系统进行主动漏洞扫描,生成主动漏洞扫描结果,其中,规则库中的规则是预先从预设漏洞信息平台上获取并存储于本地的。通过基于CI环境中运行测试用例时实际产生的访问请求消息及响应消息对被测系统进行主动漏洞扫描,降低了漏报和误报率。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种漏洞扫描方法,其特征在于,应用于持续集成环境中的扫描服务器,所述持续集成环境中存在集成构建设备、测试设备及被测系统,所述扫描服务器与所述测试设备及所述被测系统均通信连接,所述被测系统运行有因所述集成构建设备中的代码被更新而触发代码构建以得到的可运行软件,所述测试设备运行有用于测试所述被测系统的测试用例,所述测试设备预先将所述扫描服务器设置为访问所述被测系统的代理,所述方法包括:
获取所述测试设备运行所述测试用例时发送的访问被测系统的访问请求消息及所述被测系统针对所述访问请求消息反馈的响应消息;
依据所述访问请求消息、所述响应消息及预先存储的规则库对所述被测系统进行主动漏洞扫描,生成主动漏洞扫描结果,其中,所述规则库中的规则是预先从预设漏洞信息平台上获取并存储于本地的。
2.如权利要求1所述的漏洞扫描方法,其特征在于,所述规则库中存在多个漏洞的漏洞特征信息,所述依据所述访问请求消息、所述响应消息及预先存储的规则库对所述被测系统进行主动漏洞扫描,生成主动漏洞扫描结果的步骤,包括:
提取所述访问请求消息及所述响应消息中的特征信息;
当所述规则库中存在与所述特征信息匹配的目标漏洞特征信息时,判定所述被测系统存在与所述目标漏洞特征信息对应的目标漏洞;
获取所述目标漏洞的漏洞信息,并依据所述漏洞信息、对应的访问请求消息及响应消息生成所述主动漏洞扫描结果。
3.如权利要求1所述的漏洞扫描方法,其特征在于,所述方法还包括:
调用预设漏洞扫描软件对所述被测系统进行被动漏洞扫描,得到被动漏洞扫描结果。
4.如权利要求3所述的漏洞扫描方法,其特征在于,所述被动漏洞扫描结果包括利用所述预设漏洞扫描软件扫描所述被测系统得到的漏洞的漏洞信息,所述主动漏洞扫描结果和所述被动漏洞扫描结果中的每一漏洞均对应一个优先级,所述方法还包括:
将所述主动漏洞扫描结果和所述被动漏洞扫描结果进行合并,并对其中重复的漏洞进行去重,得到漏洞扫描结果全集;
对所述漏洞扫描结果全集中的漏洞进行统计,并按照优先级进行归类,生成漏洞扫描报告。
5.如权利要求1所述的漏洞扫描方法,其特征在于,所述方法还包括:
按照预设周期对所述规则库进行更新。
6.一种漏洞扫描装置,其特征在于,应用于持续集成环境中的扫描服务器,所述持续集成环境中存在集成构建设备、测试设备及被测系统,所述扫描服务器与所述测试设备及所述被测系统均通信连接,所述被测系统运行有因所述集成构建设备中的代码被更新而触发代码构建以得到的可运行软件,所述测试设备运行有用于测试所述被测系统的测试用例,所述测试设备预先将所述扫描服务器设置为访问所述被测系统的代理,所述装置包括主动扫描模块,所述主动扫描模块用于:
获取所述测试设备运行所述测试用例时发送的访问被测系统的访问请求消息及所述被测系统针对所述访问请求消息反馈的响应消息;
依据所述访问请求消息、所述响应消息及预先存储的规则库对所述被测系统进行主动漏洞扫描,生成主动漏洞扫描结果,其中,所述规则库中的规则是预先从预设漏洞信息平台上获取并存储于本地的。
7.一种扫描服务器,其特征在于,所述扫描服务器包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-5中任一项所述的漏洞扫描方法。
8.一种漏洞扫描系统,其特征在于,所述漏洞扫描系统包括扫描服务器,所述扫描服务器与测试设备及被测系统均通信连接,所述被测系统运行有因集成构建设备中的代码被更新而触发代码构建以得到的可运行软件,所述测试设备运行有用于测试所述被测系统的测试用例,所述测试设备预先将所述扫描服务器设置为访问所述被测系统的代理;
所述扫描服务器用于获取所述测试设备运行所述测试用例时发送的访问被测系统的访问请求消息及所述被测系统针对所述访问请求消息反馈的响应消息;
所述扫描服务器用于依据所述访问请求消息、所述响应消息及预先存储的规则库对所述被测系统进行主动漏洞扫描,生成主动漏洞扫描结果,其中,所述规则库中的规则是预先从预设漏洞信息平台上获取并存储于本地的。
9.如权利要求8所述的漏洞扫描系统,其特征在于,所述漏洞扫描系统还包括控制服务器,所述控制服务器与所述扫描服务器通信连接;
所述控制服务器用于将主动漏洞扫描的配置信息发送至所述扫描服务器;
所述扫描服务器还用于按照所述主动漏洞扫描的配置信息对所述被测系统进行主动漏洞扫描。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-5中任一项所述的方法。
CN201910922448.1A 2019-09-27 2019-09-27 漏洞扫描方法及相关装置 Active CN110704847B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910922448.1A CN110704847B (zh) 2019-09-27 2019-09-27 漏洞扫描方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910922448.1A CN110704847B (zh) 2019-09-27 2019-09-27 漏洞扫描方法及相关装置

Publications (2)

Publication Number Publication Date
CN110704847A true CN110704847A (zh) 2020-01-17
CN110704847B CN110704847B (zh) 2021-09-10

Family

ID=69196654

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910922448.1A Active CN110704847B (zh) 2019-09-27 2019-09-27 漏洞扫描方法及相关装置

Country Status (1)

Country Link
CN (1) CN110704847B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111343188A (zh) * 2020-03-05 2020-06-26 深信服科技股份有限公司 一种漏洞查找方法、装置、设备和存储介质
CN111428244A (zh) * 2020-03-25 2020-07-17 中国建设银行股份有限公司 源码测试方法及装置
CN111444392A (zh) * 2020-03-26 2020-07-24 杭州迪普科技股份有限公司 一种漏洞库的访问方法、装置及设备
CN111585975A (zh) * 2020-04-17 2020-08-25 上海中通吉网络技术有限公司 安全漏洞检测方法、设备及系统、交换机
CN111680304A (zh) * 2020-06-15 2020-09-18 北京凌云信安科技有限公司 一种综合检测Docker漏洞和不安全配置的扫描系统
CN111935149A (zh) * 2020-08-11 2020-11-13 北京天融信网络安全技术有限公司 一种漏洞检测方法及系统
CN112003864A (zh) * 2020-08-25 2020-11-27 上海聚水潭网络科技有限公司 一种基于全流量的网站安全检测系统和方法
CN112019544A (zh) * 2020-08-28 2020-12-01 支付宝(杭州)信息技术有限公司 网络接口的安全扫描方法、装置及系统
CN112507342A (zh) * 2020-12-01 2021-03-16 中国人寿保险股份有限公司 一种漏洞检测方法、装置、电子设备及存储介质
CN112738094A (zh) * 2020-12-29 2021-04-30 国网山东省电力公司滨州供电公司 可扩展的网络安全漏洞监测方法、系统、终端及存储介质
CN115225370A (zh) * 2022-07-18 2022-10-21 北京天融信网络安全技术有限公司 一种规则库优化方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107480531A (zh) * 2017-07-18 2017-12-15 北京计算机技术及应用研究所 基于漏洞库的自动化软件漏洞验证系统及方法
CN108334437A (zh) * 2018-03-02 2018-07-27 江苏电力信息技术有限公司 一种基于持续集成及自动化测试的软件持续交付验收方法
CN109241735A (zh) * 2018-09-27 2019-01-18 四川长虹电器股份有限公司 一种基于漏洞扫描平台的持续集成方法
CN109344080A (zh) * 2018-10-31 2019-02-15 江苏电力信息技术有限公司 持续交付与自动化测试一体化集成的软件质量保障方法
CN110162980A (zh) * 2019-05-31 2019-08-23 上交所技术有限责任公司 一种软件开发过程中一站式安全测试和管理的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107480531A (zh) * 2017-07-18 2017-12-15 北京计算机技术及应用研究所 基于漏洞库的自动化软件漏洞验证系统及方法
CN108334437A (zh) * 2018-03-02 2018-07-27 江苏电力信息技术有限公司 一种基于持续集成及自动化测试的软件持续交付验收方法
CN109241735A (zh) * 2018-09-27 2019-01-18 四川长虹电器股份有限公司 一种基于漏洞扫描平台的持续集成方法
CN109344080A (zh) * 2018-10-31 2019-02-15 江苏电力信息技术有限公司 持续交付与自动化测试一体化集成的软件质量保障方法
CN110162980A (zh) * 2019-05-31 2019-08-23 上交所技术有限责任公司 一种软件开发过程中一站式安全测试和管理的方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111343188A (zh) * 2020-03-05 2020-06-26 深信服科技股份有限公司 一种漏洞查找方法、装置、设备和存储介质
CN111428244A (zh) * 2020-03-25 2020-07-17 中国建设银行股份有限公司 源码测试方法及装置
CN111444392A (zh) * 2020-03-26 2020-07-24 杭州迪普科技股份有限公司 一种漏洞库的访问方法、装置及设备
CN111444392B (zh) * 2020-03-26 2023-04-25 杭州迪普科技股份有限公司 一种漏洞库的访问方法、装置及设备
CN111585975B (zh) * 2020-04-17 2023-03-14 上海中通吉网络技术有限公司 安全漏洞检测方法、设备及系统、交换机
CN111585975A (zh) * 2020-04-17 2020-08-25 上海中通吉网络技术有限公司 安全漏洞检测方法、设备及系统、交换机
CN111680304A (zh) * 2020-06-15 2020-09-18 北京凌云信安科技有限公司 一种综合检测Docker漏洞和不安全配置的扫描系统
CN111935149A (zh) * 2020-08-11 2020-11-13 北京天融信网络安全技术有限公司 一种漏洞检测方法及系统
CN112003864A (zh) * 2020-08-25 2020-11-27 上海聚水潭网络科技有限公司 一种基于全流量的网站安全检测系统和方法
CN112003864B (zh) * 2020-08-25 2022-01-14 上海聚水潭网络科技有限公司 一种基于全流量的网站安全检测系统和方法
CN112019544A (zh) * 2020-08-28 2020-12-01 支付宝(杭州)信息技术有限公司 网络接口的安全扫描方法、装置及系统
CN112507342A (zh) * 2020-12-01 2021-03-16 中国人寿保险股份有限公司 一种漏洞检测方法、装置、电子设备及存储介质
CN112738094A (zh) * 2020-12-29 2021-04-30 国网山东省电力公司滨州供电公司 可扩展的网络安全漏洞监测方法、系统、终端及存储介质
CN115225370A (zh) * 2022-07-18 2022-10-21 北京天融信网络安全技术有限公司 一种规则库优化方法、装置、电子设备及存储介质
CN115225370B (zh) * 2022-07-18 2023-11-10 北京天融信网络安全技术有限公司 一种规则库优化方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN110704847B (zh) 2021-09-10

Similar Documents

Publication Publication Date Title
CN110704847B (zh) 漏洞扫描方法及相关装置
WO2021040994A1 (en) Systems, method, and media for determining security compliance of continuous build software
US10552610B1 (en) Adaptive virtual machine snapshot update framework for malware behavioral analysis
WO2019137636A1 (en) Validating artifacts deployable on a cloud computing system
US20210314342A1 (en) Systems, methods, and computer-readable media for executing a web application scan service
EP3420681A1 (en) Cloud verification and test automation
US10698797B2 (en) Mobile application program testing method, server, terminal, and storage medium
CN108768960B (zh) 病毒检测方法、装置、存储介质及计算机设备
US10956257B2 (en) Dynamic failure-resolution computing engine
CN111090423B (zh) 一种webhook框架系统和实现主动调用、实现事件触发的方法
CN106445548B (zh) 一种测试包下发方法和装置
US10397281B2 (en) Method, system and server for self-healing of electronic apparatus
CN107835228B (zh) 一种基于动态广义路由的指令处理方法及装置
CN111090592A (zh) 埋点的自动化测试方法、终端及可读存储介质
US20230168986A1 (en) Systems, methods, and computer-readable media for analyzing intercepted telemetry events to generate vulnerability reports
CN115437933A (zh) 自动化测试方法、装置、计算机设备及存储介质
CN108920379B (zh) 捕获lua代码异常的方法和装置
CN113468212A (zh) 事件执行的方法、装置及电子设备
CN111722994A (zh) 一种任务请求的响应方法及设备
CN112433703A (zh) 一种组件模块创建方法、装置、服务器及存储介质
US10685115B1 (en) Method and system for implementing cloud native application threat detection
CN110554884A (zh) 一种配置方法、装置、后台服务器及存储介质
Srivastava et al. An open-source SWUpdate and Hawkbit framework for OTA Updates of RISC-V based resource constrained devices
US20220053025A1 (en) Method and device for configuring an access protection system
CN112671615A (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