Exploring GrapheneOS secure allocator: Hardened Malloc
8 months ago
- #GrapheneOS
- #Memory Allocator
- #Security
- GrapheneOS引入了hardened malloc,这是一个专注于安全的内存分配器,旨在防范内存损坏漏洞。
- Hardened malloc利用ARM的内存标记扩展(MTE)技术来检测和预防内存损坏,尤其在兼容设备(如Google Pixel智能手机)上效果显著。
- 该分配器采用双阶段隔离机制处理已释放的内存槽,大幅增加了利用释放后内存漏洞的难度。
- 小型内存分配被划分为49个大小类别,每个类别拥有独立的元数据和内存区域,从而增强隔离性和安全性。
- 大型内存分配采用动态映射的随机大小防护页,增加了非确定性保护层,有效防范溢出攻击。
- 分配器的设计具有清晰简洁的实现结构,便于审计和维护工作的开展。
- 与标准Android分配器(如scudo)相比,hardened malloc与GrapheneOS的集成为系统提供了更高层级的安全防护。