本发明是关于计算机及通信,特别是关于一种容器进程安全监测方法、系统、设备及可读存储介质。
背景技术:
1、进程是计算机中系统执行程序的实体,面对如今计算机产业的高速发展,对于进程的安全性检测也是至关重要。在计算机安全领域中,目前常用确认进程安全的方法是将进程的文件哈希值与哈希库进行对比,根据对比结果对进程的安全性进行分类;根据进程的快照等相关信息获取进程文件,计算哈希值;然后将哈希值与哈希库对比,分为安全、危险和未知;对于第一步中风险未知的进程,通过计算风险分数和设定的阈值进行比较,若达到了阈值则认为安全、否则认为危险。然而随着容器技术广泛的运用,进程安全性分析的方法发生了较大的变化,在裸机、虚拟机环境下,往往一台计算机上运行着较多的进程,在此种复杂的情况下很难精细化的去确认正在执行的进程的安全性;现有技术中通过对比文件的哈希值也具有一定的滞后性,依赖哈希库的更新间隔;同时安全阈值的设定也依赖算法和经验,无法精准判断进程的安全性。
2、因此,针对上述技术问题,有必要提供一种容器进程安全监测方法、系统、设备及可读存储介质。
3、公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
技术实现思路
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、(1)通过对待检测进程父进程的溯源,利用溯源进程的启动根因来确认所述待检测进程的安全性,不再依赖算法与经验;
32、(2)在学习模式下,实时更新容器组的白名单,在裸机、虚拟机等环境中,计算机运行较多进程的复杂情况下,避免了由于哈希库更新间隔长,导致对比文件具有滞后性的问题,实现了更加精细化的对容器进程的判断;
33、(3)同时设置了三种可以在系统稳定运行时手动切换的安全代理模式,即学习模式、监控模式、保护模式,丰富了整体功能的多样性,用户可以根据不同的使用场景自由切换不同的安全代理模式。
1.一种容器进程安全监测方法,其特征在于,包括:
2.如权利要求1所述的容器进程安全监测方法,其特征在于,所述获取待检测进程的信息,包括:
3.如权利要求1所述的容器进程安全监测方法,其特征在于,所述基于所述待检测进程与所述初始进程的关联信息,判断所述待检测进程的安全性,包括:
4.如权利要求3所述的容器进程安全监测方法,其特征在于,所述基于所述待检测进程与所述初始进程的关联信息,判断所述待检测进程的安全性,还包括:
5.如权利要求1所述的容器进程安全监测方法,其特征在于,所述对容器进行分组包括:基于自定义标签和/或命名空间和/或镜像名对容器进行分组。
6.如权利要求1所述的容器进程安全监测方法,其特征在于,所述方法还包括:对容器组创建用于存放进程白名单的索引。
7.如权利要求1所述的容器进程安全监测方法,其特征在于,所述安全代理包括学习模式、监控模式或保护模式;
8.一种容器进程安全监测系统,其特征在于,包括:
9.一种计算机设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-7中任一项所述的容器进程安全监测方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行权利要求1-7中任一项所述的容器进程安全监测方法。