Closed lrishi closed 2 years ago
Catalog all the string related (and adjacent) bpf helpers along with the kernel versions when they became available. Identify what use-cases these bpf helpers enable, which otherwise would be impossible using a custom written algorithm or code block.
I'll just drop this here. Google already provides a really comprehensive list of BPF features (including string helpers) and minimum kernel versions they correspond to.
https://android.googlesource.com/platform/external/bcc/+/master/docs/kernel-versions.md
Catalog all the string related (and adjacent) bpf helpers along with the kernel versions when they became available. Identify what use-cases these bpf helpers enable, which otherwise would be impossible using a custom written algorithm or code block.
I'll just drop this here. Google already provides a really comprehensive list of BPF features (including string helpers) and minimum kernel versions they correspond to.
https://android.googlesource.com/platform/external/bcc/+/master/docs/kernel-versions.md
that's BCC, this is the source (which should be more up to date) https://github.com/iovisor/bcc/blob/master/docs/kernel-versions.md
My guess is this one will be important!
BPF_FUNC_d_path() 5.10 6e22ab9da793
To succeed as a viable security enabler, eBPF and eBPF LSM programs need to perform significant amount and variations of string comparisons on datasets unknown at compile time. Since we quickly start hitting the instruction (or other) limits at any kind of meaningful scale, it might help to deep dive into all the helpers at our disposal.
Outcome:
Motivation: https://github.com/elastic/security-team/issues/5114