Canvas CPU漏洞武器化工具大揭秘

本文介绍了Immunity Canvas框架中Spectre CPU漏洞攻击模块的详细分析,揭示了Spectre漏洞如何被用于武器化工具。文章通过侧信道攻击、Spectre和Meltdown漏洞的原理,展示了攻击者如何利用这些漏洞攻破KASLR并读取内核数据。修复方案包括微码补丁和KPTI技术。
摘要由CSDN通过智能技术生成

文|Tencent Blade Team

coolboy

背景

外部有报道称出现了CPU漏洞spectre的在野利用,各项证据均指向为Immunity Canvas商业渗透框架里面的spectre CPU漏洞攻击模块被上传到了VirusTotal,由此揭开了spectre武器化工具的神秘面纱。

2018年披露的spectre和meltdown CPU漏洞影响范围广泛,但由于修复困难、修复方案影响性能、没有出现武器化工具而一直被轻视。

恰巧Blade Team在CPU漏洞方面有一些研究和积累,有幸获得一份Immunity Canvas,于是开始对spectre武器化工具抽丝剥茧,一探究竟,希望能够引起大家对CPU漏洞的重视。

Spectre && meltdown

为了讲清楚来龙去脉,在正式开始Canvas spectre分析之前,有必要对一些CPU漏洞背景做一个简单的介绍。

1. 侧信道攻击

侧信道攻击是指通过cache等第三方介质,并不直接访问目标而实现从目标窃取数据的攻击。

由图可见,访问cache需要10-100ns,访问内存需要100ns,它们时间是有差异的,通过测量访问时间,我们可以得知数据是从内存中来或者是从cache中来。

2. spectre

为了提高性能,现代CPU都具有分支预测,乱序执行功能。指令的执行并不严格按照先后顺序,由于分支预测和乱序执行,靠后的指令可能提前执行,此时执行并没有将结果实际生效,而是等待前面指令生效以后,再依据前面指令的结果决定后面的指令是否生效。例如:

当指令流水线来到line1时,由于分支预测flag为真, line3优先执行了,实际结果是否生效依赖于line1的if (flag) 指令的结果,如果为真,则生效,如果为假,则丢弃line2, line3的结果,并不会实际反映在寄存器里面。

我们关注line3这条语句对应的指令对系统产生的影响:

1、访问arr[secre

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值