System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种容器逃逸检测方法、系统、计算机设备及存储介质技术方案_技高网

一种容器逃逸检测方法、系统、计算机设备及存储介质技术方案

技术编号:40577229 阅读:2 留言:0更新日期:2024-03-06 17:18
本发明专利技术公开了一种容器逃逸检测方法、系统、计算机设备及存储介质,该方法包括:对系统进行监控,抓取系统的进程创建事件,并基于进程创建事件,得到对应的进程信息;对进程信息进行解析,得到对应的进程cgroup标识信息;基于进程cgroup标识信息,判断进程信息是否为容器进程信息;在判断结果为进程信息为容器进程信息的情况下,对进程信息内的进程路径进行判断,确定进程路径是否为完整进程路径;并在确定结果为是的情况下,确定对应的容器进程发生逃逸。本发明专利技术可对于依托于系统内核特性的逃逸方式进行检测,弥补了传统检测方式在系统机制类逃逸检测能力上的不足,极大的提高了容器逃逸检测的准确性,确保了系统的安全性。

【技术实现步骤摘要】

本专利技术涉及计算机安全,特别涉及一种容器逃逸检测方法、系统、计算机设备及存储介质


技术介绍

1、近年来,随着云计算发展迅速,虚拟化技术相应地成为热门技术。基于硬件的虚拟化技术,通常是指虚拟机,而基于操作系统的虚拟化技术,通常是指容器。例如:一台硬件服务器可虚拟多台虚拟机,每台虚拟机又可以虚拟化多个容器。由于容器具有能够隔离资源,避免相互干扰等优势,且它支持在操作系统级别轻松共享cpu、内存、存储空间和网络资源,并提供一种逻辑打包机制,而以这种机制打包的应用可以脱离其实际运行环境,因此,很多云用户将业务应用部署在容器上,这使得容器技术的应用越来越广泛,它所面临的安全问题也显得尤为重要,容器逃逸就是其安全问题的典型代表。

2、容器逃逸通常指的是一个攻击者利用容器或虚拟化技术的漏洞或不安全配置,从而在容器内部获得越权访问或者逃出容器,进而访问宿主机操作系统或其他容器的机密信息。当前很多容器逃逸检测仅支持直接提权的逃逸检测方法,如检测父子进程的命名空间变化。这些检测方法依赖进程直接的调用关系,而对于一些依托于系统内核特性的逃逸方式,则完全无法检测。这类逃逸手法往往是修改一个系统文件,然后依靠系统自身特性来执行文件内容指向的路径,触发漏洞和执行调用之间并没有鲜明的调用关系,而且所有执行流程都符合其本身应有的权限,并没有提权特征,因此,传统的检测方法无法检测出依托于系统内核特性的逃逸方式。

3、故,如何提供一种能够检测依托于系统内核特性的逃逸方式的容器逃逸检测技术,是目前亟待解决的问题。


<b>技术实现思路

1、本专利技术实施例提供了一种容器逃逸检测方法、系统、计算机设备及存储介质,以解决现有技术中的上述技术问题。

2、为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。

3、根据本专利技术实施例的第一方面,提供了一种容器逃逸检测方法。

4、在一个实施例中,所述容器逃逸检测方法,包括:

5、对当前操作系统进行监控,抓取当前操作系统的进程创建事件,并基于所述进程创建事件,得到对应的进程信息;

6、对所述进程信息进行解析,得到对应的进程cgroup标识信息;并基于所述进程cgroup标识信息,判断所述进程信息是否为容器进程信息;

7、在判断结果为所述进程信息为容器进程信息的情况下,对所述进程信息内的进程路径进行判断,确定所述进程路径是否为完整进程路径;并在确定结果为是的情况下,确定对应的容器进程发生逃逸。

8、在一个实施例中,基于所述进程创建事件,得到对应的进程信息包括:

9、基于所述进程创建事件,得到对应的进程标识符;

10、根据所述进程标识符,通过procfs文件系统获取所述进程标识符目录下的文件,得到所述进程信息。

11、在一个实施例中,基于所述进程cgroup标识信息,判断所述进程信息是否为容器进程信息包括:

12、读取当前操作系统的进程,获取宿主机的进程cgroup标识信息;并将解析得到的进程cgroup标识信息与宿主机的进程cgroup标识信息进行比对;

13、在比对结果为解析得到的进程cgroup标识信息与宿主机的进程cgroup标识信息一致的情况下,判断所述进程信息为宿主机进程信息;

14、在比对结果为解析得到的进程cgroup标识信息与宿主机的进程cgroup标识信息不一致的情况下,判断所述进程信息为容器进程信息。

15、在一个实施例中,对所述进程信息内的进程路径进行判断,确定所述进程路径是否为完整进程路径包括:

16、利用正则表达式对所述进程信息的命令行参数进行格式校验,获取所述进程信息中包含的容器id;

17、根据所述容器id,通过容器运行接口获取容器的进程路径;并判断所述进程路径是否为差异文件路径或合并文件路径;

18、在判断结果为所述进程路径为差异文件路径或合并文件路径的情况下,确定所述进程路径为完整进程路径。

19、根据本专利技术实施例的第二方面,提供了一种容器逃逸检测系统。

20、在一个实施例中,所述容器逃逸检测系统,包括:

21、进程抓取模块,用于对当前操作系统进行监控,抓取当前操作系统的进程创建事件,并基于所述进程创建事件,得到对应的进程信息;

22、进程分析模块,用于对所述进程信息进行解析,得到对应的进程cgroup标识信息;并基于所述进程cgroup标识信息,判断所述进程信息是否为容器进程信息;

