17611538698
webmaster@21cto.com

eBPF 即将登陆 Windows 系统

资讯 0 94 2024-10-16 05:34:59

图片

导读:在 IETF 和微软的帮助下,eBPF 或将很快为 Linux 和 Windows 的内核程序,以提供跨平台兼容性。

在上个月的虚拟eBPF 峰会上, Isovalent的首席技术官兼联合创始人Thomas Graf谈到了开源过滤器转型内核引擎的未来。

他指出,这个未来将包括微软 Windows 平台。

微软的研究人员已经着手一个项目,制作适用于 Windows 的 eBPF 版本,也就是说为 Windows 内核提供一个类似的可编程接口。

自从十年前被纳入内核以来,基于 Linux 的 eBPF得到了广泛的应用,特别是可观察性、安全性和合规性工具,这些工具受益于其可编程的在线速度来分析和过滤数据包,而无需繁琐的模块或危险的内核修改。

由于 Windows 和 Linux 之间承诺了跨平台兼容性,工具制作者可以编写在两个平台上运行的二进制文件。

eBPF…将适用于 Windows


与 Linux eBPF 一样,Windows eBPF 将提供一个沙箱来在内核内部执行小程序,一旦代码被验证,就会使用一个封闭的内核解释器来执行eBPF 字节码


在 GitHub 上发布的微软项目显示有 43 位贡献者,代码大部分用 C 语言编写,还有少量 C++


Graf 表示,该软件包将带来与 Linux eBPF 的字节码兼容性,并且还具有类似的解释器和即时编译器来执行字节码。但是,鉴于与 Windows 系统调用的差异,eBPF 连接到内核的挂钩点可能会有所不同。

图片

微软针对 Windows 内核的 eBPF 架构(Windows)

Graf 表示,未来几年,为Linux eBPF开发的所有工具也将移植到 Windows 环境中。

他警告说,这将给社会带来更多挑战。展望未来,工具制造商需要确保他们的产品在两种环境下都能正常工作。

因此,eBPF需要标准化。

eBPF 标准化


Graf 指出,最初,eBPF 是作为一组代码发展起来的;它没有遵循它所实施的预定义规范。因此,代码本身“就是工具制造商必须遵循的标准”,他这样说道。


目前,互联网工程任务组(IETF) 已经着手开展一个项目来进一步巩固现状。


“将尽可能保证 Windows 和 Linux 之间的“跨平台”兼容性”,该工作组的技术顾问、微软 eBPF 项目的主要贡献者之一Dave Thaler在今年早些时候的Linux 基金会存储峰会上如此说道。


IETF eBPF 工作组的首要任务是巩固运行 eBPF 程序的虚拟机的指令集架构 (ISA)。该机构已基本完成描述 ISA 的文档,目前只剩下最后的一些反馈。


ISA 工作完成后,该小组还计划为验证器制定一套期望,以保证不受信任的 eBPF 程序的安全执行。验证器应该做什么来确保代码安全?验证器保证哪些安全属性?对于这项工作,该小组可以从 Linux 内核的verifier.rst为 eBPF 构建。


该小组还计划通过 ABI(应用程序二进制接口)规范创建一种生成可移植 eBPF 二进制文件的格式,也许基于现有的格式之一。

作者:万能的大雄

评论