macOS 端點資安

Mac 不需要防毒軟體?認識 macOS 幕後的安全機制

你的 Mac 背後,有一支你從來沒見過的守衛隊

每次你開啟一個 App、下載一份文件、或是把 Mac 帶出門,背後都有一套你看不見的安全機制在運作。它們不會彈出視窗、不需要你按任何按鈕,卻每天默默替你把關。

大多數 Mac 使用者對這些機制幾乎一無所知——它們叫什麼、做什麼、能擋住什麼、又擋不住什麼。這篇文章就是要把這些藏在幕後的守衛一一介紹清楚。


第一層:Gatekeeper — 把關的門衛

想像一家管理嚴格的夜店,門衛不讓任何人隨便進入——他會驗證身分、確認資格,對可疑的人說不。

Gatekeeper 就是 macOS 為應用程式設置的門衛。每次你嘗試開啟一個 App,Gatekeeper 都會先確認這個 App 是否被允許執行。

它怎麼判斷?

Apple 把 App 分成三類:

  1. Mac App Store 的 App — Apple 已審查過。Gatekeeper 直接放行。
  2. 已識別開發者的 App — 雖然來自 App Store 以外,但開發者已向 Apple 登記,Apple 也對 App 進行了「公證(Notarization)」掃描。Gatekeeper 通常會放行,第一次開啟時會出現一個小提示。
  3. 來源不明的 App — 沒有 Apple 審查,沒有開發者登記。Gatekeeper 預設封鎖。

什麼是「公證」?

公證(Notarization)值得簡單說明。開發者在 App Store 以外發佈 Mac App 之前,必須把 App 提交給 Apple 進行自動化掃描,確認沒有已知惡意軟體。通過後,Apple 核發一張數位憑證,代表這個 App 在送審當下是乾淨的。

就像一個人在獲得工作許可之前,要先通過背景調查。

Gatekeeper 的限制

Gatekeeper 只在 App 第一次開啟時做檢查。如果惡意軟體透過其他管道進入你的 Mac——不是以 App 的形式,而是藏在文件裡的惡意程式碼,或者某個 App 在通過公證之後才被植入惡意程式——Gatekeeper 不會攔截。


第二層:XProtect — 看不見的防毒掃描器

很多人不知道這個:macOS 內建了一套防毒系統,叫做 XProtect

XProtect 像機場的安全掃描器,維護著一份已知惡意軟體的「特徵碼」資料庫——惡意程式碼的數位指紋——並在檔案被開啟時,對照這份資料庫進行比對。

實際上怎麼運作?

當你下載檔案、開啟電子郵件附件、或透過通訊 App 接收到檔案,XProtect 會在幕後默默掃描。如果符合已知惡意軟體的特徵碼,檔案會被封鎖,你會看到一個提示說這個檔案無法開啟,因為它含有惡意軟體。

和第三方防毒軟體的關鍵差異

XProtect 的更新是獨立於 macOS 系統更新進行的。Apple 可以在不需要重啟 Mac 的情況下,悄悄推送特徵碼資料庫的更新。這代表 XProtect 能快速回應新威脅,通常在 Apple 在野外偵測到新惡意軟體後幾天內就能更新。

XProtect 的限制

XProtect 只能偵測它有特徵碼的惡意軟體。全新出現、Apple 尚未建檔的惡意軟體無法被抓到。這就是為什麼 XProtect 是縱深防禦中的一層,而不是全部的防線。


第三層:XProtect Remediator(前身 MRT)— 善後的清潔隊

偵測到惡意軟體是一回事,把它清除又是另一回事。

惡意軟體移除工具(MRT)——現已升級並擴展為 XProtect Remediator——是 macOS 的清潔隊。XProtect 防止已知惡意軟體被開啟,XProtect Remediator 則主動掃描並移除系統上可能已存在的惡意軟體。

它和 XProtect 有什麼不同?

XProtect Remediator 不只在檔案開啟時運作。它會定期在背景對整個系統進行掃描——尋找可能在被 Apple 識別之前就已存在的惡意軟體痕跡,或是早先溜過的威脅。發現後,它會自動清除。

它什麼時候執行?

通常在 Mac 閒置的時候——螢幕進入睡眠、你沒有使用 Mac 的時段。Apple 把它設計成完全透明的背景程序,你幾乎不會感覺到它在運作。

XProtect Remediator 的限制

和 XProtect 一樣,它只能清除 Apple 已識別的威脅。而對於精心設計來躲避偵測的高階惡意軟體,即使掃描過後也可能繼續潛伏。


第四層:FileVault — 資料保險箱

