随机性的幻象:地址空间布局随机化实现的经验分析
密码学与安全
2024-08-30 v2
摘要
地址空间布局随机化(ASLR)是现代操作系统采用的一种关键防御机制,通过随机化进程的内存布局来缓解漏洞利用。然而,严酷的现实是,ASLR 的实际实现并不完美,且存在攻击者可利用的弱点。本研究通过检查跨不同进程、线程和系统重启的内存对象放置的可变性,评估了 ASLR 在主流桌面平台(包括 Linux、MacOS 和 Windows)上的有效性。具体而言,我们收集了内存对象位置的样本,进行统计分析以衡量这些放置的随机性,并检查内存布局以发现可能降低随机性的对象间模式。结果表明,虽然某些系统(如 Linux 发行版)提供了稳健的随机化,但其他系统(如 Windows 和 MacOS)通常未能充分随机化关键区域(如可执行代码和库)。此外,我们发现 Linux 5.18 版本之后库的熵显著降低,并识别出攻击者可利用来显著降低利用复杂性的相关路径。最终,我们根据严重性对已识别的弱点进行排序,并通过概念验证攻击验证了我们的熵估计。简而言之,本文首次全面评估了不同操作系统上 ASLR 的有效性,并强调了操作系统(OS)供应商加强 ASLR 实现的机会。
引用
@article{arxiv.2408.15107,
title = {The Illusion of Randomness: An Empirical Analysis of Address Space Layout Randomization Implementations},
author = {Lorenzo Binosi and Gregorio Barzasi and Michele Carminati and Stefano Zanero and Mario Polino},
journal= {arXiv preprint arXiv:2408.15107},
year = {2024}
}
备注
Extended version of the accepted paper at ACM CCS 2024