Cache attacks, which exploit differences in timing to perform covert or side channels, are now well understood. Recent works leverage the last level cache to perform cache attacks across cores. This cache is split in slices, with one slice per core. While predicting the slices used by an address is simple in older processors, recent processors are using an undocumented technique called complex addressing. This renders some attacks more difficult and makes other attacks impossible, because of the loss of precision in the prediction of cache collisions. In this paper, we build an automatic and generic method for reverse engineering Intel's last-level cache complex addressing, consequently rendering the class of cache attacks highly practical. Our method relies on CPU hardware performance counters to determine the cache slice an address is mapped to. We show that our method gives a more precise description of the complex addressing function than previous work. We validated our method by reversing the complex addressing functions on a diverse set of Intel processors. This set encompasses Sandy Bridge, Ivy Bridge and Haswell micro-architectures, with different number of cores, for mobile and server ranges of processors. We show the correctness of our function by building a covert channel. Finally, we discuss how other attacks benefit from knowing the complex addressng of a cache, such as sandboxed rowhammer.
Reverse engineering Intel complex addressing using performance counters
RAID 2015, 18th International Symposium on Research in Attacks, Intrusions and Defenses, November 2-4, 2015, Kyoto, Japan / Also published in LNCS, Volume 9404/2015
© Springer. Personal use of this material is permitted. The definitive version of this paper was published in RAID 2015, 18th International Symposium on Research in Attacks, Intrusions and Defenses, November 2-4, 2015, Kyoto, Japan / Also published in LNCS, Volume 9404/2015 and is available at : http://dx.doi.org/10.1007/978-3-319-26362-5_3
PERMALINK : https://www.eurecom.fr/publication/4671