想像你 Mac 上的所有檔案是一個房間裡的貴重物品。Gatekeeper、XProtect、XProtect Remediator 都是站在房間外面的守衛,防止入侵者闖入。但如果有人把整個房間都搬走了——趁你在機場時把 MacBook 從包包裡拿走呢?

FileVault 就是應對這個威脅的機制。它是全磁碟加密,Mac 上儲存的每一個位元組都被加密,在沒有正確解密金鑰的情況下,看起來都是無意義的亂碼。

它怎麼保護你?

啟用 FileVault 之後(Apple Silicon Mac 預設啟用),磁碟上的資料在沒有登入密碼的情況下無法讀取。就算有人把你的筆電硬碟拆下來,接到另一台電腦直接讀取,他們看到的也只是加密的亂碼。

FileVault 保護不了什麼?

FileVault 保護的是儲存中的資料。一旦 Mac 解鎖並正常運作,磁碟就已解密供正常使用。FileVault 無法防止惡意軟體在一台已登入、正在使用的 Mac 上執行——那是其他防護層的工作。

這樣理解:FileVault 是在建築物遭到實體闖入後,保護你貴重物品的保險箱。而守衛(Gatekeeper、XProtect)是在建築物正常開放運作時不可或缺的。


第五層:系統完整性保護(SIP)— 不可侵犯的憲法

在大多數作業系統中,管理員——擁有最高存取權限的使用者——可以修改任何檔案,包括核心系統檔案。這帶來一個風險:如果攻擊者取得管理員權限,就能從根本上篡改系統運作。

系統完整性保護(SIP) 打破了這個規則。從 OS X El Capitan 開始,SIP 把核心系統目錄設為禁區——即使是 root(Unix 類系統上權限最高的帳號)也無法修改。任何程序,無論擁有多高的權限,在 SIP 啟用的情況下都無法動到受保護的系統檔案。

用一個比喻來說

SIP 就像你 Mac 的憲法。就算是系統裡最有權力的角色——管理員、root 使用者——也無法單方面改變某些基本規則。這些規則受到更高層次的機制保護。

為什麼這對資安很重要?

精密惡意軟體通常會試圖把自己嵌入系統層級的位置,以達到「持久性」——在重新開機和清除後仍能存活的能力。SIP 在大多數攻擊場景中直接封死了這條路。無法碰觸核心系統檔案的惡意軟體,移除起來容易得多,危害也小得多。

SIP 的限制

SIP 保護的是系統目錄,不是全部。使用者資料、下載的檔案和一般位置的應用程式不在 SIP 保護範圍內。而且 SIP 可以被停用——這需要實際操作 Mac 並進入「復原模式」。


第六層:App 沙盒 — 隔離的公寓

就算是正規的 App 也可能寫得有問題——或是在你安裝後遭到入侵。App 沙盒就是為了應對這個風險。

所有透過 Mac App Store 發佈的 App 都必須在沙盒環境中執行。想像每個 App 都住在自己的獨立公寓:它有它運作所需的東西,但不能窺探其他公寓,也不能在沒有明確許可的情況下使用公共設施。

沙盒能防止什麼?

被沙盒限制的 App 無法:

  • 讀取指定容器以外的檔案(除非你明確授權)
  • 未經許可存取你的聯絡人、行事曆或相機
  • 以非預期的方式和其他 App 通訊
  • 以未聲明的方式存取網路

沙盒的限制

並非所有 Mac App 都必須使用沙盒。App Store 以外發佈的 App——即使已通過公證——並不要求在沙盒中執行。這是一個明顯的缺口,也是企業資安管理工具重要性所在。


第七層:TCC — 隱私權限的把關機制

你一定見過這些對話框:「此 App 想使用你的相機。」「此 App 想使用你的麥克風。」「此 App 想存取你的聯絡人。」

這就是 透明度、同意與控制機制(TCC)——macOS 對敏感資源的權限管理系統。TCC 維護著一份資料庫,記錄哪些 App 獲准或被拒絕存取:

  • 相機
  • 麥克風
  • 位置
  • 聯絡人
  • 行事曆
  • 照片
  • 輔助使用
  • 完整磁碟存取(讀取系統上所有檔案)
  • 螢幕錄製

它怎麼保護你?

沒有任何 App 能悄悄存取你的相機或麥克風。作業系統會攔截這個請求並先問你。如果你拒絕,App 無法推翻這個決定。你的選擇存在 TCC 資料庫中,在你改變之前都會被尊重。

TCC 的限制

