CN114329443A - 一种容器沙箱规则的生成方法、系统、电子设备及存储介质 - Google Patents
一种容器沙箱规则的生成方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114329443A CN114329443A CN202111628709.2A CN202111628709A CN114329443A CN 114329443 A CN114329443 A CN 114329443A CN 202111628709 A CN202111628709 A CN 202111628709A CN 114329443 A CN114329443 A CN 114329443A
- Authority
- CN
- China
- Prior art keywords
- container
- data
- rule
- sandbox
- information
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种容器沙箱规则的生成方法、系统、电子设备及存储介质,属于云计算技术领域,所述生成方法包括:基于eBPF的方法,监测容器的系统调用信息,所述系统调用信息包括进程运行时数据;根据所述进程运行时数据,生成沙箱规则,所述沙箱规则包括Seccomp‑BPF规则,所述Seccomp‑BPF规则用于阻断或放行系统调用。基于eBPF的方法,监测容器内的系统调用;通过对监测的进程运行时数据进行分析,利于形成安全策略,基于Secomp‑BPF对容器内的进程进行安全控制,形成容器的安全监控闭环,减少容器的资源占用,提高服务性能;利于充分挖掘容器内的系统调用信息。
Description
技术领域
本发明涉及云计算技术领域,具体涉及一种容器沙箱规则的生成方法、系统、电子设备及存储介质。
背景技术
随着云计算技术的高速发展,容器技术凭借自身松耦合、分布式等优点,迅速被各大企业接受,越来越多的公司开始部署容器云并将之应用于实际生产中。新兴虚拟化技术的出现给传统虚拟化技术带来了挑战,也为构建高效的云平台提供了新的思路。
随着容器技术的大规模使用,针对容器环境的安全检测与保障技术尤为重要。与传统虚拟机技术或者物理机相比,容器的实质是进程,但与直接在宿主机执行的进程不同,容器进程运行于属于自己的独立的命名空间。因此容器可以拥有自己的root文件系统、网络配置、进程空间,甚至自己的用户ID空间。容器内的进程是运行在一个隔离的环境中,使用起来,就好像是在一个独立于宿主机的系统下操作一样。传统的进程行为检测分析,如strace、tcpdump,一方面无法直接适配容器环境,另一方面对主机进程具有侵入性等特点。另外,现有的一些方案,虽然可以解决容器内进程行为监测的问题,但是需要占用了大量的资源,会降低系统的性能,影响到业务的运行。因此,传统的安全检测技术并不适用于容器环境,无法针对容器内进程进行安全管控。
发明内容
针对现有技术中存在的上述技术问题,本发明提供一种容器沙箱规则的生成方法、系统、电子设备及存储介质,通过对容器内系统调用的监测,生成的沙箱规则,对容器的安全性进行监控。
本发明公开了一种容器沙箱规则的生成方法,所述生成方法包括:基于eBPF的方法,监测容器的系统调用信息,所述系统调用信息包括进程运行时数据;根据所述进程运行时数据,生成沙箱规则,所述沙箱规则包括Seccomp-BPF规则,所述Seccomp-BPF规则用于阻断或放行系统调用。
优选的,获取容器的进程运行时数据的方法包括:
基于eBPF探针的方法,拦截System call entry path和System call exit path,获得调用信息;
从所述调用信息中筛选进程运行时数据。
优选的,所述运行时数据包括容器属性信息和容器内进程的系统调用信息;
所述容器属性信息包括容器标识、容器名称、镜像名称、镜像摘要和特权容器信息;
所述系统调用信息包括以下至少一项信息:系统调用名、系统调用时间、调用参数和进程名。
优选的,生成沙箱规则的方法包括:
从所述进程运行时数据中,分析进程危险行为数据;
将所述进程危险行为数据与容器集群的资源对象相关联,并生成沙箱规则。
优选的,告警的方法:
根据沙箱规则生成告警规则,所述告警规则包括告警白名单;
判断运行进程是否与告警白名单相匹配;
若否,产生告警信息。
优选的,所述Seccomp-BPF规则包括白名单;
放行白名单的进程;阻断非白名单的进程。
本发明还提供一种用于实现上述生成方法的系统,包括eBPF模块和数据生成模块;
所述eBPF模块用于基于eBPF的方法,监测容器的系统调用信息,所述系统调用信息包括进程运行时数据;
所述数据分析模块用于根据所述进程运行时数据,生成沙箱规则,所述沙箱规则包括Seccomp-BPF规则,所述Seccomp-BPF规则用于阻断或放行系统调用。
优选的,所述系统还包括数据收集模块、数据分析模块、后端服务模块和数据展示模块;
所述数据收集模块用于对所述调用信息进行过滤,筛选出系统调用信息;
所述数据分析模块用于根据所述系统调用信息进行解析,获得进程运行时数据;
所述后端服务模块用于与集群管理平台进行通信,将进程运行时数据或系统调用信息与集群资源对象进行关联;
数据展示模块用于对系统调用信息、进程运行时数据或危险行为数据进行展示。
一种电子设备,包括至少一个处理单元以及至少一个存储单元,所述存储单元存储有计算机程序,所述计算机程序包括用于执行上述生成方法的指令,所述处理单元用于执行所述指令。
一种存储介质,所述存储介质存储有可执行的计算机程序,所述程序包括用于执行上述生成方法的指令。
与现有技术相比,本发明的有益效果为:基于eBPF的方法,监测容器内的系统调用;通过对监测的进程运行时数据进行分析,利于形成安全策略,基于Secomp-BPF对容器内的进程进行安全控制,形成容器的安全监控闭环,减少容器的资源占用,提高服务性能;利于充分挖掘容器内的系统调用信息。
附图说明
图1是本发明的容器沙箱规则的生成方法流程图;
图2是本发明的系统逻辑框图;
图3是eBPF拦截的原理图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图对本发明做进一步的详细描述:
一种容器沙箱规则的生成方法,如图1所示,所述生成方法包括:
步骤101:基于eBPF的方法,监测容器的系统调用信息,所述系统调用信息包括进程运行时数据。
具体的,在待检测容器执行预设系统调用操作后,利用eBPF程序收集系统调用信息,再对系统调用信息进行过滤整合。可以基于eBPF探针的方法,拦截System call entrypath和System call exit path,获得调用信息;并从所述调用信息中筛选进程运行时数据。所述运行时数据包括容器属性信息和容器内进程的系统调用信息;所述容器属性信息包括容器标识、容器名称、镜像名称、镜像摘要和特权容器信息;所述系统调用信息包括以下至少一项信息:系统调用名、系统调用时间、调用参数和进程名。可以通过读取命令,得到待检容器的属性信息。
步骤102:根据所述进程运行时数据,生成沙箱规则,所述沙箱规则包括Seccomp-BPF规则,所述Seccomp-BPF规则用于阻断或放行系统调用,即禁止违反Seccomp-BPF规则的系统调用。
具体的,所述Seccomp-BPF规则包括白名单;放行白名单的进程;阻断非白名单的进程。Seccomp(secure computing mode)在2.6.12版本中引入linux内核,以白名单的形式限制进程系统调用。Seccomp-BPF是Seccomp和BPF(Berkeley Packet Filter)规则的结合,它允许用户使用可配置的策略过滤系统调用,该策略使用BPF规则实现,它可以对任意系统调用及其参数进行过滤。
其中,可以根据沙箱规则生成Seccomp文件;集群管理的节点代理kubelet通过SeccompDefault特性门控,将生成的Seccomp文件应用到容器上,对所述容器的进程进行安全管理。
基于eBPF的方法,监测容器内的系统调用;通过对监测的进程运行时数据进行分析,利于形成安全策略,基于Secomp-BPF对容器内的进程进行安全控制,形成容器的安全监控闭环,减少容器的资源占用,提高服务性能;利于充分挖掘容器内的系统调用信息。
步骤102中,可以根据自定义的方式制定安全策略,例如:
步骤201:从所述进程运行时数据中,分析进程危险行为数据。危险行为数据可以根据经验进行制定,例如通过资源占用率、异常行为等进行分析。
可以采用系统调用比较操作符进行判断,比较操作符包括:包括SCMP_CMP_NE(不等于),SCMP_CMP_LT(小于),SCMP_CMP_LE(小于等于),SCMP_CMP_EQ(等于),SCMP_CMP_GE(大于等于),SCMP_CMP_GT(大于),SCMP_CMP_MASKED_EQ(与位操作)。
步骤201:将所述进程危险行为数据与容器集群的资源对象相关联,并生成沙箱规则。容器集群的资源对象包括容器组(Pod)、服务(Service)、Deployment、StatefulSet等,便于对危险行为进行定位和跟踪。并根据危险行为数据,制造相应的规则,对相应的进程进行阻断。
其中,还可以根据沙箱规则生成告警规则:
步骤301:根据沙箱规则生成告警规则,所述告警规则包括告警白名单。
步骤302:判断运行进程是否与告警白名单相匹配。
步骤303:若否,产生告警信息。
若是,持续监测进程。
在一个具体实施例中,告警信息白名单如下所示:
包括httpapi镜像对应到的容器告警信息白名单,抓取到的数据为sendto系统调用及参数信息,参数信息表明远端访问地址10.10.102.80;根据eBPF探针抓取的信息形成Seccomp-bpf规则,将sendto系统调用加入白名单(SCMP_ACT_ALLOW)列表和告警信息白名单中;Seccomp-bpf规则和告警信息白名单通过容器管理平台调度到该容器中,在运行过程中,匹配到告警规则白名单以外数据,则产生告警信息。
本发明还提供一种用于实现上述沙箱生成方法的系统,如图2所示,包括包括eBPF模块1和数据生成模块6;
所述eBPF模块1用于基于eBPF的方法,监测容器的系统调用信息,所述系统调用信息包括进程运行时数据;
所述数据生成模块6用于根据所述进程运行时数据,生成沙箱规则,所述沙箱规则包括Seccomp-BPF规则,所述Seccomp-BPF规则用于阻断或放行系统调用;还用于从所述进程运行时数据中分析容器内的危险行为数据。
本发明的系统还包括数据收集模块2、数据分析模块3、后端服务模块4和数据展示模块5;
数据收集模块2用于对所述调用信息进行过滤,筛选出系统调用信息;
数据分析模块3用于根据所述系统调用信息进行解析,获得进程运行时数据;
后端服务模块4用于与集群管理平台Kubernetes的API Server组件进行通信,将进程运行时数据或系统调用信息与集群资源对象进行关联;
数据展示模块5用于对系统调用信息或进程运行时数据进行展示。
其中eBPF模块的工作原理如图3所示,基于eBPF探针,在内核注入eBPF应用,eBPF应用拦截系统调用信息,并通过BPF MAP传递到用户端的数据收集模块。eBPF模块可以部署在云平台节点上。
本发明提供一种电子设备,包括至少一个处理单元以及至少一个存储单元,所述存储单元存储有计算机程序,所述计算机程序包括用于执行上述生成方法的指令,所述处理单元用于执行所述指令。
本发明提供一种存储介质,所述存储介质存储有可执行的计算机程序,所述程序包括用于执行上述生成方法的指令。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种容器沙箱规则的生成方法,其特征在于,所述生成方法包括:
基于eBPF的方法,监测容器的系统调用信息,所述系统调用信息包括进程运行时数据;
根据所述进程运行时数据,生成沙箱规则,所述沙箱规则包括Seccomp-BPF规则,所述Seccomp-BPF规则用于阻断或放行系统调用。
2.根据权利要求的生成方法,其特征在于,获取容器的进程运行时数据的方法包括:
基于eBPF探针的方法,拦截System call entry path和System call exit path,获得调用信息;
从所述调用信息中筛选进程运行时数据。
3.根据权利要求1的生成方法,其特征在于,所述运行时数据包括容器属性信息和容器内进程的系统调用信息;
所述容器属性信息包括容器标识、容器名称、镜像名称、镜像摘要和特权容器信息;
所述系统调用信息包括以下至少一项信息:系统调用名、系统调用时间、调用参数和进程名。
4.根据权利要求1所述的生成方法,其特征在于,生成沙箱规则的方法包括:
从所述进程运行时数据中,分析进程危险行为数据;
将所述进程危险行为数据与容器集群的资源对象相关联,并生成沙箱规则。
5.根据权利要求1所述的生成方法,其特征在于,还包括告警的方法:
根据沙箱规则生成告警规则,所述告警规则包括告警白名单;
判断运行进程是否与告警白名单相匹配;
若否,产生告警信息。
6.根据权利要求1所述的生成方法,其特征在于,所述Seccomp-BPF规则包括白名单;
放行白名单的进程;阻断非白名单的进程。
7.一种用于实现如权利要求1-6任一项所述生成方法的系统,其特征在于,包括eBPF模块和数据生成模块;
所述eBPF模块用于基于eBPF的方法,监测容器的系统调用信息,所述系统调用信息包括进程运行时数据;
所述数据分析模块用于根据所述进程运行时数据,生成沙箱规则,所述沙箱规则包括Seccomp-BPF规则,所述Seccomp-BPF规则用于阻断或放行系统调用。
8.根据权利要求7所述的系统,其特征在于,还包括数据收集模块、数据分析模块、后端服务模块和数据展示模块;
所述数据收集模块用于对所述调用信息进行过滤,筛选出系统调用信息;
所述数据分析模块用于根据所述系统调用信息进行解析,获得进程运行时数据;
所述后端服务模块用于与集群管理平台进行通信,将进程运行时数据或系统调用信息与集群资源对象进行关联;
数据展示模块用于对系统调用信息、进程运行时数据或危险行为数据进行展示。
9.一种电子设备,包括至少一个处理单元以及至少一个存储单元,其特征在于,所述存储单元存储有计算机程序,所述计算机程序包括用于执行如权利要求1-6任一项所述生成方法的指令,所述处理单元用于执行所述指令。
10.一种存储介质,所述存储介质存储有可执行的计算机程序,所述程序包括用于执行如权利要求1-6任一项所述生成方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111628709.2A CN114329443A (zh) | 2021-12-28 | 2021-12-28 | 一种容器沙箱规则的生成方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111628709.2A CN114329443A (zh) | 2021-12-28 | 2021-12-28 | 一种容器沙箱规则的生成方法、系统、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114329443A true CN114329443A (zh) | 2022-04-12 |
Family
ID=81015169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111628709.2A Pending CN114329443A (zh) | 2021-12-28 | 2021-12-28 | 一种容器沙箱规则的生成方法、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114329443A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022408A (zh) * | 2022-06-07 | 2022-09-06 | 中国工商银行股份有限公司 | 基于服务网格的数据传输方法及装置、电子设备 |
-
2021
- 2021-12-28 CN CN202111628709.2A patent/CN114329443A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022408A (zh) * | 2022-06-07 | 2022-09-06 | 中国工商银行股份有限公司 | 基于服务网格的数据传输方法及装置、电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109831420B (zh) | 内核进程权限的确定方法及装置 | |
CN114584405B (zh) | 一种电力终端安全防护方法及系统 | |
US11729193B2 (en) | Intrusion detection system enrichment based on system lifecycle | |
CN104462970B (zh) | 一种基于进程通信的Android应用程序权限滥用检测方法 | |
CN112766672A (zh) | 一种基于全面评估的网络安全保障方法及系统 | |
US10671723B2 (en) | Intrusion detection system enrichment based on system lifecycle | |
US20120311562A1 (en) | Extendable event processing | |
CN112602081A (zh) | 利用警报置信度分配来增强网络安全和操作监控 | |
CN104956376A (zh) | 虚拟化环境中应用和设备控制的方法和技术 | |
CN104392175A (zh) | 一种云计算系统中云应用攻击行为处理方法、装置及系统 | |
US20200265134A1 (en) | Vulnerability assessment of containerised installation | |
CN114372286A (zh) | 数据安全管理方法、装置、计算机设备及存储介质 | |
CN107409134B (zh) | 法证分析方法 | |
CN109409087B (zh) | 防提权检测方法及设备 | |
CN104866407A (zh) | 一种虚拟机环境下的监控系统及监控方法 | |
CN110708316A (zh) | 针对企业网络安全运营管理的方法以及系统架构 | |
CN109726601A (zh) | 违规行为的识别方法及装置、存储介质、计算机设备 | |
JP2023550974A (ja) | イメージ基盤悪性コード検知方法および装置とこれを利用する人工知能基盤エンドポイント脅威検知および対応システム | |
CN103679028A (zh) | 软件行为监控方法和终端 | |
CN108183884B (zh) | 一种网络攻击判定方法及装置 | |
CN113886814A (zh) | 一种攻击检测方法及相关装置 | |
CN114329443A (zh) | 一种容器沙箱规则的生成方法、系统、电子设备及存储介质 | |
CN113037766A (zh) | 多场景下的资产安全健康度综合评估方法 | |
CN116707927A (zh) | 态势感知方法、系统、计算机设备及存储介质 | |
CN115567258B (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 |