Detect Use-after-free Vulnerabilities in Binaries

HAN Xinhui,WEI Shuang,YE Jiayi,ZHANG Chao,YE Zhiyuan
DOI: https://doi.org/10.16511/j.cnki.qhdxxb.2017.25.040
2017-01-01
Abstract:Use after-ftee (UaF) vulnerabilities are one of the most common and risky memory corruption vulnerabilities.However,UaF vulnerabilities are difficult to detect.A UaF vulnerability is triggered if and only if three operations occur on the same memory region,in an order of allocating memory,freeing memory,and using the freed memory.These three operations may be conducted anywhere in the program in any order,so the analysis must track a long execution sequence and search for potential vulnerable event sequences to detect UaF vulnerabilities.This study analyzes the root causes of UaF vulnerabilities,ways to exploit them,the severity of the threat and the challenges in detecting them.A solution is then given based on a static analysis and dynamic symbolic execution to detect UaF vulnerabilities in binaries.Tests show that this solution can detect known vulnerabilities in a benchmark.Thus,this detection system can be used to identify and fix bugs to improve application security.
What problem does this paper attempt to address?