XProtect 如何保護您免受 macOS 上的病毒侵害

XProtect 是 Apple 的病毒檢測系統可確保您的 Mac 安全。以下是 macOS 保護功能的工作原理。

病毒和其他惡意軟體對電腦構成持續威脅,網路衝浪者每次上網都必須避開這些威脅。

電腦病毒是一小段程式碼,會悄悄安裝到您的電腦上。它運行或嵌入其他軟體並造成嚴重破壞。

惡意軟體是由不良行為者編寫的,他們意圖損壞電腦、系統或其他電子設備。一旦病毒肆虐,它就會迅速在數百萬台電腦上傳播,而往往在發現時為時已晚。

為了應對病毒和其他惡意軟體,許多軟體和作業系統供應商開發了防毒或反惡意軟體軟體。它們可以掃描並“清除”電腦中的惡意程式碼。

防毒軟體執行此操作的一種方法是掃描已知的應用程式簽章、大小和程式碼。然後將它們與下載的已知惡意軟體資料庫進行比較。

如果找到匹配項,則可以從電腦中刪除不良軟體。

Mac 上的兩個早期防毒軟體套件可以追溯到幾十年前諾頓防毒軟體維雷克斯麥克菲是另一款防毒應用程序,已在 Mac 上運行多年,至今仍然可用。

XP保護

從 2009 年的 Mac OS X 10.6 Snow Leopard 開始,Apple 增加了自己的防毒保護功能,稱為XP保護

XProtect 執行在後台,每當應用程式首次啟動、應用程式在檔案系統中發生變更或新的可下載 XProtect 簽章資料庫可用時進行分析。

這些是安全回應你會經常看到列出的系統設定->常規->軟體更新

一些用戶報告後台 XProtect 服務 (XProtectService) 的 CPU 使用率很高,如活動監視器實用程式中所示,但就我個人而言,我們還沒有看到這種情況。

由於 XProtect 在後台靜默運行,它會在檔案系統和應用程式運行時對其進行監視 - 檢查您的 Mac 是否存在 XProtect 簽章資料庫中列出的任何惡意軟體。如果找到符合項,XProtect 會提示您從電腦中移除惡意軟體。

透過使用無聲後台監視器來監視惡意軟體,XProtect 可確保您的 Mac 安全性並免受潛在有害應用程式的侵害。

由於 XProtect 是,並且由於其簽名文件由 Apple 託管和安裝,因此您無需擔心任何事情 - 您的 Mac 會為您處理一切。

X(保護)文件

您可以透過按住選項鍵並選擇系統資訊蘋果菜單在選單列中。

這將運行 /Utilities 中的系統資訊應用程式。捲動到軟體->安裝在左邊可以看到XProtect有效負載XProtectPlistConfigData其中顯示從 Apple 下載每個 XProtect 簽章資料庫的版本和日期/時間。

執行系統資訊以查看最近的 XProtect 下載。

公證和把關人

當第三方開發者建立 Mac 應用程式時,他們可以將其發送給 Apple公證。以這種方式提交給 Apple 的應用程式將被掃描是否存在惡意軟體,Apple 會對該應用程式的已知版本進行簽署以包含在 XProtect 簽章檔案中。

蘋果為開發者提供了兩種用於公證的命令列工具:altool(已過時)和較新的notarytool之後出貨13.altool不再附帶紅杉和蘋果有一個技術說明 (TN3147)從舊工具遷移到新工具。

您可以獲得使用協助notarytool在 macOS 的終端應用程式中輸入:

man notarytool並按返回

Control-Z按鍵盤上的 退出手冊頁。

Notarization 與 Apple 的 Gatekeeper 和 Developer ID 協同工作,確保 Mac 應用程式在 Mac 之外分發是真實的並且不包含惡意軟體 - 包括病毒。

Apple 對第三方應用程式進行公證後,開發人員就可以在 Mac App Store 之外發布該應用程式。

Notarization 和 Gatekeeper 以及 XProtect 是您首次執行未透過 Mac App Store 發布的應用程式時導致 Finder 中出現「正在驗證…」對話方塊的原因。

應用程式掃描過程會掃描應用程式的捆綁包(資料夾)中是否存在惡意元件,並在發現任何元件時阻止其運作。它還將應用程式的內容與 XProtect 簽章資料庫中包含的已知惡意軟體簽章進行比較。

這就是為什麼第一次運行大型應用程式時「驗證」過程可能需要很長時間的原因之一。

當您在 macOS Finder 中雙擊經過公證的 Mac 應用程式時,您會看到“此應用程式是從互聯網下載的應用程式。您確定要打開它嗎?”對話。如果您願意,這使您有機會退出運行該應用程式。

如果您點擊好的Finder 啟動該應用程序,如果該應用程式經過公證,XProtect 就會開始掃描它是否存在惡意元件。

以前可以完全停用 Gatekeeper,但 Apple 在 2016 年刪除了此功能。

如果您在啟動 Mac 應用程式時在 Finder 中收到「移至廢紙簍」或未經驗證的警告,則需要前往系統設定->隱私與安全。點選無論如何打開按鈕並輸入 Mac 的管理員密碼。

蘋果現在也要求第三方開發者添加LSQuarantine(com.apple.quarantine) 在將其應用程式下載到互聯網上之前將其檔案系統屬性擴展。此屬性會觸發 Gatekeeper 在執行應用程式之前對其進行掃描。

