您可能不知道,世界上大多数计算机处理器都容易受到 Meltdown 和 Spectre 漏洞的攻击。什么是 Meltdown 和 Spectre,您应该采取什么措施来保护您的服务器?在本文中,我们将研究这些漏洞,并讨论受影响的主要硬件供应商。最重要的是,我们将解释您应该在Windows服务器和 Linux服务器上采取哪些步骤来保护您的数据。
什么是 Meltdown 和 Spectre 漏洞?
Meltdown 和 Spectre 是计算机处理器中的关键漏洞。它们允许程序在运行时泄露信息,从而使黑客可以获取这些信息。现代计算机系统的设置使得程序无法访问其他程序的数据,除非用户明确允许。Meltdown 和 Spectre 漏洞使攻击者能够在未经用户许可(并且通常在用户不知情的情况下)的情况下访问程序数据。这意味着攻击者可能会访问您的个人照片、电子邮件、您存储在浏览器密码管理器中的任何密码、即时消息、公司文档、纳税申报表等。
Meltdown允许任何应用程序访问整个系统内存。需要操作系统补丁和固件更新来缓解此漏洞。
为什么叫 Meltdown?
该漏洞会“融化”保护敏感信息的安全边界。
另一方面,Spectre允许一个应用程序强制另一个应用程序访问其部分内存。此漏洞比 Meltdown 更难利用,但也更难缓解。
为什么叫 Spectre?
这个名字源于漏洞的根本原因“推测执行”。(此外,它很难修复,会困扰我们一段时间!)
哪些硬件供应商受到影响?
受影响最广泛的是英特尔核心架构和 AMD 处理器。不过,受影响的厂商已超过 131 家。
哪些设备会受到 Meltdown 的影响?
台式机、笔记本电脑和云计算计算机均会受到 Meltdown 的影响。1995 年后生产的所有使用推测执行的英特尔处理器都可能受到影响,但英特尔安腾和凌动除外。2013 年后生产的安腾和凌动处理器不会受到 Meltdown 的影响。
哪些设备会受到 Spectre 的影响?
Spectre 会影响台式机、笔记本电脑、云服务器和智能手机。所有现代处理器都可能受到 Spectre 漏洞的影响。已确认 Spectre 会影响英特尔、AMD 和 ARM 处理器。
如何保护您的 Windows 服务器免受 Meltdown 和 Spectre 漏洞的攻击?
检查您的 Windows 系统是否易受攻击非常重要。如果是,您需要采取行动。我们为您提供了分步说明,让您轻松完成操作。
如何检查您的 Windows 服务器是否受到保护以防御这些漏洞?
- 登录您的服务器并以管理员身份运行Windows PowerShell,然后运行以下命令:
安装模块 SpeculationControl
- 输入“ Y ”并按 Enter 启用 NuGet 提供程序。
- 如果系统询问您是否要安装来自不受信任来源的软件包,请输入“ Y ”并按 Enter – 这样就可以了!
- 运行以下命令,保存当前的执行策略。
$SaveExecutionPolicy = 获取执行策略
- 运行以下命令以确保您可以在下一步中导入该模块。
设置执行策略 RemoteSigned -Scope Currentuser
- 输入“ Y ”并按 Enter 确认执行策略更改。
- 运行以下命令导入SpeculationControl模块。
导入模块推测控制
- 最后,运行以下命令以确保您的设备具有必要的更新。
获取 SpeculationControlSettings
您将能够看到您的服务器是否仍然容易受到 Meltdown 和 Spectre 安全漏洞的攻击。此屏幕截图显示了未受保护的 Windows 系统。
如何保护您的 Windows 服务器免受这些漏洞的攻击?
Microsoft 已与 CPU 供应商合作并发布了重要的安全更新。您需要:
- 安装所有安全更新。
- 应用来自 OEM 设备制造商的适用固件更新。
当您检查 Windows 更新时,您可能无法获得 2018 年 1 月发布的安全更新。为了获取这些更新,您需要在虚拟服务器上添加以下注册表项:
键 = “HKEY_LOCAL_MACHINE”子键 = “SOFTWARE\Microsoft\Windows\CurrentVersion\QualityCompat” 值 = “cadca5fe-87d3-4b96-b7fb-a231484277cc”
类型 = “REG_DWORD”
数据 = “0x00000000”
添加此注册表项后,重新启动服务器。系统重新启动后,检查更新。安装所有新更新并再次重新启动服务器。
您还需要确保安装了以下安全补丁:
Windows Server,版本 1709(服务器核心安装) – 4056892
Windows Server 2016 – 4056890
Windows Server 2012 R2 – 4056898
Windows Server 2008 R2 – 4056897
如果您仍然发现这些补丁未安装,您可以从更新代码中提到的链接下载它们。
更新系统并应用 OEM 设备制造商提供的所需固件更新后,请再次从 Windows PowerShell 运行以下命令,以确保服务器安全:
$SaveExecutionPolicy = 获取执行策略 设置执行策略 RemoteSigned -Scope Currentuser 导入模块推测控制 获取 SpeculationControlSettings 设置执行策略 $SaveExecutionPolicy -Scope Currentuser
您现在已经脱离危险区域了!此屏幕截图显示了受 Specter 和 Meltdown 漏洞保护的 Windows 系统。
如何保护 Linux 服务器免受 Meltdown 和 Spectre 漏洞的攻击?
由于这些漏洞是基于硬件的,因此几乎所有 Linux 系统都会受到它们的影响。许多 Linux 发行版都发布了软件更新,通过禁用或绕过导致漏洞的处理器行为来缓解 Meltdown 和 Spectre。Linux 系统尚未完全修补。
以下是已发布具有部分缓解措施的内核更新的 Linux 发行版列表:
- CentOS 7:内核 3.10.0-693.11.6
- CentOS 6:内核 2.6.32-696.18.7
- Fedora 27:内核 4.14.11-300
- Fedora 26:内核 4.14.11-200
- Ubuntu 17.10:内核 4.13.0-25-generic
- Ubuntu 16.04:内核 4.4.0-109-generic
- Ubuntu 14.04:内核 3.13.0-139-generic
- Debian 9:内核 4.9.0-5-amd64
- Debian 8:内核 3.16.0-5-amd64
- Debian 7:内核 3.2.0-5-amd64
- Fedora 27 Atomic:内核 4.14.11-300.fc27.x86_64
- CoreOS:内核 4.14.11-coreos
如果内核版本至少更新到上述版本,则表示已应用了一些更新。截至 2018 年 1 月 12 日,FreeBSD 发行版仍未发布任何内核更新。Ubuntu 17.04 将于 2018 年 1 月 13 日达到 EOL(生命周期结束),并且不会收到任何更新。
以下是检查和修复 CentOS 7.x 中的 Spectre 和 Meltdown 漏洞的步骤。
要检查漏洞,请运行以下命令:
- 检查当前操作系统版本。
lsb_release -d - 检查当前内核版本。uname
-a - 检查系统是否存在漏洞。
cd /tmp
wget https://raw.githubusercontent.com/speed47/spectre-meltdown-checker/master/spectre-meltdown-checker.sh
sudo sh spectre-meltdown-checker.sh
上面的屏幕截图是 CentOS 7.x 未修补 Meltdown/Spectre 漏洞时的输出。 - 您需要运行以下命令来安装新补丁。sudo
yum update - yum 更新的主要原因是我们需要更新内核版本。补丁安装完成后,使用以下命令重新启动
。reboot - 一旦您的计算机重新启动,您可以使用以下命令再次检查漏洞。sudo
sh spectre-meltdown-checker.sh 您可以看到此屏幕截图显示 Spectre Variant 1 和 Meltdown 不易受攻击。
结论
Meltdown 和 Spectre 是严重漏洞。它们仍在被利用,其总体损害影响尚待确定。
我们强烈建议您使用供应商发布的最新操作系统和最新固件更新来修补您的系统。