
Protezioni dellâaccesso diretto alla memoria per i computer Mac
Per ottenere una capacitĂ di trasmissione maggiore su interfacce come PCIe, FireWire, Thunderbolt e USB, i computer devono supportare lâaccesso diretto alla memoria (DMA) delle periferiche, ossia queste ultime devono essere in grado di leggere e scrivere sulla RAM senza il coinvolgimento continuo della CPU. Dal 2012, sui computer Mac sono state implementate numerose tecnologie per la protezione DMA, che ad oggi rappresentano lâinsieme di protezioni DMA migliore e piĂš completo disponibile su qualsiasi personal computer.
Protezioni dellâaccesso diretto alla memoria per i Mac dotati di chip Apple
I SoC Apple contengono unâunitĂ per la gestione della memoria di input/output per ciascun agente DMA nel sistema, incluse le porte PCIe e Thunderbolt. Dal momento che ogni unitĂ per la gestione della memoria di input/output ha il proprio insieme di tabelle per la traduzione degli indirizzi per le richieste DMA, le periferiche connesse tramite PCIe o Thunderbolt possono accedere solo alla memoria che è stata esplicitamente associata al loro utilizzo. Le periferiche non possono accedere alla memoria che appartiene ad altre parti del sistema, come il kernel o il firmware, o alla memoria assegnata ad altre periferiche. Se unâunitĂ per la gestione della memoria di input/output rileva il tentativo di una periferica di accedere a una parte di memoria che non le è stata associata, viene attivato un kernel panic.
Protezioni dellâaccesso diretto alla memoria sui Mac dotati di processore Intel
I Mac dotati di processore Intel con Tecnologia di virtualizzazione per I/O diretti (VT-d) di Intel inizializzano lâunitĂ per la gestione della memoria di input/output, abilitando la rimappatura DMA e la rimappatura degli interrupt, nelle primissime fasi del processo di avvio, cosĂŹ da mitigare varie classi di vulnerabilitĂ di sicurezza. Lâhardware dellâunitĂ per la gestione della memoria di input/output di Apple avvia le proprie operazioni con una politica che nega di default le richieste, quindi nellâistante in cui il sistema viene acceso, inizia automaticamente a bloccare le richieste DMA dalle periferiche. Una volta inizializzata dal software, lâunitĂ per la gestione della memoria di input/output inizia a consentire le richieste DMA dalle periferiche alle regioni di memoria che sono state loro esplicitamente associate.
Nota: la rimappatura degli interrupt per le porte PCIe non è necessaria sui Mac dotati di chip Apple perchÊ ciascuna unità per la gestione della memoria di input/output gestisce gli MSI per le proprie periferiche.
A partire da macOS 11, tutti i Mac dotati di chip di sicurezza Apple T2 eseguono driver UEFI che facilitano lâaccesso diretto alla memoria in un ambiente con livello 3 di protezione quando tali driver eseguono lâabbinamento con dispositivi esterni. Questa proprietĂ aiuta a mitigare le vulnerabilitĂ di sicurezza che potrebbero verificarsi quando un dispositivo dannoso interagisce con un driver UEFI in modo inatteso durante lâavvio. In particolare, riduce lâimpatto delle vulnerabilitĂ nella gestione da parte dei driver dei buffer di accesso diretto alla memoria.