CN116389027A - 一种基于eBPF的云环境下Payload进程检测方法及装置 - Google Patents

一种基于eBPF的云环境下Payload进程检测方法及装置 Download PDF

Info

Publication number
CN116389027A
CN116389027A CN202211642785.3A CN202211642785A CN116389027A CN 116389027 A CN116389027 A CN 116389027A CN 202211642785 A CN202211642785 A CN 202211642785A CN 116389027 A CN116389027 A CN 116389027A
Authority
CN
China
Prior art keywords
payload
ebpf
cloud environment
monitoring
module
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
Application number
CN202211642785.3A
Other languages
English (en)
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.)
Sichuan University
Original Assignee
Sichuan University
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 Sichuan University filed Critical Sichuan University
Priority to CN202211642785.3A priority Critical patent/CN116389027A/zh
Publication of CN116389027A publication Critical patent/CN116389027A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于eBPF的云环境下Payload进程检测方法及装置,方法步骤为:将需要主动发起连接的服务进程以命令的形式构建为命令白名单,将内网的网段以ip地址的形式设为网段白名单;使用eBPF技术对inet_sock_set_state追踪点进行监控,通过TCP标志筛选出由服务容器进程发起的连接,若其不在白名单内,则视为疑似反向连接类payload进程,通过其task_struct结构体获得其进程组ID,加入监控列表,同时根据pod与ip对应关系,定位payload进程所属服务容器;最后通过对sys_enter_open和sys_enter_openat追踪点对监控列表中的进程组进行监控,将其访问文件行为写入日志文件。本发明避免了用户态与内核态的切换,大大减少了性能损耗,同时针对云环境下反向连接类的payload进行检测,在另一种维度上对攻击进行检出。

Description

