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. © 2012 Springer-Verlag.
CITATION STYLE
Corin, R., & Manzano, F. A. (2012). Taint analysis of security code in the KLEE symbolic execution engine. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 7618 LNCS, pp. 264–275). https://doi.org/10.1007/978-3-642-34129-8_23
Mendeley helps you to discover research relevant for your work.