如何保护Windows Server免遭Meltdown与Spectre侵扰

近期各大新闻媒体皆在高度关注Meltdown与Spectre安全漏洞对Windows PC设备造成的影响 , 但可以想见 , 二者带来的真正隐患其实在于对服务器以及云带来的冲击 。

如何保护Windows Server免遭Meltdown与Spectre侵扰

文章插图

Meltdown与Spectre处理器bug正牵动万千桌面用户的心--自己的计算机被一款编写质量糟糕的英特尔或AMD CPU补丁弄到性能衰减确实很难让人接受 。 然而从配件事件来看 , 无论是Linux、MacOS还是Winows , PC设备都不会受到太大的影响 。 Meltdown与Spectre的真正灾难将主要降临在服务器--而非个人设备身上 。
这是因为Meltdown与SPectre能够影响到应用程序与操作系统专用内存之间的内存空间 。 在PC设备上 , 这仅代表着其可提取密码等敏感信息 。 但在云端 , 则有可能导致企业客户的机密数据被他人所窃取 。
SANS安全专家Jake William警告称 , "在众多半虚拟化实例(例如Xen)与内核沙箱(例如Docker)用例当中 , Meltdown都有可能破坏容器与主机内核之间所共享的内核地址 。 "
微软的虚拟机管理程序Hyper-V并未使用半虚拟化机制 , 但其仍然可能受到影响 。 微软Windows与设备部门执行副总裁Terry Myserson在博文当中解释称:"在多服务器共享功能环境当中(例如某些云服务配置中的功能) , 此类漏洞可能意味着某人能够访问处于其它虚拟机之内的信息 。 "
微软公司很早就已经意识到这个问题 , 并着手安装Azure以及Hyper-V补丁以作为解决方案 。 然而 , Myerson警告称这还远远不够 。 "运行在本地或者云环境中的Windows Server客户还需要评估是否已经在各Windows Server虚拟机访客或物理实例当中部署了安全缓解措施 。 "
【如何保护Windows Server免遭Meltdown与Spectre侵扰】为什么?这是因为"当您在Windows Server实例当中运行不受信任的代码时(例如允许您的客户上传二进制文件或者代码片段 , 并在Windows Server实例当中运行) , 您需要上述缓解措施以控制应用程序二进制文件或代码 , 确保其无法访问Windows Server实例当中与其权限水平不符的内存空间 。 您不需要利用这些缓解措施隔离Windows Server虚拟机以及虚拟化服务器上的其它虚拟机 , 而仅需要利用其隔离特定Windows Server实例当中运行的不可信代码 。 "
要保护您的服务器--无论其运行在服务器机柜的裸机当中抑或是云端--您必须为以下安全漏洞安装修复补丁:CVE-2017-5715(分支目标注入)、CVE-2017-5753(边界检查绕过)以及CVE-2017-5754(流氓数据缓存加载) 。
但这些补丁并非适用于全部Windows Server版本 。 截至目前 , 所有陈旧的Server 2003版本以及2008与2012版本皆可能遭受攻击 。 微软公司正在为2008与2012版本开发补丁程序 。 如果您一直在尝试更新2003版本 , 请不要再浪费精力了--过去的已经过去 , 除了此次曝光的最新安全漏洞之外 , 近几年来其它漏洞也都会影响到2003版本 。
另外 , 单纯安装补丁还不足以解决问题--您还需要做得更多 。 正如桌面版Windows一样 , 您同样必须确保使用与补丁相兼容的反病毒程序以避免服务器发生BSOD 。 如果您未在服务器上运行反病毒软件 , 则必须使用regedit以设置以下注册表项:
Key="HKEY_LOCAL_MACHINE" Subkey="SOFTWAREMicrosoftWindowsCurrentVersionQualityCompat" Value="cadca5fe-87d3-4b96-b7fb-a231484277cc" Type="REG_DWORD" Data="0