容器安全防护方法、装置、计算机设备和存储介质与流程
未命名
07-20
阅读:86
评论:0
1.本技术涉及计算机技术领域,特别是涉及一种容器安全防护方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术:
2.随着计算机技术领域的发展,出现了容器;容器是一个开源的应用程序引擎,通过容器,开发者可以将应用服务及其运行时所需的环境资源打包成一个镜像,从而可以在不同客户环境之间轻松迁移应用。
3.但在传统的容器的应用过程中,镜像在制作、传输以及运行过程中都可能会被非法篡改,从而导致容器的运行安全性较低。
技术实现要素:
4.基于此,有必要针对上述技术问题,提供一种能够提高容器运行安全性的容器安全防护方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
5.第一方面,本技术提供了一种容器安全防护方法。所述方法包括:
6.对容器的运行环境进行基线检测;
7.在所述容器的运行环境的基线检测结果为检测通过的情况下,获取所述容器内的行为信息;
8.根据预先构建的行为模型,确认所述行为信息的行为类型;
9.在所述行为信息的行为类型为异常行为的情况下,对所述容器进行安全防护。
10.在其中一个实施例中,所述容器内的行为信息至少包括网络通信行为信息与文件读写行为信息;
11.所述获取所述容器内的行为信息,包括:
12.在所述容器处理访问请求的情况下,根据所述访问请求,获取所述容器内的访问进程信息、访问请求源端口信息、访问请求目的端口信息以及访问时间;
13.组合所述访问进程信息、所述访问请求源端口信息、所述访问请求目的端口信息以及所述访问时间,得到所述容器内的网络通信行为信息;
14.所述获取所述容器内的行为信息,还包括:
15.在所述容器处理读写请求的情况下,根据所述读写请求,获取所述容器内的读写进程信息、被访问文件路径、被访问文件标识以及读写时间;
16.组合所述读写进程信息、所述被访问文件路径、所述被访问文件标识以及所述读写时间,得到所述容器内的文件读写行为信息。
17.在其中一个实施例中,所述根据预先构建的行为模型,确认所述行为信息的行为类型,包括:
18.通过所述预先构建的行为模型,确认所述行为信息与所述预先构建的行为模型中的各个样本行为信息之间的相似度;
19.按照从大到小的顺序,对所述相似度进行排序,获取排序后的相似度中最大的相似度,作为目标相似度;
20.在所述目标相似度小于预设相似度阈值的情况下,将所述行为信息的行为类型确认为异常行为。
21.在其中一个实施例中,所述预先构建的行为模型至少包括网络通信行为模型与文件读写行为模型;
22.所述预先构建的行为模型通过下述方式训练获得:
23.获取样本容器的端口信息与样本客户端的端口信息,作为样本网络通信行为信息,以及获取所述样本容器内的文件路径与文件标识,作为样本文件读写行文信息;所述样本容器为所述容器对应的容器集群中的各个容器,所述样本客户端为与所述样本容器对应的各个客户端;
24.对所述样本网络通信行为信息进行训练,得到所述网络通信行为模型,以及对所述样本文件读写信息进行训练,得到所述文件读写行为模型;
25.将所述网络通信行为模型与所述文件读写行为模型,作为所述预先构建的行为模型。
26.在其中一个实施例中,所述在所述行为信息的行为类型为异常行为的情况下,对所述容器进行安全防护,包括:
27.在所述行为信息的行为类型为异常行为的情况下,将所述容器的运行状态切换为拒绝访问状态;
28.在所述容器的运行状态为拒绝访问状态的情况下,根据所述容器内与所述行为信息对应的进程信息,恢复所述容器内的数据;
29.在所述容器内的数据恢复成功的情况下,在所述容器内,清除与所述行为信息对应的进程信息。
30.在其中一个实施例中,在对容器的运行环境进行基线检测之后,还包括:
31.根据预设的镜像文件漏洞库,扫描镜像仓库中的镜像文件,以及根据预设的容器文件病毒库,扫描所述容器中的进程关联文件;所述进程关联文件是指所述容器中与所述行为信息的进程信息关联的文件;
32.在所述镜像文件中存在所述预设的镜像文件漏洞库中的漏洞的情况下,对所述镜像文件进行补丁处理,并展示所述镜像文件的扫描结果,以及在所述进程关联文件中存在所述预设的容器文件病毒库中的病毒的情况下,清除所述进程关联文件中存在的病毒。
33.第二方面,本技术还提供了一种容器安全防护装置。所述装置包括:
34.环境基线检测模块,用于对容器的运行环境进行基线检测;
35.行为信息获取模块,用于在所述容器的运行环境的基线检测结果为检测通过的情况下,获取所述容器内的行为信息;
36.行为信息确认模块,用于根据预先构建的行为模型,确认所述行为信息的行为类型;
37.容器安全防护模块,用于在所述行为信息的行为类型为异常行为的情况下,对所述容器进行安全防护。
38.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理
器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
39.对容器的运行环境进行基线检测;
40.在所述容器的运行环境的基线检测结果为检测通过的情况下,获取所述容器内的行为信息;
41.根据预先构建的行为模型,确认所述行为信息的行为类型;
42.在所述行为信息的行为类型为异常行为的情况下,对所述容器进行安全防护。
43.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
44.对容器的运行环境进行基线检测;
45.在所述容器的运行环境的基线检测结果为检测通过的情况下,获取所述容器内的行为信息;
46.根据预先构建的行为模型,确认所述行为信息的行为类型;
47.在所述行为信息的行为类型为异常行为的情况下,对所述容器进行安全防护。
48.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
49.对容器的运行环境进行基线检测;
50.在所述容器的运行环境的基线检测结果为检测通过的情况下,获取所述容器内的行为信息;
51.根据预先构建的行为模型,确认所述行为信息的行为类型;
52.在所述行为信息的行为类型为异常行为的情况下,对所述容器进行安全防护。
53.上述容器安全防护方法、装置、计算机设备、存储介质和计算机程序产品,首先对容器的运行环境进行基线检测;然后在容器的运行环境的基线检测结果为检测通过的情况下,获取容器内的行为信息;接着根据预先构建的行为模型,确认行为信息的行为类型;最后在行为信息的行为类型为异常行为的情况下,对容器进行安全防护。这样,通过对容器运行环境的基线检测以及预先构建的行为模型,能够从容器内众多的行为信息中识别出行为类型为异常行为的行为信息,并针对异常行为,及时地对容器的运行进行了安全防护,避免了在容器的应用过程中,由于异常行为导致镜像文件被异常篡改的情况,进而提高了容器运行的安全性。
附图说明
54.图1为一个实施例中容器安全防护方法的流程示意图;
55.图2为一个实施例中构建预先构建的行为模型的步骤的流程示意图;
56.图3为另一个实施例中容器安全防护方法的流程示意图;
57.图4为一个实施例中容器安全防护装置的结构框图;
58.图5为一个实施例中计算机设备的内部结构图。
具体实施方式
59.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不
用于限定本技术。
60.在一示例性实施例中,如图1所示,提供了一种容器安全防护方法,本实施例以该方法应用于服务器进行举例说明;可以理解的是,该方法也可以应用于终端,还可以应用于包括服务器和终端的系统,并通过服务器和终端之间的交互实现;其中,服务器可以用独立的服务器或者是服务器组成的服务器集群来实现,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。本实施例中,该方法包括以下步骤:
61.步骤s102,对容器的运行环境进行基线检测。
62.其中,容器的运行环境包括容器应用的宿主机、docker(一个开源的应用容器引擎)以及kubernetes(一个开源的,用于管理云平台中多个主机上的容器化的应用);基线检测是指对安全基线的检测,安全基线是指系统配置的最低安全要求,即对运行环境的基线检测,能够监测容器应用的宿主机、docker以及kubernetes的配置是否满足最低安全要求。能够理解的是,服务器支持用户自定义安全基线的标准以及检测结果处理方式,以不断增强运行环境的基线检测能力。
63.具体地,服务器通过内置的基线检测子系统,对容器的运行环境,如容器应用的宿主机、docker以及kubernetes等进行基线检测。
64.举例说明,在检测过程中,基线检测子系统可以依据规范的开源巡检脚本,如csi-docker-benchmark定义的参数和规则,同时集成其他的脚本工具如docker cis security,对容器应用的宿主机、docker以及kubernetes等容器的运行环境的安全基线进行检测。
65.步骤s104,在容器的运行环境的基线检测结果为检测通过的情况下,获取容器内的行为信息。
66.其中,容器内的行为信息,包括容器与容器之间的行为信息,以及容器与客户端之间的行为信息;客户端是指使用容器应用的各个客户端。
67.具体地,服务器在容器的运行环境的基线检测结果均满足安全基线的最低安全要求的情况下,将容器的运行环境的基线检测结果定义为检测通过;并通过服务器内置的容器行为获取与学习子系统,获取各个容器之间的行为信息以及各个容器与客户端之间的行为信息。
68.举例说明,服务器中的容器行为获取与学习子系统通过在各个容器上部署的探针,获取各个容器之间以及各个容器与各个客户端之间的行为信息。
69.步骤s106,根据预先构建的行为模型,确认行为信息的行为类型。
70.其中,预先构建的行为模型,是服务器内置的容器行为获取与学习子系统对各个容器的行为信息进行深度学习构建得到的。
71.具体地,服务器通过内置的容器行为监控子系统,将容器内的行为信息输入至预先构建的行为模型中,根据行为信息与预先构建的行为模型中的样本行为信息之间的相似度,确认行为信息的行为类型。
72.步骤s108,在行为信息的行为类型为异常行为的情况下,对容器进行安全防护。
73.其中,行为信息的行为类型包括正常行为与异常行为,正常行为是指行为信息已被记录在预先构建的行为模型中,异常行为是指行为信息未被记录在预先构建的行为模型
中。
74.具体地,服务器在根据预先构建的行为模型,确认容器内的行为信息未被记录在预先构建的行为模型中时,将行为信息的行为类型确认为异常行为;并通过服务器内置的容器行为防御子系统,对容器进行安全防护,并向容器的运维人员发送安全警报信息。
75.上述容器安全防护方法中,服务器首先对容器的运行环境进行基线检测;然后在容器的运行环境的基线检测结果为检测通过的情况下,获取容器内的行为信息;接着根据预先构建的行为模型,确认行为信息的行为类型;最后在行为信息的行为类型为异常行为的情况下,对容器进行安全防护。这样,服务器通过对容器运行环境的基线检测以及预先构建的行为模型,能够从容器内众多的行为信息中识别出行为类型为异常行为的行为信息,并针对异常行为,及时地对容器的运行进行了安全防护,避免了在容器的应用过程中,由于异常行为导致镜像文件被异常篡改的情况,进而提高了容器运行的安全性。
76.在一示例性实施例中,上述步骤s104中的容器内的行为信息至少包括网络通信行为信息与文件读写行为信息。
77.上述步骤s104中,获取容器内的行为信息,具体包括以下内容:在容器处理访问请求的情况下,根据访问请求,获取容器内的访问进程信息、访问请求源端口信息、访问请求目的端口信息以及访问时间;组合访问进程信息、访问请求源端口信息、访问请求目的端口信息以及访问时间,得到容器内的网络通信行为信息。
78.上述步骤s104中,获取容器内的行为信息,还具体包括以下内容:在容器处理读写请求的情况下,根据读写请求,获取容器内的读写进程信息、被访问文件路径、被访问文件标识以及读写时间;组合读写进程信息、被访问文件路径、被访问文件标识以及读写时间,得到容器内的文件读写行为信息。
79.其中,访问请求是指其余容器或客户端在需要访问某一目标容器时,向目标容器发送的请求;访问进程信息是指,目标容器在处理访问请求时产生,记录访问操作的进程信息;访问请求源端口信息是指,请求访问目标容器,并向目标容器发送访问请求的容器或客户端的标识,如容器的名称或是客户端的名称;访问请求目的端口信息是指,接受访问请求的目标容器的标识,如目标容器的名称;访问时间是指其余容器或客户端访问目标容器的具体时间。
80.其中,读写请求是指其余容器或客户端在需要对目标容器中的文件进行读写操作时,向目标容器发送的请求;读写进程信息是指,其余容器或客户端在根据读写请求,对容器内的文件进行读写操作时,目标容器产生的记录读写操作的进程信息;被访问文件路径是指,其余容器或客户端需要进行读写操作的文件,在目标容器中的存储路径,如具体的文件夹名称;被访问文件标识是指,其余容器或客户端需要进行读写操作的文件在目标容器中的存储名称,如具体的文件名;读写时间是指,其余容器或客户端进行读写操作的具体时间。
81.具体地,容器内的行为信息包括网络通信行为与文件读写行为;针对网络通信行为信息,服务器通过内置的容器行为获取与学习子系统,在目标容器处理访问请求的情况下,获取目标容器内由于处理访问请求产生的访问进程信息、发送访问请求的容器或客户端的标识、接受访问请求的目标容器的标识以及其余容器或客户端的访问目标容器的具体访问时间;然后对访问进程信息、发送访问请求的容器或客户端的标识、接受访问请求的容
器的标识,以及其余容器或客户端的访问目标容器的具体访问时间进行组合处理,得到目标容器内的网络通信行为信息。
82.针对文件读写行为信息,服务器通过内置的容器行为获取与学习子系统,在目标容器处理读写请求的情况下,获取目标容器内由于处理读写请求产生的读写进程信息、其余容器或客户端需要进行读写操作的文件在目标容器内的具体文件夹名称和具体文件名,以及其余容器或客户端对目标容器进行读写操作的具体时间;然后对读写进程信息、其余容器或客户端需要进行读写操作的文件的具体文件夹名称和具体文件名,以及其余容器或客户端对目标容器进行读写操作的具体时间进行组合处理,得到目标容器内的文件读写行为信息。
83.本实施例中,服务器通过对网络通信行为信息与文件读写行为信息的获取,能够实现对容器内的行为信息的监控,从而在出现异常行为信息的第一时间,及时发现异常行为信息,并针对异常行为信息对容器采取安全防护措施,进而提高了容器运行的安全性。
84.在一示例性实施例中,上述步骤s106,根据预先构建的行为模型,确认行为信息的行为类型,具体包括以下内容:通过预先构建的行为模型,确认行为信息与预先构建的行为模型中的各个样本行为信息之间的相似度;按照从大到小的顺序,对相似度进行排序,获取排序后的相似度中最大的相似度,作为目标相似度;在目标相似度小于预设相似度阈值的情况下,将行为信息的行为类型确认为异常行为。
85.其中,预设相似度阈值为确认行为信息的行为类型的阈值条件,当目标相似度小于预设相似度阈值时,说明在预先构建的行为模型中的各个样本行为信息中,没有记录行为信息,因此行为信息的行为类型为异常行为;当目标相似度大于预设相似度阈值时,说明在预先构建的行为模型中的各个样本行为信息中,记录有行为信息,因此行为信息的行为类型为正常行为。
86.具体地,服务器通过内置的容器行为监控子系统,将行为信息输入至预先构建的行为模型中,并通过预先构建的行为模型,对比行为信息和预先构建的行为模型中的样本行为信息,从而确认行为信息与各个样本行为信息之间的相似度;然后容器行为监控子系统将得到的相似度,按照从大到小的顺序进行排列;接着容器行为监控子系统获取排序后的相似度中最大的相似度,作为目标相似度,对比目标相似度与预设相似度阈值,在目标相似度小于预设相似度阈值的情况下,将行为信息的行为类型确认为异常行为。
87.需要说明的是,行为信息与各个样本行为信息之间的相似度,可以通过平方欧式距离或是余弦相似度来进行衡量,也可以通过其它的方式确认相似度。
88.本实施例中,服务器通过行为信息与预先构建的行为模型中的样本行为信息之间的最大相似度,确认行为信息是否记录在预先构建的行为模型中,从而确认行为信息的行为类型是否为异常行为,从而及时发现并针对性处理容器中的异常行为信息,进而提高了容器运行的安全性。
89.在一示例性实施例中,上述步骤s106中的预先构建的行为模型至少包括网络通信行为模型与文件读写行为模型。
90.如图2所示,预先构建的行为模型通过下述方式训练获得:
91.步骤s202,获取样本容器的端口信息与样本客户端的端口信息,作为样本网络通信行为信息,以及获取样本容器内的文件路径与文件标识,作为样本文件读写行文信息。
92.步骤s204,对样本网络通信行为信息进行训练,得到网络通信行为模型,以及对样本文件读写信息进行训练,得到文件读写行为模型。
93.步骤s206,将网络通信行为模型与文件读写行为模型,作为预先构建的行为模型。
94.其中,样本容器为容器对应的容器集群中的各个容器,样本客户端为与样本容器对应的各个客户端,即使用样本容器的各个客户端;样本容器的端口信息为各个样本容器的标识,如样本容器的名称;样本客户端的端口信息为各个样本客户端的标识,如样本客户端的名称。
95.具体地,服务器通过内置的容器行为获取与学习子系统,获取样本容器的标识、样本服务器的标识,作为样本网络通信行为信息;然后获取样本容器内的各个文件所在的文件夹名称和文件名称,作为样本文件读写行为信息;然后容器行为获取与学习子系统通过循环神经网络,分别对样本网络通信行为信息和样本文件读写行为信息进行深度学习,从而进行模型的训练,分别得到网络通信行为模型和文件读写行为模型;最后服务器将网络通信行为模型与文件读写行为模型,确认为预先构建的行为模型。
96.本实施例中,服务器通过对样本网络通信行为信息和样本文件读写行为信息的获取与学习,实现了对网络通信行为模型与文件读写行为模型的训练,从而得到了容器的行为准则,即预先构建的行为模型,进而为后续通过预先构建的行为模型,确认容器内的行为信息的行为类型提供了基础,进一步提高了容器运行的安全性。
97.在一示例性实施例中,上述步骤s108,所述在所述行为信息的行为类型为异常行为的情况下,对所述容器进行安全防护,具体包括以下内容:在行为信息的行为类型为异常行为的情况下,将容器的运行状态切换为拒绝访问状态;在容器的运行状态为拒绝访问状态的情况下,根据容器内与行为信息对应的进程信息,恢复容器内的数据;在容器内的数据恢复成功的情况下,在容器内,清除与行为信息对应的进程信息。
98.具体地,服务器在容器出现异常行为的情况下,通过内置的容器行为防御子系统,将容器的运行状态切换为拒绝访问状态,暂时停止其余容器或客户端对容器的访问;然后容器行为防御子系统在容器的运行状态为拒绝访问状态的情况下,根据容器内由于异常行为产生的访问进程信息和读写进程信息,将容器内的数据恢复至出现异常行为之前;并且在容器内的数据恢复成功的情况下,对容器内由于异常行为产生的访问进程信息和读写进程信息进行清除处理。同时,服务器还可以在容器出现异常行为的情况下,向容器的运维人员发送安全警报信息,以提示运维人员容器出现异常行为。
99.本实施例中,服务器通过对容器运行状态的切换,能够暂时切断容器与外界的连接,避免容器对外提供错误的服务;同时,服务器通过对容器内部数据的恢复,能够将容器中的数据恢复至出现异常行为之前,保证数据的完整与正确;此外,服务器还通过对容器中的进程信息的清除,进一步实现对容器的动态安全防护;基于以上三点,服务器提高了容器运行过程中的安全性。
100.在一示例性实施例中,在上述步骤s102,在对容器的运行环境进行基线检测之后,还具体包括以下内容:根据预设的镜像文件漏洞库,扫描镜像仓库中的镜像文件,以及根据预设的容器文件病毒库,扫描容器中的进程关联文件;在镜像文件中存在预设的镜像文件漏洞库中的漏洞的情况下,对镜像文件进行补丁处理,并展示镜像文件的扫描结果,以及在进程关联文件中存在预设的容器文件病毒库中的病毒的情况下,清除进程关联文件中存在
的病毒。
101.其中,预设的镜像文件漏洞库,可以通过官方的cve(common vulnerabilities&exposures,通用漏洞披露)漏洞库构建得到,也可以由用户自定义扩展cve漏洞库和漏洞扫描规则构建得到;预设的容器文件病毒库,可以通过主流的linux病毒库构建得到,也可以由用户自定义病毒库和病毒扫描规则构建得到。进程关联文件是指容器中与行为信息的进程信息关联的文件。
102.具体地,服务器在镜像文件上传到镜像仓库后,通过内置的cve漏洞扫描子系统以及预设的镜像文件漏洞库,根据实时扫描指令或定时扫描指令创建扫描任务,对上传到镜像仓库的镜像文件进行扫描,并与预设的镜像文件漏洞库中的漏洞进行比对;当上传到镜像仓库的镜像文件中存在预设的镜像文件漏洞库中的漏洞时,cve漏洞扫描子系统对镜像文件进行相应的补丁处理,组织存在漏洞的镜像文件的继续构建和分发,避免由于漏洞的存在导致镜像文件被篡改;同时将镜像文件的扫描结果进行可视化展示,以提醒运维人员。
103.同时,服务器通过内置的病毒查杀子系统以及预设的容器文件病毒库,对容器中与行为信息的进程信息关联的进程关联文件,如访问进程信息关联文件或读写进程信息关联文件,进行基于预设的容器文件病毒库的病毒扫描;当进程关联文件中存在预设的容器文件病毒库中的病毒的情况下,将进程关联文件中存在的病毒清除掉。
104.本实施例中,服务器基于预设的镜像文件漏洞库和预设的容器文件病毒库,对镜像文件的漏洞进行扫描和补丁,以及对容器的进程关联文件的病毒进行扫描和清除,能够进一步对容器实现静态安全防护,从而提高了容器运行的安全性。
105.在一示例性实施例中,如图3所示,提供了另一种容器安全防护方法,以该方法应用于服务器为例进行说明,包括以下步骤:
106.步骤s301,对容器的运行环境进行基线检测。
107.步骤s302,根据预设的镜像文件漏洞库,扫描镜像仓库中的镜像文件,以及根据预设的容器文件病毒库,扫描容器中的进程关联文件;进程关联文件是指容器中与行为信息的进程信息关联的文件。
108.步骤s303,在镜像文件中存在预设的镜像文件漏洞库中的漏洞的情况下,对镜像文件进行补丁处理,并展示镜像文件的扫描结果,以及在进程关联文件中存在预设的容器文件病毒库中的病毒的情况下,清除进程关联文件中存在的病毒。
109.步骤s304,在容器的运行环境的基线检测结果为检测通过,且容器处理访问请求的情况下或处理读写请求的情况下,根据访问请求,获取容器内的访问进程信息、访问请求源端口信息、访问请求目的端口信息以及访问时间,以及根据读写请求,获取容器内的读写进程信息、被访问文件路径、被访问文件标识以及读写时间。
110.步骤s305,组合访问进程信息、访问请求源端口信息、访问请求目的端口信息以及访问时间,得到容器内的网络通信行为信息,以及组合读写进程信息、被访问文件路径、被访问文件标识以及读写时间,得到容器内的文件读写行为信息。
111.步骤s306,组合网络通信行为信息和文件读写行为信息,得到容器内的行为信息。
112.步骤s307,通过预先构建的行为模型,确认行为信息与预先构建的行为模型中的各个样本行为信息之间的相似度。
113.其中,预先构建的行为模型至少包括网络通信行为模型和文件读写行为模型。
114.步骤s308,按照从大到小的顺序,对相似度进行排序,获取排序后的相似度中最大的相似度,作为目标相似。
115.步骤s309,在目标相似度小于预设相似度阈值的情况下,将行为信息的行为类型确认为异常行为。
116.步骤s310,在行为信息的行为类型为异常行为的情况下,将容器的运行状态切换为拒绝访问状态,以及根据容器内与行为信息对应的进程信息,恢复容器内的数据,并在容器内,清除与行为信息对应的进程信息。
117.本实施例中,服务器通过对网络通信行为信息与文件读写行为信息的获取,实现对容器内的行为信息的监控,以及通过行为信息与预先构建的行为模型中的样本行为信息之间的最大相似度,确认行为信息是否记录在预先构建的行为模型中,从而能够在出现异常行为信息的第一时间,及时发现并确认异常行为信息;同时,服务器通过对容器运行状态的切换,能够暂时切断容器与外界的连接,避免容器对外提供错误的服务;通过对容器内部数据的恢复,能够将容器中的数据恢复至出现异常行为之前,保证数据的完整与正确;通过对容器中的进程信息的清除,进一步实现对容器的动态安全防护,提高了容器运行的安全性。此外,服务器基于预设的镜像文件漏洞库和预设的容器文件病毒库,对镜像文件的漏洞进行扫描和补丁,以及对容器的进程关联文件的病毒进行扫描和清除,能够进一步对容器实现静态安全防护,从而进一步提高了容器运行的安全性,避免了在容器的应用过程中,由于异常行为导致镜像文件被异常篡改的情况。
118.为了更清晰阐明本技术实施例提供的容器安全防护方法,以下以一个具体的实施例对该容器安全防护方法进行具体说明。在一示例性实施例中,本技术还提供了一种基于ebpf的容器全生命周期安全防护系统,该系统具体包括以下六个子系统:
119.1、env-betch基线检测子系统:具备容器相关基线检测能力,基线规则和检测结果处理方式支持用户自定义,以不断增强基础环境基线检测能力。用于针对宿主机、docker、以及kubernetes系统进行基线检测。
120.2、cve-scan漏洞扫描子系统:主要包括手动扫描、自定义扫描、定时扫描、黑白名单过滤、漏洞库更新、告警通知、漏洞库扩展、扫描规则扩展、可视化展示漏洞扫描结果等功能,支持用户扩展漏洞库的漏洞数据和扫描规则。用于触发扫描镜像,对上传到仓库的镜像进行扫描,通过与cve数据库和自定义漏洞数据库进行对比,一旦发现有漏洞的镜像及时发出通知,并阻止非安全镜像的继续构建和分发。
121.3、virus-kill病毒查杀子系统:支持主流的linux病毒库导入功能。用于通过自定义的病毒引擎库对容器内进程关联文件进行病毒查杀。
122.4、ebpf-probe容器行为获取与学习子系统:通过在每台容器主机上部署一个ebpf探针获取应用容器内的网络通信行为和文件读写行为。网络通信行为主要记录:进程信息、源ip、源端口、目的ip、目的端口以及通信时间。文件读写行为主要记录:进程信息、被访问文件路径、文件名以及读写时间。
123.同时,容器行为获取、学习子系统在获取网络通信行为和文件读写行为之后,还能够建立网络通信行为模型和文件读写行为模型,并基于新获取到的网络通信行为和文件读写行为,不断丰富网络通信行为模型和文件读写行为模型。
124.5、monitor-alert容器行为监控子系统:用于将ebpf探针新获取的网络通信行为
和文件读写行为,与现有的网络通信行为模型和文件读写行为模型进行对比,对于不在网络通信行为模型、文件读写行为模型内的容器行为,将其视为异常行为,并发出警告通知。
125.6、dynamic-handle容器行为防御子系统:支持用户自定义设置容器对异常网络通信行为、异常文件读写行为的自动化处理措施,通过如断开连接、清除非法进程、拒绝访问、报错提示、警告提示等动态防御策略有效抵制异常访问对容器造成的无法预估的负面影响。
126.本实施例中,服务器通过env-betch基线检测子系统保障容器的kubernetes集群环境、docker环境、主机环境的安全;通过cve-scan漏洞扫描子系统和virus-kill病毒查杀子系统保障了镜像静态文件的安全;通过ebpf-probe容器行为获取与学习子系统、monitor-alert容器行为监控子系统以及dynamic-handle容器行为防御子系统保障容器运行时的动态安全。基于以上环境的安全防护、文件的静态防护以及行为的动态防护,实现了对容器全生命周期的安全防护,从而提高了容器运行的安全性。
127.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
128.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的容器安全防护方法的容器安全防护装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个容器安全防护装置实施例中的具体限定可以参见上文中对于容器安全防护方法的限定,在此不再赘述。
129.在一示例性实施例中,如图4所示,提供了一种容器安全防护装置,包括:环境基线检测模块402、行为信息获取模块404、行为信息确认模块406和容器安全防护模块408,其中:
130.环境基线检测模块402,用于对容器的运行环境进行基线检测。
131.行为信息获取模块404,用于在容器的运行环境的基线检测结果为检测通过的情况下,获取容器内的行为信息。
132.行为信息确认模块406,用于根据预先构建的行为模型,确认行为信息的行为类型。
133.容器安全防护模块408,用于在行为信息的行为类型为异常行为的情况下,对容器进行安全防护。
134.在一示例性实施例中,容器内的行为信息至少包括网络通信行为信息与文件读写行为信息;行为信息获取模块404,还用于在容器处理访问请求的情况下,根据访问请求,获取容器内的访问进程信息、访问请求源端口信息、访问请求目的端口信息以及访问时间;组合访问进程信息、访问请求源端口信息、访问请求目的端口信息以及访问时间,得到容器内的网络通信行为信息;行为信息获取模块404,还用于,在容器处理读写请求的情况下,根据读写请求,获取容器内的读写进程信息、被访问文件路径、被访问文件标识以及读写时间;
组合读写进程信息、被访问文件路径、被访问文件标识以及读写时间,得到容器内的文件读写行为信息。
135.在一示例性实施例中,行为信息确认模块406,还用于通过预先构建的行为模型,确认行为信息与预先构建的行为模型中的各个样本行为信息之间的相似度;按照从大到小的顺序,对相似度进行排序,获取排序后的相似度中最大的相似度,作为目标相似度;在目标相似度小于预设相似度阈值的情况下,将行为信息的行为类型确认为异常行为。
136.在一示例性实施例中,预先构建的行为模型至少包括网络通信行为模型与文件读写行为模型;容器安全防护装置还包括模型构建模块,用于获取样本容器的端口信息与样本客户端的端口信息,作为样本网络通信行为信息,以及获取样本容器内的文件路径与文件标识,作为样本文件读写行文信息;样本容器为容器对应的容器集群中的各个容器,样本客户端为与样本容器对应的各个客户端;对样本网络通信行为信息进行训练,得到网络通信行为模型,以及对样本文件读写信息进行训练,得到文件读写行为模型;将网络通信行为模型与文件读写行为模型,作为预先构建的行为模型。
137.在一示例性实施例中,容器安全防护模块408,还用于在行为信息的行为类型为异常行为的情况下,将容器的运行状态切换为拒绝访问状态;在容器的运行状态为拒绝访问状态的情况下,根据容器内与行为信息对应的进程信息,恢复容器内的数据;在容器内的数据恢复成功的情况下,在容器内,清除与行为信息对应的进程信息。
138.在一示例性实施例中,容器安全防护装置还包括镜像文件扫描模块,用于根据预设的镜像文件漏洞库,扫描镜像仓库中的镜像文件;在镜像文件中存在预设的镜像文件漏洞库中的漏洞的情况下,对镜像文件进行补丁处理,并展示镜像文件的扫描结果。
139.在一示例性实施例中,容器安全防护装置还包括进程文件扫描模块,用于根据预设的容器文件病毒库,扫描容器中的进程关联文件;进程关联文件是指容器中与行为信息的进程信息关联的文件;在进程关联文件中存在预设的容器文件病毒库中的病毒的情况下,清除进程关联文件中存在的病毒。
140.上述容器安全防护装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
141.在一示例性实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括处理器、存储器、输入/输出接口(input/output,简称i/o)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储容器内的行为信息数据、镜像文件数据以及进程关联文件数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种容器安全防护方法。
142.本领域技术人员可以理解,图5中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备
可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
143.在一示例性实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
144.在一示例性实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
145.在一示例性实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
146.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
147.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,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 random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
148.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
149.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
技术特征:
1.一种容器安全防护方法,其特征在于,所述方法包括:对容器的运行环境进行基线检测;在所述容器的运行环境的基线检测结果为检测通过的情况下,获取所述容器内的行为信息;根据预先构建的行为模型,确认所述行为信息的行为类型;在所述行为信息的行为类型为异常行为的情况下,对所述容器进行安全防护。2.根据权利要求1所述的方法,其特征在于,所述容器内的行为信息至少包括网络通信行为信息与文件读写行为信息;所述获取所述容器内的行为信息,包括:在所述容器处理访问请求的情况下,根据所述访问请求,获取所述容器内的访问进程信息、访问请求源端口信息、访问请求目的端口信息以及访问时间;组合所述访问进程信息、所述访问请求源端口信息、所述访问请求目的端口信息以及所述访问时间,得到所述容器内的网络通信行为信息;所述获取所述容器内的行为信息,还包括:在所述容器处理读写请求的情况下,根据所述读写请求,获取所述容器内的读写进程信息、被访问文件路径、被访问文件标识以及读写时间;组合所述读写进程信息、所述被访问文件路径、所述被访问文件标识以及所述读写时间,得到所述容器内的文件读写行为信息。3.根据权利要求1所述的方法,其特征在于,所述根据预先构建的行为模型,确认所述行为信息的行为类型,包括:通过所述预先构建的行为模型,确认所述行为信息与所述预先构建的行为模型中的各个样本行为信息之间的相似度;按照从大到小的顺序,对所述相似度进行排序,获取排序后的相似度中最大的相似度,作为目标相似度;在所述目标相似度小于预设相似度阈值的情况下,将所述行为信息的行为类型确认为异常行为。4.根据权利要求1所述的方法,其特征在于,所述预先构建的行为模型至少包括网络通信行为模型与文件读写行为模型;所述预先构建的行为模型通过下述方式训练获得:获取样本容器的端口信息与样本客户端的端口信息,作为样本网络通信行为信息,以及获取所述样本容器内的文件路径与文件标识,作为样本文件读写行文信息;所述样本容器为所述容器对应的容器集群中的各个容器,所述样本客户端为与所述样本容器对应的各个客户端;对所述样本网络通信行为信息进行训练,得到所述网络通信行为模型,以及对所述样本文件读写信息进行训练,得到所述文件读写行为模型;将所述网络通信行为模型与所述文件读写行为模型,作为所述预先构建的行为模型。5.根据权利要求1所述的方法,其特征在于,所述在所述行为信息的行为类型为异常行为的情况下,对所述容器进行安全防护,包括:在所述行为信息的行为类型为异常行为的情况下,将所述容器的运行状态切换为拒绝
访问状态;在所述容器的运行状态为拒绝访问状态的情况下,根据所述容器内与所述行为信息对应的进程信息,恢复所述容器内的数据;在所述容器内的数据恢复成功的情况下,在所述容器内,清除与所述行为信息对应的进程信息。6.根据权利要求1-5任意一项所述的方法,其特征在于,在对容器的运行环境进行基线检测之后,还包括:根据预设的镜像文件漏洞库,扫描镜像仓库中的镜像文件,以及根据预设的容器文件病毒库,扫描所述容器中的进程关联文件;所述进程关联文件是指所述容器中与所述行为信息的进程信息关联的文件;在所述镜像文件中存在所述预设的镜像文件漏洞库中的漏洞的情况下,对所述镜像文件进行补丁处理,并展示所述镜像文件的扫描结果,以及在所述进程关联文件中存在所述预设的容器文件病毒库中的病毒的情况下,清除所述进程关联文件中存在的病毒。7.一种容器安全防护装置,其特征在于,所述装置包括:环境基线检测模块,用于对容器的运行环境进行基线检测;行为信息获取模块,用于在所述容器的运行环境的基线检测结果为检测通过的情况下,获取所述容器内的行为信息;行为信息确认模块,用于根据预先构建的行为模型,确认所述行为信息的行为类型;容器安全防护模块,用于在所述行为信息的行为类型为异常行为的情况下,对所述容器进行安全防护。8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
技术总结
本申请涉及一种容器安全防护方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:对容器的运行环境进行基线检测;在容器的运行环境的基线检测结果为检测通过的情况下,获取容器内的行为信息;根据预先构建的行为模型,确认行为信息的行为类型;在行为信息的行为类型为异常行为的情况下,对容器进行安全防护。采用本方法,能够提高容器运行的安全性。安全性。安全性。
技术研发人员:赵晓琼 李洁玮 张建 周力炜 叶进 章伟
受保护的技术使用者:浙大网新科技股份有限公司
技术研发日:2023.02.28
技术公布日:2023/7/19
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
