Intel漏洞回顾(一)
作者:maccoray
目录
漏洞背景
幽灵原理
漏洞背景
在今年(2018)的一月初,google的安全团队Project Zero在网路上发布了两则公告
Reading privilegedmemory with a side-channel
Today's CPUvulnerability: what you need to know
这两则公告基本可以用撼动世界来说明它的威力,因为它所叙述的漏洞,基本上涵盖了所有当下流行的CPU类型,以及波及正在流行的云计算虚拟化方案。漏洞分为“幽灵”和“熔断”,因为文中对于两者的区分比较含糊,一笔带过,因此业界对于两者的区别也争论不休。在我粗俗的见解里面,幽灵和熔断都使用了一种基础技术,“预测旁路”。而“熔断”是“幽灵”应用版升级而已,“幽灵”解决了预测分支的准确执行,从而可以读出“越界地址”的数据内容,基本上没有办法实现跨进程“盗窃”。而“熔断”使用了“幽灵”的特色,加对于“操作系统”原理的认知,逆向,从而实现了“盗窃”的跨进程作案,也就是说漏洞升级为“熔断”后,它有了真正的应用场景。
当然以上也是我个人的解读,有不妥之处,还望和大家讨论。
幽灵原理
随着google把Paul Kocher等人的文章Spectre Attacks: Exploiting Speculative Execution纰漏,幽灵的POC代码也一同发布给了公众,大家可以到文章结尾的附件中下载原文PDF。通过幽灵可以实现单一进程内的“越界访问”,利用了intel等芯片厂商底层最最引以为荣的“分支预测”功能。
而为了解释清楚这个在芯片厂商手册里面一笔带过的“分