elijahu1/ebpf-container-security
GitHub: elijahu1/ebpf-container-security
基于 eBPF 的容器逃逸检测原型系统,目前处于早期开发阶段,提供基础系统调用追踪能力但告警功能尚未完善。
Stars: 11 | Forks: 0
# eBPF 容器安全监控器(早期开发中)
🔍 *基于 eBPF 的容器逃逸检测原型 | 内核 6.8+ | 早期开发阶段 | 尚未达到生产就绪状态*
⚠️ **实验性项目**
这是一个正在开发中的基于 eBPF 的容器逃逸检测系统。目前处于活跃开发阶段 —— 检测逻辑和告警功能尚未完全实现。
## 当前状态
- 基础 eBPF 程序加载正常
- 系统调用追踪基础设施已就位
- 检测模式正在开发中
- **尚未生成可靠的告警**
## 前置条件
- Ubuntu 22.04+(已在 AWS EC2 上测试)
- Linux 内核 6.8+
- clang 14+, libbpf-dev, bpftool
## 安装说明
```
sudo apt update && sudo apt install -y clang llvm libbpf-dev linux-headers-$(uname -r) bpftoolgit clone https://github.com/yourusername/ebpf-container-security.git
git clone https://github.com/elijahu1/ebpf-container-security.git
make build
```
## 使用方法
```
# Load detector
sudo ./bin/loader
# 在另一个终端中,monitor logs
sudo cat /sys/kernel/debug/tracing/trace_pipe
# Trigger test (no alerts expected yet)
docker run --rm ubuntu unshare --user
```
## Docker 开发环境
重建精确的测试环境:
```
# Build image (from project root)
docker build -t ebpf-monitor-dev .
# Run with host kernel headers access
docker run -it --rm \
-v /lib/modules:/lib/modules:ro \
-v /usr/src:/usr/src:ro \
-v $(pwd):/app \
ebpf-monitor-dev
# Inside container:
make build && sudo ./bin/loader
```
**主要限制**:
- 需要主机内核 6.8+
- 需要绑定挂载内核头文件
- BPF 程序直接与主机内核交互
## 故障排除
如果没有任何输出:
- 验证内核版本与头文件匹配:`uname -r`
- 检查 BPF 程序加载情况:`sudo bpftool prog list`
- 确保追踪已启用:`sudo sh -c 'echo 1 > /sys/kernel/debug/tracing/tracing_on'`
## 路线图
- [ ] 基础容器逃逸检测
- [ ] 告警过滤
- [ ] 集成容器运行时
- [ ] 生产部署指南
## 许可证
本项目基于 [GNU GPLv3](LICENSE.md) 授权。
**欢迎贡献!** 请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 了解开发指南。
```
```
标签:Docker镜像, Libbpf, Linux内核, SQLite数据库, Web截图, 内核监控, 原型验证, 子域名生成, 客户端加密, 客户端加密, 容器安全, 容器逃逸, 特权提升检测, 系统调用追踪, 请求拦截, 防御绕过检测