CN114422253B - 分布式漏洞扫描系统、方法及存储介质 - Google Patents

分布式漏洞扫描系统、方法及存储介质 Download PDF

Info

Publication number
CN114422253B
CN114422253B CN202210072739.8A CN202210072739A CN114422253B CN 114422253 B CN114422253 B CN 114422253B CN 202210072739 A CN202210072739 A CN 202210072739A CN 114422253 B CN114422253 B CN 114422253B
Authority
CN
China
Prior art keywords
url
task
vulnerability
scanning
scanned
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
Application number
CN202210072739.8A
Other languages
English (en)
Other versions
CN114422253A (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.)
Beijing Knownsec Information Technology Co Ltd
Original Assignee
Beijing Knownsec Information 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 Beijing Knownsec Information Technology Co Ltd filed Critical Beijing Knownsec Information Technology Co Ltd
Priority to CN202210072739.8A priority Critical patent/CN114422253B/zh
Publication of CN114422253A publication Critical patent/CN114422253A/zh
Application granted granted Critical
Publication of CN114422253B publication Critical patent/CN114422253B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例提出一种分布式漏洞扫描系统、方法及存储介质,属于网络安全技术领域,系统包括集中器、任务调度器和多个扫描器,任务调度器与扫描器和集中器通信连接,扫描器包括漏洞扫描引擎,集中器用于将扫描任务下发至任务调度器;任务调度器用于将每个扫描任务以URL为单位进行分割,得到至少一个任务URL,并将各任务URL依次分发至具有处理能力的扫描器;漏洞扫描引擎用于按照URL的结构组成,对任务URL进行分解,得到至少一种URL类型的待扫描URL,根据待扫描URL进行漏洞扫描,使得多个任务URL可以在不同的扫描器上同时进行漏洞扫描,并实现更为精确的漏洞扫描,在一定程度上减少冗余漏洞检测的产生,从而能够提升扫描速度。

Description

