其他
可怕!CPU竟成了黑客的帮凶!
本故事根据CPU真实漏洞改编
前情回顾
乱序执行
和分支预测
后,生产效率那是大大提升,领导不仅在全厂的员工大会表扬了我们,还把这两项技术向全厂推广,在我们8个CPU核心车间都铺开了,性能甩开竞争对手CPU几条街。神秘代码
uint8_t array2[256 * 512];
uint8_t temp = 0;
void bad_guy(int x) {
if (x < 16) {
temp &= array2[array1[x] * 512];
}
}
bad_guy()
函数很多次,这不,又来了。分支预测
功能,先把小于16分支里的指令先提前做一些?大家看怎么样”array1[x]
的内容也传过来。array1[x]: 3
x<16
的比较指令,一边继续打电话给内存索要array2[3]
的内容。true
,接下来就要走入我们预测的分支,而我们提前已经将需要的数据准备到缓存中,省去了不少时间。遭遇滑铁卢
false
,这一次的x比16大了”,我执行完结果后发现和我们预期的有了出入。灾难降临
乱序执行
和分支预测
技术闯了大祸了?”乱序执行
和分支预测
功能实现的这一目的。”真相大白
亡羊补牢
KPTI
技术来解决这个问题,也就是内核页表隔离
。页表
,通过这本手册,我们CPU就能通过虚拟地址找到真实的内存页面。幕后
本文描述的是两年前爆发的大名鼎鼎的CPU的 熔断
与幽灵
漏洞。乱序执行
与分支预测
是现代处理器普遍采用的优化机制。和传统软件漏洞不同,硬件级别的漏洞影响更大更深也更难以修复。通过判断内存的访问速度来获知是否有被缓存,这类技术有一个专门的术语叫 侧信道
,即通过一些场外信息来分析得出重要结论,进而达成正常途径无法达成的目的。后面的文章中此类手法的故事还将继续上演,敬请期待!
特别鸣谢:网友几多风雨劲提供的技术支持
推荐文章++++
* 微软5月补丁星期二修复111个漏洞;小米地震预警功能官方解读;工信部查处关停违规1069短信端口
* 利用雷电接口漏洞5分钟即可破解电脑;比特币完成第三次减半;中国移动回应下架 5G 消息 App
* 52% 中国用户 RDP 被远程攻击;FB 就隐私纠纷赔偿 5.5 亿美元;懂球帝等 49 款 App 依法下架
﹀