Microsoft、オープンソースプロジェクト「ebpf-for-windows」を発表:アプリのコードをカーネル内で安全に実行できる
Microsoftは、「eBPF」を「Windows 10」と「Windows Server 2016」以降で動作させるためのオープンソースプロジェクト「ebpf-for-windows」を発表した。アプリケーションプログラムのコードをカーネル内で安全に実行できる。
Microsoftは2021年5月10日(米国時間)、「eBPF」(extended Berkeley Packet Filter)を「Windows 10」と「Windows Server 2016」以降で動作させるためのオープンソースプロジェクト「ebpf-for-windows」を発表した。
eBPFはアプリケーションプログラムのコードをカーネル内で安全に実行するための仕組みで、カーネルを拡張するための手間や時間を軽減する。これまでは主にLinuxで活用されてきた。
例えばDoS(サービス妨害)攻撃からの保護機能を追加したり、オブザーバビリティを実現したりする。
ebpf-for-windowsプロジェクトは、Linuxエコシステムで使われてきたeBPFのツールチェーンとAPIを、開発者がWindowsで利用できるようにすることを目指している。
既存のオープンソースeBPFプロジェクトをサブモジュールとしてWindows上で実行するために、これらとWindowsの間にレイヤー(Windows固有のホスティング環境)を追加する。
ebpf-for-windowsプロジェクトはまだ、開発の比較的初期の段階にあるが、GitHubリポジトリからコードを取得し、ビルドして機能を試すことが可能だ。完成前の段階でプロジェクトを発表した理由について、Microsoftは「eBPFをWindowsや他の環境で効果的に機能させるために、強力なeBPFコミュニティーと共同で取り組みを進めるため」と説明している。
どのようなアーキテクチャなのか
次の図は、ebpf-for-windowsプロジェクトのアーキテクチャと関連コンポーネントを示している。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- パケットフィルターでトレーシング? Linuxで活用が進む「Berkeley Packet Filter(BPF)」とは何か
Linuxにおける利用が急速に増えている「Berkeley Packet Filter(BPF)」について、基礎から応用まで幅広く紹介する連載。初回は、BPFの歴史や概要について。 - BPFのアーキテクチャ、命令セット、cBPFとeBPFの違い
Linuxにおける利用が急速に増えている「Berkeley Packet Filter(BPF)」について、基礎から応用まで幅広く紹介する連載。今回は、Linuxで用いられるBPFのアーキテクチャなどを説明する。 - 単なるデバッグ情報だけではない「BPF Type Format」(BTF)の使い道
Linuxにおける利用が急速に増えている「Berkeley Packet Filter(BPF)」について、基礎から応用まで幅広く紹介する連載。今回は、最近のBPFの発展に欠かすことのできない重要機能「BPF Type Format(BTF)」について。