Problemi ai microprocessori

All’inizio del 2018 è scoppiato il caso dei microprocessori interessati da un problema di accesso non autorizzato ad alcune aree di memoria del sistema.

I problemi principali, fin’ora, sono sostanzialmente due e vanno sotto il nome di MELTDOWN e SPECTRE.

MELTDOWN (CVE-2017-5754) interessa tutte le CPU Intel non-Itanium degli ultimi (almeno) 10 anni. In altre parole, con qualche trascurabile e inutile eccezione, “tutte”. Questo baco permette a programmi non privilegiati di accedere alla sola area di memoria del kernel del sistema operativo.

SPECTRE (CVE-2017-5753, CVE-2017-5715) interessa ogni tipo di CPU che esegue più istruzioni in parallelo, dai PC ai telefoni (e magari pure il vostro televisore). Questo baco permette a programmi non privilegiati di accedere all’area di memoria di altri programmi.

In condizioni normali, ovvero se questo baco non ci fosse, ci si aspetta che ciascun programma acceda solamente alle proprie aree di memoria assegnate dal sistema operativo.

Su quali siano esattamente queste particolari condizioni non ci sono ancora dettagli perché chi sta rilasciando le patch ha ancora un vincolo di segretezza, ma basti pensare che anche Mozilla ha annunciato delle modifiche a Firefox per mitigare questo problema.

In Google Crome si può abilitare l’opzione Full Site Isolation (o Strict Site Isolation) qui chrome://flags/#enable-site-per-process (copiare la parte evidenziata, incollarla nella barra dell’indirizzo, abilitare l’opzione e riavviare Chrome) in attesa che le versioni pubblicate dopo il 23 gennaio mitighino il problema. Dopo aver modificato il parametro è necessario riavviare il browser.

Sempre in tema di browser, qualche malintenzionato potrebbe nascondere del codice nefasto nelle pubblicità, quindi aumentare quanto possibile i blocchi anti-pubblicità potrebbe aiutare.

Chi vuole approfondire i dettagli tecnici può leggere questa pagina scritta da una delle persone che ha scoperto il problema, ma attenzione perché non è esattamente una passeggiata.

I vendor sono già all’opera con le patch e i bollettini di sicurezza:

Per verificare se un sistema è interessato da questi problemi Alex Ionescu ha creato SpecuCheck. Se si esegue il programma e appare il messaggio Your system either does not have the appropriate patch, or it may not support the information class required significa che il sistema non ha le patch adatte per correggere i problemi.

Salvo dove indicato diversamente, una patch applicata a livello di hypervisor protegge solamente lo stesso hypervisor e non protegge le macchine virtuali ospitate, che andranno patchate singolarmente.

I servizi maggiormente coinvolti da questo problema sono quelli in cui molte persone sconosciute o difficilmente controllabili accedono al medesimo server fisico con la possibilità di eseguire codice su quel server.

In questa fascia ricadono: server terminal/RDP, server pubblici con accesso SSH, server condivisi, VPS, servizi di cloud computing o computing as a service.

Nel momento in cui questo articolo è stato scritto Azure e AWS hanno appena annunciato delle interruzioni programmate dei servizi per aggiornare i sistemi.

Fino al 3 gennaio Intel ha cercato, in modo un po’ pietoso, di lavarsene le mani addossando la colpa ai sistemi operativi (versione archiviata) e adducendo come attenuante il fatto che altri vendor di CPU sarebbero interessati dal problema:

Il 4 gennaio la pagina è stata modificata dopo che Intel ha deciso di distribuire una patch del microcodice per sistemare il problema.

Nelle prossime settimane bisognerà verificare sul sito del produttore se è disponibile un aggiornamento del BIOS dei propri sistemi. Alcuni produttori, come HPE, richiedono un contratto di assistenza attivo per poter scaricare l’aggiornamento del BIOS.

Ovviamente Microsoft nel suo articolo relativo ai server citato sopra dice di contattare anche gli OEM:

Insomma: il blame game è già nel vivo e nessuno vuole avere gli avvocati alla porta.

Google ha pubblicato dei suggerimenti su come mitigare il problema con degli accorgimenti a livello software; anche questo articolo è molto tecnico.

In tutto questo spiccano le sagge parole di Linus Torvalds:

Why is this all done without any configuration options?

A *competent* CPU engineer would fix this by making sure speculation
doesn't happen across protection domains. Maybe even a L1 I$ that is
keyed by CPL.

I think somebody inside of Intel needs to really take a long hard look
at their CPU's, and actually admit that they have issues instead of
writing PR blurbs that say that everything works as designed.

.. and that really means that all these mitigation patches should be
written with "not all CPU's are crap" in mind.

Or is Intel basically saying "we are committed to selling you shit
forever and ever, and never fixing anything"?

Because if that's the case, maybe we should start looking towards the
ARM64 people more.

Please talk to management. Because I really see exactly two possibibilities:

 - Intel never intends to fix anything

OR

 - these workarounds should have a way to disable them.

Which of the two is it?

Considerata la situazione in evoluzione, questo articolo viene aggiornato appena escono nuove informazioni.

Autore: Luigi Rosa

Consulente IT, sviluppatore, SysAdmin, cazzaro, e, ovviamente, geek.

9 pensieri riguardo “Problemi ai microprocessori”

    1. Sì e sì.

      PER ORA sembra che il problema interessi “solamente” la lettura di aree di memoria, ma per le CPU ad utilizzo condiviso (cloud computing, per dirne una) quel “solamente” è un understatement di proporzioni… britanniche! 😀

      È necessario poter eseguire codice sul computer vittima, quindi un web server pubblico con tutte le patch di sicurezza del server http e i firewall ben configurati e’ meno vulnerabile a questo attacco di un sistema di cloud computing.

      1. Beh, è normale che nessuno vuole che sia possibile leggere i dati privati della sua azienda ospitati da AWS. Spero che i fornitori di servizi Cloud Computing patchino al più presto

  1. E si… stavolta son cavoli amari.
    Per Intel il 2018 non sarà un bell’anno… mi sa che sarà l’anno in cui Amd guadagnerà qualche % di quota di mercato.

  2. Ma le modifiche al microcode risolveranno totalmente il problema anche se con qualche perdita di performance?
    Anche così però TUTTI i PC, desktop, tablet saranno di colpo obsoleti, usciranno nuove CPU e Intel farà affari d’oro.

    1. Io sarei molto cauto a presumere che uno corra a prendere un PC nuovo solo perche’ e’ piu’veloce di quello vecchio, anche perche’ che il nuovo PC sia piu’ veloce di quello vecchio e’ un fatto da che esistono i PC. Sono PC, non iPhone. 😀

      L’impatto esatto delle performance lo sapremo solamente quando verranno installate tutte le patch, la situazione e’ in evoluzione.

  3. Resto perplesso sul funzionamento di SpecuCeck.
    L’ho provato su due sistemi, uno aggiornato e uno no. In entrambi i casi non ha segnalato nulla.

    1. Se appare solamente «Your system either does not have the appropriate patch, or it may not support the information class required» significa che il sistema non e’ patchato e vulnerabile

Spazio per un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.