Visible to the public PT-CFI: Transparent Backward-Edge Control Flow Violation Detection Using Intel Processor Trace

TitlePT-CFI: Transparent Backward-Edge Control Flow Violation Detection Using Intel Processor Trace
Publication TypeConference Paper
Year of Publication2017
AuthorsGu, Yufei, Zhao, Qingchuan, Zhang, Yinqian, Lin, Zhiqiang
Conference NameProceedings of the Seventh ACM on Conference on Data and Application Security and Privacy
PublisherACM
Conference LocationNew York, NY, USA
ISBN Number978-1-4503-4523-1
Keywordscomposability, Control Flow Integrity, edge detection, Intel PT, Metrics, pubcrawl, resilience, Resiliency, return oriented programming, Scalability, security, shadow stack
AbstractThis paper presents PT-CFI, a new backward-edge control flow violation detection system based on a novel use of a recently introduced hardware feature called Intel Processor Trace (PT). Designed primarily for offline software debugging and performance analysis, PT offers the capability of tracing the entire control flow of a running program. In this paper, we explore the practicality of using PT for security applications, and propose to build a new control flow integrity (CFI) model that enforces a backward-edge CFI policy for native COTS binaries based on the traces from Intel PT. By exploring the intrinsic properties of PT with a system call based synchronization primitive and a deep inspection capability, we have addressed a number of technical challenges such as how to make sure the backward edge CFI policy is both sound and complete, how to make PT enforce our CFI policy, and how to balance the performance overhead. We have implemented PT-CFI and evaluated with a number of programs including SPEC2006 and HTTP daemons. Our experimental results show that PT-CFI can enforce a perfect backward-edge CFI with only small overhead for the protected program.
URLhttp://doi.acm.org/10.1145/3029806.3029830
DOI10.1145/3029806.3029830
Citation Keygu_pt-cfi:_2017