在 macOS 中防禦惡意軟體
Apple 進行一套威脅情報程序,可快速識別和阻擋惡意軟體。
三層防護
惡意軟體防禦具有三層結構:
1. 防止惡意軟體啟動或執行:App Store 或與「公證」結合的「門禁」
2. 阻止惡意軟體在客戶系統上執行:「門禁」、「公證」和 XProtect
3. 緩解已執行的惡意軟體:XProtect
第一層防禦機制設計用於遏制惡意軟體傳播,以及讓惡意軟體一次也無法啟動;這是 App Store 和結合「門禁」與「公證」的目標。
下一層防禦機制用於協助確保倘若惡意軟體出現在 Mac 上,系統可快速識別並阻擋,同時阻止傳播以及修復已遭惡意軟體染指的 Mac。XProtect 搭配「門禁」和「公證」為這層防禦機制的助力。
最後,XProtect 的用途是修復已成功執行的惡意軟體。
這些在下方進一步說明的防護機制結合在一起,成為抵禦病毒和惡意軟體最佳做法的強力後盾。其他還有許多防護措施(尤其在配備 Apple 晶片的 Mac 上)可限制成功執行的惡意軟體造成的可能損害。請參閱保護 App 對使用者資料的存取,瞭解 macOS 如何協助保護使用者資料不受惡意軟體侵害,並參閱作業系統完整性,瞭解 macOS 如何限制惡意軟體可在系統上執行的動作。
公證
「公證」為 Apple 提供的惡意軟體掃描服務。要在 App Store 之外發佈 macOS 版 App 的開發者,可提交其 App 以進行掃描,作為發佈程序的一環。Apple 會掃描這個軟體是否包含已知的惡意軟體,如果沒有發現任何惡意軟體,就會核發「公證」票證。通常開發者會將這個票證附加至其 App,讓「門禁」即使離線也可驗證並啟動該 App。
Apple 也可針對已知惡意的 App(即使先前已通過公證)核發撤銷票證。macOS 會定期檢查新的撤銷票證,以便讓「門禁」接收最新資訊且可阻止這類檔案啟動。這個程序可非常快速地阻擋惡意 App,因為相較於推播新 XProtect 簽章的背景更新,在背景執行的更新頻率高出許多。此外,這個防護機制可套用至先前已通過及尚未通過公證的 App。
XProtect
macOS 的內建防毒技術 XProtect 可根據簽章偵測和移除惡意軟體。系統使用 YARA 簽章,此工具用於執行惡意軟體的簽章式偵測,Apple 會定期對其進行更新。Apple 會監視新的惡意軟體感染與病種,並自動更新簽章(獨立於系統更新),以協助 Mac 防止惡意軟體感染。XProtect 會自動偵測和封鎖已知惡意軟體的執行。在 macOS 10.15 或以上版本中,每當發生以下情況,XProtect 都會檢查是否包含已知的惡意內容:
App 初次啟動
App 經過更動(在檔案系統中)
XProtect 簽章更新
當 XProtect 偵測到已知的惡意軟體,就會封鎖該軟體並通知使用者,提供選項讓使用者將該軟體移至「垃圾桶」。
【注意】「公證」對於已知檔案(或檔案雜湊)來說很有效,且可在先前已啟動的 App 上使用。XProtect 的簽章式規則比特定檔案雜湊更通用,因此可找出 Apple 未曾見過的變體。XProtect 只會掃描有變動或初次啟動的 App。
如果惡意軟體成功進入 Mac,XProtect 所包含的技術也可修復感染。例如,其包含一個引擎,可根據 Apple 自動遞送的更新(屬於系統資料檔案自動更新與安全性更新的一部分)修復感染。此系統在收到更新的資訊後會移除惡意軟體,並會定期檢查是否有感染;不過,XProtect 不會自動重新啟動 Mac。此外,XProtect 包含一個進階引擎,可以基於行為分析來偵測未知的惡意軟體。此引擎所偵測到的惡意軟體相關資訊,包含最終負責下載它的軟體,會被用來改進 XProtect 簽章和 macOS 安全性。
自動化 XProtect 安全性更新
Apple 會自動根據最新的可用威脅情報來核發 XProtect 的更新。根據預設,macOS 每天都會檢查這些更新。「公證」更新是使用 CloudKit 同步來發佈,頻率高出許多。
發現新的惡意軟體時,Apple 如何回應
發現新的惡意軟體時,系統會執行幾個步驟:
任何關聯的開發者 ID 憑證都會被撤銷。
針對所有檔案(App 和相關檔案)核發「公證」撤銷票證。
開發並發佈 XProtect 簽章。
這些簽章也可以追溯方式套用至先前通過公證的軟體,且任何新的偵測都會產生一或多項先前發生的動作。
最後,惡意軟體偵測機制會在接下來數秒、數小時和數天內啟動一系列步驟,將可能的最佳防護措施傳播給 Mac 使用者。