1.一种计算机云数据存储漏洞诊断方法,其特征在于,应用于云服务端,云服务端通过预设的API接口连接有租户端,包括:获取云服务提供商对应的所有云数据存储数据库的历史更新版本修复的缺陷;
根据每种云数据存储数据库的历史缺陷生成对应的漏洞诊断信息,得到漏洞信息库;
获取租户端发送的诊断请求信息,诊断请求信息包括租户标识和验证信息;
当验证通过后,基于预设的访问权限列表,根据诊断请求信息中的租户标识,得到租户标识对应的云数据存储地址,将云数据存储地址对应的云数据存储数据库确定为待诊断数据库,云数据存储地址与云数据存储数据库一一对应;
根据待诊断数据库的类型,在漏洞信息库中确定对应的脚本库,脚本库包括针对各种数据库类型存在的漏洞诊断语句和定义的漏洞匹配规则;
根据访问权限列表,远程登录到待诊断数据库,在待诊断数据库中依次执行对应的脚本库的漏洞诊断语句,得到执行结果;
根据对应的脚本库中定义的漏洞匹配规则判断执行结果是否符合漏洞条件,若是,则将执行结果标记为漏洞并将与执行结果相关的漏洞信息添加至漏洞诊断结果中。
2.如权利要求1所述的计算机云数据存储漏洞诊断方法,其特征在于,所述漏洞诊断信息包括漏洞名称、云数据存储数据库类型、威胁类型、诊断语句和匹配规则;所述每个云数据存储数据库设置有对应的访问权限列表,访问权限列表包括租户标识、与租户标识对应的云数据存储地址、与云数据存储地址对应的云数据存储数据库和连接参数。
3.如权利要求2所述的计算机云数据存储漏洞诊断方法,其特征在于,所述根据访问权限列表,远程登录到待诊断数据库,包括:根据访问权限列表中与租户标识对应的连接参数,对待诊断数据库进行远程登陆。
4.如权利要求1所述的计算机云数据存储漏洞诊断方法,其特征在于,所述租户标识与验证信息一一对应,验证信息包括预先与云服务提供商确定的API密钥。
5.如权利要求1所述的计算机云数据存储漏洞诊断方法,其特征在于,所述漏洞诊断结果设置为数据结构或数据库表,包括漏洞类型、威胁类型、发现时间、受影响的数据库实例。
6.如权利要求1所述的计算机云数据存储漏洞诊断方法,其特征在于,在所述诊断请求信息的验证信息通过后,为诊断请求信息生成一个唯一的任务ID,并生成一个与任务ID相关联的可视化窗口界面;所述漏洞诊断结果与任务ID相关联,漏洞诊断结果实时同步至对应的可视化窗口界面中。
7.如权利要求6所述的计算机云数据存储漏洞诊断方法,其特征在于,所述可视化窗口界面包括对应的任务ID、诊断状态、漏洞诊断结果;
在待诊断数据库中依次执行对应的脚本库的漏洞诊断语句时,当所有漏洞诊断语句执行完成时,诊断状态设置为“已完成”,否则,诊断状态设置为“正在诊断”;
云服务端还用以将任务ID传输至对应的租户端,租户端根据接收到的任务ID向云服务端发送查询请求,查询请求包括任务ID,云服务端根据接收到的查询请求将对应的可视化窗口界面返回至租户端。
8.如权利要求6所述的计算机云数据存储漏洞诊断方法,其特征在于,所述云服务端将接收到的诊断请求信息对应的任务ID按照先后顺序依次添加至任务队列中,云服务端还设置有任务调取器,任务调度器用以监控任务队列并根据预设的调度策略进行任务分配;
诊断请求信息还包括诊断目的,根据预先设置的诊断紧急程度表,获取每个诊断请求信息对应的紧急程度。
9.如权利要求8所述的计算机云数据存储漏洞诊断方法,其特征在于,所述根据预设的调度策略进行任务分配,包括:设置任务调度器的初始状态,包括调度周期、任务队列长度、工作节点列表以及对应的负载状态和最大并行数量;
按照接收到诊断请求信息的先后顺序依次将任务ID排列在任务队列中;
根据任务调度器的调度周期,检查并更新任务队列和工作节点列表中每个工作节点的负载状态;
根据任务ID对应的诊断请求信息,确定任务ID的优先级分值;
根据任务ID对应的优先级分值和工作节点的负载状态分值,得到任务ID与每个工作节点的匹配分值;
在正在执行的任务数量小于最大并行数量的工作节点中,选择将任务ID分配至与任务ID匹配分值最高的工作节点,同时更新工作节点的负载状态,并从任务队列中移除已分配的任务ID。
10.如权利要求1所述的计算机云数据存储漏洞诊断方法,其特征在于,所述根据对应的脚本库中定义的漏洞匹配规则判断执行结果是否符合漏洞条件,若是,则将执行结果标记为漏洞并将与执行结果相关的漏洞信息添加至漏洞诊断结果中,包括:根据对应的脚本库中定义的漏洞匹配规则,初次判断执行结果是否符合漏洞条件,若是,则对执行结果进行特征提取得到特征向量;
构建神经网络模型,将特征向量输入至已经训练完成的神经网络模型中,进行二次判断;
根据神经网络模型输出的概率分布向量,判断执行结果是否符合漏洞条件,若二次判断符合漏洞条件,则将对应的漏洞类型和与漏洞类型相关的信息添加至漏洞诊断结果中;
其中,利用已知的漏洞信息库中的数据形成训练数据集,并为其中的每个已知的漏洞类型随机分配一个唯一的标签向量,使用训练数据集和对应的标签向量训练神经网络模型;
其中,神经网络模型输出的概率分布向量表示输入的执行结果属于每个已知漏洞类型的概率值;若存在某个漏洞类型的概率值超过概率阈值,则判定输入的执行结果属于对应的漏洞类型,否则,初次被判断符合漏洞条件的执行结果二次判断失败。