新闻快讯
< >

扎你心的漏洞,还不来看看?

E安全1月10日文 近日,英特尔处理器曝出“Meltdown”(熔断, CVE-2017-5754)和“Spectre”(幽灵, CVE-2017-5753、CVE-2017-5715)两大芯片级漏洞。“Meltdown”和“Spectre”漏洞的公布导致英特尔股价大跌,并创下了2016年10月以来最大跌幅。然而,就在英特尔正式公布漏洞信息前,英特尔CEO布莱恩-科再奇却紧急抛售了3900万美元的英特尔股票。由此可见,此次漏洞的严重性非同一般。

究竟是什么样的漏洞可以让人感叹“赤条裸奔、大病初愈、虽死犹生”-E安全

英特尔CEO布莱恩-科再奇

Meltdown”和“Spectre”漏洞到底有多严重?

“Meltdown”和“Spectre”漏洞会导致低权限应用访问到内核内存,或致使一切可存储与内存中的信息外泄,包括密码、帐户信息、加密密钥等等,这对于用户隐私和设备安全无疑是一场噩梦。然而对于黑客而言,黑客可以利用此次漏洞,轻易地黑掉用户的电脑。

运行在计算机上的程序具有不同级别的安全权限。操作系统内核——例如Windows内核或Linux内核——具有最高级别的权限,因为它通常运行进程,并提供进程间的通信。桌面程序的权限要少一些,内核限制了它们的功能。内核使用处理器的硬件特性来实施这些限制,因为使用硬件比软件更快。因此受此次熔断、幽灵漏洞的影响,在最坏的情况下,即便是在Web浏览器中运行的JavaScript代码,也可以深入到内核并访问它不应该访问的内容。

影响范围可用“打包”形容

“Meltdown”和“Spectre”漏洞波及范围之广、程度之深令人始料未及。包括AMD、ARM、英特尔系统和处理器在内,几乎近20年发售的所有设备都受到影响。其中英特尔受影响最为严重,根据国外测试及论文显示: Intel的Sandy Bridge、Ivy Bridge、Haswell、Broadwell、Skylake、Kaby Lake、Coffee Lake内核全部受到影响,除了安腾之外,Intel自1995年以来大部分CPU都可能受到影响。

除了个人电脑之外,此次受英特尔漏洞影响的还有手机、服务器以及云计算产品,而亚马逊、微软和谷歌在内的云计算服务均在受影响之列。此外,微软Windows、苹果macOS、Linux、Android以及其他大部分通用操作系统均受到严重影响。

据ARM公司的公开表示,ARM主攻物联网的Cortex M系列处理器IP不受影响,但主攻智能手机和服务器的Cortex A系列处理器则全军覆没——Cortex A8、A9、A15、A17、A57、A72、A73、A75全部受到影响。购买ARM公版IP做集成的手机芯片厂商以及服务器芯片厂商全部受到漏洞影响。因此,我国多家安卓手机生产商和少数服务器厂商的产品均存在严重的安全风险。

漏洞修复好就完了么?

鉴于此次漏洞的严重性,有媒体表示,修复此次漏洞的过程犹如“大病初愈”。然而在修复漏洞后, PC或运行缓慢严重降速, 让人不得不惊叹该漏洞“虽死犹生”。

那么,这个修复起来让人觉得像“大病初愈”、修复后又觉得漏洞“虽死犹生”的“Meltdown”和 “Spectre”为何如此厉害,能够在全球范围内造成大范围的严重影响呢?或许我们可以从专业漏洞分析中找到答案。

究竟是什么样的漏洞可以让人感叹“赤条裸奔、大病初愈、虽死犹生”-E安全

熔断、幽灵漏洞详细分析

(一)关于漏洞根因

安恒信息安全构架师表示,此次漏洞的根因在于Intel在支持指令乱序执行时,在内存内容载入缓存到内存地址权限检查之间存在竞争条件,无权限访问的内存内容被保留在缓存中导致信息泄漏。这种漏洞属于内存信息泄露(Memory Disclosure)型。

Meltdown和spectre有相似之处,即都利用了缓存这个旁路来进行越权读取;但也有不同之处,即一个是在本进程越权读内存,一个是让其他进程越权读内存。

(二)关于共性与特性

对比已有的许多内存信息泄露类的漏洞后,安恒发现Meltdown和spectre(以下简称本漏洞)不仅仅有其特性,而且与其他此类漏洞存在一定的共性。

共性:

  • 可读取其他进程的内存

