Analysis of Exception-Based Control Transfers

Published in Proceedings of the Seventh ACM on Conference on Data and Application Security and Privacy, 2017

Authors: Babak Yadegari, Jon Stephens, Saumya Debray

Abstract: Dynamic taint analysis and symbolic execution find many important applications in security-related program analyses. However, current techniques for such analyses do not take proper account of control transfers due to exceptions. As a result, they can fail to account for implicit flows arising from exception-based control transfers, leading to loss of precision and potential false negatives in analysis results. While the idea of using exceptions for obfuscating (unconditional) control transfers is well known, we are not aware of any prior work discussing the use of exceptions to implement conditional control transfers and implicit information flows. This paper demonstrates the problems that can arise in existing dynamic taint analysis and symbolic execution systems due to exception-based implicit information flows and proposes a generic architecture-agnostic solution for reasoning about the behavior of code using user-defined exception handlers. Experimental results from a prototype implementation indicate that the ideas described produce better results than current state-of-the-art systems.

Full Text: pdf

Bibtex:

@inproceedings{yadegari2017analysis,
 title={Analysis of exception-based control transfers},
 author={Yadegari, Babak and Stephens, Jon and Debray, Saumya},
 booktitle={Proceedings of the Seventh ACM on Conference on Data and Application Security and Privacy},
 pages={205--216},
 year={2017},
 organization={ACM}
 }