Paper 2021/663

On the Design and Misuse of Microcoded (Embedded) Processors — A Cautionary Note

Nils Albartus, Clemens Nasenberg, Florian Stolz, Marc Fyrbiak, Christof Paar, and Russell Tessier

Abstract

Today's microprocessors often rely on microcode updates to address issues such as security or functional patches. Unfortunately, microcode update flexibility opens up new attack vectors through malicious microcode alterations. Such attacks share many features with hardware Trojans and have similar devastating consequences for system security. However, due to microcode's opaque nature, little is known in the open literature about the capabilities and limitations of microcode Trojans. We introduce the design of a microcoded RISC-V processor architecture together with a microcode development and evaluation environment. Even though microcode typically has almost complete control of the processor hardware, the design of meaningful microcode Trojans is not straightforward. This somewhat counter-intuitive insight is due to the lack of information at the hardware level about the semantics of executed software. In three security case studies we demonstrate how to overcome these issues and give insights on how to design meaningful microcode Trojans that undermine system security. To foster future research and applications, we publicly release our implementation and evaluation platform.

Metadata
Available format(s)
PDF
Category
Applications
Publication info
Published elsewhere. USENIX Security 21
Keywords
trojansmicrocodeembedded security
Contact author(s)
nils albartus @ mpi-sp org
History
2021-05-25: received
Short URL
https://ia.cr/2021/663
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2021/663,
      author = {Nils Albartus and Clemens Nasenberg and Florian Stolz and Marc Fyrbiak and Christof Paar and Russell Tessier},
      title = {On the Design and Misuse of Microcoded (Embedded) Processors — A Cautionary Note},
      howpublished = {Cryptology ePrint Archive, Paper 2021/663},
      year = {2021},
      note = {\url{https://eprint.iacr.org/2021/663}},
      url = {https://eprint.iacr.org/2021/663}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.