τCFI: Type-Assisted Control Flow Integrity for x86-64 Binaries
Paul Muntean Technical University of Munich Tuesday, October 9, 2018 @ 3:15 pm BC 02 Hosted by: Prof. Mathias Payer
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.
Biography
Paul Muntean received the B.Sc. degree in computer science and engineering in 2010, from Technical University of Cluj-Napoca, Romania, his M.Sc. degree in software engineering and IT security in 2012 from the Technical University of Munich, Germany, and he currently submitted his PhD thesis to the Technical University of Munich for evaluation. Nowadays, amongst other things, he is waiting for a reply from the Technical University of Munich. He is currently looking for extending his computer security knowledge both from academical and industry perspective. His research interests include computer security, software hardening, testing and debugging, hardware based computer security and crypto currency security. He enjoys attending and participating in capture the flag competitions.