LibIHT: A Hardware-Based Approach to Efficient and Evasion-Resistant Dynamic Binary Analysis
By: Changyu Zhao , Yohan Beugin , Jean-Charles Noirot Ferrand and more
Potential Business Impact:
Finds hidden computer viruses without slowing them down.
Dynamic program analysis is invaluable for malware detection, debugging, and performance profiling. However, software-based instrumentation incurs high overhead and can be evaded by anti-analysis techniques. In this paper, we propose LibIHT, a hardware-assisted tracing framework that leverages on-CPU branch tracing features (Intel Last Branch Record and Branch Trace Store) to efficiently capture program control-flow with minimal performance impact. Our approach reconstructs control-flow graphs (CFGs) by collecting hardware generated branch execution data in the kernel, preserving program behavior against evasive malware. We implement LibIHT as an OS kernel module and user-space library, and evaluate it on both benign benchmark programs and adversarial anti-instrumentation samples. Our results indicate that LibIHT reduces runtime overhead by over 150x compared to Intel Pin (7x vs 1,053x slowdowns), while achieving high fidelity in CFG reconstruction (capturing over 99% of execution basic blocks and edges). Although this hardware-assisted approach sacrifices the richer semantic detail available from full software instrumentation by capturing only branch addresses, this trade-off is acceptable for many applications where performance and low detectability are paramount. Our findings show that hardware-based tracing captures control flow information significantly faster, reduces detection risk and performs dynamic analysis with minimal interference.
Similar Papers
LLM-IFT: LLM-Powered Information Flow Tracking for Secure Hardware
Cryptography and Security
Finds hidden security flaws in computer chips.
Automated Hardware Trojan Insertion in Industrial-Scale Designs
Cryptography and Security
Creates fake computer bugs to test security.
Partial Cross-Compilation and Mixed Execution for Accelerating Dynamic Binary Translation
Hardware Architecture
Runs old computer programs on new computers faster.