Microarchitectural timing channels and their prevention on an open-source 64-bit RISC-V core
Authors
DATA61
ETH Zurich
UNSW Sydney
Abstract
Microarchitectural timing channels use variations in the timing of events, resulting from competition for limited hardware resources, to leak information in violation of the operating system’s security policy. Such channels also exist on a simple in-order RISC-V core, as we demonstrate on the open- source RV64GC Ariane core. Time protection, recently proposed and implemented in the seL4 microkernel, aims to prevent timing channels, but depends on a controlled reset of microarchitectural state. Using Ariane, we show that software techniques for performing such a reset are insufficient and highly inefficient. We demonstrate that adding a single flush instruction is sufficient to close all five evaluated channels at negligible hardware costs, while requiring only minor modifications to the software stack.
BibTeX Entry
@inproceedings{Wistoff_SGBH_21, address = {virtual}, author = {Wistoff, Nils and Schneider, Moritz and G\"{u}rkaynak, Frank and Benini, Luca and Heiser, Gernot}, booktitle = {Design, Automation and Test in Europe (DATE)}, date = {2021-2-1}, month = feb, numpages = {6}, paperurl = {https://trustworthy.systems/publications/full_text/Wistoff_SGBH_21.pdf}, publisher = {IEEE}, title = {Microarchitectural Timing Channels and their Prevention on an Open-Source 64-bit {RISC}-{V} Core}, year = {2021} }