一种基于图数据库的组件依赖关系分析方法及系统技术方案

技术编号:34270321 阅读:17 留言:0更新日期:2022-07-24 15:52
本发明专利技术提供的基于图数据库的组件依赖关系分析方法及系统,方法包括:获取目标对象的多个服务文件;分别提取每个服务文件中的多个组件;对目标对象进行漏洞检测,以得到目标对象的漏洞;构建图数据库中的图模型,并将组件和漏洞导入至图数据库中;接收包含已知漏洞的查询指令,根据查询指令查询图数据库,以得到查询结果。该方法引入了图的概念进行组件管理,结合多种组件和组件依赖发现和丰富技术,有效地解决组件资产和组件资产依赖链安全问题难以发现、管理和分析的问题。管理和分析的问题。管理和分析的问题。

A method and system of component dependency analysis based on graph database

【技术实现步骤摘要】
一种基于图数据库的组件依赖关系分析方法及系统


[0001]本专利技术属于网络信息安全
,具体涉及一种基于图数据库的组件依赖关系分析方法及系统。

技术介绍

[0002]组件主要是指能够完成某些功能服务并且能以某种形式(提供接口或者提供运行环境等形式)对外提供功能服务的对象实体,常见的表现形式有库、包、web服务器、框架和应用程序等。现如今的任何一种网络服务和应用都可以理解为由多个具有不同基础功能的组件通过一种或多种关联关系组建而成的一个功能更强大的组件集合。这种组件概念的推广,大大方便了各种网络服务和应用的开发,开发人员不需要重复去开发基础功能的组件,只需要把别人开发好的基础功能组件、运行环境组件等以某种结构或代码拼在一起就能组成自己需要的网络服务。甚至开发人员都不需要去担心这些结构组件的维护问题,只需要定时更新替换新版本的结构组件即可。
[0003]但是随着网络服务的逐渐复杂,面临的安全问题也越来越复杂。假如某个组件出现了安全问题,可能看似和自己构建的网络服务毫无关联,但可能它就存在自己所引用的功能组件或者环境组件所引用的子组件中,间接地,自己的网络服务也存在安全问题。一方面,这种组件依赖结构往往是非常复杂的,存在几层,几十层,甚至是循环依赖;另一方面,开发人员对第三方功能组件和环境组件的引用是不可避免的,甚至是有很大需求的。结合这两方面,可以肯定目前这类由单个组件安全问题引发的组件依赖链的安全问题是普遍存在且难以发现的。目前的漏扫技术也没有很好方法对这些组件依赖链的安全问题进行很好的发现和管理。/>
技术实现思路

