基于Linux恶意样本分析的容器应急排查方法及系统

文档序号:33534279发布日期:2023-03-22 08:19阅读:48来源:国知局
基于Linux恶意样本分析的容器应急排查方法及系统
基于linux恶意样本分析的容器应急排查方法及系统
技术领域
1.本发明涉及网络安全领域,具体地,涉及一种基于linux恶意样本分析的容器应急排查方法及系统,更为具体地,设计一种基于恶意样本系统调用所需capabilities权限的风险容器应急排查。


背景技术:

2.随着云计算和虚拟化技术的不断发展,越来越多的政企业务都逐渐开始向云原生架构进行迁移,而容器作为云原生架构底层基础设置开发流程和应用服务部署的基础环境,其安全保障的重要程度不言而喻。虽然容器技术基于namespaces和cgroups等技术实现了资源的隔离与限制,容器运行时也通过capabilities和seccomp等安全机制进一步限制了容器内用户的操作权限,但是在实际环境中仍然存在被恶意样本攻击的风险,攻击者可能在容器环境中实现逃逸等攻击技术,最终威胁到整个容器集群的安全。
3.尽管容器运行时对于容器内的操作权限有默认的限制,包括仅添加部分capabilities权限来限制用户系统调用,以及通过seccomp策略来限制个别特殊的系统调用等限制,但是在实际部署应用时往往需要添加额外的权限或是禁用部分默认安全机制来保障应用功能的正常运行,因此在容器集群中也会通过基线检查的方式来排查各个容器在启动时设置的参数是否符合安全基线,检查容器是否存在被攻击利用的风险,防止攻击者获得容器执行权限后进一步对整个容器集群造成威胁。
4.然而无论是容器运行时默认的安全限制,还是基线检查所设置的安全规则,都是通过对已知攻击技术的分析并总结后获得的安全基线,对于未知风险的防护作用非常薄弱。如linux内核漏洞cve-2022-0492,可以在关闭容器seccomp和apparmor防护机制的基础上可以通过cgroups实现容器逃逸攻击,而这一安全基线也未曾出现在此前任何已知的容器攻击技术中。因此为了防护新型攻击技术对容器集群产生的威胁,除却依赖容器在运行时的安全防护,还需要一种能够对容器安全基线进行应急排查的方法及系统,在对新型攻击技术进行充分分析并给出完善防护方案前,尽可能减轻或避免其对容器集群的攻击利用。
5.专利文献cn111723370a(申请号:cn202010533592.9)公开了一种容器恶意行为检测的方法和设备,该方法包括以下步骤:收集容器行为的样本集并建立容器的行为库;将行为库作为深度学习样本库,使用多个学习算法进行训练并组合以得到容器行为判断模型;响应于容器在主机上运行,获取容器的行为数据并使用判断模型进行判断;响应于判断容器的行为数据存在恶意行为,对容器进行处理。但该发明没有基于人工配置的映射关系将恶意样本系统调用集合转化为权限集合后识别出高级恶意样本。


技术实现要素:

