文件簽章故障導致Docker 在macOS 中被標記為惡意軟體
一週以來,使用虛擬化軟體Docker 的開發人員一直受到一個問題的困擾,用戶抱怨macOS 錯誤地將其檢測為惡意軟體。 macOS 中的蘋果安全系統旨在保護用戶及其資料在正常使用中免受大量線上攻擊。 不過,如果發生錯誤,這些系統也會觸發合法軟體。
Docker 似乎就是這種情況,這是一種常用於在Mac 上開發應用程式的虛擬化工具。 一個多星期以來,用戶發現他們的Mac 正在阻止Docker 運行,原因是所謂的惡意軟體問題。
在某些版本的Docker Desktop 中,用戶可以看到”惡意軟體已被阻止”的警告訊息,以及”com.docker.vmnetd 因包含惡意軟體而未被打開。此操作不會對你的Mac 造成傷害”。 然後,Docker Desktop 就完全無法運作了。
雖然用戶對此感到震驚,但事實證明這並不是惡意軟體的問題。 實際上,這是一個簽名問題,在macOS 安全性分析時會以這種方式表現出來。
蘋果在macOS 中內建了許多安全工具,應用程式必須遵守這些工具才能運作。 其中包括用於檢測惡意軟體的XProtect、用於檢查惡意元件和程式碼簽章問題的Notarization 以及用於檢查開發人員ID 簽章有效性的Gatekeeper。
在Docker 的狀態頁面上,針對macOS 的Docker Desktop 列出了從1 月7 日開始的”活動事件”。 官方清單為”由於惡意軟體報告,macOS 上的Docker Desktop 無法啟動”。
macOS 中的惡意軟體錯誤訊息圖片來源:Docker/Github
最初,Docker 團隊提供了一種解決方法,包括停止Docker 服務、刪除兩個二進位檔案、重新安裝二進位文件,然後重新啟動Docker。
1 月8 日,問題的真正原因被揭露出來。 現有安裝中的某些檔案簽章不正確,導致macOS 的反惡意軟體防護功能失效。
為了解決這個問題,開發人員最初是透過將正確簽署的檔案從Docker.app 應用程式捆綁包複製到正確的位置來解決的。 直到1 月9 日,Docker Desktop 4.32 至4.37 版本才發布補丁,修復了這個問題。
此外還發布了支援文件以幫助用戶,其中包括如何安裝補丁的指導。 使用自製酒桶安裝Docker Desktop 的使用者應執行完全重新安裝以修復該問題。
也為企業環境中的IT 管理員提供了MDM 腳本。