一种基于eBPF的云环境下Payload进程检测方法及装置
技术领域
本发明涉及容器虚拟化安全技术领域,具体是一种基于eBPF(ExtendedBerkeleyPacket Filter扩展的伯克利数据包过滤器)的云环境下Payload进程检测方法及装置。
背景技术
随着云计算技术的不断发展,云平台提供的云服务模式越来越多样化,从IaaS、PaaS、SaaS到BaaS、FaaS,从提供基础设备到提供一个具体的函数,资源的划分粒度越来越细,这使得资源的利用更加高效。而相应的虚拟化技术也从最早出现的Hypervisor技术发展到容器技术,与前者相比,容器虚拟化技术的体量更小,对资源的利用率更高,但其隔离性则要差很多,因此其更易被入侵。一旦云上的容器存在漏洞,攻击者便可能通过容器逃逸攻击获得云平台的权限,进而对云上其他资源造成威胁。因此如何检测并定位容器异常一直是业界所关注的问题。
漏洞的类型有很多种,在Linux内核使用的C语言中,存在着五种漏洞类型:指针覆写、缓冲区溢出、内存管理错误、格式化输出、整数溢出。而针对程序漏洞进行的攻击大致可以分为四类:内存损坏、劫持控制流、窃取信息、非控制数据攻击。虽然漏洞的类型不尽相同,攻击方式也有很多,但对于漏洞的攻击流程大致一样,如某描述网络攻击的模型——“网络杀伤链”,该模型将网络攻击划分为7个阶段,分别是:侦察跟踪、武器构建、载荷投递、漏洞利用、安装植入、命令与控制、目标达成。在漏洞利用阶段,攻击者根据漏洞的原理制定不同的攻击方法,以获得非法控制权限;在安装植入阶段,攻击者在被攻击端植入payload进程,来为后续控制被攻击端做准备。
在云环境中,攻击者所使用的payload有了新的共同特征,比如因为绝大部分的服务器是在内网中,因此公网ip是无法直接访问该服务器的,这就导致了正向连接类的payload很难应用在云环境中,反向连接类的payload在云环境中的攻击场景更加有效。
现有的检测技术并未根据云环境下payload的新特征进行检测,并且由于其在检测过程中需要进行用户态与内核态的频繁切换,导致了大量的性能损耗。
发明内容
本发明针对云环境中payload的新特征,提出了一种基于eBPF的云环境下Payload进程检测方法及装置,使用eBPF技术避免了用户态与内核态的切换,大大减少了性能损耗,同时针对云环境下反向连接类的payload进行检测,在另一种维度上对攻击进行检出。该方法包括以下步骤:
一种基于eBPF的云环境下Payload进程检测方法,包括以下步骤:
步骤1:构建白名单,防止误检:
在正常运行时的云环境中,将由服务端主动发起连接的服务进程加入白名单;将内网的网段以ip地址的形式构建网段白名单;
步骤2:对反向连接类payload进行检出,并记录其进程ID及进程组ID;
步骤3:监控疑似payload进程所在进程组的访问文件行为,以方便后续的损害控制。
进一步的,所述步骤2具体包括:
步骤2.1:通过eBPF数据包过滤技术对inet_sock_set_state追踪点进行监控,获得服务器中所有的sock事件;
步骤2.2:通过对进程task_struct名称进行筛选,只保留名为containerd-shim进程的子进程及后代进程,这些进程即为对外提供服务的服务容器进程;
步骤2.3:根据inet_sock_set_state的入参判断tcp连接是否由服务器端发起;
步骤2.4:判断由服务器端发起连接的进程是否在白名单内,若不在则将进程PID记录到日志中,然后获取其task_struct结构体,通过task_struct->signal->pids[2]获得其进程组ID,加入到监控列表中;
步骤2.5:根据pod及ip对应关系,定位payload进程所属pod。
更进一步的,所述步骤3具体包括:
步骤3.1:通过使用eBPF数据包过滤技术对syscalls事件下的sys_enter_open和sys_enter_openat追踪点进行监控,获得服务器端所有访问文件的行为;
步骤3.2:若当前进程的进程组ID在监控列表中,则将其访问文件行为记录到日志文件中。
一种基于eBPF的云环境下Payload进程检测装置,包括采集模块、检测模块、定位模块、追踪模块和访问控制算法模块;
所述采集模块:通过注册inet_sock_set_state追踪点,采集kubernetes的对外提供服务的容器进程sock连接的状态变化、源和目的地址,以及源和目的端口;
所述检测模块:通过筛选TCP状态标志位,对容器服务进程中的payload进程进行检出;
所述定位模块:负责对疑似payload的进程所在容器进行定位;
所述追踪模块:通过正向连接信息的源端口和源ip确定具体服务容器;
所述访问控制算法模块:通过将探测函数中获取的进程信息和访问策略文件中的信息进行匹配;若匹配成功,则运行内核函数继续调用;若匹配不成功,则结合内核函数间调用以寄存器和栈来传递参数和返回值的特点,并将内核函数间参数以及返回值的传递进行修改,从而阻止内核函数执行,进而阻止恶意操作。
与现有技术相比,本发明的有益效果是:本发明通过使用eBPF技术,对系统底层的内核事件进行分析,将对容器的安全分析粒度下降到内核事件级别,同时在内核态对服务容器进程进行监控,大大降低了内核态用户态切换导致的性能损耗,同时根据payload进程在云环境中的新特征,针对性地对反向连接类payload进行检出,保证了容器运行安全,进一步保障了云计算平台的安全。除此以外,本发明选取的eBPF事件类型均为tracepoint,该类型是静态的,由内核人员进行维护,因此在不同版本的内核中都可以运行该方法,有着良好的可移植性与兼容性,在部署中也不需要重启容器,实现了即插即用的灵活特性能。
附图说明
图1为本发明基于eBPF的云环境下Payload进程检测方法的总体架构图。
图2为本发明基于eBPF的云环境下Payload进程检测方法的工作流程图。
图3为本发明基于eBPF的云环境下Payload进程检测方法的检测效果图。
图4为本发明基于eBPF的云环境下Payload进程检测方法的单线程环境下性能损耗对比图。
图5为本发明基于eBPF的云环境下Payload进程检测方法的多线程环境下性能损耗对比图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。
一种基于eBPF的云环境下Payload进程检测方法,包括以下步骤:
步骤1:构建白名单,防止误检:
步骤1.1:在正常运行时的云环境中,将由服务端主动发起连接的服务进程加入白名单,如kube-system命名空间下的一些系统组件,通过记录其task_struct结构体名称的方式构建命令白名单。
步骤1.2:考虑到一些服务需要可能要与企业内网其他ip通信,所以将内网的网段以ip地址的形式构建网段白名单。
步骤2:对反向连接类payload进行检出,记录其进程ID及进程组ID并定位payload所属pod:
步骤2.1:通过eBPF技术对inet_sock_set_state追踪点进行监控,获得服务器中所有的sock事件。
步骤2.2:通过对进程task_struct名称进行筛选,只保留名为containerd-shim进程的子进程及后代进程,这些进程即为对外提供服务的服务容器进程。
步骤2.3:根据inet_sock_set_state的入参判断tcp连接是否由服务器端发起;客户端有5种连接状态,分别是:SYN_SENT、ESTABLISHED、FIN_WAIT1、FIN_WAIT2、TIME_WAIT,服务端也有5种连接状态,分别是:SYN_RCVD、ESTABLISHED、CLOSE_WAIT、LAST_ACK、CLOSED。
步骤2.4:判断由服务器端发起连接的进程是否在白名单内,若不在则将进程PID记录到日志中,然后获取其task_struct结构体,通过task_struct->signal->pids[2]获得其进程组ID,加入到监控列表中。
步骤2.5:根据pod及ip对应关系,定位payload进程所属pod。
步骤3:监控疑似payload进程所在进程组的访问文件行为,以方便后续的损害控制:
步骤3.1:通过使用eBPF技术对sys_enter_open和sys_enter_openat追踪点进行监控,获得服务器端所有访问文件的行为。
步骤3.2:若当前进程的进程组ID在监控列表中。则将其访问文件行为记录到日志文件中。
一种基于eBPF的云环境下Payload进程检测方法,采集模块、检测模块和追踪模块;
采集模块:通过注册inet_sock_set_state追踪点,采集kubernetes的对外提供服务的容器进程sock连接的状态变化、源和目的地址、源和目的端口;
检测模块:通过筛选TCP状态标志位,对容器服务进程中的payload进程进行检出;
定位模块:负责对疑似payload的进程所在容器进行定位;
追踪模块:通过正向连接信息的源端口和源ip确定具体服务容器。
所述访问控制算法模块:通过将探测函数中获取的进程信息和访问策略文件中的信息进行匹配,若匹配成功,则运行内核函数继续调用,若匹配不成功,结合内核函数间调用以寄存器和栈来传递参数和返回值的特点,将内核函数间参数以及返回值的传递进行修改,从而阻止内核函数执行,进而阻止恶意操作。
附图1给出了本发明中基于eBPF的云环境下Payload进程检测方法总体架构图。如图1所示,本发明方法可用于实现检测反向连接类payload并定位其所在服务容器,最后跟踪该payload进程组后续访问文件行为,从而可以及时发现已被攻击者攻破的容器,同时根据记录访问文件的记录可以方便后续的损害控制。该方法由采集模块、检测模块、定位模块和追踪模块四部分组成。采集模块负责采集Linux中属于kubernetes的对外提供服务的容器进程的sock状态信息;检测模块负责检测出疑似payload的进程;定位模块负责对疑似payload的进程所在容器进行定位;追踪模块则负责对异常容器进程组打开文件行为进行追踪,进行损害控制。接下来将对原理和实现进行说明。
附图2给出了本发明方法工作的流程图,通过eBPF技术,在内核态监控服务器的所有连接以及访问文件行为,监控连接部分的工作流程是:(1)当有服务容器进程的tcp连接建立时,判断是否是服务器端发起的连接,若否则正常执行,若是则进行下一步;(2)判断该连接是否在白名单内,若是则正常执行,若否则进行下一步;(3)将该进程的pid记录到日志文件中;(4)定位该进程所在的服务容器;(5)将该进程的pgid加入到监控列表。监控访问文件行为部分的工作流程为:(1)监控服务器所有访问文件行为,若不在监控列表中,则正常执行,若否则进行下一步;(2)将文件访问行为记录到日志文件中。
附图3给出了本发明方法的运行效果,可以看出该方法可以检测出反向连接类payload所在服务容器、使用的端口、PID和task_struct结构体名称。同时可以监控payload进程组后续所访问的文件。
附图4给出了本发明方法单线程环境下的性能消耗,根据计算,其单线程性能评分测试中,检测程序对性能影响最大的项为System Call Overhead,启用检测程序的平均分数损耗为2.13%,总评分损耗为2.81%。
附图5给出了本发明方法在多线程环境下的性能消耗,根据计算,其多线程性能评分测试中,检测程序对性能影响最大的项为Pipe Throughput,启用检测程序的平均分数损耗为1.07%,总评分损耗为0.53%。
从附图4和附图5中可以看出,payload异常检测系统对系统性能造成了极小的影响。

