容器镜像安全扫描方法、装置及电子设备和存储介质制造方法及图纸

技术编号:37458575 阅读:16 留言:0更新日期:2023-05-06 09:31
本申请提供了一种容器镜像安全扫描方法、装置及电子设备和存储介质,旨在提高扫描效率,减少不必要的资源消耗。所述方法包括:从主机节点采集本地镜像资产信息,所述本地镜像资产信息至少包括每个容器镜像的各个镜像层的diffID;根据所述每个容器镜像的各个镜像层的diffID,确定所述每个容器镜像的各个镜像层的实际文件存储地址;对所述每个容器镜像的各个镜像层的实际文件存储地址分别进行安全扫描,得到所述每个容器镜像的各个镜像层的扫描结果;根据所述每个容器镜像的各个镜像层的扫描结果,确定所述每个容器镜像的最终扫描结果。确定所述每个容器镜像的最终扫描结果。确定所述每个容器镜像的最终扫描结果。

【技术实现步骤摘要】
容器镜像安全扫描方法、装置及电子设备和存储介质


[0001]本申请涉及网络技术与安全
,特别是涉及一种容器镜像安全扫描方法、装置及电子设备和存储介质。

技术介绍

[0002]现有的镜像扫描工具,主要是通过获取预扫描容器镜像(即镜像)的仓库地址拉取镜像层进行扫描;或是在本地通过docker save(docker镜像保存导出)功能打包镜像文件,对该打包的镜像文件进行额外的存储解压后再进行扫描(比如常用的开源镜像扫描工具clair)。上述方式浪费了网络流量和时间,且额外占用机器存储,扫描效率低。

技术实现思路

[0003]鉴于上述问题,本申请实施例提供了一种容器镜像安全扫描方法、装置及电子设备和存储介质,以便克服上述问题或者至少部分地解决上述问题。
[0004]本申请实施例的第一方面,提供了一种容器镜像安全扫描方法,所述方法包括:
[0005]从主机节点采集本地镜像资产信息,所述本地镜像资产信息至少包括每个容器镜像的各个镜像层的diffID;
[0006]根据所述每个容器镜像的各个镜像层的diffID,确定所述每个容器镜像的各个镜像层的实际文件存储地址;
[0007]对所述每个容器镜像的各个镜像层的实际文件存储地址分别进行安全扫描,得到所述每个容器镜像的各个镜像层的扫描结果;
[0008]根据所述每个容器镜像的各个镜像层的扫描结果,确定所述每个容器镜像的最终扫描结果。
[0009]可选地,对于每个容器镜像,所述容器镜像的各个镜像层的实际文件存储地址通过以下步骤确定:
[0010]根据所述容器镜像的各个镜像层的diffID,确定所述各个镜像层的chainID;
[0011]根据所述各个镜像层的chainID,确定所述各个镜像层对应的cache

id文件的存储地址;
[0012]通过所述各个镜像层对应的cache

id文件的存储地址,从所述各个cache

id文件中获取所述各个镜像层各自对应的cache

id;
[0013]根据所述各个镜像层各自对应的cache

id,确定所述各个镜像层的实际文件存储地址。
[0014]可选地,所述根据所述容器镜像的各个镜像层的diffID,确定所述各个镜像层的chainID,包括:
[0015]确定所述容器镜像的各个镜像层的层级次第;
[0016]对于最底层的镜像层,将所述镜像层的diffID确定为所述镜像层的chainID;
[0017]对于除所述最底层的镜像层之外的其它镜像层,根据所述镜像层的diffID、以及
所述镜像层的底下一层的镜像层的chainID,确定所述镜像层的chainID。
[0018]可选地,对于每个容器镜像,所述容器镜像的最终扫描结果通过以下步骤确定:
[0019]从所述容器镜像的各个镜像层的扫描结果中,获取第一文件对应的不同镜像层的第一扫描结果,所述第一文件为多个镜像层中包含的相同文件;
[0020]确定所述容器镜像的各个镜像层的层级次第,将所述第一文件对应的不同镜像层的第一扫描结果中,层级最高的镜像层的第一扫描结果确定为所述第一文件的第二扫描结果;
[0021]根据所述第一文件的第二扫描结果、以及所述各个镜像层包含的其它文件的扫描结果,确定所述容器镜像的最终扫描结果。
[0022]可选地,所述本地镜像资产信息还包括每个容器镜像的历史构建信息;
[0023]所述对所述每个容器镜像的各个镜像层的实际文件存储地址分别进行安全扫描,得到所述每个容器镜像的各个镜像层的扫描结果,包括:
[0024]根据所述每个容器镜像的历史构建信息,确定所述每个容器镜像关联的父级镜像;
[0025]对所述每个容器镜像关联的父级镜像的各个镜像层的实际文件存储地址分别进行安全扫描,并对所述每个容器镜像的各个镜像层中除目标镜像层之外的其它镜像层的实际文件存储地址分别进行安全扫描,所述目标镜像层为与关联的父级镜像的镜像层相同的镜像层;
[0026]将所述每个容器镜像各自关联的父级镜像的各个镜像层的扫描结果,确定为所述每个容器镜像各自的目标镜像层的扫描结果;
[0027]根据所述每个容器镜像各自的目标镜像层的扫描结果、以及所述每个容器镜像各自的除目标镜像层之外的其它镜像层的扫描结果,确定所述每个容器镜像的各个镜像层的扫描结果。
[0028]可选地,对于每个镜像层的实际文件存储地址,通过以下步骤对所述实际文件存储地址进行安全扫描,得到所述镜像层的扫描结果:
[0029]通过所述镜像层的实际文件存储地址,识别所述镜像层包含的各个文件和组件;
[0030]对不同的文件和不同组件对应的文件分别使用对应的检测策略进行安全扫描,得到所述镜像层的扫描结果,所述检测策略包括木马病毒后门检测、webshell检测、弱密码检测、敏感信息检测、软件包漏洞检测中的至少一者。
[0031]可选地,在所述检测策略至少包括木马病毒后门检测的情况下,所述对不同的文件分别使用对应的检测策略进行安全扫描,包括:
[0032]从所述镜像层包含的各个文件中,确定木马病毒后门检测所设定的第一关键路径对应的第一目标文件;
[0033]使用规则特征对所述第一目标文件进行检测,得到所述镜像层的木马后门病毒扫描结果。
[0034]可选地,在所述检测策略至少包括webshell检测的情况下,所述对不同的组件对应的文件分别使用对应的检测策略进行安全扫描,包括:
[0035]检测所述镜像层是否包含web类型组件;
[0036]在所述镜像层包含web类型组件的情况下,获取所述web类型组件关联的web根目
录文件,从所述web根目录文件中,确定webshell检测所设定的特征后缀对应的第二目标文件,对所述第二目标文件进行webshell后门检测,得到所述镜像层的webshell扫描结果。
[0037]可选地,在所述检测策略至少包括敏感信息检测的情况下,所述对不同的文件分别使用对应的检测策略进行安全扫描,包括:
[0038]从所述镜像层包含的各个文件中,确定敏感信息检测所设定的第二关键路径对应的第三目标文件;
[0039]使用敏感信息正则规则对所述第三目标文件进行检测,得到所述镜像层的敏感信息扫描结果。
[0040]可选地,在所述检测策略至少包括弱密码检测的情况下,所述对不同的组件对应的文件分别使用对应的检测策略进行安全扫描,包括:
[0041]检测所述镜像层是否包含需配置密码的组件;
[0042]在所述镜像层包含需配置密码的组件的情况下,通过所述需配置密码的组件的用户数据表存放路径,确定用于存放用户密码密钥的第四目标文件,对所述第四目标文件进行弱密码匹配对比,得到所述镜像层的弱密码扫描结果。
[0043]可选地,在所述检测策略至少包括软件本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种容器镜像安全扫描方法,其特征在于,所述方法包括:从主机节点采集本地镜像资产信息,所述本地镜像资产信息至少包括每个容器镜像的各个镜像层的diffID;根据所述每个容器镜像的各个镜像层的diffID,确定所述每个容器镜像的各个镜像层的实际文件存储地址;对所述每个容器镜像的各个镜像层的实际文件存储地址分别进行安全扫描,得到所述每个容器镜像的各个镜像层的扫描结果;根据所述每个容器镜像的各个镜像层的扫描结果,确定所述每个容器镜像的最终扫描结果。2.根据权利要求1所述的方法,其特征在于,对于每个容器镜像,所述容器镜像的各个镜像层的实际文件存储地址通过以下步骤确定:根据所述容器镜像的各个镜像层的diffID,确定所述各个镜像层的chainID;根据所述各个镜像层的chainID,确定所述各个镜像层对应的cache

