Quale architettura è più sicura: x86 o ARM?
Questo è un argomento troppo astratto, davvero. Questo è particolarmente vero quando si considera che la maggior parte delle vulnerabilità di sicurezza risiedono a livelli superiori alla CPU.
ARM ha alcune interessanti funzionalità relative alla sicurezza, come TrustZone, che divide la mappa degli indirizzi fisici in mondi sicuri e normali. Le loro tabelle di pagina supportano gli attributi "execute never" (XN) e "privileged execute never" (PXN) per evitare che programmi e codice kernel eseguano ciò che non dovrebbero. Stanno aggiungendo alcune interessanti estensioni ISA per affrontare certi attacchi di speculazione.
Sono certo che Intel e AMD hanno i loro trucchi nelle maniche. x86-64 ha introdotto NX, che è simile allo scopo di XN di ARM. I sistemi x86 che conosco non hanno il partizionamento della memoria a livello hardware che TrustZone fornisce, ma non vedo perché non possa essere aggiunto. Ammetto liberamente di essere molto meno versato nei dettagli a livello di sistema x86 di quanto lo sia ARM. Mi aspetto anche che abbiano qualcosa qui.
Come per ogni caratteristica hardware, dovete attivarla e usarla correttamente perché sia utile. E se hai una vulnerabilità di sicurezza PEBCAK, il set di istruzioni non importa affatto.
Le implementazioni x86 di fascia alta hanno subito una serie di attacchi side-channel information leak (Spectre, Meltdown). Mentre ARM è stata colpita da alcuni di questi, la maggior parte non ha colpito ARM quasi allo stesso livello. Penso che questo abbia più a che fare con il fatto che (a) i ricercatori si sono concentrati più pesantemente su x86, e (b) le implementazioni x86 hanno spinto i limiti microarchitettonici più duramente delle implementazioni ARM contemporanee.
Come ARM diventa più aggressiva con le sue microarchitetture (vedi: Neoverse), questo potrebbe aprire interessanti vie di attacco.
Quindi, se dovessi sostenere che ARM è più sicuro sulla base di Spectre/Meltdown, sarebbe un po' come sostenere che una macchina è più sicura di un'altra, perché non può andare così veloce. Strettamente vero, ma manca il punto. E se qualcuno fa il pieno alla macchina più lenta, cessa di essere un argomento del tutto.*
*O forse anche un argomento inverso se non aggiornano le gomme, i freni e le sospensioni... FTR, sembra che ARM stia aggiornando tutto questo, e non sto cercando di insinuare il contrario.
Articoli simili
- In termini di prestazioni per unità di consumo energetico, quale architettura CPU è migliore, ARM o x86?
- Pensi, come Linus Torvalds, che ARM non sarà in grado di superare l'architettura x86 nel mercato dei server IT nei prossimi anni?
- Perché i processori ARM sono più efficienti dal punto di vista energetico (prestazioni/watt) dei processori x86?
- Qual è la differenza tra processori ARM e x86?