- 积分
- 2536
- 最后登录
- 2024-5-15
- 精华
- 0
- 阅读权限
- 50
- 主题
- 101
- UID
- 4720714
- 帖子
- 6264
- PB币
- 8191
- 威望
- 5
- 贡献
- 0
- 技术
- 15
- 活跃
- 2119
- UID
- 4720714
- 帖子
- 6264
- PB币
- 8191
- 贡献
- 0
- 技术
- 15
- 活跃
- 2119
|
楼主
发表于 2020-6-15 16:07:21
IP属地安徽
|显示全部楼层
更新浏览器, 基本上可以避免大部分的熔断漏洞的影响.
幽灵熔断漏洞本质上是利用了因特尔先进的代码执行推断功能.
何谓"代码执行推断"?
通俗解释:
我们知道, 计算机程序是顺序执行的, 但是难免碰到一些选择判断, 循环语句, 就需要经常跳转内存地址.
而因特尔cpu为了避免CPU闲置(因为IO时间远比CPU执行时间长)
就进进行代码预测, 超前运算. 如果判断正确, 等执行到那一步的时候, 结果拿来用, 如果判断错误, 那么久丢弃结果.
但是就是这个过程有空子可以转, 判断错误时的内存地址, 在寄存器里,
可以通过一个巧妙设计的循环语句, 让代码预测执行一直处于预测失败的状态, 这个时候, 可以获得任意内存地址.
说人话就是: 黑客设计了一个算法, 预测了CPU的代码预测(套娃).
在浏览器没升级之前, 一个普通的网页嵌入一段js代码就可以做到.
在主流浏览器升级后, 都纷纷降低了js里时间函数的精度, 有了随机误差, 这样让预测代码预测执行的过程变得困难.
简而言之, 及时升级浏览器可以降低这个漏洞被利用的可能性.
微码更新前, 微软更新的补丁, 大多也都是类似的原理, 就是让人无法预测代码预测的过程. 但是代价是降低性能.
新CPU应该都加入了代码预测时的安全校验. 所以没啥影响.
AMD一直都有代码预测时的安全校验.
国产CPU没有代码预测的功能.
为了性能考虑, 老CPU可以关闭幽灵熔断补丁, 不升级微码.
|
|