CN113642004B - 一种容器镜像安全扫描与修复的方法、装置及设备 - Google Patents

一种容器镜像安全扫描与修复的方法、装置及设备 Download PDF

Info

Publication number
CN113642004B
CN113642004B CN202110919367.3A CN202110919367A CN113642004B CN 113642004 B CN113642004 B CN 113642004B CN 202110919367 A CN202110919367 A CN 202110919367A CN 113642004 B CN113642004 B CN 113642004B
Authority
CN
China
Prior art keywords
information
vulnerability
mirror image
container
software package
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.)
Active
Application number
CN202110919367.3A
Other languages
English (en)
Other versions
CN113642004A (zh
Inventor
李军豪
范渊
吴卓群
王欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DBAPPSecurity Co Ltd
Original Assignee
DBAPPSecurity Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by DBAPPSecurity Co Ltd filed Critical DBAPPSecurity Co Ltd
Priority to CN202110919367.3A priority Critical patent/CN113642004B/zh
Publication of CN113642004A publication Critical patent/CN113642004A/zh
Application granted granted Critical
Publication of CN113642004B publication Critical patent/CN113642004B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Facsimiles In General (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种容器镜像安全扫描与修复的方法,能够在CI/CD流程构建容器镜像后,对容器镜像提取软件包版本信息;在漏洞数据库中,为软件包版本信息匹配漏洞信息与补丁信息;根据匹配到的漏洞信息与补丁信息,修复容器镜像,以便CI/CD流程推送发布容器镜像。可见,该方法在CI/CD自动化构建容器镜像的过程中,加入容器漏洞扫描,修复漏洞并构建安全容器镜像功能,之后进行正常的推送发布,保证了容器镜像的安全性。此外,本申请还提供了一种容器镜像安全扫描与修复的装置、设备及可读存储介质,其技术效果与上述方法的技术效果相对应。

Description

一种容器镜像安全扫描与修复的方法、装置及设备
技术领域
本申请涉及计算机技术领域,特别涉及一种容器镜像安全扫描与修复的方法、装置、设备及可读存储介质。
背景技术
基于容器部署微服务的场景下,容器自身的安全性无法得到保证,包括容器厂商在内都没有对容器镜像的安全性提供支持,往往一个微服务的容器镜像都存在大量CVE(Common Vulnerabilities and Exposures)漏洞。虽然目前市面上已经有了一些针对容器镜像漏洞的扫描的工具,但这些工具在扫描出漏洞后无法对漏洞做出修复,加上目前开发人员对于漏洞的严重程度没有很好的安全意识,往往会忽略修复这些漏洞。该问题不解决,在网络安全愈发重要的现在,许多不法分子会通过服务程序的CVE漏洞进行渗透,从而控制业务服务,对产品造成很大威胁,甚至带来经济损失。
发明内容
本申请的目的是提供一种容器镜像安全扫描与修复的方法、装置、设备及可读存储介质,用以解决目前缺乏有效的对容器镜像进行扫描和修复的方案的问题。其具体方案如下:
第一方面,本申请提供了一种容器镜像安全扫描与修复的方法,包括:
在CI/CD流程构建容器镜像后,对所述容器镜像提取软件包版本信息;
在漏洞数据库中,为所述软件包版本信息匹配漏洞信息与补丁信息;
根据匹配到的漏洞信息与补丁信息,修复所述容器镜像,以便CI/CD流程推送发布所述容器镜像。
可选的,所述在CI/CD流程构建容器镜像后,对所述容器镜像提取软件包版本信息,包括:
在CI/CD流程构建容器镜像后,利用嵌入CI/CD流程脚本的客户端,对所述容器镜像提取软件包版本信息,并将所述软件包版本信息发送至服务端;
相应的,所述在漏洞数据库中,为所述软件包版本信息匹配漏洞信息与补丁信息,包括:
在漏洞数据库中,利用所述服务端为所述软件包版本信息匹配漏洞信息与补丁信息,并将匹配到的漏洞信息与补丁信息发送至所述客户端。
可选的,所述在CI/CD流程构建容器镜像后,对所述容器镜像提取软件包版本信息,包括:
在CI/CD流程构建容器镜像后,对所述容器镜像按层提取每层中系统软件包和第三方软件包的软件包版本信息,并进行整合。
可选的,所述根据匹配到的漏洞信息与补丁信息,修复所述容器镜像,包括:
根据匹配到的漏洞信息与补丁信息,生成容器修复脚本,执行所述容器修复脚本以修复所述容器镜像。
可选的,在所述在漏洞数据库中,为所述软件包版本信息匹配漏洞信息与补丁信息之前,还包括:
获取软件厂商提供的CVE漏洞库,解析所述CVE漏洞库中的漏洞数据,将解析结果按照预设格式存储至漏洞数据库中。
可选的,所述解析结果包括:漏洞ID、影响范围、修复版本、等级。
可选的,在所述解析所述CVE漏洞库中的漏洞数据,将解析结果按照预设格式存储至漏洞数据库中之后,还包括:
周期性地更新所述漏洞数据库。
第二方面,本申请提供了一种容器镜像安全扫描与修复的装置,包括:
信息提取模块,用于在CI/CD流程构建容器镜像后,对所述容器镜像提取软件包版本信息;
匹配模块,用于在漏洞数据库中,为所述软件包版本信息匹配漏洞信息与补丁信息;
修复模块,用于根据匹配到的漏洞信息与补丁信息,修复所述容器镜像,以便CI/CD流程推送发布所述容器镜像。
第三方面,本申请提供了一种容器镜像安全扫描与修复的设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上所述的容器镜像安全扫描与修复的方法。
第四方面,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的容器镜像安全扫描与修复的方法。
本申请所提供的一种容器镜像安全扫描与修复的方法,包括:在CI/CD流程构建容器镜像后,对容器镜像提取软件包版本信息;在漏洞数据库中,为软件包版本信息匹配漏洞信息与补丁信息;根据匹配到的漏洞信息与补丁信息,修复容器镜像,以便CI/CD流程推送发布容器镜像。一般的CI/CD流程包含代码拉取、编译生成容器镜像、推送发布容器镜像三个步骤,该方法在编译后加入镜像扫描和修复步骤,当编译完成生成容器镜像后,对编译完成的容器镜像进行扫描与修复,之后进行正常的推送发布。可见,该方法在CI/CD自动化构建容器镜像的过程中,加入容器漏洞扫描,修复漏洞并构建安全容器镜像功能,保证了容器镜像的安全性。
此外,本申请还提供了一种容器镜像安全扫描与修复的装置、设备及可读存储介质,其技术效果与上述方法的技术效果相对应,这里不再赘述。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请所提供的容器镜像安全扫描与修复的方法实施例一的流程图;
图2为本申请所提供的容器镜像安全扫描与修复的方法实施例二的流程图;
图3为本申请所提供的容器镜像安全扫描与修复的方法的软件总体流程;
图4为本申请所提供的容器镜像安全扫描与修复的方法的漏洞扫描服务端启动流程;
图5为本申请所提供的容器镜像安全扫描与修复的方法的漏洞与补丁数据库更新流程;
图6为本申请所提供的容器镜像安全扫描与修复的装置实施例的功能框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先对本申请的业务背景进行介绍,主要涉及以下内容:
CI/CD是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。CI/CD的核心概念是持续集成、持续交付和持续部署。作为一个面向开发和运营团队的解决方案,CI/CD主要针对在集成新代码时所引发的问题。具体而言,CI/CD可让持续自动化和持续监控贯穿于应用的整个生命周期(从集成和测试阶段,到交付和部署),这些关联的事务通常被统称为“CI/CD管道”,由开发和运维团队以敏捷方式协同支持。
微服务架构能够实现由小型自主服务组成一个整体应用,各个组成部分之间是松耦合的,复杂性低,各个部分可以独立部署,修复bug或者引入新特性更容易,能够独立扩展,不同技术栈之间可以使用不同框架、不同版本库甚至不同的操作系统平台。
容器技术有时会被称为轻量化虚拟技术,但不同于基于Hypervisor的传统虚拟化技术,容器技术并不会虚拟硬件。容器本身和容器内的进程都是运行在宿主Linux系统的内核之上。但与直接运行的进程不同,运行在容器内的进程会被隔离和约束,从而以直接运行的高效实现了虚拟技术的大部分效果。
微服务容器化持续集成交付是目前许多公司采用的微服务解决方案,主要是将上述三个技术结合,将微服务部署在独立的容器服务中,通过CI/CD对每次版本迭代后的新服务程序进行持续集成发布,这样可以有效提高开发迭代效率。
CVE是通用漏洞披露(Common Vulnerabilities and Exposures)的英文缩写,列出了已公开披露的各种计算机安全漏洞。通常我们谈到的CVE指的是分配给每个安全漏洞的CVE ID编号,CVE的作用是可以帮助IT专业人员协调自己的工作,轻松地确定漏洞的优先级并加以处理,从而提高计算机系统的安全性。CVE条目非常简短,条目中既没有技术数据,也不包含与风险、影响和修复有关的信息。这些详细信息会收录在其他数据库中,包括美国国家漏洞数据库、CERT/CC漏洞注释数据库以及由供应商和其他组织维护的各种列表。通过CVE ID,用户就能跨上述不同系统来简便地识别同一个安全漏洞。
下面对本申请提供的容器镜像安全扫描与修复的方法实施例一进行介绍,参见图1,实施例一包括:
S11、在CI/CD流程构建容器镜像后,对容器镜像提取软件包版本信息;
S12、在漏洞数据库中,为软件包版本信息匹配漏洞信息与补丁信息;
S13、根据匹配到的漏洞信息与补丁信息,修复容器镜像,以便CI/CD流程推送发布容器镜像。
具体的,在CI/CD流程构建容器镜像后,对容器镜像按层提取每层中系统软件包和第三方软件包的软件包版本信息,并进行整合。现有技术对容器镜像内的系统包、第三方软件包扫描后只能输出漏洞报表,无法对漏洞做出修补。而本实施例通过更新补丁修复版本的软件安装包,解决了漏洞修复问题。
现有技术在容器漏洞扫描部署上都采用独立的部署形式,无法结合到一般软件的构建发布流程中,这使得工具可用性较低。而本实施例将扫描功能集成至CI/CD流程脚本中,可以在容器镜像构建的过程中检查并修复漏洞。通常一个容器项目会配置到自动化构建平台持续集成发布(jenkins/gitlab ci),CI/CD流程脚本一般包含代码拉取、编译生成容器镜像、推送发布容器镜像三个步骤,本实施例在编译后加入容器镜像扫描与修复的步骤,当编译完成生成容器镜像后,对编译完成的容器镜像进行扫描与修复,扫描检查修复后会生成同名容器镜像替换掉前一步骤产生的容器镜像,接下去就进行正常的推送发布。
作为一种具体的实施方式,采用C/S的架构实现整个实施例的步骤,设置服务端,并将客户端嵌入CI/CD流程脚本。此时,上述S11至S13的步骤如下:在CI/CD流程构建容器镜像后,利用嵌入CI/CD流程脚本的客户端,对容器镜像提取软件包版本信息,并将软件包版本信息发送至服务端;在漏洞数据库中,利用服务端为软件包版本信息匹配漏洞信息与补丁信息,并将匹配到的漏洞信息与补丁信息发送至客户端;利用嵌入CI/CD流程脚本的客户端,根据匹配到的漏洞信息与补丁信息,修复容器镜像,以便CI/CD流程推送发布容器镜像。
现有技术都是采用软件厂商公开的CVE漏洞库来进行漏洞数据匹配,不同厂商的漏洞数据结构与内容有差异,而且需要多个数据源进行匹配,导致匹配速度比较慢。作为一种优选的实施方式,本实施例不在软件厂商提供的CVE漏洞库进行匹配,而是对各个软件厂商提供的CVE漏洞库进行解析和有效内容的提取,并将有效内容按照特定的数据格式进行存储,从而形成一个轻量型的漏洞数据库,保证匹配效率。
具体的,获取软件厂商提供的CVE漏洞库,解析CVE漏洞库中的漏洞数据,将解析结果按照预设格式存储至漏洞数据库中,该解析结果包括:漏洞ID、影响范围、修复版本、等级。在此基础之上,还可以对漏洞数据库进行周期性的更新,以保证其内容的可靠性。漏洞数据库的创建和更新过程可以基于独立服务端实现。
这里还可以通过另一种方式提升匹配效率。如上文所述,在提取镜像信息时,本实施例对容器镜像按层提取每层中系统软件包和第三方软件包的软件包版本信息,已知不同容器镜像的镜像层是相似的,所以可以在匹配中漏洞信息与补丁信息时将匹配结果记录在分层信息数据库中,以供后续参考。后续在进行匹配之前,先判断分层信息数据库中是否有相关信息,如有,则直接从分层信息数据库获得匹配结果,避免匹配过程的繁琐流程。
作为一种具体的实施方式,在修复镜像时,根据匹配到的漏洞信息与补丁信息生成容器修复脚本,通过执行容器修复脚本以修复容器镜像。
本实施例所提供一种容器镜像安全扫描与修复的方法,很好的解决了微服务部署安全问题,在扫描出漏洞后可以自动化地生成修复脚本,并对容器镜像进行修复构建,很好的解决了原本没有自动对容器镜像进行修复这一缺陷。在此基础之上,一方面,采用C/S架构模式,将客户端嵌入CI/CD流程脚本中,使得安全合规检查更加方便;另一方面,整合各个软件厂商的漏洞数据库,删除了大量无用的漏洞描述详细信息,使得扫描速度加快。
下面开始详细介绍本申请提供的容器镜像安全扫描与修复的方法实施例二,参见图2,实施例二具体包括:
S21、创建漏洞数据库并周期性地更新漏洞数据库;
通过整合各软件厂商的漏洞库,仅保留一定的漏洞信息与补丁信息,并进行周期性地更新,在漏洞扫描的速度上得到很大提升。具体的,获取软件厂商提供的CVE漏洞库,解析CVE漏洞库中的漏洞数据,将解析结果按照预设格式存储至漏洞数据库中,解析结果包括:漏洞ID、影响范围、修复版本、等级。
S22、设置服务端,并将客户端嵌入CI/CD流程脚本;
S23、在CI/CD流程构建容器镜像后,利用客户端对容器镜像按层提取每层中系统软件包和第三方软件包的软件包版本信息并进行整合,将软件包版本信息发送至服务端;
S24、对于每一镜像层的软件包版本信息,判断分层信息数据库中,是否存在对应的漏洞信息与补丁信息,若存在,进入S25,否则进入S26;
S25、将漏洞信息与补丁信息发送至客户端;
S26、在漏洞数据库中,利用服务端为软件包版本信息匹配漏洞信息与补丁信息,在分层信息数据库中记录匹配到的漏洞信息与补丁信息,并将匹配到的漏洞信息与补丁信息发送至客户端。
S27、利用嵌入CI/CD流程脚本的客户端,根据匹配到的漏洞信息与补丁信息生成容器修复脚本,执行容器修复脚本以修复容器镜像,以便CI/CD流程推送发布容器镜像。
基于上述实施例二,下面以实际应用为例对整体实施过程进行说明。
主要分为三个子系统:镜像分析与修复子系统(客户端)、漏洞扫描子系统(服务端)、漏洞数据库构建子系统(独立服务端)。
镜像分析与修复子系统部署于CI/CD流程脚本中,当容器镜像自动化构建完毕后,对容器镜像分层提取相关软件包版本信息,按层归档软件版本信息(比如镜像层ID、相关软件版本信息),然后将该容器镜像所有的层信息发送至漏洞扫描子系统,漏洞扫描子系统返回扫描结果后,若存在相关漏洞,则根据返回的对应漏洞修复的补丁信息,生成镜像修复脚本(其中包含了漏洞补丁安装的相关脚本语句),最后执行镜像修复脚本修复容器镜像,最后将修复完成的容器镜像进行后续部署。
漏洞扫描子系统部署于服务端,当启动漏洞扫描子系统后,首先从漏洞数据库服务中下载最新的漏洞数据库包,然后保持服务后端运行状态,等待漏洞扫描任务。当有漏洞扫描任务请求时,首先将接收到的镜像各分层信息,从分层信息数据库中查询该层是否已经存在(因为容器镜像是分层结构,最底下的基础层在很多情况下是重复的,为了提高效率,将已存在的分层与相关漏洞信息存储起来,每次开始新任务时,如果有已存在的层,则无需继续扫描,直接可以整合该层的漏洞信息)。若该层不存在,则根据软件包名称与版本,通过漏洞数据库扫描各软件漏洞信息,整合单层的信息,存储在分析信息数据库中并且整合所有层的漏洞信息与补丁信息,返回至客户端。
漏洞与补丁数据库构建子系统独立部署于服务端,根据各软件厂商提供的漏洞库,解析所有的信息,筛选需要的漏洞名称,漏洞ID,等级与补丁信息,重新整合为新的漏洞数据库文件,存储在服务器中,提供给漏洞扫描子系统下载。漏洞与补丁数据库每24h自动更新一次,保证漏洞数据库为最新。该子系统从各厂商的漏洞库中下载完整的CVE漏洞库,通常CVE漏洞库中包含了漏洞的完整描述,本实施例解析每条漏洞数据,摘取漏洞ID、影响范围、修复版本、等级,构成本实施例的数据库格式(ID是漏洞的唯一标识;影响范围用于漏洞扫描时漏洞的确认;修复版本用于构建修复镜像是指定更新的版本;等级用于确认漏洞是否需要修复的标准),这样提取后整个漏洞数据减少了95%以上无用的信息,构成所需的数据结构。将这样的数据整理成一个k/v的数据结构,采用leveldb这样的nosql数据库存储至单个文件中。数据结构具体如下:
{
[id:xxx;affected_range:xxx;fixed_version:xxx;level:high],
[id:xxx;affected_range:xxx;fixed_version:xxx;level:high],
[id:xxx;affected_range:xxx;fixed_version:xxx;level:high],
}
软件总体流程如图3所示。CI/CD流程构建容器镜像之后,对容器镜像按层分析,提取每一层中的软件版本信息,按层整合软件版本信息,并上传至漏洞扫描系统。对于每一个镜像层,漏洞扫描系统检查分层数据库中是否存在当前层的漏洞信息和补丁信息,若存在,则直接获取该漏洞信息和补丁信息,若不存在,则在漏洞数据库中为其匹配对应的漏洞信息和补丁信息,最终整合所有的漏洞信息和补丁信息发送至客户端。客户端判断每条漏洞信息是否有对应的补丁信息,若有,则构建镜像修复脚本,执行镜像修复脚本更新容器镜像,若无则不做处理,最终镜像构建过程结束,得到安全性较高的容器镜像。
漏洞扫描服务端启动流程如图4所示,当启动漏洞扫描服务后,首先会从本软件的漏洞与补丁数据库中下载最新的数据包,加载数据包至内存中,开启http服务,等待任务。
漏洞与补丁数据库更新流程如图5所示,漏洞与补丁数据库是基于其余各厂商各自的软件漏洞库,解析后筛选漏洞名称、漏洞ID、补丁信息,组合为本软件试用的数据格式存储。该服务也在后台持续运行,每隔24h自动更新一次。
综上,本实施例提供了一种基于CI/CD的容器镜像安全扫描与修复的方法,原理是:根据容器自动化构建后生成的容器镜像,客户端提取容器镜像的系统软件包、第三方软件包的名称与版本信息,将所有的信息发送至漏洞扫描系统;漏洞扫描系统根据各软件版本信息在漏洞库中查找该版本软件对应的漏洞信息与补丁信息,并整合所有检测到的信息;客户端检测完成后若发现存在相关漏洞信息,则根据对应的补丁信息,重新以该容器镜像作为基础镜像,生成漏洞修复构建脚本,并构建后完成镜像漏洞修复;反之则不存在漏洞,无需修复。采用的漏洞库是集成了各软件包厂商的漏洞库,筛选过多无用信息后生成的轻量型漏洞库,漏洞库每24h自动更新。
总之,本实施例的关键点是在CI/CD自动化构建容器镜像过程中,加入容器漏洞扫描,修复漏洞并构建安全容器镜像功能。
下面对本申请实施例提供的容器镜像安全扫描与修复的装置进行介绍,下文描述的容器镜像安全扫描与修复的装置与上文描述的容器镜像安全扫描与修复的方法可相互对应参照。
如图6所示,本实施例的容器镜像安全扫描与修复的装置,包括:
信息提取模块61,用于在CI/CD流程构建容器镜像后,对所述容器镜像提取软件包版本信息;
匹配模块62,用于在漏洞数据库中,为所述软件包版本信息匹配漏洞信息与补丁信息;
修复模块63,用于根据匹配到的漏洞信息与补丁信息,修复所述容器镜像,以便CI/CD流程推送发布所述容器镜像。
本实施例的容器镜像安全扫描与修复的装置用于实现前述的容器镜像安全扫描与修复的方法,因此该装置的具体实施方式可见前文中的容器镜像安全扫描与修复的方法的实施例部分,这里不再赘述。
此外,本申请还提供了一种容器镜像安全扫描与修复的设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上文所述的容器镜像安全扫描与修复的方法。
最后,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上文所述的容器镜像安全扫描与修复的方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (8)

1.一种容器镜像安全扫描与修复的方法,其特征在于,包括:
在CI/CD流程构建容器镜像后,对所述容器镜像提取软件包版本信息;
在漏洞数据库中,为所述软件包版本信息匹配漏洞信息与补丁信息;
根据匹配到的漏洞信息与补丁信息,修复所述容器镜像,以便CI/CD流程推送发布所述容器镜像;
所述在CI/CD流程构建容器镜像后,对所述容器镜像提取软件包版本信息,包括:
在CI/CD流程构建容器镜像后,利用嵌入CI/CD流程脚本的客户端,对所述容器镜像提取软件包版本信息,并将所述软件包版本信息发送至服务端;
相应的,所述在漏洞数据库中,为所述软件包版本信息匹配漏洞信息与补丁信息,包括:
在漏洞数据库中,利用所述服务端为所述软件包版本信息匹配漏洞信息与补丁信息,并将匹配到的漏洞信息与补丁信息发送至所述客户端;
在所述在漏洞数据库中,为所述软件包版本信息匹配漏洞信息与补丁信息之前,还包括:
获取软件厂商提供的CVE漏洞库,解析所述CVE漏洞库中的漏洞数据,将解析结果按照预设格式存储至漏洞数据库中。
2.如权利要求1所述的方法,其特征在于,所述在CI/CD流程构建容器镜像后,对所述容器镜像提取软件包版本信息,包括:
在CI/CD流程构建容器镜像后,对所述容器镜像按层提取每层中系统软件包和第三方软件包的软件包版本信息,并进行整合。
3.如权利要求1所述的方法,其特征在于,所述根据匹配到的漏洞信息与补丁信息,修复所述容器镜像,包括:
根据匹配到的漏洞信息与补丁信息,生成容器修复脚本,执行所述容器修复脚本以修复所述容器镜像。
4.如权利要求1所述的方法,其特征在于,所述解析结果包括:漏洞ID、影响范围、修复版本、等级。
5.如权利要求1所述的方法,其特征在于,在所述解析所述CVE漏洞库中的漏洞数据,将解析结果按照预设格式存储至漏洞数据库中之后,还包括:
周期性地更新所述漏洞数据库。
6.一种容器镜像安全扫描与修复的装置,其特征在于,包括:
信息提取模块,用于在CI/CD流程构建容器镜像后,对所述容器镜像提取软件包版本信息;
匹配模块,用于在漏洞数据库中,为所述软件包版本信息匹配漏洞信息与补丁信息;
修复模块,用于根据匹配到的漏洞信息与补丁信息,修复所述容器镜像,以便CI/CD流程推送发布所述容器镜像;
信息提取模块具体用于在CI/CD流程构建容器镜像后,利用嵌入CI/CD流程脚本的客户端,对所述容器镜像提取软件包版本信息,并将所述软件包版本信息发送至服务端;
相应的,匹配模块具体用于在漏洞数据库中,利用所述服务端为所述软件包版本信息匹配漏洞信息与补丁信息,并将匹配到的漏洞信息与补丁信息发送至所述客户端;
在所述在漏洞数据库中,为所述软件包版本信息匹配漏洞信息与补丁信息之前,还包括:
获取软件厂商提供的CVE漏洞库,解析所述CVE漏洞库中的漏洞数据,将解析结果按照预设格式存储至漏洞数据库中。
7.一种容器镜像安全扫描与修复的设备,其特征在于,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如权利要求1至5任意一项所述的容器镜像安全扫描与修复的方法。
8.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如权利要求1至5任意一项所述的容器镜像安全扫描与修复的方法。
CN202110919367.3A 2021-08-11 2021-08-11 一种容器镜像安全扫描与修复的方法、装置及设备 Active CN113642004B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110919367.3A CN113642004B (zh) 2021-08-11 2021-08-11 一种容器镜像安全扫描与修复的方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110919367.3A CN113642004B (zh) 2021-08-11 2021-08-11 一种容器镜像安全扫描与修复的方法、装置及设备

Publications (2)

Publication Number Publication Date
CN113642004A CN113642004A (zh) 2021-11-12
CN113642004B true CN113642004B (zh) 2024-04-09

Family

ID=78420836

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110919367.3A Active CN113642004B (zh) 2021-08-11 2021-08-11 一种容器镜像安全扫描与修复的方法、装置及设备

Country Status (1)

Country Link
CN (1) CN113642004B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114143110B (zh) * 2021-12-08 2024-04-26 湖北天融信网络安全技术有限公司 一种拟态设备的漏洞处理方法、装置及系统
CN114329486A (zh) * 2021-12-24 2022-04-12 中电信数智科技有限公司 一种资产漏洞管理方法、装置、电子设备及存储介质
CN116089964A (zh) * 2023-03-06 2023-05-09 天翼云科技有限公司 软件包处理方法、装置、电子设备和可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112395042A (zh) * 2020-10-27 2021-02-23 国电南瑞科技股份有限公司 一种面向业务容器镜像进行安全扫描的方法和装置
CN112613042A (zh) * 2020-12-28 2021-04-06 北京浪潮数据技术有限公司 一种Docker容器的安全检查与修复工具、方法及设备
CN112613041A (zh) * 2020-12-25 2021-04-06 南方电网深圳数字电网研究院有限公司 容器镜像检测方法和装置、电子设备、存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112395042A (zh) * 2020-10-27 2021-02-23 国电南瑞科技股份有限公司 一种面向业务容器镜像进行安全扫描的方法和装置
CN112613041A (zh) * 2020-12-25 2021-04-06 南方电网深圳数字电网研究院有限公司 容器镜像检测方法和装置、电子设备、存储介质
CN112613042A (zh) * 2020-12-28 2021-04-06 北京浪潮数据技术有限公司 一种Docker容器的安全检查与修复工具、方法及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于容器的融媒体微服务架构安全威胁及防护方法;宫铭豪;梁晋春;姚颖颖;王晓艳;广播电视信息;20190515(第05期);全文 *

Also Published As

Publication number Publication date
CN113642004A (zh) 2021-11-12

Similar Documents

Publication Publication Date Title
CN113642004B (zh) 一种容器镜像安全扫描与修复的方法、装置及设备
CN106933635B (zh) Docker镜像生成方法及Docker容器
US8108456B2 (en) Method and apparatus for migrating the system environment on which the applications depend
US9465625B2 (en) Provisioning of operating environments on a server in a networked environment
US8799890B2 (en) Generating a version identifier for a computing system based on software packages installed on the computing system
CN104679534B (zh) 系统应用安装包加载处理方法、装置及终端
CN111198695A (zh) 微服务治理管理平台的自动化部署方法和电子设备
US20110055544A1 (en) Systems and methods for tracking a history of changes associated with software packages and configuration management in a computing system
CN101651669A (zh) 业务箱集成服务器和业务箱集成方法
CN110888652B (zh) 基于jenkins插件的多版本构建方法及终端
CN117099079A (zh) 经由配置在云平台中的数据中心上的持续交付部署的服务的系统配置冻结和变更管理
US11645086B2 (en) System and method for implementing a filesystem agent management solution
CN112256278A (zh) 编译方法、装置、设备及存储介质
CN111949276B (zh) 一种基于容器方式自动部署应用程序的系统及方法
US9130801B1 (en) Pushed-based package distribution
CN112860282A (zh) 集群插件的升级方法、装置和服务器
CN110908670A (zh) 一种自动发布服务的方法及装置
CN112286543B (zh) 一种应用服务部署方法及装置
US20080109783A1 (en) Resource assessment method and system
CN116069354A (zh) 应用程序的升级方法、装置、设备及存储介质
CN111382079B (zh) 应用程序现场还原的方法、装置、设备及存储介质
BE1020876A3 (nl) Systeem en methode voor het activeren van een softwaremodule
CN113204359A (zh) 一种服务器在线升级方法及装置
CN108255499B (zh) 组件处理方法和装置
CN116132276A (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
GR01 Patent grant
GR01 Patent grant