id文件的存储地址;通过所述各个镜像层对应的cache

id文件的存储地址,从所述各个cache

id文件中获取所述各个镜像层各自对应的cache

id;根据所述各个镜像层各自对应的cache

id,确定所述各个镜像层的实际文件存储地址。3.根据权利要求2所述的方法,其特征在于,所述根据所述容器镜像的各个镜像层的diffID,确定所述各个镜像层的chainID,包括:确定所述容器镜像的各个镜像层的层级次第;对于最底层的镜像层,将所述镜像层的diffID确定为所述镜像层的chainID;对于除所述最底层的镜像层之外的其它镜像层,根据所述镜像层的diffID、以及所述镜像层的底下一层的镜像层的chainID,确定所述镜像层的chainID。4.根据权利要求1所述的方法,其特征在于,对于每个容器镜像,所述容器镜像的最终扫描结果通过以下步骤确定:从所述容器镜像的各个镜像层的扫描结果中,获取第一文件对应的不同镜像层的第一扫描结果,所述第一文件为多个镜像层中包含的相同文件;确定所述容器镜像的各个镜像层的层级次第,将所述第一文件对应的不同镜像层的第一扫描结果中,层级最高的镜像层的第一扫描结果确定为所述第一文件的第二扫描结果;根据所述第一文件的第二扫描结果、以及所述各个镜像层包含的其它文件的扫描结果,确定所述容器镜像的最终扫描结果。5.根据权利要求1所述的方法,其特征在于,所述本地镜像资产信息还包括每个容器镜像的历史构建信息;所述对所述每个容器镜像的各个镜像层的实际文件存储地址分别进行安全扫描,得到所述每个容器镜像的各个镜像层的扫描结果,包括:根据所述每个容器镜像的历史构建信息,确定所述每个容器镜像关联的父级镜像;对所述每个容器镜像关联的父级镜像的各个镜像层的实际文件存储地址分别进行安全扫描,并对所述每个容器镜像的各个镜像层中除目标镜像层之外的其它镜像层的实际文
件存储地址分别进行安全扫描,所述目标镜像层为与关联的父级镜像的镜像层相同的镜像层;将所述每个容器镜像各自关联的父级镜像的各个镜像层的扫描结果,确定为所述每个容器镜像各自的目标镜像层的扫描结果;根据所述每个容器镜像各自的目标镜像层的扫描结果、以及所述每个容器镜像各自的除目标镜像层之外的其它镜像层的扫描结果,确定所述每个容器镜像的各个镜像层的扫描结果。6.根据权利要求1

5任一所述的方法,其特征在于,对于每个镜像层的实际文件存储地址,通过以下步骤对所述实际文件存储地址进行安全扫描,得到所述镜像层的扫描结果:通过所述镜像层的实际文件存储地址,识别所述镜像层包含的各个文件和组件;对不同的文件和不同组件对应的文件分别使用对应的检测策略进行安全扫描,得到所述镜像层的扫描结果,所述检测策略包括木马病毒后门检测、webshell检测、弱密...

【专利技术属性】
技术研发人员:沈舒莉林顺东上官淑婷杨晔
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

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

1