业务系统漏洞处理方法、装置、计算机设备和存储介质转让专利

申请号 : CN201910603458.9

文献号 : CN110460571B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 逯义东

申请人 : 深圳壹账通智能科技有限公司

摘要 :

本申请涉及漏洞检测的一种业务系统漏洞处理方法、装置、计算机设备和存储介质。该方法包括:根据终端发送的漏洞扫描指令获取预设的漏洞扫描插件和业务系统的模块列表数据,通过预设的漏洞扫描插件对模块列表数据进行扫描,将模块列表数据与漏洞特征码进行匹配分析,得到扫描结果。当扫描结果中存在待修复漏洞时,通过预设的漏洞分析模型对扫描结果进行分析,得到待修复漏洞的目标修复方案;将目标修复方案推送至对应的终端,以接收终端发送根据目标修复方案的漏洞修复指令和修复包,根据漏洞修复指令获取预设的漏洞修复插件,通过漏洞修复插件根据修复包对待修复漏洞进行修复。采用本方法能够有效对业务系统中存在的漏洞进行扫描和修复。

权利要求 :

1.一种业务系统漏洞处理方法,所述方法包括:

根据终端发送的漏洞扫描指令获取预设的漏洞扫描插件,所述漏洞扫描插件包括多个漏洞类型的漏洞特征码;

获取业务系统的模块列表数据,通过所述漏洞扫描插件对所述模块列表数据进行扫描,并将所述模块列表数据中多个业务模块的运行状态信息与所述漏洞特征码对应的漏洞描述信息进行匹配分析,得到扫描结果;所述扫描结果是根据与所述运行状态相匹配的漏洞特征码以及位置标识生成的,所述位置标识是针对所述相匹配的漏洞特征码对应的待修复漏洞进行定位得到的;

当所述扫描结果中存在待修复漏洞时,获取预设的漏洞修复分析模型,通过所述漏洞修复分析模型对所述扫描结果进行分析,得到所述待修复漏洞的目标修复方案;

将所述目标修复方案推送至对应的终端,以接收所述终端根据所述目标修复方案发送的漏洞修复指令和修复包;

根据所述漏洞修复指令获取预设的漏洞修复插件,通过所述漏洞修复插件对所述修复包进行解析,得到所述修复包中的修复脚本代码和函数接口;

获取所述待修复漏洞对应的代码标识,根据所述代码标识获取函数调用接口;

将待修复漏洞对应的权重置为零,将所述待修复漏洞的函数调用接口修改为所述修复包的函数接口;

将所述修复脚本代码存储至本地待修复漏洞对应的位置,并删除所述待修复漏洞的原始脚本代码。

2.根据权利要求1所述的方法,其特征在于,所述通过所述漏洞扫描插件对所述模块列表数据进行扫描的步骤包括:对所述多个业务模块的运行状态信息进行遍历,并将所述运行状态信息与所述漏洞特征码进行匹配;

当检测到存在与所述漏洞特征码相匹配的运行状态信息时,获取与所述运行状态信息相对应的漏洞特征码;

对存在所述漏洞特征码的待修复漏洞进行定位,并获取对应的所述位置标识;

根据所述漏洞特征码和所述位置标识生成对应的扫描结果。

3.根据权利要求1所述的方法,其特征在于,所述通过所述漏洞修复分析模型对所述扫描结果进行分析,得到所述待修复漏洞的目标修复方案的步骤包括:通过所述漏洞修复分析模型对待修复漏洞对应的运行状态信息进行分析,得到所述待修复漏洞的漏洞特征;

根据所述漏洞特征对所述漏洞修复分析模型中的多个决策节点进行遍历;

当遍历至目标决策节点时,根据所述目标决策节点获取所述待修复漏洞对应的目标修复方案。

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

当所述待修复漏洞修复失败时,获取对应的修复过程信息;

获取预设的漏洞修复检测模型,通过所述漏洞修复检测模型对所述修复过程信息进行分析,得到分析结果;

将所述分析结果推送至所述终端,使得运维人员通过所述终端对所述修复包进行调整。

5.一种业务系统漏洞处理装置,所述装置包括:

