幽灵漏洞
维基百科,自由的 encyclopedia
幽灵(英语:Spectre)是一个存在于分支预测实现中的硬件缺陷及安全漏洞,含有预测执行功能的现代微处理器均受其影响[1][2],漏洞利用是基于时间的旁路攻击,允许恶意进程获得其他程序在映射内存中的资料内容。[3][4][5]Spectre是一系列的漏洞,基于攻击行为类型,赋予了两个通用漏洞披露ID,分别是CVE-2017-5753(bounds check bypass,边界检查绕过)和CVE-2017-5715(branch target injection,分支目标注入),于2018年1月随同另一个也基于推测执行机制的、属于重量级信息安全漏洞的硬件缺陷“Meltdown”(熔毁)一同公布。由于该缺陷是推测执行机制导致的,加上不同处理器架构对推测执行又有不同的实现方式,因此这个缺陷无法获得根源上的修复而只能采取“见招拆招”式的方法防范,而且因机制所致,各种解决方案还有不可预料的性能下降。[6]
此条目翻译自其他语言维基百科,需要相关领域的编者协助校对翻译。 |
CVE-2017-5753依赖于运行中的即时编译(JIT)系统,用于Javascript的JIT引擎已被发现存在此漏洞。网站可以读取浏览器中存储的另一个网站的数据,或者浏览器本身的存储器。对此Firefox 57.0.4(部分)及Chrome 64通过为每个网站分配专用的浏览器程序来阻挡此类攻击[7][8];操作系统则是通过改写的编译器重新编译以阻挡利用该漏洞进行攻击的行为。
针对CVE-2017-5715,除了软件层面上进行修改以外,处理器也需要通过微指令更新来阻挡这类攻击。[9][10][11]
随着幽灵缺陷派生的安全漏洞(攻击手段变体,包括CVE-2018-3693、CVE-2018-3640、CVE-2018-3639等)被逐一发现,英特尔等CPU开发商不得不在修复既有缺陷的同时资助第三方信息安全团队继续发掘潜在的缺陷以破财消灾。[12]