Re: [PATCH bpf-next v1 00/13] MAC and Audit policy using eBPF (KRSI)
From: Andrii Nakryiko <hidden>
Date: 2019-12-30 18:58:34
Also in:
bpf, lkml
On Mon, Dec 30, 2019 at 7:04 AM KP Singh [off-list ref] wrote:
On 23-Dec 22:51, Andrii Nakryiko wrote:quoted
On Fri, Dec 20, 2019 at 7:42 AM KP Singh [off-list ref] wrote:quoted
From: KP Singh <redacted> This patch series is a continuation of the KRSI RFC (https://lore.kernel.org/bpf/20190910115527.5235-1-kpsingh@chromium.org/ (local))[...]quoted
# Usage Examples A simple example and some documentation is included in the patchset. In order to better illustrate the capabilities of the framework some more advanced prototype code has also been published separately: * Logging execution events (including environment variables and arguments): https://github.com/sinkap/linux-krsi/blob/patch/v1/examples/samples/bpf/lsm_audit_env.c * Detecting deletion of running executables: https://github.com/sinkap/linux-krsi/blob/patch/v1/examples/samples/bpf/lsm_detect_exec_unlink.c * Detection of writes to /proc/<pid>/mem: https://github.com/sinkap/linux-krsi/blob/patch/v1/examples/samples/bpf/lsm_audit_env.cAre you planning on submitting these examples for inclusion into samples/bpf or selftests/bpf? It would be great to have more examples and we can review and suggest nicer ways to go about writing them (e.g., BPF skeleton and global data Alexei mentioned earlier).Eventually, yes and in selftest/bpf. But these examples depend on using security blobs and some non-atomic calls in the BPF helpers which are not handled as a part of the initial patch-set. Once we have the initial framework finalized, I will update the examples and the helpers they are based on and send these separate patch-sets on the list for review.
Great! The reason I was asking is that once they are in selftests, it would be nice to switch them to use all the latest BPF usability improvements to make code cleaner and have it as another good example of modern BPF program. Like use BTF-defined maps, BPF skeleton, vmlinux.h, etc. We can go over this when the time comes, though :)
- KPquoted
quoted
We have updated Google's internal telemetry infrastructure and have started deploying this LSM on our Linux Workstations. This gives us more confidence in the real-world applications of such a system. KP Singh (13): bpf: Refactor BPF_EVENT context macros to its own header. bpf: lsm: Add a skeleton and config options bpf: lsm: Introduce types for eBPF based LSM bpf: lsm: Allow btf_id based attachment for LSM hooks tools/libbpf: Add support in libbpf for BPF_PROG_TYPE_LSM bpf: lsm: Init Hooks and create files in securityfs bpf: lsm: Implement attach, detach and execution. bpf: lsm: Show attached program names in hook read handler. bpf: lsm: Add a helper function bpf_lsm_event_output bpf: lsm: Handle attachment of the same program tools/libbpf: Add bpf_program__attach_lsm bpf: lsm: Add selftests for BPF_PROG_TYPE_LSM bpf: lsm: Add Documentation[...]