开工福利|免费学 2200+ 精品线上课,企业成员人人可得! 了解详情
写点什么

eBPF 即将登陆 Windows

  • 2024-10-16
    北京
  • 本文字数:1141 字

    阅读完需:约 4 分钟

大小:540.25K时长:03:04
eBPF 即将登陆 Windows

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


在上个月的虚拟 eBPF 峰会上,Isovalent 的首席技术官兼联合创始人 Thomas Graf 谈到了这款开源的,由过滤器转型而成的内核引擎的未来。他指出,这个未来包括了微软 Windows 的版本。

 

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

 

自十年前被纳入内核以来,基于 Linux 的 eBPF 得到了广泛采用,尤其是可观察性、安全性和合规性工具对它的使用非常多。这些工具利用其可编程的高速特性来分析和过滤数据包,而无需繁琐的模块或危险的内核修改。

 

借助它承诺的 Windows 和 Linux 之间的跨平台兼容性,工具开发商就能写出同时支持两大平台的二进制文件了。

适用于 Windows 的 eBPF

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

 

GitHub 上发布的这个微软项目显示有 43 位贡献者,代码主要用 C 编写,还有少量 C++。

 

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



微软的 eBPF Windows 版本架构

 

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

 

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

 

因此它需要标准化。

eBPF 标准化

Graf 指出,最初,eBPF(现在,管理员们一致认为,这个名字不再代表任何东西)是作为一组代码发展起来的;当时它并没有遵循什么预先定义的规范。因此,代码本身“就是工具开发商必须遵循的标准”,他说。

 

互联网工程任务组(IETF)已着手开展一个项目,以尽可能保证 Windows 和 Linux 之间的“跨平台”兼容性,该工作组的技术顾问、也是微软 eBPF 项目的主要贡献者之一的 Dave Thaler 在今年早些时候的 Linux 基金会存储峰会上提到了这一点。

 

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

 

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

 

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

 

原文链接:https://thenewstack.io/ebpf-is-coming-for-windows/

2024-10-16 16:5610534

评论

发布
暂无评论
发现更多内容

Supermicro通过业界领先的全新系统产品组合,将前沿AI性能推向边缘计算环境

财见

一文搞懂设计模式—代理模式

Java随想录

Java 设计模式 代理模式

实例详解数据库的游标管理

华为云开发者联盟

数据库 后端 华为云 华为云GaussDB 华为云开发者联盟

From concept to reality: the development history and technical progress of WiFi 7/QCN9274

wallysSK

Programming Abstractions in C阅读笔记:p293-p302

codists

文心一言 VS 讯飞星火 VS chatgpt (201)-- 算法导论15.2 6题

福大大架构师每日一题

福大大架构师每日一题

一道 Java 八股,检测 AI 智商。是否颠覆了你对AI的认识

派大星

AI ChatGPT ChatGPT4

听 GPT 讲 client-go 源代码 (15)

fliter

AnyTrans 8 for mac:安全快速地跨平台数据管理传输工具

Rose

shopee商品详情数据接口

tbapi

Shopee shopee商品详情数据接口 shopee API shopee商品数据采集

超详细!彻底说明白Redis持久化

Java随想录

Java 数据库 redis 持久化

【教程】 iOS混淆加固原理篇

《研发效能 100 问》全册升级发布:22 位专家携手共建研发效能实践经验手册!

思码逸研发效能

听 GPT 讲 client-go 源代码 (16)

fliter

教你如何判断Java代码中异步操作是否完成

华为云开发者联盟

Java 开发 华为云 华为云开发者联盟 异步操作

如何在mac电脑上运行Windows应用?

Rose

CAS单点登录协议:让用户体验更便捷的身份验证方式

权说安全

身份认证 单点登录

带使能控制的锂电池充放电解决方案

芯动大师

全球视角:国外企业重视的AI高管职位

算AI

人工智能

国际最新AI算力评测标准SPEC ML即将发布

财见

好用的云盘本地加载工具:CloudMounter mac

Rose

Pydantic:Python 数据验证库的新宠

测试人

Python 软件测试 自动化测试 测试开发

害怕代码操作是“黑盒”,用代码审计将操作变”白盒”

极狐GitLab

Slave被误写入数据如何恢复到主库

GreatSQL

在Linux操作系统中,如何解决软件依赖关系?

小魏写代码

eBPF 即将登陆 Windows_云安全_Joab Jackson_InfoQ精选文章