microsoft / microsoft/ebpf-for-windows
Per-operation map permissions
- 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
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