Skip to main navigation Skip to search Skip to main content

There is safety in numbers: Preventing control-flow hijacking by duplication

  • KU Leuven

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

2 Scopus citations

Abstract

Despite the large number of proposed countermeasures against control-flow hijacking attacks, these attacks still pose a great threat for today's applications. The problem with existing solutions is that they either provide incomplete probabilistic protection (e.g., stack canaries) or impose a high runtime overhead (e.g., bounds checking). In this paper, we show how the concept of program-part duplication can be used to protect against control-flow hijacking attacks and present two different instantiations of the duplication concept which protect against popular attack vectors. First, we use the duplication of functions to eliminate the need of return addresses and thus provide complete protection against attacks targeting a function's return address. Then we demonstrate how the integrity of function pointers can be protected through the use of data duplication. We test the combined effectiveness of our two methods and experimentally show that they provide an almost complete protection against control-flow hijacking attacks with only a low runtime overhead in real-world applications.

Original languageEnglish
Title of host publicationSecure IT Systems - 17th Nordic Conference, NordSec 2012, Proceedings
Pages105-120
Number of pages16
DOIs
StatePublished - 2012
Event17th Nordic Conference on Secure IT Systems, NordSec 2012 - Karlskrona, Sweden
Duration: Oct 31 2012Nov 2 2012

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume7617 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference17th Nordic Conference on Secure IT Systems, NordSec 2012
Country/TerritorySweden
CityKarlskrona
Period10/31/1211/2/12

Keywords

  • control-data attacks
  • duplication
  • function pointers
  • return addresses

Fingerprint

Dive into the research topics of 'There is safety in numbers: Preventing control-flow hijacking by duplication'. Together they form a unique fingerprint.

Cite this