如何保护您的服务器免受Meltdown和Spectre漏洞的影响
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。Meltdown 和 Spectre 是什么?
在2018年1月4日,现代 CPU 计划中出现了多个漏洞。利用某些处理器性能优化,这些漏洞——被命名为 Meltdown 和 Spectre——使得攻击者可以在正确操作时迫使应用程序透露系统和应用程序内存的内容。这些攻击之以是奏效,是由于处理器内的正常特权查抄行为被通过预测执行、分支预测、乱序执行和缓存等特性的交互所颠覆。
Meltdown 被披露在 CVE-2017-5754 中。Spectre 被披露在 CVE-2017-5753 和 CVE-2017-5715 中。
欲了解更详细信息,请查看下面的 Meltdown 如何工作?和 Spectre 如何工作?部分。
我受到 Meltdown 和 Spectre 的影响吗?
Meltdown 和 Spectre 影响大多数现代处理器。这些漏洞所利用的处理器优化是大多数 CPU 的核心计划特性,这意味着大多数系统在特定修补程序之前都是轻易受到攻击的。这包罗台式电脑、服务器以及在云环境中运行的盘算实例。
用于保护免受 Meltdown 影响的修补程序正在从操作系统供应商处发布。虽然也在发布 Spectre 的更新,但它代表了一整类漏洞,因此大概必要更广泛的连续修复。
在云和虚拟化环境中,提供商必要更新基础架构以保护其客户。用户必要更新其服务器以减轻客户操作系统内的影响。
我该如何保护自己?
对这类漏洞的完全保护大概必要对 CPU 计划进行更改。在此期间,软件更新可以通过禁用或解决导致这些漏洞的某些优化行为来提供对攻击的缓解。
不幸的是,由于这些补丁影响了处理器内的优化例程,缓解补丁大概会低落服务器的性能。减速程度高度依赖于正在执行的工作范例,I/O 麋集型历程会受到最大影响。
当前缓解补丁状态
在撰写本文时(2018年1月9日),Linux 发行版已开始分发补丁,但尚无任何发行版完全修补。
已发布具有部分缓解(针对 Meltdown 和 Spectre 变体1进行了修补)的内核更新的发行版包罗:
[*]CentOS 7:kernel 3.10.0-693.11.6
[*]CentOS 6:kernel 2.6.32-696.18.7
已发布具有部分缓解(针对 Meltdown 进行了修补)的内核更新的发行版包罗:
[*]Fedora 27:kernel 4.14.11-300
[*]Fedora 26:kernel 4.14.11-200
[*]Ubuntu 17.10:kernel 4.13.0-25-generic
[*]Ubuntu 16.04:kernel 4.4.0-109-generic
[*]Ubuntu 14.04:kernel 3.13.0-139-generic
[*]Debian 9:kernel 4.9.0-5-amd64
[*]Debian 8:kernel 3.16.0-5-amd64
[*]Debian 7:kernel 3.2.0-5-amd64
[*]Fedora 27 Atomic:kernel 4.14.11-300.fc27.x86_64
[*]CoreOS:kernel 4.14.11-coreos
假如您的内核至少更新到上述版本,那么一些更新已经应用。
尚未发布具有缓解措施的内核的操作系统包罗:
[*]FreeBSD 11.x
[*]FreeBSD 10.x
即将于2018年1月13日到期的 Ubuntu 17.04 将不会收到补丁。猛烈发起用户更新或迁移。
由于此漏洞的严重性,我们发起在补丁可用时立刻应用更新,而不是期待完整的补丁集。这大概必要您在未来的几天和几周内多次升级内核并重新启动。
如何应用更新?
要更新您的服务器,您必要在您的发行版的补丁可用时更新系统软件。您可以通过运行通例软件包管理器来下载最新的内核版本,然后重新启动服务器以切换到修补代码。
对于 Ubuntu 和 Debian 服务器,您可以通过刷新本地软件包索引,然后升级系统软件来更新系统软件:
sudo apt-get update
sudo apt-get dist-upgrade
对于 CentOS 服务器,您可以通过输入以下命令来下载和安装更新的软件:
sudo yum update
对于 Fedora 服务器,请使用 dnf 工具:
sudo dnf update
无论操作系统如何,一旦应用了更新,重新启动服务器以切换到新内核:
sudo reboot
服务器重新上线后,登录并查抄运动内核是否与上述列表中的内核版本相匹配,以确保您的内核已升级。频繁查抄新的更新,以确保您在可用时收到进一步的补丁。
附加背景
Meltdown 和 Spectre 系列漏洞利用了现代处理器中的性能增强功能。处理器特性如预测执行、特权查抄、乱序执行和 CPU 缓存的组合答应对本应超出边界的内存位置进行读取访问。结果是,非特权程序可以被迫从其内存中泄露敏感数据,或者从内核或其他应用程序中访问特权内存。
Meltdown 是如何工作的?
Meltdown 漏洞通过利用 CPU 优化中的预测执行的缺陷,欺骗处理器读取超出边界的内存位置。其一般思路如下:
[*]哀求访问非法内存位置。
[*]第二个哀求是有条件地读取有效内存位置,假如第一个哀求包含特定值的话。
[*]利用预测执行,处理器在查抄初始哀求是否无效之前,完成了两个哀求的背景工作。一旦处理器了解到哀求涉及超出边界的内存,它会正确地拒绝这两个哀求。尽管特权查抄代码标识内存访问无效后,处理器不会返回结果,但两个访问位置仍旧保存在处理器的缓存中。
[*]如今对有效内存位置进行新的哀求。假如返回敏捷,那么该位置已经在 CPU 缓存中,表明之前有条件的哀求已经执行。迭代使用这些条件可以用来了解超出边界内存位置的值。
Meltdown 代表了一个可以修补的具体漏洞。
Spectre 是如何工作的?
Spectre 也是通过欺骗处理器误用预测执行来读取受限制的值。披露通知形貌了两个变种,具有不同的复杂性和影响程度。
对于 Spectre 的变种 1,处理器被欺骗在欺压执行边界查抄之前进行预测执行读取。首先,攻击者鼓励处理器预测地访问超出其有效边界的内存位置。然后,类似于 Meltdown,根据超出边界的值,额外的指令有条件地将合法地址加载到缓存中。之后计时查抄检索合法地址所需的时间,以确定它是否已加载到缓存中。这反过来可以展现超出边界内存位置的值。
Spectre 的变种 2是最复杂的,既难以利用也难以进行缓解。处理器经常在遇到尚无法评估的条件语句时进行预测执行。它们通过使用称为分支预测的机制来推测条件的最大概结果。
分支预测使用先前通过代码路径运行的历史来选择要预测执行的路径。这可以被攻击者用来引导处理器做堕落误的预测决定。由于分支选择历史不存储对决定的绝对引用,处理器可以被欺骗在代码的一个部分进行练习时,选择另一个部分的分支。这可以被利用来展现超出可接受范围的内存值。
结论
Spectre 和 Meltdown 代表了严重的安全漏洞;它们大概的潜伏影响仍在不断发展中。
为了保护自己,请在供应商发布补丁时实时更新操作系统软件,并继续监视与 Meltdown 和 Spectre 漏洞相关的通讯。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]