We introduce the usage of hardware performance counters (HPCs) as a new method that allows very precise access to known side channels and also allows access to many new side channels. Many current architectures provide hardware performance counters, which allow the profiling of software during runtime. Though they allow detailed profiling they are noisy by their very nature; HPC hardware is not validated along with the rest of the microprocessor. They are meant to serve as a relative measure and are most commonly used for profiling software projects or operating systems. Furthermore they are only accessible in restricted mode and can only be accessed by the operating system. We discuss this security model and we show first implementation results, which confirm that HPCs can be used to profile relatively short sequences of instructions with high precision. We focus on cache profiling and confirm our results by rerunning a recently published time based cache attack in which we replaced the time profiling function by HPCs.
Uhsadel et al. REF study the use of hardware performance counters (HPCs) for side-channel attacks.
Exploiting Hardware Performance Counters
2008 5th Workshop on Fault Diagnosis and Tolerance in Cryptography
2008 5th Workshop on Fault Diagnosis and Tolerance in Cryptography
Computer Science