UAF-GUARD: Defending the use-after-free exploits via fine-grained memory permission management

被引:1
|
作者
Xu, Guangquan [1 ,2 ]
Lei, Wenqing [2 ]
Gong, Lixiao [2 ]
Liu, Jian [2 ,9 ]
Bai, Hongpeng [2 ]
Chen, Kai [3 ]
Wang, Ran [4 ]
Wang, Wei [5 ]
Liang, Kaitai [6 ]
Wang, Weizhe [2 ]
Meng, Weizhi [7 ]
Liu, Shaoying [8 ]
机构
[1] Qingdao Huanghai Univ, Sch Big Data, Qingdao, Peoples R China
[2] Tianjin Univ, Coll Intelligence & Comp, Tianjin Key Lab Adv Networking TANK, Tianjin, Peoples R China
[3] Chinese Acad Sci, Inst Informat Engn, Beijing, Peoples R China
[4] JD Com, Secur Ctr, Beijing, Peoples R China
[5] Beijing Jiaotong Univ, Beijing Key Lab Secur & Privacy Intelligent Transp, Beijing, Peoples R China
[6] Univ Surrey, Guildford, England
[7] Techincal Univ Denmark, DTU Compute, Lyngby, Denmark
[8] Hiroshima Univ, Grad Sch Adv Sci & Engn, Hiroshima, Japan
[9] Hangzhou Normal Univ, Key Lab Cryptog Zhejiang Prov, Hangzhou, Peoples R China
基金
国家重点研发计划; 美国国家科学基金会;
关键词
Use -after -free vulnerability; Fine-grained memory permission; management; Static instrumentation; Vulnerability discovery; System security;
D O I
10.1016/j.cose.2022.103048
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
The defense of Use-After-Free (UAF) exploits generally could be guaranteed via static or dynamic anal-ysis, however, both of which are restricted to intrinsic deficiency. The static analysis has limitations in loop handling, optimization of memory representation and constructing a satisfactory test input to cover all execution paths. While the lack of maintenance of pointer information in dynamic analysis may lead to defects that cannot accurately identify the relationship between pointers and memory. In order to suc-cessfully exploit a UAF vulnerability, attackers need to reference freed memory. However, main existing schemes barely defend all types of UAF exploits because of the incomplete check of pointers. To solve this problem, we propose UAF-GUARD to defend against the UAF exploits via fine-grained memory permission management. Specially, we design two key data structures to enable the fine-grained memory permission management to support efficient relationship search for pointers and memory, which is the key design of our defending scheme against UAF exploits. In addition, UAF-GUARD can precisely locate the position of UAF vulnerabilities, so that malicious programs can be terminated in the place where the abnormal-ity is discovered. We implement UAF-GUARD on a 64-bit Linux system, and further use UAF-GUARD to transform a program into a suitable version that can defend against UAF vulnerabilities exploits. Com-pared with main existing schemes UAF-GUARD is able to effectively and efficiently defend against all the three types of UAF exploits with acceptable space overhead (26.4% for small programs and 0.3% for large programs) and time complexity (21.9%). (c) 2022 Elsevier Ltd. All rights reserved.
引用
收藏
页数:13
相关论文
共 3 条
  • [1] A Robust and Efficient Defense against Use-after-Free Exploits via Concurrent Pointer Sweeping
    Liu, Daiping
    Zhang, Mingwei
    Wang, Haining
    [J]. PROCEEDINGS OF THE 2018 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY (CCS'18), 2018, : 1635 - 1648
  • [2] TSPLIT: Fine-grained GPU Memory Management for Efficient DNN Training via Tensor Splitting
    Nie, Xiaonan
    Miao, Xupeng
    Yang, Zhi
    Cui, Bin
    [J]. 2022 IEEE 38TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING (ICDE 2022), 2022, : 2615 - 2628
  • [3] Efficient Memory Overcommitment for I/O Passthrough Enabled VMs via Fine-grained Page Meta-data Management
    Wang, Yaohui
    Luo, Ben
    Shen, Yibin
    [J]. PROCEEDINGS OF THE 2023 USENIX ANNUAL TECHNICAL CONFERENCE, 2023, : 769 - 783