Body armor for binaries: preventing buffer overflows without recompilation

  • Authors:
  • Asia Slowinska;Traian Stancescu;Herbert Bos

  • Affiliations:
  • Vrije Universiteit Amsterdam;Google, Inc.;Vrije Universiteit Amsterdam

  • Venue:
  • USENIX ATC'12 Proceedings of the 2012 USENIX conference on Annual Technical Conference
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

BinArmor is a novel technique to protect existing C binaries from memory corruption attacks on both control data and non-control data. Without access to source code, non-control data attacks cannot be detected with current techniques. Our approach hardens binaries against both kinds of overflow, without requiring the programs' source or symbol tables. We show that BinArmor is able to stop real attacks--including the recent noncontrol data attack on Exim. Moreover, we did not incur a single false positive in practice. On the downside, the current overhead of BinArmor is high--although no worse than competing technologies like taint analysis that do not catch attacks on non-control data. Specifically, we measured an overhead of 70% for gzip, 16%- 180% for lighttpd, and 190% for the nbench suite.