Re: [PATCH v3 0/4] Introducing Hornet LSM

2025-05-02 Thread KP Singh
> This patch series introduces the Hornet LSM. The goal of Hornet is to provide > a signature verification mechanism for eBPF programs. > [...] > > References: [1] > https://lore.kernel.org/bpf/20220209054315.73833-1-alexei.starovoi...@gmail.com/ > [2] > https://lore.kernel.org/bpf/CAADnVQ+wPK1KK

[PATCH v3 4/4] selftests/hornet: Add a selftest for the Hornet LSM

2025-05-02 Thread Blaise Boscaccy
This selftest contains a testcase that utilizes light skeleton eBPF loaders. One version of the light skeleton is signed with the autogenerated module signing key, another is not. A test driver attempts to load the programs. With Hornet enabled, the signed version should successfully be loaded, and

[PATCH v3 3/4] hornet: Add a light skeleton data extractor script

2025-05-02 Thread Blaise Boscaccy
This script eases light skeleton development against Hornet by generating a data payload which can be used for signing a light skeleton binary using sign-ebpf. The binary payload it generates contains the skeleton's ebpf instructions followed by the skeleton loader's map. Signed-off-by: Blaise Bos

[PATCH v3 2/4] hornet: Introduce sign-ebpf

2025-05-02 Thread Blaise Boscaccy
This introduces the sign-ebpf tool. It is very similar to the existing sign-file script, with one key difference, it will sign a file with with a signature computed off of arbitrary input data. This can used to sign an ebpf light skeleton loader program for verification via Hornet. Typical usage i

[PATCH v3 1/4] security: Hornet LSM

2025-05-02 Thread Blaise Boscaccy
This adds the Hornet Linux Security Module which provides signature verification of eBPF programs. This allows users to continue to maintain an invariant that all code running inside of the kernel has been signed. The primary target for signature verification is light-skeleton based eBPF programs

[PATCH v3 0/4] Introducing Hornet LSM

2025-05-02 Thread Blaise Boscaccy
This patch series introduces the Hornet LSM. The goal of Hornet is to provide a signature verification mechanism for eBPF programs. eBPF has similar requirements to that of modules when it comes to loading: find symbol addresses, fix up ELF relocations, some struct field offset handling stuff call