![](https://help.apple.com/assets/6537FB06A074DBB5E802EA07/6537FB31280588A5490B6E1D/it_IT/52d714626638d3391623c853be0c593b.png)
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.