CN116389027A - 一种基于eBPF的云环境下Payload进程检测方法及装置 - Google Patents
一种基于eBPF的云环境下Payload进程检测方法及装置 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 138
- 238000001514 detection method Methods 0.000 title claims description 31
- 238000012544 monitoring process Methods 0.000 claims abstract description 22
- 238000005516 engineering process Methods 0.000 claims abstract description 17
- 230000006399 behavior Effects 0.000 claims abstract description 15
- 238000012216 screening Methods 0.000 claims abstract description 7
- 230000006870 function Effects 0.000 claims description 16
- 238000001824 photoionisation detection Methods 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 4
- 230000002265 prevention Effects 0.000 claims description 3
- 239000000523 sample Substances 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 4
- 238000001604 Rao's score test Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002513 implantation Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009975 flexible effect Effects 0.000 description 1
- 239000007943 implant Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing 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(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确定具体服务容器;
所述访问控制算法模块:通过将探测函数中获取的进程信息和访问策略文件中的信息进行匹配;若匹配成功,则运行内核函数继续调用;若匹配不成功,则结合内核函数间调用以寄存器和栈来传递参数和返回值的特点,并将内核函数间参数以及返回值的传递进行修改,从而阻止内核函数执行,进而阻止恶意操作。
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)
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实现云原生安全的系统、方法、设备及介质 |
-
2022
- 2022-12-20 CN CN202211642785.3A patent/CN116389027A/zh active Pending
Cited By (4)
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 |