一种基于云服务系统的数据库漏洞检测方法及云服务系统与流程

摘要: 本技术涉及安全,尤其涉及一种基于云服务系统的数据库漏洞检测方法及云服务系统。背景技术:1、数据库漏洞是指由于软件设计缺陷、配置不当或操作失误等原因导致数据库系统...
一种基于云服务系统的数据库漏洞检测方法及云服务系统与流程

本技术涉及安全,尤其涉及一种基于云服务系统的数据库漏洞检测方法及云服务系统。

背景技术:

1、数据库漏洞是指由于软件设计缺陷、配置不当或操作失误等原因导致数据库系统的安全性受到威胁的情况。攻击者可以利用这些漏洞非法访问、篡改、窃取或破坏数据库中的敏感数据,从而给用户造成损害。

2、当前学术界和业界围绕诸如sql注入漏洞、数据库停止服务等数据库漏洞提出了一系列检测方案。例如,使用数据库模糊测试工具生成大量语法语义正确的sql语句作为数据库输入,以量为优势触发数据库隐藏漏洞,或者使用sqlmap、owasp zap、acunetix等工具,以提供多种攻击方式(如sql注入、跨站脚本攻击)来探测数据库存在的漏洞。通常,这些检测方案可以结合使用,从而基于漏洞库识别出数据库漏洞。

3、但是,一方面由于这些检测方案发起的探测查询或攻击载荷有限,且多只能识别漏洞库中记录的漏洞,所以使得发现漏洞具有偶然性和局限性。另一方面,由于数据库管理员提供足够的权限时才能达成数据库完整扫描,所以这些检测方案的实现还具有较大的约束性。此外,这些检测方案实际大都是针对数据库逻辑错误(如上述sql注入漏洞、数据库停止服务)问题方面的数据库漏洞,忽视了其他方面的数据库漏洞检测,无法满足市场的多样化需求。

技术实现思路

1、本技术实施例提供了一种基于云服务系统的数据库漏洞检测方法、云服务系统、计算设备、计算设备集群、计算机存储介质及计算机程序产品,能够识别数据库的权限缺陷,从而丰富数据库漏洞检测维度,并提高数据库漏洞检测的灵活性和适应性。

2、第一方面,本技术实施例提供一种基于云服务系统的数据库漏洞检测方法,云服务系统包括提供云服务的基础设施以及管理基础设施的云管理平台,基础设施包括云实例,方法包括:云管理平台获取对数据库的权限配置数据,权限配置数据用于指示为待配置用户操作云资源分配的角色和分配的权限;云管理平台将权限配置数据发送至云实例;云实例将权限配置数据映射至知识图谱,得到映射后的知识图谱,其中,映射后的知识图谱包括多个节点和连接多个节点的至少一条边,每个节点用于表征数据库包括的实体,实体包括数据库中的用户、角色、权限和云资源,每条边用于表征实体之间的关系,用户包括待配置用户;云实例根据映射后的知识图谱,推断权限配置数据配置到数据库后引发

3、在本实施例中,租户可以通过云管理平台提供的访问接口,对数据库实例进行权限管理,如创建用户并为其操作云资源分配角色和权限,或修改用户的权限等。在此过程中,云管理平台还可以将接收到的权限配置数据发送到云实例上,接着云实例据此更新表征数据库实例的权限配置情况的知识图谱。云实例基于完成数据映射后的知识图谱中节点与边的拓扑结构以及语义依赖性,推断数据库实例存在的权限风险。这样,不必全面扫描数据库,云实例就可以基于知识图谱掌握数据库的动态权限配置变化,完成权限风险检测,适应性强,灵活性高。较之于相关技术,可以从权限风险维度丰富数据库漏洞检测,利于满足市场多样化需求。

4、在一些可能的实现方式中,云实例将权限配置数据映射至知识图谱,得到映射后的知识图谱,包括:云实例将权限配置数据转换为多个三元组信息,多个三元组信息用于记录任意两个待配置实体的关系,待配置实体包括待配置用户、待配置用户操作的云资源、分配的角色和分配的权限;云实例将多个三元组信息中的待配置实体,映射至知识图谱中的现存节点或新增节点,并通过对应的边连接,得到映射后的知识图谱,其中,对应的边通过方向或附加属性表征待配置实体之间的关系属性。

