Full Program »
As VTable hijacking becomes the primary mode of exploitation against modern browsers, protecting said VTables has recently become a prime research interest. While multiple source- and binary-based solutions for protecting VTables have been proposed already , we found that in practice they are too conservative, which allows determined attackers to circumvent them. In this paper we delve into the design of C++ VTables and match that knowledge against the now industry standard protection scheme of VTV. We propose an end-to-end design that significantly refines VTV, to offer a provably optimal protection scheme. As we build on top of VTV, we preserve all of its advantages in terms of software compatibility and overhead. Thus, our proposed design comes for free for any user today.
Besides the design we propose a testing methodology, which can
be used by future developers to validate their implementations.
We evaluated our protection scheme on Google Chrome and show that no
compatibility issues were introduced, while overhead is also unchanged compared
to the baseline of VTV.
Author(s):
Istvan Haller
Vrije Universiteit Amsterdam
Netherlands
Enes Göktaş
Vrije Universiteit Amsterdam
Netherlands
Elias Athanasopoulos
FORTH-ICS
Greece
Georgios Portokalidis
Stevens Institute of Technology
United States
Herbert Bos
Vrije Universiteit Amsterdam
Netherlands