This post is also available in: Inglese

Reading Time: 7 minutes

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.

Ma viediamo di capire qualcosa di più su questi due particolari bug.

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. Non è ancora chiaro se i processori AMD sono affetti da questo problema, ma è invece chiaro che alcuni processori ARM invece lo sono.

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 e 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.

Di recente, Oracle ha annunciato che anche alcuni processori Sparc sono affetti da questi problemi:

Oracle crede che alcune versioni di Oracle Solaris su SPARCv9 sono affette dalle vulnerabilità Spectre. […] Oracle sta lavorando alla produzione delle patch per tutte le versioni affette che siano sotto supporto Premium o Esteso

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.

Patching

Purtroppo la soluzione non è una semplice patch a livello software o una nuova versione del microcode del processore (che rappresenta come le funzioni assembly sono implementate) o un nuovo BIOS.

Potenzialmente sono da applicare diverse patch a diversi livelli, come questo tweet sintetizza in modo efficace:

Al momento sono tanti i vendor software che forniscono diverse patch o suggerimenti di come affrontare questi problemi. Alcuni di questi sono:

Lo stesso per il livello hardware:

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.

Intel ha pubblicato alcuni dati in questo post, analizzato diverse generazioni di processori… ma i risultati sembrano un po’ troppo ottimistici (“solo” un degrado del 6-7%).

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:

Share

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