系统镜像软件包检测方法及系统技术方案

技术编号:33528400 阅读:12 留言:0更新日期:2022-05-19 01:54
本发明专利技术公开了一种系统镜像软件包检测方法及系统,该方法包括:通过系统镜像中的软件包管理器执行软件包信息查询命令,以获取包括软件包信息的第一软件包列表;通过预设路径读取当前镜像系统配置文件,并解析出包括软件包信息的第二软件包列表;分别比对第一软件包列表和第二软件包列表中每一条软件包信息,以生成包括第一软件表列表和第二软件包列表中所有软件包信息的综合软件包列表;通过上述检测方法,可全面、精准地检测系统镜像中的软件包,从而避免漏检和错检。从而避免漏检和错检。从而避免漏检和错检。

【技术实现步骤摘要】
系统镜像软件包检测方法及系统


[0001]本专利技术涉及软件包安全检测
,尤其涉及一种系统镜像软件包检测方法及系统。

技术介绍

[0002]随着软件行业的发展,对计算机硬件的要求也越来越高,随之而来的是开发成本的快速提升。为了高效的利用计算机资源,Docker技术(容器虚拟化技术)的使用也越来越广泛。由于Alpine镜像小巧、简单的特性而被广大开发者所喜爱,但随着Alpine镜像的普遍使用,它的安全性也越来越被关注。Alpine镜像的安全性主要受到软件包的影响,所以就需要对Alpine系统镜像中软件包进行全面检测,而对于目前的系统镜像中软件包括的检测方式,普遍存在漏检和误检的问题。

技术实现思路