5、这样,通过三元组信息将权限配置数据映射到知识图谱中,将动态、复杂的权限管理转换为易于实现的图结构,利用准确、完整的梳理和展示数据库的权限配置情况。由此,即使面对高复杂度的数据库系统,如跨租户的数据库系统、分布式数据库环境等等,也可以通过图结构的直观展示和分析推断,大大降低权限交叉或资源暴露的风险。

6、一些可能的实现方式中,映射后的知识图谱包括以下至少一项:用于表征待配置用户的目标用户节点、用于表征分配的角色的目标角色节点、用于表征分配的权限的目标权限节点、以及用于表征待配置用户操作的云资源的目标资源节点;云实例根据映射后的知识图谱,推断权限配置数据配置到数据库后引发的权限漏洞,包括:云实例从映射后的知识图谱中,遍历目标用户节点至目标资源节点覆盖的至少一条继承路径,其中,至少一条继承路径包括目标角色节点关联目标权限节点形成的角色继承路径和或权限继承路径;云实例将至少一条继承路径与预设的继承规则匹配,得到匹配结果,继承规则用于定义安全合规路径遵循的继承规范;云实例根据匹配结果,生成检测结果,检测结果用于描述以下至少一项:是否引发权限漏洞,和引发的权限漏洞类型。

7、这样,从角色继承和权限继承等多个方面分析用户访问到资源覆盖的继承路径,从而更为全面的推断数据库权限配置中因角色继承和权限继承导致的权限风险,提高数据库安全保障。

8、在一些可能的实现方式中,云实例将多条至少一条继承路径与预设的继承规则匹配,得到匹配结果,包括:云实例确定多条至少一条继承路径表示目标用户节点通过目标角色节点的角色继承路径间接关联目标权限节点,且目标用户节点与目标权限节点之间不具有直接的授予关系;云实例将至少一条继承路径与预设的继承规则匹配,确定匹配结果为至少一条继承路径命中继承规则中的第一规则,其中,第一规则用于描述第一风险继承路径,第一风险继承路径用于表示用户通过角色继承间接获得预设的敏感权限,且敏感权限超出用户被分配的角色直接具有的权限范围;云实例根据匹配结果,生成检测结果,包括:云实例根据匹配结果,生成检测结果,检测结果用于指示引发的漏洞类型为越权漏洞。

9、这样,通过对知识图谱的角色继承路径分析,检测数据库权限配置过程中引发的越权漏洞,提高了检测效率且易于实现。

10、在一些可能的实现方式中,云实例将多条至少一条继承路径与预设的继承规则匹配,得到匹配结果,包括:云实例确定多条至少一条继承路径分别将目标角色节点直接或间接关联至不同的目标权限节点,目标角色节点具有职责范围属性;云实例将多条至少一条继承路径与预设的继承规则匹配,确定匹配结果为至少一条继承路径命中继承规则中的第二规则,第二规则用于描述第二风险继承路径,第二风险继承路径用于表示用户通过角色直接或间接获得预设的敏感权限,且敏感权限超出该用户被分配的角色履行职责所需的权限范围;云实例根据匹配结果,生成检测结果,包括:云实例根据匹配结果,生成检测结果,检测结果用于指示引发的漏洞类型为权限滥用漏洞。

11、这样,通过对知识图谱的角色继承路径分析,检测数据库权限配置过程中引发的权限滥用漏洞,提高了检测效率且易于实现。

12、在一些可能的实现方式中,云实例将多条至少一条继承路径与预设的继承规则匹配,得到匹配结果,包括:云实例计算每条继承路径的深度;云实例将每条继承路径的深度与继承规则定义的深度阈值进行比较,生成匹配结果;云实例根据匹配结果,生成检测结果,包括:云实例在匹配结果表示目标继承路径的深度超过大于或等于深度阈值的情况下,生成检测结果,检测结果用于指示目标继承路径的深度存在缺陷。

13、这样,通过对知识图谱的继承路径深度审计,检测数据库权限配置过程中引发的路径深度缺陷。此外本示例还可以将复杂的权限缺陷检测结果以图形化和表格化的方式直观呈现,便于用户快速理解和修复权限问题,降低管理人员的使用门槛,提高使用体验。

