Meltdown e Spectre: 2018 da Incubo per Intel

    Il 2017 è stato un anno terribile per la sicurezza informatica; il 2018 si preannuncia peggiore.

    I processori con pre-caricamento violano i controlli per il buffer overflow e consentono l’accesso ad aree di memoria riservate. La correzione è in arrivo ma causa una perdita di performance.

    Meltdown e Spectre

    I cervelloni di Google Project Zero hanno descritto tre vulnerabilità. Suddivise in due tipologie denominate Spectre e Meltdown.

    1. bounds check bypass (CVE-2017-5753) [Spectre]
    2. branch target injection (CVE-2017-5715) [Spectre]
    3. rogue data cache load (CVE-2017-5754) [Meltdown]

    Alla base di tutto c’è il classico problema del Buffer Overflow. Quindi prima capiamo come funziona in generale questa vulnerabilità. Con il Buffer Overflow sfrutti le discrepanze che esistono tra la realtà fisica di un computer e l’astrazione utilizzata per scrivere i programmi. Personalmente lo trovo stupendo. In pratica, quando scrivi un programma organizzi i dati senza preoccuparti troppo di come vengano fisicamente memorizzati nello spazio fisico. Qui nasce il problema: lo spazio fisico continua ad esistere. Se il tuo programma dichiara di voler utilizzare 3 celle di memoria ma poi tenta di leggere la numero 4 allora hai un problema di Buffer Overflow. Stai andando a leggere una cella di memoria che non ti era stata dedicata e che potrebbe contenere dati di un altro programma. Per evitare questo problema i programmatori veri (quelli intelligenti) mettono sempre un controllo prima di eseguire operazioni a rischio. Il controllo si limita a verificare che l’area di memoria che si va a leggere sia stata dedicata al proprio programma. Ora entrano in gioco le vulnerabilità di Spectre e Meltdown. I processori prima di fare i calcoli devono caricare i dati. Questa operazione solitamente è lenta. Quindi i processori di ultima generazione pre-caricano i dati sulla base di supposizioni. Questo vuole dire che caricano i dati della cella numero 4 quando ancora stanno controllando che tu sia autorizzato a pacioccare sulla cella numero 4. Puoi inserire tutti i controlli di alto livello che vuoi ma il processore continuerà ad accedere alla stramaledetta cella numero 4 per poi fare finta di non averlo fatto. Quel piccolo fetentello!

    Arriva la correttiva ma sacrifica le performance

    La vulnerabilità colpisce tutti gli Intel e alcuni AMD in modo poco chiaro. Ubuntu ha già inviato gli aggiornamenti correttivi. Microsoft sta facendo la stessa cosa. Sostanzialmente si tratta di nuovi driver per i processori. I produttori stimano una perdita di performance tra il 5% ed il 30%. I rallentamenti più intensi colpiranno quelle applicazioni che sfruttavano il precaricamento in modo intensivo.

    C’è qualcosa di peggio dei rallentamenti: l’effetto valanga. Le vulnerabilità rilevate colpiscono tutti i processori. Vuole dire che ogni oggetto con un processore è sensibile agli attacchi esattamente come il tuo computer personale. Ed ogni oggetto con un processore deve scegliere tra rimanere vulnerabile o rischiare il rallentamento. Modem e server, ma anche macchine diagnostiche e centraline di controllo. Tutto l’internet delle cose (IoT) deve scegliere tra vulnerabilità o rallentamento.

    Cosa fare per proteggere il tuo computer?

    Fai gli aggiornamenti. Il problema è ad un livello profondo quindi non lo risolvi con qualche impostazione. Devi installare gli aggiornamenti ufficiali che arriveranno da Intel e Microsoft. Ubuntu ha già mandato gli aggiornamenti correttivi. Chiunque non aggiorni si espone al furto completo dei dati. Sicuramente rimarranno molti computer non aggiornati. Quindi nel breve periodo partiranno attacchi a tappeto per sfruttare la vulnerabilità (come è successo in passato con WannaCry). Se aggiorni eviti il problema. Se non lo fai devi aspettarti qualche difficoltà.