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

被引:90
|
作者
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 条
  • [31] Demand-Driven Software Race Detection using Hardware Performance Counters
    Greathouse, Joseph L.
    Ma, Zhiqiang
    Frank, Matthew I.
    Peri, Ramesh
    Austin, Todd
    ISCA 2011: PROCEEDINGS OF THE 38TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE, 2011, : 165 - 176
  • [32] ROPSentry: Runtime defense against ROP attacks using hardware performance counters
    Das, Sanjeeu
    Chen, Bihuan
    Chandramohan, Mahintham
    Liu, Yang
    Zhang, Wei
    COMPUTERS & SECURITY, 2018, 73 : 374 - 388
  • [33] Efficient Classification of Application Characteristics by using Hardware Performance Counters with Data Mining
    Choi, Jieun
    Park, Geunchul
    Nam, Dukyun
    2018 IEEE 3RD INTERNATIONAL WORKSHOPS ON FOUNDATIONS AND APPLICATIONS OF SELF* SYSTEMS (FAS*W), 2018, : 24 - 29
  • [34] Investigating Black-Box Function Recognition Using Hardware Performance Counters
    Shepherd, Carlton
    Semal, Benjamin
    Markantonakis, Konstantinos
    IEEE TRANSACTIONS ON COMPUTERS, 2023, 72 (07) : 2065 - 2079
  • [35] Time Series-based Malware Detection using Hardware Performance Counters
    Kuruvila, Abraham Peedikayil
    Karmakar, Sayar
    Basu, Kanad
    2021 IEEE INTERNATIONAL SYMPOSIUM ON HARDWARE ORIENTED SECURITY AND TRUST (HOST), 2021, : 102 - 112
  • [36] ConFirm: Detecting Firmware Modifications in Embedded Systems using Hardware Performance Counters
    Wang, Xueyang
    Konstantinou, Charalambos
    Maniatakos, Michail
    Karri, Ramesh
    2015 IEEE/ACM INTERNATIONAL CONFERENCE ON COMPUTER-AIDED DESIGN (ICCAD), 2015, : 544 - 551
  • [37] Securing Microservices Against Password Guess Attacks using Hardware Performance Counters
    Kadiyala, Sai Praveen
    Li, Xiaolan
    Lee, Wonjun
    Catlin, Andrew
    2022 IEEE 35TH INTERNATIONAL SYSTEM-ON-CHIP CONFERENCE (IEEE SOCC 2022), 2022, : 178 - 183
  • [38] End-user tools for application performance analysis using hardware counters
    London, K
    Dongarra, J
    Moore, S
    Mucci, P
    Seymour, K
    Spencer, T
    PARALLEL AND DISTRIBUTED COMPUTING SYSTEMS, 2001, : 460 - 465
  • [39] Hardware-Assisted Security: Promises, Pitfalls and Opportunities
    Sadeghi, Ahmad-Reza
    PROCEEDINGS OF THE 2017 WORKSHOP ON ATTACKS AND SOLUTIONS IN HARDWARE SECURITY (ASHES'17), 2017, : 5 - 5
  • [40] SoK: Opportunities for Software-Hardware-Security Codesign for Next Generation Secure Computing
    Dangwal, Deeksha
    Cowan, Meghan
    Alaghi, Armin
    Lee, Vincent T.
    Reagen, Brandon
    Trippel, Caroline
    PROCEEDINGS OF THE 9TH INTERNATIONAL WORKSHOP ON HARDWARE AND ARCHITECTURAL SUPPORT FOR SECURITY AND PRIVACY, HASP 2020, 2020,