漏洞扫描方法、装置、设备及计算机可读介质转让专利

申请号 : CN201711308744.X

文献号 : CN107948305B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 米黎王少岩

申请人 : 北京百度网讯科技有限公司

摘要 :

本发明提出一种漏洞扫描方法、装置、设备及计算机可读介质,所述漏洞扫描方法包括以下步骤:根据漏洞扫描任务的数量扩容或删减服务器的空闲资源;根据所述服务器的空闲资源分配相应的漏洞扫描任务至服务器;执行漏洞扫描任务。本发明实施例中通过调节服务器资源,可以节省服务器资源,降低成本。同时,可以通过漏洞扫描任务的调度分配,实现弹性分配资源。同时,通过并发漏洞扫描,节约漏洞扫描时间。

权利要求 :

1.一种漏洞扫描方法,其特征在于,包括根据漏洞扫描任务的数量扩容或删减服务器的空闲资源;

根据所述服务器的空闲资源分配相应的漏洞扫描任务至服务器;

执行漏洞扫描任务;

所述根据漏洞扫描任务的数量扩容或删减服务器的空闲资源包括:监控服务器的性能参数;

当所述性能参数满足设定阈值时,生成用于执行漏洞扫描任务的虚拟环境;

所述根据所述服务器的空闲资源分配相应的漏洞扫描任务至服务器包括:注册所述虚拟环境的信息至调度中心,由调度中心根据虚拟环境的负载情况分配漏洞扫描任务至服务器;

所述执行漏洞扫描任务具体为:在虚拟环境中执行漏洞扫描任务。

2.根据权利要求1所述漏洞扫描方法,其特征在于,所述服务器的性能参数包括:服务器的CPU性能、内存大小、磁盘容量、磁盘输入输出性能和网络带宽。

3.根据权利要求1所述漏洞扫描方法,其特征在于,所述根据所述服务器的空闲资源分配相应的漏洞扫描任务至服务器包括:获取服务器中的虚拟环境的负载情况;

根据虚拟环境的负载情况分配漏洞扫描任务至对应的服务器。

4.一种漏洞扫描装置,其特征在于,包括:管理模块,用于根据漏洞扫描任务的数量扩容或删减服务器的空闲资源;

调度模块,用于根据所述服务器的空闲资源分配相应的漏洞扫描任务至服务器;

扫描模块,用于执行漏洞扫描任务;

所述管理模块包括:

监控子模块,用于监控服务器的性能参数;

生成子模块,用于当所述性能参数满足设定阈值时,生成用于执行漏洞扫描任务的虚拟环境,其中,所述虚拟环境的信息被注册至调度中心,由调度中心根据虚拟环境的负载情况分配漏洞扫描任务至服务器;

所述扫描模块在虚拟环境中执行漏洞扫描任务。

5.根据权利要求4所述漏洞扫描装置,其特征在于,所述服务器的性能参数包括:服务器的CPU性能、内存大小、磁盘容量、磁盘输入输出性能和网络带宽。

6.根据权利要求4所述漏洞扫描装置,其特征在于,所述调度模块包括:负载获取子模块,用于获取服务器中的虚拟环境的负载情况;

任务分配子模块,用于根据虚拟环境的负载情况分配漏洞扫描任务至对应的服务器。

7.一种漏洞扫描设备,其特征在于,所述设备包括:一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-3中任一所述的漏洞扫描方法。

8.一种计算机可读介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-3中任一所述的漏洞扫描方法。

说明书 :

漏洞扫描方法、装置、设备及计算机可读介质

技术领域

[0001] 本发明涉及网络安全技术领域,尤其涉及一种漏洞扫描方法及装置、设备和计算机可读介质。

背景技术

[0002] 当前,由于云技术的发展越来越快和越来越成熟,企业越来越多的将自己的网站服务迁移到云端上部署,因而对网站安全的检测至关重要。
[0003] 目前通常采用分布式扫描方法,具体包括:由控制端向多个探测节点发送扫描策略和扫描对象数据,所述探测节点根据接收到的扫描策略和扫描对象数据进行扫描动作并且向所述控制端回传扫描数据。
[0004] 然而,目前分布式漏洞扫描方法在服务器资源上开销大,扫描时间和服务器数量多少相关,无法满足第一时间检测到自身网站的安全问题,从而被攻击者利用。目前的方法还存在无法满足需要扫描的网站激增的问题,当某个时间段需要扫描的网站数量突增,之前的扫描规模无法在预期时间内完成,从而出现扫描任务积累问题。

