国际
SMM要求所有核心同时处于SMM或非SMM状态
评论。利用系统管理模式,通过一个极其极其极其极其极其极其极其长的中断。事实证明,你可以仅凭一条运行时间长得离谱的机器指令来破坏SMM——这个在每个x86 CPU后台隐形运行的安全、超特权执行环境。SMM要求所有核心要么同时处于SMM状态,要么同时处于非SMM状态。其安全模型在缺少这一条件时无法工作——当一个线程进入SMM时,它会强制所有其他线程也进入。要打破这一点,我们只需要一个忙得没注意到自己应该加入SMM的线程。此时,核心1处于非SMM状态,而核心0处于SMM状态,让核心1能够攻击核心0。关键在于:要实现这一点,我们需要一条非常非常非常长的指令——比任何指令原本应该花费的时间都要长。现代CPU上的大多数机器指令都很快:加法只需1个周期。要让核心1放弃等待核心0,我们需要在核心0上运行一条大约需要4,000,000,000个周期的指令。
来源: Hacker News
本分类热读
正在加载文章…