A Study on Runtime Address Sanitizer for Bootloader Emulation

부트로더 에뮬레이션 내 런타임 메모리 오류 탐지 기술 연구

  • Cheolwoo Myung (Dept. of Electrical and Computer Engineering, Seoul National University) ;
  • Byoungyoung Lee (Dept. of Electrical and Computer Engineering, Seoul National University)
  • 명철우 (서울대학교 전기정보공학부) ;
  • 이병영 (서울대학교 전기정보공학부)
  • Published : 2024.05.23

Abstract

메모리 오류는 소프트웨어 개발 과정에서 발생할 수 있는 가장 일반적이면서도 치명적인 문제 중 하나다. 이러한 문제를 효과적으로 탐지하고 수정하기 위해, 개발자들은 다양한 메모리 오류 탐지 도구를 활용한다. 그러나, 이 기술들은 소스 코드가 필요하다는 중대한 제약이 있다. 특히 임베디드 시스템의 개발 과정에서는 종종 소스 코드 대신 컴파일된 바이너리 형태로만 펌웨어가 제공되곤 한다. 이러한 배경을 바탕으로, 본 연구는 임베디드 환경에서 발생할 수 있는 메모리 오류를 실시간으로 탐지하기 위한 새로운 접근 방식을 제안한다. 이를 위해, Dynamic ASan 이라는 기술을 QEMU 가상화 기술에 적용함으로써, 메모리 접근 시 메모리 안정성을 지속적으로 검증하는 시스템을 구축하였다. 이러한 접근 방식은 임베디드 시스템의 안정성과 보안을 개선하는 데 중요한 기여를 할 수 있다.

Keywords

Acknowledgement

이 논문은 2024 년도 삼성전자의 재원으로 "퍼징을 활용한 Chipset 및 firmware 보안 검증 기술" 과제의 지원을 받아 수행된 연구임.

References

  1. Serebryany, Konstantin, et al. "{AddressSanitizer}: A fast address sanity checker." 2012 USENIX annual technical conference (USENIX ATC 12). 2012.
  2. Memory Sanitizer. https://clang.llvm.org/docs/MemorySanitizer.html
  3. American Fuzzy Lop (AFL). https://lcamtuf.coredump.cx/afl/
  4. Andrea Fioraldi, Dominik Maier, Heiko Eissfeldt, and Marc Heuse. 2020. AFL++: Combining incremental steps of fuzzing research. In 14th USENIX Workshop on Offensive Technologies (WOOT'20)
  5. Samsung Mobile Firmware Download https://www.sammobile.com/firmwares/
  6. Fioraldi, Andrea, Daniele Cono D'Elia, and Leonardo Querzoni. "Fuzzing binaries for memory safety errors with QASan." 2020 IEEE Secure Development (SecDev). IEEE, 2020.
  7. QEMU Emulator. https://www.qemu.org/