Questo post è disponibile anche in: Inglese

Dopo poche settimane dalla scoperta di una possibile falla di sicurezza nei processori Intel, tra l’altro non ancora completamente risolta visto che impatta anche i nuovi processori Skylake, ci sono delle nuove minacce a livello hardware.

Meltdown e Spectre sono delle vulnerabilità alquanto serie che affliggono la maggior parte dei processori esistenti sul mercato, rendendo quindi potenzialmente attaccabili sistemi come personal computer, server, dispositivi mobile, ma anche molti servizi di tipo cloud.

Queste vulnerabilità riguardano molte famiglie di CPU, incluse quelle di AMD, ARM e Intel, e poiché lavorano ad un basso livello, qualunque sistema operativo che giri su di esse è potenzialmente colpito.

Purtroppo, a differenza di quanto avvenuto in passato per problemi a livello di CPU, in questo caso non è risolvibile con un banale aggiornamento del microcode del processore, anche perché si tratta di un vero e proprio errore progettuale ed architetturale. Al momento l’unica soluzione immediata è quella di aggiornare il sistema operativo.

Meltdown

Meltdown è stata la prima falla ad essere individuata e descritta. Meltdown riguarda principalmente le CPU Intel realizzate dal 1995 ad oggi (ad esclusione delle famiglie Intel Itanium e gli Atom pre 2013) che utilizzano un’architettura di esecuzione dinamica. Tra le due, questa è la vulnerabilità più facile da sfruttare ed è anche quella più semplice da correggere.

Meltdown è in grado di annullare la barriera fisica che isola le applicazioni a livello utente dal kernel, permettendo l’esecuzione di codice in grado di ottenere dati sensibili da una memoria di alto livello, virtualmente inaccessibile.

I sistemi potenzialmente affetti vanno dai desktop, ai portatili ai server e a tutte le infrastrutture usate nei cloud (in stragrande maggioranza utilizzano processori Intel), questo indipendentemente dal sistema operativo.

Come scritto però è facile proteggersi applicando le opportune software patch per i sistemi operativi.

CVE-2017-5754 is the official reference to Meltdown.

Spectre

Spectre agisce in maniera più subdola e risulta più difficile da contrastare e – fortunatamente – da sfruttare. La vulnerabilità inganna altre applicazioni completamente prive di errori e le porta ad accedere a parti di memoria al di fuori dalla loro competenza, in modo da ottenere dati sensibili.

Nel lungo periodo Spectre potrebbe rappresentare un problema molto più importante di Meltdown, dal momento che sembra poter molte più CPU, non solo quelle Intel, ma anche ARM o AMD. Anche perché non ha una semplice soluzione some nel caso di Meltdown: è più difficile da usare come exploit, ma è anche molto più complicato da proteggere.

Anche in questo caso si possono utilizzare delle software patch a livello di sistema operativo, ma potrebbero non bastare o potrebbero servirne di più per i diversi pattern di attacco.

In questo caso praticamente qualunque sistema è colpito: non solo i desktop, i portatili, i server e tutte le infrastrutture usate nei cloud… ma poiché anche i processori ARM sono affetti dal problema, potenzialmente anche i tablet e gli smartphone!

CVE-2017-5753 and CVE-2017-5715 are the official references to Spectre.

Conclusioni

La maggior parte dei processiri è potenzialmente affetta da almeno uno (o entrambi) dei problemi descritti in precedenza. In realtà ad oggi si considerano sicuri i processori ARM11 usati dai Raspberry Pi e i processori RISC-V. Però se si considera la diffusione dei processori colpiti, si capisce come il problema si potenzialmente di larga scala.

Quesit bug sono veramente seri, visto che agiscono a livello hardware e con privilegi maggiori di quelli del sistema operativo. Rendendo anche difficile individurare eventuali tracce di attacco dai normali log!

Va detto però che per utilizzare i proof-of-concept exploit attuali, è necessario eseguire particolari istruzioni con un accesso locale al sistema. Purtroppo può anche essere eseguito da un browser. Mozilla ha annunciato che Firefox non è totalmente protetto, tuttavia l’utilizzo di versioni pari o superiori alla 57 possono ridurre i rischi di un attacco, mentre Google ha confermato che migliorerà il livello di sicurezza con il rilascio di Chrome 64 nel corso di questo mese.

L’unica soluzione, al momento, è quella di applicare le opportune patch a livello di sistema operativo. Ma anche a livello di hypervisor, se si utilizzano macchine virtuali! Vi saranno anche patch a livello di firmware e BIOS, fornite da molti hardware vendor, per migliorare l’efficacia delle patch a livello di sistema operativo.

Ovviamentei  cloud provider dovranno fare altrettanto. Al momento la prima a muoversi è stata Google, ma seguiranno certamente Amazon (per i servizi AWS) e Microsoft (per Azure)… sarà sicuramente interessante vedere come si muoveranno e come informeranno i clienti i piccoli cloud provider.

Per quanto riguarda l’impatto di queste patch sulle prestazioni si parla infatti di un degrato possibile che si aggirerà tra il 5% e il 20% a seconda del caso. Ma ancora non vi sono dati reali e misure precise. Red Hat è stata tra le prime a fornire possibili indicazioni a riguardo.

Curiosità riguardo gli storage: visto che sono oramai quasi tutti basati su processori Xeon (e quindi vittima di entrambi i problemi), ci può essere un impatto serio anche su questi sistemi? Benché potenzialmente attaccabili, bisogna dire che gli storage, normalmente, non eseguono programmi esterni… peccato che vi siano storage iper-convergenti o storage con app di terze parti… in questo caso sarà interessante vedere quali saranno gli sviluppi futuri di questi problemi su questi particolari storage.

For more information see also:

In the last month, this post has already been read 27 times!

Andrea MauroAbout Andrea Mauro (2593 Posts)

Virtualization & Cloud Architect.
VMUG IT Co-Founder and board member. VMware VMTN Moderator and vExpert 2010-17. PernixPro 2014-16. Dell TechCenter Rockstar 2014-15. Microsoft MVP 2014-16. Veeam Vanguard 2015-17. Nutanix NTC 2014-17.
Several certifications including: VCDX-DCV, VCP-DCV/DT/Cloud, VCAP-DCA/DCD/CIA/CID/DTA/DTD, MCSA, MCSE, MCITP, CCA, NPP.


Related Post

Share