TY - GEN
T1 - LibIHT
T2 - 1st ACM Workshop on Software Understanding and Reverse Engineering, SURE 2025
AU - Zhao, Changyu
AU - Beugin, Yohan
AU - Ferrand, Jean Charles Noirot
AU - Burke, Quinn
AU - Li, Guancheng
AU - McDaniel, Patrick
N1 - Publisher Copyright:
© 2025 Copyright held by the owner/author(s).
PY - 2025/10/30
Y1 - 2025/10/30
N2 - 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 150× compared to Intel Pin (7× vs 1,053× 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.
AB - 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 150× compared to Intel Pin (7× vs 1,053× 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.
UR - https://www.scopus.com/pages/publications/105023645837
UR - https://www.scopus.com/pages/publications/105023645837#tab=citedBy
U2 - 10.1145/3733822.3764670
DO - 10.1145/3733822.3764670
M3 - Conference contribution
AN - SCOPUS:105023645837
T3 - Proceedings of SURE 2025 - 1st ACM Workshop on Software Understanding and Reverse Engineering, co-located with ACM SIGSAC 2025
SP - 89
EP - 101
BT - Proceedings of SURE 2025 - 1st ACM Workshop on Software Understanding and Reverse Engineering, co-located with ACM SIGSAC 2025
PB - Association for Computing Machinery, Inc
Y2 - 13 October 2025 through 17 October 2025
ER -