Microsoft、eBPFをWindows上で利用可能にする計画 29
計画 部門より
Microsoftは10日、eBPFをWindows上で実行できるようにする計画を発表した(Microsoft Open Source Blogの記事、 Phoronixの記事、 The Registerの記事、 BetaNewsの記事)。
eBPFはカーネルソースコードを変更したり、カーネルモジュールを読み込んだりすることなしにLinuxカーネル上でサンドボックス化されたプログラムを実行する仕組み。プログラム可能性や拡張性、敏捷性を提供する革新的な技術として知られており、DoS保護などのユースケースに適用されてきた。eBPFサポートは元々Linuxカーネル上に実装されたものだが、他のOSで利用可能にすることや、カーネルだけでなくユーザーモードのサービスやデーモンにも拡大することへの関心が高まっているという。
Microsoftのebpf-for-windowsプロジェクトはWindows 10/Server 2016以降でeBPFを動作させるもので、開発者が使い慣れたeBPFツールチェーンやAPIを利用可能にすることを目指す。プロジェクトはeBPFのフォークではなく、IO VisorのuBPFやvbpfのPREVAIL eBPF verifierを含む既存の複数のeBPFオープンソースプロジェクトがWindows上で実行できるよう、Windows特有のホスト環境を追加する。プロジェクトは一般に適用可能(Linux固有ではない)なフックやヘルパーをeBPFプログラムでサポートすることを意図しており、eBPFプログラムとやりとりするアプリケーションにソースコードの互換性を提供するLibbpf APIをWindows上で公開するとのことだ。