关于spectre
安全问题和侧信道攻击。
在x86和ARM中都存在一种方法来禁用特定内存页面上的缓存/推测访问。因此,对这些内存区域的任何侧信道攻击 ( spectre
, meltdown
) 应该是不可能的。那么,为什么我们不使用它来通过将所有安全信息(密码、密钥等)存储到缓慢但安全的(?)内存区域,同时将不安全的数据放入快速但不安全的普通内存中来防止侧信道攻击呢?这些页面上的访问时间将大大减少(~100),但内核修复也不便宜。所以也许只减少几个内存页面的性能比稍微整体下降要快吗?
它将解决问题的责任从操作系统转移到应用程序开发人员身上,这将是一个巨大的变化。但是希望内核能够以某种方式修复所有错误似乎也不是一个好方法。
所以我的问题是
- 使用“设备”内存页面真的可以防止此类攻击吗?
- 它有什么缺点?(除了明显的性能问题)
- 使用起来有多实用?