
macOS-gendannelse og diagnosticeringsmiljøer til en Intel-baseret Mac
macOS-gendannelse
macOS-gendannelse ligger helt separat fra macOS-hoveddelen, og alt indhold bliver opbevaret i et diskbilledarkiv kaldet BaseSystem.dmg. Der findes også en tilknyttet BaseSystem.chunklist, som bruges til at kontrollere integriteten af BaseSystem.dmg. Chunklist er en række hash-værdier til 10 MB-segmenter i BaseSystem.dmg. UEFI-firmwaren (Unified Extensible Firmware Interface) evaluerer signaturen på chunklist-arkivet og derefter hash-værdien for et segment ad gangen i BaseSystem.dmg. Det er med til at sikre, at det stemmer overens med det signerede indhold, der ligger i chunklist. Hvis en af disse hash-værdier ikke stemmer overens, afbrydes starten fra den lokale macOS-gendannelse, og UEFI-firmwaren forsøger at starte fra macOS-internetgendannelse i stedet for.
Hvis godkendelsen går igennem, starter UEFI-firmwaren BaseSystem.dmg som en RAM-disk og initierer det boot.efi-arkiv, der ligger på disken. Det er ikke nødvendigt for UEFI-firmwaren at udføre en specifik kontrol af boot.efi eller for boot.efi at kontrollere kernen, fordi integriteten af det fulde indhold af operativsystemet (som disse elementer kun er en delmængde af) allerede er blevet kontrolleret.
Apple-diagnosticering
Proceduren for start af det lokale diagnosticeringsmiljø er næsten den samme som for start af macOS-gendannelse. Der bliver brugt separate AppleDiagnostics.dmg- og AppleDiagnostics.chunklist-arkiver, men de bliver godkendt på samme måde som BaseSystem-arkiverne. I stedet for at starte boot.efi starter UEFI-firmwaren et arkiv i diskbilledet (.dmg-arkivet) med navnet diagss.efi, som kalder en række andre UEFI-drivere, der kan kommunikere med hardwaren og kontrollere den for fejl.
macOS-internetgendannelse og diagnosticeringsmiljøer
Hvis der sker en fejl under starten af de lokale gendannelses- eller diagnosticeringsmiljøer, forsøger UEFI-firmwaren at hente billederne fra internettet i stedet for. (En bruger kan desuden specifikt anmode om, at billederne bliver hentet fra internettet ved hjælp af en særlig tastesekvens under starten). Integritetsevalueringen af diskbilleder og segmentlister hentet fra macOS-gendannelsesserveren bliver udført på samme måde, som når billeder hentes fra en lagringsenhed.
Forbindelsen til macOS-gendannelsesserveren oprettes via HTTP, men alt hentet indhold bliver alligevel integritetsevalueret som beskrevet tidligere og er dermed beskyttet mod manipulation af personer med ondsindede hensigter, som har skaffet sig kontrol over netværket. I tilfælde af, at et enkelt segment ikke bliver integritetsgodkendt, bliver der anmodet om det igen fra macOS-gendannelsesserveren 11 gange, inden handlingen indstilles, og der vises en fejlmeddelelse.
Da funktionerne til internetgendannelse og diagnosticering blev føjet til Mac-computere i 2011, besluttede man, at det var bedre at bruge den enklere HTTP-transport og håndtere godkendelse af indhold vha. chunklist-mekanismen frem for at implementere den mere komplicerede HTTPS-funktion i UEFI-firmwaren, som ville have udvidet firmwarens angrebsflade.