
recoveryOS og diagnostikkmiljøer for Intel-baserte Macer
recoveryOS
recoveryOS er helt separat fra hoveddelen av macOS, og alt innholdet lagres i en diskfil med navnet BaseSystem.dmg. Det finnes også en tilknyttet BaseSystem.chunklist som brukes til å verifisere integriteten til BaseSystem.dmg. Chunklisten er en serie med hasher for 10 MB-deler av BaseSystem.dmg. UEFI-firmware (Unified Extensible Firmware Interface) evaluerer signaturen til chunklistfilen, og evaluerer deretter hashen én del om gangen fra BaseSystem.dmg. Dette bidrar til å sikre at den tilsvarer det signerte innholdet i chunklisten. Hvis en av disse hashene ikke stemmer overens, avbrytes oppstart fra det lokale recoveryOS, og UEFI-firmwaren forsøker å starte fra Internet recoveryOS i stedet.
Hvis verifiseringen fullføres, aktiverer UEFI-firmwaren BaseSystem.dmg som en RAM-disk og starter boot.efi-filen som er i den. Det er ikke nødvendig for UEFI-firmwaren å kontrollere boot.efi spesifikt, eller at boot.efi kontrollerer kjernen, ettersom det ferdige innholdet i operativsystemet (som disse elementene kun er et delsett av) allerede er integritetskontrollert.
Apple-diagnostikk
Prosedyren for å starte det lokale diagnostiske miljøet er stort sett det samme som å starte recoveryOS. Separate filer for AppleDiagnostics.dmg og AppleDiagnostics.chunklist brukes, men de verifiseres på samme måte som BaseSystem-filene. I stedet for å starte boot.efi, starter UEFI-firmwaren en fil inni diskfilen (.dmg-filen) med navnet diags.efi, som så er ansvarlig for å starte en rekke andre UEFI-drivere som kan samhandle med og se etter feil i maskinvaren.
Internet recoveryOS og diagnostikkmiljø
Hvis en feil oppstår i forbindelse med start av lokale gjenopprettings- eller diagnostikkmiljøer, forsøker UEFI-firmwaren å laste ned diskfilene fra internett i stedet. (En bruker kan også spesifikt be om at diskfilene hentes fra internett ved hjelp av spesielle tastaturkombinasjoner ved oppstart.) Integritetsverifiseringen av diskfilene og chunklistene som lastes ned fra OS Recovery Server utføres på samme måte som for diskfiler som hentes fra en lagringsenhet.
Selv om forbindelsen til OS Recovery Server gjennomføres ved hjelp av HTTP, er alt nedlastet innhold underlagt integritetskontroller som tidligere beskrevet, og er dermed ikke beskyttet mot manipulering av et angrep med kontroll over nettverket. Hvis en enkeltdel ikke består integritetsverifiseringen, sendes det forespørsel fra OS Recovery Server opptil 11 ganger før det vises en feilmelding.
Da internettgjenopprettings- og diagnostikkmodusene ble lagt til Macer i 2011, ble det bestemt at det ville være bedre å bruke den enklere HTTP-transporten og håndtere innholdsautentisering ved bruk av chunklistmekanismen, i stedet for å implementere den mer kompliserte HTTPS-funksjonaliteten i UEFI-firmwaren, og dermed øke firmwarens angrepsflate.