Exploiting Hardware Performance Counters

@article{Uhsadel2008ExploitingHP,
  title={Exploiting Hardware Performance Counters},
  author={Leif Uhsadel and Andy Georges and Ingrid M. R. Verbauwhede},
  journal={2008 5th Workshop on Fault Diagnosis and Tolerance in Cryptography},
  year={2008},
  pages={59-67}
}
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… 

Figures and Tables from this paper

Are hardware performance counters a cost effective way for integrity checking of programs
TLDR
The preliminary results confirm that HPC very efficiently detect program modifications with very low cost.
Hardware Performance Counters: Ready-Made vs Tailor-Made
TLDR
It is demonstrated how ready-made hardware performance counters, due to their coarse-grain nature (low sampling rate and bundling of similar events, e.g., number of instructions instead of number of add instructions), are insufficient to this end.
Unpredictable Random Number Generator Based on the Performance Data Helper Interface
  • K. Marton, P. Toth, A. Suciu
  • Computer Science
    2012 14th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing
  • 2012
TLDR
This paper proposes an unpredictable random number generator based on the variations in the HPC values provided by the Performance Data Helper (PDH) interface on Windows operating systems and analyzes the randomness quality and throughput of the generator in order to determine its suitability for integration in cryptographic applications.
Investigating Black-Box Function Recognition Using Hardware Performance Counters
TLDR
A machine learning-based approach using information from HPCs for function recognition to classify a comprehensive set of HPC events, including L1 instruction cache accesses, TLB misses, and instruction retirements, to recognise functions from standard benchmarking and cryptographic libraries.
HPCMalHunter: Behavioral malware detection using hardware performance counters and singular value decomposition
TLDR
HPCMalHunter, a novel approach for real-time behavioral malware detection that uses HPCs to collect a set of event vectors from the beginning of a program's execution and uses the singular value decomposition (SVD) to reduce these event vectors and generate a behavioral vector for the program.
Unpredictable Random Number Generator Based on Hardware Performance Counters
TLDR
A new unpredictable random number generator (URNG) based on HPCs is proposed and thorough statistical testing proves the high randomness quality of the produced sequences enabling the generator to be considered a suitable candidate for integration in cryptographic applications.
Information leakage on shared hardware : evolutions in recent hardware and applications to virtualization. (Fuites d'information dans les processeurs récents et applications à la virtualisation)
TLDR
This thesis explores the recent processor microarchitectures and their consequences in terms of information leakage in virtualized environments, and reverse engineering of the complex addressing function of the last-level cache of Intel processors renders the class of cache attacks highly practical.
Øzone: Efficient execution with zero timing leakage for modern microarchitectures
TLDR
Ozone is developed, the first zero timing leakage execution resource for a modern microarchitecture, and evaluated using a number of security sensitive kernels that have previously been targets of timing side-channel attacks, and shows that Ozone eliminates timing leakage with minimal performance overhead.
Reverse Engineering Intel Last-Level Cache Complex Addressing Using Performance Counters
TLDR
An automatic and generic method for reverse engineering Intel's last-level cache complex addressing, consequently rendering the class of cache attacks highly practical and giving a more precise description of the complex addressing function than previous work.
Ozone: Efficient Execution with Zero Timing Leakage for Modern Microarchitectures
TLDR
Ozone is developed, the first zero timing leakage execution resource for a modern microarchitecture, and evaluated using a number of security sensitive kernels that have previously been targets of timing side-channel attacks, and shows that Ozone eliminates timing leakage with minimal performance overhead.
...
...

References

SHOWING 1-10 OF 18 REFERENCES
Using hpm-sampling to drive dynamic compilation
TLDR
HPM-sampling is described and comprehensively evaluated, a simple but effective profiling scheme for finding optimization candidates using hardware performance monitors (HPMs) that addresses the aforementioned limitations of existing online profiling schemes.
Cryptographic Side-Channels from Low-Power Cache Memory
TLDR
This work introduces a new attack within this class which targets the use of low power cache memories, showing that they permit attack where a more considered design strategy would not.
Yet another MicroArchitectural Attack:: exploiting I-Cache
TLDR
This paper introduces Instruction Cache (I-Cache) as yet another source of microarchitectural attacks and presents the experimental results which clearly prove the practicality and danger of I-Cache Attacks.
Predicting Secret Keys Via Branch Prediction
TLDR
A new software side-channel attack enabled by the branch prediction capability common to all modern high-performance CPUs, which allows an unprivileged process to attack other processes running in parallel on the same processor, despite sophisticated partitioning methods such as memory protection, sandboxing or even virtualization.
Cache-Collision Timing Attacks Against AES
TLDR
The most powerful attack has been shown under optimal conditions to reliably recover a full 128-bit AES key with 213 timing samples, an improvement of almost four orders of magnitude over the best previously published attacks of this type.
On the power of simple branch prediction analysis
TLDR
The successful extraction of almost all secret key bits by the SBPA attack against an openSSL RSA implementation proves that the often recommended blinding or so called randomization techniques to protect RSA against side-channel attacks are, in the context of SBPA attacks, totally useless.
Side-Channel Attack Pitfalls
  • K. Tiri
  • Computer Science, Mathematics
    2007 44th ACM/IEEE Design Automation Conference
  • 2007
TLDR
The side-channel attack pitfalls, which help create or facilitate the observation of the information leakage, are introduced, discusses mitigation strategies and identifies opportunities for future research.
Trace-Driven Cache Attacks on AES
TLDR
This paper presents efficient trace-driven cache attacks on a widely used implementation of the AES cryptosystem and develops an accurate mathematical model that is used in the cost analysis of the attacks.
Trace-Driven Cache Attacks on AES (Short Paper)
TLDR
This paper presents an efficient trace-driven cache attack on a widely used implementation of the AES cryptosystem, and develops an accurate mathematical model that is used in the cost analysis of the attack.
Remote timing attacks are practical
...
...