VED -EBPF-使用EBPF的内核利用和rootkit检测

taibeihacker

Moderator
VED(Vault Exploit Defense)-EBPF利用EBPF(扩展的伯克利数据包过滤器)实现运行时内核安全监控和利用Linux系统的检测。

Introduction​

EBPF是一款内核虚拟机,可以在内核中执行代码,而无需修改内核源本身。 EBPF程序可以附加到跟踪点,KPROBES和其他内核事件,以有效地分析执行并收集数据。
VED-EBPF使用EBPF来追踪对安全敏感的内核行为,并检测可能表示漏洞或rootkit的异常。它提供了两个主要检测:
WCFI(控制流完整性)跟踪内核调用堆栈以检测控制流劫持攻击。它通过生成有效呼叫站点的位图并验证每个返回地址匹配已知召唤线来起作用。
PSD(特权升级检测)追踪内核中的凭据结构,以检测未经授权的特权升级。

How it Works​

VED-EBPF将EBPF程序附加到内核功能,以追踪执行流并提取安全事件。 EBPF程序通过PURD缓冲区将这些事件提交给用户空间进行分析。

wCFI​

WCFI通过连接到命令行上指定的函数来跟踪调用堆栈。在每个呼叫上,它都会转储堆栈,分配堆栈ID,并根据OBJDUMP和/proc /kallsyms生成的有效呼叫站点的预定位图验证返回地址。
如果检测到无效的返回地址,则指示损坏的堆栈,它将生成WCFI_STACK_EVENT包含:
*堆栈跟踪
*堆栈ID
*无效的返回地址此安全事件是通过perf Buffers向用户空间提交的。
WCFI EBPF程序还跟踪堆栈指针和内核文本区域的更改,以使验证保持最新。

PSD​

PSD通过附加诸如commit_creds和prepar_kernel_cred之类的函数来跟踪凭证结构修改。在每个呼叫上,它提取诸如:的信息
*当前的流程凭据
*凭据和用户名称空间的哈希
*调用堆栈它比较呼叫之前和之后的凭据以检测未经授权的更改。如果检测到非法特权升级,它将生成一个包含凭据字段的PSD_EVENT,并通过Perf Buffers提交。

Prerequsites​

VED-EBPF需要:
Linux内核v5.17+(在v5.17上进行了测试)EBPF支持启用BCC工具包

Current Status​

VED-EBPF目前是概念验证,证明了基于EBPF的基于EBPF的内核利用和roottect tection的潜力。正在进行的工作包括:
扩展攻击覆盖范围性能优化其他内核版本与安全分析

Conclusion​

VED-EBPF集成,显示了EBPF对建立有效的,低离子的内核安全性监视的希望,而无需修改内核。通过利用EBPF跟踪和PERT缓冲区,可以实时提取关键安全事件并进行分析以确定新兴的内核威胁对云本地环境。
 
返回
上方