但是,開發人員仍然可以在不添加此屬性的情況下在互聯網上發布 Mac 軟體。

總而言之,這些安全功能意味著惡意軟體攻擊者更難用不良軟體感染您的 Mac。

據 Apple 稱,XProtect 每天至少運行一次,並且當 Mac 上的用戶活動較少時運行。

雅蔣規則

XProtect 使用 Yara International ASA 的一組規則將其資料庫與 Mac 上的應用程式進行比較。 YARA 使用基於簽名的偵測來定位程式碼中嵌入的惡意軟體。

當 XProtect 掃描 Mac 上的應用程式是否存在惡意軟體時,它會使用 YARA 規則檢查每個應用程式進行一組比較。這些可能會產生指向應用程式或應用程式包中嵌入的惡意程式碼的線索。

CISA 有一個關於使用的有點過時的文檔YARA 用於惡意軟體檢測。您實際上不需要了解 YARA 的內部細節即可發揮作用,因為 Apple 處理其在 macOS 中的使用。

XProtect 惡意軟體警報

如果您嘗試啟動包含已知惡意軟體的應用程式,XProtect 將運行XProtect修復器並會在 Finder 中提醒您,它認為該應用程式可能包含惡意軟體。 Finder 會詢問您是否要將其移至廢紙簍。

如果您點擊移至垃圾箱,Finder 會將應用程式移至 macOS 的垃圾箱中,但不會將其刪除。您必須使用Finder->清空垃圾箱選單項目以實際從 Mac 中刪除該應用程式。

當您嘗試啟動特定應用程式時,XProtect Remediator 會在 Finder 中告訴您 XProtect 在該應用程式中發現了哪些惡意軟體。然後您可以決定是否將其移至垃圾箱。

Eclectic Light Company 的 Howard Oakley 有一個不錯的頁面有關 XProtect Remediator 運作時會發生什麼情況的資訊。

奧克利還有一個2022 年註釋關於 Apple 對 XProtect 所做的更改 - 以及它掃描的惡意軟體,儘管該列表並不詳盡。

有關 XProtect 和其他 macOS 安全軟體工作原理的摘要信息,請參閱 Apple平台安全指南網守和運作時保護在 macOS 中。

macOS 還包括一個名為 XProtect 的命令列介面 (CLI)xprotect。您可以使用命令在終端機中執行此工具,以取得有關 Mac 上執行的 XProtect 的資訊。

欲了解以下清單xprotect終端機類型中的命令:

man xprotect並按返回在你的鍵盤上。

簡而言之,命令是:

  1. 更新 - 強制下載新的 XProtect 文件
  2. 檢查 - 列印目前可用的線上更新版本
  3. version - 列印目前已安裝的 XProtect 檔案版本
  4. 日誌 - 顯示 XProtect 日誌
  5. status - 列印 XProtect 的目前狀態
  6. help - 列印子指令的協助

請注意,所有xprotect命令必須使用sudo命令和終端機中的管理員密碼才能使其正常運作。

例如,運行sudo xprotect update印刷:

Starting update.

No update applied, already up to date

當沒有 XProtect 的新部分可供下載。

蘋果如何回應

正如 Apple 指出的那樣,當 XProtect 偵測到惡意軟體時,Apple 可能會以多種方式回應 - 包括但不限於:

  1. 任何關聯的開發者 ID 憑證均被撤銷
  2. 為所有文件簽發公證撤銷票
  3. XProtect 簽名開發並發布

一般來說,您也可以使用以下命令在終端機中檢查 Mac 的系統安全策略:spctl命令列工具:

spctl --status(系統策略控制)。

如果啟用了安全掃描,您將看到以下回應:

assessments enabled

spctl有大量的選項和工具 - 所以你需要檢查man在終端機中翻頁以獲取更多資訊。

XProtect 可以停用嗎?

答案是:大多。但不要。

除非您的 Mac 始終處於離線狀態、您很少安裝軟體,或您遇到特定的效能問題,否則沒有理由停用 XProtect。這樣做會使您的 Mac 面臨互聯網上大量已知和未知惡意軟體的攻擊 - 如果您這樣做,您只是在自找麻煩。

話雖如此,如果你絕對必須停用 XProtect,您可以在終端機中使用以下命令執行此操作:

sudo spctl --master-disable

若要重新啟用 XProtect,請使用:

sudo spctl --master-enable

並按返回

即使您確實停用 XProtect,您也希望停用的時間盡可能短 - 完成任何需要停用它的任務後,請務必立即重新啟用它。

第三方掃描儀

儘管 XProtect 由 Apple 管理並且是 macOS 的一部分,但有時您可能仍會希望在 Mac 上執行第三方惡意軟體掃描程式來尋找惡意軟體。

Norton 和 McAfee 等久經考驗的掃描器已經存在了幾十年,因此它們始終是一個安全的選擇。還有一些較小的第三方也不錯,例如隱私掃描(15 美元)來自 SecureMac.com。

如果您確實使用第三方掃描儀,請嘗試使用 Mac App Store 中出售的掃描儀,因為 Apple 會審核所有 App Store 應用程式以確保它們也不包含惡意軟體。

Apple 在 XProtect 方面做得很好,而且在大多數情況下,它安靜且可靠。您可能需要在「系統設定」中開啟自動安全性更新,以確保您的 Mac 在 Apple 發布後立即取得所有新的漏洞檔案和更新。