漏洞扫描模块,用于根据终端发送的漏洞扫描指令获取预设的漏洞扫描插件,所述漏洞扫描插件包括多个漏洞类型的漏洞特征码;获取业务系统的模块列表数据,通过所述漏洞扫描插件对所述模块列表数据进行扫描,并将所述模块列表数据中多个业务模块的运行状态信息与所述漏洞特征码对应的漏洞描述信息进行匹配分析,得到扫描结果;所述扫描结果是根据与所述运行状态相匹配的漏洞特征码以及位置标识生成的,所述位置标识是针对所述相匹配的漏洞特征码对应的待修复漏洞进行定位得到的;

漏洞分析模块,用于当所述扫描结果中存在待修复漏洞时,获取预设的漏洞修复分析模型,通过所述漏洞修复分析模型对所述扫描结果进行分析,得到所述待修复漏洞的目标修复方案;

数据推送模块,用于将所述目标修复方案推送至对应的终端,以接收所述终端根据所述目标修复方案发送漏洞修复指令和修复包;

漏洞修复模块,用于根据所述漏洞修复指令获取预设的漏洞修复插件, 通过所述漏洞修复插件对所述修复包进行解析,得到所述修复包中的修复脚本代码和函数接口;获取所述待修复漏洞对应的代码标识,根据所述代码标识获取函数调用接口;将待修复漏洞对应的权重置为零,将所述待修复漏洞的函数调用接口修改为所述修复包的函数接口;将所述修复脚本代码存储至本地待修复漏洞对应的位置,并删除所述待修复漏洞的原始脚本代码。

6.根据权利要求5所述的装置,其特征在于,所述漏洞扫描模块还用于对所述多个业务模块的运行状态信息进行遍历,并将所述运行状态信息与所述漏洞特征码进行匹配;当检测到存在与所述漏洞特征码相匹配的运行状态信息时,获取与所述运行状态信息相对应的漏洞特征码;对存在所述漏洞特征码的待修复漏洞进行定位,并获取对应的所述位置标识;

根据所述漏洞特征码和所述位置标识生成对应的扫描结果。

7.根据权利要求5所述的装置,其特征在于,所述漏洞分析模块,具体用于:通过所述漏洞修复分析模型对待修复漏洞对应的运行状态信息进行分析,得到所述待修复漏洞的漏洞特征;

根据所述漏洞特征对所述漏洞修复分析模型中的多个决策节点进行遍历;

当遍历至目标决策节点时,根据所述目标决策节点获取所述待修复漏洞对应的目标修复方案。

8.根据权利要求5所述的装置,其特征在于,所述装置还包括漏洞修复检测模块:所述漏洞修复检测模块,用于当所述待修复漏洞修复失败时,获取对应的修复过程信息;获取预设的漏洞修复检测模型,通过所述漏洞修复检测模型对所述修复过程信息进行分析,得到分析结果;将所述分析结果推送至所述终端,使得运维人员通过所述终端对所述修复包进行调整。

9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。

说明书 :

业务系统漏洞处理方法、装置、计算机设备和存储介质

技术领域

[0001] 本申请涉及计算机技术领域,特别是涉及漏洞检测的一种业务系统漏洞处理方法、装置、计算机设备和存储介质。

背景技术

[0002] 随着互联网技术的不断发展,计算机也容易受到来自多种因素的影响,导致互联网中存在一定的安全漏洞。通常漏洞扫描是通过漏洞扫描器器根据目标系统的操作系统平台和提供的网络服务,调用漏洞资料库中已知的各种漏洞进行逐一检测,通过对探测响应数据包的分析判断是否存在漏洞。
[0003] 现有的网络漏洞扫描器主要是利用特征匹配的原理来识别各种已知的漏洞。扫描器发送含有某一漏洞特征探测码的数据包,根据返回数据包中是否含有该漏洞的响应特征码来判断是否存在漏洞。大多数的漏洞采用数据库技术,漏洞工具依赖的数据比较多,使用较大的数据库进行漏洞管理,资源占用率较大,漏洞的扫描效率和修复效率较低。

发明内容

