VED-eBPF:使用 eBPF 进行内核漏洞和 Rootkit 检测

admin 2023年8月12日09:29:47评论17 views字数 1228阅读4分5秒阅读模式


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

         

介绍

eBPF 是内核中的虚拟机,允许在不修改内核源代码的情况下在内核中执行代码。eBPF 程序可以连接到 tracepointskprobes 和其他内核事件,以有效地分析执行和收集数据。

         

VED-eBPF 使用 eBPF 来追踪安全敏感的内核行为,并检测可能指示漏洞或 rootkit 的异常。它提供两种主要的检测:

         

l  wCFI(控制流完整性)追踪内核调用栈以检测控制流劫持攻击。它通过生成有效调用站点的位图,并验证每个返回地址与已知调用站点匹配来工作。

l  PSD(特权升级检测)追踪内核中凭据结构的更改以检测未经授权的特权升级。

         

VED-eBPF是如何工作的

VED-eBPF eBPF 程序连接到内核函数以追踪执行流并提取安全事件。eBPF 程序通过 perf 缓冲区将这些事件提交给用户空间进行分析。

         

wCFI

wCFI 通过连接到命令行上指定的函数来追踪调用栈。在每次调用时,它都会转储栈,分配一个栈 ID,并验证返回地址是否与从 objdump /proc/kallsyms 生成的有效调用站点的预计算位图匹配。

如果检测到无效的返回地址,表示栈已损坏,它将生成一个包含以下内容的 wcfi_stack_event


* 栈跟踪

* ID

* 无效的返回地址


此安全事件通过 perf 缓冲区提交给用户空间。wCFI eBPF 程序还跟踪栈指针和内核文本区域的更改,以保持验证的更新。


PSD

PSD 通过连接到类似 commit_creds prepare_kernel_cred 的函数来追踪凭据结构的修改。在每次调用时,它提取信息,如:

* 当前进程凭据

* 凭据和用户命名空间的哈希

* 调用栈

         

它将调用前后的凭据进行比较,以检测未授权的更改。如果检测到非法的特权升级,它会生成一个包含凭据字段的 psd_event,并通过 perf 缓冲区提交。

         

先决条件

VED-eBPF 需要:

         

lLinux 内核 v5.17+(在 v5.17 上测试)

l启用 eBPF 支持

lBCC 工具包

         

当前状态

VED-eBPF 目前是一个概念验证,展示了基于 eBPF 的内核漏洞和 rootkit 检测的潜力。正在进行的工作包括:

         

* 扩大攻击覆盖范围

* 性能优化

* 额外的内核版本

* 与安全分析的集成

         

结论

VED-eBPF 展示了 eBPF 在构建高效、低开销的内核安全监控而无需修改内核的可能性。通过利用 eBPF 跟踪和 perf 缓冲区,可以实时提取关键安全事件并进行分析,以识别云原生环境中正在出现的内核威胁。


https://hardenedvault.net/zh-cn/news/2023-08-11-ved-ebpf-poc/

         

原文始发于微信公众号(赛博堡垒):VED-eBPF:使用 eBPF 进行内核漏洞和 Rootkit 检测

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年8月12日09:29:47
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   VED-eBPF:使用 eBPF 进行内核漏洞和 Rootkit 检测http://cn-sec.com/archives/1952142.html

发表评论

匿名网友 填写信息