发明内容

[0005] 本发明实施例提供一种漏洞扫描方法、装置、设备及计算机可读介质,以至少解决现有技术中的以上技术问题。
[0006] 第一方面,本发明实施例提供了一种漏洞扫描方法,包括以下步骤:
[0007] 根据漏洞扫描任务的数量扩容或删减服务器的空闲资源;
[0008] 根据所述服务器的空闲资源分配相应的漏洞扫描任务至服务器;
[0009] 执行漏洞扫描任务。
[0010] 结合第一方面,本发明在第一方面的第一种实现方式中,所述根据漏洞扫描任务的数量扩容或删减服务器的空闲资源包括:
[0011] 监控服务器的性能参数;
[0012] 当所述性能参数满足设定阈值时,生成用于执行漏洞扫描任务的虚拟环境。
[0013] 结合第一方面的第一种实现方式,本发明在第一方面的第二种实现方式中,所述服务器的性能参数包括:服务器的CPU性能、内存大小、磁盘容量、磁盘输入输出性能和网络带宽。
[0014] 结合第一方面的第一种实现方式,本发明在第一方面的第三种实现方式中,所述根据所述服务器的空闲资源分配相应的漏洞扫描任务至服务器包括:
[0015] 获取服务器中的虚拟环境的负载情况;
[0016] 根据虚拟环境的负载情况分配漏洞扫描任务至对应的服务器。
[0017] 结合第一方面的第一种实现方式,本发明在第一方面的第四种实现方式中,所述执行漏洞扫描任务具体为:在虚拟环境中执行漏洞扫描任务。
[0018] 第二方面,本发明实施例提供了一种漏洞扫描装置,包括:
[0019] 管理模块,用于根据漏洞扫描任务的数量扩容或删减服务器的空闲资源;
[0020] 调度模块,用于根据所述服务器的空闲资源分配相应的漏洞扫描任务至服务器;
[0021] 扫描模块,用于执行漏洞扫描任务。
[0022] 结合第二方面,本发明在第二方面的第一种实现方式中,所述管理模块包括:
[0023] 监控子模块,用于监控服务器的性能参数;
[0024] 生成子模块,用于当所述性能参数满足设定阈值时,生成用于执行漏洞扫描任务的虚拟环境。
[0025] 结合第二方面的第一种实现方式,本发明在第二方面的第二种实现方式中,所述服务器的性能参数包括:服务器的CPU性能、内存大小、磁盘容量、磁盘输入输出性能和网络带宽。
[0026] 结合第二方面的第一种实现方式,本发明在第二方面的第三种实现方式中,所述调度模块包括:
[0027] 负载获取子模块,用于获取服务器中的虚拟环境的负载情况;
[0028] 任务分配子模块,用于根据虚拟环境的负载情况分配漏洞扫描任务至对应的服务器。
[0029] 结合第二方面的第一种实现方式,本发明在第二方面的第四种实现方式中,所述扫描模块在虚拟环境中执行漏洞扫描任务。
[0030] 所述装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
[0031] 在一个可能的设计中,漏洞扫描装置的结构中包括处理器和存储器,所述存储器用于存储支持漏洞扫描装置执行上述第一方面中漏洞扫描方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述漏洞扫描装置还可以包括通信接口,用于漏洞扫描装置与其他设备或通信网络通信。
[0032] 第三方面,本发明实施例提供了一种计算机可读介质,用于存储漏洞扫描装置所用的计算机软件指令,其包括用于执行上述第一方面的漏洞扫描方法所涉及的程序。
[0033] 上述技术方案中的一个技术方案具有如下优点或有益效果:本发明实施例中通过调节服务器资源,可以节省服务器资源,降低成本。同时,可以通过漏洞扫描任务的调度分配,实现弹性分配资源。同时,通过并发漏洞扫描,节约漏洞扫描时间。
[0034] 上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。

附图说明