[0004]针对现有技术中的缺陷,本专利技术提供一种基于图数据库的组件依赖关系分析方法及系统,解决现有技术存在的组件资产和组件资产依赖链安全问题难以发现、管理和分析的问题。
[0005]第一方面,一种基于图数据库的组件依赖关系分析方法,包括:
[0006]获取目标对象的多个服务文件;
[0007]分别提取每个服务文件中的多个组件;
[0008]对目标对象进行漏洞检测,以得到目标对象的漏洞;
[0009]构建图数据库中的图模型,并将组件和漏洞导入至图数据库中;
[0010]接收包含已知漏洞的查询指令,根据查询指令查询图数据库,以得到查询结果。
[0011]进一步地,服务文件包括网络服务文件和/或应用程序文件。
[0012]进一步地,图模型中的节点包括组件、主机、端口、漏洞和提供者;其中组件和组件之间存在依赖和被依赖的关系,组件和漏洞之间存在危害和被危害的关系,组件和主机之间存在运行和被运行的关系,组件和端口之间存在占用和被占用的关系、主机和端口之间
存在开放和被开放的关系,组件和提供者之间存在开发和被开发的关系。
[0013]进一步地,组件依赖关系分析方法在将组件和漏洞导入至图数据库之后,还包括:
[0014]获取官方漏洞数据库中的漏洞,并将漏洞导入至图数据库。
[0015]进一步地,当查询指令包括用于查询组件的第一查询指令时,图数据库的查询方法包括:
[0016]查询已知漏洞危害的组件,以得到第一组件;
[0017]查询第一组件被依赖的组件,以得到第二组件;
[0018]查询结果包括第一组件和第二组件。
[0019]进一步地,当查询指令包括用于查询主机和端口的第二查询指令时,图数据库的查询方法包括:
[0020]查询已知漏洞危害的组件,以得到第三组件;
[0021]查询第三组件被依赖的组件,以得到第四组件;
[0022]分别查询第三组件和第四组件被运行的主机,以得到第一主机;
[0023]分别查询第三组件和第四组件占用的端口,以得到第一端口;
[0024]查询第一端口被开放的主机,以得到第二主机;
[0025]查询结果包括第一主机、第一端口和第二主机。
[0026]进一步地,当查询指令包括用于查询提供者的第三查询指令时,图数据库的查询方法包括:
[0027]查询已知漏洞危害的组件,以得到第五组件;
[0028]查询第五组件被开发的提供者,以得到第一提供者;
[0029]查询第一提供者开发的组件,以得到第六组件;
[0030]查询结果包括第一提供者和第六组件。
[0031]进一步地,组件依赖关系分析方法在得到查询结果之后,还包括:
[0032]通过可视化界面显示查询结果中的节点、以及各节点之间的关系。
[0033]第二方面,一种基于图数据库的组件依赖关系分析系统,包括:
[0034]入侵检测模块:用于获取目标对象的多个服务文件;
[0035]组件分析模块:用于分别提取每个服务文件中的多个组件;
[0036]漏洞检测模块:用于对目标对象进行漏洞检测,以得到目标对象的漏洞;
[0037]图数据库模块:用于构建图数据库中的图模型,并将组件和漏洞导入至图数据库中;
[0038]查询模块:用于接收包含已知漏洞的查询指令,根据查询指令查询图数据库,以得到查询结果。
[0039]进一步地,还包括:
[0040]可视化模块:用于通过可视化界面显示查询结果。
[0041]由上述技术方案可知,本专利技术提供的基于图数据库的组件依赖关系分析方法及系统,能够快速发现网络服务和应用,再对发现的网络服务和应用进行成分分析,提取出组件及组件的依赖关系,将所有发现的网络服务和应用录入图数据库中建立索引,最后利用图数据库对外提供组件依赖链查询和组件安全漏洞影响链查询等功能。引入了图的概念进行组件管理,结合多种组件和组件依赖发现和丰富技术,有效地解决组件资产和组件资产依
赖链安全问题难以发现、管理和分析的问题。
附图说明
[0042]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
[0043]图1为实施例提供的组件依赖关系分析方法的流程图。
[0044]图2为实施例提供的图模型的示意图。
[0045]图3为实施例提供的官方漏洞数据库中漏洞录入图数据库的示意图。
[0046]图4为实施例提供的组件查询的逻辑示意图。
[0047]图5为实施例提供的主机和端口查询的逻辑示意图。
[0048]图6为实施例提供的提供者查询的逻辑示意图。
[0049]图7为实施例提供的组件依赖关系分析系统的模块框图。
具体实施方式
[0050]下面将结合附图对本专利技术技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本专利技术的技术方案,因此只作为示例,而不能以此来限制本专利技术的保护范围。需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本专利技术所属领域技术人员所理解的通常意义。
[0051本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于图数据库的组件依赖关系分析方法,其特征在于,包括:获取目标对象的多个服务文件;分别提取每个所述服务文件中的多个组件;对所述目标对象进行漏洞检测,以得到所述目标对象的漏洞;构建图数据库中的图模型,并将所述组件和所述漏洞导入至图数据库中;接收包含已知漏洞的查询指令,根据所述查询指令查询所述图数据库,以得到查询结果。2.根据权利要求1所述基于图数据库的组件依赖关系分析方法,其特征在于,所述服务文件包括网络服务文件和/或应用程序文件。3.根据权利要求1所述基于图数据库的组件依赖关系分析方法,其特征在于,所述图模型中的节点包括组件、主机、端口、漏洞和提供者;其中组件和组件之间存在依赖和被依赖的关系,组件和漏洞之间存在危害和被危害的关系,组件和主机之间存在运行和被运行的关系,组件和端口之间存在占用和被占用的关系、主机和端口之间存在开放和被开放的关系,组件和提供者之间存在开发和被开发的关系。4.根据权利要求1所述基于图数据库的组件依赖关系分析方法,其特征在于,所述组件依赖关系分析方法在将所述组件和所述漏洞导入至图数据库之后,还包括:获取官方漏洞数据库中的漏洞,并将所述漏洞导入至所述图数据库。5.根据权利要求3所述基于图数据库的组件依赖关系分析方法,其特征在于,当所述查询指令包括用于查询组件的第一查询指令时,所述图数据库的查询方法包括:查询所述已知漏洞危害的组件,以得到第一组件;查询所述第一组件被依赖的组件,以得到第二组件;所述查询结果包括所述第一组件和所述第二组件。6.根据权利要求3所述基于图数据库的组件依赖关系分析方法,其特征在于,当所述查询指令包括用于查询主机和端口的第二查询指令时,所述图数据库...

【专利技术属性】
技术研发人员:黄国忠袁帅蓝朝贤
申请(专利权)人:深圳市魔方安全科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1