Covert channels through shared processor resources provide secret communication between two malicious processes: the trojan and the spy. In this article, we classify, analyze, and compare covert channels through dynamic branch prediction units in modern processors. Through experiments on a real hardware platform, we compare contention-based channel and the channel that is based on exploiting the branch predictor's residual state. We analyze these channels in SMT and single-threaded environments under both clean and noisy conditions. Our results show that the residual state-based channel provides a cleaner signal and is effective even in noisy execution environments with another application sharing the same physical core with the trojan and the spy. We also estimate the capacity of the branch predictor covert channels and describe a software-only mitigation technique that is based on randomizing the state of the predictor tables on context switches. We show that this protection eliminates all covert channels through the branch prediction unit with minimal impact on performance.
CITATION STYLE
Evtyushkin, D., Ponomarev, D., & Abu-Ghazaleh, N. (2016). Understanding and mitigating covert channels through branch predictors. ACM Transactions on Architecture and Code Optimization, 13(1). https://doi.org/10.1145/2870636
Mendeley helps you to discover research relevant for your work.