Defending Use-After-Free via Relationship Between Memory and Pointer
Guangquan Xu (Tianjin University)
Miao Li (Tianjin University)
Xiaotong Li (Tianjin University)
Kai Chen (Institute of Information Engineering, Chinese Academy of Sciences)
Ran Wang (JD.com, Inc.)
Wei Wang (Beijing Jiaotong University)
Kaitai Liang (University of Surrey)
Qiang Tang (New Jersey Institute of Technology)
Shaoying Liu (Hosei Univesity)
More Info
expand_more
Abstract
Existing approaches to defending Use-After-Free (UAF) exploits are usually done using static or dynamic analysis. However, both static and dynamic analysis suffer from intrinsic deficiencies. The existing static analysis is limited in handling loops, optimization of memory representation. The existing dynamic analysis, which is characterized by lacking the maintenance of pointer information, may lead to flaws that the relationships between pointers and memory cannot be precisely identified. In this work, we propose a new method called UAF-GUARD without the above barriers, in the aim to defending against UAF exploits using fine-grained memory permission management. In particular, we design a key data structure to support the fine-grained memory permission management, which can maintain more information to capture the relationship between pointers and memory. Moreover, we design code instrumentation to enable UAF-GUARD to precisely locate the position of UAF vulnerabilities to further terminate malicious programs when anomalies are detected. We implement UAF-GUARD on a 64-bit Linux system. We carry out experiments to compare UAF-GUARD with the main existing approaches. The experimental results demonstrate that UAF-GUARD is able to effectively and efficiently defend against three types of UAF exploits with acceptable space overhead and time overhead.
No files available
Metadata only record. There are no files for this record.