Enhancing a Lock-and-key Scheme with MTE to Mitigate Use-After-Freesopen access
- Authors
- Bang, Inyoung; Kayondo, Martin; You, Junseung; Kwon, Donghyun; Cho, Yeongpil; Paek, Yunheung
- Issue Date
- Jan-2024
- Publisher
- Institute of Electrical and Electronics Engineers Inc.
- Keywords
- Memory safety; temporal safety; hardware; security; memory management; tagging architecture
- Citation
- IEEE Access, v.12, pp 5462 - 5476
- Pages
- 15
- Indexed
- SCIE
SCOPUS
- Journal Title
- IEEE Access
- Volume
- 12
- Start Page
- 5462
- End Page
- 5476
- URI
- https://scholarworks.bwise.kr/hanyang/handle/2021.sw.hanyang/196795
- DOI
- 10.1109/ACCESS.2023.3343777
- ISSN
- 2169-3536
2169-3536
- Abstract
- Preventing Use-After-Free (UAF) bugs is crucial to ensure temporal memory safety. Against UAF attacks, much research has adopted a well-known approach, lock-and-key, in which unique, disposable locks and keys are first assigned respectively to objects and pointers, and then on every memory access, checked for a match. Attention has been drawn again to this approach by recent work that capitalizes on a vast abundance of virtual address (VA) space in the lock assignment, thus being able to prevent UAFs in stripped binary. However, as this VA-based lock-and-key scheme tends to rapidly consume virtual space, it is likely to suffer from high performance overhead. In this paper, we propose a new scheme, called the VA tagging, whose goal is to tackle this performance problem with the support of the Memory Tagging Architecture (MTA) introduced in several commodity processors. In our scheme, the original VA-based locks are augmented with tags of MTA. As a VA-based lock can be assigned to multiple objects with different tags, the same VA is reused for many objects without compromising temporal safety. We have observed in our experiments that this tagging scheme lowers the VA consumption rate drastically by one order of magnitude. We implement a light-weight memory allocator, Vatalloc, by modifying existing allocators, dlmalloc and jemalloc, to employ the VA tagging scheme for efficient prevention of UAFs. Our evaluation shows that Vatalloc with allocator modifications only incurs 1.70 % (on dlmalloc) and 3.05 % (on jemalloc) of runtime overhead without considering performance degradation of MTE. As a result of simulating the tagging architecture assuming the worst-case, postulating MTE precise trapping mode incurs performance overhead of 30.9 % based on dlmalloc, and 25.5 % based on jemalloc. If imprecise mode is assumed, the slowdown is measured 16.9 % for dlmalloc and 12.0 % for jemalloc respectively. Vatalloc only incurs 19.0 % and 3.0 % memory overhead for dlmalloc and jemalloc respectively.
- Files in This Item
-
- Appears in
Collections - 서울 공과대학 > 서울 컴퓨터소프트웨어학부 > 1. Journal Articles

Items in ScholarWorks are protected by copyright, with all rights reserved, unless otherwise indicated.