CN113849808B - 容器安全管理方法、系统、终端及存储介质 - Google Patents
容器安全管理方法、系统、终端及存储介质 Download PDFInfo
- Publication number
- CN113849808B CN113849808B CN202110956588.8A CN202110956588A CN113849808B CN 113849808 B CN113849808 B CN 113849808B CN 202110956588 A CN202110956588 A CN 202110956588A CN 113849808 B CN113849808 B CN 113849808B
- Authority
- CN
- China
- Prior art keywords
- container
- vulnerability
- scanning
- rules
- user
- 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
Links
- 238000007726 management method Methods 0.000 title claims abstract description 19
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 238000000605 extraction Methods 0.000 claims abstract description 61
- 238000001514 detection method Methods 0.000 claims abstract description 45
- 230000003068 static effect Effects 0.000 claims abstract description 43
- 230000006854 communication Effects 0.000 claims abstract description 17
- 238000004891 communication Methods 0.000 claims abstract description 16
- 238000000034 method Methods 0.000 claims description 33
- 238000012795 verification Methods 0.000 claims description 16
- 238000012544 monitoring process Methods 0.000 claims description 8
- 230000014509 gene expression Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012550 audit Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 abstract description 8
- 241001377938 Yara Species 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
Classifications
-
- 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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种容器安全管理方法、系统、终端及存储介质,包括:创建自定义规则库,并基于自定义规则库的特征提取规则对容器库中的容器进行静态漏洞扫描检测,所述自定义规则库包括用户自定义规则和从规则源获取的规则;在预部署阶段将用户自定义容器镜像部署为独立容器,并限制所述独立容器的网络通信,利用基线核查工具及端口扫描工具对所述独立容器进行动态漏洞扫描检测;将静态漏洞扫描检测或动态漏洞扫描检测得到的扫描结果输出至镜像漏洞库。本发明为用户提供了一种功能更加全面的容器管理工具,能够自动化扫描用户自定义以及第三方容器镜像的安全漏洞,能够扫描正在运行中的容器安全性,并生扫描结果。
Description
技术领域
本发明涉及安全防护技术领域,具体涉及一种容器安全管理方法、系统、终端及存储介质。
背景技术
随着云计算技术的高速发展,新兴的虚拟化技术Docker容器凭借自身启动快,资源损耗小等优点,迅速被各大企业接收。越来越多的公司开始部署容器云并将之应用于实际生产中,在容器云环境中存在着大量的容器,不同于传统的网络架构,容器之间通信有着面向服务的特点,不同的容器之间互相通信,API调用复杂且难以管理。这催生了众多的容器编排系统,在众多的容器编排系统中,Kubernetes凭借其部署难度低、涉及理念先进、可扩展性强等特点,成为各大公司部署开发容器云的首选。然而Kubernetes在资源调度和安全监控审计方面仍然存在不足,无法满足容器安全的复杂需求。本文针对上述问题,提出了一种工具、系统能够基于Kubernetes对容器的资源进行监控,对于容器的安全进行保障。
容器化的服务包含各种功能的实现,因此不同的容器根据应用会打包成不同的镜像文件。在部署应用时可以直接使用打包后的镜像文件直接部署,简化了开发步骤。但是由于应用的多样性以及操作系统的多样性,容器镜像往往由不同的组件构成。让用户了解各种不同的镜像安全性问题是十分困难的。另外容器镜像可以由不同的主体进行发布,不只是应用官方可以发布容器镜像,个人也可以发布容器镜像。容器镜像是否安全,是否存在后门就需要做很多的工作去验证。综上,迫切需要一款容器安全工具能够解决上述问题。
目前,比较主流的容器安全工具有Clair、Docker Benchmark for Security、Docker Security Scanning等。Clair是CoreOS 2016年发布的一款开源容器漏洞扫描工具,该工具可以交叉检查Docker镜像的操作系统以及上面安装的任何软件包是否于任何已知的不安全软件包版本相匹配。漏洞是从特定操作系统的通用漏洞披露(CVE)数据库获取的。通过从镜像文件系统中抽取静态信息以及维护一个组成镜像的不同层之间的差异列表,可以大大减少分析时间,而且不需要实际运行可能存在漏洞的容器。Docker SecurityScanning是一款Docker镜像扫描的安全工具,它以一个服务附加在Docker Cloud私有仓库和位于Docker Hub的官方仓库。该软件对容器镜像进行二进制级别的扫描,列出所有的层和组件,并分析相关的安全问题。另外当镜像经过扫描后将产生详细的组件信息并存储起来,当有新的漏洞情报产生并与存储的组件信息匹配时,工具就会发布安全警告。
从上述两款主流的容器安全工具可以看到,针对容器的动态安全。尤其是通信安全部分的监控与防护较为薄弱。另外,对于容器的安全动态监控中,主要是针对容器对应的镜像进行了监控,对于容器本身缺乏动态的安全防护措施。还有就是,工具仅提供了安全扫描的功能,并未提供安全镜像仓库、自定义安全规则等功能。在漏洞预防以及个性化定制方面不能满足用户的需求。
发明内容
针对现有技术存在的容器安全扫描方式单一、防护薄弱以及定制化程度较低的问题,本发明提供一种容器安全管理方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种容器安全管理方法,包括:
创建自定义规则库,并基于自定义规则库的特征提取规则对容器库中的容器进行静态漏洞扫描检测,所述自定义规则库包括用户自定义规则和从规则源获取的规则;
在预部署阶段将用户自定义容器镜像部署为独立容器,并限制所述独立容器的网络通信,利用基线核查工具及端口扫描工具对所述独立容器进行动态漏洞扫描检测;
将静态漏洞扫描检测或动态漏洞扫描检测得到的扫描结果输出至镜像漏洞库。
进一步的,创建自定义规则库,并基于自定义规则库的漏洞匹配规则对容器库中的容器进行静态漏洞扫描检测,包括:
基于开源的企业容器镜像仓库构建容器库,并为所述容器库设置对外接口,所述对外接口连接上传/下载容器的WEB界面;
定期从漏洞源获取漏洞匹配规则,并将所述漏洞匹配规则保存至漏洞库;
向自定义规则库导入安全软件的特征提取规则和用户自定义的特征提取规则,根据自定义规则库中的特征提取规则对容器库中的容器进行特征扫描,并将扫描结果输出至镜像特征库;
利用安全软件对镜像特征库中的特征与漏洞库中的漏洞匹配规则进行匹配,获取容器漏洞匹配结果。
进一步的,所述方法还包括:
监控漏洞库和自定义规则库的更新情况,如果监控到漏洞库或自定义规则库更新,则触发静态漏洞扫描监测程序。
进一步的,向自定义规则库导入安全软件的特征提取规则和用户自定义的特征提取规则,包括:
从安全软件的规则源获取安全软件的特征提取规则;
对用户自定义的特征提取规则进行格式校验,用户自定义的特征提取规则由字符串和布尔型表达式构成。
进一步的,利用基线核查工具及端口扫描工具对所述独立容器进行动态漏洞扫描检测,包括:
通过安全外壳协议将基线核查工具集成到所述独立容器的内部,并利用所述基线核查工具扫描所述独立容器的配置信息;
利用端口扫描工具对所述独立容器的开放端口进行安全扫描;
将基线核查工具和端口扫描工具的扫描结果输出至镜像漏洞库。
进一步的,所述方法还包括:
根据镜像漏洞库存储的漏洞信息,将存在漏洞的容器及相关镜像文件销毁。
第二方面,本发明提供一种容器安全管理系统,包括:
静态扫描单元,用于创建自定义规则库,并基于自定义规则库的特征提取规则对容器库中的容器进行静态漏洞扫描检测,所述自定义规则库包括用户自定义规则和从规则源获取的规则;
动态扫描单元,用于在预部署阶段将用户自定义容器镜像部署为独立容器,并限制所述独立容器的网络通信,利用基线核查工具及端口扫描工具对所述独立容器进行动态漏洞扫描检测;
结果输出单元,用于将静态漏洞扫描检测或动态漏洞扫描检测得到的扫描结果输出至镜像漏洞库。
进一步的,静态扫描单元用于:
基于开源的企业容器镜像仓库构建容器库,并为所述容器库设置对外接口,所述对外接口连接上传/下载容器的WEB界面;
定期从漏洞源获取漏洞匹配规则,并将所述漏洞匹配规则保存至漏洞库;
向自定义规则库导入安全软件的特征提取规则和用户自定义的特征提取规则,根据自定义规则库中的特征提取规则对容器库中的容器进行特征扫描,并将扫描结果输出至镜像特征库;
利用安全软件对镜像特征库中的特征与漏洞库中的漏洞匹配规则进行匹配,获取容器漏洞匹配结果。
进一步的,系统还包括:
监控漏洞库和自定义规则库的更新情况,如果监控到漏洞库或自定义规则库更新,则触发静态漏洞扫描监测程序。
进一步的,向自定义规则库导入安全软件的特征提取规则和用户自定义的特征提取规则,包括:
从安全软件的规则源获取安全软件的特征提取规则;
对用户自定义的特征提取规则进行格式校验,用户自定义的特征提取规则由字符串和布尔型表达式构成。
进一步的,动态扫描单元用于:
通过安全外壳协议将基线核查工具集成到所述独立容器的内部,并利用所述基线核查工具扫描所述独立容器的配置信息;
利用端口扫描工具对所述独立容器的开放端口进行安全扫描;
将基线核查工具和端口扫描工具的扫描结果输出至镜像漏洞库。
进一步的,系统还包括:
根据镜像漏洞库存储的漏洞信息,将存在漏洞的容器及相关镜像文件销毁。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,
本发明提供的容器安全管理方法、系统、终端及存储介质,通过结合基于自定义规则库的静态漏洞扫描检测和对用户自定义容器进行隔离及动态漏洞扫描检测,实现了对用户自定义容器的多维漏洞检测,本发明将安全镜像仓库作为安全模板、将静态镜像扫描与动态容器扫描相结合的扫描方法、为用户提供了一种功能更加全面的容器管理工具,能够自动化扫描用户自定义以及第三方容器镜像的安全漏洞,能够扫描正在运行中的容器安全性,并生扫描结果。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的方法的另一示意性流程图。
图3是本发明一个实施例的系统的示意性框图。
图4为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
下面对本发明中出现的关键术语进行解释。
容器技术:有效的将单个操作系统的资源划分到孤立的组中,以便更好的在孤立的组之间平衡有冲突的资源使用需求,这种技术就是容器技术。容器是镜像的运行时实例。正如从虚拟机模板上启动VM一样,用户也同样可以从单个镜像上启动一个或多个容器。
镜像(Mirroring)是一种文件存储形式,是冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。可以把许多文件做成一个镜像文件,与GHOST等程序放在一个盘里用GHOST等软件打开后,又恢复成许多文件,RAID 1和RAID 10使用的就是镜像。常见的镜像文件格式有ISO、BIN、IMG、TAO、DAO、CIF、FCD。
虚拟机和容器最大的区别是容器更快并且更轻量级——与虚拟机运行在完整的操作系统之上相比,容器会共享其所在主机的操作系统/内核。
SSH为Secure Shell的缩写,由IETF的网络小组(Network Working Group)所制定;SSH为建立在应用层基础上的安全协议。SSH是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
针对不同的应用场景,提供标准化的安全应用镜像。用户无需自己部署镜像后再配置其中的安全参数,针对特定的服务类型,提供根据安全通用要求优化后的安全镜像。用户只需要选用已经配置好的镜像,部署后进行个性化设置即可使用。大大提高了非专业人员对于容器安全的使用便利。针对用户自定义镜像进行安全扫描,深度分析镜像中使用的系统版本,应用组件版本以及配置信息。对于每个单独的镜像进行编号,归类其对应的信息到数据库中。如果数据库中的组件与安全漏洞库中的信息匹配,则进行漏洞告警。针对静态镜像扫描无法应对容器实时变化的特点,采用动态部署镜像并实行动态扫描的方式弥补静态扫描不充分的情况。但是动态部署镜像从网络上与其他容器相互隔离,防止不安全因素发生扩散。对于容器的镜像安全以及运行时安全从以上几个方面实现工具的主要功能特性优化,实现容器安全的全流程管理。
基于上述问题,本发明提供一种容器安全管理方法,图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种容器安全管理系统。
如图1所示,该方法包括:
步骤110,创建自定义规则库,并基于自定义规则库的特征提取规则对容器库中的容器进行静态漏洞扫描检测,所述自定义规则库包括用户自定义规则和从规则源获取的规则;
步骤120,在预部署阶段将用户自定义容器镜像部署为独立容器,并限制所述独立容器的网络通信,利用基线核查工具及端口扫描工具对所述独立容器进行动态漏洞扫描检测;
步骤130,将静态漏洞扫描检测或动态漏洞扫描检测得到的扫描结果输出至镜像漏洞库。
为了便于对本发明的理解,下面以本发明容器安全管理方法的原理,结合实施例中对云平台的容器进行安全管理的过程,对本发明提供的容器安全管理方法做进一步的描述。
具体的,请参考图2,所述容器安全管理方法包括:
S1、创建自定义规则库,并基于自定义规则库的特征提取规则对容器库中的容器进行静态漏洞扫描检测,所述自定义规则库包括用户自定义规则和从规则源获取的规则。
基于开源的企业容器镜像仓库构建容器库,并为所述容器库设置对外接口,所述对外接口连接上传/下载容器的WEB界面;定期从漏洞源获取漏洞匹配规则,并将所述漏洞匹配规则保存至漏洞库;向自定义规则库导入安全软件的特征提取规则和用户自定义的特征提取规则,根据自定义规则库中的特征提取规则对容器库中的容器进行特征扫描,并将扫描结果输出至镜像特征库;利用安全软件对镜像特征库中的特征与漏洞库中的漏洞匹配规则进行匹配,获取容器漏洞匹配结果。监控漏洞库和自定义规则库的更新情况,如果监控到漏洞库或自定义规则库更新,则触发静态漏洞扫描监测程序。具体的向自定义规则库导入安全软件的特征提取规则和用户自定义的特征提取规则的方法,包括:从安全软件的规则源获取安全软件的特征提取规则;对用户自定义的特征提取规则进行格式校验,用户自定义的特征提取规则由字符串和布尔型表达式构成。
容器库基于harbor进行构建,在存储大容量镜像方面有非常大的优势,另外harbor还有容器的上传下载等实用的web界供用户进行操作,大大提高了可用性。同时可以满足自定义安全镜像并上传到镜像库的需求。安全镜像库使用HTTPS或SFTP进行通讯,可以保证通信过程中的安全性。对于访问过程要求对用户进行身份验证,用户需要通过验证凭证后方可操作镜像库中的镜像。每个安全镜像都进行hash算法计算唯一的ID值,在用户部署时进行安全校验。确保镜像分发过程中的安全性。
具体静态扫描步骤如下:
(1)扫描工具定期从配置的漏洞源获取漏洞匹配规则然后存储到漏洞库;
(2)用户将自定义的特征提取规则导入到规则库;
(3)扫描工具通过规则源获取Yara(一种安全软件)特征提取规则更新到规则库;静态扫描工具支持从以下Yara规则源获取Yara特征提取规则:Yara官方预置规则库、ClamAV的特征码转换为Yara特征提取规则、yara-generator上共享的特征提取规则,静态扫描工具支持用户自定义Yara特征提取规则并保存到规则库。
匹配规则由字符串区域和条件区域两部分组成,其中条件区域必须存在,字符串区域则可有可无,规则样例如下:
上面的规则表示如果匹配到文本类型的字符串“text here”或者十六进制的“E234 A1 C8 23 FB”则返回成功匹配到此条规则。静态扫描工具使用MongoDB存储漏洞数据库以及镜像漏洞库和镜像特征库,使用Json进行数据格式化。
静态扫描的自定义规则由一系列字符串和一个布尔型表达式构成。规则支持通配符、大小写敏感字符串、正则表达式、特殊符号以及其他特性。规则的编写类似于C语言结构,其规则声明以rule标识,在规则描述中可以包括字母、数字甚至下划线字符,但字符第一个字符不能是数字,且单条描述不能超过128个字符。
(4)Yara从漏洞库加载漏洞匹配规则;
(5)扫描工具调用Yara引擎对镜像文件进行特征提取规则匹配并输出扫描结果到镜像特征库中;
(6)通过对比镜像特征库中的特征与漏洞库中的漏洞匹配规则生成镜像的漏洞信息并存储到镜像漏洞库;
(7)当漏洞库中的漏洞信息更新时,再次与镜像特征库特征进行比对,就可以匹配到历史漏洞信息;当规则库中的规则更新时,则需要再次执行扫描操作,就可以更新镜像特征库。
S2、在预部署阶段将用户自定义容器镜像部署为独立容器,并限制所述独立容器的网络通信,利用基线核查工具及端口扫描工具对所述独立容器进行动态漏洞扫描检测。
通过安全外壳协议将基线核查工具集成到所述独立容器的内部,并利用所述基线核查工具扫描所述独立容器的配置信息;利用端口扫描工具对所述独立容器的开放端口进行安全扫描;将基线核查工具和端口扫描工具的扫描结果输出至镜像漏洞库。
动态扫描是对预部署镜像进行安全扫描,集成nmap端口扫描工具,安全基线核查工具。对容器进行安全扫描,确认容器的动态安全情况。动态扫描的步骤如下:
(1)工具将用户自定义镜像部署为独立容器,并限制网络通信;
(2)通过ssh等方式将基线核查工具集成到容器内部;
(3)使用端口扫描工具nmap对容器开放端口进行安全扫描;
(4)分析结果并输出到镜像漏洞库;
架构中描述的基线核查工具指的是使用python语言编写的python脚本,该脚本可以自动执行口令认证信息扫描、端口及服务配置扫描、IPtables等防火墙规则扫描。输出结果为不安全的默认配置信息。
S3、将静态漏洞扫描检测或动态漏洞扫描检测得到的扫描结果输出至镜像漏洞库。
静态漏洞检测和动态漏洞检测的结果都汇总到镜像漏洞库中,在预部署容器扫描完成后,即销毁该容器。
本实施例中提到的数据库类型及对应的数据存储结构如下:
镜像ID | 镜像name | 镜像路径 |
镜像name+镜像hash值前4 | string | harbor路径 |
表1镜像仓库表
镜像ID | 组件name/Yara规则名 | 组件版本/Yara匹配成功 |
镜像name+镜像hash值前4 | string/string | string/1(固定) |
表2镜像特征表
规则名 | 规则来源 | 规则脚本 |
string | string | 规则脚本 |
表3 Yara规则表
漏洞ID | 漏洞组件 | 组件版本 | 漏洞描述 |
漏洞编号 | string | string | string |
表4漏洞信息表
镜像ID | 漏洞信息 | 更新时间 |
镜像name+镜像hash值前4 | 规则名/漏洞名 | date |
表5镜像漏洞表
如图3所示,该系统300包括:
静态扫描单元310,用于创建自定义规则库,并基于自定义规则库的特征提取规则对容器库中的容器进行静态漏洞扫描检测,所述自定义规则库包括用户自定义规则和从规则源获取的规则;
动态扫描单元320,用于在预部署阶段将用户自定义容器镜像部署为独立容器,并限制所述独立容器的网络通信,利用基线核查工具及端口扫描工具对所述独立容器进行动态漏洞扫描检测;
结果输出单元330,用于将静态漏洞扫描检测或动态漏洞扫描检测得到的扫描结果输出至镜像漏洞库。
可选地,作为本发明一个实施例,静态扫描单元用于:
基于开源的企业容器镜像仓库构建容器库,并为所述容器库设置对外接口,所述对外接口连接上传/下载容器的WEB界面;
定期从漏洞源获取漏洞匹配规则,并将所述漏洞匹配规则保存至漏洞库;
向自定义规则库导入安全软件的特征提取规则和用户自定义的特征提取规则,根据自定义规则库中的特征提取规则对容器库中的容器进行特征扫描,并将扫描结果输出至镜像特征库;
利用安全软件对镜像特征库中的特征与漏洞库中的漏洞匹配规则进行匹配,获取容器漏洞匹配结果。
可选地,作为本发明一个实施例,系统还包括:
监控漏洞库和自定义规则库的更新情况,如果监控到漏洞库或自定义规则库更新,则触发静态漏洞扫描监测程序。
可选地,作为本发明一个实施例,向自定义规则库导入安全软件的特征提取规则和用户自定义的特征提取规则,包括:
从安全软件的规则源获取安全软件的特征提取规则;
对用户自定义的特征提取规则进行格式校验,用户自定义的特征提取规则由字符串和布尔型表达式构成。
可选地,作为本发明一个实施例,动态扫描单元用于:
通过安全外壳协议将基线核查工具集成到所述独立容器的内部,并利用所述基线核查工具扫描所述独立容器的配置信息;
利用端口扫描工具对所述独立容器的开放端口进行安全扫描;
将基线核查工具和端口扫描工具的扫描结果输出至镜像漏洞库。
可选地,作为本发明一个实施例,系统还包括:
根据镜像漏洞库存储的漏洞信息,将存在漏洞的容器及相关镜像文件销毁。
图4为本发明实施例提供的一种终端400的结构示意图,该终端400可以用于执行本发明实施例提供的容器安全管理方法。
其中,该终端400可以包括:处理器410、存储器420及通信单元430。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器420可以用于存储处理器410的执行指令,存储器420可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器420中的执行指令由处理器410执行时,使得终端400能够执行以下上述方法实施例中的部分或全部步骤。
处理器410为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器420内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器410可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元430,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
因此,本发明通过结合基于自定义规则库的静态漏洞扫描检测和对用户自定义容器进行隔离及动态漏洞扫描检测,实现了对用户自定义容器的多维漏洞检测,本发明将安全镜像仓库作为安全模板、将静态镜像扫描与动态容器扫描相结合的扫描方法、为用户提供了一种功能更加全面的容器管理工具,能够自动化扫描用户自定义以及第三方容器镜像的安全漏洞,能够扫描正在运行中的容器安全性,并生扫描结果,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (8)
1.一种容器安全管理方法,其特征在于,包括:
创建自定义规则库,并基于自定义规则库的特征提取规则对容器库中的容器进行静态漏洞扫描检测,所述自定义规则库包括用户自定义规则和从规则源获取的规则;
在预部署阶段将用户自定义容器镜像部署为独立容器,并限制所述独立容器的网络通信,利用基线核查工具及端口扫描工具对所述独立容器进行动态漏洞扫描检测;
将静态漏洞扫描检测或动态漏洞扫描检测得到的扫描结果输出至镜像漏洞库;
创建自定义规则库,并基于自定义规则库的特征提取规则对容器库中的容器进行静态漏洞扫描检测,包括:
基于开源的企业容器镜像仓库构建容器库,并为所述容器库设置对外接口,所述对外接口连接上传/下载容器的WEB界面;
定期从漏洞源获取漏洞匹配规则,并将所述漏洞匹配规则保存至漏洞库;
向自定义规则库导入安全软件的特征提取规则和用户自定义的特征提取规则,根据自定义规则库中的特征提取规则对容器库中的容器进行特征扫描,并将扫描结果输出至镜像特征库;
利用安全软件对镜像特征库中的特征与漏洞库中的漏洞匹配规则进行匹配,获取容器漏洞匹配结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
监控漏洞库和自定义规则库的更新情况,如果监控到漏洞库或自定义规则库更新,则触发静态漏洞扫描监测程序。
3.根据权利要求1所述的方法,其特征在于,向自定义规则库导入安全软件的特征提取规则和用户自定义的特征提取规则,包括:
从安全软件的规则源获取安全软件的特征提取规则;
对用户自定义的特征提取规则进行格式校验,用户自定义的特征提取规则由字符串和布尔型表达式构成。
4.根据权利要求1所述的方法,其特征在于,利用基线核查工具及端口扫描工具对所述独立容器进行动态漏洞扫描检测,包括:
通过安全外壳协议将基线核查工具集成到所述独立容器的内部,并利用所述基线核查工具扫描所述独立容器的配置信息;
利用端口扫描工具对所述独立容器的开放端口进行安全扫描;
将基线核查工具和端口扫描工具的扫描结果输出至镜像漏洞库。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据镜像漏洞库存储的漏洞信息,将存在漏洞的容器及相关镜像文件销毁。
6.一种容器安全管理系统,其特征在于,包括:
静态扫描单元,用于创建自定义规则库,并基于自定义规则库的特征提取规则对容器库中的容器进行静态漏洞扫描检测,所述自定义规则库包括用户自定义规则和从规则源获取的规则;
动态扫描单元,用于在预部署阶段将用户自定义容器镜像部署为独立容器,并限制所述独立容器的网络通信,利用基线核查工具及端口扫描工具对所述独立容器进行动态漏洞扫描检测;
结果输出单元,用于将静态漏洞扫描检测或动态漏洞扫描检测得到的扫描结果输出至镜像漏洞库;
所述静态扫描单元用于:
基于开源的企业容器镜像仓库构建容器库,并为所述容器库设置对外接口,所述对外接口连接上传/下载容器的WEB界面;
定期从漏洞源获取漏洞匹配规则,并将所述漏洞匹配规则保存至漏洞库;
向自定义规则库导入安全软件的特征提取规则和用户自定义的特征提取规则,根据自定义规则库中的特征提取规则对容器库中的容器进行特征扫描,并将扫描结果输出至镜像特征库;
利用安全软件对镜像特征库中的特征与漏洞库中的漏洞匹配规则进行匹配,获取容器漏洞匹配结果。
7.一种终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-5任一项所述的方法。
8.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110956588.8A CN113849808B (zh) | 2021-08-19 | 2021-08-19 | 容器安全管理方法、系统、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110956588.8A CN113849808B (zh) | 2021-08-19 | 2021-08-19 | 容器安全管理方法、系统、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113849808A CN113849808A (zh) | 2021-12-28 |
CN113849808B true CN113849808B (zh) | 2023-08-25 |
Family
ID=78976064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110956588.8A Active CN113849808B (zh) | 2021-08-19 | 2021-08-19 | 容器安全管理方法、系统、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113849808B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114826662B (zh) * | 2022-03-18 | 2024-02-06 | 深圳开源互联网安全技术有限公司 | 一种自定义规则防护方法、装置、设备及可读存储介质 |
CN115189933A (zh) * | 2022-07-06 | 2022-10-14 | 上海交通大学 | 针对Docker的自动化配置安全检测方法和系统 |
CN115348186A (zh) * | 2022-10-18 | 2022-11-15 | 江苏博云科技股份有限公司 | 容器环境下的安全基准的管理方法、设备及存储介质 |
CN115664862B (zh) * | 2022-12-27 | 2023-05-26 | 深圳市四格互联信息技术有限公司 | 安全基线扫描方法、装置及存储介质 |
CN116431276A (zh) * | 2023-02-28 | 2023-07-14 | 港珠澳大桥管理局 | 容器安全防护方法、装置、计算机设备和存储介质 |
CN118410487B (zh) * | 2024-07-04 | 2024-10-01 | 北京安天网络安全技术有限公司 | 一种批量扫描方法、装置、计算设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106657159A (zh) * | 2017-02-27 | 2017-05-10 | 杭州迪普科技股份有限公司 | 安全策略的生成方法及装置 |
CN110187955A (zh) * | 2019-05-27 | 2019-08-30 | 四川大学 | 一种动静态结合的Docker容器内容安全性检测方法和装置 |
CN111680304A (zh) * | 2020-06-15 | 2020-09-18 | 北京凌云信安科技有限公司 | 一种综合检测Docker漏洞和不安全配置的扫描系统 |
CN112613041A (zh) * | 2020-12-25 | 2021-04-06 | 南方电网深圳数字电网研究院有限公司 | 容器镜像检测方法和装置、电子设备、存储介质 |
-
2021
- 2021-08-19 CN CN202110956588.8A patent/CN113849808B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106657159A (zh) * | 2017-02-27 | 2017-05-10 | 杭州迪普科技股份有限公司 | 安全策略的生成方法及装置 |
CN110187955A (zh) * | 2019-05-27 | 2019-08-30 | 四川大学 | 一种动静态结合的Docker容器内容安全性检测方法和装置 |
CN111680304A (zh) * | 2020-06-15 | 2020-09-18 | 北京凌云信安科技有限公司 | 一种综合检测Docker漏洞和不安全配置的扫描系统 |
CN112613041A (zh) * | 2020-12-25 | 2021-04-06 | 南方电网深圳数字电网研究院有限公司 | 容器镜像检测方法和装置、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113849808A (zh) | 2021-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113849808B (zh) | 容器安全管理方法、系统、终端及存储介质 | |
CN111819544B (zh) | 用于虚拟计算资源的部署前安全分析器服务 | |
CN110622129B (zh) | 使用软件容器用于加速数据分析应用程序开发和部署的各方面的方法、系统和门户 | |
US11720410B2 (en) | Secure service isolation between instances of cloud products using a SaaS model | |
CN109766696B (zh) | 软件权限的设置方法及装置、存储介质、电子装置 | |
US12021873B2 (en) | Cloud least identity privilege and data access framework | |
US11962601B1 (en) | Automatically prioritizing computing resource configurations for remediation | |
US8271608B2 (en) | System and method for a mobile cross-platform software system | |
US20170034200A1 (en) | Flaw Remediation Management | |
CN105471823A (zh) | 一种敏感信息处理方法、装置、服务器及安全判定系统 | |
WO2015183698A1 (en) | Method and system for implementing data security policies using database classification | |
US20210194762A1 (en) | Honeypot asset cloning | |
CN104221024A (zh) | 统一扫描引擎 | |
CN115113970A (zh) | 一种基于容器引擎的数据处理方法以及相关设备 | |
US20080209501A1 (en) | System and method for implementing mandatory access control in a computer, and applications thereof | |
US11934817B2 (en) | Systems and methods for deploying federated infrastructure as code | |
US20200112602A1 (en) | Cloud intelligence data model and framework | |
CN109286630B (zh) | 等保处理方法、装置、设备及存储介质 | |
Blaise et al. | Stay at the Helm: secure Kubernetes deployments via graph generation and attack reconstruction | |
CN114036495A (zh) | 一种更新私有化部署验证码系统的方法及装置 | |
CN115730319A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
Choi et al. | Large‐Scale Analysis of Remote Code Injection Attacks in Android Apps | |
US11526617B2 (en) | Information security system for identifying security threats in deployed software package | |
US11550925B2 (en) | Information security system for identifying potential security threats in software package deployment | |
CN116628696A (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 |