在 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 用户。