本发明涉及计算机领域,尤其涉及一种计算机云数据存储漏洞诊断方法及系统。
背景技术:
1、计算机云数据漏洞诊断,主要是为了发现数据库中存在的已知风险。在现有技术中为检测数据库漏洞,通常是使用配置文件的方式,通过执行脚本文件进行远程获取权限、远程获取信息、远程执行命令、远程数据操作和拒绝服务攻击等检测方式。但是使用脚本文件远程发送指令并获取远程终端数据库程序配置文件的方式,会占用目标主机的配置文件,导致目标主机数据库程序在短时间内无法正常使用,检测速度较慢并且会影响软件安全正常地运行。
技术实现思路
1、本技术通过提供一种计算机云数据存储漏洞诊断方法及系统,避免了数据库服务中断的风险,实现不同租户间的相互隔离,提高了漏洞诊断的安全性和诊断效率。
2、本技术提供了一种计算机云数据存储漏洞诊断方法,应用于云服务端,云服务端通过预设的api接口连接有租户端,包括:
3、获取云服务提供商对应的所有云数据存储数据库的历史更新版本修复的缺陷;
4、根据每种云数据存储数据库的历史缺陷生成对应的漏洞诊断信息,得到漏洞信息库;
5、获取租户端发送的诊断请求信息,诊断请求信息包括租户标识和验证信息;
6、当验证通过后,基于预设的访问权限列表,根据诊断请求信息中的租户标识,得到租户标识对应的云数据存储地址,将云数据存储地址对应的云数据存储数据库确定为待诊断数据库,云数据存储地址与云数据存储数据库一一对应;
7、根据待诊断数据库的类型,在漏洞信息库中确定对应的脚本库,脚本库包括针对各种数据库类型存在的漏洞诊断语句和定义的漏洞匹配规则;
8、根据访问权限列表,远程登录到待诊断数据库,在待诊断数据库中依次执行对应的脚本库的漏洞诊断语句,得到执行结果;
9、根据对应的脚本库中定义的漏洞匹配规则判断执行结果是否符合漏洞条件,若是,则将执行结果标记为漏洞并将与执行结果相关的漏洞信息添加至漏洞诊断结果中。
10、优选地,所述漏洞诊断信息包括漏洞名称、云数据存储数据库类型、威胁类型、诊断语句和匹配规则;所述每个云数据存储数据库设置有对应的访问权限列表,访问权限列表包括租户标识、与租户标识对应的云数据存储地址、与云数据存储地址对应的云数据存储数据库和连接参数。
11、优选地,所述根据访问权限列表,远程登录到待诊断数据库,包括:
12、根据访问权限列表中与租户标识对应的连接参数,对待诊断数据库进行远程登陆。
13、优选地,所述租户标识与验证信息一一对应,验证信息包括预先与云服务提供商确定的api密钥。
14、优选地,所述漏洞诊断结果设置为数据结构或数据库表,包括漏洞类型、威胁类型、发现时间、受影响的数据库实例。
15、优选地,在所述诊断请求信息的验证信息通过后,为诊断请求信息生成一个唯一的任务id,并生成一个与任务id相关联的可视化窗口界面;所述漏洞诊断结果与任务id相关联,漏洞诊断结果实时同步至对应的可视化窗口界面中。
16、优选地,所述可视化窗口界面包括对应的任务id、诊断状态、漏洞诊断结果;
17、在待诊断数据库中依次执行对应的脚本库的漏洞诊断语句时,当所有漏洞诊断语句执行完成时,诊断状态设置为“已完成”,否则,诊断状态设置为“正在诊断”;
18、云服务端还用以将任务id传输至对应的租户端,租户端根据接收到的任务id向云服务端发送查询请求,查询请求包括任务id,云服务端根据接收到的查询请求将对应的可视化窗口界面返回至租户端。
19、优选地,所述云服务端将接收到的诊断请求信息对应的任务id按照先后顺序依次添加至任务队列中,云服务端还设置有任务调取器,任务调度器用以监控任务队列并根据预设的调度策略进行任务分配;
20、诊断请求信息还包括诊断目的,根据预先设置的诊断紧急程度表,获取每个诊断请求信息对应的紧急程度。
21、优选地,所述根据预设的调度策略进行任务分配,包括:
22、设置任务调度器的初始状态,包括调度周期、任务队列长度、工作节点列表以及对应的负载状态和最大并行数量;
23、按照接收到诊断请求信息的先后顺序依次将任务id排列在任务队列中;
24、根据任务调度器的调度周期,检查并更新任务队列和工作节点列表中每个工作节点的负载状态;
25、根据任务id对应的诊断请求信息,确定任务id的优先级分值;
26、根据任务id对应的优先级分值和工作节点的负载状态分值,得到任务id与每个工作节点的匹配分值;
27、在正在执行的任务数量小于最大并行数量的工作节点中,选择将任务id分配至与任务id匹配分值最高的工作节点,同时更新工作节点的负载状态,并从任务队列中移除已分配的任务id。
28、优选地,所述根据对应的脚本库中定义的漏洞匹配规则判断执行结果是否符合漏洞条件,若是,则将执行结果标记为漏洞并将与执行结果相关的漏洞信息添加至漏洞诊断结果中,包括:
29、根据对应的脚本库中定义的漏洞匹配规则,初次判断执行结果是否符合漏洞条件,若是,则对执行结果进行特征提取得到特征向量;
30、构建神经网络模型,将特征向量输入至已经训练完成的神经网络模型中,进行二次判断;
31、根据神经网络模型输出的概率分布向量,判断执行结果是否符合漏洞条件,若二次判断符合漏洞条件,则将对应的漏洞类型和与漏洞类型相关的信息添加至漏洞诊断结果中;
32、其中,利用已知的漏洞信息库中的数据形成训练数据集,并为其中的每个已知的漏洞类型随机分配一个唯一的标签向量,使用训练数据集和对应的标签向量训练神经网络模型;
33、其中,神经网络模型输出的概率分布向量表示输入的执行结果属于每个已知漏洞类型的概率值;若存在某个漏洞类型的概率值超过概率阈值,则判定输入的执行结果属于对应的漏洞类型,否则,初次被判断符合漏洞条件的执行结果二次判断失败。
34、本技术中提供的一个或多个技术方案,至少具有如下技术效果或优点:
35、通过连接参数进行远程登录至待诊断数据库,无需占用目标主机的配置文件,实现只通过目标主机连接接口的情况下执行诊断语句,避免了数据库服务中断的风险,提高诊断过程的速率和安全性;通过租户标识和云服务提供商定制的访问权限列表,能够准确定位至每个租户对应的云数据存储地址,并将云数据存储地址中的所有数据定义为待诊断数据库,确保不同租户之间的数据和操作的相互隔离,防止了数据混淆和未经授权的访问,提高了整体的数据安全性。
36、租户能够通过云服务端提供的可视化窗口界面实时追踪诊断任务的进度和状态,实现实时任务监控,提高了服务的透明度和即时性,提升了租户的体验和服务质量。
37、通过设置任务调度器,可以监控所有工作节点的负载状态,并根据负载情况动态分配诊断请求信息对应的任务id,确保了资源在各个工作节点之间的均衡利用,提高了整体的诊断效率;通过根据不同的诊断请求信息对应的诊断目的设置优先级分值,并结合工作节点的负载状态来计算匹配分值,高优先级的任务可以优先得到处理,确保了关键任务能够及时完成,提高了诊断的响应效率和可靠度。
1.一种计算机云数据存储漏洞诊断方法,其特征在于,应用于云服务端,云服务端通过预设的api接口连接有租户端,包括:
2.如权利要求1所述的计算机云数据存储漏洞诊断方法,其特征在于,所述漏洞诊断信息包括漏洞名称、云数据存储数据库类型、威胁类型、诊断语句和匹配规则;所述每个云数据存储数据库设置有对应的访问权限列表,访问权限列表包括租户标识、与租户标识对应的云数据存储地址、与云数据存储地址对应的云数据存储数据库和连接参数。
3.如权利要求2所述的计算机云数据存储漏洞诊断方法,其特征在于,所述根据访问权限列表,远程登录到待诊断数据库,包括:
4.如权利要求1所述的计算机云数据存储漏洞诊断方法,其特征在于,所述租户标识与验证信息一一对应,验证信息包括预先与云服务提供商确定的api密钥。
5.如权利要求1所述的计算机云数据存储漏洞诊断方法,其特征在于,所述漏洞诊断结果设置为数据结构或数据库表,包括漏洞类型、威胁类型、发现时间、受影响的数据库实例。
6.如权利要求1所述的计算机云数据存储漏洞诊断方法,其特征在于,在所述诊断请求信息的验证信息通过后,为诊断请求信息生成一个唯一的任务id,并生成一个与任务id相关联的可视化窗口界面;所述漏洞诊断结果与任务id相关联,漏洞诊断结果实时同步至对应的可视化窗口界面中。
7.如权利要求6所述的计算机云数据存储漏洞诊断方法,其特征在于,所述可视化窗口界面包括对应的任务id、诊断状态、漏洞诊断结果;
8.如权利要求6所述的计算机云数据存储漏洞诊断方法,其特征在于,所述云服务端将接收到的诊断请求信息对应的任务id按照先后顺序依次添加至任务队列中,云服务端还设置有任务调取器,任务调度器用以监控任务队列并根据预设的调度策略进行任务分配;
9.如权利要求8所述的计算机云数据存储漏洞诊断方法,其特征在于,所述根据预设的调度策略进行任务分配,包括:
10.如权利要求1所述的计算机云数据存储漏洞诊断方法,其特征在于,所述根据对应的脚本库中定义的漏洞匹配规则判断执行结果是否符合漏洞条件,若是,则将执行结果标记为漏洞并将与执行结果相关的漏洞信息添加至漏洞诊断结果中,包括:
