recoveryOS และสภาพแวดล้อมการวินิจฉัยสำหรับ Mac ที่ใช้ Intel
recoveryOS
recoveryOS ถูกแยกออกจาก macOS หลักอย่างสมบูรณ์ และเนื้อหาทั้งหมดจะถูกจัดเก็บไว้ในไฟล์ภาพดิสก์ที่ชื่อ BaseSystem.dmg และยังมี BaseSystem.chunklist ที่เกี่ยวข้องซึ่งใช้ในการตรวจสอบยืนยันความสมบูรณ์ของ BaseSystem.dmg อีกด้วย chunklist คือชุดแฮชสำหรับชิ้นส่วนขนาด 10 MB ของ BaseSystem.dmg เฟิร์มแวร์ Unified Extensible Firmware Interface (UEFi) จะประเมินลายเซ็นของไฟล์ chunklist จากนั้นประเมินแฮชทีละรายการจาก BaseSystem.dmg วิธีนี้จะช่วยให้มั่นใจว่าลายเซ็นจะตรงกับเนื้อหาลงชื่อซึ่งมีอยู่ใน chunklist ถ้าแฮชใดๆ เหล่านี้ไม่ตรงกัน การเริ่มการทำงานจาก recoveryOS ในเครื่องจะถูกยกเลิก และเฟิร์มแวร์ UEFI จะพยายามเริ่มการทำงานจาก recoveryOS ทางอินเทอร์เน็ตแทน
ถ้าการตรวจสอบยืนยันดำเนินการสำเร็จแล้ว เฟิร์มแวร์ UEFI จะต่อเชื่อม BaseSystem.dmg เป็นดิสก์ RAM และเปิดใช้ไฟล์ boot.efi ที่อยู่ในนั้น ไม่จำเป็นต้องให้เฟิร์มแวร์ UEFI ดำเนินการตรวจสอบเฉพาะสำหรับ boot.efi หรือไม่ต้องให้ boot.efi ดำเนินการตรวจสอบเคอร์เนล เนื่องจากเนื้อหาแบบสมบูรณ์ของระบบปฏิบัติการ (ซึ่งมีองค์ประกอบเหล่านี้เป็นเพียงส่วนย่อย) ได้รับการตรวจสอบความสมบูรณ์เรียบร้อยแล้ว
การวินิจฉัยของ Apple
ขั้นตอนสำหรับการเริ่มการทำงานสภาพแวดล้อมการวินิจฉัยในเครื่องจะเหมือนกับการเปิดทำงาน recoveryOS เกือบทั้งหมด ไฟล์ AppleDiagnostics.dmg และ AppleDiagnostics.chunklist จะถูกนำมาใช้แยกจากกัน แต่จะได้รับการตรวจสอบยืนยันในลักษณะเดียวกับไฟล์ BaseSystem แทนที่จะเปิดใช้ boot.efi เฟิร์มแวร์ UEFI จะเปิดใช้ไฟล์ภายในภาพดิสก์ (ไฟล์ .dmg) ที่ชื่อ diags.efi ซึ่งมีหน้าที่เรียกใช้ไดรเวอร์ UEFI อื่นๆ ที่สามารถเป็นสื่อกลางและตรวจสอบหาข้อผิดพลาดในฮาร์ดแวร์ได้
recoveryOS และสภาพแวดล้อมการวินิจฉัยทางอินเทอร์เน็ต
ถ้าเกิดข้อผิดพลาดขึ้นในการเปิดทำงานของการกู้คืนในเครื่องหรือสภาพแวดล้อมการวินิจฉัย เฟิร์มแวร์ UEFI จะพยายามดาวน์โหลดภาพดิสก์จากอินเทอร์เน็ตแทน (ผู้ใช้ยังสามารถร้องขอให้ดึงข้อมูลภาพดิสก์จากอินเทอร์เน็ตโดยเฉพาะได้โดยใช้ลำดับปุ่มแบบพิเศษที่กดค้างไว้ในขณะที่เริ่มการทำงาน) การตรวจสอบความถูกต้องของความสมบูรณ์ของภาพดิสก์และ chunklist ที่ดาวน์โหลดจากเซิร์ฟเวอร์การกู้คืน OS จะดำเนินการในลักษณะเดียวกับภาพดิสก์ที่ดึงข้อมูลมาจากอุปกรณ์จัดเก็บข้อมูล
แม้ว่าจะเชื่อมต่อกับเซิร์ฟเวอร์การกู้คืน OS โดยใช้ HTTP แต่เนื้อหาที่ดาวน์โหลดทั้งหมดจะยังคงถูกตรวจสอบความสมบูรณ์ตามที่อธิบายไว้ก่อนหน้านี้ และด้วยเหตุนั้นจึงได้รับการปกป้องจากการถูกจัดการโดยผู้โจมตีที่มีการควบคุมเครือข่าย ในกรณีที่ชิ้นส่วนแต่ละชิ้นไม่ผ่านการตรวจสอบยืนยันความสมบูรณ์ ชิ้นส่วนนั้นจะได้รับการร้องขออีกครั้งจากเซิร์ฟเวอร์การกู้คืน OS เป็นจำนวน 11 ครั้งก่อนที่จะยกเลิกและแสดงข้อผิดพลาด
เมื่อเพิ่มโหมดการกู้คืนทางอินเทอร์เน็ตและโหมดการวินิจฉัยลงในคอมพิวเตอร์ Mac ในปี 2011 มีการตัดสินใจว่าวิธีที่น่าจะดีกว่าคือการใช้การส่งต่อข้อมูล HTTP ที่ง่ายขึ้นและการจัดการการตรวจสอบสิทธิ์เนื้อหาโดยใช้กลไก chunklist แทนการใช้ฟังก์ชั่นการทำงาน HTTPS ที่ซับซ้อนกว่าในเฟิร์มแวร์ UEFI และส่งผลให้เพิ่มพื้นหน้าของการโจมตีของเฟิร์มแวร์