microsoft / microsoft/ebpf-for-windows

Per-operation map permissions

Open
#1,162 1 comment 0 reactions 0 assignees View on GitHub
blocked enhancement help wanted triaged
Dominant language
C
Stars
3.6k
Forks
311
Avg merge
6d 10h
Merged PRs (30d)
21

Description

### Describe the feature you'd like supported

https://github.com/microsoft/xdp-for-windows/issues/24 requests the ability for an unprivileged application to communicate with a privileged (e.g., signed) ebpf program.

### Proposed solution

One way to do that would be to allow maps to be ACL'ed so that they can be read-write or read-only to unprivileged apps. Thus, unprivileged apps would be able to use say bpf_map_create() and bpf_map_update_elem(), or ringbuf apis, to communicate with an ebpf program just like they'd be able to use DeviceIoControls to communicate with a driver, subject to permissions.

Apparently that can already be done on Linux as discussed in https://lwn.net/Articles/896936/

### Additional context

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by reading this issue, the linked xdp-for-windows request, and the referenced Linux discussion. Establish the permission model for per-operation map access and identify the affected map and ring buffer APIs. Done means the supported permissions and unprivileged communication behavior are defined and validated against the stated use case.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
operating-systems, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.