[0004] 基于此,有必要针对上述技术问题,提供一种能够有效对业务系统中存在的漏洞进行扫描和修复的业务系统漏洞处理方法、装置、计算机设备和存储介质。
[0005] 一种业务系统漏洞处理方法,所述方法包括:
[0006] 根据终端发送的漏洞扫描指令获取预设的漏洞扫描插件,所述漏洞扫描插件包括多个漏洞类型的漏洞特征码;
[0007] 获取业务系统的模块列表数据,通过所述漏洞扫描插件对所述模块列表数据进行扫描,并将所述模块列表数据与所述漏洞特征码进行匹配分析,得到扫描结果;
[0008] 当所述扫描结果中存在待修复漏洞时,获取预设的漏洞修复分析模型,通过所述漏洞分析模型对所述扫描结果进行分析,得到所述待修复漏洞的目标修复方案;
[0009] 将所述目标修复方案推送至对应的终端,以接收所述终端根据所述目标修复方案发送的漏洞修复指令和修复包;
[0010] 根据所述漏洞修复指令获取预设的漏洞修复插件,通过所述漏洞修复插件根据所述修复包对所述待修复漏洞进行修复。
[0011] 在其中一个实施例中,所述模块列表数据包括多个业务模块的运行状态信息,所述通过所述漏洞扫描插件对所述模块列表数据进行扫描的步骤包括:对多个业务模块的运行状态信息进行遍历,并将所述运行状态信息与所述漏洞特征码进行匹配;当检测到存在与所述漏洞特征码相匹配的运行状态信息时,获取与所述运行状态信息相对应的漏洞特征码;对存在所述漏洞特征码的待修复漏洞进行定位,并获取对应的位置标识;根据所述漏洞特征码和位置标识生成对应的扫描结果。
[0012] 在其中一个实施例中,所述通过所述漏洞分析模型对所述扫描结果进行分析,得到所述待修复漏洞的目标修复方案的步骤包括:通过所述漏洞修复分析模型对待修复漏洞对应的运行状态信息进行分析,得到所述待修复漏洞的漏洞特征;根据所述漏洞特征对所述漏洞修复分析模型中的多个决策节点进行遍历;当遍历至目标决策节点时,根据所述目标决策节点获取所述待修复漏洞对应的目标修复方案。
[0013] 在其中一个实施例中,通过所述漏洞修复插件根据所述修复包对所述待修复漏洞进行修复的步骤包括:通过所述漏洞修复插件对所述修复包进行解析,得到所述修复包中的修复脚本代码和函数接口;获取所述待修复漏洞对应的代码标识,根据所述代码标识获取函数调用接口;将待修复漏洞对应的权重置为零,将所述待修复漏洞的函数调用接口修改为所述修复包的函数接口;将所述修复脚本代码存储至本地待修复漏洞对应的位置,并删除所述待修复漏洞的原始脚本代码。
[0014] 在其中一个实施例中,所述方法还包括:当所述待修复漏洞修复失败时,获取对应的修复过程信息;获取预设的漏洞修复检测模型,通过所述漏洞修复检测模型对所述修复过程信息进行分析,得到分析结果;将所述分析结果推送至所述终端,使得运维人员通过所述终端对所述修复包进行调整。
[0015] 一种业务系统漏洞处理装置,所述装置包括:
[0016] 漏洞扫描模块,用于根据终端发送的漏洞扫描指令获取预设的漏洞扫描插件,所述漏洞扫描插件包括多个漏洞类型的漏洞特征码;获取业务系统的模块列表数据,通过所述漏洞扫描插件对所述模块列表数据进行扫描,并将所述模块列表数据与所述漏洞特征码进行匹配分析,得到扫描结果;
[0017] 漏洞分析模块,用于当所述扫描结果中存在待修复漏洞时,获取预设的漏洞修复分析模型,通过所述漏洞分析模型对所述扫描结果进行分析,得到所述待修复漏洞的目标修复方案;
[0018] 数据推送模块,用于将所述目标修复方案推送至对应的终端,以接收所述终端根据所述目标修复方案发送的漏洞修复指令和修复包;
[0019] 漏洞修复模块,用于根据所述漏洞修复指令获取预设的漏洞修复插件,通过所述漏洞修复插件根据所述修复包对所述待修复漏洞进行修复。
[0020] 在其中一个实施例中,所述模块列表数据包括多个业务模块的运行状态信息,所述漏洞扫描模块还用于对多个业务模块的运行状态信息进行遍历,并所述运行状态信息与所述漏洞特征码进行匹配;当检测到存在与所述漏洞特征码相匹配的运行状态信息时,获取与所述运行状态信息相对应的漏洞特征码;对存在所述漏洞特征码的待修复漏洞进行定位,并获取对应的位置标识;根据所述漏洞特征码和位置标识生成对应的扫描结果。
[0021] 在其中一个实施例中,所述漏洞修复模块还用于通过所述漏洞修复插件对所述修复包进行解析,得到所述修复包中的修复脚本代码和函数接口;获取所述待修复漏洞对应的代码标识,根据所述代码标识获取函数调用接口;将待修复漏洞对应的权重置为零,将所述待修复漏洞的函数调用接口修改为所述修复包的函数接口;将所述修复脚本代码存储至本地待修复漏洞对应的位置,并删除所述待修复漏洞的原始脚本代码。
[0022] 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现本申请任意一个实施例中提供的业务系统漏洞处理方法的步骤。
[0023] 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请任意一个实施例中提供的业务系统漏洞处理方法的步骤。
[0024] 上述业务系统漏洞处理方法、装置、计算机设备和存储介质,服务器根据终端发送的漏洞扫描指令获取预设的漏洞扫描插件,并获取业务系统的模块列表数据,通过漏洞扫描插件对模块列表数据进行扫描,并将模块列表数据与漏洞特征码进行匹配分析,得到扫描结果,通过漏洞扫描插件进行漏洞扫描和分析,由此能够及时有效地扫描出业务系统中存在的漏洞。当扫描结果中存在待修复漏洞时,服务器获取预设的漏洞修复分析模型,通过漏洞分析模型对扫描结果进行分析,得到待修复漏洞的目标修复方案;将目标修复方案推送至对应的终端,通过漏洞修复分析模型分析得出该漏洞的目标修复方案后,可以有效使得相关工作人员通过终端根据目标修复方案研发出对应的修复包。服务器从而能够通过漏洞修复插件根据终端发送漏洞修复指令和修复包,对待修复漏洞进行有效地修复,从而能够有效地对业务系统中存在的漏洞进行修复。

