Güvenli yazılım güncellemeleri
Güvenlik bir süreçtir; fabrikada yüklenen işletim sistemi sürümünü güvenilir bir şekilde başlatmak yeterli değildir, en son güvenlik güncellemelerini hızlı ve güvenli bir şekilde edinme mekanizması da mevcut olmalıdır. Apple, ortaya çıkan güvenlik sorunlarını gidermek için düzenli olarak yazılım güncellemeleri yayımlar. iPhone ve iPad aygıtı kullanıcıları güncelleme bildirimlerini aygıtta alır. Mac kullanıcıları Sistem Ayarları’nda (macOS 13 veya daha yenisi) ya da Sistem Tercihleri’nde (macOS 12 veya daha eskisi) kullanılabilir güncellemeler bulur. Güncellemeler, en yeni güvenlik düzeltmelerinin hızla uygulanması için kablosuz olarak iletilir.
İşlem güvenliğini güncelleme
Güncelleme işlemi, yalnızca Apple tarafından imzalanmış kodu yüklemek için tasarlanmış ve güvenli başlatma tarafından kullanılan donanım tabanlı güven kökünün aynısını kullanır. Güncelleme işlemi, iPhone ve iPad aygıtlarına veya Başlangıç Güvenliği İzlencesi’nde güvenli başlatma politikası olarak Tam Güvenlik ayarının yapılandırıldığı Mac bilgisayarlarına yalnızca Apple tarafından etkin bir şekilde imzalanmış işletim sistemi sürümlerinin yüklenip yüklenmediğini denetleyen sistem yazılımı yetkilendirmesini de kullanır. Kullanılan bu güvenli işlemlerle, Apple bilinen güvenlik açıklarına sahip eski işletim sistemi sürümlerini imzalamayı bırakabilir ve eski sürümü yükleme saldırılarını engellemeye yardımcı olur.
Daha fazla yazılım güncelleme güvenliği için, yükseltilecek aygıt bir Mac’e fiziksel olarak bağlıyken iOS’in veya iPadOS’in tam kopyası indirilip yüklenir. Ancak kablosuz (OTA) yazılım yüklemeleri için, ağ verimliliğini iyileştirmek amacıyla işletim sisteminin tamamı indirilmeden yalnızca güncellemeyi tamamlamak için gerekli bileşenler indirilir. Dahası yazılım güncellemeleri, İçerikleri Önbelleğe Alma’nın açık olduğu macOS 10.13 veya daha yenisini çalıştıran bir Mac’te önbelleğe de alınabilir; böylece iPhone ve iPad aygıtlarının gerekli güncellemeyi internet üzerinden yeniden indirmesi gerekmez. (Yine de bu aygıtların güncelleme işlemini tamamlamak için Apple sunucularıyla iletişim kurması gerekir.)
Kişiselleştirilmiş güncelleme işlemi
Yükseltme ve güncelleme işlemleri sırasında Apple yükleme yetkilendirme sunucusuna, yüklenecek yükleme paketinin her parçası için şifreli ölçümlerin bir listesini (örneğin iBoot, çekirdek ve işletim sistemi görüntüsü), rasgele bir yeniden göndermeyi önleme değerini (nonce) ve aygıtın benzersiz Özel Yonga Kimliğini (ECID) içeren belirli bilgiler sunulur.
Yetkilendirme sunucusu, gönderilen ölçüm listesini yüklenmesine izin verilen sürümlerle karşılaştırır ve eşleşme bulursa ECID’yi ölçüme ekleyerek sonucu imzalar. Sunucu, yükseltme işleminin parçası olarak imzalanmış eksiksiz veri kümesini aygıta iletir. ECID’nin eklenmesi, istekte bulunan aygıt için yetkilendirmeyi "kişiselleştirir". Yalnızca bilinen ölçümlerin yetkilendirilmesi ve imzalanması sayesinde, sunucu güncellemenin tam olarak Apple’ın sağladığı şekilde gerçekleştirilmesini sağlar.
Başlatma zamanında güven zinciri değerlendirmesi, imzanın Apple’dan geldiğini ve depolama aygıtından yüklenen öğe ölçümünün aygıt ECID’si ile birleştirildikten sonra imza kapsamıyla eşleştiğini doğrular. Bu adımlar, kişiselleştirmeyi destekleyen aygıtlarda yetkilendirmenin belirli bir aygıt için olmasını ve bir aygıta ait eski bir işletim sistemi veya firmware sürümünün başka bir aygıta kopyalanamamasını sağlamak için tasarlanmıştır. Yeniden göndermeyi önleme değeri, bir saldırganın sunucunun yanıtını kaydedip onu aygıtı veya sistem yazılımını değiştirmek için kullanmasını önlemeye yardımcı olur.
Apple T2 güvenlik yongasına sahip Intel tabanlı bir Mac de dahil olmak üzere Apple tarafından tasarlanan Silicon’a sahip herhangi bir aygıtı güncellemek için her zaman Apple’a ağ bağlantısının gerekmesinin nedeni kişiselleştirme işlemidir.
Secure Enclave’e sahip aygıtlarda bu donanım, kendi yazılımının bütünlüğünü denetlemek için sistem yazılımı yetkilendirmesini aynı şekilde kullanır ve eski sürümlerin yüklenmesini önleyecek şekilde tasarlanmıştır.