首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带设备存储器的幽灵

带设备存储器的幽灵
EN

Stack Overflow用户
提问于 2018-07-25 08:35:33
回答 1查看 51关注 0票数 1

关于spectre的安全问题和侧通道攻击。

x86手臂中都存在一种禁用特定内存页缓存/推测访问的方法。因此,对这些内存区域的任何侧通道攻击(spectremeltdown)都是不可能的.那么,我们为什么不通过存储所有安全信息(密码、密钥等)来防止侧通道攻击呢?进入缓慢但安全的(?)内存区域,同时将不安全的数据放入快速但不安全的正常内存中?这些页面上的访问时间将减少一个巨大的因素(~100),但内核修复也不便宜。所以,也许只减少几个内存页的性能比整体下降要快一些?

这将把解决问题的责任从操作系统转移到应用程序开发者身上,这将是一个巨大的变化。但是,希望内核能够以某种方式修复所有的But似乎也不是一个好方法。

所以我的问题是

  1. 使用“设备”内存页真的能防止这样的攻击吗?
  2. 它的缺点是什么?(除了明显的性能问题)
  3. 这种用法有多实用?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-25 12:40:24

因为我们的编译器/工具链/ OSes不支持对某些变量使用不可缓存的内存,也不支持将它们的副本溢出到堆栈中。(或由他们计算的临时人员。)

而且AFAIK,您甚至不能在Linux上的用户空间进程中分配一页UC内存,即使您想这样做。当然,这可以用mmap和/或mprotect的新标志来更改。希望它能够被设计成能够在旧系统上运行新的二进制文件,从而获得定期的回写内存(因此仍然工作,但没有安全优势)。

我不认为让非特权用户空间映射WC或UC内存有任何拒绝服务的含义;您已经可以使用NT存储和/或clflush来强制内存访问并争夺更大份额的系统内存控制器时间/资源。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51514380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档