![](https://help.apple.com/assets/6537FB06A074DBB5E802EA07/6537FB31280588A5490B6E1D/da_DK/52d714626638d3391623c853be0c593b.png)
Direct Memory Access-beskyttelse på Mac-computere
For at opnå høj dataoverførselshastighed på højhastighedsforbindelser som PCIe, FireWire, Thunderbolt og USB skal computere understøtte direkte hukommelsesadgang (DMA) fra eksterne enheder. Dvs. at de skal kunne læse og skrive til RAM, uden at CPU’en er involveret hele tiden. Siden 2012 er Mac-computere blevet forsynet med adskillige teknologier, der beskytter DMA, og har nu de bedste og mest omfattende DMA-beskyttelsesforanstaltninger på nogen pc.
Foranstaltninger til beskyttelse af DMA på en Mac med Apple Silicon
Apple SoC’er (System on Chip) indeholder en Input/Output Memory Management Unit (IOMMU) for hver DMA-agent i systemet, herunder PCIe- og Thunderbolt-porte. Da hver IOMMU har sit eget sæt tabeller til adresseoversættelse, som oversætter DMA-anmodninger, kan eksterne enheder tilsluttet via PCIe eller Thunderbolt kun få adgang til hukommelse, der er knyttet eksplicit til deres brug. Eksterne enheder kan ikke få adgang til hukommelse, der tilhører andre dele af systemet, f.eks. kernen eller firmware, eller hukommelse tildelt til andre eksterne enheder. Hvis en IOMMU registrerer, at en ekstern enhed forsøger at få adgang til hukommelse, der ikke er knyttet til den pågældende enheds brug, udløser den en “kernel panic”.
Foranstaltninger til beskyttelse af DMA på en Intel-baseret Mac
Intel-baserede Mac-computere med Intel Virtualization Technology for Directed I/O (VT-d) initialiserer IOMMU, så DMA-gentilknytning og afbrydelse af gentilknytning aktiveres meget tidligt i startprocessen for at modvirke forskellige klasser af sikkerhedshuller. Apples IOMMU-hardware starter handlingen med en politik, der som standard afviser ekstern start. I det øjeblik der tændes for systemet, begynder det derfor automatisk at blokere DMA-anmodninger fra eksterne enheder. Efter IOMMU’erne er initialiseret af software, begynder de at tillade DMA-anmodninger fra ydre enheder til hukommelsesområder, der er knyttet eksplicit til deres brug.
Bemærk: Afbrydelse af gentilknytning til PCIe er ikke nødvendig på en Mac med Apple Silicon, da hver IOMMU håndterer MSI’er for sine egne eksterne enheder.
Fra macOS 11 afvikler alle Mac-computere med en Apple T2-sikkerhedschip UEFI-drivere, der tilvejebringer DMA i et begrænset ring 3-miljø, når driverne danner par med eksterne enheder. Denne egenskab bidrager til at mindske de sikkerhedshuller, der kan opstå, når en enhed med skadeligt indhold interagerer med en UEFI-driver på en uventet måde under starten af systemet. Den mindsker især effekten af sikkerhedshuller i en drivers håndtering af DMA-buffere.