CN116226846A - 一种容器的安全检测方法、装置及设备 - Google Patents

一种容器的安全检测方法、装置及设备 Download PDF

Info

Publication number
CN116226846A
CN116226846A CN202211700105.9A CN202211700105A CN116226846A CN 116226846 A CN116226846 A CN 116226846A CN 202211700105 A CN202211700105 A CN 202211700105A CN 116226846 A CN116226846 A CN 116226846A
Authority
CN
China
Prior art keywords
detection
security
instruction
target container
namespace
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.)
Granted
Application number
CN202211700105.9A
Other languages
English (en)
Other versions
CN116226846B (zh
Inventor
郭建新
张晨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Volcano Engine Technology Co Ltd
Original Assignee
Beijing Volcano Engine Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Volcano Engine Technology Co Ltd filed Critical Beijing Volcano Engine Technology Co Ltd
Priority to CN202211700105.9A priority Critical patent/CN116226846B/zh
Publication of CN116226846A publication Critical patent/CN116226846A/zh
Priority to US18/391,588 priority patent/US20240220605A1/en
Application granted granted Critical
Publication of CN116226846B publication Critical patent/CN116226846B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Debugging And Monitoring (AREA)
  • Alarm Systems (AREA)

Abstract

本申请公开了一种容器的安全检测方法、装置及设备,在检测进程的命名空间中由检测进程启动安全代理进程,将安全代理进程切换到待检测的目标容器进程的命名空间中。检测进程控制安全代理进程与标容器进程建立通信连接,从而由安全代理进程实现检测进程与目标容器进程之间的通信。具体的,检测进程向安全代理进程发送安全检测指令,安全代理进程向目标容器进程转发该安全检测指令。目标容器进程响应该安全检测指令产生待检测数据,安全代理进程再将待检测数据发送给检测进程进行安全检测。则检测进程仅和安全代理进程保持通信,并不会直接切换到目标容器进程的命名空间中,可以保证检测进程的安全性。

Description

一种容器的安全检测方法、装置及设备
技术领域
本申请涉及计算机技术领域,具体涉及一种容器的安全检测方法、装置及设备。
背景技术
计算机技术领域中的容器一般运行在操作系统之上,使用操作系统自身支持的机制,提供了相对独立的应用程序运行的环境。在需要对容器的工作负载进行安全检测时,由于被检测的容器进程与检测进程在不同的命名空间中,需要将检测进程切换到被检测容器进程的命名空间中。
但是,被检测的容器进程有可能被恶意进程控制,则容器进程的运行环境可能不安全,当检测进程切换到被检测容器进程的命名空间后,检测进程的安全性无法保证,由于检测进程一般具有比较高的权限,会导致更严重的风险。
发明内容
有鉴于此,本申请实施例提供一种容器的安全检测方法、装置及设备,以提高检测进程进行容器安全检测时的安全性。
为解决上述问题,本申请实施例提供的技术方案如下:
第一方面,本申请实施例提供一种容器的安全检测方法,所述方法包括:
在检测进程的命名空间启动安全代理进程;
通过所述检测进程向所述安全代理进程发送切换命名空间指令,所述切换命名空间指令包括目标容器进程的标识,用于指示所述安全代理进程由所述检测进程的命名空间切换到所述目标容器进程的命名空间;
通过所述检测进程向所述安全代理进程发送注入指令,所述注入指令包括所述目标容器进程的标识,用于指示所述安全代理进程与所述目标容器进程建立通信连接;
通过所述检测进程向所述安全代理进程发送安全检测指令,并指示所述安全代理进程向所述目标容器进程转发所述安全检测指令;
通过所述检测进程从所述安全代理进程获取所述目标容器进程响应所述安全检测指令产生的待检测数据,对所述待检测数据进行安全检测。
第二方面,本申请实施例提供一种容器的安全检测方法,所述方法包括:
在检测进程的命名空间启动安全代理进程之后,通过所述安全代理进程接收所述检测进程发送的切换命名空间指令,所述切换命名空间指令包括目标容器进程的标识;
通过所述安全代理进程响应于所述切换命名空间指令由所述检测进程的命名空间切换到所述目标容器进程的命名空间;
通过所述安全代理进程接收所述检测进程发送的注入指令,所述注入指令包括所述目标容器进程的标识;
通过所述安全代理进程响应于所述注入指令,与所述目标容器进程建立通信连接;
通过所述安全代理进程接收所述检测进程发送的安全检测指令,向所述目标容器进程转发所述安全检测指令;
通过所述安全代理进程获取所述目标容器进程响应所述安全检测指令产生的待检测数据,将所述待检测数据发送给所述检测进程。
第三方面,本申请实施例提供一种容器的安全检测装置,所述装置包括:
启动单元,用于在所述检测进程的命名空间启动安全代理进程;
第一发送单元,用于向所述安全代理进程发送切换命名空间指令,所述切换命名空间指令包括目标容器进程的标识,用于指示所述安全代理进程由所述检测进程的命名空间切换到所述目标容器进程的命名空间;
第二发送单元,用于向所述安全代理进程发送注入指令,所述注入指令包括所述目标容器进程的标识,用于指示所述安全代理进程与所述目标容器进程建立通信连接;
第三发送单元,用于向所述安全代理进程发送安全检测指令,并指示所述安全代理进程向所述目标容器进程转发所述安全检测指令;
检测单元,用于从所述安全代理进程获取所述目标容器进程响应所述安全检测指令产生的待检测数据,对所述待检测数据进行安全检测。
第四方面,本申请实施例提供一种容器的安全检测装置,所述装置包括:
第一接收单元,用于在检测进程的命名空间启动安全代理进程之后,接收所述检测进程发送的切换命名空间指令,所述切换命名空间指令包括目标容器进程的标识;
切换单元,用于响应于所述切换命名空间指令由所述检测进程的命名空间切换到所述目标容器进程的命名空间;
第二接收单元,用于接收所述检测进程发送的注入指令,所述注入指令包括所述目标容器进程的标识;
建立单元,用于响应于所述注入指令,与所述目标容器进程建立通信连接;
第三接收单元,用于接收所述检测进程发送的安全检测指令,向所述目标容器进程转发所述安全检测指令;
获取单元,用于获取所述目标容器进程响应所述安全检测指令产生的待检测数据,将所述待检测数据发送给所述检测进程。
第五方面,本申请实施例提供一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第一方面任一所述的容器的安全检测方法,或者上述第二方面任一所述的容器的安全检测方法。
第六方面,本申请实施例提供一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如上述第一方面任一所述的容器的安全检测方法,或者上述第二方面任一所述的容器的安全检测方法。
由此可见,本申请实施例具有如下有益效果:
本申请实施例在检测进程的命名空间中由检测进程启动安全代理进程,将安全代理进程切换到待检测的目标容器进程的命名空间中。通过检测进程控制安全代理进程与标容器进程建立通信连接,从而由安全代理进程实现检测进程与目标容器进程之间的通信。具体的,通过检测进程向安全代理进程发送安全检测指令,安全代理进程向目标容器进程转发该安全检测指令。目标容器进程响应该安全检测指令产生待检测数据,安全代理进程再将待检测数据发送给检测进程进行安全检测。则检测进程仅和安全代理进程保持通信,并不会直接切换到目标容器进程的命名空间中,可以保证检测进程的安全性。
附图说明
图1为本申请实施例提供的一种示例性应用场景的示意图;
图2为本申请实施例提供的一种容器的安全检测方法的流程图;
图3为本申请实施例提供的另一种示例性应用场景的示意图;
图4为本申请实施例提供的另一种容器的安全检测方法的流程图;
图5为本申请实施例提供的一种容器的安全检测装置的示意图;
图6为本申请实施例提供的另一种容器的安全检测装置的示意图;
图7为本申请实施例提供的一种电子设备的示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
为了便于理解和解释本申请实施例提供的技术方案,下面将先对本申请实施例的背景技术进行说明。
在需要对容器的工作负载进行安全检测时,由于被检测的容器进程与检测进程在不同的命名空间中,需要将检测进程切换到被检测容器进程的命名空间中。其中,命名空间用于隔离不同进程能够访问的资源,是容器的核心技术。
但是,被检测的容器进程有可能被恶意进程控制,则容器进程的运行环境可能不安全。当检测进程切换到被检测容器进程的命名空间后,检测进程的网络空间仍然属于检测进程原来的命名空间,这样恶意进程就可以访问检测进程的相关网络资源,从而导致风险渗透。由于检测进程一般具有比较高的权限,会导致更严重的风险。
基于此,本申请实施例提供一种容器的安全检测方法、装置及设备,在检测进程的命名空间中由检测进程启动安全代理进程,将安全代理进程切换到待检测的目标容器进程的命名空间中。通过检测进程控制安全代理进程与标容器进程建立通信连接,从而由安全代理进程实现检测进程与目标容器进程之间的通信。具体的,通过检测进程向安全代理进程发送安全检测指令,安全代理进程向目标容器进程转发该安全检测指令。目标容器进程响应该安全检测指令产生待检测数据,安全代理进程再将待检测数据发送给检测进程进行安全检测。则检测进程仅和安全代理进程保持通信,并不会直接切换到目标容器进程的命名空间中,可以保证检测进程的安全性。
为了便于理解本申请实施例提供的方法,下面结合图1所示的场景示例进行说明。参见图1所示,该图为本申请实施例提供的示例性应用场景的示意图。
检测进程运行在检测进程的命名空间,需要对目标容器进程进行安全检测,目标容器进程运行在目标容器进程的命名空间。检测进程首先在检测进程的命名空间中启动安全代理进程,然后控制安全代理进程由检测进程的命名空间切换到目标容器进程的命名空间。之后通过向安全代理进程下发指令,使安全代理进程与目标容器进程建立通信连接。在安全代理进程与目标容器进程建立通信连接之后,检测进程则可以通过安全代理进程向目标容器进程发送安全检测指令,并通过安全代理进程获取目标容器进程响应安全检测指令产生的待检测数据,从而对待检测数据进行安全检测。这样,检测进程自身并不需要切换到目标容器进程的命名空间中,充分保证了检测进程的安全性。
本领域技术人员可以理解,图1所示的框架示意图仅是本申请的实施方式可以在其中得以实现的一个示例。本申请实施方式的适用范围不受到该框架任何方面的限制。
为了便于理解本申请,下面结合附图对本申请实施例提供的一种容器的安全检测方法进行说明。
参见图2所示,该图为本申请实施例提供的一种容器的安全检测方法的流程图,本实施例从检测进程作为执行主体的角度进行说明。如图2所示,该容器的安全检测方法可以包括S201-S205:
S201:在检测进程的命名空间启动安全代理进程。
在需要进行容器的安全检测时,检测进程在检测进程的命名空间启动安全代理进程,安全代理进程为检测进程的子进程,此时安全代理进程处于检测进程的命名空间中。
在实际应用中,检测进程建立命令管道和数据管道,在Linux操作系统下子进程会继承父进程已经打开的文件描述符,则检测进程可以通过命令管道和数据管道与安全代理进程进行通信。即命令管道和数据管道可以理解为文件,检测进程和安全代理进程可以通过命令管道和数据管道的文件描述符,去读写命令管道和数据管道,以实现检测进程与安全代理进程之间的通信。
在一种可能的实现方式中,在S202通过检测进程向安全代理进程发送切换命名空间指令之前,还可以包括:
通过检测进程创建控制组群,设置控制组群的处理器限制和/或内存限制,将安全代理进程切换到控制组群中。
也即通过检测进程创建控制组群(Cgroups),控制组群可以实现资源的使用限制。通过设置控制组群的处理器限制和/或内存限制,将安全代理进程切换到控制组群中,则可以对安全代理进程的处理器和/或内存的使用进行限定,以避免安全代理进程使用过量资源。
S202:通过检测进程向安全代理进程发送切换命名空间指令,切换命名空间指令包括目标容器进程的标识,用于指示安全代理进程由检测进程的命名空间切换到目标容器进程的命名空间。
检测进程通过命令管道向安全代理进程发送切换命名空间指令,切换命名空间指令包括有待检测的目标容器进程的标识。切换命名空间指令用于指示安全代理进程由检测进程的命名空间切换到目标容器进程的命名空间。
安全代理进程响应于切换命名空间指令,由目标容器进程的标识查找到目标容器进程的命名空间,由检测进程的命名空间切换到目标容器进程的命名空间。具体可以将安全代理进程的文件、进程、网络、IPC(Inter-Process Communication,进程间通信)等内容都切换到目标容器进程的命名空间中。
S203:通过检测进程向安全代理进程发送注入指令,注入指令包括目标容器进程的标识,用于指示安全代理进程与目标容器进程建立通信连接。
检测进程通过命令管道向安全代理进程发送注入指令,注入指令包括目标容器进程的标识,注入指令还可以包括有注入类型。注入指令用于指示安全代理进程与目标容器进程建立通信连接。
安全代理进程响应于注入指令,建立链接到目标容器进程的通信。以Java方式为例,向目标容器进程发送SIGQUIT信号,目标容器进程接收到该信号后,会以当前目标容器进程的标识为路径创建路径的Unix Domain Socket(UDS,进程间通信),安全代理进程链接UDS,从而安全代理进程与目标容器进程建立通信连接。
S204:通过检测进程向安全代理进程发送安全检测指令,并指示安全代理进程向目标容器进程转发安全检测指令。
检测进程通过命令管道向安全代理进程发送安全检测指令,并指示安全代理进程向目标容器进程转发安全检测指令。安全代理进程可以通过建立的通信连接将安全检测指令发送给目标容器进程,例如安全代理进程可以通过UDS将安全检测指令发送给目标容器进程。安全检测指令用于指示目标容器进程产生待检测数据,例如指示目标容器进程采集目标容器进程中的目标代码片段。
S205:通过检测进程从安全代理进程获取目标容器进程响应安全检测指令产生的待检测数据,对待检测数据进行安全检测。
目标容器进程响应于安全检测指令产生待检测数据之后,安全代理进程可以获取待检测数据。安全代理进程将待检测数据通过数据管道发送给检测进程,检测进程对待检测数据进行安全检测,例如检测进程对目标容器进程中的目标代码片段是否包括恶意代码进行检测。
基于上述S201-S205的描述,本申请实施例在检测进程的命名空间中由检测进程启动安全代理进程,将安全代理进程切换到待检测的目标容器进程的命名空间中。通过检测进程控制安全代理进程与标容器进程建立通信连接,从而由安全代理进程实现检测进程与目标容器进程之间的通信。具体的,通过检测进程向安全代理进程发送安全检测指令,安全代理进程向目标容器进程转发该安全检测指令。目标容器进程响应该安全检测指令产生待检测数据,安全代理进程再将待检测数据发送给检测进程进行安全检测。则检测进程仅和安全代理进程保持通信,并不会直接切换到目标容器进程的命名空间中,可以保证检测进程的安全性。
在一种可能的实现方式中,可以利用检测文件触发目标容器进程产生待检测数据。则在S202通过检测进程向安全代理进程发送切换命名空间指令之后,还可以包括:
通过检测进程向安全代理进程发送文件复制指令,文件复制指令包括检测文件的信息,用于指示安全代理进程根据检测文件的信息获取检测文件,将检测文件写入目标容器进程的命名空间中的指定路径。
检测进程通过命令管道向安全代理进程发送文件复制指令,文件复制指令包括检测文件的信息,例如检测文件的大小、保存路径、写入目标容器进程的命名空间中的指定路径等。文件复制指令于指示安全代理进程根据检测文件的信息获取检测文件,将检测文件写入目标容器进程的命名空间中的指定路径。
安全代理进程根据检测文件的信息通过数据管道从检测进程获取到检测文件,然后将检测文件写入指定路径中。检测文件可以指示目标容器进程如何产生待检测数据。另外,通过数据管道向目标容器进程的命名空间中复制检测文件,可以兼容不同的容器文件系统。
在一种可能的实现方式中,在检测文件写入目标容器进程的命名空间中后,S204通过检测进程向安全代理进程发送安全检测指令,并指示安全代理进程向目标容器进程转发安全检测指令的具体实现可以包括:
通过检测进程向安全代理进程发送检测文件的加载指令,并指示安全代理进程向目标容器进程转发检测文件的加载指令,检测文件的加载指令用于指示目标容器进程从指定路径获取并加载执行检测文件以产生待检测数据。
在本申请实施例中,检测进程通过命令管道向安全代理进程发送检测文件的加载指令,即安全检测指令具体为检测文件的加载指令。安全代理进程向目标容器进程转发检测文件的加载指令,目标容器进程从写入检测文件的指定路径中获取检测文件,加载并执行检测文件。在目标容器进程执行检测文件时,则可以产生待检测数据,例如根据检测文件的运行采集目标容器进程中的目标代码片段。从而通过检测文件触发产生待检测数据。
在实际应用中,大量待检测数据直接由目标容器进程传输给安全代理进程会影响目标容器进程的正常工作。因此,在一种可能的实现方式中,在S202通过检测进程向安全代理进程发送切换命名空间指令之后,还可以包括:
通过检测进程向安全代理进程发送创建共享内存指令,并指示安全代理进程在目标容器进程的命名空间中创建共享内存,并将共享内存的标识发送给检测进程;
通过检测进程获取共享内存的标识。
在本申请实施例中,为了避免传输待检测数据对目标容器进程的影响,可以在目标容器进程的命名空间中创建共享内存。检测进程通过命令管道向安全代理进程发送创建共享内存指令,安全代理进程响应于该创建共享内存指令,在目标容器进程的命名空间中创建共享内存,并将共享内存的标识发送给检测进程。
在一种可能的实现方式中,还可以包括:
通过检测进程向安全代理进程发送共享内存标识分发指令,并指示安全代理进程将共享内存的标识发送给目标容器进程,共享内存的标识用于指示目标容器进程在产生待检测数据后将待检测数据写入共享内存。
检测进程在收到共享内存的标识之后,通过命令管道向安全代理进程发送共享内存标识分发指令。安全代理进程将共享内存的标识发送给目标容器进程,从而在目标容器进程产生待检测数据后将待检测数据写入共享内存,而不是直接将待检测数据发生给安全代理进程。
基于此,在一种可能的实现方式中,S205通过检测进程从安全代理进程获取目标容器进程响应安全检测指令产生的待检测数据,对待检测数据进行安全检测的具体实现可以包括:
通过检测进程从安全代理进程获取待检测数据,对待检测数据进行安全检测,待检测数据是安全代理进程从共享内存中获取的。
也即目标容器进程将待检测数据写入共享内存之后,可以通知安全代理进程读取数据,则安全代理进程可以从共享内存中获取待检测数据,再通过数据管道将待检测数据发送给检测进程。检测进程对待检测数据进行安全检测,例如检测进程对目标容器进程中的目标代码片段是否包括恶意代码进行检测。
这样,目标容器进程与安全代理进程之间的待检测数据传输通过共享内存实现,不会影响目标容器进程的正常工作。
另外,在检测进程完成对待检测数据的安全检测之后,还可以通过命令管道向安全代理进程发送结束指令。安全代理进程响应于结束指令,删除共享内存以及检测文件,并结束进程,从而安全代理进程退出了目标容器进程的命名空间。
参见图3所示,示出了本申请实施例提供的又一示例性应用场景的示意图。结合该示意图,对实际应用中本申请实施例提供的容器的安全检测方法进行说明。
在需要进行容器的安全检测时,检测进程在检测进程的命名空间启动安全代理进程,此时安全代理进程处于检测进程的命名空间中。
检测进程建立命令管道和数据管道,检测进程可以通过命令管道和数据管道与安全代理进程进行通信。
检测进程创建控制组群,设置控制组群的处理器限制和/或内存限制,将安全代理进程切换到控制组群中。
检测进程通过命令管道向安全代理进程发送切换命名空间指令,切换命名空间指令包括有待检测的目标容器进程的标识。
安全代理进程响应于切换命名空间指令,由目标容器进程的标识查找到目标容器进程的命名空间,由检测进程的命名空间切换到目标容器进程的命名空间。
检测进程通过命令管道向安全代理进程发送文件复制指令,文件复制指令包括检测文件的信息,安全代理进程根据检测文件的信息通过数据管道从检测进程获取到检测文件,然后将检测文件写入目标容器进程的命名空间中的指定路径。
检测进程通过命令管道向安全代理进程发送创建共享内存指令,安全代理进程响应于该创建共享内存指令,在目标容器进程的命名空间中创建共享内存,并将共享内存的标识发送给检测进程。
检测进程通过命令管道向安全代理进程发送注入指令,注入指令包括目标容器进程的标识,安全代理进程响应于注入指令,与目标容器进程建立通信连接。
检测进程在收到共享内存的标识之后,通过命令管道向安全代理进程发送共享内存标识分发指令。安全代理进程将共享内存的标识发送给目标容器进程。
检测进程通过命令管道向安全代理进程发送检测文件的加载指令,安全代理进程向目标容器进程转发检测文件的加载指令,目标容器进程从写入检测文件的指定路径中获取检测文件,加载并执行检测文件。
目标容器进程产生待检测数据后,根据共享内存的标识将待检测数据写入共享内存,安全代理进程从共享内存中获取待检测数据,再通过数据管道将待检测数据发送给检测进程,检测进程对待检测数据进行安全检测。
在检测进程完成对待检测数据的安全检测之后,通过命令管道向安全代理进程发送结束指令。安全代理进程响应于结束指令,删除共享内存以及检测文件,并结束进程。
通过上述过程,由安全代理进程代替检测进程运行在目标容器进程的命名空间中,由于检测进程并没有切换到目标容器进程的命名空间中,即使目标容器进程的命名空间不安全,也不会直接影响检测进程,保证了检测进程的安全性。另外,通过安全代理进程实现检测进程与目标容器进程的交互,具有良好的扩展性,能适应不同的需求。
参见图4所示,该图为本申请实施例提供的另一种容器的安全检测方法的流程图,本实施例从安全代理进程作为执行主体的角度进行说明。如图4所示,该容器的安全检测方法可以包括S401-S406:
S401:在检测进程的命名空间启动安全代理进程之后,通过安全代理进程接收检测进程发送的切换命名空间指令,切换命名空间指令包括目标容器进程的标识。
S402:通过安全代理进程响应于切换命名空间指令由检测进程的命名空间切换到目标容器进程的命名空间。
S403:通过安全代理进程接收检测进程发送的注入指令,注入指令包括目标容器进程的标识。
S404:通过安全代理进程响应于注入指令,与目标容器进程建立通信连接。
S405:通过安全代理进程接收检测进程发送的安全检测指令,向目标容器进程转发安全检测指令。
S406:安全代理进程获取目标容器进程响应安全检测指令产生的待检测数据,将待检测数据发送给检测进程。
在一种可能的实现方式中,在S402通过安全代理进程响应于切换命名空间指令由检测进程的命名空间切换到目标容器进程的命名空间之后,还可以包括:
通过安全代理进程接收检测进程发送的文件复制指令,文件复制指令包括检测文件的信息;
通过安全代理进程根据检测文件的信息获取检测文件,将检测文件写入目标容器进程的命名空间中的指定路径。
在一种可能的实现方式中,S405通过安全代理进程接收检测进程发送的安全检测指令,向目标容器进程转发安全检测指令的具体实现可以包括:
通过安全代理进程接收检测进程发送的检测文件的加载指令,向目标容器进程转发检测文件的加载指令,检测文件的加载指令用于指示目标容器进程从指定路径获取并加载执行检测文件以产生待检测数据。
在一种可能的实现方式中,在S402通过安全代理进程响应于切换命名空间指令由检测进程的命名空间切换到目标容器进程的命名空间之后,还可以包括:
通过安全代理进程接收检测进程发送的创建共享内存指令,在目标容器进程的命名空间中创建共享内存,并将共享内存的标识发送给检测进程。
在一种可能的实现方式中,还可以包括:
通过安全代理进程接收检测进程发送的共享内存标识分发指令,将共享内存的标识发送给目标容器进程,并指示目标容器进程在产生待检测数据后将待检测数据写入共享内存。
在一种可能的实现方式中,S406通过安全代理进程获取目标容器进程响应安全检测指令产生的待检测数据,将待检测数据发送给检测进程的具体实现可以包括:
通过安全代理进程从共享内存获取目标容器进程产生的待检测数据,将待检测数据发送给检测进程。
在本实施例中,由安全代理进程作为执行主体实现容器的安全检测方法,其实现过程的具体说明可以参见上述各个实施例,在此不再赘述。
本申请实施例在检测进程的命名空间中由检测进程启动安全代理进程,将安全代理进程切换到待检测的目标容器进程的命名空间中。通过检测进程控制安全代理进程与标容器进程建立通信连接,从而由安全代理进程实现检测进程与目标容器进程之间的通信。具体的,通过检测进程向安全代理进程发送安全检测指令,安全代理进程向目标容器进程转发该安全检测指令。目标容器进程响应该安全检测指令产生待检测数据,安全代理进程再将待检测数据发送给检测进程进行安全检测。则检测进程仅和安全代理进程保持通信,并不会直接切换到目标容器进程的命名空间中,可以保证检测进程的安全性。
基于上述方法实施例提供的一种容器的安全检测方法,本申请实施例还提供了一种容器的安全检测装置,下面将结合附图对该装置进行说明。
参见图5所示,该图为本申请实施例提供的一种容器的安全检测装置的结构示意图。如图5所示,该容器的安全检测装置包括:
启动单元501,用于在所述检测进程的命名空间启动安全代理进程;
第一发送单元502,用于向所述安全代理进程发送切换命名空间指令,所述切换命名空间指令包括目标容器进程的标识,用于指示所述安全代理进程由所述检测进程的命名空间切换到所述目标容器进程的命名空间;
第二发送单元503,用于向所述安全代理进程发送注入指令,所述注入指令包括所述目标容器进程的标识,用于指示所述安全代理进程与所述目标容器进程建立通信连接;
第三发送单元504,用于向所述安全代理进程发送安全检测指令,并指示所述安全代理进程向所述目标容器进程转发所述安全检测指令;
检测单元505,用于从所述安全代理进程获取所述目标容器进程响应所述安全检测指令产生的待检测数据,对所述待检测数据进行安全检测。
在一种可能的实现方式中,所述装置还包括:
第四发送单元,用于向所述安全代理进程发送文件复制指令,所述文件复制指令包括检测文件的信息,用于指示所述安全代理进程根据所述检测文件的信息获取所述检测文件,将所述检测文件写入所述目标容器进程的命名空间中的指定路径。
在一种可能的实现方式中,所述第三发送单元具体用于:
向所述安全代理进程发送所述检测文件的加载指令,并指示所述安全代理进程向所述目标容器进程转发所述检测文件的加载指令,所述检测文件的加载指令用于指示所述目标容器进程从所述指定路径获取并加载执行所述检测文件以产生待检测数据。
在一种可能的实现方式中,所述装置还包括:
第五发送单元,用于向所述安全代理进程发送创建共享内存指令,并指示所述安全代理进程在所述目标容器进程的命名空间中创建共享内存,并将所述共享内存的标识发送给所述检测进程;
获取单元,用于获取所述共享内存的标识。
在一种可能的实现方式中,所述装置还包括:
第六发送单元,用于向所述安全代理进程发送共享内存标识分发指令,并指示所述安全代理进程将所述共享内存的标识发送给所述目标容器进程,所述共享内存的标识用于指示所述目标容器进程在产生待检测数据后将所述待检测数据写入所述共享内存。
在一种可能的实现方式中,所述检测单元具体用于:
所述检测进程从所述安全代理进程获取所述待检测数据,对所述待检测数据进行安全检测,所述待检测数据是所述安全代理进程从所述共享内存中获取的。
在一种可能的实现方式中,所述装置还包括:
创建单元,用于所述检测进程创建控制组群,设置所述控制组群的处理器限制和/或内存限制,将所述安全代理进程切换到所述控制组群中。
基于上述方法实施例提供的另一种容器的安全检测方法,本申请实施例还提供了另一种容器的安全检测装置,下面将结合附图对该装置进行说明。
参见图6所示,该图为本申请实施例提供的另一种容器的安全检测装置的结构示意图。如图6所示,该容器的安全检测装置包括:
第一接收单元601,用于在检测进程的命名空间启动安全代理进程之后,接收所述检测进程发送的切换命名空间指令,所述切换命名空间指令包括目标容器进程的标识;
切换单元602,用于响应于所述切换命名空间指令由所述检测进程的命名空间切换到所述目标容器进程的命名空间;
第二接收单元603,用于接收所述检测进程发送的注入指令,所述注入指令包括所述目标容器进程的标识;
建立单元604,用于响应于所述注入指令,与所述目标容器进程建立通信连接;
第三接收单元605,用于接收所述检测进程发送的安全检测指令,向所述目标容器进程转发所述安全检测指令;
获取单元606,用于获取所述目标容器进程响应所述安全检测指令产生的待检测数据,将所述待检测数据发送给所述检测进程。
在一种可能的实现方式中,所述装置还包括:
第四接收单元,用于接收所述检测进程发送的文件复制指令,所述文件复制指令包括检测文件的信息;
写入单元,用于根据所述检测文件的信息获取所述检测文件,将所述检测文件写入所述目标容器进程的命名空间中的指定路径。
在一种可能的实现方式中,所述第三接收单元具体用于:
所述安全代理进程接收所述检测进程发送的所述检测文件的加载指令,向所述目标容器进程转发所述检测文件的加载指令,所述检测文件的加载指令用于指示所述目标容器进程从所述指定路径获取并加载执行所述检测文件以产生待检测数据。
在一种可能的实现方式中,所述装置还包括:
第五接收单元,用于接收所述检测进程发送的创建共享内存指令,在所述目标容器进程的命名空间中创建共享内存,并将所述共享内存的标识发送给所述检测进程。
在一种可能的实现方式中,所述装置还包括:
第六接收单元,用于接收所述检测进程发送的共享内存标识分发指令,将所述共享内存的标识发送给所述目标容器进程,并指示所述目标容器进程在产生待检测数据后将所述待检测数据写入所述共享内存。
在一种可能的实现方式中,所述获取单元具体用于:
所述安全代理进程从所述共享内存获取所述目标容器进程产生的待检测数据,将所述待检测数据发送给所述检测进程。
基于上述方法实施例提供的一种容器的安全检测方法,本申请还提供一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一实施例所述的容器的安全检测方法。
下面参考图7,其示出了适于用来实现本申请实施例的电子设备1300的结构示意图。本申请实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(Personal Digital Assistant,个人数字助理)、PAD(portable androiddevice,平板电脑)、PMP(Portable Media Player,便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV(television,电视机)、台式计算机等等的固定终端。图7示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,电子设备1300可以包括处理装置(例如中央处理器、图形处理器等)1301,其可以根据存储在只读存储器(ROM)1302中的程序或者从存储装置1306加载到随机访问存储器(RAM)1303中的程序而执行各种适当的动作和处理。在RAM1303中,还存储有电子设备1300操作所需的各种程序和数据。处理装置1301、ROM 1302以及RAM 1303通过总线1304彼此相连。输入/输出(I/O)接口1305也连接至总线1304。
通常,以下装置可以连接至I/O接口1305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1306;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置1307;包括例如磁带、硬盘等的存储装置1306;以及通信装置1309。通信装置1309可以允许电子设备1300与其他设备进行无线或有线通信以交换数据。虽然图7示出了具有各种装置的电子设备1300,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置1309从网络上被下载和安装,或者从存储装置1306被安装,或者从ROM1302被安装。在该计算机程序被处理装置1301执行时,执行本申请实施例的方法中限定的上述功能。
本申请实施例提供的电子设备与上述实施例提供的一种容器的安全检测方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的有益效果。
基于上述方法实施例提供的一种容器的安全检测方法,本申请实施例提供一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如上述任一实施例所述的容器的安全检测方法。
需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述容器的安全检测方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请实施例的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元/模块的名称在某种情况下并不构成对该单元本身的限定,例如,语音数据采集模块还可以被描述为“数据采集模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本申请实施例的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本申请的一个或多个实施例,【示例一】提供了一种容器的安全检测方法,所述方法包括:
在检测进程的命名空间启动安全代理进程;
通过所述检测进程向所述安全代理进程发送切换命名空间指令,所述切换命名空间指令包括目标容器进程的标识,用于指示所述安全代理进程由所述检测进程的命名空间切换到所述目标容器进程的命名空间;
通过所述检测进程向所述安全代理进程发送注入指令,所述注入指令包括所述目标容器进程的标识,用于指示所述安全代理进程与所述目标容器进程建立通信连接;
通过所述检测进程向所述安全代理进程发送安全检测指令,并指示所述安全代理进程向所述目标容器进程转发所述安全检测指令;
通过所述检测进程从所述安全代理进程获取所述目标容器进程响应所述安全检测指令产生的待检测数据,对所述待检测数据进行安全检测。
根据本申请的一个或多个实施例,【示例二】提供了一种容器的安全检测方法,在通过所述检测进程向所述安全代理进程发送切换命名空间指令之后,所述方法还包括:
通过所述检测进程向所述安全代理进程发送文件复制指令,所述文件复制指令包括检测文件的信息,用于指示所述安全代理进程根据所述检测文件的信息获取所述检测文件,将所述检测文件写入所述目标容器进程的命名空间中的指定路径。
根据本申请的一个或多个实施例,【示例三】提供了一种容器的安全检测方法,所述通过所述检测进程向所述安全代理进程发送安全检测指令,并指示所述安全代理进程向所述目标容器进程转发所述安全检测指令,包括:
通过所述检测进程向所述安全代理进程发送所述检测文件的加载指令,并指示所述安全代理进程向所述目标容器进程转发所述检测文件的加载指令,所述检测文件的加载指令用于指示所述目标容器进程从所述指定路径获取并加载执行所述检测文件以产生待检测数据。
根据本申请的一个或多个实施例,【示例四】提供了一种容器的安全检测方法,在通过所述检测进程向所述安全代理进程发送切换命名空间指令之后,所述方法还包括:
通过所述检测进程向所述安全代理进程发送创建共享内存指令,并指示所述安全代理进程在所述目标容器进程的命名空间中创建共享内存,并将所述共享内存的标识发送给所述检测进程;
通过所述检测进程获取所述共享内存的标识。
根据本申请的一个或多个实施例,【示例五】提供了一种容器的安全检测方法,所述方法还包括:
通过所述检测进程向所述安全代理进程发送共享内存标识分发指令,并指示所述安全代理进程将所述共享内存的标识发送给所述目标容器进程,所述共享内存的标识用于指示所述目标容器进程在产生待检测数据后将所述待检测数据写入所述共享内存。
根据本申请的一个或多个实施例,【示例六】提供了一种容器的安全检测方法,所述通过检测进程从所述安全代理进程获取所述目标容器进程响应所述安全检测指令产生的待检测数据,对所述待检测数据进行安全检测,包括:
通过所述检测进程从所述安全代理进程获取所述待检测数据,对所述待检测数据进行安全检测,所述待检测数据是所述安全代理进程从所述共享内存中获取的。
根据本申请的一个或多个实施例,【示例七】提供了一种容器的安全检测方法,在通过所述检测进程向所述安全代理进程发送切换命名空间指令之前,所述方法还包括:
通过所述检测进程创建控制组群,设置所述控制组群的处理器限制和/或内存限制,将所述安全代理进程切换到所述控制组群中。
根据本申请的一个或多个实施例,【示例八】提供了一种容器的安全检测方法,所述方法包括:
在检测进程的命名空间启动安全代理进程之后,通过所述安全代理进程接收所述检测进程发送的切换命名空间指令,所述切换命名空间指令包括目标容器进程的标识;
通过所述安全代理进程响应于所述切换命名空间指令由所述检测进程的命名空间切换到所述目标容器进程的命名空间;
通过所述安全代理进程接收所述检测进程发送的注入指令,所述注入指令包括所述目标容器进程的标识;
通过所述安全代理进程响应于所述注入指令,与所述目标容器进程建立通信连接;
通过所述安全代理进程接收所述检测进程发送的安全检测指令,向所述目标容器进程转发所述安全检测指令;
通过所述安全代理进程获取所述目标容器进程响应所述安全检测指令产生的待检测数据,将所述待检测数据发送给所述检测进程。
根据本申请的一个或多个实施例,【示例九】提供了一种容器的安全检测方法,在通过所述安全代理进程响应于所述切换命名空间指令由所述检测进程的命名空间切换到所述目标容器进程的命名空间之后,所述方法还包括:
通过所述安全代理进程接收所述检测进程发送的文件复制指令,所述文件复制指令包括检测文件的信息;
通过所述安全代理进程根据所述检测文件的信息获取所述检测文件,将所述检测文件写入所述目标容器进程的命名空间中的指定路径。
根据本申请的一个或多个实施例,【示例十】提供了一种容器的安全检测方法,所述通过所述安全代理进程接收所述检测进程发送的安全检测指令,向所述目标容器进程转发所述安全检测指令,包括:
通过所述安全代理进程接收所述检测进程发送的所述检测文件的加载指令,向所述目标容器进程转发所述检测文件的加载指令,所述检测文件的加载指令用于指示所述目标容器进程从所述指定路径获取并加载执行所述检测文件以产生待检测数据。
根据本申请的一个或多个实施例,【示例十一】提供了一种容器的安全检测方法,在通过所述安全代理进程响应于所述切换命名空间指令由所述检测进程的命名空间切换到所述目标容器进程的命名空间之后,所述方法还包括:
通过所述安全代理进程接收所述检测进程发送的创建共享内存指令,在所述目标容器进程的命名空间中创建共享内存,并将所述共享内存的标识发送给所述检测进程。
根据本申请的一个或多个实施例,【示例十二】提供了一种容器的安全检测方法,所述方法还包括:
通过所述安全代理进程接收所述检测进程发送的共享内存标识分发指令,将所述共享内存的标识发送给所述目标容器进程,并指示所述目标容器进程在产生待检测数据后将所述待检测数据写入所述共享内存。
根据本申请的一个或多个实施例,【示例十三】提供了一种容器的安全检测方法,所述通过所述安全代理进程获取所述目标容器进程响应所述安全检测指令产生的待检测数据,将所述待检测数据发送给所述检测进程,包括:
通过所述安全代理进程从所述共享内存获取所述目标容器进程产生的待检测数据,将所述待检测数据发送给所述检测进程。
根据本申请的一个或多个实施例,【示例十四】提供了一种容器的安全检测装置,所述装置包括:
启动单元,用于在所述检测进程的命名空间启动安全代理进程;
第一发送单元,用于向所述安全代理进程发送切换命名空间指令,所述切换命名空间指令包括目标容器进程的标识,用于指示所述安全代理进程由所述检测进程的命名空间切换到所述目标容器进程的命名空间;
第二发送单元,用于向所述安全代理进程发送注入指令,所述注入指令包括所述目标容器进程的标识,用于指示所述安全代理进程与所述目标容器进程建立通信连接;
第三发送单元,用于向所述安全代理进程发送安全检测指令,并指示所述安全代理进程向所述目标容器进程转发所述安全检测指令;
检测单元,用于从所述安全代理进程获取所述目标容器进程响应所述安全检测指令产生的待检测数据,对所述待检测数据进行安全检测。
根据本申请的一个或多个实施例,【示例十五】提供了一种容器的安全检测装置,所述装置还包括:
第四发送单元,用于向所述安全代理进程发送文件复制指令,所述文件复制指令包括检测文件的信息,用于指示所述安全代理进程根据所述检测文件的信息获取所述检测文件,将所述检测文件写入所述目标容器进程的命名空间中的指定路径。
根据本申请的一个或多个实施例,【示例十六】提供了一种容器的安全检测装置,所述第三发送单元具体用于:
向所述安全代理进程发送所述检测文件的加载指令,并指示所述安全代理进程向所述目标容器进程转发所述检测文件的加载指令,所述检测文件的加载指令用于指示所述目标容器进程从所述指定路径获取并加载执行所述检测文件以产生待检测数据。
根据本申请的一个或多个实施例,【示例十七】提供了一种容器的安全检测装置,所述装置还包括:
第五发送单元,用于向所述安全代理进程发送创建共享内存指令,并指示所述安全代理进程在所述目标容器进程的命名空间中创建共享内存,并将所述共享内存的标识发送给所述检测进程;
获取单元,用于获取所述共享内存的标识。
根据本申请的一个或多个实施例,【示例十八】提供了一种容器的安全检测装置,所述装置还包括:
第六发送单元,用于向所述安全代理进程发送共享内存标识分发指令,并指示所述安全代理进程将所述共享内存的标识发送给所述目标容器进程,所述共享内存的标识用于指示所述目标容器进程在产生待检测数据后将所述待检测数据写入所述共享内存。
根据本申请的一个或多个实施例,【示例十九】提供了一种容器的安全检测装置,所述检测单元具体用于:
所述检测进程从所述安全代理进程获取所述待检测数据,对所述待检测数据进行安全检测,所述待检测数据是所述安全代理进程从所述共享内存中获取的。
根据本申请的一个或多个实施例,【示例二十】提供了一种容器的安全检测装置,所述装置还包括:
创建单元,用于所述检测进程创建控制组群,设置所述控制组群的处理器限制和/或内存限制,将所述安全代理进程切换到所述控制组群中。
根据本申请的一个或多个实施例,【示例二十一】提供了一种容器的安全检测装置,所述装置包括:
第一接收单元,用于在检测进程的命名空间启动安全代理进程之后,接收所述检测进程发送的切换命名空间指令,所述切换命名空间指令包括目标容器进程的标识;
切换单元,用于响应于所述切换命名空间指令由所述检测进程的命名空间切换到所述目标容器进程的命名空间;
第二接收单元,用于接收所述检测进程发送的注入指令,所述注入指令包括所述目标容器进程的标识;
建立单元,用于响应于所述注入指令,与所述目标容器进程建立通信连接;
第三接收单元,用于接收所述检测进程发送的安全检测指令,向所述目标容器进程转发所述安全检测指令;
获取单元,用于获取所述目标容器进程响应所述安全检测指令产生的待检测数据,将所述待检测数据发送给所述检测进程。
根据本申请的一个或多个实施例,【示例二十二】提供了一种容器的安全检测装置,所述装置还包括:
第四接收单元,用于接收所述检测进程发送的文件复制指令,所述文件复制指令包括检测文件的信息;
写入单元,用于根据所述检测文件的信息获取所述检测文件,将所述检测文件写入所述目标容器进程的命名空间中的指定路径。
根据本申请的一个或多个实施例,【示例二十三】提供了一种容器的安全检测装置,所述第三接收单元具体用于:
所述安全代理进程接收所述检测进程发送的所述检测文件的加载指令,向所述目标容器进程转发所述检测文件的加载指令,所述检测文件的加载指令用于指示所述目标容器进程从所述指定路径获取并加载执行所述检测文件以产生待检测数据。
根据本申请的一个或多个实施例,【示例二十四】提供了一种容器的安全检测装置,所述装置还包括:
第五接收单元,用于接收所述检测进程发送的创建共享内存指令,在所述目标容器进程的命名空间中创建共享内存,并将所述共享内存的标识发送给所述检测进程。
根据本申请的一个或多个实施例,【示例二十五】提供了一种容器的安全检测装置,所述装置还包括:
第六接收单元,用于接收所述检测进程发送的共享内存标识分发指令,将所述共享内存的标识发送给所述目标容器进程,并指示所述目标容器进程在产生待检测数据后将所述待检测数据写入所述共享内存。
根据本申请的一个或多个实施例,【示例二十六】提供了一种容器的安全检测装置,所述获取单元具体用于:
所述安全代理进程从所述共享内存获取所述目标容器进程产生的待检测数据,将所述待检测数据发送给所述检测进程。
根据本申请的一个或多个实施例,【示例二十七】提供了一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现【示例一】至【示例七】任一所述的容器的安全检测方法,或者【示例八】至【示例十三】任一所述的容器的安全检测方法。
根据本申请的一个或多个实施例,【示例二十八】提供了一种计算机可读介质,其特征在于,其上存储有计算机程序,其中,所述程序被处理器执行时实现【示例一】至【示例七】任一所述的容器的安全检测方法,或者【示例八】至【示例十三】任一所述的容器的安全检测方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (17)

1.一种容器的安全检测方法,其特征在于,所述方法包括:
在检测进程的命名空间启动安全代理进程;
通过所述检测进程向所述安全代理进程发送切换命名空间指令,所述切换命名空间指令包括目标容器进程的标识,用于指示所述安全代理进程由所述检测进程的命名空间切换到所述目标容器进程的命名空间;
通过所述检测进程向所述安全代理进程发送注入指令,所述注入指令包括所述目标容器进程的标识,用于指示所述安全代理进程与所述目标容器进程建立通信连接;
通过所述检测进程向所述安全代理进程发送安全检测指令,并指示所述安全代理进程向所述目标容器进程转发所述安全检测指令;
通过所述检测进程从所述安全代理进程获取所述目标容器进程响应所述安全检测指令产生的待检测数据,对所述待检测数据进行安全检测。
2.根据权利要求1所述的方法,其特征在于,在通过所述检测进程向所述安全代理进程发送切换命名空间指令之后,所述方法还包括:
通过所述检测进程向所述安全代理进程发送文件复制指令,所述文件复制指令包括检测文件的信息,用于指示所述安全代理进程根据所述检测文件的信息获取所述检测文件,将所述检测文件写入所述目标容器进程的命名空间中的指定路径。
3.根据权利要求2所述的方法,其特征在于,所述通过所述检测进程向所述安全代理进程发送安全检测指令,并指示所述安全代理进程向所述目标容器进程转发所述安全检测指令,包括:
通过所述检测进程向所述安全代理进程发送所述检测文件的加载指令,并指示所述安全代理进程向所述目标容器进程转发所述检测文件的加载指令,所述检测文件的加载指令用于指示所述目标容器进程从所述指定路径获取并加载执行所述检测文件以产生待检测数据。
4.根据权利要求1-3任一项所述的方法,其特征在于,在通过所述检测进程向所述安全代理进程发送切换命名空间指令之后,所述方法还包括:
通过所述检测进程向所述安全代理进程发送创建共享内存指令,并指示所述安全代理进程在所述目标容器进程的命名空间中创建共享内存,并将所述共享内存的标识发送给所述检测进程;
通过所述检测进程获取所述共享内存的标识。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
通过所述检测进程向所述安全代理进程发送共享内存标识分发指令,并指示所述安全代理进程将所述共享内存的标识发送给所述目标容器进程,所述共享内存的标识用于指示所述目标容器进程在产生待检测数据后将所述待检测数据写入所述共享内存。
6.根据权利要求5所述的方法,其特征在于,所述通过检测进程从所述安全代理进程获取所述目标容器进程响应所述安全检测指令产生的待检测数据,对所述待检测数据进行安全检测,包括:
通过所述检测进程从所述安全代理进程获取所述待检测数据,对所述待检测数据进行安全检测,所述待检测数据是所述安全代理进程从所述共享内存中获取的。
7.根据权利要求1-6任一项所述的方法,其特征在于,在通过所述检测进程向所述安全代理进程发送切换命名空间指令之前,所述方法还包括:
通过所述检测进程创建控制组群,设置所述控制组群的处理器限制和/或内存限制,将所述安全代理进程切换到所述控制组群中。
8.一种容器的安全检测方法,其特征在于,所述方法包括:
在检测进程的命名空间启动安全代理进程之后,通过所述安全代理进程接收所述检测进程发送的切换命名空间指令,所述切换命名空间指令包括目标容器进程的标识;
通过所述安全代理进程响应于所述切换命名空间指令由所述检测进程的命名空间切换到所述目标容器进程的命名空间;
通过所述安全代理进程接收所述检测进程发送的注入指令,所述注入指令包括所述目标容器进程的标识;
通过所述安全代理进程响应于所述注入指令,与所述目标容器进程建立通信连接;
通过所述安全代理进程接收所述检测进程发送的安全检测指令,向所述目标容器进程转发所述安全检测指令;
通过所述安全代理进程获取所述目标容器进程响应所述安全检测指令产生的待检测数据,将所述待检测数据发送给所述检测进程。
9.根据权利要求8所述的方法,其特征在于,在通过所述安全代理进程响应于所述切换命名空间指令由所述检测进程的命名空间切换到所述目标容器进程的命名空间之后,所述方法还包括:
通过所述安全代理进程接收所述检测进程发送的文件复制指令,所述文件复制指令包括检测文件的信息;
通过所述安全代理进程根据所述检测文件的信息获取所述检测文件,将所述检测文件写入所述目标容器进程的命名空间中的指定路径。
10.根据权利要求9所述的方法,其特征在于,所述通过所述安全代理进程接收所述检测进程发送的安全检测指令,向所述目标容器进程转发所述安全检测指令,包括:
通过所述安全代理进程接收所述检测进程发送的所述检测文件的加载指令,向所述目标容器进程转发所述检测文件的加载指令,所述检测文件的加载指令用于指示所述目标容器进程从所述指定路径获取并加载执行所述检测文件以产生待检测数据。
11.根据权利要求8-10任一项所述的方法,其特征在于,在通过所述安全代理进程响应于所述切换命名空间指令由所述检测进程的命名空间切换到所述目标容器进程的命名空间之后,所述方法还包括:
通过所述安全代理进程接收所述检测进程发送的创建共享内存指令,在所述目标容器进程的命名空间中创建共享内存,并将所述共享内存的标识发送给所述检测进程。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
通过所述安全代理进程接收所述检测进程发送的共享内存标识分发指令,将所述共享内存的标识发送给所述目标容器进程,并指示所述目标容器进程在产生待检测数据后将所述待检测数据写入所述共享内存。
13.根据权利要求12所述的方法,其特征在于,所述通过所述安全代理进程获取所述目标容器进程响应所述安全检测指令产生的待检测数据,将所述待检测数据发送给所述检测进程,包括:
通过所述安全代理进程从所述共享内存获取所述目标容器进程产生的待检测数据,将所述待检测数据发送给所述检测进程。
14.一种容器的安全检测装置,其特征在于,所述装置包括:
启动单元,用于在所述检测进程的命名空间启动安全代理进程;
第一发送单元,用于向所述安全代理进程发送切换命名空间指令,所述切换命名空间指令包括目标容器进程的标识,用于指示所述安全代理进程由所述检测进程的命名空间切换到所述目标容器进程的命名空间;
第二发送单元,用于向所述安全代理进程发送注入指令,所述注入指令包括所述目标容器进程的标识,用于指示所述安全代理进程与所述目标容器进程建立通信连接;
第三发送单元,用于向所述安全代理进程发送安全检测指令,并指示所述安全代理进程向所述目标容器进程转发所述安全检测指令;
检测单元,用于从所述安全代理进程获取所述目标容器进程响应所述安全检测指令产生的待检测数据,对所述待检测数据进行安全检测。
15.一种容器的安全检测装置,其特征在于,所述装置包括:
第一接收单元,用于在检测进程的命名空间启动安全代理进程之后,接收所述检测进程发送的切换命名空间指令,所述切换命名空间指令包括目标容器进程的标识;
切换单元,用于响应于所述切换命名空间指令由所述检测进程的命名空间切换到所述目标容器进程的命名空间;
第二接收单元,用于接收所述检测进程发送的注入指令,所述注入指令包括所述目标容器进程的标识;
建立单元,用于响应于所述注入指令,与所述目标容器进程建立通信连接;
第三接收单元,用于接收所述检测进程发送的安全检测指令,向所述目标容器进程转发所述安全检测指令;
获取单元,用于获取所述目标容器进程响应所述安全检测指令产生的待检测数据,将所述待检测数据发送给所述检测进程。
16.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的容器的安全检测方法,或者权利要求8-13任一所述的容器的安全检测方法。
17.一种计算机可读介质,其特征在于,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-7中任一所述的容器的安全检测方法,或者权利要求8-13任一所述的容器的安全检测方法。
CN202211700105.9A 2022-12-28 2022-12-28 一种容器的安全检测方法、装置及设备 Active CN116226846B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211700105.9A CN116226846B (zh) 2022-12-28 2022-12-28 一种容器的安全检测方法、装置及设备
US18/391,588 US20240220605A1 (en) 2022-12-28 2023-12-20 Security detecting method and apparatus, and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211700105.9A CN116226846B (zh) 2022-12-28 2022-12-28 一种容器的安全检测方法、装置及设备

Publications (2)

Publication Number Publication Date
CN116226846A true CN116226846A (zh) 2023-06-06
CN116226846B CN116226846B (zh) 2024-07-23

Family

ID=86588262

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211700105.9A Active CN116226846B (zh) 2022-12-28 2022-12-28 一种容器的安全检测方法、装置及设备

Country Status (2)

Country Link
US (1) US20240220605A1 (zh)
CN (1) CN116226846B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160373327A1 (en) * 2015-06-22 2016-12-22 Draios Inc. Communication between independent containers
US20180247064A1 (en) * 2017-02-24 2018-08-30 International Business Machines Corporation Applying host access control rules for data used in application containers
CN110138776A (zh) * 2019-05-14 2019-08-16 重庆天蓬网络有限公司 基于命令监控的docker入侵检测方法、装置及介质
CN110471852A (zh) * 2019-08-12 2019-11-19 中国工商银行股份有限公司 在线检测方法、系统和电子设备
US20210328858A1 (en) * 2020-04-16 2021-10-21 Ribbon Communications Operating Company, Inc. Communications methods and apparatus for migrating a network interface and/or ip address from one pod to another pod in a kubernetes system
CN114491557A (zh) * 2022-01-27 2022-05-13 北京小佑网络科技有限公司 一种基于容器环境java内存木马威胁检测方法
US20220188444A1 (en) * 2019-04-22 2022-06-16 Cyberark Software Ltd. Systems and methods for securing virtualized execution instances
CN114978610A (zh) * 2022-04-29 2022-08-30 北京火山引擎科技有限公司 一种流量传输控制方法、装置、设备及存储介质
CN115373834A (zh) * 2021-05-27 2022-11-22 北京火山引擎科技有限公司 一种基于进程调用链的入侵检测方法
CN115454856A (zh) * 2022-09-16 2022-12-09 中国电信股份有限公司 多应用的安全检测方法、装置、介质及电子设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160373327A1 (en) * 2015-06-22 2016-12-22 Draios Inc. Communication between independent containers
US20180247064A1 (en) * 2017-02-24 2018-08-30 International Business Machines Corporation Applying host access control rules for data used in application containers
US20220188444A1 (en) * 2019-04-22 2022-06-16 Cyberark Software Ltd. Systems and methods for securing virtualized execution instances
CN110138776A (zh) * 2019-05-14 2019-08-16 重庆天蓬网络有限公司 基于命令监控的docker入侵检测方法、装置及介质
CN110471852A (zh) * 2019-08-12 2019-11-19 中国工商银行股份有限公司 在线检测方法、系统和电子设备
US20210328858A1 (en) * 2020-04-16 2021-10-21 Ribbon Communications Operating Company, Inc. Communications methods and apparatus for migrating a network interface and/or ip address from one pod to another pod in a kubernetes system
CN115373834A (zh) * 2021-05-27 2022-11-22 北京火山引擎科技有限公司 一种基于进程调用链的入侵检测方法
CN114491557A (zh) * 2022-01-27 2022-05-13 北京小佑网络科技有限公司 一种基于容器环境java内存木马威胁检测方法
CN114978610A (zh) * 2022-04-29 2022-08-30 北京火山引擎科技有限公司 一种流量传输控制方法、装置、设备及存储介质
CN115454856A (zh) * 2022-09-16 2022-12-09 中国电信股份有限公司 多应用的安全检测方法、装置、介质及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王鹃;胡威;张雨菡;陈铜;于鹏;赵波;张焕国;: "基于Docker的可信容器", 武汉大学学报(理学版), no. 02, 5 March 2017 (2017-03-05), pages 102 - 108 *

Also Published As

Publication number Publication date
US20240220605A1 (en) 2024-07-04
CN116226846B (zh) 2024-07-23

Similar Documents

Publication Publication Date Title
CN110275723A (zh) 获取资源的方法、装置、电子设备及可读介质
CN111309304B (zh) 一种生成idl文件的方法、装置、介质和电子设备
CN111857720B (zh) 用户界面状态信息的生成方法、装置、电子设备及介质
CN111625422B (zh) 线程监控方法、装置、电子设备及计算机可读存储介质
CN110727566A (zh) 一种获取进程崩溃信息的方法、装置、介质和电子设备
CN112416303B (zh) 软件开发工具包热修复方法、装置及电子设备
CN113391860B (zh) 服务请求处理方法、装置、电子设备及计算机存储介质
CN116226846B (zh) 一种容器的安全检测方法、装置及设备
CN115600964A (zh) 语音审批方法、装置及相关设备
CN111460020B (zh) 用于解析消息的方法、装置、电子设备和介质
CN114741686A (zh) 程序白名单的检测方法、装置及相关设备
CN116263824A (zh) 资源访问方法、装置、存储介质以及电子设备
CN110764995B (zh) 一种检测文件访问异常的方法、装置、介质和电子设备
CN109669679B (zh) 服务检测及处理方法、装置及电子设备
CN111367590A (zh) 中断事件处理方法及其装置
CN114398098B (zh) 应用脚本执行方法、装置、电子设备和计算机可读介质
CN113312179B (zh) 数据组件管理方法、装置、系统、电子设备及存储介质
CN117215730B (zh) 数据传输方法、装置、设备及存储介质
CN111626787B (zh) 资源发放方法、装置、介质和设备
CN111796802B (zh) 功能包生成方法、装置和电子设备
CN111782713B (zh) 用于转换数据的方法和装置
CN111694679B (zh) 消息处理方法、装置和电子设备
CN117290038A (zh) 应用分发方法、装置、设备及存储介质
CN116069403A (zh) 一种通信扩展方法、装置、设备及介质
CN117880608A (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
GR01 Patent grant
GR01 Patent grant