Claims (4)

1.一种基于eBPF的云环境下Payload进程检测方法,其特征在于,包括以下步骤:
步骤1:构建白名单,防止误检:
在正常运行时的云环境中,将由服务端主动发起连接的服务进程加入白名单;将内网的网段以ip地址的形式构建网段白名单;
步骤2:对反向连接类payload进行检出,并记录其进程ID及进程组ID;
步骤3:监控疑似payload进程所在进程组的访问文件行为,以方便后续的损害控制。
2.根据权利要求1所述的基于eBPF的云环境下Payload进程检测方法,其特征在于,所述步骤2具体包括:
步骤2.1:通过eBPF数据包过滤技术对inet_sock_set_state追踪点进行监控,获得服务器中所有的sock事件;
步骤2.2:通过对进程task_struct名称进行筛选,只保留名为containerd-shim进程的子进程及后代进程,这些进程即为对外提供服务的服务容器进程;
步骤2.3:根据inet_sock_set_state的入参判断tcp连接是否由服务器端发起;
步骤2.4:判断由服务器端发起连接的进程是否在白名单内,若不在则将进程PID记录到日志中,然后获取其task_struct结构体,通过task_struct->signal->pids[2]获得其进程组ID,加入到监控列表中;
步骤2.5:根据pod及ip对应关系,定位payload进程所属pod。
3.根据权利要求1所述的基于eBPF的云环境下Payload进程检测方法,其特征在于,所述步骤3具体包括:
步骤3.1:通过使用eBPF数据包过滤技术对syscalls事件下的sys_enter_open和sys_enter_openat追踪点进行监控,获得服务器端所有访问文件的行为;
步骤3.2:若当前进程的进程组ID在监控列表中,则将其访问文件行为记录到日志文件中。
4.一种基于eBPF的云环境下Payload进程检测装置,其特征在于,包括采集模块、检测模块、定位模块、追踪模块和访问控制算法模块;
所述采集模块:通过注册inet_sock_set_state追踪点,采集kubernetes的对外提供服务的容器进程sock连接的状态变化、源和目的地址,以及源和目的端口;
所述检测模块:通过筛选TCP状态标志位,对容器服务进程中的payload进程进行检出;
所述定位模块:负责对疑似payload的进程所在容器进行定位;
所述追踪模块:通过正向连接信息的源端口和源ip确定具体服务容器;
所述访问控制算法模块:通过将探测函数中获取的进程信息和访问策略文件中的信息进行匹配;若匹配成功,则运行内核函数继续调用;若匹配不成功,则结合内核函数间调用以寄存器和栈来传递参数和返回值的特点,并将内核函数间参数以及返回值的传递进行修改,从而阻止内核函数执行,进而阻止恶意操作。
CN202211642785.3A 2022-12-20 2022-12-20 一种基于eBPF的云环境下Payload进程检测方法及装置 Pending CN116389027A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211642785.3A CN116389027A (zh) 2022-12-20 2022-12-20 一种基于eBPF的云环境下Payload进程检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211642785.3A CN116389027A (zh) 2022-12-20 2022-12-20 一种基于eBPF的云环境下Payload进程检测方法及装置