23、进程判断模块,用于在判断结果为所述进程信息为容器进程信息的情况下,对所述进程信息内的进程路径进行判断,确定所述进程路径是否为完整进程路径;并在确定结果为是的情况下,确定对应的容器进程发生逃逸。

24、在一个实施例中,所述进程抓取模块在基于所述进程创建事件,得到对应的进程信息时,基于所述进程创建事件,得到对应的进程标识符;根据所述进程标识符,通过procfs文件系统获取所述进程标识符目录下的文件,得到所述进程信息。

25、在一个实施例中,所述进程分析模块在基于所述进程cgroup标识信息,判断所述进程信息是否为容器进程信息时,读取当前操作系统的进程,获取宿主机的进程cgroup标识信息;并将解析得到的进程cgroup标识信息与宿主机的进程cgroup标识信息进行比对;在比对结果为解析得到的进程cgroup标识信息与宿主机的进程cgroup标识信息一致的情况下,判断所述进程信息为宿主机进程信息;在比对结果为解析得到的进程cgroup标识信息与宿主机的进程cgroup标识信息不一致的情况下,判断所述进程信息为容器进程信息。

26、在一个实施例中,所述进程判断模块在对所述进程信息内的进程路径进行判断,确定所述进程路径是否为完整进程路径时,利用正则表达式对所述进程信息的命令行参数进行格式校验,获取所述进程信息中包含的容器id;根据所述容器id,通过容器运行接口获取容器的进程路径;并判断所述进程路径是否为差异文件路径或合并文件路径;在判断结果为所述进程路径为差异文件路径或合并文件路径的情况下,确定所述进程路径为完整进程路径。

27、根据本专利技术实施例的第三方面,提供了一种计算机设备。

28、在一个实施例中,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

29、根据本专利技术实施例的第四方面,提供了一种计算机可读存储介质。

30、在一个实施例中,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。

31、本专利技术实施例提供的技术方案可以包括以下有益效果:

32、本专利技术通过抓取本文档来自技高网...

【技术保护点】

1.一种容器逃逸检测方法,其特征在于,包括:

2.根据权利要求1所述的容器逃逸检测方法,其特征在于,基于所述进程创建事件,得到对应的进程信息包括:

3.根据权利要求1所述的容器逃逸检测方法,其特征在于,基于所述进程cgroup标识信息,判断所述进程信息是否为容器进程信息包括:

4.根据权利要求1所述的容器逃逸检测方法,其特征在于,对所述进程信息内的进程路径进行判断,确定所述进程路径是否为完整进程路径包括:

5.一种容器逃逸检测系统,其特征在于,包括:

6.根据权利要求5所述的容器逃逸检测系统,其特征在于,所述进程抓取模块在基于所述进程创建事件,得到对应的进程信息时,基于所述进程创建事件,得到对应的进程标识符;根据所述进程标识符,通过procfs文件系统获取所述进程标识符目录下的文件,得到所述进程信息。

7.根据权利要求5所述的容器逃逸检测系统,其特征在于,所述进程分析模块在基于所述进程cgroup标识信息,判断所述进程信息是否为容器进程信息时,读取当前操作系统的进程,获取宿主机的进程cgroup标识信息;并将解析得到的进程cgroup标识信息与宿主机的进程cgroup标识信息进行比对;在比对结果为解析得到的进程cgroup标识信息与宿主机的进程cgroup标识信息一致的情况下,判断所述进程信息为宿主机进程信息;在比对结果为解析得到的进程cgroup标识信息与宿主机的进程cgroup标识信息不一致的情况下,判断所述进程信息为容器进程信息。

8.根据权利要求5所述的容器逃逸检测系统,其特征在于,所述进程判断模块在对所述进程信息内的进程路径进行判断,确定所述进程路径是否为完整进程路径时,利用正则表达式对所述进程信息的命令行参数进行格式校验,获取所述进程信息中包含的容器ID;根据所述容器ID,通过容器运行接口获取容器的进程路径;并判断所述进程路径是否为差异文件路径或合并文件路径;在判断结果为所述进程路径为差异文件路径或合并文件路径的情况下,确定所述进程路径为完整进程路径。

9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述的方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。

...

【技术特征摘要】

1.一种容器逃逸检测方法,其特征在于,包括:

2.根据权利要求1所述的容器逃逸检测方法,其特征在于,基于所述进程创建事件,得到对应的进程信息包括:

3.根据权利要求1所述的容器逃逸检测方法,其特征在于,基于所述进程cgroup标识信息,判断所述进程信息是否为容器进程信息包括:

4.根据权利要求1所述的容器逃逸检测方法,其特征在于,对所述进程信息内的进程路径进行判断,确定所述进程路径是否为完整进程路径包括:

5.一种容器逃逸检测系统,其特征在于,包括:

6.根据权利要求5所述的容器逃逸检测系统,其特征在于,所述进程抓取模块在基于所述进程创建事件,得到对应的进程信息时,基于所述进程创建事件,得到对应的进程标识符;根据所述进程标识符,通过procfs文件系统获取所述进程标识符目录下的文件,得到所述进程信息。

7.根据权利要求5所述的容器逃逸检测系统,其特征在于,所述进程分析模块在基于所述进程cgroup标识信息,判断所述进程信息是否为容器进程信息时,读取当前操作系统的进程,获取宿主机的进程cgroup标识信息;并将解析得到的进程cgroup标识信息与宿主机的进程cgr...

【专利技术属性】
技术研发人员:袁曙光安竞宇
申请(专利权)人:北京小佑科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1