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截图, 内核监控, 原型验证, 子域名生成, 客户端加密, 客户端加密, 容器安全, 容器逃逸, 特权提升检测, 系统调用追踪, 请求拦截, 防御绕过检测