Intel tabanlı bir Mac için recoveryOS ve tanı ortamları
recoveryOS
recoveryOS, ana macOS’ten tamamen ayrıdır ve içeriğinin tümü BaseSystem.dmg adlı bir disk görüntüsü dosyasında saklanır. BaseSystem.dmg’nin bütünlüğünü doğrulamak için kullanılan ilişkili bir BaseSystem.chunklist de vardır. Bu yığın listesi (chunklist), BaseSystem.dmg’nin 10 MB’lık yığın özetlerinden oluşan bir dizidir. Birleşik Genişletilebilir Firmware Arayüzü (UEFi) firmware’i, yığın listesi dosyasının imzasını değerlendirir; sonra BaseSystem.dmg’deki yığınların birer birer özetini değerlendirir. Bu, yığın listesinde bulunan imzalı içerikle eşleştiğinden emin olunmasını sağlar. Bu özetlerden herhangi biri eşleşmezse yerel recoveryOS’ten başlatma durdurulur ve UEFI firmware onun yerine internetten recoveryOS ile başlatmaya çalışır.
Doğrulama başarılı bir şekilde tamamlanırsa UEFI firmware, BaseSystem.dmg’yi bir RAM disk olarak bağlar ve içindeki boot.efi dosyasını çalıştırır. Ne UEFI firmware’in boot.efi için ne de boot.efi’nin çekirdek için özel bir denetim yapmasına gerek yoktur çünkü işletim sisteminin tamamlanan içeriklerinin bütünlük denetimi zaten yapılmıştır (bu öğeler işletim sisteminin yalnızca bir alt kümesidir).
Apple Tanıları
Yerel tanı ortamını başlatma işlemi, recoveryOS’i çalıştırmayla neredeyse aynıdır. Ayrı AppleDiagnostics.dmg ve AppleDiagnostics.chunklist dosyaları kullanılır ama bunlar da BaseSystem dosyalarıyla aynı şekilde doğrulanır. UEFI firmware, boot.efi’yi çalıştırmak yerine disk görüntüsünün (.dmg dosyası) içindeki diags.efi adlı dosyayı çalıştırır. Bu dosya da, arabirim görevi görebilen ve donanım hatası olup olmadığını denetleyebilen çeşitli UEFI sürücülerini çağırmaktan sorumludur.
İnternetten recoveryOS ve tanı ortamı
Yerel kurtarma veya tanı ortamlarının başlatılmasıyla ilgili bir hata oluşursa UEFI firmware bunun yerine görüntüleri internetten indirmeyi dener. (Kullanıcı, başlatma sırasında özel tuş dizilerini basılı tutarak görüntülerin internetten indirilmesini özellikle de isteyebilir.) İşletim sistemi kurtarma sunucusundan indirilen disk görüntülerinin ve yığın listelerinin bütünlük doğrulaması, bir depolama aygıtından alınan görüntülerle yapıldığı gibi gerçekleştirilir.
İşletim sistemi kurtarma sunucusu bağlantısı HTTP kullanılarak kurulurken indirilen içeriklerin tamamı, daha önce açıklandığı gibi, bütünlük denetiminden geçirilir ve böylelikle ağın denetimine sahip bir saldırganın hilelerine karşı korunur. Tek bir yığının bütünlük doğrulamasından geçememesi durumunda, işlemden vazgeçip hata vermeden önce yığın, işletim sistemi kurtarma sunucusundan 11 kez yeniden istenir.
İnternet kurtarma ve tanı modları 2011’de Mac bilgisayarlara eklendiğinde, daha basit HTTP aktarımı kullanmanın ve UEFI firmware’ine daha karmaşık HTTPS işlevleri uygulayıp böylece firmware’in saldırı yüzeyini artırmaktansa içerik kimlik doğrulamasını yığın listesi mekanizmasını kullanarak işlemenin daha iyi olacağına karar verildi.