← 所有作品

替自己的 Mac 做一次可重複的資安健檢

唯讀、以證據為本的 Mac 資安健檢,第二輪逐一驗證修復:涵蓋常駐項目、隱私權限與瀏覽器擴充。

問題

天天使用的筆電會累積許多背景項目:launch agent、登入項目、輔助 daemon、system extension、瀏覽器擴充,以及各種隱私權限。多數 Mac 加固建議只是一份檢查清單,沒說怎麼找出已經存在的東西、怎麼判斷它,也沒說怎麼證明修復真的有效。

做法

把健檢當成一次小型評估,分兩輪進行。

運作方式

兩輪稽核,每個發現都附證據

第一輪涵蓋六個面向:

  1. 基礎防護:System Integrity Protection、FileVault、Gatekeeper、應用程式防火牆與更新設定。
  2. 網路暴露面:把每個監聽中的 socket 對應到它的 process,區分只綁 loopback 與綁在所有介面的監聽者。
  3. 常駐項目(persistence):launch agent 與 daemon 並驗證程式碼簽章、背景工作資料庫中的登入項目、cron、shell 啟動檔、system extension 與組態描述檔。
  4. 帳號與存取:本機帳號、管理員成員、SSH 目錄權限、authorized keys 與 sudoers 條目。
  5. 已安裝軟體:抽驗非 App Store 來源 app 的簽章,並檢查過期套件。
  6. 每個已安裝瀏覽器的擴充功能,並用 KnockKnock 的擴充功能掃描交叉比對。

第二輪往下挖:

隱私權限(系統設定「隱私權與安全性」裡的完整磁碟取用權限 Full Disk Access、螢幕錄影與輸入監控)需要特別處理。讀取使用者層級的隱私權資料庫,執行讀取的程序必須有 Full Disk Access,所以要從已取得該權限的終端機跑輔助腳本,或手動逐一檢視各個分類。系統層級的資料庫受 SIP 保護,連 root 都讀不到。

成果

學到的事