Publications (1)

Publication Number Publication Date
CN116389027A true CN116389027A (zh) 2023-07-04

Family

ID=86973753

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211642785.3A Pending CN116389027A (zh) 2022-12-20 2022-12-20 一种基于eBPF的云环境下Payload进程检测方法及装置

Country Status (1)

Country Link
CN (1) CN116389027A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117240695A (zh) * 2023-11-10 2023-12-15 杭州笨马网络技术有限公司 基于eBPF的持续性能剖析方法、装置、电子设备和存储介质
CN117290857A (zh) * 2023-11-27 2023-12-26 中孚安全技术有限公司 基于eBPF实现云原生安全的系统、方法、设备及介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117240695A (zh) * 2023-11-10 2023-12-15 杭州笨马网络技术有限公司 基于eBPF的持续性能剖析方法、装置、电子设备和存储介质
CN117240695B (zh) * 2023-11-10 2024-02-23 杭州笨马网络技术有限公司 基于eBPF的持续性能剖析方法、装置、电子设备和存储介质
CN117290857A (zh) * 2023-11-27 2023-12-26 中孚安全技术有限公司 基于eBPF实现云原生安全的系统、方法、设备及介质
CN117290857B (zh) * 2023-11-27 2024-03-26 中孚安全技术有限公司 基于eBPF实现云原生安全的系统、方法、设备及介质

