复活攻击:攻破Xilinx MPU的内存保护
密码学与安全
2024-05-24 v1
摘要
内存保护单元(MPU)是嵌入式处理器(如ARM 940T、Infineon TC1775和Xilinx Zynq)中常用的硬件辅助安全特性。MPU静态划分内存,并为每个分区设置单独的保护属性。MPU通常定义两个保护域:用户模式和超级用户模式。通常,这足以保护内核和应用程序。然而,我们发现了一种由于Xilinx MPU(XMPU)实现中的漏洞而访问进程内存的方法,我们称之为复活攻击。我们发现,当用户活跃时,XMPU安全策略保护用户内存免受未授权访问。然而,当用户会话终止时,终止进程的内存区域内容不会被清除。攻击者可以通过在内存区域被重新分配后访问该区域来利用此漏洞。攻击者可以读取先前用户内存区域的数据,从而破坏机密性。为了防止复活攻击,必须清除终止进程的内存区域。然而,XMPU实现中并非如此,这使得我们的攻击得以成功。复活攻击是一个严重的安全缺陷,可能被利用来窃取敏感数据或获得对系统的未授权访问。在此缺陷得到解决之前,Xilinx FPGA的用户了解此漏洞非常重要。
引用
@article{arxiv.2405.13933,
title = {Resurrection Attack: Defeating Xilinx MPU's Memory Protection},
author = {Bharadwaj Madabhushi and Chandra Sekhar Mummidi and Sandip Kundu and Daniel Holcomb},
journal= {arXiv preprint arXiv:2405.13933},
year = {2024}
}