Microsoftは、eBPFをLinuxカーネルからWindowsに拡張したいと考えています

オペレーティング システムのさまざまなユーザーに好評を博した Windows Subsystem for Linux (WSL) の後、 Microsoft は、Linux コミュニティから別の重要なテクノロジを借用することにしました。、eBPF (Berkeley Extended Packet Filter) を Windows に移植します。

会社 eBPFのフォークにはならないだろうと言いましたが、 はい、これは IOVisor uBPF プロジェクトや PREVAIL ベリファイアなどの既存のプロジェクトで使用され、Windows 10 や Windows Server 2016 (またはそれ以降) などの独自のオペレーティング システムで eBPF プログラムと API を実行します。

過去 XNUMX 年間で、今世紀の初めにはまだ Linux をコンピュータ業界の癌とみなしていた Microsoft が、カーネル開発に大きく貢献するようになりました。

彼は WSL を使用して、Windows 上で複数のアプリケーションを実行できる道を切り開き、システム管理者や開発者が、何かを仮想化したり複雑なインフラストラクチャを構築したりすることなく、Windows から直接 Linux ツールやサービスを使用できるようにしました。

現在、Microsoft は Windows に eBPF を追加することを選択しています。 これは、そのプログラム可能性と機敏性でよく知られているテクノロジーです。 特に、オペレーティング システムのカーネルの拡張、DoS 攻撃に対する保護や可観測性などのユースケースに適しています。

レジストリベースの仮想マシンです Linux カーネルへの JIT コンパイルを介してカスタム 64 ビット RISC アーキテクチャで実行するように設計されています。 そのため、eBPF プログラムは、ファイル システムのトレースや呼び出しのログ記録など、システムのデバッグや分析に特に適しています。

eBPF と Linux カーネルの関係は、JavaScript と Web ページの関係と比較されています。を使用すると、カーネル ソース コードを変更したり、カーネル モジュールをロードしたりせずに、実行中の eBPF プログラムをロードすることで Linux カーネルの動作を変更できます。

eBPF は、過去 XNUMX 年間で最大の Linux カーネル革新の XNUMX つです。 そして、このテクノロジーを他のオペレーティング システムに移植することにある程度の関心があったため、Microsoft は Windows ソフトウェアを試してみることにしました。 ebpf-for-windows という名前のこのプロジェクトはオープンソースであり、GitHub で入手できます。

「ebpf-for-windows プロジェクトは、開発者が使い慣れた eBPF ツールチェーンとアプリケーション プログラミング インターフェイス (API) を既存のバージョンの Windows で使用できるようにすることを目的としています」と Microsoft アソシエート ソフトウェア エンジニアの Dave Thaler 氏と Microsoft シニア ソフトウェア エンジニアの Poorna Gaddehosur 氏は月曜のブログ投稿で説明しました。

「他の人の研究に基づいて、このプロジェクトはいくつかの既存のオープンソース eBPF プロジェクトを採用し、それらを Windows 上で実行できるように中間層を追加します。」

同社はこれを eBPF フォークとは呼んでいません。 したがって、Windows 開発者は、clang などのツールを使用してバイトコードを生成できるようになります。

任意のアプリケーションに挿入したり、Windows netsh コマンド ラインで使用したりできるソース コードの eBPF。 同社によれば、これは Libbpf API を使用する共有ライブラリを通じて行われます。

このライブラリは、カーネル コンポーネントが信頼できるキーで署名されたユーザー モード デーモンを信頼できるようにする Windows セキュリティ環境で PREVAIL を介して EBPF バイトコードを渡します。

Microsoft のエンジニアによると、このプロジェクトは Linux と Windows の両方に存在するフックとヘルパーを使用して eBPF コードとの互換性を提供することを目的としています。

「Linuxは多くのフックとヘルパーを提供していますが、その一部は非常にLinux固有のものであり(たとえば、Linuxの内部データ構造を使用する)、他のプラットフォームには適用できません」と彼らは述べています。

最後に あなたがそれについてもっと知りたいのなら、 詳細を確認できます 次のリンクで。 GitHub 上の eBPF リポジトリを参照できることに興味がある場合は、次のリンクから参照できます。 次のリンク。


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。