Perlindungan akses memori langsung untuk komputer Mac
Untuk mendapatkan hasil tinggi pada antarmuka berkecepatan tinggi PCIe, FireWire, Thunderbolt, dan USB, komputer harus mendukung akses memori langsung (DMA) dari periferal. Dengan kata lain, komputer harus dapat membaca dan menulisi RAM tanpa keterlibatan CPU secara terus-menerus. Sejak 2012, komputer Mac telah menerapkan berbagai teknologi untuk melindungi dari serangan DMA, sehingga menyediakan kumpulan perlindungan DMA yang terbaik dan paling lengkap di semua PC.
Perlindungan akses memori langsung untuk Mac dengan Apple silicon
Sistem pada keping Apple berisi Unit Manajemen Memori Input/Output (IOMMU) untuk setiap agen DMA di sistem, termasuk port PCIe dan Thunderbolt. Karena setiap IOMMU memiliki kumpulan tabel penerjemahan alamatnya sendiri untuk menerjemahkan permintaan DMA, periferal yang tersambung melalui PCIe atau Thunderbolt hanya dapat mengakses memori yang telah dipetakan secara eksplisit untuk penggunaannya. Periferal tidak dapat mengakses memori milik bagian lain pada sistem—seperti kernel atau firmware—memori yang ditetapkan ke periferal lain. Jika IOMMU mendeteksi percobaan oleh periferal untuk mengakses memori yang tidak dipetakan untuk penggunaan periferal tersebut, panik kernel akan dipicu.
Perlindungan akses memori langsung untuk Mac berbasis Intel
Komputer Mac berbasis Intel dengan Intel Virtualization Technology for Directed I/O (Teknologi Virtualisasi Intel untuk I/O yang Diarahkan atau VT-d) memulai IOMMU, yang mengaktifkan pemetaan ulang DMA dan mengganggu pemetaan ulang pada awal proses boot untuk memitigasi berbagai kelas kerentanan keamanan. Perangkat keras IOMMU Apple memulai operasi dengan kebijakan penolakan default, sehingga segera saat sistem dinyalakan, sistem secara otomatis memulai pemblokiran permintaan DMA dari periferal. Setelah dimulai oleh perangkat lunak, IOMMU mulai mengizinkan permintaan DMA dari periferal ke area memori yang telah dipetakan secara eksplisit untuk penggunaannya.
Catatan: Pemetaan ulang gangguan untuk PCIe tidak diperlukan di Mac dengan Apple silicon karena setiap IOMMU menangani MSI untuk periferalnya sendiri.
Mulai dari macOS 11, semua komputer Mac dengan Keping Keamanan T2 Apple menjalankan driver UEFI yang memfasilitasi DMA di lingkungan ring 3 yang dibatasi saat driver ini dipasangkan dengan perangkat eksternal. Properti ini membantu memitigasi kerentanan keamanan yang dapat terjadi saat perangkat berbahaya berinteraksi dengan driver UEFI dalam cara yang tidak terduga pada saat boot. Khususnya, hal ini mengurangi dampak kerentanan di driver yang menangani buffer DMA.