VPS: Excavating High-Level C++ Constructs from Low-Level Binaries to Protect Dynamic Dispatching
Andre Pawlowski, Victor van der Veen, Dennis Andriesse, Erik van der, Kouwe, Thorsten Holz, Cristiano Giuffrida, Herbert Bos

TL;DR
VPS is a binary-level defense mechanism that enhances the security of C++ applications by accurately restricting virtual callsites to valid objects, significantly reducing vtable hijacking risks with moderate performance overhead.
Contribution
VPS introduces a novel binary-level approach that restricts virtual callsites to valid objects, improving accuracy over previous static analysis-based defenses.
Findings
Protects over 97% of virtual callsites in real-world applications
Achieves 9-11% average performance overhead
Identifies 86 false negatives in existing source-based defenses
Abstract
Polymorphism and inheritance make C++ suitable for writing complex software, but significantly increase the attack surface because the implementation relies on virtual function tables (vtables). These vtables contain function pointers that attackers can potentially hijack and in practice, vtable hijacking is one of the most important attack vector for C++ binaries. In this paper, we present VTable Pointer Separation (VPS), a practical binary-level defense against vtable hijacking in C++ applications. Unlike previous binary-level defenses, which rely on unsound static analyses to match classes to virtual callsites, VPS achieves a more accurate protection by restricting virtual callsites to validly created objects. More specifically, VPS ensures that virtual callsites can only use objects created at valid object construction sites, and only if those objects can reach the callsite.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSecurity and Verification in Computing · Advanced Malware Detection Techniques · Diamond and Carbon-based Materials Research