TCC 防止的是未經授權的存取。如果你授予了某個 App 相機存取權,而那個 App 後來做了惡意行為——它合法擁有你給它的權限,TCC 無法阻止。TCC 也無法防範能繞過權限系統的零日漏洞(就像在 iOS 上見到的 Predator 間諜軟體案例)。


第八層:安全啟動 — 可信任的啟動程序

上述所有保護層都建立在一個前提上:macOS 本身是可信任的。但如果攻擊目標是啟動程序——在 macOS 載入之前的那一刻呢?

安全啟動(Secure Boot)(適用於 Apple Silicon 與搭載 T2 晶片的 Intel Mac)就是應對這個問題的機制。在 macOS 開始載入之前,晶片會先驗證作業系統軟體是否合法且未被竄改,只允許 Apple 簽章的軟體啟動。

它能防止什麼?

「開機套件(Bootkit)」攻擊——惡意軟體嵌入啟動程序,以取得對系統的深度持久控制——被安全啟動有效阻斷。惡意程式碼無法通過密碼學驗證,不被允許執行。


各層如何共同運作

每一個機制都應對不同的威脅場景:

保護層 阻擋的威脅
Gatekeeper + 公證 未經授權或未經審查的 App 執行
XProtect 存取已知惡意軟體時的即時偵測
XProtect Remediator 已存在於系統上的已知惡意軟體
FileVault 實體存取磁碟造成的資料竊取
SIP 惡意軟體嵌入核心系統位置
App 沙盒 受感染 App 存取沙盒範圍外的資源
TCC 未授權存取相機、麥克風、聯絡人等敏感資源
安全啟動 針對啟動程序的攻擊

沒有單一層次能獨立應付一切。精密攻擊者可能透過社交工程繞過 Gatekeeper,卻被 XProtect 擋下;惡意軟體躲過 XProtect 的特徵碼偵測,又被 App 沙盒限制了能存取的範圍;FileVault 確保就算其他防護都失效,一台被偷走的 Mac 也不至於造成資料外洩。

這就是所謂的縱深防禦(Defense in Depth)——多層相互重疊的防護,各自補上其他層次的缺口。


企業管理工具能補充什麼?

macOS 的內建資安機制相當完善,但它是為個人使用者設計的。在企業環境中,組織需要的不只是這些:

  • 可見度:我們 500 台 Mac 中,哪些真的有啟用 FileVault?哪些 Gatekeeper 設定正確?
  • 強制執行:能確保機隊中沒有 Mac 把 SIP 關掉嗎?能防止使用者覆蓋資安設定嗎?
  • 事件回應:如果 XProtect 在某台裝置上偵測到惡意軟體,IT 團隊多快會知道?能遠端處置嗎?
  • 超越內建:Apple 特徵碼還沒有收錄的威脅怎麼辦?行為偵測和異常分析呢?

這就是企業安全管理工具——例如 Jamf Protect——在 Apple 內建防護之上,提供整體機隊狀況一目瞭然的可見度、政策強制執行與進階威脅偵測能力的意義所在。

Jamf Protect 與 SIEM 串接

macOS 內建的安全機制各自在裝置端運作,事件發生後你幾乎不會主動收到通知——你必須去找,而不是它來告訴你。

Jamf Protect 改變了這件事。它能將 Mac 上的安全事件——包括惡意軟體偵測、Gatekeeper 封鎖記錄、TCC 權限異常、可疑的網路連線行為——轉換成標準化的日誌格式(CEF 或 JSON),即時串流到企業現有的 SIEM 平台,例如 Splunk、Microsoft Sentinel、IBM QRadar 或 Elastic。

對資安團隊來說,這代表:

  • Mac 事件不再是盲區:所有端點的告警統一進入同一個監控介面,不會因為是 Mac 就漏掉
  • 跨平台關聯分析:Mac 上的異常行為可以和同一使用者帳號在其他系統的活動交叉比對,更快識別攻擊鏈
  • 合規稽核有據可查:FileVault 狀態、SIP 是否啟用、Gatekeeper 設定——這些資安基線的變化都會留下可查的紀錄
  • 告警觸發自動化回應:SIEM 收到 Jamf Protect 的事件後,可以串接 SOAR 工具自動執行隔離裝置、通知負責人、開立工單等後續動作

簡單說:macOS 的內建機制負責在裝置端把關,Jamf Protect 負責把這些訊號收集起來、說清楚,SIEM 負責讓整個資安團隊看得到、能夠行動。


關於可立可 KlickKlack

可立可是臺灣唯一同時具備 Jamf MSP 與 Elite Partner 雙重資格的夥伴,提供 Apple 裝置完整的企業管理與資安解決方案。

想要相同的成果?

讓我們為您規劃最適合的解決方案

立即諮詢