Hier finden Sie wissenschaftliche Publikationen aus den Fraunhofer-Instituten.

Freeze and crypt: Linux kernel support for main memory encryption

: Huber, M.; Horsch, J.; Ali, J.; Wessel, S.


Computers & security 86 (2019), S.420-436
ISSN: 0167-4048
Fraunhofer AISEC ()

We present Freeze & Crypt, a framework for main memory encryption. Our goal is to protect sensitive main memory on modern devices against memory attacks, such as via coldboot, DMA, or JTAG. This goal is of special significance when it comes to protect unattended or stolen devices, such as smartphones, tablets or laptops, against physical attackers. We describe the design of Freeze & Crypt for the Linux kernel where we build on a process suspension infrastructure called freezer. When suspended with the freezer, processes enter a state in kernel space rendering them unable to access any user space data. Instead of using the freezer for full system suspension, we extend it to make arbitrary process groups transparently and dynamically encrypt their full memory space while suspending. When resuming a process group, we make all contained processes decrypt their memory space before resuming normal execution. The encryption key needs to be present on the system only during en- and decryption, allowing for flexible key management specific to the use case. We implement a prototype and apply it on productively used mobile devices running a virtualization platform. This platform allows for the concurrent operation of multiple Android containers on a single device. We use Freeze & Crypt to protect the sensitive data in RAM when the device or a container is not in active use. We create ephemeral keys for each container encryption cycle and protect the keys with a Secure Element while containers are encrypted. In our security and performance evaluations, we demonstrate Freeze & Crypt's practical usability on smartphones, efficiently protecting sensitive memory.