Secure enclave for in-kernel userspace processes
Channel: SUSE Labs
Date: 2022-10-24

discussion session led by Hannes Reineckeat SUSE Labs Conference 2022

Thanks to our conference sponsors, ARM and HPE, and our hosting sponsor and BigBlueButton provider, Blindside Networks.

The kernel long had the 'call_usermodehelper()' feature to allow the kernel to initiate upcalls to userspace; it's used eg for firmware loading. While this worked, the kernel essentially does a lookup based on the filename, and then does an 'exec()' on that file.

Needless to say that this is has security implications, and it's getting even worse if we have to have a daemon running (eg for handling in-kernel TLS handshake).

One attempt to solve this would be to move these 'special' userland programs into their own namespace/enclave, and let the kernel populate it during booting. With that the kernel would be able to measure the contents, and provide some additional guard against malicious code.

This BoF will be focussed on whether such an 'enclave' is feasible, and how it could be implemented.