SoK: The Challenges, Pitfalls, and Perils of Using Hardware Performance Counters for Security

被引:78
|
作者
Das, Sanjeev [1 ]
Werner, Jan [1 ]
Antonakakis, Manos [2 ]
Polychronakis, Michalis [3 ]
Monrose, Fabian [1 ]
机构
[1] Univ N Carolina, Chapel Hill, NC 27515 USA
[2] Georgia Inst Technol, Atlanta, GA 30332 USA
[3] SUNY Stony Brook, Stony Brook, NY 11794 USA
基金
美国国家科学基金会;
关键词
Hardware Performance Counters; Malware Detection; Exploit Defense; Non-determinism; EFFICIENT;
D O I
10.1109/SP.2019.00021
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Hardware Performance Counters (HPCs) have been available in processors for more than a decade. These counters can be used to monitor and measure events that occur at the CPU level. Modern processors provide hundreds of hardware events that can be monitored, and with each new processor architecture more are added. Yet, there has been little in the way of systematic studies on how performance counters can best be utilized to accurately monitor events in real-world settings. Especially when it comes to the use of HPCs for security applications, measurement imprecisions or incorrect assumptions regarding the measured values can undermine the offered protection. To shed light on this issue, we embarked on a year-long effort to (i) study the best practices for obtaining accurate measurement of events using performance counters, (ii) understand the challenges and pitfalls of using HPCs in various settings, and (iii) explore ways to obtain consistent and accurate measurements across different settings and architectures. Additionally, we then empirically evaluated the way HPCs have been used throughout a wide variety of papers. Not wanting to stop there, we explored whether these widely used techniques are in fact obtaining performance counter data correctly. As part of that assessment, we (iv) extended the seminal work of Weaver and McKee from almost 10 years ago on non-determinism in HPCs, and applied our findings to 56 papers across various application domains. In that follow-up study, we found the acceptance of HPCs in security applications is in stark contrast to other application areas - especially in the last five years. Given that, we studied an additional representative set of 41 works from the security literature that rely on HPCs, to better elucidate how the intricacies we discovered can impact the soundness and correctness of their approaches and conclusions. Toward that goal, we (i) empirically evaluated how failure to accommodate for various subtleties in the use of HPCs can undermine the effectiveness of security applications, specifically in the case of exploit prevention and malware detection. Lastly, we showed how (ii) an adversary can manipulate HPCs to bypass certain security defenses.
引用
收藏
页码:20 / 38
页数:19
相关论文
共 50 条
  • [21] Challenges and Methodologies of Hardware Security
    Li, Kin Fun
    Attarmoghaddam, Narges
    PROCEEDINGS 2018 IEEE 32ND INTERNATIONAL CONFERENCE ON ADVANCED INFORMATION NETWORKING AND APPLICATIONS (AINA), 2018, : 928 - 933
  • [22] Using Hardware Counters to Predict Vectorization
    Watkinson, Neftali
    Shivam, Aniket
    Chen, Zhi
    Veidenbaum, Alexander
    Nicolau, Alexandru
    Gong, Zhangxiaowen
    LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, LCPC 2017, 2019, 11403 : 3 - 16
  • [23] An Automated Approach to Hardware Performance Monitoring Counters
    Tinetti, Fernando G.
    Mendez, Mariano
    2014 INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE AND COMPUTATIONAL INTELLIGENCE (CSCI), VOL 1, 2014, : 71 - 76
  • [24] Malicious Firmware Detection with Hardware Performance Counters
    Wang, Xueyang
    Konstantinou, Charalambos
    Maniatakos, Michail
    Karri, Ramesh
    Lee, Serena
    Robison, Patricia
    Stergiou, Paul
    Kim, Steve
    IEEE TRANSACTIONS ON MULTI-SCALE COMPUTING SYSTEMS, 2016, 2 (03): : 160 - 173
  • [25] Hardware Performance Counters for System Reliability Monitoring
    Leng, Elena Woo Lai
    Zwolinski, Mark
    Halak, Basel
    2017 IEEE 2ND INTERNATIONAL VERIFICATION AND SECURITY WORKSHOP (IVSW), 2017, : 76 - 81
  • [26] Profiling Cloud Applications with Hardware Performance Counters
    Kandalintsev, Alexandre
    Lo Cigno, Renato
    Kliazovich, Dzmitry
    Bouvry, Pascal
    2014 INTERNATIONAL CONFERENCE ON INFORMATION NETWORKING (ICOIN 2014), 2014, : 52 - 57
  • [27] SoK: Security of Microservice Applications: A Practitioners' Perspective on Challenges and Best Practices
    Billawa, Priyanka
    Tukaram, Anusha Bambhore
    Ferreyra, Nicolas E. Diaz
    Steghofer, Jan Philipp
    Scandariato, Riccardo
    Simhandl, Georg
    PROCEEDINGS OF THE 17TH INTERNATIONAL CONFERENCE ON AVAILABILITY, RELIABILITY AND SECURITY, ARES 2022, 2022,
  • [28] Fight Hardware with Hardware: Systemwide Detection and Mitigation of Side-channel Attacks Using Performance Counters
    Carna, Stefano
    Ferracci, Serena
    Quaglia, Francesco
    Pellegrini, Alessandro
    DIGITAL THREATS: RESEARCH AND PRACTICE, 2023, 4 (01):
  • [29] End-user Tools for Application Performance Analysis Using Hardware Counters
    Innovative Computing Laboratory, University of Tennessee, Knoxville
    TN
    37996-3450, United States
    Int. Conf. Parallel Distrib. Comput. Syst., PDCS, 1600, (460-465):
  • [30] Ransomware Classification Using Hardware Performance Counters on a Non-Virtualized System
    Hill, Jennie E.
    Walker, T. Owens
    Blanco, Justin A.
    Ives, Robert W.
    Rakvic, Ryan
    Jacob, Bruce
    IEEE ACCESS, 2024, 12 : 63865 - 63884