Linux

如何檢測和緩解 Linux 系統上的 Intel 提權漏洞 (CVE-2017-5689)?

  • May 15, 2017

根據英特爾安全中心在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 提權漏洞?

我在這個問題上看到的最清晰的文章是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 上看到響應,則連接到這些埠並/使用 HTTP 請求將Server在啟用 AMT 的系統上返回包含“英特爾(R) 主動管理技術”行的響應;同一行還將包含正在使用的 AMT 韌體的版本,然後可以將其與英特爾公告中給出的列表進行比較,以確定它是否易受攻擊。

請參閱CerberusSec 的答案以獲取自動化上述腳本的連結。

有兩種“正確”解決問題的方法:

  • 升級韌體,一旦您的系統製造商提供更新(如果有的話);
  • 避免使用提供 AMT 的網路埠,方法是在系統上使用不支持 AMT 的網路介面,或使用 USB 適配器(許多 AMT 工作站,例如帶有 i210 網路埠的 C226 Xeon E3 系統,只有一個 AMT-有能力的網路介面——其餘的都是安全的;請注意,AMT 可以在 wi-fi 上工作,至少在 Windows 上是這樣,因此使用內置 wi-fi 也會導致妥協)。

如果這些選項均不可用,則說明您處於緩解區域。如果您的支持 AMT 的系統從未為 AMT 配置過,那麼您是相當安全的;在這種情況下啟用 AMT 顯然只能在本地完成,據我所知,需要使用系統的韌體或 Windows 軟體。如果啟用了 AMT,您可以重新啟動並使用韌體將其禁用(Ctrl``P在啟動過程中顯示 AMT 消息時按下)。

基本上,雖然特權漏洞非常嚴重,但似乎大多數英特爾系統實際上並未受到影響。對於您自己的執行 Linux 或其他類 Unix 作業系統的系統,升級可能首先需要對系統進行物理訪問才能啟用 AMT。(Windows 是另一回事。)在具有多個網路介面的系統上,正如Rui F Ribeiro所指出的那樣,您應該以與處理任何管理介面(IPMI 功能或主機介面)相同的方式處理支持 AMT 的介面虛擬機管理程序)並將其隔離在管理網路(物理或 VLAN)上。您不能依靠主機來保護自己:iptables等在這裡是無效的,因為 AMT 在作業系統之前看到數據包(並將 AMT 數據包保留給自己)。

虛擬機可能會使事情複雜化,但僅在某種意義上,它們會混淆 AMT,從而在啟用 AMT 時產生令人困惑的掃描結果。amt-howto(7)給出了 Xen 系統的範例,其中 AMT 使用通過 DHCP 分配給 DomU 的地址(如果有),這意味著掃描將顯示 AMT 在 DomU 上處於活動狀態,而不是 Dom0…

引用自:https://unix.stackexchange.com/questions/362686