Taint analysis of security code in the KLEE symbolic execution engine

  • Authors:
  • Ricardo Corin;Felipe Andrés Manzano

  • Affiliations:
  • FaMAF, UNC, Argentina,CONICET, Argentina;FaMAF, UNC, Argentina,Binamuse, Inc., Argentina

  • Venue:
  • ICICS'12 Proceedings of the 14th international conference on Information and Communications Security
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

We analyse the security of code by extending the KLEE symbolic execution engine with a tainting mechanism that tracks information flows of data. We consider both simple flows from direct assignment operations, and (more subtle) indirect flows inferred from the control flow. Our mechanism prevents overtainting by using a region-based static analysis provided by LLVM, the compiler infrastructure machine on which KLEE runs. We rigorously define taint propagation in a formal LLVM intermediate representation semantics, and show the correctness of our method. We illustrate the mechanism with several examples, showing how we use tainting to prove confidentiality and integrity properties.