分布式漏洞扫描系统、方法及存储介质
技术领域
本发明涉及网络安全技术领域,具体而言,涉及一种分布式漏洞扫描系统、方法及存储介质。
背景技术
随着网络技术的发展,当前web应用的使用规模越来越大,针对web应用的安全问题也随之呈指数爆发。而大、中、小企业等具有庞大的网络集群及规模,一旦网络出现漏洞,则会造成巨大的损失。
当前,漏洞扫描一般采用基于客户端服务器模式的扫描器进行扫描,由于服务器物理性能的瓶颈和扫描所需要的资源消耗过高,当进行大规模扫描任务时,扫描任务执行缓慢,扫描速度较慢。
发明内容
有鉴于此,本发明的目的在于提供一种分布式漏洞扫描系统、方法及存储介质,其能够改善现有的漏洞扫描方法在进行大规模任务扫描时,扫描速度慢的问题。
为了实现上述目的,本发明实施例采用的技术方案如下。
第一方面,本发明实施例提供一种分布式漏洞扫描系统,采用如下的技术方案。
一种分布式漏洞扫描系统,包括集中器、任务调度器和多个扫描器,所述任务调度器与所述扫描器和所述集中器通信连接,所述扫描器包括漏洞扫描引擎;
所述集中器,用于在每得到一个扫描任务时,将所述扫描任务下发至所述任务调度器;
所述任务调度器,用于将每个所述扫描任务以URL为单位进行分割,得到至少一个任务URL,并将各所述任务URL依次分发至具有处理能力的所述扫描器;
所述漏洞扫描引擎,用于按照URL的结构组成,对所述任务URL进行分解,得到至少一种URL类型的待扫描URL,根据所述待扫描URL进行漏洞扫描,在扫描出漏洞的情况下,将漏洞信息进行存储。
进一步地,所述系统还包括多个服务器,所述服务器与所述扫描器通信连接,所述任务调度器包括第一容器和第二容器,所述扫描器包括爬虫分析模块;
所述扫描器,用于在接收到一个所述任务URL后,向所述任务URL的目标服务器发出第一请求,接收所述目标服务器针对所述第一请求返回的第一响应,并将所述第一响应发送至所述漏洞扫描引擎;
所述漏洞扫描引擎,还用于将所述第一响应发送至所述爬虫分析模块;
所述爬虫分析模块,用于接收所述第一响应,提取所述第一响应中的所有URL,并查询各所述URL是否存在于所述第一容器中,若否,则将所述URL进行标记后加入第一容器,并将所述URL放入所述第二容器中;
所述集中器,还用于实时监听各个所述任务调度器的所述第二容器,在所述第二容器中存在URL时,提取出所述URL,并将所述URL封装成扫描任务。
进一步地,所述URL类型包括域名任务、路径任务和文件任务,所述扫描器包括脚本库,所述脚本库存储有漏洞检测脚本;
所述漏洞扫描引擎用于通过以下步骤实现根据所述待扫描URL进行漏洞扫描:
根据每个所述待扫描URL的URL类型,调取所述待扫描URL对应的漏洞检测脚本,对所述待扫描URL进行漏洞扫描;
所述漏洞扫描引擎用于通过以下步骤实现将漏洞信息进行存储:
将所述漏洞对应的待扫描URL作为漏洞信息进行存储。
进一步地,所述系统还包括多个服务器,所述服务器与所述扫描器通信连接,所述漏洞检测脚本包括恶意payload;
所述调取所述待扫描URL对应的漏洞检测脚本,对待扫描URL进行漏洞扫描的步骤,包括:
针对每个所述待扫描URL,调用该待扫描URL的URL类型对应的漏洞检测脚本,向目标服务器发出第二请求,并基于所述恶意payload,向所述目标服务器发出恶意请求;
接收所述目标服务器针对所述第二请求返回的第二响应,以及所述目标服务器针对所述恶意请求返回的第三响应;
比较所述第二响应和所述第三响应是否一致,若否,则该待扫描URL存在漏洞。
进一步地,所述扫描器还用于响应于脚本添加指令,将所述脚本添加指令中的漏洞检测脚本添加入所述脚本库中。
进一步地,所述任务调度器用于通过以下步骤实现将所述任务URL依次发送至各所述扫描器:
实时监听各所述扫描器的处理能力,将各所述任务URL依次分发至具有处理能力的扫描器上。
第二方面,本发明实施例提供一种分布式漏洞扫描方法,采用如下的技术方案。
一种分布式漏洞扫描方法,应用于如第一方面所述的分布式漏洞扫描系统,所述方法包括:
所述集中器在每得到一个扫描任务时,将所述扫描任务下发至所述任务调度器;
所述任务调度器将每个所述扫描任务以URL为单位进行分割,得到至少一个任务URL,并将各所述任务URL依次分发至具有处理能力的所述扫描器;
所述漏洞扫描引擎按照URL的结构组成,对所述任务URL进行分解,得到至少一种URL类型的待扫描URL,根据所述待扫描URL进行漏洞扫描,在扫描出漏洞的情况下,将漏洞信息进行存储。
第三方面,本发明实施例提供一种漏洞扫描方法,采用如下的技术方案。
一种漏洞扫描方法,应用于所述扫描器,所述扫描器与任务调度器通信连接,所述方法包括:
接收所述任务调度器发送的任务URL,所述任务URL由所述任务调度器以URL为单位对扫描任务进行分割后得到;
按照URL的结构组成,对所述任务URL进行分解,得到至少一种URL类型的待扫描URL;
根据所述待扫描URL进行漏洞扫描,在扫描出漏洞的情况下,将漏洞信息进行存储。
进一步地,所述URL类型包括域名任务、路径任务和文件任务,所述扫描器包括脚本库,所述脚本库存储有漏洞检测脚本;
所述根据所述待扫描URL进行漏洞扫描的步骤,包括:
根据每个所述待扫描URL的URL类型,调取所述待扫描URL对应的漏洞检测脚本,对所述待扫描URL进行漏洞扫描;
所述将漏洞信息进行存储的步骤,包括:
将所述漏洞对应的待扫描URL作为漏洞信息进行存储。
第四方面,本发明实施例提供一种存储介质,采用如下的技术方案。
一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第三方面所述的漏洞扫描方法。
本发明实施例提供的分布式漏洞扫描系统、方法及存储介质,任务调度器将集中器下发的扫描任务进行分割后,将得到各任务URL依次分发至具有处理能力的扫描器,从而多个任务URL可以同时在不同的扫描器上进行扫描,并且,扫描器的漏洞扫描引擎将接收的任务URL分解成不同URL类型的待扫描URL后,对待扫描URL进行扫描,即将任务URL分割成不同URL类型的待扫描URL后,对各待扫描URL进行漏洞扫描,实现更为精确的漏洞扫描,以在一定程度上减少冗余漏洞检测的产生,进而能够改善现有的漏洞扫描方法在进行大规模任务扫描时,扫描速度慢的问题。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的分布式漏洞扫描系统的方框示意图。
图2示出了本发明实施例提供的分布式漏洞扫描系统对应的分布式漏洞扫描方法的部分步骤的流程示意图。
图3示出了图2中S101和S102的部分子步骤的流程示意图。
图4示出了本发明实施例提供的分布式漏洞扫描方法的流程示意图。
图5示出了本发明实施例提供的漏洞扫描方法的流程示意图。
图6示出了本发明实施例提供的电子设备的方框示意图。
图7示出了本发明实施例提供的漏洞扫描装置的方框示意图。
图标:100-分布式漏洞扫描系统;110-集中器;120-任务调度器;130-扫描器;140-漏洞扫描引擎;150-服务器;160-第一容器;170-第二容器;180-爬虫分析模块;190-电子设备;200-存储器;210-处理器;220-通信模块;230-漏洞扫描装置;240-接收模块;250-扫描模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
随着网络技术的发展,当前web应用的使用规模越来越大,针对web应用的安全问题也随之呈指数爆发。对服务器安全和web应用安全进行监控,对web应用进行漏洞扫描和排查,是减少web漏洞造成的财产损失的重要手段。
目前,漏洞扫描一般采用基于客户端服务器模式的扫描器进行扫描,由于单机服务器物理性能的瓶颈和扫描所需要的资源消耗过高,当进行大规模扫描任务时,存在扫描任务执行缓慢以及扫描速度慢等问题。
基于上述考虑,本发明实施例提供一种分布式漏洞扫描方案,其能够改善目前的漏洞扫描方法在进行大规模任务扫描时,扫描速度慢的问题。以下,本实施例将从分布式漏洞扫描系统100、分布式漏洞扫描方法和漏洞扫描方法等角度进行介绍。
请参照图1,为本发明实施例提供的分布式漏洞扫描系统100的方框示意图,该分布式漏洞扫描系统100包括集中器110、任务调度器120和多个扫描器130,任务调度器120可以与集中器110和多个扫描器130通过网络通信连接,每个扫描器130均包括漏洞扫描引擎140。
其中,集中器110、任务调度器120和扫描器130均可以但不限于是:笔记本电脑、个人计算机、平板电脑、移动终端和服务器150。服务器150可以为独立服务器150,也可以为服务器150集群。
集中器110,用于在每得到一个扫描任务时,将扫描任务下发至任务调度器120。
集中器110得到扫描任务的方式可以灵活选择,例如,可以由用户端发送,也可以由集中器110主动获取。
任务调度器120,用于将每个扫描任务以URL为单位进行分割,得到至少一个任务URL,并将各任务URL依次分发至具有处理能力的扫描器130。
漏洞扫描引擎140,用于按照URL的结构组成,对任务URL进行分解,得到至少一种URL类型的待扫描URL,根据待扫描URL进行漏洞扫描,在扫描出漏洞的情况下,将漏洞信息进行存储。
在上述分布式漏洞扫描系统100中,任务调度器120将集中器110下发的扫描任务进行分割后,将得到的各任务URL依次分发至具有处理能力的扫描器130,从而多个任务URL可以同时在不同的扫描器130上进行扫描,并且,扫描器130的漏洞扫描引擎140将接收的任务URL分解成不同URL类型的待扫描URL后,对待扫描URL进行扫描,即将任务URL分割成不同URL类型的待扫描URL后,对各待扫描URL进行漏洞扫描,实现更为精确的漏洞扫描,以在一定程度上减少冗余漏洞检测的产生,进而能够改善现有的漏洞扫描方法在进行大规模任务扫描时,扫描速度慢的问题。
在一种实施方式中,集中器110、任务调度器120和扫描器130之间,即分布式漏洞扫描系统100采用Celery架构。基于此,由集中器110下发扫描任务至任务调度器120上后,任务调度器120将每个扫描任务以URL为单位进行分割,得到多个任务URL,每个任务URL即为一个队列元素。任务调度器120作为消息中间件,用于分割扫描任务,并缓存分割得到的任务URL,然后逐次下发任务URL至具有处理能力的扫描器130。
任务调度器120可以为celery调度器,任务调度器120可以通过多种方式获取扫描器130的剩余处理能力。例如,可以由各扫描器130主动发送自身的剩余处理能力至任务调度器120,也可以由任务调度器120主动监听各扫描器130的剩余处理能力。
现有的漏洞扫描方法,通常都是先收集资产再进行扫描,这也是导致扫描速度较慢的原因。为了解决上述问题,以进一步提高漏洞扫描速度,在一种实施方式中,请继续参照图1,本发明实施例提供的分布式漏洞扫描系统100还包括多个服务器150,服务器150和扫描器130通信连接,任务调度器120包括第一容器160和第二容器170,扫描器130还包括爬虫分析模块180。
扫描器130,用于在接收到一个任务URL后,向任务URL的目标服务器150发出第一请求,接收目标服务器150针对第一请求返回的第一响应,并将第一响应发送至漏洞扫描引擎140。
漏洞扫描引擎140,还用于将第一响应发送至爬虫分析模块180。
爬虫分析模块180,用于接收第一响应,提取第一响应中的所有URL,并查询各URL是否存在于第一容器160中,若否,则将URL进行标记后加入第一容器160,并将URL放入第二容器170中。
集中器110,还用于实时监听各个任务调度器120的第二容器170,在第二容器170中存在URL时,提取出URL,并将URL封装成扫描任务。
应当理解的是,第一容器160存储有已进行漏洞扫描的URL信息,第二容器170存储未扫描的URL。
上述实施方式中,扫描器130得到任务URL后,根据该任务URL对任务URL的目标服务器150发起第一请求,并将目标服务器150返回的第一响应发送至漏洞扫描引擎140,漏洞扫描引擎140将第一响应发往爬虫分析模块180。爬虫分析模块180提取出第一响应中的所有URL,并查询这些URL是否为已进行过漏洞扫描的URL,若不是,则将未经过漏洞扫描的URL信息记录于第一容器160,同时,将这些未经过漏洞扫描的URL放入第二容器170。集中器110监听到第二容器170中存在URL后,提取出URL,封装成扫描任务,下发至任务调度器120,进行新一轮的任务扫描。如此往复,实现边扫描边收集资产。
通过扫描器130、漏洞扫描引擎140、爬虫分析模块180和集中器110之间的相互配合,实现边扫描边收集资产(即URL),无需先收集资产再进行扫描,从而能够缩减扫描等待时间,进而提高扫描速度。
可选的,在一种实施方式中,按照URL的结构组成,URL类型可以包括域名任务、路径任务和文件任务。
例如,一个URL地址的格式为:http://<host>:<port>/<path>/<file>?<query>。根据URL的组成结构,域名任务对应的格式为:http://<host>:<port>。路径任务对应的格式为:http://<host>:<port>/<path>。文件任务对应的格式为:http://<host>:<port>/<path>/<file>?<query>。
根据上述结构,即上述URL类型的分类方式,漏洞扫描引擎140可以从以上URL类型进行更为精确的漏洞扫描。具体地,在一种实施方式中,扫描器130还包括脚本库,脚本库存储有漏洞检测脚本,且漏洞检测脚本包括域名任务、路径任务和文件任务等类型。
应当理解的是,每个任务URL分割成1至3类的待扫描URL,当任务URL只包括域名时,如http://www.baidu.com,则该任务URL只能分割成域名任务类型的待扫描URL。当任务URL包括域名、路径和文件时,如http://www.baidu.com/a/index.php,则可分割成域名任务的待扫描URL:http://www.baidu.com,路径任务的待扫描URL:http://www.baidu.com/a,以及文件任务的待扫描URL:http://www.baidu.com/a/index.php。
基于上述内容,参照图2,图2为本发明实施例提供的分布式漏洞扫描系统100对应的分布式漏洞扫描方法的部分步骤的流程示意图。漏洞扫描引擎140可用于通过以下步骤S101和S102实现根据待扫描URL进行漏洞扫描,通过以下步骤S103实现将漏洞信息进行存储。
S101,根据每个待扫描URL的URL类型,调取待扫描URL对应的漏洞检测脚本,对待扫描URL进行漏洞扫描。
当待扫描URL为域名任务时,则调取域名任务类型的漏洞检测脚本。当待扫描URL为路径任务时,则调取路径任务类型的漏洞检测脚本。当待扫描URL为文件任务时,则调取文件任务类型的漏洞检测脚本。
在漏洞扫描过程中,漏洞扫描引擎140,能够利用漏洞检测脚本根据扫描信息,识别出漏洞。
S102,判断是否存在漏洞。若是,则执行S103,否则该次漏洞检测结束。
S103,将漏洞对应的待扫描URL作为漏洞信息进行存储。
通过根据任务URL的组成结构,将任务URL分割成不同URL类型的待扫描URL来进行扫描,能够更为精确、充分地进行漏洞扫描,实现漏洞检测精确定位。同时,在任务URL不包括文件,或路径和文件时,无需调用所有类型的漏洞检测脚本,从而能够减少漏洞检测时间。
存储漏洞信息的设备可以任意选择,例如,可以存储在集中器110,可以存储在任务调度器120,也可以存储于扫描器130,或者另外的设备。
进一步地,漏洞检测脚本包括恶意payload。在此基础上,参照图3,包括上述步骤S101的部分子步骤的流程示意图,通过以下步骤实现取待扫描URL对应的漏洞检测脚本,对待扫描URL进行漏洞扫描。
S101-1,针对每个待扫描URL,调用该待扫描URL的URL类型对应的漏洞检测脚本,向目标服务器发出第二请求,并基于恶意payload,向目标服务器发出恶意请求。
S101-2,接收目标服务器针对第二请求返回的第二响应,以及目标服务器针对恶意请求返回的第三响应。
请继续参照图3,包括上述S102的部分子步骤的流程示意图,包括如下步骤。
S102-1,比较第二响应和第三响应是否一致,若否,则该待扫描URL存在漏洞。
漏洞扫描引擎140调取出待扫描URL对应的漏洞检测脚本后,根据漏洞检测脚本向目标服务器150发送第二请求,并发出恶意请求。目标服务器150接收到第二请求和恶意请求之后,返回第二请求对应的第二响应以及恶意请求对应的第三响应。从而根据第二响应和第三响应是否一致,来判断是否存在漏洞。
脚本库中的漏洞检测脚本可以根据需求进行删除和添加,添加或删除漏洞检测脚本的方式可以灵活选择。例如,可以直接在扫描器130上编写漏洞检测脚本后存储于脚本库,在扫描器130上直接删除漏洞检测脚本。也可以由其他设备发送脚本添加指令或脚本删除指令,扫描器130可以将脚本添加指令中的漏洞检测脚本添加入脚本库中,以及扫描器130可以根据脚本删除指令,删除脚本删除指令所要求删除的漏洞检测脚本。
在一种实施方式中,漏洞扫描引擎140可以采用文件添加的方式,将所要添加的漏洞检测脚本放入脚本库中。以使得漏洞扫描引擎140可以调用脚本库中的所有漏洞检测脚本。
本发明实施例提供的分布式漏洞扫描系统100,通过集中器110、任务调度器120和扫描器130,集中器110获取和发放扫描任务,任务调度器120将扫描任务进行分割和调度,多个扫描器130可以同时进行不同的漏洞扫描任务,从而能够提升漏洞扫描速度。同时,扫描器130能够边扫描边收集新的URL(资产),以有助于提升扫描速度。
基于相同的发明构思,本发明实施例还提供一种分布式漏洞扫描方法,该分布式漏洞扫描方法应用于上述分布式漏洞扫描系统100中。在一种实施方式中,参照图4,为本发明实施例提供的分布式漏洞扫描方法的流程示意图,包括如下步骤。
S201,集中器在每得到一个扫描任务时,将扫描任务下发至任务调度器。
S203,任务调度器将每个扫描任务以URL为单位进行分割,得到至少一个任务URL,并将各任务URL依次分发至具有处理能力的扫描器。
S205,漏洞扫描引擎按照URL的结构组成,对任务URL进行分解,得到至少一种URL类型的待扫描URL,根据待扫描URL进行漏洞扫描,在扫描出漏洞的情况下,将漏洞信息进行存储。
通过上述方法,集中器110获得扫描任务后,将扫描任务下发至任务调度器120,任务调度器120将扫描任务以URL为粒度进行分割,并将分割得到的各任务URL依次分发至具有处理能力的扫描器130,从而多个任务URL可以同时在不同的扫描器130上,即采用分布式漏洞扫描。并且,扫描器130的漏洞扫描引擎140将接收的任务URL分解成不同URL类型的待扫描URL后,分别对待扫描URL进行扫描,实现更为精确的漏洞扫描,以在一定程度上减少冗余漏洞检测的产生,进而能够改善现有的漏洞扫描方法在进行大规模任务扫描时,扫描速度慢的问题。
基于相同的发明构思,本发明实施例还提供一种漏洞扫描方法,该漏洞扫描应用于图1中的扫描器130,该扫描器130与任务调度器120通过网络通信连接。参照图5,为本发明提供的漏洞扫描方法的流程示意图,包括如下步骤。
S301,接收任务调度器发送的任务URL。
其中,任务URL由任务调度器以URL为单位对扫描任务进行分割后得到。
S302,按照URL的结构组成,对任务URL进行分解,得到至少一种URL类型的待扫描URL。
S303,根据待扫描URL进行漏洞扫描,在扫描出漏洞的情况下,将漏洞信息进行存储。
本发明实施例提供的漏洞扫描方法,将接收的任务URL分解成不同URL类型的待扫描URL后,对待扫描URL进行扫描,即将任务URL分割成不同URL类型的待扫描URL后,分别对待扫描URL进行漏洞扫描,实现更为精确的漏洞扫描,以在一定程度上减少冗余漏洞检测的产生,进而能够改善现有的漏洞扫描方法在进行大规模任务扫描时,扫描速度慢的问题。
需要说明的是,本实施例所提供的分布式漏洞扫描方法和漏洞扫描方法,其基本原理及产生的技术效果和上述实施例提供的分布式漏洞扫描系统100相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。
请参照图6,是电子设备190的方框示意图。电子设备190包括存储器200、处理器210及通信模块220。存储器200、处理器210以及通信模块220各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,存储器200用于存储程序或者数据。存储器200可以是,但不限于,随机存取存储器200(Random Access Memory,RAM),只读存储器200(Read Only Memory,ROM),可编程只读存储器200(Programmable Read-Only Memory,PROM),可擦除只读存储器200(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器200(ElectricErasable Programmable Read-Only Memory,EEPROM)等。
处理器210用于读/写存储器200中存储的数据、计算机程序或机器可执行指令,并执行相应地功能。如,处理器210读取存储器200中的计算机程序或机器可执行指令,实现本发明实施例提供的分布式漏洞扫描方法或漏洞扫描方法。
通信模块220用于通过网络建立服务器150与其它通信终端之间的通信连接,并用于通过网络收发数据。
应当理解的是,图1所示的结构仅为电子设备190的结构示意图,电子设备190还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种漏洞扫描装置230的实现方式,可选地,该漏洞扫描装置230可以采用上述图6所示的电子设备190的器件结构。进一步地,请参阅图7,图7为本发明实施例提供的一种漏洞扫描装置230的功能模块图。需要说明的是,本实施例所提供的漏洞扫描装置230,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该漏洞扫描装置230应用于扫描器130,扫描器130和任务调度器120通信连接,漏洞扫描装置230包括接收模块240和扫描模块250。
接收模块240,用于接收任务调度器120发送的任务URL。
其中,任务URL由任务调度器120以URL为单位对扫描任务进行分割后得到。
扫描模块250,用于按照URL的结构组成,对任务URL进行分解,得到至少一种URL类型的待扫描URL,还用于根据待扫描URL进行漏洞扫描,在扫描出漏洞的情况下,将漏洞信息进行存储。
可选地,上述模块可以软件或固件(Firmware)的形式存储于图6所示的存储器200中或固化于该电子设备190的操作系统(Operating System,OS)中,并可由图6中的处理器210执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储器200中。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种分布式漏洞扫描系统,其特征在于,包括集中器、任务调度器和多个扫描器,所述任务调度器与所述扫描器和所述集中器通信连接,所述扫描器包括漏洞扫描引擎;
所述集中器,用于在每得到一个扫描任务时,将所述扫描任务下发至所述任务调度器;
所述任务调度器,用于将每个所述扫描任务以URL为单位进行分割,得到至少一个任务URL,并将各所述任务URL依次分发至具有处理能力的所述扫描器;
所述漏洞扫描引擎,用于按照URL的结构组成,对所述任务URL进行分解,得到至少一种URL类型的待扫描URL,根据所述待扫描URL进行漏洞扫描,在扫描出漏洞的情况下,将漏洞信息进行存储;
所述系统还包括多个服务器,所述服务器与所述扫描器通信连接,所述任务调度器包括第一容器和第二容器,所述扫描器还包括爬虫分析模块;
所述扫描器,用于在接收到一个所述任务URL后,向所述任务URL的目标服务器发出第一请求,接收所述目标服务器针对所述第一请求返回的第一响应,并将所述第一响应发送至所述漏洞扫描引擎;
所述漏洞扫描引擎,还用于将所述第一响应发送至所述爬虫分析模块;
所述爬虫分析模块,用于接收所述第一响应,提取所述第一响应中的所有URL,并查询各所述URL是否存在于所述第一容器中,若否,则将所述URL进行标记后加入第一容器,并将所述URL放入所述第二容器中;
所述集中器,还用于实时监听各个所述任务调度器的所述第二容器,在所述第二容器中存在URL时,提取出所述URL,并将所述URL封装成扫描任务。
2.根据权利要求1所述的分布式漏洞扫描系统,其特征在于,所述URL类型包括域名任务、路径任务和文件任务,所述扫描器包括脚本库,所述脚本库存储有漏洞检测脚本;
所述漏洞扫描引擎用于通过以下步骤实现根据所述待扫描URL进行漏洞扫描:
根据每个所述待扫描URL的URL类型,调取所述待扫描URL对应的漏洞检测脚本,对所述待扫描URL进行漏洞扫描;
所述漏洞扫描引擎用于通过以下步骤实现将漏洞信息进行存储:
将所述漏洞对应的待扫描URL作为漏洞信息进行存储。
3.根据权利要求2所述的分布式漏洞扫描系统,其特征在于,所述系统还包括多个服务器,所述服务器与所述扫描器通信连接,所述漏洞检测脚本包括恶意payload;
所述调取所述待扫描URL对应的漏洞检测脚本,对待扫描URL进行漏洞扫描的步骤,包括:
针对每个所述待扫描URL,调用该待扫描URL的URL类型对应的漏洞检测脚本,向目标服务器发出第二请求,并基于所述恶意payload,向所述目标服务器发出恶意请求;
接收所述目标服务器针对所述第二请求返回的第二响应,以及所述目标服务器针对所述恶意请求返回的第三响应;
比较所述第二响应和所述第三响应是否一致,若否,则该待扫描URL存在漏洞。
4.根据权利要求2所述的分布式漏洞扫描系统,其特征在于,所述扫描器还用于响应于脚本添加指令,将所述脚本添加指令中的漏洞检测脚本添加入所述脚本库中。
5.根据权利要求1至4中任一项所述的分布式漏洞扫描系统,其特征在于,所述任务调度器用于通过以下步骤实现将所述任务URL依次发送至各所述扫描器:
实时监听各所述扫描器的处理能力,将各所述任务URL依次分发至具有处理能力的扫描器上。
6.一种分布式漏洞扫描方法,其特征在于,应用于如权利要求1至5中任一项所述的分布式漏洞扫描系统,所述方法包括:
所述集中器在每得到一个扫描任务时,将所述扫描任务下发至所述任务调度器;
所述任务调度器将每个所述扫描任务以URL为单位进行分割,得到至少一个任务URL,并将各所述任务URL依次分发至具有处理能力的所述扫描器;
所述漏洞扫描引擎按照URL的结构组成,对所述任务URL进行分解,得到至少一种URL类型的待扫描URL,根据所述待扫描URL进行漏洞扫描,在扫描出漏洞的情况下,将漏洞信息进行存储
所述扫描器在接收到一个所述任务URL后,向所述任务URL的目标服务器发出第一请求,接收所述目标服务器针对所述第一请求返回的第一响应,并将所述第一响应发送至所述漏洞扫描引擎;
所述漏洞扫描引擎将所述第一响应发送至所述爬虫分析模块;
所述爬虫分析模块接收所述第一响应,提取所述第一响应中的所有URL,并查询各所述URL是否存在于所述第一容器中,若否,则将所述URL进行标记后加入第一容器,并将所述URL放入所述第二容器中;
所述集中器实时监听各个所述任务调度器的所述第二容器,在所述第二容器中存在URL时,提取出所述URL,并将所述URL封装成扫描任务。
7.一种漏洞扫描方法,其特征在于,应用于扫描器,所述扫描器与任务调度器通信连接,所述扫描器包括漏洞扫描引擎和爬虫分析模块,所述任务调度器包括第一容器和第二容器,所述方法包括:
接收所述任务调度器发送的任务URL,所述任务URL由所述任务调度器以URL为单位对扫描任务进行分割后得到;
按照URL的结构组成,对所述任务URL进行分解,得到至少一种URL类型的待扫描URL;
根据所述待扫描URL进行漏洞扫描,在扫描出漏洞的情况下,将漏洞信息进行存储;
在接收到一个所述任务URL后,向所述任务URL的目标服务器发出第一请求,接收所述目标服务器针对所述第一请求返回的第一响应,并将所述第一响应发送至所述漏洞扫描引擎,以使:
漏洞扫描引擎将所述第一响应发送至所述爬虫分析模块,爬虫分析模块接收所述第一响应,提取所述第一响应中的所有URL,并查询各所述URL是否存在于所述第一容器中,若否,则将所述URL进行标记后加入第一容器,并将所述URL放入所述第二容器中;
集中器实时监听各个所述任务调度器的所述第二容器,在所述第二容器中存在URL时,提取出所述URL,并将所述URL封装成扫描任务。
8.根据权利要求7所述的漏洞扫描方法,其特征在于,所述URL类型包括域名任务、路径任务和文件任务,所述扫描器包括脚本库,所述脚本库存储有漏洞检测脚本;
所述根据所述待扫描URL进行漏洞扫描的步骤,包括:
根据每个所述待扫描URL的URL类型,调取所述待扫描URL对应的漏洞检测脚本,对所述待扫描URL进行漏洞扫描;
所述将漏洞信息进行存储的步骤,包括:
将所述漏洞对应的待扫描URL作为漏洞信息进行存储。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求7或8所述的漏洞扫描方法。
CN202210072739.8A 2022-01-21 2022-01-21 分布式漏洞扫描系统、方法及存储介质 Active CN114422253B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210072739.8A CN114422253B (zh) 2022-01-21 2022-01-21 分布式漏洞扫描系统、方法及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210072739.8A CN114422253B (zh) 2022-01-21 2022-01-21 分布式漏洞扫描系统、方法及存储介质

Publications (2)

Publication Number Publication Date
CN114422253A CN114422253A (zh) 2022-04-29
CN114422253B true CN114422253B (zh) 2023-11-28

Family

ID=81276153

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210072739.8A Active CN114422253B (zh) 2022-01-21 2022-01-21 分布式漏洞扫描系统、方法及存储介质

Country Status (1)

Country Link
CN (1) CN114422253B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115426202B (zh) * 2022-11-03 2023-01-24 北京源堡科技有限公司 扫描任务下发方法、装置、计算机设备及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878341A (zh) * 2017-04-14 2017-06-20 北京匡恩网络科技有限责任公司 网络设备的漏洞扫描方法及装置
CN108449355A (zh) * 2018-04-04 2018-08-24 上海有云信息技术有限公司 一种漏洞扫描方法及系统
CN111104188A (zh) * 2019-11-11 2020-05-05 中盈优创资讯科技有限公司 漏洞扫描器的调度方法及装置
CN111541686A (zh) * 2020-04-20 2020-08-14 杭州迪普科技股份有限公司 一种扫描器的调用方法和装置
WO2021003982A1 (zh) * 2019-07-05 2021-01-14 深圳壹账通智能科技有限公司 业务系统漏洞处理方法、装置、计算机设备和存储介质
CN112511571A (zh) * 2021-02-07 2021-03-16 连连(杭州)信息技术有限公司 一种Web漏洞扫描方法、装置、系统、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10887326B2 (en) * 2018-03-30 2021-01-05 Microsoft Technology Licensing, Llc Distributed system for adaptive protection against web-service- targeted vulnerability scanners

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878341A (zh) * 2017-04-14 2017-06-20 北京匡恩网络科技有限责任公司 网络设备的漏洞扫描方法及装置
CN108449355A (zh) * 2018-04-04 2018-08-24 上海有云信息技术有限公司 一种漏洞扫描方法及系统
WO2021003982A1 (zh) * 2019-07-05 2021-01-14 深圳壹账通智能科技有限公司 业务系统漏洞处理方法、装置、计算机设备和存储介质
CN111104188A (zh) * 2019-11-11 2020-05-05 中盈优创资讯科技有限公司 漏洞扫描器的调度方法及装置
CN111541686A (zh) * 2020-04-20 2020-08-14 杭州迪普科技股份有限公司 一种扫描器的调用方法和装置
CN112511571A (zh) * 2021-02-07 2021-03-16 连连(杭州)信息技术有限公司 一种Web漏洞扫描方法、装置、系统、设备及存储介质

Also Published As

Publication number Publication date
CN114422253A (zh) 2022-04-29

Similar Documents

Publication Publication Date Title
US11392416B2 (en) Automated reconfiguration of real time data stream processing
US10560465B2 (en) Real time anomaly detection for data streams
CN112000741B (zh) 内外网数据交换系统、方法、装置、计算机设备和介质
US11182478B2 (en) Systems and methods for tracking and recording events in a network of computing systems
CN109800207B (zh) 日志解析方法、装置、设备及计算机可读存储介质
CN111736775A (zh) 多源存储方法、装置、计算机系统及存储介质
US10554604B1 (en) Low-load message queue scaling using ephemeral logical message topics
CN112347165B (zh) 日志处理方法、装置及服务器和计算机可读存储介质
CN108228322B (zh) 一种分布式链路跟踪、分析方法及服务器、全局调度器
US20090064185A1 (en) High-Performance XML Processing in a Common Event Infrastructure
CN102385549A (zh) 日志处理系统、日志处理方法和日志存储子系统
US20170153909A1 (en) Methods and Devices for Acquiring Data Using Virtual Machine and Host Machine
CN112130996A (zh) 数据监控控制系统、方法、装置、电子设备和存储介质
US8949184B2 (en) Data collector
US11934287B2 (en) Method, electronic device and computer program product for processing data
CN113507461B (zh) 基于大数据的网络监控系统及网络监控方法
CN114422253B (zh) 分布式漏洞扫描系统、方法及存储介质
CN113486095A (zh) 一种民航空管跨网安全数据交换管理平台
CN115629880A (zh) 一种日志脱敏方法、装置、设备及存储介质
CN111078975B (zh) 一种多节点增量式数据采集系统及采集方法
CN112580092B (zh) 一种敏感文件识别方法及装置
CN111796993B (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
US11340964B2 (en) Systems and methods for efficient management of advanced functions in software defined storage systems
CN111541667A (zh) 一种系统间消息通信的方法、设备、存储介质
US20140108420A1 (en) Index creation method and system

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