Explicit Secrecy: A Policy for Taint Tracking

Daniel Schoepe, Musard Balliu, Benjamin C. Pierce, Andrei Sabelfeld
2016 2016 IEEE European Symposium on Security and Privacy (EuroS&P)  
Taint tracking is a popular security mechanism for tracking data-flow dependencies, both in high-level languages and at the machine code level. But despite the many taint trackers in practical use, the question of what, exactly, tainting means-what security policy it embodies-remains largely unexplored. We propose explicit secrecy, a generic framework capturing the essence of explicit flows, i.e., the data flows tracked by tainting. The framework is semantic, generalizing previous syntactic
more » ... oaches to formulating soundness criteria of tainting. We demonstrate the usefulness of the framework by instantiating it with both a simple high-level imperative language and an idealized RISC machine. To further understanding of what is achieved by taint tracking tools, both dynamic and static, we obtain soundness results with respect to explicit secrecy for the tainting engine cores of a collection of popular dynamic and static taint trackers. 1. We assume that an expression such as e = 0 evaluates to 1 if m(e) = 0 and 0 otherwise.
doi:10.1109/eurosp.2016.14 dblp:conf/eurosp/SchoepeBPS16 fatcat:cgiie4alujc7pdgn2arxocdvw4