Use-After-Free 버그 탐지 및 예방 연구 동향 분석

Analyze trends in Use-After-Free bug detection and blocking research

  • 김진환 (한양대학교 컴퓨터소프트웨어학과 (미래자동차-SW 융합전공)) ;
  • 조영필 (한양대학교 컴퓨터소프트웨어학과)
  • Jin-Hwan Kim (Department of Computer and Software (Automotive-Computer Convergence), Han-Yang University) ;
  • Yeong-Pil Cho (Dept. of Computer Science, Han-Yang University)
  • 발행 : 2024.05.23

초록

전통적 프로그래밍 언어인 C/C++는 시스템 프로그래밍 언어로 널리 사용되고 있으며, 이는 저수준 메모리 제어와 하드웨어 상호작용 등의 특성 때문이다. 하지만 C/C++가 가지고 있는 특성중 하나인 저수준 메모리 제어는 프로그래머가 직접 메모리를 관리해야한다. 다양한 메모리 버그들중에서 특히 Use-after-free버그는 오래전부터 현재까지 해결되지 않은 버그로써 존재하고 있으며, 이는 프로그래머가 수동으로 메모리를 관리함으로써 발생한다. 이 버그를 예방 및 감지하기 위한 연구가 현재까지도 활발하게 진행되고 있다. 이 버그를 차단 및 감지하는 연구들의 동향을 분석하여 앞으로의 관련 연구의 지속적인 필요성을 제시한다.

키워드

과제정보

이 논문은 과학기술정보통신부의 재원으로 정보통신기획평가원(No. 2020-0-01840, 스마트폰의 내부데이터 접근 및 보호 기술 분석)과 한국연구재단(No. NRF-2022R1A4A1032361, Processing-in-Memory 보안 기술 개발)의 지원을 받아 수행된 연구임

참고문헌

  1. TIOBE Index for March 2024, https://www.tiobe.com/tiobe-index/
  2. Chen, Z., Liu, D., Xiao, J., &Wang, H. "All Use-After-Free Vulnerabilities Are Not Created Equal: An Empirical Study on Their Characteristics and Detectability" RAID 2023: The26th International Symposium on Research in Attacks, Intrusions and Defenses. Hong Kong China, 2023 p. 623-638.
  3. YAGEMANN, Carter, et al. {PUMM}: Preventing {Use-After-Free} Using Execution Unit Partitioning. In: 32nd USENIX Security Symposium (USENIX Security 23). CA, USA2023. p. 823-840.
  4. WICKMAN, Brian, et al. Preventing {Use-After-Free} Attacks with Fast Forward Allocation. In: 30th USENIX Security Symposium (USENIX Security 21). Vancouver, Canada 2021. p. 2453-2470.
  5. GORTER, Floris, et al. Dangzero: Efficient Use-After-Free detection via direct page table access. In: Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security. Copenhagen, Denmark 2022. p. 1307-1322.
  6. MATSAKIS, Nicholas D.; KLOCK, Felix S. The rust language. ACM SIGAda Ada Letters, 2014, 34.3: 103-104.
  7. DANG, Thurston HY; MANIATIS, Petros; WAGNER, David. Oscar: A practical {Page-Permissions-Based} scheme for thwarting dangling pointers. In: 26th USENIX security symposium (USENIX security 17). 2017. p. 815-832.
  8. AINSWORTH, Sam; JONES, Timothy M. MarkUs: Drop-in Use-After-Free prevention for low-level languages. In: 2020 IEEE Symposium on Security and Privacy (SP). IEEE, San Francisco, USA 2020. p. 578-591.
  9. ERDOS, Marton; AINSWORTH, Sam; JONES, Timothy M. MineSweeper: a "clean sweep" for drop-in Use-After-Free prevention. In: Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems. San Diego, USA 2022. p. 212-225.
  10. BERNHARD, Lukas, et al. xTag: Mitigating Use-After-Free Vulnerabilities via Software-Based Pointer Tagging on Intel x86-64. In: 2022 IEEE 7th European Symposium on Security and Privacy (EuroS&P). IEEE, Genoa, Italy 2022. p. 502-519.