综述
近日,Intel CPU中曝出Meltdown(熔断)和Spectre(幽灵)两大新型漏洞,包括Intel、AMD、ARM等主流CPU在内,几乎近20年发售的所有使用上述CPU的设备都受到影响,包括手机、电脑、服务器以及云计算产品。漏洞的CVE ID分别为:
Meltdown漏洞:CVE-2017-5754;
Spectre漏洞:CVE-2017-5753,CVE-2017-5715。
漏洞分析
漏洞起因
Intel在支持指令乱序执行时,在内存内容载入缓存到内存地址权限检查之间存在竞争条件,无权限访问的内存内容被保留在缓存中,这可能导致内存信息泄漏。而在这两大CPU漏洞爆发之前,业界普遍认为处理器“内核”内存是不允许用户访问,因此是不可能被攻击的。
Meltdown和Spectre漏洞有相似之处,即都利用了缓存这个旁路来进行越权读取;区别在于,一个是在本进程越权读内存,一个是让其他进程越权读内存。
共性 VS 特性
对比许多常见的内存信息泄露类漏洞来看,Meltdown和Spectre漏洞的共性有:
可读取其他进程的内存
漏洞相关文档中特别指出的是“内核”内存信息泄漏,但安恒信息的研究人员分析后得出结论,只要映射到当前进程页表的物理页,内容都可以泄露。在典型的Linux和Windows操作系统中,其他进程和当前进程共享同一内核空间,因此可以理解为可读其他进程用到的内存(例如键盘缓冲区)。
很难“单打独斗”,必须有其他漏洞的配合
对比Safari、Chrome等浏览器的沙箱穿透攻击,信息泄漏漏洞大多用于穿透防御,要结合其他漏洞才能够执行提权代码。
但既然被一些媒体形容为“史诗级漏洞”,Meltdown和Spectre漏洞确实也有其特殊性
“原厂补丁”可能难产,漏洞暴露时间长
目前的补丁方法没有直接修改这个芯片级的竞争条件,而是通过页表隔离的方式来使得内核物理页不直接映射到用户态进程页表,这只能暂时缓解但并不能从根本上修复漏洞。
利用代码的特征较弱,无法通过主机防御技术检测漏洞
可利用ShellCode绕过KASLR防御机制
KASLR(内核地址随机化)的存在加大了漏洞利用的难度:众多已知和未知的远程代码执行漏洞和本地权限提升漏洞,由于KASLR,只能沦为拒绝服务甚至难以利用,这在很大程度上提高了漏洞攻击失败率和攻击成本,使得攻击者必须利用一些特殊条件构造难以通用的ShellCode。
但攻击者可以利用本漏洞在线性时间内完成内核地址的探测,将其作为辅助手段,大多数原来难以利用的漏洞会变得非常易用。
可用于Dump大量内存供APT攻击使用
许多内核信息泄露漏洞都存在地址范围的限制,而本漏洞可以dump映射到物理内存的全部虚拟内存,这些内存里面包含的敏感信息可供后续渗透使用,而且很可能通过某种方式将dump出来的数据传递出来。
除了内存泄露,是否还有其他危害?
有的。充分利用Meltdown和Spectre漏洞,攻击者可能获得本地执行代码的机会:利用“很难‘单打独斗’,必须有其他漏洞的配合”章节所述的方法,配合其他漏洞,攻击者可以获取对设备的完全控制权;利用“可用于Dump大量内存供APT攻击使用”章节中所述的方法,攻击者可以获取用户密码。
对于专用安全设备来说,可能存在以下攻击向量
界面(管理界面、远程开放的数据端口,本机设备插口)设计或者实现本身存在漏洞,允许以系统账户上传和执行特定代码,且系统本身存在提权漏洞。典型的如某知名厂商的路由器远程升级功能存在可上传任意脚本执行漏洞。
界面(管理界面、远程开放的数据端口,本机设备插口)设计或者实现本身存在漏洞,允许以系统账户上传和执行特定代码,且可获取数据。这样可以dump设备内存,并通过其他漏洞回传给攻击者,攻击者在dump中经过分析和搜索,找到可用的用户名和密码,进而通过界面控制设备。
漏洞修复方法和修复代价评估
通过内核页表隔离(KPTI)补丁进行防御 KPTI使得进程在用户态和内核态使用不同的页表,也说明在user/kernel切换时增加了开销(原来仅在进程切换时切换页表)。 因此,对性能的影响在于特定程序的设计:对于频繁切换到内核态的进程来说性能影响会比较大(例如轮询设备/文件资源,多次IO等)。
总结
Meltdown和Spectre漏洞的最大价值在于通用性和隐蔽性极好,但也存在致命缺点:无法“单打独斗”,需要其他漏洞配合才能完成特定攻击。
目前尚无可用性较好的攻击工具,但鉴于0day数量众多,从攻击成本和效率分析,预计很可能会出现利用ShellCode绕过KASLR防御机制的攻击工具。
安恒信息的产品是否受影响?
部分安恒信息的硬件产品使用了受漏洞影响的CPU型号(主要为Intel的I5、I7和E5系列),理论上存在这些漏洞。但考虑到设备是一个封闭环境,普通用户没有运行外部程序的机会,因此没有利用该漏洞的机会,用户无需恐慌。
安恒信息将会紧密关注厂商的补丁升级,如有需要会第一时间对产品进行升级。也请广大用户关注主流操作系统的官网,及时对PC进行系统升级。