lab12——幽灵攻击

一、熔断 幽灵攻击

1. 信道攻击

  • CPU和内存之间增加缓存Cache可显著提升程序的平均执行性能
  • 若CPU访问Cache中并不存在数据,产生时间延迟,目标数据必须从内存中加载到Cache中
  • 测量这种时间延迟可能让攻击者确定出Cache 访问失败和发生的频率

2. 缓存记忆秘密

在这里插入图片描述

3. 熔断攻击

  • 乱序
  • 如何证明乱序发生
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

二、

在这里插入图片描述

Task 1: Reading from Cache versus from Memory

在这里插入图片描述

Task 2: Using Cache as a Side Channel

在这里插入图片描述
在这里插入图片描述

Task 3: Out-of-Order Execution and Branch Prediction

在这里插入图片描述

语句

清除CPU 的cache中size变量的值

不注释

清除了
那么CPU回访问交办的主存中的值
因此CPU会并行执行if语句的访问结果

注释

没清除CPU cache
CPU会直接访问cache
速度快,所以不会

在这里插入图片描述
在这里插入图片描述

  • CPU会记忆该if语句以前的执行结果
  • 在传入值被设置为0-9时,if语句多次执行为true
  • 接下来执行if语句的时候,并行执行true这个branch得结果,因此可以被攻击
  • 在传入对策值被设置为20-29以后,if语句多次执行为false,因此再次运行的时候不会并行执行true分支的代码
  • 也就没有办法访问CPU 得cache得到结果了

Task4: The Spectre Attack

在这里插入图片描述
在这里插入图片描述

Task 5: Improve the Attack Accuracy

在这里插入图片描述

  • 因为在restrictAccess函数中返回false ,程序就会返回0
  • 代码逻辑会被当成数组中0处的值就是secret value
  • 然而程序结果返回给CPU以后得到false
  • 因此多次返回0
  • 导致最终sectre value显示为0
  • 因此改代码
  • 在返回值为0的时候不进行操作即可
  • 在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值