M01 · CTF
找出信任鏈斷點
給定一條 BootROM→iBoot→kernelcache→sepOS 的開機鏈,其中某一級被植入降級 payload。 操作模擬器找出鏈在哪一級中斷,並說明為何後續各級不會被載入。
啟動鏈驗證模擬器
- 1BootROM
以晶片內建信任根驗證 iBoot 的 Image4 manifest
- 2iBoot
驗證 kernelcache 的量測雜湊與 manifest
- 3kernelcache
載入並驗證 SEP firmware (sepOS)
- 4sepOS (SEP)
安全啟動完成,移交控制權
✓ 信任鏈完整:四級全部驗證通過,安全啟動完成。
模型邊界:此為「每級驗下級」的概念演示,不偽造真實 Image4/CMS 簽章驗證。 真機驗證請見章末「真機操作卡」。
過關目標
- 讓 bootChain.brokenAt 達到 "kernelcache"
- 用自己的話解釋:用自己的話說明為何竄改 kernelcache 後 sepOS 不會被載入。
解答是「操作模擬器到對的狀態 + 能說出原理」,非提交 flag 字串。互動式自動評分為 roadmap 項目;目前以自我檢核完成。
提示
卡住時
信任鏈從 BootROM 起逐級驗證。第一個「下一級量測雜湊不符」的位置就是斷點。
走錯方向時
注意——上一級「驗」下一級。被竄改那級的「上一級」才是偵測者。
想更深入
想想:為何整鏈只要單點竄改就全中止?這就是「鏈」的意義。
相關指令
csrutilbputil