14、在一些可能的实现方式中,云实例将多条至少一条继承路径与预设的继承规则匹配,得到匹配结果,包括:云实例确定多至少一条继承路径分别将目标角色节点关联至多个目标权限节点;云实例对多个目标权限节点中的任意两个目标权限节点进行分组,得到至少一个节点对;云实例将至少一个节点对与继承规则中定义的互斥权限对匹配,得到匹配结果;云实例根据匹配结果,生成检测结果,包括:云实例在匹配结果包括目标节点对命中互斥权限对的情况下,生成检测结果,检测结果用于指示目标节点对对应的继承路径存在权限冲突漏洞。

15、这样,利用知识图谱对权限关系进行高效存储和查询,在大规模权限数据分析场景下也能快速分析和实时检测出数据库权限配置过程中引发的权限冲突漏洞,适用于诸如分布式数据库系统等权限管理复杂的系统,适应性高。

16、在一些可能的实现方式中,映射后的知识图谱中包括用于表征待配置用户的目标用户节点,和用于表征分配的权限的目标权限节点;云实例根据映射后的知识图谱,推断权限配置数据配置到数据库后引发的权限漏洞,包括:云实例从映射后的知识图谱中,遍历目标用户节点至目标权限节点覆盖的授权路径;云实例根据授权路径的条数、每条授权路径的跳数和每条授权路径包括的节点,确定权限配置数据配置到数据库后是否引发权限冗余漏洞。

17、这样,从知识图谱中通过路径分析找出权限冗余路径,减少人工对路径分析的难度,利于提高漏洞修复效率。

18、在一些可能的实现方式中,映射后的知识图谱中包括用于表征待配置用户的目标用户节点,以及用于表征待配置用户所操作的云资源的目标资源节点;云实例根据映射后的知识图谱,推断权限配置数据配置到数据库后引发的权限漏洞,包括:云实例从映射后的知识图谱中,遍历目标用户节点至目标资源节点覆盖的访问路径;云实例将访问路径与预设的合法访问路径匹配,得到匹配结果;云实例在访问路径有效且匹配结果表示访问路径不符合合法访问路径的情况下,确定权限配置数据配置到数据库后存在隐蔽风险路径漏洞。

19、这样,通过对访问路径全面分析,可以找出隐蔽的风险路径,提高权限风险检测的可靠性。

20、第二方面,本技术实施例提供了一种云服务系统,云服务系统包括提供云服务的基础设施以及管理所述基础设施的云管理平台,基础设施包括云实例,其中:

21、云管理平台,用于获取对数据库的权限配置数据,权限配置数据用于指示为待配置用户操作云资源分配的角色和分配的权限;云管理平台,还用于将获取的权限配置数据发送至云实例;云实例,用于将权限配置数据映射至知识图谱,得到映射后的知识图谱,其中,映射后的知识图谱包括多个节点和连接多个节点的至少一条边,每个节点用于表征数据库包括的实体,实体包括数据库中的用户、角色、权限和云资源,每条边用于表征实体之间的关系,用户包括待配置用户;云实例,还用于根据映射后的知识图谱,推断权限配置数据配置到数据库后引发的权限漏

22、在一些可能的实现方式中,云实例,用于:将权限配置数据转换为多个三元组信息,多个三元组信息用于记录任意两个待配置实体的关系,待配置实体包括待配置用户、待配置用户操作的云资源、分配的角色和分配的权限;将多个三元组信息中的待配置实体,映射至知识图谱中的现存节点或新增节点,并通过对应的边连接,得到映射后的知识图谱,其中,对应的边通过方向或附加属性表征待配置实体之间的关系属性对应的边通过方向或附加属性表征待配置实体之间的关系属性。

23、在一些可能的实现方式中,映射后的知识图谱包括以下至少一项:用于表征待配置用户的目标用户节点、用于表征分配的角色的目标角色节点、用于表征分配的权限的目标权限节点、以及用于表征待配置用户操作的云资源的目标资源节点;云实例,用于:从映射后的知识图谱中,遍历目标用户节点至目标资源节点覆盖的多至少一条继承路径,其中,至少一条继承路径包括目标角色节点关联目标权限节点形成的角色继承路径和或权限继承路径;将至少一条继承路径与预设的继承规则匹配,得到匹配结果,继承规则用于定义安全合规路径所遵循的继承规范;根据匹配结果,生成检测结果,检测结果用于描述以下至少一项:是否引发权限漏洞,和引发的权限漏洞类型。

