A Systematic Evaluation of Transient Execution Attacks and Defenses (对暂态执行的攻击和防御的系统评估)(第五节)
- 针对幽灵和熔断的防御措施
- 针对幽灵的防御措施
- 减轻或降低用于提取秘密数据的隐蔽信道的准确性
- 如果数据在暂态执行过程中会被访问,则减少或者终止推测执行
- 确保隐私数据不会被接触到
- 针对熔断的防御措施
- 确保在体系结构上不可访问的数据在微观体系结构级别上仍然不可访问
- 防止fault的发生
- 针对幽灵的防御措施
- (幽灵)减轻或降低用于提取秘密数据的隐蔽信道的准确性
- (硬件)SafeSpec:暂态执行时使用影子硬件结构保存所有执行过程中的信息,当发现推测错误时将所有微架构状态压缩。原型中只包括了cache和tlb,其它信道仍然可用
- (硬件)InvisiSpec:保证暂态执行过程中的load不会在cache中可见。增加推测缓冲区,所有暂态执行中的load都加载到该缓存区中。如果预测错误,缓冲区无效;如果正确将缓冲区的内容加载到实际cache中(会涉及存储一致性的问题,如果发现buffer中load的数据和cache中最新的数据不一致,此时需要重新做)
- (硬件)DWAG是一种cache的安全分区的方法,通过引入在缓存命中,丢失和元数据级别的隔离保护域,基于cache的隐蔽信道能够得到缓解。(更改缓存,适应cache的一致性协议,在软件上正确的管理保护域)
- (硬件)Kocher提出通过改变污染跟踪来限制数据进入隐蔽信道。主要思想:跟踪在暂态执行期间load的数据,并且防止在可能泄露数