9月1日·星期二 15:00·来源:InfoQ

通过操作 DRAM 控制器寄存器可突破 CPU 内存隔离机制

安全研究员Christopher Domas发布开源项目skitter-creek-bath-salts,通过操控内存控制器转换寄存器,在硬件逻辑层动态修改物理地址与DRAM地址的映射关系,使无特权软件可访问隔离内存区域,且不触发上游架构的内存屏障或故障。该漏洞针对物理内存层次最底层,突破了传统CPU权限边界。现代处理器安全边界(如虚拟机管理程序扩展页表、SMM的TSEG限制、PSP私有预留区)均位于内存控制器之上,而转换寄存器处于这些屏障之下。利用BankSwizzleMode等配置位改变DRAM存储体、行、列坐标计算逻辑,使标准内存访问能进入受保护硬件安全区。漏洞利用程序采用多阶段管道,包括定制Linux内核模块离线非引导CPU核心、清空缓存、禁用中断,并通过启发式算法和SMT求解器推导位级映射,最终对SMM RAM、PSP固件表等隔离区执行读写。该发现揭示上游安全检查无法保证下游动态地址替换的完整性,AMD 14h、15h、16h系列处理器允许Ring 0软件操作这些配置,带来裸机云和机密计算风险。专家指出需在启动时严格锁定转换寄存器,并以高于CPU级特权的边界管理安全关键配置。
本文摘要由千智坊基于公开报道整理,查看完整内容:阅读原文(InfoQ)→