基于分层检测的容器镜像软件组成分析系统与方法与流程

文档序号:36627936发布日期:2024-01-06 23:19阅读:19来源:国知局
基于分层检测的容器镜像软件组成分析系统与方法与流程

本发明涉及容器检测,特别涉及一种基于分层检测的容器镜像软件组成分析系统、方法、电子设备和介质。


背景技术:

1、虚拟化容器技术可以快速的完成开发环境或运行环境的封装打包,对各种计算机编码环境进行简单方便的复制,真正做到了环境的开箱即用。随着软件开发架构的演变,容器技术凭借其轻量、敏捷、易扩展的特性以及强大的社区支持,成为了时下devops、微服务等领域中的重要支持技术,得到越来越广泛地关注、研究和应用。比如,docker虚拟化容器技术作为其中的代表,是目前较为流行的虚拟化容器之一。以开源社区docker hub为例,用户可以在这个社区中便捷的找到自己想要的容器镜像,开发者也可以上传自己制作的容器镜像提供给其他用户使用。然而,用户虽然能够使用容器镜像,却不能非常方便地获知容器镜像中软件的组成成分。当容器镜像的开发者使用了存在安全隐患的软件或者未及时更新软件版本时,用户就需要自行应对。因此,获取容器镜像中的软件成分,以提高在使用容器镜像时的安全性就变得十分必要。然而,传统的软件成分分析并不适用于容器镜像中的软件,这是因为传统的软件成分分析方式是基于一个完整的文件系统,而对于容器镜像来说,想要构造出完整的文件系统就需要运行一个容器实例,这不仅耗费资源,而且运行效率低下;另外,传统的软件成分分析也无法有效的统计容器镜像中软件的历史变化情况。

2、因此,如何更高效、更准确地获取容器镜像的软件成分,日益成为本领域技术人员亟待解决的技术问题之一。

3、需要说明的是,公开于该发明背景技术部分的信息仅仅旨在加深对本发明一般背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。


技术实现思路

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、为了实现上述目的,本发明还提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现上述任一项所述的容器镜像软件组成分析方法。

35、为了实现上述目的,本发明还提供了一种可读存储介质,所述可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现上述任一项所述的容器镜像软件组成分析方法。

36、与现有技术相比,本发明提供的基于分层检测的容器镜像软件组成分析系统、方法、电子设备和介质,具有以下优点:

37、本发明提供的基于分层检测的容器镜像软件组成分析系统,包括交互节点和至少一个分析节点;其中,所述交互节点,配置为根据接收到的容器镜像分析任务,获取待检测容器镜像的容器镜像分层结果;并用于根据所述容器镜像分层结果,向所述分析节点发送容器镜像层软件分析任务;所述分析节点,配置为根据所述容器镜像层软件分析任务,获取待检测容器镜像层的层软件分析结果,并将所述层软件分析结果返回给所述交互节点;所述交互节点,还用于根据所述层软件分析结果,得到所述待检测容器镜像的软件组成分析结果。由此可见,本发明提供的基于分层检测的容器镜像软件组成分析系统,通过交互节点能够接收用户的容器镜像分析任务,通过交互节点和分析节点的配合,尤其是分析节点能够根据容器镜像层软件分析任务,获取待检测容器镜像层的层软件分析结果,并通过交互节点得到软件组成分析结果(比如软件的版本、发布时间、软件大小、适配架构等),能够提供整个容器镜像的历史软件成分变化,从而能够为避免用户使用具有安全隐患的软件或不能及时更新软件提供了重要的参考依据,进而为提升产品的开发效率和安全性奠定了基础。进一步地,本发明提供的基于分层检测的容器镜像软件组成分析系统以软件镜像层为分析粒度,这种化整为零的方式也使得本实施例提供的基于分层检测的容器镜像软件组成分析系统具有较高的分析效率。更进一步地,本发明提供容器镜像软件组成分析系统能够静态地分析容器镜像,不需要动态的构建一个容器镜像实例,在耗费较少资源(比如内存空间)的同时,也能够进一步提升分析效率。再进一步地,用户仅需向本发明提供的基于分层检测的容器镜像软件组成分析系统输入容器镜像分析任务,分析过程中无需人机交互,就能够获取待检测容器镜像层的层软件分析结果,便于用户操作和使用。

38、由于本发明提供的基于分层检测的容器镜像软件组成分析方法、电子设备和介质与本发明提供的基于分层检测的容器镜像软件组成分析系统属于同一发明构思,因此,本发明提供的基于分层检测的容器镜像软件组成分析方法、电子设备和介质至少具有本发明提供的基于分层检测的容器镜像软件组成分析系统的所有优点,详细的内容请参见上文基于分层检测的容器镜像软件组成分析系统相关的描述,在此,不再一一赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1