[0003]本专利技术的目的是为解决上述技术问题而提供一种可全面、精准检测系统镜像中的所有软件包的系统镜像软件包检测方法及系统。
[0004]为了实现上述目的,本专利技术公开了一种系统镜像软件包检测方法,其包括:
[0005]通过系统镜像中的软件包管理器执行软件包信息查询命令,以获取包括软件包信息的第一软件包列表;
[0006]通过预设路径读取当前镜像系统配置文件,并解析出包括软件包信息的第二软件包列表;
[0007]分别比对所述第一软件包列表和所述第二软件包列表中每一条软件包信息,以生成包括所述第一软件表列表和所述第二软件包列表中所有软件包信息的综合软件包列表。
[0008]与现有技术相比,本专利技术系统镜像软件包检测方法,通过自动执行软件包管理器中的信息查询命令获取第一软件包列表,通过预设路径读取镜像系统配置文件并解析出第二软件包列表,然后综合比对第一软件包列表和第二软件包列表,从而得到包括系统镜像中全部软件包信息的综合软件包列表;由此可知,通过上述检测方法,可全面、精准地检测系统镜像中的软件包,从而避免漏检和错检。
[0009]较佳地,通过正则表达式来解析所读取到的当前镜像系统配置文件,以得到所述第二软件包列表。
[0010]较佳地,所述综合综合软件包列表的生成方法包括:
[0011]读取所述第一软件包列表中的每一条软件包信息,并将其写入所述综合软件包列表;
[0012]逐次读取所述第二软件列表中的每一条软件包信息,并查询当前读取到的软件包信息是否在所述综合软件包列表中已存在,如果是,则跳过,如果否,则将该条软件包信息写入所述综合软件包列表。
[0013]较佳地,所述系统镜像为Alpine镜像。
[0014]本专利技术还公开一种系统镜像软件包检测系统,其包括第一列表获取模块、第二列表获取模块以及综合列表生成模块;
[0015]所述第一列表获取模块,用于通过系统镜像中的软件包管理器执行软件包信息查询命令,以获取包括软件包信息的第一软件包列表;
[0016]所述第二列表获取模块,用于通过预设路径读取当前镜像系统配置文件,并解析出包括软件包信息的第二软件包列表;
[0017]所述综合列表生成模块,用于根据对所述第一软件包列表和所述第二软件包列表中每一条软件包信息的比对分析,生成包括所述第一软件表列表和所述第二软件包列表中所有软件包信息的综合软件包列表。
[0018]较佳地,所述第二列表获取模块通过正则表达式来解析所读取到的当前镜像系统配置文件,以得到所述第二软件包列表。
[0019]较佳地,所述综合列表生成模块包括第一读写模块和第二读写模块;所述第一读写模块,用于读取所述第一软件包列表中的每一条软件包信息,并将其写入所述综合软件包列表;所述第二读写模块,用于逐次读取所述第二软件列表中的每一条软件包信息,并将与所述第一软件包列表中不同的软件包信息写入所述综合软件包列表。
[0020]较佳地,所述系统镜像为Alpine镜像。
[0021]本专利技术还公开一种系统镜像软件包检测系统,其包括:
[0022]一个或多个处理器;
[0023]存储器;
[0024]以及一个或多个程序,其中一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行如上所述的系统镜像软件包检测方法的指令。
[0025]本专利技术还公开一种计算机可读存储介质,其包括计算机程序,所述计算机程序可被处理器执行以完成如上所述的系统镜像软件包检测方法。
附图说明
[0026]图1为本专利技术实施例中系统镜像软件包检测方法流程图。
具体实施方式
[0027]为详细说明本专利技术的
技术实现思路
、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
[0028]本实施例公开了一种系统镜像软件包检测方法,以对系统镜像中的软件包进行检测,从而为系统镜像的安全性分析提供基础数据,本实施例中的系统镜像优选为Alpine镜像,但并不以此为限,具体地,如图1所示,该检测方法包括如下步骤:
[0029]S1:通过系统镜像中的软件包管理器执行软件包信息查询命令(apk list|grep installed),以获取包括软件包信息的第一软件包列表;
[0030]S2:通过预设路径(/lib/apk/db/installed)读取当前镜像系统配置文件,并解析出包括软件包信息的第二软件包列表;
[0031]S3:分别比对第一软件包列表和第二软件包列表中每一条软件包信息,以生成包
括第一软件表列表和第二软件包列表中所有软件包信息的综合软件包列表。
[0032]进一步地,在上述步骤S2中,通过正则表达式来解析所读取到的当前镜像系统配置文件,以得到第二软件包列表。具体地,对读取到的配置文件执行解析工作时,通过正则表达式匹配配置文件中的P和V字段来解析其软件包信息。
[0033]更进一步地,综合综合软件包列表的具体生成方法包括:
[0034]首先,读取第一软件包列表中的每一条软件包信息,并将其写入综合软件包列表;
[0035]然后,逐次读取第二软件列表中的每一条软件包信息,并查询当前读取到的软件包信息是否在综合软件包列表中已存在,如果是,则跳过(避免重复存储),如果否,则将该条软件包信息写入综合软件包列表,从而将第一软件包列表和第二软件包列表中的所有软件包信息存入到综合软件包列表中。
[0036]通过上述实施例公开的检测方法对Alpine系统镜像中软件包进行检测,通过自动执行软件包管理器中的信息查询命令获取第一软件包列表,并通过预设路径读取镜像系统配置文件并解析出第二软件包列表,然后综合比对第一软件包列表和第二软件包列表,从而得到包括系统镜像中全部软件包信息的综合软件包列表;由此可知,上述检测方法,通过执行命令和文件读取相结合的方式可全面、精准地检测系统镜像中的软件包,从而避免漏检和错检。
[0037]本专利技术还公开一种系统镜像软件包检测系统,其包括第一列表获取模块、第二列表获取模块以及综合列表生成模块。
[0038]第一列表获取模块,用于通过系统镜像中的软件包管理器执行软件包信息查询命令,以获取包括软件本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种系统镜像软件包检测方法,其特征在于,包括:通过系统镜像中的软件包管理器执行软件包信息查询命令,以获取包括软件包信息的第一软件包列表;通过预设路径读取当前镜像系统配置文件,并解析出包括软件包信息的第二软件包列表;分别比对所述第一软件包列表和所述第二软件包列表中每一条软件包信息,以生成包括所述第一软件表列表和所述第二软件包列表中所有软件包信息的综合软件包列表。2.根据权利要求1所述的系统镜像软件包检测方法,其特征在于,通过正则表达式来解析所读取到的当前镜像系统配置文件,以得到所述第二软件包列表。3.根据权利要求1所述的系统镜像软件包检测方法,其特征在于,所述综合综合软件包列表的生成方法包括:读取所述第一软件包列表中的每一条软件包信息,并将其写入所述综合软件包列表;逐次读取所述第二软件列表中的每一条软件包信息,并查询当前读取到的软件包信息是否在所述综合软件包列表中已存在,如果是,则跳过,如果否,则将该条软件包信息写入所述综合软件包列表。4.根据权利要求1所述的系统镜像软件包检测方法,其特征在于,所述系统镜像为Alpine镜像。5.一种系统镜像软件包检测系统,其特征在于,包括第一列表获取模块、第二列表获取模块以及综合列表生成模块;所述第一列表获取模块,用于通过系统镜像中的软件包管理器执行软件包信息查询命令,以获取包括软件包信息的第一软件包列表;所述第二列表获取模块,用于通过预设路径读取当前镜像系统配置文件,并解析...

【专利技术属性】
技术研发人员:洪二稳万振华王颉李华董燕
申请(专利权)人:深圳开源互联网安全技术有限公司
类型:发明
国别省市:

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

1