我在该问题上看到的最清晰的帖子是Matthew Garrett的帖子(包括评论)。
Matthew现在发布了一个工具,可以在本地检查系统:构建,运行
sudo ./mei-amt-check
并报告是否启用和配置了AMT,以及是否启用了固件版本(请参见下文)。该自述有更多的细节。
要扫描网络中可能存在漏洞的系统,请扫描端口623、624和16992至16993(如英特尔自己的缓解文档所述);例如
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 请求将返回一条响应,其中Server
包含“ Intel(R)Active Management Technology”。同一行还将包含正在使用的AMT固件的版本,然后可以将其与英特尔咨询中列出的列表进行比较,以确定它是否容易受到攻击。
有关自动执行上述操作的脚本的链接,请参见CerberusSec的答案。
有两种方法可以“适当”解决此问题:
- 一旦系统的制造商提供了更新,就升级固件(如果有);
- 避免通过系统上不支持AMT的网络接口或使用USB适配器使用提供AMT的网络端口(许多AMT工作站,例如具有i210网络端口的C226 Xeon E3系统,只有一个AMT-支持网络的接口-其余的都是安全的;请注意,AMT至少可以在Windows上通过wi-fi工作,因此使用内置wi-fi也会导致麻烦。
如果这些选项都不可用,那么您处于缓解区域。如果从未为AMT配备可支持AMT的系统,则说明您相当安全;在那种情况下,启用AMT显然只能在本地完成,据我所知,这需要使用系统的固件或Windows软件。如果启用了AMT,则可以重新引导并使用固件将其禁用(CtrlP在引导过程中显示AMT消息时按)。
基本上,尽管特权漏洞非常严重,但似乎大多数英特尔系统实际上并未受到影响。对于运行Linux或其他类似Unix操作系统的您自己的系统,升级可能首先需要对系统进行物理访问以首先启用AMT。(Windows是另一回事。)如Rui F Ribeiro指出的那样,在具有多个网络接口的系统上,您应该以与对待任何管理接口(具有IPMI功能或主机接口)相同的方式对待具有AMT功能的接口。 (适用于VM虚拟机管理程序),并将其隔离在管理网络(物理或VLAN)上。您不能依靠主机来保护自己:iptables
这在这里是无效的,因为AMT会在操作系统之前看到数据包(并将AMT数据包保留给自己)。
VM会使事情复杂化,但仅在某种意义上,如果启用了AMT,它们会混淆AMT,从而产生令人困惑的扫描结果。amt-howto(7)
给出了Xen系统的示例,其中AMT使用通过DHCP分配给DomU的地址(如果有的话),这意味着扫描将显示AMT在DomU而不是Dom0上处于活动状态...