has no influence on processes of frozen containers,
memory contents are not shared between containers
and the key to decrypt pages of frozen containers is
not present. A stolen device that was tampered with
in the absence of its unsuspecting owner, for exam-
ple, to intercept the key when the user returns, was not
part of our threat model. We assured to leave no sensi-
tive data behind by reading out process space as privi-
leged user and by analyzing memory dumps of locked
devices with the tool Volatility and with coldboot at-
tacks, such as in (Huber et al., 2016). On common de-
vices, we easily recovered lots of sensitive data, such
as exchange passwords, FDE keys and further creden-
tials. Even though in knowledge of the sensitive as-
sets, we had no means to detect any sensitive data on
devices protected by F&C.
9 CONCLUSION
We presented F&C, a novel mechanism for the en-
cryption of sensitive data in main memory along with
its successful application to protect mobiles device
from physical attackers. F&C builds upon the freezer
functionality of the Linux kernel making processes
en- and decrypt their memory efficiently in parallel
with a transient key. We synchronized the encrypt-
ing processes, ensured that frozen processes do not
touch their memory and that external events, such as
IPC, are deferred. The prototype we developed can be
employed throughout different platforms, kernel ver-
sions and allows the selection of keys, processes and
memory segments to be encrypted from user space.
We extended an existing mobile device platform that
runs multiple Android containers to integrate our pro-
totype on smartphones. The platform allowed us to
combine its virtualization and secure key manage-
ment infrastructure with F&C in order to realize a
fully functional system that thwarts physical attack-
ers. We encrypted the containers that are not in ac-
tive use and in order to maintain their full functional-
ity, we inform the user with notifications about back-
ground events. In our security and performance eval-
uation, we showed that the encryption provides strong
security for unattended devices and containers not in
use. The average en- and decryption time of less than
2.5 seconds makes the prototype practical for daily
use, especially in environments where the confiden-
tiality of data plays a major role. We seek to inte-
grate F&C into further scenarios on both embedded
and desktop systems, for example into hypervisors to
protect the full memory of different guest OSs.
REFERENCES
Andrus, J., Dall, C., Hof, A. V., Laadan, O., and Nieh,
J. (2011). Cells: A Virtual Mobile Smartphone Ar-
chitecture. In Proceedings of the Twenty-Third ACM
Symposium on Operating Systems Principles, SOSP
’11, pages 173–187. ACM.
Apostolopoulos, D., Marinakis, G., Ntantogian, C., and Xe-
nakis, C. (2013). Discovering Authentication Cre-
dentials in Volatile Memory of Android Mobile De-
vices. In Collaborative, Trusted and Privacy-Aware
e/m-Services, volume 399 of IFIP Advances in Infor-
mation and Communication Technology, pages 178–
185. Springer.
Becher, M., Dornseif, M., and Klein, C. N. (2005).
FireWire: All Your Memory Are Belong To Us. Pro-
ceedings of CanSecWest.
Boileau, A. (2006). Hit by a bus: Physical access attacks
with Firewire. Presentation, Ruxcon.
Break & Enter (2012). Adventures with Daisy in
Thunderbolt-DMA-Land: Hacking Macs through the
Thunderbolt interface.
Chen, X., Dick, R. P., and Choudhary, A. (2008). Operat-
ing system controlled processor-memory bus encryp-
tion. In Design, Automation and Test in Europe, 2008.
DATE’08, pages 1154–1159. IEEE.
Colp, P., Zhang, J., Gleeson, J., Suneja, S., de Lara, E.,
Raj, H., Saroiu, S., and Wolman, A. (2015). Pro-
tecting data on smartphones and tablets from mem-
ory attacks. In Proceedings of the Twentieth Interna-
tional Conference on Architectural Support for Pro-
gramming Languages and Operating Systems, pages
177–189. ACM.
Corner, M. D. and Noble, B. D. (2003). Protecting appli-
cations with transient authentication. In Proceedings
of the 1st international conference on Mobile systems,
applications and services, pages 57–70. ACM.
Devine, C. and Vissian, G. (2009). Compromission
physique par le bus PCI. In Procs. of SSTIC 09. Thales
Security Systems.
G
¨
otzfried, J., D
¨
orr, N., Palutke, R., and M
¨
uller, T. (2016a).
HyperCrypt: Hypervisor-Based Encryption of Kernel
and User Space. In 11th International Conference
on Availability, Reliability and Security (ARES), pages
79–87.
G
¨
otzfried, J. and M
¨
uller, T. (2013). ARMORED: CPU-
Bound Encryption for Android-Driven ARM Devices.
In Availability, Reliability and Security (ARES), 8th
International Conf. on, pages 161–168. IEEE.
G
¨
otzfried, J., M
¨
uller, T., Drescher, G., N
¨
urnberger, S., and
Backes, M. (2016b). RamCrypt: Kernel-based Ad-
dress Space Encryption for User-mode Processes. In
Proceedings of the 11th ACM on Asia Conference on
Computer and Communications Security, pages 919–
924. ACM.
Gutmann, P. (1999). The Design of a Cryptographic Se-
curity Architecture. In Proceedings of the 8th Con-
ference on USENIX Security Symposium - Volume 8,
SSYM’99. USENIX.
Freeze & Crypt: Linux Kernel Support for Main Memory Encryption
29