HOBBIT: Hashed Object Based InTegrity
C vulnerabilities usually hold verbatim for C++ programs. The counterfeit-object-oriented programming attack demonstrated that this relation is asymmetric, i.e., it only applies to C++. The problem pinpointed by this COOP attack is that C++ does not validate the integrity of its objects. By injecting malicious objects with manipulated virtual function table pointers, attackers can hijack control-flow of programs. The software security community addressed the COOP-problem in the years following its discovery, but together with the emergence of transient-execution attacks, such as Spectre, researchers also shifted their attention.
We present Hobbit, a software-only solution to prevent COOP attacks by validating object integrity for virtual function pointer tables. Hobbit does not require any hardware specific features, scales to multi-million lines of C++ source code, and our LLVM-based implementation offers a configurable performance impact between 121.63% and 2.80% on compute-intensive SPEC CPU C++ benchmarks. Hobbit’s security analysis indicates strong resistance to brute forcing attacks and demonstrates additional benefits of using execute-only memory.
Wed 18 SepDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
15:30 - 16:45 | Software SystemsTechnical Papers at EI 2 Pichelmayer Chair(s): Mira Mezini TU Darmstadt; hessian.AI; National Research Center for Applied Cybersecurity ATHENE | ||
15:30 18mTalk | Understanding Concurrency Bugs in Real-World Programs with Kotlin Coroutines Technical Papers Bob Brockbernd Delft University of Technology, Nikita Koval JetBrains, Arie van Deursen Delft University of Technology, Burcu Kulahcioglu Ozkan Delft University of Technology | ||
15:48 18mTalk | Runtime Instrumentation for Reactive Components Technical Papers Luca Aceto Reykjavik University, Duncan Paul Attard University of Glasgow, Adrian Francalanza University of Malta, Anna Ingolfsdottir Reykjavik University | ||
16:07 18mTalk | HOBBIT: Hashed Object Based InTegrity Technical Papers Matthias Bernad μCSRL, CODE Research Institute, University of the Bundeswehr Munich, Stefan Brunthaler μCSRL, CODE Research Institute, University of the Bundeswehr Munich | ||
16:26 18mTalk | Pipit on the Post: proving pre- and post-conditions of reactive systems Technical Papers Amos Robinson Australian National University, Australia, Alex Potanin Australian National University |