漏洞相关文档中特别指出的是“内核”内存信息泄漏,但据安恒研究人员分析发现,其实是只要映射到当前进程页表的物理页,内容都可以泄露,在典型的Linux和Windows操作系统中,其他进程和当前进程共享同一内核空间,因此可以理解为可读其他进程用到的内存(例如键盘缓冲区)

  • 很难单独达成权限提升,必须有其他漏洞的配合

对比Safari、Chrome等浏览器的沙箱穿透攻击。信息泄漏漏洞用作穿透防御,其他漏洞用作真正执行提权代码。

特性:

  • 原厂补丁”可能难产,漏洞暴露时间长

目前的补丁方法不是直接修改这个芯片级的竞争条件,而是通过页表隔离的方式来使得内核物理页不直接映射到用户态进程页表,这只能暂时缓解而不能从跟不上修复漏洞。

  • 利用代码的特征太弱,不可期待主机防御检测它

  • 可使用在ShellCode编写技术中,废掉KASLR防御机制

KASLR(内核地址随机化)的存在,使得众多已知和未知的远程代码可执行漏洞和本地权限提升漏洞沦为拒绝服务甚至难以利用。它本在很大程度上提高了漏洞攻击失败率和攻击成本,它使得攻击者必须利用一些特殊条件构造难以通用的ShellCode。
    但攻击者可以利用本漏洞在线性时间内完成内核地址的探测,将其作为辅助手段,大多数原来难以利用的漏洞会变得非常有用。

  • 可用于Dump大量内存供APT攻击

许多内核信息泄露漏洞存在地址范围的限制,而本漏洞可以dump映射到物理内存的全部虚拟内存,这些内存里面包含的敏感信息可供后续渗透使用,而且很可能通过某种方式将dump出来的数据传递出来。

究竟是什么样的漏洞可以让人感叹“赤条裸奔、大病初愈、虽死犹生”-E安全

(三)关于漏洞危害

据安恒信息安全构架师表示,本漏洞除了会导致内存泄漏外,还会带来其他的潜在威胁。如充分利用Meltdown和Spectre漏洞,攻击者可能获得本地执行代码的机会:利用“很难‘单打独斗’,必须有其他漏洞的配合章节所述的方法,配合其他漏洞,攻击者可以获取对设备的完全控制权;利用可用于Dump大量内存供APT攻击使用”章节中所述的方法,攻击者可以获取用户密码。

(四)关于专用安全设备存在的攻击向量

安恒构架师认为,本漏洞对专用安全设备或存在攻击向量。

界面(管理界面、远程开放的数据端口,本机设备插口)设计或者实现本身存在漏洞,允许以系统账户上传和执行特定代码,且系统本身存在提权漏洞。典型的如Cisco路由器远程升级功能存在可上传任意脚本执行漏洞。

界面(管理界面、远程开放的数据端口,本机设备插口)设计或者实现本身存在漏洞,允许以系统账户上传和执行特定代码,且可获取数据。 这样可以dump设备内存,并通过其他漏洞传回攻击者,攻击者在dump中经过分析和搜索,找到可用的用户名和密码,进而通过界面控制设备。

(五)修复方法和修复代价评估

安恒构架师还表示,针对本漏洞,可通过内核页表隔离(KPTI)补丁进行防御。KPTI使得进程在用户态和内核态使用不同的页表,也说明在user/kernel切换时增加了开销(原来仅在进程切换时切换页表)。因此,对性能的影响在于特定程序的设计:对于频繁切换到内核态的进程来说性能影响会比较大(例如轮询设备/文件资源,多次IO等)。

(六)分析总结

最后,安恒信息安全构架师总结道,本漏洞的最大价值在于其极好的通用性和隐蔽性,但也存在无法“单打独斗“,需要其他漏洞配合才能完成特定攻击的缺点。虽然目前尚未流传出可用性较好的攻击工具,但鉴于0Day数量众多,从攻击成本和效率分析,预计很可能会出现利用ShellCode绕过KASLR防御机制的攻击工具。

由于此次英特尔漏洞影响巨大,或影响广大读者朋友们的隐私安全,E小编友情提醒广大读者们及时更新官方发布的相关补丁和升级相关系统,以降低威胁。

E安全注:本文系E安全独家编译报道,转载请联系授权,并保留出处与链接,不得删减内容。联系方式:① 微信号zhu-geliang ②邮箱eapp@easyaq.com
@E安全,最专业的前沿网络安全媒体和产业服务平台,每日提供优质全球网络安全资讯与深度思考,欢迎关注微信公众号「E安全」(EAQapp),或登E安全门户网站www.easyaq.com , 查看更多精彩内容。