两份由 eBPF 基金会赞助的研究报告审计了 eBPF 的安全性,并提供了部署指导、内置控制和建议。
犹他州盐湖城 – Cilium + eBPF 日(KubeCon 北美) – 2024 年 11 月 12 日 – eBPF 基金会宣布发布由 ControlPlane 制作的 eBPF 安全威胁模型[1],以及由 NCC Group 制作的 eBPF 验证器代码审计[2]。
安全威胁模型
该安全威胁模型由 ControlPlane 在 eBPF 基金会的赞助下进行,审查了 eBPF 部署的安全指导,以及如何减轻潜在的威胁和漏洞。研究发现,eBPF 是一种高度安全的技术,得益于其内置的安全特性,包括确保 eBPF 程序安全的验证器。
威胁建模的方法结构如下:
我们在构建什么? 了解 eBPF 是什么,以及 eBPF 程序是如何工作的。 可能出现什么问题? 在威胁模型范围内定义一个简单的高层场景,开发攻击树,探索攻击者如何利用 eBPF 进行恶意活动。 我们能做些什么来应对可能出现的问题? 一旦确定了威胁,与之对应的 eBPF 内置控制和最终用户建议被映射出来。 我们的工作做得好吗? 最后,审查威胁模型的结果,为 eBPF 采用者提供实用指导。
为了解决识别出的威胁,报告作者提出了几项建议:
最小权限原则:仅授予 eBPF 程序必要的权限。 供应链安全:确保 eBPF 工具和库的完整性。 定期更新:保持内核和 eBPF 工具更新至最新安全补丁。 监控和日志记录:实施强有力的监控和日志记录,以检测和响应安全事件。 威胁建模:定期进行威胁建模演练,识别潜在的漏洞和风险。 禁用非特权 eBPF:默认禁用非特权 eBPF,以减少攻击面。
验证器代码审计
eBPF 基金会聘请 NCC Group 对 eBPF 验证器进行安全源代码审查。审查内容包括:
确定 eBPF 验证器试图证明的属性。 对 eBPF 验证器主要逻辑的源代码审查,通常通过 kernel/bpf/verifier.c 中的 do_check() 函数调用。 审查中发现的任何问题,可能使 eBPF 源代码绕过验证器的约束,从而影响 eBPF 验证器的正确运行,导致保密性、完整性和可用性问题。
总体而言,代码审查发现 eBPF 社区在识别和修复错误方面非常有效。报告指出,尽管 eBPF 验证器是确保 eBPF 部署安全的重要工具,但并不是唯一的工具,因为 eBPF“设计为利用 Linux 权限模型来控制对 eBPF 的访问,从而减轻验证器内安全问题的影响。”
评估发现了几个代码缺陷。最显著的发现是一个漏洞,使具有特权的攻击者能够读取和写入任意内核内存(find_equal_scalars)。
该漏洞已得到社区的修复。报告还提出了其他建议,以改善验证器的安全性,例如重构复杂函数并在文档中添加有关验证器执行内容的详细信息。
“虽然 eBPF 是一项强大的工具,但采用主动的安全措施至关重要,比如我们刚刚完成的第三方安全审计,” eBPF 基金会董事会主席、Isovalent 联合创始人兼 CTO Thomas Graf 说。“此外,通过了解潜在风险并实施威胁模型中的建议缓解策略,组织可以安全地利用 eBPF。”
eBPF 基金会资源
了解成员[3]机会 探索 eBPF 项目生态[4] 订阅邮件列表[5] 访问 eBPF 的 GitHub[6] 或 Slack[7] 获取其他资源
eBPF 安全威胁模型: https://www.linuxfoundation.org/hubfs/eBPF/ControlPlane%20%E2%80%94%20eBPF%20Security%20Threat%20Model.pdf
[2]eBPF 验证器代码审计: https://www.linuxfoundation.org/hubfs/eBPF/eBPF%20Verifier%20Security%20Audit.pdf
[3]成员: https://ebpf.foundation/become-a-member/
[4]eBPF 项目生态: https://ebpf.foundation/projects/
[5]邮件列表: https://lists.ebpf.foundation/g/main
[6]GitHub: https://github.com/ebpffoundation
[7]Slack: https://ebpf.io/slack/
点击【阅读原文】阅读网站原文。
文章转载自LFAPAC。点击这里阅读原文了解更多。
CNCF概况(幻灯片)
扫描二维码联系我们!
CNCF (Cloud Native Computing Foundation)成立于2015年12月,隶属于Linux Foundation,是非营利性组织。
CNCF(云原生计算基金会)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。请关注CNCF微信公众号。