AutoCC: Automatic discovery of covert channels in time-shared hardware
Authors
Princeton University
ETH Zurich
UNSW Sydney
Abstract
Covert channels enable information leakage between security domains that should be isolated by observing execution differences in shared hardware. These channels can appear in any stateful shared resource, including caches, predictors, and accelerators. Previous works have identified many vulnerable components, demonstrating and defending against attacks via reverse engineering. However, this approach requires much human effort and reasoning. With the Cambrian explosion of specialized hardware, it is becoming increasingly difficult to identify all vulnerabilities manually.
To tackle this challenge, we propose AutoCC, a methodology that leverages formal property verification (FPV) to automatically discover covert channels in hardware that is shared between processes. AutoCC operates at the register-transfer level (RTL) to exhaustively examine any machine state left by a process after a context switch that creates an execution difference. Upon finding such a difference, AutoCC provides a precise execution trace showing how the information was encoded into the machine state and recovered.
Leveraging AutoCC's flow to generate FPV testbenches that apply our methodology, we evaluated it on four open-source hardware projects, including two RISC-V cores and two accelerators. Without hand-written code or directed tests, AutoCC uncovered known covert channels (within minutes instead of many hours of test-driven emulations) and unknown ones. Although AutoCC is primarily intended to find covert channels, our evaluation has also found RTL bugs, demonstrating that AutoCC is an effective tool to test both the security and reliability of hardware designs.
BibTeX Entry
@inproceedings{Orenes-Vera_YWHBWM_23, address = {Toronto, ON, CA}, author = {Marcelo Orenes-Vera and Hyunsung Yun and Nils Wistoff and Gernot Heiser and Luca Benini and David Wentzlaff and Margaret Martonosi}, booktitle = {International Symposium on Microarchitecture (MICRO)}, doi = {10.1145/3613424.3614254}, month = oct, paperurl = {https://trustworthy.systems/publications/papers/Orenes-Vera_YWHBWM_23.pdf}, publisher = {ACM}, title = {{AutoCC}: Automatic discovery of Covert Channels in Time-shared Hardware}, year = {2023} }