τCFI: Type-assisted control flow integrity for x86-64 binaries

30Citations
Citations of this article
22Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Programs aiming for low runtime overhead and high availability draw on several object-oriented features available in the C/C++ programming language, such as dynamic object dispatch. However, there is an alarmingly high number of object dispatch (i.e., forward-edge) corruption vulnerabilities, which undercut security in significant ways and are in need of a thorough solution. In this paper, we propose τCFI, an extended control flow integrity (CFI) model that uses both the types and numbers of function parameters to enforce forward- and backward-edge control flow transfers. At a high level, it improves the precision of existing forward-edge recognition approaches by considering the type information of function parameters, which are directly extracted from the application binaries. Therefore, τCFI can be used to harden legacy applications for which source code may not be available. We have evaluated τCFI on real-world binaries including Nginx, NodeJS, Lighttpd, MySql and the SPEC CPU2006 benchmark and demonstrate that τCFI is able to effectively protect these applications from forward- and backward-edge corruptions with low runtime overhead. In direct comparison with state-of-the-art tools, τCFI achieves higher forward-edge caller-callee matching precision.

Cite

CITATION STYLE

APA

Muntean, P., Fischer, M., Tan, G., Lin, Z., Grossklags, J., & Eckert, C. (2018). τCFI: Type-assisted control flow integrity for x86-64 binaries. In Lecture Notes in Computer Science (Vol. 11050 LNCS, pp. 423–444). Springer Verlag. https://doi.org/10.1007/978-3-030-00470-5_20

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free