附图说明

[0025] 图1为一个实施例中业务系统漏洞处理方法的应用场景图;
[0026] 图2为一个实施例中业务系统漏洞处理方法的流程示意图;
[0027] 图3为一个实施例中对漏洞进行扫描步骤的流程示意图;
[0028] 图4为一个实施例中对待修复漏洞进行修复步骤的流程示意图;
[0029] 图5为一个实施例中业务系统漏洞处理装置的结构框图;
[0030] 图6为一个实施例中计算机设备的内部结构图。

具体实施方式

[0031] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0032] 本申请提供的业务系统漏洞处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。其中,终端102可以是运维人员对应的终端,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以是业务系统对应的服务器,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
[0033] 在一个实施例中,如图2所示,提供了一种业务系统漏洞处理方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
[0034] 步骤202,根据终端发送的漏洞扫描指令获取预设的漏洞扫描插件,漏洞扫描插件包括多个漏洞类型的漏洞特征码。
[0035] 其中,业务系统可以是业务处理系统,可以是对业务处理过程进行针对性支持的信息系统,能够为某项工作的完成提供有力的工具支撑。业务系统中可以包括多个业务模块,每个模块包括对应的模块列表,模块列表中包括了业务模块的状态信息。其中,状态信息可以包括业务模块的运行状态信息、以及模块的描述信息等。
[0036] 业务系统在运行的过程中,可能会出现异常或漏洞,因此需要对业务系统进行漏洞扫描和修复。
[0037] 其中,漏洞可以是指业务系统中存在的弱点或缺陷,并且对业务系统存在一定威胁攻击或危险事件的可能性。漏洞可以包括但不限于来自系统设计时的缺陷或编码时产生的错误、来自业务在交互处理过程中的设计缺陷或逻辑流程上的不合理之处,以及来自外部攻击而产生缺陷或错误。漏洞扫描是指通过扫描等手段对业务系统的安全性进行检测,检测出业务系统中存在的漏洞。漏洞扫描插件可以是根据业务系统的运行逻辑等,预先配置的用于检测漏洞的插件程序。
[0038] 步骤204,获取业务系统的模块列表数据,通过漏洞扫描插件对模块列表数据进行扫描,并将模块列表数据与漏洞特征码进行匹配分析,得到扫描结果。
[0039] 服务器接收到指定发送的漏洞扫描指令后,根据漏洞扫描指令获取业务系统的模块列表数据,模块列表数据中包括多个业务模块的运行状态信息。服务器进而获取预设的漏洞扫描插件,通过漏洞扫描插件对模块列表数据进行扫描,扫描业务系统中多个模块列表数据中的运行状态信息,并将运行状态信息与漏洞插件中预置的漏洞特征码对应的漏洞描述信息进行匹配分析。
[0040] 当检测到存在与漏洞特征码相同的运行状态信息时,获取与运行状态信息相对应的漏洞特征码,并根据漏洞特征码生成对应的扫描结果。通过利用漏洞扫描插件对业务系统进行漏洞扫描,能够及时准确地检测到业务系统的基础架构存在的安全隐患,以保证业务顺利的开展,从而有效地保证了业务系统中信息资产的安全。
[0041] 步骤206,当扫描结果中存在待修复漏洞时,获取预设的漏洞修复分析模型,通过漏洞分析模型对扫描结果进行分析,得到待修复漏洞的目标修复方案。
[0042] 步骤208,将目标修复方案推送至对应的终端,以接收终端根据目标修复方案发送的漏洞修复指令和修复包。
[0043] 当扫描结果中存在待修复漏洞时,表示业务系统中存在漏洞,需要进行修复。其中,待修复漏洞包括对应的漏洞状态信息。具体地,服务器获取预设的漏洞修复分析模型,其中,漏洞修复分析模型可以是基于决策树的神经网络模型,漏洞修复分析模型中可以包括多个预置的漏洞决策节点。通过漏洞修复分析模型对漏洞状态信息进行分析,得到待修复漏洞的漏洞特征。根据待修复漏洞的漏洞特征对多个漏洞决策节点进行遍历,直到遍历至目标节点,则根据目标节点获取该待修复漏洞对应的目标修复方案。
[0044] 服务器通过漏洞修复分析模型得到目标修复方案后,则将目标修复方案推送至终端,以使得运维人员通过对应的终端利用目标修复方案研发出对应的修复包。
[0045] 步骤210,根据漏洞修复指令获取预设的漏洞修复插件,通过漏洞修复插件根据修复包对待修复漏洞进行修复。
[0046] 运维人员通过对应的终端得到修复包后,可以向服务器发送漏洞修复指令,以对待修复漏洞进行修复。具体地,服务器接收到终端发送的漏洞修复指令和修复包后,根据漏洞修复指令获取预设的漏洞修复插件,并通过漏洞修复插件根据修复包对待修复漏洞进行修复。
[0047] 具体地,服务器通过漏洞修复插件对修复包进行解析,得到修复包中的修复脚本代码和函数接口。获取待修复漏洞对应的代码标识,根据代码标识获取函数调用接口,将待修复漏洞对应的权重置为零,并将待修复漏洞的函数调用接口修改为该修复包的函数接口。服务器则将修复脚本代码存储至本地待修复漏洞对应的位置,并删除待修复漏洞的原始脚本代码,由此对待修复漏洞进行更新修复。通过漏洞扫描插件对业务系统中的多个模块列表数据进行扫描,能够快速有效地扫描出业务系统中存在的漏洞。当扫描出漏洞后,通过漏洞修复分析模型分析得出该漏洞的目标修复方案,以使得运维人员根据目标修复方案研发对应的修复包,并通过漏洞修复插件利用修复包对漏洞进行修复,从而能够有效地对漏洞进行修复。
[0048] 上述业务系统的漏洞修复方法中,服务器根据终端发送的获取预设的漏洞扫描插件,并获取业务系统的模块列表数据,通过漏洞扫描插件对模块列表数据进行扫描,并将模块列表数据与漏洞特征码进行匹配分析,得到扫描结果,通过漏洞扫描插件进行漏洞扫描和分析,由此能够及时有效地扫描出业务系统中存在的漏洞。当扫描结果中存在待修复漏洞时,服务器获取预设的漏洞修复分析模型,通过漏洞分析模型对扫描结果进行分析,得到待修复漏洞的目标修复方案;将目标修复方案推送至对应的终端,通过漏洞修复分析模型分析得出该漏洞的目标修复方案后,可以有效使得相关工作人员通过终端根据目标修复方案研发出对应的修复包。服务器从而能够通过漏洞修复插件根据终端发送漏洞修复指令和修复包,对待修复漏洞进行有效地修复,从而能够及时有效地对业务系统中存在的漏洞进行修复。
[0049] 在一个实施例中,如图3所示,通过漏洞扫描插件对模块列表数据进行扫描的步骤,具体包括以下内容:
[0050] 步骤302,对多个模块列表的运行状态信息进行遍历,并将运行状态信息与漏洞特征码进行匹配。
[0051] 步骤304,当检测到存在与漏洞特征码相匹配的运行状态信息时,获取与运行状态信息相对应的漏洞特征码。
[0052] 步骤306,对存在漏洞特征码的待修复漏洞进行定位,并获取对应的位置标识。
[0053] 步骤308,根据待修复漏洞的漏洞特征码和位置标识生成对应的扫描结果。
[0054] 其中,漏洞扫描插件中包括多个扫描类别以及预设组件,漏洞扫描插件中还包括多个业务系统对应的漏洞特征码。服务器接收到指定发送的漏洞扫描指令后,通过漏洞扫描插件对业务系统中的模块列表数据进行漏洞扫描,其中,模块列表数据中包括多个业务模块的运行状态信息。服务器进而获取预设的漏洞扫描插件,通过漏洞扫描插件对模块列表数据进行扫描,扫描业务系统中多个模块列表数据中的运行状态信息,并将运行状态信息与漏洞插件中预置的漏洞特征码对应的漏洞描述信息进行匹配分析。
[0055] 具体地,服务器对多个模块列表的运行状态信息进行遍历,并将运行状态信息与漏洞特征码进行匹配。当检测到存在与漏洞特征码相同的运行状态信息时,获取与运行状态信息相对应的漏洞特征码。对存在漏洞特征码的待修复漏洞进行定位,得到对应的位置标识,服务器则根据漏洞特征码和位置标识生成对应的扫描结果。通过利用漏洞扫描插件对业务系统进行漏洞扫描,能够及时准确地检测到业务系统的基础架构存在的安全隐患,以保证业务顺利的开展,从而有效地保证了业务系统中信息资产的安全。
[0056] 在一个实施例中,通过漏洞分析模型对扫描结果进行分析,得到待修复漏洞的目标修复方案的步骤包括:通过漏洞修复分析模型对待修复漏洞对应的运行状态信息进行分析,得到待修复漏洞的漏洞特征;根据漏洞特征对漏洞修复分析模型中的多个决策节点进行遍历;当遍历至目标决策节点时,根据目标决策节点获取待修复漏洞对应的目标修复方案。
[0057] 服务器在接收终端发送的漏洞扫描指令之前,还可以预先构建漏洞修复分析模型。例如,服务器可以获取大量的漏洞数据,并对大量的漏洞数据进行大数据分析。其中,漏洞数据可以包括漏洞和对应的解决方案信息。例如服务器对大量的漏洞数据进行特征提取,提取出对应的特征变量,进而采用聚类算法对特征变量进行聚类分析,服务器通过对特征变量进行多次聚类后得到多个聚类结果,服务器则提取出达到预设阈值特征变量和对应的属性信息。服务器可以获取预设的神经网络模型,进而利用提取出的特征变量和对应的属性信息按照预设方式构建出漏洞修复分析模型。
[0058] 服务器接收终端发送的漏洞扫描指令后,根据漏洞扫描指令获取预设的漏洞扫描插件,漏洞扫描插件包括多个漏洞类型的漏洞特征码。服务器则获取业务系统的模块列表数据,通过漏洞扫描插件对模块列表数据进行扫描,并将模块列表数据与漏洞特征码进行匹配分析,得到扫描结果,通过漏洞扫描插件能够有效地对业务系统中存在的漏洞进行扫描。
[0059] 当扫描结果中存在待修复漏洞时,表示业务系统中存在漏洞,需要进行修复。其中,待修复漏洞包括对应的漏洞状态信息。具体地,服务器获取预设的漏洞修复分析模型,其中,漏洞修复分析模型可以是基于决策树的神经网络模型,漏洞修复分析模型中可以包括多个预置的漏洞决策节点。通过漏洞修复分析模型对漏洞状态信息进行分析,得到待修复漏洞的漏洞特征。根据待修复漏洞的漏洞特征对多个漏洞决策节点进行遍历,直到遍历至目标节点,则根据目标节点获取该待修复漏洞对应的目标修复方案。通过漏洞修复分析模型对待修复漏洞进行分析,由此能够有效地得到该待修复漏洞的目标修复方案,进而能够有效提高漏洞的修复效率。
[0060] 服务器通过漏洞修复分析模型得到目标修复方案后,则将目标修复方案推送至终端,以使得运维人员通过对应的终端利用目标修复方案研发出对应的修复包。
[0061] 在一个实施例中,如图4所示,通过漏洞修复插件根据修复包对待修复漏洞进行修复的步骤,具体包括以下内容:
[0062] 步骤402,通过漏洞修复插件对修复包进行解析,得到修复包中的修复脚本代码和函数接口。
[0063] 步骤404,获取待修复漏洞对应的代码标识,根据代码标识获取函数调用接口。
[0064] 步骤406,将待修复漏洞对应的权重置为零,将待修复漏洞的函数调用接口修改为修复包的函数接口。
[0065] 步骤408,将修复脚本代码存储至本地待修复漏洞对应的位置,并删除待修复漏洞的原始脚本代码。
[0066] 服务器接收终端发送的漏洞扫描指令后,根据漏洞扫描指令获取预设的漏洞扫描插件,漏洞扫描插件包括多个漏洞类型的漏洞特征码。服务器则获取业务系统的模块列表数据,通过漏洞扫描插件对模块列表数据进行扫描,并将模块列表数据与漏洞特征码进行匹配分析,得到扫描结果。当扫描结果中存在待修复漏洞时,服务器获取预设的漏洞修复分析模型,通过漏洞分析模型对扫描结果进行分析,得到待修复漏洞的目标修复方案;将目标修复方案推送至对应的终端,使得运维人员通过终端根据目标修复方案开发对应的修复包。运维人员通过对应的终端得到修复包后,可以向服务器发送漏洞修复指令,以对待修复漏洞进行修复。
[0067] 服务器接收到终端发送的漏洞修复指令和修复包后,根据漏洞修复指令获取预设的漏洞修复插件,并通过漏洞修复插件根据修复包对待修复漏洞进行修复。具体地,服务器获取预设的漏洞修复插件,通过漏洞修复插件对修复包进行解析,并引用相关的类库,利用解析引擎解析得到修复包中的修复脚本代码和函数接口。获取待修复漏洞对应的代码标识,根据代码标识获取函数调用接口,将待修复漏洞对应的权重置为零,并将待修复漏洞的函数调用接口修改为该修复包的函数接口,以对待修复漏洞的函数接口进行替换。服务器则将修复脚本代码存储至本地待修复漏洞对应的位置,并删除待修复漏洞的原始脚本代码,服务器替换调用接口后,通过运行修复包中的脚本以替换掉原始待修复部分的代码,以对业务系统存在的漏洞进行修复。通过漏洞扫描插件对业务系统中的多个模块列表数据进行扫描,能够快速有效地扫描出业务系统中存在的漏洞。当扫描出漏洞后,通过漏洞修复分析模型分析得出该漏洞的目标修复方案,以使得运维人员根据目标修复方案研发对应的修复包,并通过漏洞修复插件利用修复包对漏洞进行修复,从而能够有效地对漏洞进行修复,并且效地提高了业务系统的漏洞修复效率。
[0068] 进一步的,服务器还可以调用一个负载均衡器,为该修复包分配一个新的进程并绑定一个新的侦听端口,同时将该修复包对应的原始待修复部分的权重置为零。当待修复部分对应的连接都断开后,则关掉旧进程,由此实现对修复包的更新。通过替换待修复部分的代码,使得在运行应用程序时新旧代码不会共存,由此能够有效提高漏洞修复的效率。
[0069] 在一个实施例中,该方法还包括:当待修复漏洞修复失败时,获取对应的修复过程信息;获取预设的漏洞修复检测模型,通过漏洞修复检测模型对修复过程信息进行分析,得到分析结果;将分析结果推送至终端,使得运维人员通过终端对修复包进行调整。
[0070] 服务器接收终端发送的漏洞扫描指令后,根据漏洞扫描指令获取预设的漏洞扫描插件,并获取业务系统的模块列表数据,通过漏洞扫描插件对模块列表数据进行扫描,并将模块列表数据与漏洞特征码进行匹配分析,得到扫描结果。当扫描结果中存在待修复漏洞时,服务器获取预设的漏洞修复分析模型,通过漏洞分析模型对扫描结果进行分析,得到待修复漏洞的目标修复方案,并将目标修复方案推送至对应的终端,使得运维人员通过终端根据目标修复方案开发对应的修复包。服务器接收终端发送漏洞修复指令和修复包,并通过预设的漏洞修复插件根据修复包对待修复漏洞进行修复。
[0071] 在服务器对待修复漏洞进行修复的过程中,当检测到待修复漏洞修复失败时,服务器获取对待修复漏洞进行修复的修复过程信息,并对对漏洞修复失败的原因进行分析。具体地,服务器可以获取预设的漏洞修复检测模型,其中,漏洞修复检测模型可以是基于决策树的模型,通过漏洞修复检测模型对修复过程信息进行分析。具体地,修复过程信息可以包括修复节点和对应的状态信息,服务器可以通过漏洞修复检测模型对修复过程信息中的每个修复节点和对应的状态信息进行分析,决策出修复失败的原因,并生成对应的分析结果。
[0072] 服务器通过漏洞分析检测模型得到对应的分析结果后,则将分析结果推送至运维人员对应终端。使得对应的运维终端根据分析结果对修复包进行改进和调整,以对待修复漏洞进行再次修复。进一步的,运维人员通过终端对修复包进行调整和改进后,得到更新修复包,将更新修复包发送至服务器,并发送漏洞修复指令。服务器接收到运维终端发送的漏洞修复指令和更新修复包后,通过漏洞修复插件根据该更新修复包再次对待修复漏洞进行修复,由此能够保证有效地漏洞进行修复。通过利用漏洞修复检测模型对修复过程信息进行分析,能够有效地分析出修复失败的原因,由此能够有利于进一步对漏洞进行修复,从而能够有效提高漏洞修复的效率。
[0073] 应该理解的是,虽然图2‑4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2‑4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0074] 在一个实施例中,如图5所示,提供了一种业务系统漏洞处理装置,包括:漏洞扫描模块502、漏洞分析模块504、数据推送模块506和漏洞修复模块508,其中:
[0075] 漏洞扫描模块502,用于根据终端发送的漏洞扫描指令获取预设的漏洞扫描插件,漏洞扫描插件包括多个漏洞类型的漏洞特征码;获取业务系统的模块列表数据,通过漏洞扫描插件对模块列表数据进行扫描,并将模块列表数据与漏洞特征码进行匹配分析,得到扫描结果;
[0076] 漏洞分析模块504,用于当扫描结果中存在待修复漏洞时,获取预设的漏洞修复分析模型,通过漏洞分析模型对扫描结果进行分析,得到待修复漏洞的目标修复方案;
[0077] 数据推送模块506,用于将目标修复方案推送至对应的终端,以接收终端根据目标修复方案发送的漏洞修复指令和修复包;
[0078] 漏洞修复模块508,用于根据漏洞修复指令获取预设的漏洞修复插件,通过漏洞修复插件根据修复包对待修复漏洞进行修复。
[0079] 在一个实施例中,模块列表数据包括多个业务模块的运行状态信息,漏洞扫描模块502还用于对多个业务模块的运行状态信息进行遍历,并将运行状态信息与漏洞特征码进行匹配;当检测到存在与漏洞特征码相匹配的运行状态信息时,获取与运行状态信息相对应的漏洞特征码;对存在漏洞特征码的待修复漏洞进行定位,并获取对应的位置标识;根据漏洞特征码和位置标识生成对应的扫描结果。
[0080] 在一个实施例中,漏洞分析模块504还用于通过漏洞修复分析模型对待修复漏洞对应的运行状态信息进行分析,得到待修复漏洞的漏洞特征;根据漏洞特征对漏洞修复分析模型中的多个决策节点进行遍历;当遍历至目标决策节点时,根据目标决策节点获取所述待修复漏洞对应的目标修复方案。
[0081] 在一个实施例中,漏洞修复模块508还用于通过漏洞修复插件对修复包进行解析,得到修复包中的修复脚本代码和函数接口;获取待修复漏洞对应的代码标识,根据代码标识获取函数调用接口;将待修复漏洞对应的权重置为零,将待修复漏洞的函数调用接口修改为修复包的函数接口;将修复脚本代码存储至本地待修复漏洞对应的位置,并删除待修复漏洞的原始脚本代码。
[0082] 在一个实施例中,该装置还包括漏洞修复检测模块,用于当待修复漏洞修复失败时,获取对应的修复过程信息;获取预设的漏洞修复检测模型,通过漏洞修复检测模型对修复过程信息进行分析,得到分析结果;将分析结果推送至终端,使得运维人员通过终端对修复包进行调整。
[0083] 关于业务系统漏洞处理装置的具体限定可以参见上文中对于业务系统漏洞处理方法的限定,在此不再赘述。上述业务系统漏洞处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0084] 在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储漏模块列表数据、运行状态信息、洞扫描插件以及漏洞修复插件等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现本申请任意一个实施例中提供的业务系统漏洞处理方法的步骤。
[0085] 本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0086] 在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请任意一个实施例中提供的业务系统漏洞处理方法的步骤。
[0087] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
[0088] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0089] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。