Chrome Extension
WeChat Mini Program
Use on ChatGLM

Armor: Protecting Software Against Hardware Tracing Techniques

IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY(2024)

Cited 0|Views12
No score
Abstract
Many modern processors have embedded hardware tracing techniques (e.g., Intel Processor Trace or ARM CoreSight). While these techniques are widely used due to their transparency and low overhead, they also bring serious security threats. Attackers can utilize hardware tracing to trace the trusted applications from a non-secure application. Existing protection techniques fail to effectively protect the runtime information when hardware tracing is employed. To counter these threats, in this paper, we propose a novel direction called anti-hardware tracing. Our key idea is to exploit the limitations of hardware tracing: trace buffer overflow can cause trace data loss. We build a model to analyse the overflow and outline three principles for efficient triggering overflows and achieving anti-hardware tracing: numerous branches in the program, high-speed execution of the program, and the high-water mark of the trace buffer. We develop a framework called ARMOR on ARM Juno R2 to realize our approach. ARMOR protects software against the trace unit Embedded Trace Macrocell (ETM) in CoreSight by instrumenting protection and loop functions. The protection function detects runtime environments, efficiently fills the trace buffer, and employs various protection strategies like PID (process identifier) replacement and PIE+STRIP+ASLR. Meanwhile, the loop function triggers overflows efficiently based on context-based calculations and anti-ETM loop. Our evaluation demonstrates that the overhead of ARMOR is 77.31% lower than that of OLLVM on SPEC2006. ARMOR effectively hides 54.51% of basic blocks across 16 real-world applications, triggering 113 x more overflows. Moreover, we showcase two practical applications of ARMOR. Firstly, we conduct a cryptographic and cross-world attack on GnuPG 1.4.13 RSA private keys using ETM, which can steal entire keys from a program in the Secure world with a single run. ARMOR successfully reduces leaked bits by 84.5%. Secondly, ARMOR impedes hardware-assisted fuzzing by reducing throughput by 89.71% and branch coverage by 47.99%.
More
Translated text
Key words
Hardware,Program processors,Software,Runtime,Buffer overflows,Multicore processing,Codes,ARM CoreSight,hardware tracing,software protection
AI Read Science
Must-Reading Tree
Example
Generate MRT to find the research sequence of this paper
Chat Paper
Summary is being generated by the instructions you defined