24、在一些可能的实现方式中,云实例,用于:确定至少一条继承路径表示目标用户节点通过目标角色节点的角色继承路径间接关联目标权限节点,且目标用户节点与目标权限节点之间不具有直接的授予关系;将至少一条继承路径与预设的继承规则匹配,确定匹配结果为至少一条继承路径命中继承规则中的第一规则,其中,第一规则用于描述第一风险继承路径,第一风险继承路径用于表示用户通过角色继承间接获得预设的敏感权限,且敏感权限超出用户被分配的角色直接具有的权限范围;根据匹配结果,生成检测结果,检测结果用于指示引发的漏洞类型为越权漏洞。

25、在一些可能的实现方式中,云实例,用于:确定至少一条多条继承路径分别将目标角色节点直接或间接关联至不同的目标权限节点,目标角色节点具有职责范围属性;将至少一条多条继承路径与预设的继承规则匹配,确定匹配结果为至少一条继承路径命中继承规则中的第二规则,第二规则用于描述第二风险继承路径,第二风险继承路径用于表示用户通过角色直接或间接获得预设的敏感权限,且敏感权限超出该用户被分配的角色履行职责所需的权限范围;根据匹配结果,生成检测结果,检测结果用于指示引发的漏洞类型为权限滥用漏洞。

26、在一些可能的实现方式中,云实例,用于:计算每条继承路径的深度;将每条继承路径的深度与继承规则定义的深度阈值进行比较,生成匹配结果;在匹配结果表示目标继承路径的深度超过深度阈值的情况下,生成检测结果,检测结果用于指示目标继承路径的深度存在缺陷。

27、在一些可能的实现方式中,检测模块用于:确定多至少一条继承路径分别将目标角色节点关联至多个目标权限节点;将对多个目标权限节点中的任意两个目标权限节点进行分组,得到至少一个节点对;将至少一个节点对与继承规则中定义的互斥权限对匹配,得到匹配结果;在匹配结果包括目标节点对命中互斥权限对的情况下,生成检测结果,检测结果用于指示目标节点对对应的继承路径存在权限冲突漏洞。

28、在一些可能的实现方式中,映射后的知识图谱中包括用于表征待配置用户的目标用户节点,和用于表征分配的权限的目标权限节点;云实例,用于:从映射后的知识图谱中,遍历目标用户节点至目标权限节点覆盖的授权路径;根据授权路径的条数,以及、每条授权路径的跳数和每条授权路径包括的节点,确定权限配置数据配置到数据库后是否引发权限冗余漏洞。

29、在一些可能的实现方式中,映射后的知识图谱中包括用于表征待配置用户的目标用户节点,以及用于表征待配置用户所操作的资源的目标资源节点;云实例,用于:从映射后的知识图谱中,遍历目标用户节点至目标资源节点所覆盖的访问路径;将访问路径与预设的合法访问路径匹配,得到匹配结果;在访问路径有效且匹配结果表示访问路径不符合合法访问路径的情况下,确定权限配置数据配置到数据库后存在隐蔽风险路径漏洞。

30、第三方面,本技术实施例提供一种电子设备,包括:至少一个存储器,用于存储程序;至少一个处理器,用于执行存储器存储的程序;其中,当存储器存储的程序被执行时,处理器用于执行第一方面或第一方面的任一种可能的实现方式所描述的方法。

31、第四方面,本技术实施例提供了一种计算设备集群,包括至少一个计算设备,每个计算设备包括处理器和存储器;至少一个计算设备的处理器用于执行第一方面或第一方面的任一种可能的实现方式所描述的方法。

32、第五方面,本技术实施例提供了一种包含指令的计算机程序产品,其特征在于,当指令被计算设备集群运行时,使得计算设备集群执行第一方面或第一方面的任一种可能的实现方式所描述的方法。

33、第六方面,本技术实施例提供了一种计算机可读存储介质,其特征在于,包括计算机程序指令,当计算机程序指令由计算设备集群执行时,计算设备集群执行第一方面或第一方面的任一种可能的实现方式所描述的方法。

34、可以理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。