CN116932139A - 容器镜像检测方法、系统和计算机设备 - Google Patents
容器镜像检测方法、系统和计算机设备 Download PDFInfo
- Publication number
- CN116932139A CN116932139A CN202310826486.3A CN202310826486A CN116932139A CN 116932139 A CN116932139 A CN 116932139A CN 202310826486 A CN202310826486 A CN 202310826486A CN 116932139 A CN116932139 A CN 116932139A
- Authority
- CN
- China
- Prior art keywords
- image
- security
- detection system
- mirror image
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 138
- 230000008439 repair process Effects 0.000 claims abstract description 40
- 238000000034 method Methods 0.000 claims description 31
- 238000012986 modification Methods 0.000 claims description 15
- 230000004048 modification Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 14
- 238000013515 script Methods 0.000 claims description 7
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 239000003795 chemical substances by application Substances 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 238000002955 isolation Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 239000000243 solution Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Computing Systems (AREA)
- Facsimiles In General (AREA)
Abstract
本申请提供一种容器镜像检测方法、系统和计算机设备,通过检测系统获取原始镜像;所述检测系统对所述原始镜像进行检测修复,得到安全镜像;所述检测系统将所述安全镜像存储至内部镜像仓库,并将存储地址发送至客户端;所述客户端根据所述存储地址从所述内部镜像仓库获取目标安全镜像,对所述目标安全镜像进行编辑运行,得到最终镜像并存储至所述内部镜像仓库。上述容器镜像检测方法,不仅能够保证对于第三方互联网镜像源的管控,而且还提高了用户端进行容器镜像文件的使用时调用的容器镜像文件的安全性。
Description
技术领域
本申请涉及容器镜像检测领域,特别是涉及一种容器镜像检测方法、系统和计算机设备。
背景技术
在容器化的软件产品开发过程中,往往需要依赖其他第三方进行构建自己容器化产品的情况,而目前主流的做法是直接通过互联网的镜像仓库或公司内部的镜像仓库,拉取镜像,进行镜像构建,但当下技术往往没有对于第三方镜像源的管控,镜像文件安全性问题十分严峻。
当下技术中,从容器镜像安全的角度提供了一种容器镜像安全扫描与修复的方法,能够在CI/CD流程构建容器镜像后,对容器镜像提取软件包版本信息;在漏洞数据库中,为软件包版本信息匹配漏洞信息与补丁信息;根据匹配到的漏洞信息与补丁信息,修复容器镜像,以便CI/CD流程推送发布容器镜像。
但是当下技术中并未关注用户端进行容器镜像文件的使用时调用的容器镜像文件的安全性问题,因此,用户使用文件时的安全性问题仍然亟待解决。
发明内容
基于此,有必要针对上述技术问题,提供一种网络安全问题的诊断方法、装置和计算机设备。
第一方面,本申请提供了一种容器镜像检测方法,所述方法包括:
通过检测系统获取原始镜像;
所述检测系统对所述原始镜像进行检测修复,得到安全镜像;
所述检测系统将所述安全镜像存储至内部镜像仓库,并将存储地址发送至客户端;
所述客户端根据所述存储地址从所述内部镜像仓库获取目标安全镜像,对所述目标安全镜像进行编辑运行,得到最终镜像并存储至所述内部镜像仓库。
在其中一个实施例中,所述检测系统对所述原始镜像进行检测修复,得到安全镜像包括:
所述检测系统运行所述原始镜像;
所述检测系统对运行中的所述原始镜像进行漏洞检测,确定镜像漏洞;
所述检测系统对所述镜像漏洞进行修复,得到安全镜像。
在其中一个实施例中,所述检测系统对运行中的所述原始镜像进行漏洞检测,确定镜像漏洞包括:
所述检测系统利用预存攻击脚本对运行中的所述原始镜像进行攻击,获取漏洞特征;
所述检测系统基于所述漏洞特征和预设漏洞库,确定镜像漏洞。
在其中一个实施例中,所述检测系统对所述镜像漏洞进行修复,得到安全镜像包括:
所述检测系统根据所述镜像漏洞,确定原始镜像中的漏洞组件;
所述检测系统获取与所述漏洞组件相匹配的高版本组件;
所述检测系统根据所述高版本组件对所述原始镜像进行修复,得到安全镜像。
在其中一个实施例中,所述客户端根据所述存储地址从所述内部镜像仓库获取目标安全镜像,对所述目标安全镜像进行编辑运行,得到最终镜像并存储至所述内部镜像仓库包括:
所述客户端根据所述存储地址从所述内部镜像仓库获取目标安全镜像;
所述客户端通过agent扫描对所述目标安全镜像进行安全扫描;
若所述目标安全镜像的安全性为正常,所述客户端对所述安全镜像进行编辑运行,得到最终镜像;
所述客户端将所述最终镜像存储至所述内部镜像仓库。
在其中一个实施例中,所述客户端通过agent扫描对所述安全镜像进行安全扫描包括:
所述客户端通过agent扫描对所述安全镜像进行安全扫描,确定所述安全镜像是否存在修改;
若存在修改,则所述安全镜像的安全性为异常;
若不存在修改,则所述安全镜像的安全性为正常。
在其中一个实施例中,所述确定所述安全镜像是否存在修改包括:
确定所述安全镜像的存储地址是否存在修改和/或所述安全镜像的镜像数据是否存在修改。
第二方面,本申请还提供了一种容器镜像检测系统,所述系统包括检测系统以及客户端系统;
所述检测系统包括获取模块,检测修复模块和第一存储模块;
所述获取模块用于获取原始镜像;
所述检测修复模块用于对所述原始镜像进行检测修复,得到安全镜像;
存储模块用于将所述安全镜像存储至内部镜像仓库,并将存储地址发送至所述客户端系统;
所述客户端系统包括:调用模块,编辑模块和第二存储模块;
所述调用模块用于根据所述存储地址从所述内部镜像仓库获取目标安全镜像;
所述编辑模块用于对所述目标安全镜像进行编辑运行,获取最终镜像;
所述第二存储模块用于将所述最终镜像存储至所述内部镜像仓库。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
通过检测系统获取原始镜像;
所述检测系统对所述原始镜像进行检测修复,得到安全镜像;
所述检测系统将所述安全镜像存储至内部镜像仓库,并将存储地址发送至客户端;
所述客户端根据所述存储地址从所述内部镜像仓库获取目标安全镜像,对所述目标安全镜像进行编辑运行,得到最终镜像并存储至所述内部镜像仓库。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
通过检测系统获取原始镜像;
所述检测系统对所述原始镜像进行检测修复,得到安全镜像;
所述检测系统将所述安全镜像存储至内部镜像仓库,并将存储地址发送至客户端;
所述客户端根据所述存储地址从所述内部镜像仓库获取目标安全镜像,对所述目标安全镜像进行编辑运行,得到最终镜像并存储至所述内部镜像仓库。
上述容器镜像检测方法、系统和计算机设备,通过检测系统获取原始镜像;所述检测系统对所述原始镜像进行检测修复,得到安全镜像;所述检测系统将所述安全镜像存储至内部镜像仓库,并将存储地址发送至客户端;所述客户端根据所述存储地址从所述内部镜像仓库获取目标安全镜像,对所述目标安全镜像进行编辑运行,得到最终镜像并存储至所述内部镜像仓库。上述容器镜像检测方法,不仅能够保证对于第三方互联网镜像源的管控,而且还提高了用户端进行容器镜像文件的使用时调用的容器镜像文件的安全性。
附图说明
为了更清楚地说明本申请实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中容器镜像检测方法应用环境图;
图2为本发明一个实施例的容器镜像检测方法的流程示意图;
图3为本发明一个实施例的容器镜像检测方法的实施示意图;
图4为本发明一个实施例中的容器镜像检测系统的结构框图;
图5为本发明一个实施例中的计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
Docker是一个开源的应用容器引擎,用户可以打包他们的应用以及依赖包,将其移动到到一个可移植的镜像中,然后发布到Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Harbor是由VMware公司使用Go语言开发的存储库,主要就是用于存放镜像使用,同时我们还可以通过Web界面来对存放的镜像进行管理。并且Harbor提供的功能有:基于角色的访问控制,镜像远程复制同步,以及审计日志等功能。
本申请实施例提供的容器镜像检测方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。用户在终端102上做出当前行为,终端102将当前行为数据传输给服务器104,服务器104通过检测系统获取原始镜像;所述检测系统对所述原始镜像进行检测修复,得到安全镜像;所述检测系统将所述安全镜像存储至内部镜像仓库,并将存储地址发送至客户端;所述客户端根据所述存储地址从所述内部镜像仓库获取目标安全镜像,对所述目标安全镜像进行编辑运行,得到最终镜像并存储至所述内部镜像仓库。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种容器镜像检测方法,本实施例中,该方法包括以下步骤:
步骤S201,通过检测系统获取原始镜像。
具体地,原始镜像的来源包括互联网的镜像仓库以及公司内部的镜像仓库,在其他实施例中,还可以依据实际情况确定原始镜像的来源,在此不作一一列举。
示例性的,通过检测系统调用docker服务自带的docker pull命令拉取互联网镜像仓库中的镜像文件,以实现原始镜像的获取。
步骤S202,所述检测系统对所述原始镜像进行检测修复,得到安全镜像。
具体地,原始镜像文件的安全性需要进行检验,因此利用检测系统将原始镜像进行扫描检测,基于检测的出的镜像问题进行对应修复,最终得到安全性得到保障的安全镜像。
步骤S203,所述检测系统将所述安全镜像存储至内部镜像仓库,并将存储地址发送至客户端。
具体地,安全镜像存储至内部镜像仓库时,每个安全镜像在仓库中有各自对应的存储地址,并且存储地址能够反映出安全镜像文件是否被篡改以及镜像源地址是否被篡改。
步骤S204,所述客户端根据所述存储地址从所述内部镜像仓库获取目标安全镜像,对所述目标安全镜像进行编辑运行,得到最终镜像并存储至所述内部镜像仓库。
具体地,所述客户端可以理解为操作用户,在容器化的软件产品开发过程中,操作用户经常会有需要依赖其他第三方进行构建自己容器化产品的情况,因此操作用户根据所述存储地址从所述内部镜像仓库获取目标安全镜像,对所述目标安全镜像进行编辑运行,得到最终镜像并存储至所述内部镜像仓库。
上述容器镜像检测方法、系统和计算机设备,通过检测系统获取原始镜像;所述检测系统对所述原始镜像进行检测修复,得到安全镜像;所述检测系统将所述安全镜像存储至内部镜像仓库,并将存储地址发送至客户端;所述客户端根据所述存储地址从所述内部镜像仓库获取目标安全镜像,对所述目标安全镜像进行编辑运行,得到最终镜像并存储至所述内部镜像仓库。上述容器镜像检测方法,不仅能够保证对于第三方互联网镜像源的管控,而且还提高了用户端进行容器镜像文件的使用时调用的容器镜像文件的安全性。
在一个实施例中,所述检测系统对所述原始镜像进行检测修复,得到安全镜像包括:
所述检测系统运行所述原始镜像;
所述检测系统对运行中的所述原始镜像进行漏洞检测,确定镜像漏洞;
所述检测系统对所述镜像漏洞进行修复,得到安全镜像。
具体的,原始镜像一般来自于第三方互联网镜像源。
具体地,检测系统会调用docker服务运行一个原始镜像文件,产生一个容器进程,然后检测系统对运行中的所述原始镜像进行漏洞检测,确定镜像漏洞;示例性的,可以将原始镜像的静态特征和特征库匹配以此来发现镜像漏洞,其中,特征库是预先存储在检测系统中的。
具体地,当容器镜像文件的漏洞确定后,基于确定的镜像漏洞对应进行修复,进而得到无文件漏洞的安全镜像文件,示例性的,可以是添加文件补丁,也可以是对原始镜像文件进行直接替换,在其他实施例中,还可以依据实际需求进行修复手段的确定,在此不做一一赘述。
上述实施例中,检测系统通过对运行中的所述原始镜像进行漏洞检测,确定镜像漏洞,并针对性的进行漏洞修复,有效保证了原始镜像的安全性
在一个实施例中,所述检测系统对运行中的所述原始镜像进行漏洞检测,确定镜像漏洞包括:
所述检测系统利用预存攻击脚本对运行中的所述原始镜像进行攻击,获取漏洞特征;
所述检测系统基于所述漏洞特征和预设漏洞库,确定镜像漏洞。
具体地,所述攻击脚本预存在所述检测系统中,检测系统根据运行中的原始镜像类型,调用一批攻击扫描脚本对运行中的所述原始镜像进行攻击,获取对应的漏洞特征。所述检测系统中还存在预设漏洞库,将漏洞特征与预设漏洞库进行匹配确定镜像漏洞。
示例性的,漏洞特征包括漏洞类型(如SQL注入、XSS、文件包含等)、漏洞等级(通常分为高、中、低三个等级,用于表示漏洞的危害程度)、漏洞位置(指漏洞出现的具体位置,如URL、请求参数、请求头等)、影响范围(漏洞可能造成的影响,如数据泄露、系统崩溃等)、修复建议(提供修复漏洞的建议和方法,如更新软件版本、修改代码等)、漏扫时间(进行扫描的时间)。
上述实施例中,利用检测系统中预存的攻击脚本和预设漏洞库,实现了对于原始镜像漏洞的精准识别。
在一个实施例中,所述检测系统对所述镜像漏洞进行修复,得到安全镜像包括:
所述检测系统根据所述镜像漏洞,确定原始镜像中的漏洞组件;
所述检测系统获取与所述漏洞组件相匹配的高版本组件;
所述检测系统根据所述高版本组件对所述原始镜像进行修复,得到安全镜像。
具体地,检测系统确定镜像漏洞后,基于一一映射关系进一步确定原始镜像中的漏洞组件,通常情况下,漏洞组件往往是由于版本过低导致,因此检测系统通过与云端互联网镜像仓库相连,进而获取与所述漏洞组件相匹配的高版本组件,根据所述高版本组件对所述原始镜像进行修复,得到安全镜像,其中,所述修复是指高版本组件对漏洞组件进行完全替换,在其他实施例中,还可以依据实际情况进行修复手段的确定,在此不作一一赘述。
上述实施例中,利用与漏洞组件相匹配的高版本组件对漏洞组件进行替换修复,得到安全镜像,提高了原始镜像的修复效率。
在一个实施例中,所述客户端根据所述存储地址从所述内部镜像仓库获取目标安全镜像,对所述目标安全镜像进行编辑运行,得到最终镜像并存储至所述内部镜像仓库包括:
所述客户端根据所述存储地址从所述内部镜像仓库获取目标安全镜像;
所述客户端通过agent扫描对所述目标安全镜像进行安全扫描;
若所述目标安全镜像的安全性为正常,所述客户端对所述安全镜像进行编辑运行,得到最终镜像;
具体地,agent指能自主活动的软件或者硬件实体。
1.通常指代表一个应用程序处理查询并返回结果的软件。
2.驻留在所有受管设备中并向管理站报告指定变量值的过程。
3.在Cisco硬件结构中,提供一或多个介质接口的独立处理机卡。
进程文件
agent或者agent.exe
进程名称:Dell Agent
描述:agent.exe是Dell电脑提供的用户监视和管理系统的程序。
可以理解的,利用agent扫描目标安全镜像,可以监控镜像源配置文件是否被其他进程修改,当源配置文件,没有显示被修改,则说明安全性正常,客户端可以对所述安全镜像进行编辑运行,进而得到最终镜像。
上述实施例中,利用agent程序实现了对于目标安全镜像的进一步监控,进一步提高了客户端调用的目标安全镜像的安全性。
在一个实施例中,所述客户端通过agent扫描对所述目标安全镜像进行安全扫描包括:
所述客户端通过agent扫描对所述目标安全镜像进行安全扫描,确定所述目标安全镜像是否存在修改;
若存在修改,则所述目标安全镜像的安全性为异常;
若不存在修改,则所述目标安全镜像的安全性为正常。
具体地,所述客户端通过agent扫描对所述目标安全镜像进行安全扫描,通过扫描获取的镜像源地址和内部镜像仓库中所述目标安全镜像的初始源地址进行比对,进而判断是否存在修改。
若存在修改,则所述目标安全镜像的安全性为异常;
若不存在修改,则所述目标安全镜像的安全性为正常。
上述实施例中,利用agent程序判断目标安全镜像是否被修改,进一步提高了客户端调用的目标安全镜像的安全性。
在一个实施例中,所述确定所述目标安全镜像是否存在修改包括:
确定所述目标安全镜像的存储地址是否存在修改和/或所述目标安全镜像的镜像数据是否存在修改。
具体地,当所述目标安全镜像的存储地址发生变动时,则说明目标安全镜像存在修改;当所述目标安全镜像的镜像数据发生变动时,也说明目标安全镜像存在修改。
可以理解的,关于存储地址,镜像数据的两项条件,可以是“和”的关系,也可以是“或”的关系,在具体实施例中,可以依据实际情况进行关系的确定,在此不作一一赘述。
示例性的,当对镜像文件的安全性核查程度高时,也即不仅需要验证存储地址,还需要验证镜像数据本身是否存在修改,因此两者之间是“和”的关系;当对镜像文件的安全性核查程度中时,仅需要验证存储地址或者仅需要验证镜像数据本身是否存在修改,因此两者之间是“或”的关系。
上述实施例中,基于存储地址,镜像数据的两项评判标准,能够精准确定所述目标安全镜像是否存在修改。
在一个实施例中,通过在用户主机上预置agent程序,进而防止镜像源被篡改,检测系统定时同步互联网镜像源进行漏洞扫描、修复漏洞,将安全镜像同步到内部镜像仓库,达到依赖安全镜像的效果,保证了软件供应链安全。
首先通过检测系统定时同步互联网镜像到检测中心,检测中心镜像漏洞扫描与修复,将安全镜像同步到harbor镜像仓库,检测中心会下发安全的镜像源地址,防止人为篡改镜像源地址,主机可以拉取安全的镜像进行使用和依赖构建,构建产生的新镜像通过agent程序扫描后可推送到安全镜像仓库。
具体地,通过检测系统调用docker服务自带的docker pull命令拉取互联网镜像,以实现外部镜像的同步。
具体地,使用Linux系统提供的RSYNC服务配置目标文件地址和本地路径地址来进行同步,实现将安全镜像同步到内部镜像仓库。
示例性的,参阅图3所示,图3为本发明一个实施例的容器镜像检测方法的实施示意图:
每个用户主机上均预置agent程序防止镜像源被篡改。
检测中心(也即检测系统)定时同步互联网镜像源进行漏洞扫描、修复漏洞,将安全镜像同步到内部私有镜像仓库,达到依赖安全镜像的效果,保证了软件供应链安全,具体步骤如下:
首先,通过检测中心(也即检测系统)定时同步互联网镜像到检测中心。
其次,检测中心(也即检测系统)进行镜像漏洞扫描与修复,将安全镜像同步到harbor镜像仓库,检测中心会下发安全的镜像源地址,防止人为篡改镜像源地址。
最后,主机可以拉取安全的镜像进行使用和依赖构建,构建产生的新镜像通过agent程序扫描后可推送到安全镜像仓库。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述容器镜像检测方法的容器镜像检测系统。该系统所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个容器镜像检测系统实施例中的具体限定可以参见上文中对于容器镜像检测方法的限定,在此不再赘述。
在一个实施例中,如图4所示,提供了一种容器镜像检测系统10,所述系统包括检测系统101以及客户端系统102;
所述检测系统101包括获取模块1011,检测修复模块1012和第一存储模块1013;
所述获取模块1011用于获取原始镜像;
所述检测修复模块1012用于对所述原始镜像进行检测修复,得到安全镜像;
所述检测修复模块1012还用于所述检测系统运行所述原始镜像;所述检测系统对运行中的所述原始镜像进行漏洞检测,确定镜像漏洞;所述检测系统对所述镜像漏洞进行修复,得到安全镜像;
所述检测修复模块1012还用于所述检测系统利用预存攻击脚本对运行中的所述原始镜像进行攻击,获取漏洞特征;所述检测系统基于所述漏洞特征和预设漏洞库,确定镜像漏洞;
所述检测修复模块1012还用于所述检测系统根据所述镜像漏洞,确定原始镜像中的漏洞组件;
所述检测系统获取与所述漏洞组件相匹配的高版本组件;
所述检测系统根据所述高版本组件对所述原始镜像进行修复,得到安全镜像;
所述第一存储模块1013用于将所述安全镜像存储至内部镜像仓库,并将存储地址发送至所述客户端系统;
所述客户端系统102包括:调用模块1021,编辑模块1022和第二存储模块1023;
所述调用模块1021用于根据所述存储地址从所述内部镜像仓库获取目标安全镜像;
所述编辑模块1022用于对所述目标安全镜像进行编辑运行,获取最终镜像;
所述第二存储模块1023用于将所述最终镜像存储至所述内部镜像仓库。
上述容器镜像检测系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种容器镜像检测系统。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,提供了一种计算机设备,包括检测系统以及客户端系统,所述检测系统以及客户端系统的隔离机制包括数据隔离;所述检测系统以及客户端系统的隔离机制还包括物理隔离。
在一个实施例中,提供了两个计算机设备,一个计算机设备包括检测系统,另一个计算机设备包括客户端系统,隔离机制包括数据隔离;检测系统以及客户端系统的隔离机制还包括物理隔离。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
通过检测系统获取原始镜像;
所述检测系统对所述原始镜像进行检测修复,得到安全镜像;
所述检测系统将所述安全镜像存储至内部镜像仓库,并将存储地址发送至客户端;
所述客户端根据所述存储地址从所述内部镜像仓库获取目标安全镜像,对所述目标安全镜像进行编辑运行,得到最终镜像并存储至所述内部镜像仓库。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
通过检测系统获取原始镜像;
所述检测系统对所述原始镜像进行检测修复,得到安全镜像;
所述检测系统将所述安全镜像存储至内部镜像仓库,并将存储地址发送至客户端;
所述客户端根据所述存储地址从所述内部镜像仓库获取目标安全镜像,对所述目标安全镜像进行编辑运行,得到最终镜像并存储至所述内部镜像仓库。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种容器镜像检测方法,其特征在于,所述方法包括:
通过检测系统获取原始镜像;
所述检测系统对所述原始镜像进行检测修复,得到安全镜像;
所述检测系统将所述安全镜像存储至内部镜像仓库,并将存储地址发送至客户端;
所述客户端根据所述存储地址从所述内部镜像仓库获取目标安全镜像,对所述目标安全镜像进行编辑运行,得到最终镜像并存储至所述内部镜像仓库。
2.根据权利要求1所述的方法,其特征在于,所述检测系统对所述原始镜像进行检测修复,得到安全镜像包括:
所述检测系统运行所述原始镜像;
所述检测系统对运行中的所述原始镜像进行漏洞检测,确定镜像漏洞;
所述检测系统对所述镜像漏洞进行修复,得到安全镜像。
3.根据权利要求2所述的方法,其特征在于,所述检测系统对运行中的所述原始镜像进行漏洞检测,确定镜像漏洞包括:
所述检测系统利用预存攻击脚本对运行中的所述原始镜像进行攻击,获取漏洞特征;
所述检测系统基于所述漏洞特征和预设漏洞库,确定镜像漏洞。
4.根据权利要求2所述的方法,其特征在于,所述检测系统对所述镜像漏洞进行修复,得到安全镜像包括:
所述检测系统根据所述镜像漏洞,确定原始镜像中的漏洞组件;
所述检测系统获取与所述漏洞组件相匹配的高版本组件;
所述检测系统根据所述高版本组件对所述原始镜像进行修复,得到安全镜像。
5.根据权利要求1所述的方法,其特征在于,所述客户端根据所述存储地址从所述内部镜像仓库获取目标安全镜像,对所述目标安全镜像进行编辑运行,得到最终镜像并存储至所述内部镜像仓库包括:
所述客户端根据所述存储地址从所述内部镜像仓库获取目标安全镜像;
所述客户端通过agent扫描对所述目标安全镜像进行安全扫描;
若所述目标安全镜像的安全性为正常,所述客户端对所述安全镜像进行编辑运行,得到最终镜像;
所述客户端将所述最终镜像存储至所述内部镜像仓库。
6.根据权利要求5所述的方法,其特征在于,所述客户端通过agent扫描对所述安全镜像进行安全扫描包括:
所述客户端通过agent扫描对所述安全镜像进行安全扫描,确定所述安全镜像是否存在修改;
若存在修改,则所述安全镜像的安全性为异常;
若不存在修改,则所述安全镜像的安全性为正常。
7.根据权利要求6所述的方法,其特征在于,所述确定所述安全镜像是否存在修改包括:
确定所述安全镜像的存储地址是否存在修改和/或所述安全镜像的镜像数据是否存在修改。
8.一种容器镜像检测系统,其特征在于,所述系统包括检测系统以及客户端系统;
所述检测系统包括获取模块,检测修复模块和第一存储模块;
所述获取模块用于获取原始镜像;
所述检测修复模块用于对所述原始镜像进行检测修复,得到安全镜像;
存储模块用于将所述安全镜像存储至内部镜像仓库,并将存储地址发送至所述客户端系统;
所述客户端系统包括:调用模块,编辑模块和第二存储模块;
所述调用模块用于根据所述存储地址从所述内部镜像仓库获取目标安全镜像;
所述编辑模块用于对所述目标安全镜像进行编辑运行,获取最终镜像;
所述第二存储模块用于将所述最终镜像存储至所述内部镜像仓库。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310826486.3A CN116932139A (zh) | 2023-07-06 | 2023-07-06 | 容器镜像检测方法、系统和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310826486.3A CN116932139A (zh) | 2023-07-06 | 2023-07-06 | 容器镜像检测方法、系统和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116932139A true CN116932139A (zh) | 2023-10-24 |
Family
ID=88381947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310826486.3A Pending CN116932139A (zh) | 2023-07-06 | 2023-07-06 | 容器镜像检测方法、系统和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116932139A (zh) |
-
2023
- 2023-07-06 CN CN202310826486.3A patent/CN116932139A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106133743B (zh) | 用于优化预安装应用程序的扫描的系统和方法 | |
US10581897B1 (en) | Method and system for implementing threat intelligence as a service | |
CN107852412B (zh) | 用于网络钓鱼和品牌保护的系统和方法、计算机可读介质 | |
CN112639782A (zh) | 隐私保护部件隐患检测和处置 | |
US9578044B1 (en) | Detection of anomalous advertising content | |
US9183072B1 (en) | Error troubleshooting using a correlated knowledge base | |
US10176327B2 (en) | Method and device for preventing application in an operating system from being uninstalled | |
CN108984234B (zh) | 一种移动终端与摄像装置的调用提示方法 | |
CN115248919A (zh) | 一种函数接口的调用方法、装置、电子设备及存储介质 | |
CN108229162B (zh) | 一种云平台虚拟机完整性校验的实现方法 | |
CN114244808B (zh) | 基于非客户端模式被动检查离线非法外联方法和装置 | |
CN116302964A (zh) | 一种软件系统的安全测试方法、测试设备及介质 | |
CN116932139A (zh) | 容器镜像检测方法、系统和计算机设备 | |
US11360823B2 (en) | Predicting and Scheduling a frequency of scanning areas where occurrences of an actual state of a cloud environment departing from a desired state are high | |
US20200244461A1 (en) | Data Processing Method and Apparatus | |
CN110727945B (zh) | 病毒扫描方法、设备以及计算机可读介质 | |
US20240161122A1 (en) | Verifying a field replaceable unit before replacement | |
CN114785677B (zh) | 日志管理方法、装置、计算机设备、存储介质和程序产品 | |
CN114826726B (zh) | 网络资产脆弱性检测方法、装置、计算机设备和存储介质 | |
US20240126871A1 (en) | Vulnerability analysis for software products | |
CN116226866A (zh) | web应用框架漏洞检测方法、装置及计算机设备 | |
CN117311740A (zh) | 鸿蒙应用程序安装方法、装置、计算机设备和存储介质 | |
CN117424721A (zh) | 前端应用安全防护方法、装置、计算机设备和存储介质 | |
CN114581050A (zh) | 数据合并方法、装置、计算机设备和存储介质 | |
CN117131511A (zh) | 用于数据保护的方法、装置、设备和可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |