3、租户隔离需求分析:多租户场景定义、隔离边界(网络/存储/计算)、安全威胁模型
3.1 多租户场景定义
在云原生与边缘计算环境中,多租户指单个共享基础设施集群同时承载多个独立用户或业务单元(租户),且各租户之间互不感知、互不干扰。eBPF 作为内核可编程扩展点,天然适合在共享内核空间实现细粒度隔离。典型多租户场景包括:
- 公有云容器实例(CaaS):同一宿主机运行来自不同客户的 Pod,要求网络、存储、进程空间完全隔离。
- 边缘计算节点:边缘网关同时服务多个 IoT 租户,需限制每个租户的带宽、文件系统访问与系统调用权限。
- 内部开发/测试平台:多个团队共享同一 Kubernetes 集群,需防止租户 A 的调试工具影响租户 B 的稳定性。
- 安全沙箱(Sandbox):运行不可信第三方代码(如 FaaS 函数),要求最小权限与严格资源上限。
关键洞察:eBPF 隔离的核心优势在于 内核态实时策略执行,无需修改应用代码或重启容器,即可动态调整隔离边界。
3.2 隔离边界三维模型
租户隔离需求可抽象为三个正交维度:网络、存储、计算。每个维度在 eBPF 层面有对应的 Hook 点与隔离机制。
| 隔离维度 | 隔离目标 | eBPF 关键 Hook | 典型实现方式 |
|---|---|---|---|
| 网络 | 租户间流量隔离、带宽限制、协议过滤 | XDP、TC、Socket filter、cgroup/connect | eBPF 防火墙(Cilium NetworkPolicy)、带宽 QoS(EDT/BBR) |
| 存储 | 文件系统访问控制、块设备 I/O 隔离 | LSM(security_file_permission)、bpf_iter、cgroup/write | eBPF LSM 文件权限校验、I/O 限速(blkio-cgroup + eBPF) |
| 计算 | CPU 时间片、内存上限、系统调用过滤 | cgroup/sysctl、tracepoint/syscalls、LSM(task_alloc) | eBPF 系统调用白名单、CPU 调度策略(sched_ext)、内存 cgroup 监控 |
设计原则:隔离边界应遵循 最小权限 与 默认拒绝 策略。eBPF 程序在加载时即绑定到特定 cgroup 或 netns,确保策略作用域精确。
3.3 安全威胁模型
多租户共享内核意味着攻击面扩大。eBPF 本身作为内核内执行环境,若隔离不当,可能引入新的攻击向量。以下为关键威胁分类:
3.3.1 威胁分类矩阵
| 威胁类别 | 攻击场景 | 影响范围 | eBPF 缓解手段 |
|---|---|---|---|
| 旁路攻击 | 租户 A 通过共享 CPU 缓存或内存带宽推断租户 B 的密钥 | 跨租户数据泄露 | eBPF 监控 LLC 访问模式 + 动态限流 |
| 资源耗尽 | 恶意租户发送大量小包触发 XDP 程序高 CPU 开销 | 同节点其他租户网络延迟飙升 | eBPF 程序复杂度校验 + cgroup 带宽上限 |
| eBPF 程序逃逸 | 攻击者利用 eBPF verifier 漏洞加载恶意程序读取内核内存 | 宿主机沦陷 | CAP_BPF 权限最小化 + 签名验证 + 运行时监控 |
| 系统调用劫持 | 租户 A 的 eBPF 程序修改 tracepoint 返回值影响租户 B 的进程 | 跨租户进程行为篡改 | cgroup-bpf 作用域隔离 + LSM 附加点权限校验 |
| 元数据泄露 | 通过 eBPF map 共享或 bpf_iter 遍历获取其他租户的网络连接信息 | 网络拓扑暴露 | map 访问权限控制 + 内核命名空间隔离 |
风险提示:eBPF 程序运行在内核态,一旦 verifier 存在漏洞,恶意程序可能直接读写内核内存。务必启用 BPF LSM 与 签名验证机制(如 fs-verity + bpf 签名),并定期审计 eBPF 程序加载日志。
3.3.2 威胁模型分层应对策略
- 内核层:eBPF verifier 严格限制循环、指针运算与 map 访问范围;启用 BPF LSM 对关键内核对象(task_struct、inode)进行访问控制。
- 容器/租户层:每个租户绑定独立 cgroup 与 netns,eBPF 程序通过 cgroup-bpf 附加,确保程序作用域不越界。
- 编排层:Kubernetes 或边缘管理平台下发隔离策略时,附带租户身份标签(如 UID、namespace),eBPF 程序在 map 中校验标签一致性。
- 监控层:部署 eBPF 运行时审计程序,实时检测异常系统调用序列、map 访问频率突变、CPU 使用率异常等攻击行为。
3.4 隔离需求总结
综合场景定义、隔离边界与威胁模型,eBPF 租户隔离的核心需求可归纳为:
- 确定性隔离:每个租户的资源视图(网络连接、文件、进程)必须严格限定,不可泄漏。
- 动态策略:隔离边界应支持运行时调整,无需重启租户或宿主机。
- 低开销:eBPF 程序执行时间应控制在微秒级,避免对业务性能产生显著影响。
- 可审计:所有隔离决策与异常事件需记录完整上下文,支持事后取证。
- 抗逃逸:即使单个 eBPF 程序被攻破,也不应导致整个宿主机隔离失效。