CN111865971A - 一种基于sidecar方案的kubernetes业务容器安全性探测方法 - Google Patents
一种基于sidecar方案的kubernetes业务容器安全性探测方法 Download PDFInfo
- Publication number
- CN111865971A CN111865971A CN202010691148.XA CN202010691148A CN111865971A CN 111865971 A CN111865971 A CN 111865971A CN 202010691148 A CN202010691148 A CN 202010691148A CN 111865971 A CN111865971 A CN 111865971A
- Authority
- CN
- China
- Prior art keywords
- container
- sidecar
- security
- kernel
- monitoring
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于sidecar方案的kubernetes业务容器安全性探测方法,包括:在内核中集成基于LSM和/或Rootkit的安全模块;在Pod中为每一个需要监测和控制的kubernetes业务容器添加统一的sidecar容器,并为Pod中的多容器开启共享进程命名空间;sidecar容器中的监控进程与内核进行通讯,使sidecar容器中的监控进程和安全模块配合起来,根据sidecar容器中的安全监测选项,对kubernetes业务容器中的进程和文件系统进行监测和控制。本发明实现了对kubernetes业务容器做无侵入的运行时安全监测,有效提高容器的安全性。
Description
技术领域
本发明涉及云计算安全领域,尤其是一种基于sidecar方案的kubernetes业务容器安全性探测方法。
背景技术
随着微服务的热度不断上升,企业的业务上云也越来越普遍。越来越多的企业选择kubernetes集群来部署自己的应用,而Docker作为实现微服务首选容器,在大规模部署的同时其安全性却没有引起足够的重视。目前有多种针对容器安全性的检测机制:
一类是针对容器镜像进行静态扫描,这类机制不能完全检测到运行时的异常行为
还有一类就是针对容器进行运行时安全检测,这类机制一般都需要对容器进行侵入式的修改,这无疑提高了业务部署的复杂度。
发明内容
本发明所要解决的技术问题是:针对上述存在的问题,提供一种基于sidecar方案的kubernetes业务容器安全性探测方法,以对kubernetes业务容器做无侵入的运行时安全监测。
本发明采用的技术方案如下:
一种基于sidecar方案的kubernetes业务容器安全性探测方法,包括:
在内核中集成基于LSM和/或Rootkit的安全模块;
在Pod中为每一个需要监测和控制的kubernetes业务容器添加统一的sidecar容器,并为Pod中的多容器开启共享进程命名空间;
sidecar容器中的监控进程与内核进行通讯,使sidecar容器中的监控进程和安全模块配合起来,根据sidecar容器中的安全监测选项,对kubernetes业务容器中的进程和文件系统进行监测和控制。
进一步地,所述在内核中集成基于LSM和/或Rootkit的安全模块的方法为:
修改宿主机的内核代码,添加基于LSM的安全访问钩子,并在内核中开启内核服务,然后等待与sidecar容器中的监控进程进行通讯;
当不能修改宿主机的内核代码时,动态插入基于Rootkit的安全监测模块,并在内核中开启内核服务,然后等待与sidecar容器中的监控进程进行通讯。
进一步地,在添加的sidecar容器中,能够根据业务需要自定义配置sidecar容器的安全监测选项。
进一步地,所述根据业务需要自定义配置sidecar容器的安全监测选项的方法为:通过环境变量配置覆盖sidecar容器中默认的安全监测选项。
进一步地,sidecar容器先于kubernetes业务容器启动。
进一步地,当发现kubernetes业务容器中的异常行文时,对异常行为进行的操作包括终止、告警和/或记录日志。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明实现了对kubernetes业务容器做无侵入的运行时安全监测,有效提高容器的安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明的基于sidecar方案的kubernetes业务容器安全性探测方法的原理框图。
图2为sidecar容器与kubernetes业务容器启动顺序示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,一种基于sidecar方案的kubernetes业务容器安全性探测方法,其特征在于,包括:
在内核中集成基于LSM和/或Rootkit的安全模块;
在Pod中为每一个需要监测和控制的kubernetes业务容器添加统一的sidecar容器,并为Pod中的多容器开启共享进程命名空间;sidecar容器中的监控进程与内核进行通讯,使sidecar容器中的监控进程和安全模块配合起来,根据sidecar容器中的安全监测选项,对kubernetes业务容器中的进程和文件系统进行监测和控制
sidecar容器中的监控进程与内核进行通讯,使sidecar容器中的监控进程和安全模块配合起来,根据sidecar容器中的安全监测选项,对kubernetes业务容器中的进程和文件系统进行监测和控制。
以下结合实施例对本发明的特征和性能作进一步的详细描述。
本实施例的基于sidecar方案的kubernetes业务容器安全性探测方法如下:
1、在内核中集成基于LSM和/或Rootkit的安全模块;
(1)基于LSM的安全访问钩子
LSM机制的核心在于安全访问钩子(hook),默认支持以下16类钩子:
可以通过修改宿主机的内核代码,添加基于LSM(Linux security module)的安全访问钩子,并在内核中开启内核服务,然后等待与sidecar容器中的监控进程进行通讯;该基于LSM的安全访问钩子可以hook业务容器中的API(如程序执行、文件系统访问、网络访问、内存访问等API),当基于LSM的安全访问钩子与sidecar容器中的监控进程进行通讯后,两者配合起来对kubernetes业务容器中的进程和文件系统等进行监测和控制。
(2)基于Rootkit的安全监测模块
当不能修改宿主机的内核代码时,动态插入(如通过DKMS(Dynamic KernelModule Support)方式插入)基于Rootkit的安全监测模块,并在内核中开启内核服务,然后等待与sidecar容器中的监控进程进行通讯。Rootkit技术同样是基于对VFS文件系统的hook,通过拦截VFS文件系统的API调用,同样能够监测和控制程序执行、文件系统访问、网络访问、内存访问等。由此,当基于Rootkit的安全监测模块与sidecar容器中的监控进程进行通讯后,两者配合起来对kubernetes业务容器中的进程和文件系统进行监测和控制。
2.在Pod中为每一个需要监测和控制的kubernetes业务容器添加统一的sidecar容器,并为Pod中的多容器开启共享进程命名空间;
sidecar容器具有默认的安全监测配置,而实际使用时,在添加的sidecar容器中,能够根据业务需要自定义配置sidecar容器的安全监测选项。所述根据业务需要自定义配置sidecar容器的安全监测选项的方法为:通过环境变量配置覆盖sidecar容器中默认的安全监测选项。
另外,需要为Pod中的多容器开启共享进程命名空间,可以通过v1.PodSpec中的ShareProcessNamespace字段可启用该功能。当开启共享进程命名空间时,业务容器中的进程和文件系统对该Pod中的所有其他容器(包括sidecar容器)都是可见,这包括了kubernetes业务容器中的/proc中所有可见信息,kubernetes业务容器的文件系统通过/proc/$pid/root链接对sidecar容器可见。由此,sidecar容器中的监控进程就可以对kubernetes业务容器中的进程和文件系统进行监测和控制。
3.sidecar容器中的监控进程与内核进行通讯,使sidecar容器中的监控进程和安全模块配合起来,根据sidecar容器中的安全监测选项,对kubernetes业务容器中的进程和文件系统等进行监测和控制。
如图2所示,根据kubernetes业务容器的定义,sidecar容器先于kubernetes业务容器启动,sidecar容器中的监控进程与内核进行通讯,根据sidecar容器中的安全监测选项(默认的安全监测选项或自定义配置的安全监测选项),监测后续启动的kubernetes业务容器中的进程是否有异常行为,或监测kubernetes业务容器中的文件系统是否有异常行为(异常访问或异常挂载等操作),对发现的异常行为进行包括终止、告警和/或记录日志的操作。
所述基于sidecar方案的kubernetes业务容器安全性探测方法的运行示例:
准备阶段:按照上述内容配置运行环境,然后按顺序启动sidecar容器和kubernetes业务容器。
运行阶段:sidecar容器会采集kubernetes业务容器中的可执行程序或动态库的hash值,然后通过sidecar容器的通道将这些hash值通知内核中的安全模块。内核中的安全模块按照规则,通过在Rootkit或LSM中判断,首先检查准备执行该可执行程序的用户是否是指定用户,如果满足条件再检查可执行程序的hash值是否有效。非指定用户的操作将被放行,也就是内核中的安全模块不会影响宿主机的操作。而无效(hash值不匹配)的可执行程序或动态库将不允许执行或加载,内核中的安全模块将异常信息反馈给sidecar容器。
通过上述规则,kubernetes业务容器中的可执行程序和动态库的加载过程就会受到限制,即使容器中存在漏洞被攻击,也能限制攻击者通过执行攻击程序来破坏容器环境和宿主机环境。也就是说,通过本发明的方法,可对kubernetes业务容器做无侵入的运行时安全监测,有效提高容器的安全性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于sidecar方案的kubernetes业务容器安全性探测方法,其特征在于,包括:
在内核中集成基于LSM和/或Rootkit的安全模块;
在Pod中为每一个需要监测和控制的kubernetes业务容器添加统一的sidecar容器,并为Pod中的多容器开启共享进程命名空间;
sidecar容器中的监控进程与内核进行通讯,使sidecar容器中的监控进程和安全模块配合起来,根据sidecar容器中的安全监测选项,对kubernetes业务容器中的进程和文件系统进行监测和控制。
2.根据权利要求1所述的基于sidecar方案的kubernetes业务容器安全性探测方法,其特征在于,所述在内核中集成基于LSM和/或Rootkit的安全模块的方法为:
修改宿主机的内核代码,添加基于LSM的安全访问钩子,并在内核中开启内核服务,然后等待与sidecar容器中的监控进程进行通讯;
当不能修改宿主机的内核代码时,动态插入基于Rootkit的安全监测模块,并在内核中开启内核服务,然后等待与sidecar容器中的监控进程进行通讯。
3.根据权利要求1所述的基于sidecar方案的kubernetes业务容器安全性探测方法,其特征在于,在添加的sidecar容器中,能够根据业务需要自定义配置sidecar容器的安全监测选项。
4.根据权利要求4所述的基于sidecar方案的kubernetes业务容器安全性探测方法,其特征在于,所述根据业务需要自定义配置sidecar容器的安全监测选项的方法为:通过环境变量配置覆盖sidecar容器中默认的安全监测选项。
5.根据权利要求1所述的基于sidecar方案的kubernetes业务容器安全性探测方法,其特征在于,sidecar容器先于kubernetes业务容器启动。
6.根据权利要求1所述的基于sidecar方案的kubernetes业务容器安全性探测方法,其特征在于,当发现kubernetes业务容器中的异常行文时,对异常行为进行的操作包括终止、告警和/或记录日志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010691148.XA CN111865971A (zh) | 2020-07-17 | 2020-07-17 | 一种基于sidecar方案的kubernetes业务容器安全性探测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010691148.XA CN111865971A (zh) | 2020-07-17 | 2020-07-17 | 一种基于sidecar方案的kubernetes业务容器安全性探测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111865971A true CN111865971A (zh) | 2020-10-30 |
Family
ID=73000536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010691148.XA Pending CN111865971A (zh) | 2020-07-17 | 2020-07-17 | 一种基于sidecar方案的kubernetes业务容器安全性探测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111865971A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112596987A (zh) * | 2020-12-30 | 2021-04-02 | 中国工商银行股份有限公司 | 应用程序可用性的监控方法、装置、电子设备和介质 |
CN112929180A (zh) * | 2021-02-05 | 2021-06-08 | 中国—东盟信息港股份有限公司 | 一种Kubernetes零信任网络安全系统及其实现方法 |
CN114221773A (zh) * | 2021-12-17 | 2022-03-22 | 北京邮电大学 | 一种基于容器云自动添加代理的方法 |
CN115189934A (zh) * | 2022-07-06 | 2022-10-14 | 上海交通大学 | 针对Kubernetes的自动化配置安全检测方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104335220A (zh) * | 2012-03-30 | 2015-02-04 | 爱迪德加拿大公司 | 用于防止和检测安全威胁的方法和系统 |
CN105830477A (zh) * | 2013-08-12 | 2016-08-03 | 哥莱菲特软件公司 | 集成操作系统的域管理 |
CN106330984A (zh) * | 2016-11-29 | 2017-01-11 | 北京元心科技有限公司 | 访问控制策略的动态更新方法及装置 |
CN108092936A (zh) * | 2016-11-22 | 2018-05-29 | 北京计算机技术及应用研究所 | 一种基于插件架构的主机监控系统 |
CN108446159A (zh) * | 2017-02-16 | 2018-08-24 | 中标软件有限公司 | 基于Docker容器的移动端双系统实现系统及方法 |
CN109450893A (zh) * | 2018-11-05 | 2019-03-08 | 南京壹进制信息技术股份有限公司 | 一种基于linux内核的网络防护软件方法和系统 |
US10417454B1 (en) * | 2018-06-05 | 2019-09-17 | Cyberark Software Ltd. | Automated secure operating system policy integration |
CN110262899A (zh) * | 2019-06-20 | 2019-09-20 | 无锡华云数据技术服务有限公司 | 基于Kubernetes集群的监控组件弹性伸缩方法、装置及受控终端 |
US10623390B1 (en) * | 2017-08-24 | 2020-04-14 | Pivotal Software, Inc. | Sidecar-backed services for cloud computing platform |
-
2020
- 2020-07-17 CN CN202010691148.XA patent/CN111865971A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104335220A (zh) * | 2012-03-30 | 2015-02-04 | 爱迪德加拿大公司 | 用于防止和检测安全威胁的方法和系统 |
CN105830477A (zh) * | 2013-08-12 | 2016-08-03 | 哥莱菲特软件公司 | 集成操作系统的域管理 |
CN108092936A (zh) * | 2016-11-22 | 2018-05-29 | 北京计算机技术及应用研究所 | 一种基于插件架构的主机监控系统 |
CN106330984A (zh) * | 2016-11-29 | 2017-01-11 | 北京元心科技有限公司 | 访问控制策略的动态更新方法及装置 |
CN108446159A (zh) * | 2017-02-16 | 2018-08-24 | 中标软件有限公司 | 基于Docker容器的移动端双系统实现系统及方法 |
US10623390B1 (en) * | 2017-08-24 | 2020-04-14 | Pivotal Software, Inc. | Sidecar-backed services for cloud computing platform |
US10417454B1 (en) * | 2018-06-05 | 2019-09-17 | Cyberark Software Ltd. | Automated secure operating system policy integration |
CN109450893A (zh) * | 2018-11-05 | 2019-03-08 | 南京壹进制信息技术股份有限公司 | 一种基于linux内核的网络防护软件方法和系统 |
CN110262899A (zh) * | 2019-06-20 | 2019-09-20 | 无锡华云数据技术服务有限公司 | 基于Kubernetes集群的监控组件弹性伸缩方法、装置及受控终端 |
Non-Patent Citations (5)
Title |
---|
孔同等: "一种基于容器的安全云计算平台设计", 《科研信息化技术与应用》, no. 01, 20 January 2017 (2017-01-20), pages 1 - 9 * |
李平平等: "基于LSM的Docker访问控制机制研究", 《信息技术》 * |
李平平等: "基于LSM的Docker访问控制机制研究", 《信息技术》, no. 11, 25 November 2016 (2016-11-25), pages 1 - 6 * |
黎春武: "云环境内部威胁安全防范技术研究", 《电脑编程技巧与维护》 * |
黎春武: "云环境内部威胁安全防范技术研究", 《电脑编程技巧与维护》, no. 04, 18 April 2020 (2020-04-18), pages 1 - 6 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112596987A (zh) * | 2020-12-30 | 2021-04-02 | 中国工商银行股份有限公司 | 应用程序可用性的监控方法、装置、电子设备和介质 |
CN112929180A (zh) * | 2021-02-05 | 2021-06-08 | 中国—东盟信息港股份有限公司 | 一种Kubernetes零信任网络安全系统及其实现方法 |
CN112929180B (zh) * | 2021-02-05 | 2022-07-08 | 中国—东盟信息港股份有限公司 | 一种Kubernetes零信任网络安全系统及其实现方法 |
CN114221773A (zh) * | 2021-12-17 | 2022-03-22 | 北京邮电大学 | 一种基于容器云自动添加代理的方法 |
CN114221773B (zh) * | 2021-12-17 | 2024-02-06 | 北京邮电大学 | 一种基于容器云自动添加代理的方法 |
CN115189934A (zh) * | 2022-07-06 | 2022-10-14 | 上海交通大学 | 针对Kubernetes的自动化配置安全检测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111865971A (zh) | 一种基于sidecar方案的kubernetes业务容器安全性探测方法 | |
CN107690645B (zh) | 使用解释器虚拟机的行为恶意软件检测 | |
US9094451B2 (en) | System and method for reducing load on an operating system when executing antivirus operations | |
US8448165B1 (en) | System and method for logging operations of virtual machines | |
US11438349B2 (en) | Systems and methods for protecting devices from malware | |
EP3654218B1 (en) | Method for detecting malicious code and deferring countermeasures | |
CA2931325C (en) | Complex scoring for malware detection | |
US9336390B2 (en) | Selective assessment of maliciousness of software code executed in the address space of a trusted process | |
JP4676744B2 (ja) | セキュリティ関連プログラミング・インターフェース | |
WO2019072008A1 (zh) | 小程序的安全扫描方法、装置以及电子设备 | |
EP3502944B1 (en) | Detecting script-based malware cross reference to related applications | |
US20140137183A1 (en) | Security system and method for the android operating system | |
US20190220260A1 (en) | Device Driver Non-Volatile Backing-Store Installation | |
EP3514718B1 (en) | Verified inter-module communications interface | |
US20210026947A1 (en) | Intrusion detection and prevention for unknown software vulnerabilities using live patching | |
CN104252594B (zh) | 病毒检测方法和装置 | |
CN112199151B (zh) | 一种应用程序的运行方法及装置 | |
CN112395593B (zh) | 指令执行序列的监测方法及装置、存储介质、计算机设备 | |
EP2881883B1 (en) | System and method for reducing load on an operating system when executing antivirus operations | |
CN111259392A (zh) | 一种基于内核模块的恶意软件拦截方法及装置 | |
US11900154B2 (en) | Enabling modern standby for unsupported applications | |
CN109992971B (zh) | 局域网内计算机批量固件安全检测方法及系统 | |
CN112685744A (zh) | 一种利用栈相关寄存器检测软件漏洞的方法及装置 | |
US20240296222A1 (en) | Antimalware Systems and Methods Using Optimal Triggering of Artificial Intelligence Modules | |
US20240143760A1 (en) | Stacked Malware Detector For Mobile Platforms |
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 | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20221230 |
|
AD01 | Patent right deemed abandoned |