CPM: Masking Code Pointers to Prevent Code Injection Attacks

  • Authors:
  • Pieter Philippaerts;Yves Younan;Stijn Muylle;Frank Piessens;Sven Lachmund;Thomas Walter

  • Affiliations:
  • DistriNet Research Group, University of Leuven;DistriNet Research Group, University of Leuven;DistriNet Research Group, University of Leuven;DistriNet Research Group, University of Leuven;DOCOMO Euro-Labs;DOCOMO Euro-Labs

  • Venue:
  • ACM Transactions on Information and System Security (TISSEC)
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Code Pointer Masking (CPM) is a novel countermeasure against code injection attacks on native code. By enforcing the correct semantics of code pointers, CPM thwarts attacks that modify code pointers to divert the application’s control flow. It does not rely on secret values such as stack canaries and protects against attacks that are not addressed by state-of-the-art countermeasures of similar performance. This article reports on two prototype implementations on very distinct processor architectures, showing that the idea behind CPM is portable. The evaluation also shows that the overhead of using our countermeasure is very small and the security benefits are substantial.