Intro

VTV is shorthand for “virtual table verification.”

This is a current compiler/language research topic to strictly limit the set of allowable virtual function calls in a given binary object to a pre-defined set of function calls. By doing so, C++ virtual method dispatch can be made more secure.

See “Improving Function Pointer Security for Virtual Method Dispatches” by Caroline Tice at the GNU Tools Cauldron Workshop 2012. This work was created at Google, and included Caroline Tice, Luis Lozano, and at least ten other smart and capable people.

This work was merged from the origin/vtv branch to trunk and first included in the GCC 4.9.0 release.

Builds must be configured to explicitly enable vtable verification. Doing so is easy:

./configure --enable-vtable-verify ...

Documentation

Feature Proposal

User's Guide

Partial Verification Problem

Porting Documentation

None: vtv (last edited 2014-11-25 14:31:34 by JonathanWakely)