Mac bilgisayarları için doğrudan bellek erişimi korumaları
PCIe, FireWire, Thunderbolt ve USB gibi yüksek hızlı arabirimlerde yüksek veri akışı elde etmek için bilgisayarların çevre birimlerinin doğrudan bellek erişimini (DMA) desteklemesi gerekir. Bir başka deyişle, çevre birimlerin CPU’yu sürekli işe dahil etmeden RAM’i okuyabilmesi ve RAM’e yazabilmesi gerekir. 2012 yılından beri Mac bilgisayarları DMA’yı korumak için birçok teknoloji uygulamaya koymuş ve bu çalışmalar, tüm PC’ler içinde en iyi ve en kapsamlı DMA korumaları kümesi ile sonuçlanmıştır.
Apple Silicon yongalı Mac için doğrudan bellek erişimi korumaları
Apple’ın yongadaki sistemleri (SoC), PCle ve Thunderbolt kapıları da dahil olmak üzere sistemdeki her bir DMA aracısı için bir Giriş/Çıkış Bellek Yönetimi Birimi (IOMMU) içerir. Her IOMMU’nun DMA isteklerini çevirmek için kendi adres çeviri tabloları kümesi olduğundan PCle veya Thunderbolt yoluyla bağlı çevre birimler yalnızca kullanımları için açıkça eşlenmiş olan belleğe erişebilir. Çevre birimler, diğer çevre birimlere atanan sistem belleğinin çekirdek veya firmware gibi diğer bölümlerine ait belleğe erişemez. Bir IOMMU, çevre birimin kendi kullanımı için eşlenmemiş belleğe erişme girişimini algılarsa bir çekirdek paniği başlatır.
Intel tabanlı bir Mac için doğrudan bellek erişimi korumaları
Intel Yönlendirilen G/Ç İçin Sanallaştırma Teknolojisi’ne (VT-d) sahip Intel tabanlı Mac bilgisayarları, çeşitli güvenlik açığı sınıflarını azaltmak için başlatma işleminin en başlarında DMA yeniden eşlemesini ve kesinti yeniden eşlemesini etkinleştirerek IOMMU’yu ilklendirir. Apple IOMMU donanımı saptanmış bir reddetme politikası ile işleme başlar, bu nedenle sistem açıldığı an çevre birimlerden gelen DMA isteklerini otomatik olarak engellemeye başlar. Yazılım tarafından ilklendirildikten sonra, IOMMU’lar çevre birimlerden kendi kullanımları için açıkça eşlenmiş olan bellek bölgelerine gelen DMA isteklerine izin vermeye başlar.
Not: Her IOMMU kendi çevre birimleri için MSI’leri işlediğinden PCle için kesinti yeniden eşleme, Apple Silicon yongalı bir Mac’te gerekli değildir.
macOS 11’den itibaren Apple T2 güvenlik yongasına sahip tüm Mac bilgisayarları, harici aygıtlarla eşlendiklerinde sınırlı halka 3 ortamında DMA kullanan UEFI sürücülerini çalıştırır. Bu özellik, kötü amaçlı bir aygıt başlatma zamanında bir UEFI sürücüsüyle beklenmedik şekilde etkileşimde bulunduğunda oluşabilecek güvenlik açıklarını azaltmaya yardımcı olur. Özellikle, güvenlik açıklarının DMA arabelleklerini yöneten sürücülerdeki etkisini azaltır.