6.针对现有技术中的缺陷,本发明的目的是提供一种基于linux恶意样本分析的容器应急排查方法及系统。
7.根据本发明提供的一种基于linux恶意样本分析的容器应急排查方法,包括:
8.步骤s1:采集linux恶意样本在攻击利用过程中会使用到的系统调用,形成恶意样本系统调用集合;
9.步骤s2:基于linux恶意样本分析步骤中形成的恶意样本系统调用集合,转化成相应的恶意样本capabilities权限集合,依据恶意样本capabilities权限集合来识别高级linux恶意样本;
10.步骤s3:获取容器集群环境中各容器的capabilities权限配置参数,再基于capabilities权限映射步骤中识别出的高级linux恶意样本的capabilities权限集合进行比对,排查集群中的容器是否存在被高级linux恶意样本攻击的风险。
11.优选地,在所述步骤s1中:
12.恶意样本系统调用集合的分析,通过模拟环境执行恶意样本后跟踪生成的恶意进程,通过动态分析的方法来采集恶意样本所使用到的系统调用。
13.优选地,在所述步骤s2中:
14.系统调用与capabilities权限的映射关系基于容器集群工作节点使用的linux内核版本与容器集群的安全策略进行人工配置。
15.优选地,在所述步骤s2中:
16.系统调用和capabilities权限的映射关系基于特权系统调用在原生linux环境中的基本capabilities权限要求以及在容器场景下高危系统调用的特殊限制,并通过该映射关系生成恶意样本的capabilities权限集合;
17.特权系统调用指在原生linux环境中需要进程具备初始namespaces中某些capabilities权限才能执行的系统调用;
18.容器场景下高危系统调用指原生linux环境中的非特权系统调用,在容器环境中受到安全机制的限制,需要在容器启动时具备某些额外的capabilities权限才能执行。
19.优选地,在所述步骤s2中:
20.系统调用与capabilities权限的映射关系基于配置文件进行动态更新,以便在在容器集群工作节点升级内核版本或容器集群的安全策略发生调整时进行映射关系的更新。
21.优选地,在所述步骤s2中:
22.高级linux恶意样本指通过特权系统调用或容器场景下高危系统调用实现容器内权限提升、容器逃逸和防御绕过等技战术的linux恶意样本。
23.优选地,在所述步骤s2中:
24.以恶意样本capabilities权限集合是非空集合来识别高级linux恶意样本。
25.优选地,在所述步骤s3中:
26.所述风险容器排查步骤中,基于capabilities权限映射步骤中识别的高级linux恶意样本的capabilities权限集合,排查容器集群环境中满足所分析高级linux恶意样本需要capabilities权限的容器,即具有潜在被攻击风险的容器。
27.优选地,在所述步骤s3中:
28.能够自定义输出风险容器的基本信息字段。
29.根据本发明提供的一种基于linux恶意样本分析的容器应急排查系统,执行所述的基于linux恶意样本分析的容器应急排查方法,包括:
30.样本分析模块:通过动态分析的方法,采集linux恶意样本在攻击利用过程中会使用到的系统调用,形成恶意样本系统调用集合;
31.权限映射模块:基于样本分析模块输出的恶意样本系统调用集合,通过人工配置的映射关系将其转化成相应的恶意样本capabilities权限集合,依据恶意样本capabilities权限集合来识别高级linux恶意样本;
32.风险排查模块:获取容器集群环境中各容器的capabilities权限配置参数,再基于权限映射模块输出的高级linux恶意样本capabilities权限集合进行比对,排查集群中的容器是否存在被高级linux恶意样本攻击的风险,输出风险容器信息。
33.与现有技术相比,本发明具有如下的有益效果:
34.1、本发明实现了通过对恶意样本的快速自动化分析,应急排查容器集群中的容器是否存在被高级linux恶意样本攻击的风险;
35.2、本发明的方法可以用于在未对恶意样本进行充分分析并给出完善防护方案前,应急排查容器集群风险,避免新型攻击技术突破已知安全基线和入侵检测系统;
36.3、本发明加强了容器环境下对未知安全风险的防护能力。
附图说明
37.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
38.图1为本发明的基于linux恶意样本分析的容器应急排查方法的步骤流程图;
39.图2为本发明的基于linux恶意样本分析的容器应急排查系统的结构图;
40.图3为本发明的基于linux恶意样本分析的容器应急排查方法的简易流程图。
具体实施方式
41.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
42.实施例1;
43.根据本发明提供的基于linux容器应急排查方法,能够通过对linux恶意样本的动态分析,采集恶意样本在攻击利用过程中使用的系统调用,并生成对应恶意样本的系统调用集合,基于人工配置的映射关系将恶意样本系统调用集合转化为capabilities权限集合后识别出高级linux恶意样本,通过高级linux恶意样本在容器环境中攻击利用所需要的capabilities权限集合,对容器集群环境进行应急的风险排查。
44.首先,通过动态分析方法获取linux恶意样本在攻击过程中所涉及到的系统调用,形成恶意样本系统调用集合。进而,依据原生linux环境下的特权系统调用,以及容器场景下特殊的高危系统调用,将在样本分析阶段生成的恶意样本系统调用集合映射成相应的恶意样本capabilities权限集合,依据恶意样本capabilities权限集合识别高级linux恶意样本。最后,获取容器集群环境中的基础配置信息,检查各容器在启动时授予的capabilities权限集合,并根据分析映射得到的高级linux恶意样本capabilities权限集
合进行匹配,快速排查集群中的容器是否存在被高级linux恶意样本攻击的风险,输出风险容器信息。
45.根据本发明提供的一种基于linux恶意样本分析的容器应急排查方法,如图1-图3所示,包括:
46.步骤s1:采集linux恶意样本在攻击利用过程中会使用到的系统调用,形成恶意样本系统调用集合;
47.具体地,在所述步骤s1中:
48.恶意样本系统调用集合的分析,通过模拟环境执行恶意样本后跟踪生成的恶意进程,通过动态分析的方法来采集恶意样本所使用到的系统调用。
49.步骤s2:基于linux恶意样本分析步骤中形成的恶意样本系统调用集合,转化成相应的恶意样本capabilities权限集合,依据恶意样本capabilities权限集合来识别高级linux恶意样本;
50.具体地,在所述步骤s2中:
51.系统调用与capabilities权限的映射关系基于容器集群工作节点使用的linux内核版本与容器集群的安全策略进行人工配置。
52.具体地,在所述步骤s2中:
53.系统调用和capabilities权限的映射关系基于特权系统调用在原生linux环境中的基本capabilities权限要求以及在容器场景下高危系统调用的特殊限制,并通过该映射关系生成恶意样本的capabilities权限集合;
54.特权系统调用指在原生linux环境中需要进程具备初始namespaces中某些capabilities权限才能执行的系统调用;
55.容器场景下高危系统调用指原生linux环境中的非特权系统调用,在容器环境中受到安全机制的限制,需要在容器启动时具备某些额外的capabilities权限才能执行。
56.具体地,在所述步骤s2中:
57.系统调用与capabilities权限的映射关系基于配置文件进行动态更新,以便在在容器集群工作节点升级内核版本或容器集群的安全策略发生调整时进行映射关系的更新。
58.具体地,在所述步骤s2中:
59.高级linux恶意样本指通过特权系统调用或容器场景下高危系统调用实现容器内权限提升、容器逃逸和防御绕过等技战术的linux恶意样本。
60.具体地,在所述步骤s2中:
61.以恶意样本capabilities权限集合是非空集合来识别高级linux恶意样本。
62.步骤s3:获取容器集群环境中各容器的capabilities权限配置参数,再基于capabilities权限映射步骤中识别出的高级linux恶意样本的capabilities权限集合进行比对,排查集群中的容器是否存在被高级linux恶意样本攻击的风险。
63.具体地,在所述步骤s3中:
64.所述风险容器排查步骤中,基于capabilities权限映射步骤中识别的高级linux恶意样本的capabilities权限集合,排查容器集群环境中满足所分析高级linux恶意样本需要capabilities权限的容器,即具有潜在被攻击风险的容器。
65.具体地,在所述步骤s3中:
66.能够自定义输出风险容器的基本信息字段。
67.实施例2:
68.实施例2为实施例1的优选例,以更为具体地对本发明进行说明。
69.本发明还提供一种基于linux恶意样本分析的容器应急排查系统,所述基于linux恶意样本分析的容器应急排查系统可以通过执行所述基于linux恶意样本分析的容器应急排查方法的流程步骤予以实现,即本领域技术人员可以将所述基于linux恶意样本分析的容器应急排查方法理解为所述基于linux恶意样本分析的容器应急排查系统的优选实施方式。
70.根据本发明提供的一种基于linux恶意样本分析的容器应急排查系统,执行所述的基于linux恶意样本分析的容器应急排查方法,包括:
71.样本分析模块:通过动态分析的方法,采集linux恶意样本在攻击利用过程中会使用到的系统调用,形成恶意样本系统调用集合;
72.权限映射模块:基于样本分析模块输出的恶意样本系统调用集合,通过人工配置的映射关系将其转化成相应的恶意样本capabilities权限集合,依据恶意样本capabilities权限集合来识别高级linux恶意样本;
73.风险排查模块:获取容器集群环境中各容器的capabilities权限配置参数,再基于权限映射模块输出的高级linux恶意样本capabilities权限集合进行比对,排查集群中的容器是否存在被高级linux恶意样本攻击的风险,输出风险容器信息。
74.实施例3:
75.实施例3为实施例1的优选例,以更为具体地对本发明进行说明。
76.本发明提供了一种基于linux恶意样本分析的容器应急排查方法及系统。该方法和系统可以用于应急排查容器集群中易受高级linux恶意样本攻击的风险容器,在未对恶意样本进行充分分析并给出防护解决方案前,通过自动化样本分析手段,快速排查容器集群中高级linux恶意样本的潜在攻击对象,避免新型攻击技术突破已知的容器安全基线和入侵检测系统,并对整个容器集群安全造成威胁。
77.本发明描述的容器应急排查方法和系统是基于对linux恶意样本的动态分析,根据分析过程中恶意样本使用的系统调用生成对应恶意样本的系统调用集合,基于人工配置的映射关系将恶意样本系统调用集合转化为capabilities权限集合后识别出高级linux恶意样本,通过高级linux恶意样本在容器环境中攻击利用所需要的capabilities权限集合,对容器集群环境进行应急的风险排查。
78.根据本发明提供的一种基于linux恶意样本分析的容器应急排查方法,包括如下步骤:
79.linux恶意样本分析步骤:通过动态分析的方法,采集linux恶意样本在攻击利用过程中会使用到的系统调用,形成恶意样本系统调用集合。
80.capabilities权限映射步骤:基于linux恶意样本分析步骤中形成的恶意样本系统调用集合,通过人工配置的映射关系将其转化成相应的恶意样本capabilities权限集合,依据恶意样本capabilities权限集合来识别高级linux恶意样本。
81.风险容器排查步骤:获取容器集群环境中各容器的capabilities权限配置参数,再基于capabilities权限映射步骤中识别出的高级linux恶意样本的capabilities权限集
合进行比对,排查集群中的容器是否存在被高级linux恶意样本攻击的风险。
82.具体的,所述linux恶意样本分析步骤中,恶意样本系统调用集合的分析,应当通过模拟环境执行恶意样本后跟踪生成的恶意进程,通过动态分析的方法来采集恶意样本所使用到的系统调用。
83.具体的,所述capabilities权限映射步骤中,系统调用与capabilities权限的映射关系应当基于容器集群工作节点使用的linux内核版本与容器集群的安全策略进行人工配置。
84.系统调用和capabilities权限的映射关系基于特权系统调用在原生linux环境中的基本capabilities权限要求以及在容器场景下高危系统调用的特殊限制,并通过该映射关系生成恶意样本的capabilities权限集合。
85.具体的,所述capabilities权限映射步骤中,系统调用与capabilities权限的映射关系应当可以基于配置文件进行动态更新,以便在在容器集群工作节点升级内核版本或容器集群的安全策略发生调整时进行映射关系的更新。
86.具体的,所述capabilities权限映射步骤中,高级linux恶意样本指通过特权系统调用或容器场景下高危系统调用实现容器内权限提升、容器逃逸和防御绕过等技战术的linux恶意样本。用于区分无须利用特权系统调用或容器场景下高危系统调用的linux恶意样本,如挖矿和敏感信息探测等。
87.具体的,所述特权系统调用是指在原生linux环境中,需要进程具备初始namespaces中某些capabilities权限才能执行的系统调用。
88.具体的,所述容器场景下高危系统调用是指原生linux环境中的非特权系统调用,在容器环境中受到seccomp等安全机制的限制,需要在容器启动时具备某些额外的capabilities权限才能执行。
89.具体的,所述capabilities权限映射步骤中,高级linux恶意样本的识别以恶意样本capabilities权限集合是否是非空集合为判断依据。
90.具体的,所述风险容器排查步骤中,应当输出高级linux恶意样本的文件信息和所需capabilities权限集以及存在被攻击风险容器的标识信息。基于capabilities权限映射步骤中识别的高级linux恶意样本的capabilities权限集合,排查容器集群环境中满足所分析高级linux恶意样本需要capabilities权限的容器,即具有潜在被攻击风险的容器。
91.具体的,所述风险容器排查步骤中,可以自定义输出风险容器的基本信息字段。
92.根据本发明提供的一种基于linux恶意样本分析的容器应急排查系统,包括如下模块:
93.样本分析模块:通过动态分析的方法,采集linux恶意样本在攻击利用过程中会使用到的系统调用,形成恶意样本系统调用集合。
94.权限映射模块:基于样本分析模块输出的恶意样本系统调用集合,通过人工配置的映射关系将其转化成相应的恶意样本capabilities权限集合,依据恶意样本capabilities权限集合来识别高级linux恶意样本。
95.风险排查模块:获取容器集群环境中各容器的capabilities权限配置参数,再基于权限映射模块输出的高级linux恶意样本capabilities权限集合进行比对,排查集群中的容器是否存在被高级linux恶意样本攻击的风险,输出高级linux恶意样本和风险容器信
息。
96.本发明提供的一种基于linux恶意样本分析的容器应急排查系统,可以通过基于linux恶意样本分析的容器应急排查的步骤流程实现。本领域技术人员可以将基于linux恶意样本分析的容器应急排查方法理解为所述基于linux恶意样本分析的容器应急排查系统的优选例。
97.以下针对优选例做进一步阐述。
98.在linux恶意样本分析步骤中,样本分析模块通过模拟环境来执行恶意样本,同时利用ptrace等系统调用来跟踪恶意样本生成的恶意进程,捕获恶意进程在执行过程中所有的系统调用事件,通过读取每次系统调用事件的进程上下文信息来采集对应的系统调用号,基于这些系统调用号获取对应系统调用的符号名,并将系统调用符号名加入到系统调用集合中,最终生成所分析恶意样本的系统调用集合。
99.在capabilities权限映射步骤中,系统调用与capabilities权限的映射关系包含两个部分。第一部分是原生linux环境下的特权系统调用,这些特权系统调用是指在原生linux环境下需要进程具备初始namespaces中某些capabilities权限才能执行的系统调用。第二部分是容器场景下的高危系统调用,是指在容器环境中受到seccomp等安全机制的限制,需要在容器启动时具备某些额外的capabilities权限才能执行的系统调用,可以分为直接的和间接的。其中直接的是指,在使用该系统调用时检查的capabilities权限由容器安全机制直接确定;而间接的是指,虽然容器安全机制没有直接为该系统调用添加capabilities权限限制,但由于该系统调用本身需要当前namespaces或目标namespaces中某些capabilities权限才能执行,然而因为unshare等用于变更namespaces的系统调用受到容器安全机制的限制,间接影响了这些系统调用的执行。
100.在capabilities权限映射步骤中,由于不同linux内核版本的特权调用会有所区别,所以对于特权系统调用及其权限映射关系的确立,应当以实际容器工作节点的linux内核信息为准。容器场景下的高危系统调用也由实际容器集群环境中的安全策略所决定。因此系统调用与capabilities权限的映射关系需要进行人工配置,且权限映射模块可以通过json等格式的配置文件对映射关系进行动态更新,以便linux内核版本升级或安全策略调整。
101.在capabilities权限映射步骤中,高级linux恶意样本指通过特权系统调用或容器场景下高危系统调用实现容器内权限提升、容器逃逸和防御绕过等技战术的linux恶意样本。用于区分无须利用特权系统调用或容器场景下高危系统调用的linux恶意样本,如挖矿和敏感信息探测等。高级linux恶意样本的识别则通过映射得到的恶意样本capabilities权限集合来进行判断,若恶意样本的capabilities权限集合是非空集合则认为该恶意样本为高级linux恶意样本。
102.在风险容器排查步骤中,风险排查模块通过权限映射模块输出的高级linux恶意样本capabilities权限集合检查容器集群环境中是否存在容器启动时配置的capabilities权限等于或超过恶意样本capabilities权限集合。最终输出高级linux恶意样本的文件信息和capabilities权限集,以及符合条件的风险容器的标识信息,如容器id等。除此之外,根据用户需求可以额外输出风险容器的基本信息字段,如使用的容器镜像等。
103.本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
104.以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1