如何检测和缓解 Linux 系统上的 Intel 提权漏洞 (CVE-2017-5689)?

如何检测和缓解 Linux 系统上的 Intel 提权漏洞 (CVE-2017-5689)?

根据英特尔安全中心帖子日期为 2017 年 5 月 1 日,英特尔处理器上存在一个严重漏洞,可能允许攻击者使用 AMT、ISM 和 SBT 获取权限(权限升级)。

由于AMT可以直接访问计算机的网络硬件,因此该硬件漏洞将允许攻击者访问任何系统。

英特尔® 主动管理技术 (AMT)、英特尔® 标准可管理性 (ISM) 和英特尔® 小型企业技术版本固件版本 6.x、7.x、8.x 9.x、10 中存在权限升级漏洞.x、11.0、11.5 和 11.6,它们可以允许非特权攻击者控制这些产品提供的可管理性功能。基于 Intel 的消费类 PC 上不存在此漏洞。

英特尔发布了检测工具适用于 Windows 7 和 10。我使用来自dmidecode -t 4英特尔网站的信息并通过搜索发现我的处理器使用Intel® Active Management Technology (Intel® AMT) 8.0.

受影响的产品:

在适用于英特尔® 主动管理技术、英特尔® 小型企业技术和英特尔的英特尔可管理性固件版本 6.x、7.x、8.x 9.x、10.x、11.0、11.5 和 11.6 中已观察到此问题® 标准的可管理性。 6 之前或 11.6 之后的版本不受影响。

说明:

非特权本地攻击者可以提供可管理性功能,从而获得英特尔可管理性 SKU 上的非特权网络或本地系统特权:英特尔® 主动管理技术 (AMT)、英特尔® 标准可管理性 (ISM) 和英特尔® 小型企业技术 (SBT)

如何轻松检测并缓解 Linux 系统上的 Intel 提权漏洞?

答案1

我见过的关于这个问题最清晰的帖子是马修·加勒特的(包括评论)。

马修现在发布了工具在本地检查您的系统:构建它,运行它

sudo ./mei-amt-check

它将报告 AMT 是否已启用并配置,如果是,则报告固件版本(见下文)。这自述文件有更多详细信息。

要扫描网络中是否存在潜在易受攻击的系统,请扫描端口 623、624 和 16992 至 16993(如 Intel 自己的缓解文件);例如

nmap -p16992,16993,16994,16995,623,664 192.168.1.0/24

将扫描 192.168.1/24 网络,并报告所有响应主机的状态。能够连接到端口 623 可能是误报(其他 IPMI 系统使用该端口),但从 16992 到 16995 的任何开放端口都是启用 AMT 的一个很好的指标(至少如果它们响应适当:使用 AMT,这意味着16992 和 16993 上的 HTTP 响应,后者带有 TLS)。

如果您在端口 16992 或 16993 上看到响应,则在启用了 AMT 的系统上连接到这些端口并/使用 HTTP 发出请求将返回包含“Intel(R) Active Management Technology”的行的响应;Server同一行还将包含正在使用的 AMT 固件的版本,然后可以将其与中给出的列表进行比较英特尔的咨询以确定它是否容易受到攻击。

CerberusSec 的回答获取自动执行上述操作的脚本的链接。

有两种方法可以“正确”解决该问题:

  • 一旦您的系统制造商提供更新(如果有),请升级固件;
  • 避免使用提供 AMT 的网络端口,方法是在系统上使用不支持 AMT 的网络接口,或者使用 USB 适配器(许多 AMT 工作站,例如具有 i210 网络端口的 C226 Xeon E3 系统,只有一个 AMT-强大的网络接口 - 其余的都是安全的;请注意,AMT 可以通过 wi-fi 工作,至少在 Windows 上,因此使用内置 wi-fi 也可能导致妥协)。

如果这两个选项都不可用,那么您就处于缓解区域。如果您的支持 AMT 的系统从未配置过 AMT,那么您就相当安全;在这种情况下启用 AMT 显然只能在本地完成,据我所知,需要使用系统的固件或 Windows 软件。如果启用了 AMT,您可以重新启动并使用固件将其禁用(CtrlP在启动过程中显示 AMT 消息时按下)。

基本上,虽然特权漏洞相当严重,但似乎大多数英特尔系统实际上并未受到影响。对于您自己的运行 Linux 或其他类 Unix 操作系统的系统,升级可能需要对系统进行物理访问才能首先启用 AMT。 (Windows 是另一个故事。)在具有多个网络接口的系统上,正如所指出的瑞·F·里贝罗,您应该像对待任何管理接口(支持 IPMI 或 VM 管理程序的主机接口)一样对待支持 AMT 的接口,并将其隔离在管理网络(物理或 VLAN)上。你不能依靠主机来保护自身:iptables等等在这里无效,因为 AMT 在操作系统之前看到数据包(并将 AMT 数据包保留给自己)。

虚拟机可能会使事情变得复杂,但仅限于它们可能会混淆 AMT,从而在启用 AMT 的情况下产生令人困惑的扫描结果。amt-howto(7)给出了 Xen 系统的示例,其中 AMT 使用通过 DHCP 提供给 DomU 的地址(如果有),这意味着扫描将显示 AMT 在 DomU 上处于活动状态,而不是 Dom0...

答案2

仅仅检测该服务的开放端口是不够的,它并不能表明该版本是否受到影响。我们的团队创建了一个 Python 脚本,可在 GitHub 存储库中获取CerberusSecurity/CVE-2017-5689检测目标系统是否容易受到远程攻击。

使用示例:

python CVE_2017_5689_detector.py 10.100.33.252-255

这应该允许您检查您是否可被远程利用。

答案3

Intel 有适用于 Linux 的工具,位于Linux 检测和缓解工具

它有一个叉子在GitHub

相关内容