UFO: Predictive Concurrency Use-After-Free Detection

30Citations
Citations of this article
35Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Use-After-Free (UAF) vulnerabilities are caused by the program operating on a dangling pointer and can be exploited to compromise critical software systems. While there have been many tools to mitigate UAF vulnerabilities, UAF remains one of the most common attack vectors. UAF is particularly difficult to detect in concurrent programs, in which a UAF may only occur with rare thread schedules. In this paper, we present a novel technique, UFO, that can precisely predict UAFs based on a single observed execution trace with a provably higher detection capability than existing techniques with no false positives. The key technical advancement of UFO is an extended maximal thread causality model that captures the largest possible set of feasible traces that can be inferred from a given multithreaded execution trace. By formulating UAF detection as a constraint solving problem atop this model, we can explore a much larger thread scheduling space than classical happens-before based techniques. We have evaluated UFO on several real-world large complex C/C++ programs including Chromium and FireFox. UFO scales to real-world systems with hundreds of millions of events in their execution and has detected a large number of real concurrency UAFs.

Author supplied keywords

Cite

CITATION STYLE

APA

Huang, J. (2018). UFO: Predictive Concurrency Use-After-Free Detection. In Proceedings - International Conference on Software Engineering (Vol. 2018-January, pp. 609–619). IEEE Computer Society. https://doi.org/10.1145/3180155.3180225

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free