欢迎访问 内存溢出 —— 独立后端与系统工程技术博客

专注于分布式系统、Linux内核、数据库存储与后端工程实践

硬件级侧信道攻击:幽灵(Spectre)与熔断(Meltdown)投机执行原理

发表于:|最后更新:|分类:硬件与底层安全|阅读:2268 次

现代 CPU 的**分支预测(Branch Prediction)与乱序推测执行(Speculative Execution)**机制在指令回滚时,不会清除已载入 CPU L1/L3 Cache 的缓存状态。攻击者结合 Flush+Reload 探针技术即可还原越权读取的内核内存。

一、利用 lfence 序列化阻断推测执行

c
// Spectre v1 越界访问推测屏障
if (x < array1_size) {
    // 强制串行化,阻止 CPU 在校验完成前推测性执行加载
    _mm_lfence();
    y = array2[array1[x] * 512];
}