[0035] 在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
[0036] 图1为实施例一的漏洞扫描方法的步骤流程图;
[0037] 图2为实施例一的步骤S110的具体步骤流程图;
[0038] 图3为实施例一的步骤S120的具体步骤流程图;
[0039] 图4为实施例二的漏洞扫描方法步骤流程图;
[0040] 图5为实施例二的步骤S210的具体步骤流程图;
[0041] 图6为实施例三的漏洞扫描装置的连接框图;
[0042] 图7为实施例四的漏洞扫描装置的连接框图;
[0043] 图8为实施例五的漏洞扫描设备连接框图。

具体实施方式

[0044] 在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
[0045] 本发明实施例旨在解决现有技术中无法满足扫描网站数量激增的技术问题。本发明实施例主要通过动态调整服务器资源以及扫描任务的调度分配,实现弹性分配资源。同时,通过并发漏洞扫描,节约漏洞扫描时间。下面分别通过以下实施例进行技术方案的展开描述。
[0046] 实施例一
[0047] 请参阅图1,其为本发明实施例一的漏洞扫描方法的步骤流程图。本实施例一提供了一种漏洞扫描方法,包括以下步骤:
[0048] S110:根据漏洞扫描任务的数量扩容或删减服务器的空闲资源。
[0049] 如图2所示,在本实施例中,所述步骤S110包括:
[0050] S111:监控服务器的性能参数。其中,所述服务器的性能参数包括:服务器的CPU性能、内存大小、磁盘容量、磁盘输入输出(IO)性能和网络带宽。
[0051] S112:当所述性能参数满足设定阈值时,生成用于执行扫描任务的虚拟环境。在本实施例中,通过生成虚拟环境,并且所述虚拟环境与服务器本地资源进行隔离,因此不会对服务器产生影响。
[0052] 当需要执行扫描任务时,先根据扫描任务的数量,判断需要多少服务器进行运行。然后,通过监控各个服务器的性能参数,如果满足设定阈值,则对应生成一个虚拟环境,用于在该虚拟环境中执行扫描任务。其中,在动态监控各个服务器的参数性能时,可以通过在服务器中设置代理模块(agent),通过代理模块进行监控服务器的参数性能以及生成对应的虚拟环境。
[0053] S120:根据所述服务器的空闲资源分配相应的漏洞扫描任务至服务器。
[0054] 如图3所示,在本实施例中,所述步骤S210包括:
[0055] S121:获取服务器中的虚拟环境的负载情况。
[0056] S122:根据虚拟环境的负载情况分配漏洞扫描任务至对应的服务器。
[0057] 在本步骤中,采用分布式任务处理系统进行扫描任务的分配。在本实施例中,可以采用一个调度中心来收集各个服务器的虚拟环境的负载情况。例如,如果新产生一个虚拟环境,则可以先注册一个虚拟环境信息至调度中心,由调度中心根据虚拟环境的负载情况合理分配漏洞扫描任务至各个服务器。
[0058] S130:执行漏洞扫描任务。
[0059] 本实施例中,当扫描任务分配至虚拟环境后,在虚拟环境中执行漏洞扫描任务,如只需进行爬虫的扫描,则仅开启爬虫进程,实现粒度可控,可定制化效果。
[0060] 实施例二
[0061] 与实施例一的区别在于:本实施例的漏洞扫描任务可以在服务器的实体环境空间中执行。本实施例的方案如下:
[0062] 请参阅图4,其为本实施例二的漏洞扫描方法的步骤流程图。本实施例二提供了一种漏洞扫描方法,包括以下步骤:
[0063] S210:根据漏洞扫描任务的数量扩容或删减服务器的空闲资源,并根据服务器的性能参数分配相应的实体空间用于执行漏洞扫描任务。所述实体空间与服务器本地资源不相互隔离。
[0064] 如图5所示,所述步骤S210中,具体包括:
[0065] S211:监控服务器的性能参数。其中,所述服务器的性能参数包括:服务器的CPU性能、内存大小、磁盘容量、磁盘输入输出(IO)性能和网络带宽。
[0066] S212:当所述性能参数满足设定阈值时,则直接分配对应的实体空间用于执行扫描任务。
[0067] S220:根据所述服务器分配的实体空间的负载情况分配相应的漏洞扫描任务至服务器。
[0068] S230:在服务器分配的实体空间中执行漏洞扫描任务。
[0069] 实施例三
[0070] 本实施例三对应于实施例一,提供了一种漏洞扫描装置。请参阅图6,其为本实施例三的漏洞扫描装置的连接框图。
[0071] 本实施例三的漏洞扫描装置,包括:
[0072] 管理模块110,用于根据漏洞扫描任务的数量扩容或删减服务器的空闲资源。其中,所述管理模块110包括:
[0073] 监控子模块111 ,用于监控服务器的性能参数。所述服务器的性能参数包括:服务器的CPU性能、内存大小、磁盘容量、磁盘输入输出性能和网络带宽。
[0074] 生成子模块112,用于当所述性能参数满足设定阈值时,生成用于执行漏洞扫描任务的虚拟环境。
[0075] 调度模块120,用于根据所述服务器的空闲资源分配相应的漏洞扫描任务至服务器。
[0076] 所述调度模块120包括:
[0077] 负载获取子模块121,用于获取服务器中的虚拟环境的负载情况。
[0078] 任务分配子模块122,用于根据虚拟环境的负载情况分配漏洞扫描任务至对应的服务器。
[0079] 扫描模块130,用于执行漏洞扫描任务。
[0080] 本实施例三与实施例一的原理相同,故不再赘述。
[0081] 实施例四
[0082] 本实施例四与实施例二对应,提供了一种漏洞扫描装置,具体如下:
[0083] 如图7所示,为本实施例四的漏洞扫描装置的连接框图。本发明实施例四提供了一种漏洞扫描装置,包括:
[0084] 实体空间管理模块210,用于根据漏洞扫描任务的数量扩容或删减服务器的空闲资源,并根据服务器的性能参数分配相应的实体空间用于执行漏洞扫描任务。所述实体空间与服务器本地资源不相互隔离。
[0085] 其中,所述管理模块210包括:
[0086] 监控子模块211,用于监控服务器的性能参数。其中,所述服务器的性能参数包括:服务器的CPU性能、内存大小、磁盘容量、磁盘输入输出(IO)性能和网络带宽。
[0087] 生成子模块212,用于当所述性能参数满足设定阈值时,则直接分配对应的实体空间用于执行扫描任务。
[0088] 调度模块220,用于根据所述服务器分配的实体空间的负载情况分配相应的漏洞扫描任务至服务器。
[0089] 扫描模块230,用于在服务器分配的实体空间中执行漏洞扫描任务。
[0090] 本实施例三与实施例一的原理相同,故不再赘述。
[0091] 本实施例四的应用方式与原理与实施例二相同,故不再赘述。
[0092] 实施例五
[0093] 本发明实施例五提供一种漏洞扫描设备,如图8所示,该设备包括:存储器310和处理器320,存储器310内存储有可在处理器320上运行的计算机程序。所述处理器320执行所述计算机程序时实现上述实施例中的漏洞扫描方法。所述存储器310和处理器320的数量可以为一个或多个。
[0094] 该设备还包括:
[0095] 通信接口330,用于与外界设备进行通信,进行数据交互传输。
[0096] 存储器310可能包含高速RAM存储器,也可能还包括非易失性存储器  (non-volatile memory),例如至少一个磁盘存储器。
[0097] 如果存储器310、处理器320和通信接口330独立实现,则存储器310、处理器320和通信接口330可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,Peripheral Component)总线或扩展工业标准体系结构(EISA, Extended Industry Standard Component)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0098] 可选的,在具体实现上,如果存储器310、处理器320及通信接口330集成在一块芯片上,则存储器310、处理器320及通信接口330可以通过内部接口完成相互间的通信。
[0099] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0100] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0101] 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0102] 在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统) 使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
[0103] 本发明实施例所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质的更具体的示例至少(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器 (ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读存储介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0104] 在本发明实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于指令执行系统、输入法或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
[0105] 应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA) 等。
[0106] 本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0107] 此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。
[0108] 综上所述,本发明实施例中通过调节服务器资源,可以节省服务器资源,降低成本。同时,可以通过漏洞扫描任务的调度分配,实现弹性分配资源。同时,通过并发漏洞扫描,节约漏洞扫描时间。
[0109] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。