위키득계정 ↗
기술

Hardened Malloc

Hardened Malloc기술
프로젝트
GrapheneOS hardened_malloc
분류
보안 강화 메모리 할당기
대상 설계
64비트 주소 공간
지원 기반 예
Bionic musl glibc
Hardened Malloc은 힙 손상 취약점에 대한 방어를 강화한 범용 메모리 할당기다. GrapheneOS 프로젝트에서 개발하며 보안과 장기적인 메모리 사용 특성을 중시한다.

보안을 중심에 둔 설계

공간 배치와 격리, 무작위화 및 메타데이터 관리 등으로 힙 손상의 악용을 어렵게 하는 데 초점을 둔다. 일반적인 오류 탐지 도구와 달리 강화된 할당 동작이 주된 목적이다. 적용한 설정에 따라 보호 특성과 비용이 달라진다.

운영체제와 통합

Android의 Bionic이나 musl, glibc 등 지원 기반에 따라 통합 범위가 다르다. glibc 지원과 운영체제 전체의 추가 강화 기능을 같은 의미로 보아서는 안 된다. 넓은 64비트 주소 공간을 활용하는 설계 조건도 고려해야 한다.

성능과 호환성 평가

작은 할당 벤치마크만으로 제품 전체의 성능을 판단하지 않는다. 실제 응용의 장기 메모리 사용과 병렬 작업, 호환성을 함께 살핀다. 할당기 강화가 원래의 메모리 오류를 수정하거나 모든 공격을 차단하는 것은 아니므로 코드 검사와 수정도 계속 필요하다.

관련 문서

Scudo / GWP-ASan / mimalloc / DieHard