VED-eBPF:一款基于eBPF的内核利用和Rootkit检测工具

关于VED-eBPF

VED-eBPF是一款功能强大的内核漏洞利用和Rootkit检测工具,该工具基于eBPF技术实现其功能,可以实现Linux操作系统运行时内核安全监控和漏洞利用检测。

eBPF是一个内核内虚拟机,它允许我们直接在内核中执行代码,而无需修改内核源代码。eBPF程序可以绑定到跟踪点、kprobes和其他内核事件上,以帮助广大研究人员更有效地分析代码执行并收集数据。

功能介绍

VED-eBPF使用了eBPF来跟踪安全敏感的内核行为,并检测潜在安全漏洞或Rootkit所引发的异常。当前版本的VED-eBPF提供了下列两种检测功能:

1、wCFI(控制流完整性)跟踪内核调用栈,以检测控制流劫持攻击。它可以生成一个有效调用站点的位图,并验证每个返回地址是否与已知调用站点匹配;

2、PSD(权限提升检测)跟踪对内核中凭据结构的更改行为,以检测未经授权的权限升级情况;

工具运行机制

VED-eBPF会将eBPF程序绑定到内核函数上,以跟踪执行流并提取安全事件信息。eBPF程序随后会通过perf缓冲区将这些事件信息提交到用户空间以进行后续分析。

wCFI

wCFI通过绑定到命令行指定的函数来跟踪调用栈,每一次调用,都会转储堆栈信息,并分配一个栈ID,然后用返回地址与与计算的位图进行对比验证,如果返回的地址无效,表明发生了栈崩溃,最终生成一个wcfi_stack_event事件,其中包含:

* 栈跟踪数据

* 栈ID

* 无效的返回地址

PSD

PSD可以通过绑定类似commit_creds和prepare_kernel_cred之类的函数来跟踪针对凭证结构的修改行为。每一次调用,它都会提取下列信息:

* 当前进程的凭证

* 凭证哈希和用户命名空间

* 调用栈数据

工具要求

1、Linux内核 v5.17+

2、启用eBPF支持

3、BCC工具

工具下载

由于该工具基于C++开发,因此我们首先需要在本地设备上安装并配置好最新版本的Visual Studio。

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/hardenedvault/ved-ebpf.git

打开Visual Studio,将项目导入之后,完成项目代码的构建和编译即可。

许可证协议

本项目的开发与发布遵循AGPL-3.0开源许可证协议。

项目地址

VED-eBPF:【GitHub

参考资料

+PROTECTING LINUX AT KERNEL LEVEL WHY AND HOW

GitHub - iovisor/bcc: BCC - Tools for BPF-based Linux IO analysis, networking, monitoring, and more

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值