Similar Documents

Publication Publication Date Title
US10528726B1 (en) Microvisor-based malware detection appliance architecture
US10454950B1 (en) Centralized aggregation technique for detecting lateral movement of stealthy cyber-attacks
CN106790186B (zh) 基于多源异常事件关联分析的多步攻击检测方法
US11438349B2 (en) Systems and methods for protecting devices from malware
US9251343B1 (en) Detecting bootkits resident on compromised computers
CN116389027A (zh) 一种基于eBPF的云环境下Payload进程检测方法及装置
US8291498B1 (en) Computer virus detection and response in a wide area network
EP2774039B1 (en) Systems and methods for virtualized malware detection
US9032525B2 (en) System and method for below-operating system trapping of driver filter attachment
Zhuge et al. Collecting autonomous spreading malware using high-interaction honeypots
US20130117849A1 (en) Systems and Methods for Virtualized Malware Detection
Srivastava et al. Automatic discovery of parasitic malware
US11909761B2 (en) Mitigating malware impact by utilizing sandbox insights
US11750634B1 (en) Threat detection model development for network-based systems
US20230096108A1 (en) Behavior analysis based on finite-state machine for malware detection
CN111262875B (zh) 服务器安全监测方法、装置、系统及存储介质
CN116340943A (zh) 应用程序保护方法、装置、设备、存储介质和程序产品
CN112688914A (zh) 一种智慧型云平台动态感知方法
US9613212B2 (en) Execution profile assembly using branch records
CN115086081A (zh) 一种蜜罐防逃逸方法及系统
CN113704749B (zh) 一种恶意挖矿检测处理方法和装置
KR100632204B1 (ko) 네트워크 상의 공격 탐지 장치 및 그 방법
RU2665909C1 (ru) Способ избирательного использования шаблонов опасного поведения программ
US20200382552A1 (en) Replayable hacktraps for intruder capture with reduced impact on false positives
US10104099B2 (en) System and method for monitoring a computer system using machine interpretable code

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