欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

史上最大的CPU Bug(幽灵和熔断的OS&SQLServer补丁)

程序员文章站 2022-04-11 21:11:25
背景 原文地址(http://www.cnblogs.com/wenBlog/p/8435229.html) 最近针对我们的处理器出现了一系列的严重的bug。这种bug导致了两个情况,就是熔断和幽灵。 这就是这几天闹得人心惶惶的CPU大Bug。消息显示,以英特尔处理器为代表的现代CPU中,存在可以导 ......

背景

原文地址(http://www.cnblogs.com/wenBlog/p/8435229.html

最近针对我们的处理器出现了一系列的严重的bug。这种bug导致了两个情况,就是熔断和幽灵。

这就是这几天闹得人心惶惶的CPU大Bug。消息显示,以英特尔处理器为代表的现代CPU中,存在可以导致数据泄漏的大漏洞。这两类主要的漏洞被命名为Meltdown(熔断)和Spectre(幽灵),其中Meltdown漏洞会导致某些代码越过权限访问任意内存地址,直击敏感数据,这主要影响英特尔CPU;而Spectre漏洞机理不同,但作用类似,同时几乎影响所有的处理器,英特尔、ARM和AMD均不能幸免。不过和Meltdown漏洞相比,利用Spectre漏洞进行攻击的难度更高,漏洞带来的风险要更低。

这里我将会总结针对不同的系统如何补丁。
史上最大的CPU Bug(幽灵和熔断的OS&SQLServer补丁)

SQL Server 受影响的版本

 

首先这是一个CPU硬件问题,那么几乎所有的系统都会受到影响,SQL Server运行在X86或者X64架构下,也必然受到不小影响,下面是受到影响的版本:

  • SQL Server 2008
  • SQL Server 2008R2
  • SQL Server 2012
  • SQL Server 2014
  • SQL Server 2016
  • SQL Server 2017
  • Azure SQL Database

 

除了上面几个外,还有一些像SQL Server 2005, SQL Server 2000, SQL Server 7,和SQL Server 6.5虽然也有影响但是已经不再有对应的补丁出现了,非常遗憾。

 

注意: 根据微软的解释,IA64系统被认为不会受到此bug的影响,小幸运啊。

解决方案:

  目前网路上公布的情况是主要依靠软件补丁来秀谷,但是必然因此带来一定的性能损失。

  那么该如何修复这次爆出的漏洞,其实业界也有了对策。这次的漏洞无法通过微码修复,需要OS层面的更新,但如果修复Meltdown漏洞的话,则会造成性能损失,英特尔处理器打了PTI补丁后,性能会有5%~30%的降幅,某些特定的应用甚至会下降50%的性能。而AMD则不受Meltdown漏洞影响,如果是修复Spectre漏洞的话,并不会造成性能损失。ARM主要也是受Spectre漏洞影响,少部分受Meltdown漏洞影响,目前Android已经发布了修复补丁,但性能影响还不得而知。

 

SQL Server 补丁

 

这里有一篇讨论如何防止攻击的文章,有兴趣的可以去读一下(https://support.microsoft.com/en-us/help/4073225/guidance-protect-sql-server-against-spectre-meltdown

不多数直接上补丁了,如下:

以后会定时更新其他版本。方便大家及时获取。

OS 补丁

The Window KB for guidance is 4072698.

这里推荐一篇关于如何防止边信道攻击的指导文章(speculative execution side-channel vulnerabilities),微软还是技术积累丰富啊,这点国内公司还有很长路要走,目前阿里的补救措施很缓慢。

下面是已经找到的操作系统的补丁,疯狂下载吧:

 

Windows Server (Server Core) v 1709 - KB4056892
Windows Server 2016 - KB4056890
Windwos Server 2012 R2  - KB4056898
Windows Server 2012 - N/A
Windows Server 2008 R2 - KB4056897
Windows Server 2008 - N/A
Red Hat v.7.3 - Kernel Side-Channel Attacks CVE-2017-5754, 5753, 5715
SUSE Linux - 7022512
Ubuntu - Update on the patches

 

VMWare提供了一个安全咨询和补丁,他们也推出了自己的补丁:

那种情况下需要立即补丁

  1.如果数据库是SQLServer2017 or 2016 ,那么请立即打补丁吧。

  2.SQL Server (Windows) VM in your data center 虚拟机运行的SQLServer -

    解决:需要打补丁到操作系统或将SQLServer隔离在物理硬件上。查看Windows操作系统的微程序更改。

  3.SQL Server 主机或者虚拟机上,同时代码和数据库在同一台机器上。使用了非置信的代码。

    解决:需要打补丁到操作系统、数据库。

  4.Linux系统的SQLServer。

    解决:打补丁到Linux系统和SQLServer,检查linux的厂商

注意当不置信的SQL Server扩展代码被引用,它们包括如下 :

    SQL CLR
    R 和Python 包需要通过通过sp_external_script执行, 或者在一*立机器上的R/ML。
    SQL Agent 运行着ActiveX scripts
    链接服务器上的非微软OLEDB 驱动
    非微软的 XPs

 

微软提供的迁移方案SQL Server KB.

你可以偷懒的条件如下

 

如果你用的是SQL Server 2008, 2008 R2, 2012, 2014,你可以等待SQLServer补丁。它们还没有出来...惨。我也会定时更新这个补丁。还有一个好消息就是一下几种情况可以不需要补丁。

如下情况你可以喝茶聊天了(不需要打补丁的):

 

如果你是在Azure、AWS。当然阿里云也已经打了补丁。,但是。

注意:AWS的EC2的VMS需要自行补丁。阿里云的ECS也需要自行补丁数据库。当然云上的虚拟机大家也要自己进行手动补丁了。

本次事件的影响:

除了2013年之前发布的Intel Itanium和Intel Atom CPU以外,自1995年以来,每个处理器都受到这些漏洞的影响,无论您是使用Windows,Linux,MacOS,Android,Chrome OS还是FreeBSD。安全研究人员为Google的Project Zero,Cyber​​us技术公司和格拉茨技术大学(Graz University of Technology)工作人员报告了这个崩溃和幽灵问题。

总结:

  截止1月份目前主流操作系统都通过补丁的方式进行了修补,当然必然带来一些性能损失。目前来看微软反馈最迅速,其次是苹果,最后是谷歌...,我深度怀疑微软是已经知道这个漏洞的,爆发后迅速祭出了bug补丁。希望跟大家及时交流解决这个bug引起的问题。