BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Spectre 1.1和1.2漏洞披露

| 作者 Sergio De Simone 关注 14 他的粉丝 ,译者 谢丽 关注 11 他的粉丝 发布于 2018年7月19日. 估计阅读时间: 2 分钟 | BCCon2018全球区块链生态技术大会,将区块链技术的创新和早期落地案例带回您的企业

近日,有两个利用CPU预测执行缺陷的新漏洞被披露。这两个漏洞的名称是Spectre 1.1和1.2,它们都是原Spectre(Spectre-v1)漏洞的变种,利用预测存储造成预测缓冲区溢出,这样就可以避开Spectre-v1缓解措施。

可以执行任意预测写的能力带来了重大的安全风险,包括任意预测执行。遗憾的是,这让本地和远程攻击成为可能,即使不存在Spectre 1.0 代码片段。另外,它还使攻击者可以绕过针对之前的预测执行攻击而提出的软件缓解建议。

安全研究人员Vladimir Kiriansky和Carl Waldspurger披露了新漏洞,下面的代码提供了Spectre 1.1的验证攻击:

if (y < lenc)
    c[y] = z;

上述代码的问题在于,在预测分支执行时,CPU可能会忽视边界检查,这样,就给攻击者留下了任意覆写内存的可能。这种机制使得临时覆写的数据存在被后续Spectre-v1攻击使用的可能。

Spectre 1.2漏洞则是延迟执行用户/超级用户页表条目(PTE)防护检查。这样,预测数据攻击就可以覆写只读数据,包括代码指针、虚函数表和控制流缓解元数据。

研究人员介绍了软件和硬件缓解措施,包括使用预测防护,完全阻止预测执行;还有屏蔽,这种方法尝试限定索引值,在使用之前把它们屏蔽,这样,后续访问数组的那个位置时就不会越界访问内存;还有其他的方法。研究人员还指出,针对新攻击的软件防御最终变成了防御经典的缓冲区溢出的技术。因此,

预防攻击的第一步最好是强化栈溢出、堆溢出、整数溢出等已有的检查。

虽然Kiriansky和Waldspurger向英特尔、ARM、AMD谷歌、IBM和微软报告了这两个新的Spectre变种,但现在还没有补丁可用

查看英文原文:Spectre 1.1 and 1.2 Vulnerabilities Disclosed  

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT