(Articolo aggiornato l’11/01 per includere lo specchietto sintetico dell’ENISA e le informazioni sull’impatto avuto dai cloud di Epic Games dopo l’applicazione delle patch).

Un importante e misterioso bug nelle CPU Intel (ma probabilmente anche di altri costruttori) sta costringendo gli sviluppatori di tutti i sistemi operativi a riprogettare il kernel, cioè il software alla base di un sistema operativo. Il problema è profondamente radicato nell’architettura dei processori Intel x86/64, ma è possibile anche anche altre architetture siano coinvolte.

Una soluzione del problema produrrà necessariamente un rallentamento importante nelle prestazioni dei computer.

Il bug permette la lettura di porzioni di memoria da parte di applicazioni e processi che in teoria non dovrebbero potervi accedere, permettendo così il furto di informazioni (anche credenziali di accesso). Sono noti due diversi tipi di attacco (con alcune varianti).

 Meltdown: permette alle applicazioni che girano in modalità utente (user mode) di accedere a porzioni di memoria riservate e dai privilegi più alti (kernel mode). È pericoloso, perché piuttosto semplice da sfruttare, ma sarà più facile produrre aggiornamenti che risolvono il problema secondo Google Project Zero. Dovrebbe riguardare “solo” le CPU Intel prodotte negli ultimi 10 anni.

 Spectre: permette alle applicazioni di accedere a porzioni di memoria gestite da applicazioni differenti. Più difficile da sfruttare da parte di attaccanti, ma anche più difficile da rimediare, per via delle numerose varianti possibili all’attacco. Diversamente da Meltdown, riguarda potenzialmente tutte le CPU moderne, di ogni produttore.

Sono teoricamente vulnerabili tutti i sistemi operativi che girano su piattaforma Intel x86, tra cui ovviamente ci sono Windows, Linux e Mac OS.

La casa di sviluppo di videogiochi Epic Games ha pubblicato sul proprio forum un avviso di possibili disservizi nella procedura di login e utilizzo dei suoi giochi online, tra i quali il popolarissimo Fortnite, a causa dell’incremento di utilizzo delle risorse CPU del servizio cloud utilizzato, che è praticamente raddoppiato dopo l’applicazione della patch per Meltdown. Anche se l’impatto effettivo sulle prestazioni varia in base alle specifiche applicazioni, il grafico che accompagna il post sta facendo tremare molti amministratori di sistema, che temono di vedere le proprie applicazioni aziendali bloccarsi, o la componente CPI dei costi dei servizi cloud raddoppiare per far fronte all’aumentato carico di lavoro.

Il balzo nel carico di utilizzo della CPU di un servizio cloud di Epic Games dopo l’applicazione della patch per Meltdown.

Il balzo nel carico di utilizzo della CPU di un servizio cloud di Epic Games dopo l’applicazione della patch per Meltdown.

L’ENISA (Agenzia Europea per la Sicurezza delle Reti e delle Informazioni ha pubblicato un avviso con il seguente specchietto riassuntivo.

VulnerabilitàMeltdownSpectre
Processori colpitiIntelIntel, AMD, ARM, (chip basati su ARM di Apple, Samsung, and Qualcomm)
MetodoOut-of-order executionSpeculative execution, branch prediction
Vettore di attaccoL’attaccante deve essere in grado di eseguire codice sul sistema bersaglio dell’attacco.L’attaccante deve essere in grado di eseguire codice sul sistema bersaglio dell’attacco.

È potenzialmente possibile un exploit remote attraverso un attacco via web basato su JavaScript, per attaccare il browser.

ImpattoLegge la memoria dei processi kernel e la memoria fisica dello spazio utente (escalation dei privilege), permettendo all’attaccare di leggere informazioni riservate dalla memoria del sistema.

In cloud systems, the attack can result in access to secret data of other tenants.

Legge la memoria di un processo bersaglio dell’attacco in esecuzione sul sistema. L’attaccante può trafugare dati riservati legati a uno specific processo..

L’attacco deve essere realizzato ad-hoc per lo specifica applicazione o processo bersaglio.

L’attacco può essere portato a termine anche in un ambiente virtualizzato.

SoluzioniPatch di sicurezza dei sistemi operativi specifiche per Meltdown.

Rimedi a livello hardware nei processori prodotti in futuro.

Patch software per gli specifici processi vulnerabili (per esempio i browser)..

Aggiornamenti di Bios/firmware.

Rimedi a livello hardware nei processori prodotti in futuro.

Di seguito riportiamo le risposte alle domande più comuni sull’argomento. Torneremo ad aggiornare l’articolo mano a mano che saranno disponibili ulteriori informazioni e le patch di correzione.

 

Intel processor kernel bug FAQ

Meltdown/Spectre: qual è il problema in breve?

La natura del bug è estremamente tecnica, ma in parole povere il funzionamento del kernel delle CPU consente ad applicazioni di leggere porzioni di memoria alle quali non dovrebbero normalmente avere accesso. Questo può permettere a un’applicazione di leggere password, documenti e altre informazioni per trasferirle fuori dal PC attaccato.

Cos’è un kernel in una CPU?

Il kernek di una CPU è sostanzialmente un processo invisibile che semplifica il funzionamento delle applicazioni di un computer. Ha il completo controllo sul sistema operativo e sui processi dell’utente. Normalmente, un PC passa dalla modalità utente alla modalità kernel migliaia di volte al giorno durante il normale funzionamento, assicurandosi che le informazioni e i dati fluiscano istantaneamente e senza intoppi. Si può pensare al kernel della CPU come a una divinità che nessuno può vedere, ma tutti possono invocare.

Come posso sapere se il mio PC è a rischio?

La risposta breve è il nostro PC è senz’altro vulnerabile. Non ci sono dati precisi, ma si presume che il bug affligga tutte le CPU Intel x86 prodotte negli ultimi 10 anni, indipendentemente dal sistema operativo utilizzato, per quanto riguarda l’attacco Meltdown. Spectre coinvolge potenzialmente qualsiasi CPU moderna. È quindi in corso di preparazione anche una patch per il kernel Linux per i processori ARM a 64-bit.

Il processore Intel Core i7-8700K “Coffee Lake”.

Il processore Intel Core i7-8700K “Coffee Lake”.

Quindi, se è un problema del chip, spetta a Intel correggerlo?

Sì e no. Sebbene Intel e gli altri produttori di CPU implicate risolveranno il problema nei chip futuri (almeno si spera), le patch per i PC e i server già in circolazione dovranno arrivare dai produttori dei sistemi operativi, perché un aggiornamento del microcode non sarà in grado di risolvere adeguatamente il problema.

Uso un Mac: sono tranquillo, giusto?

Non questa volta. La vulnerabilità colpisce i processori Intel x86, il che significa che anche i Mac sono a rischio. Secondo lo sviluppatore Alex Ionescu, tuttavia, Apple avrebbe già introdotto una misura correttiva con l’ultimo aggiornamento a macOS 10.13.2, rilasciato lo scorso 6 dicembre.

Gli ambienti virtualizzati sono sicuri?

Ahinoi, no. Google è riuscita a sfruttare l’exploit da un’applicazione all’interno di una virtual machine per accedere alla memoria fisica del computer host, permettendo di accedere a una porzione di memoria gestita da un diverso processo, su una differente macchina virtuale.

Questo è un problema potenzialmente devastante per i provider di server virtuali/cloud, che potrebbero non riuscire a garantire la separazione degli ambienti tra due clienti.

Cosa posso fare quindi?

Non molto, a parte aggiornare il proprio PC quando sarà disponibile un update. Visto che il problema è così radicato nel funzionamento di base di un PC, non ci sono impostazioni o precauzioni che si possano prendere come utenti o come amministratori di un sistema, in attesa di soluzioni radicali e definitive. Qualora dei malware che sfruttano la vulnerabilità venissero individuati, gli antivirus dovrebbero essere in grado di rilevarli, per cui conviene assicurarsi di avere sempre l’aggiornamento più recente delle firme.

Quando saranno disponibili le soluzioni?

Gli sviluppatori Linux stanno lavorando furiosamente per risolvere il problema con un aggiornamento del kernel. Ci si aspetta che Microsoft distribuirà la soluzione durante l’aggiornamento del Patch Tuesday previsto per il prossimo martedì 9 gennaio, dopo averlo testato sulle build di anteprima distribuite attraverso il programma Windows Insider. Questa supposizione è corroborata da una dichiarazione di Intel che afferma che “Intel e altri vendor hanno pianificato di rivelare ulteriori informazioni la prossima settimana, quando nuovi update software e firmware saranno disponibili”.

Come indicato sopra, macOS ha già introdotto contromisure nell’ultimo aggiornamento, ed Apple starebbe lavorando a un ulteriore fix da rilasciare con il prossimo macOS 10.13.3.

Dopo l’aggiornamento tutto sarà a posto?

Le patch di aggiornamento elimineranno presumibilmente i rischi, ma non senza effetti collaterali. Limitando e controllando l’accesso del sistema operativo alla memoria, verranno inevitabilmente introdotti dei rallentamenti al funzionamento di ogni computer in tutte le sue operazioni.

Spectre Meltdown informazioni

Quanto più lento diventerà il mio PC?

È complicato da dire.

I processori Intel più recenti, da Haswell (4a generazione) in poi, hanno una tecnologia chiamata PCID (Process-Context Identifiers) che dovrebbe ridurre l’impatto in termini di prestazioni. In più, alcune applicazioni – in particolare i task che sfruttano la virtualizzazione e i carichi di lavoro di data center e cloud – sono più colpiti di altri dal rallentamento. In generale, si ritiene che i rallentamenti potranno andare dal 5 al 30%, in base al task e al modello di processore.

Linus Torvalds, creatore di Linux, ha confermato che l’impatto dipenderà dal tipo di workload: “Alcuni task non saranno colpiti quasi per nulla, se passano tutto il loro tempo nello “user space”, mentre se l’applicazione fa molte chiamate di sistema, si potrebbero avere rallentamenti a doppia cifra”, ha scritto in una mailing list sul kernel Linux.

Michael Larabel, il guru dell’open source dietro al sito web Phoronix, dedicato a Linux, ha lanciato un gruppo di benchmark usando il kernel Linux 4.15-rc6, una build release candidate per il prossimo kernel Linux 4.15 che include le nuove protezioni KPTI per la vulnerabilità Intel CPU. Il processore Core i7-8700K ha visto un importante calo di prestazioni con i benchmark FS-Mark 3.3 e Compile Bench, focalizzati sull’I/O. I database PostgreSQL e Redis hanno sofferto molto, ma in misura minore. Operazioni di encoding video H.264, la compilazione del kernel Linux e le conversioni video con FFmpeg non hanno invece subito rallentamenti.

I risultati sono molto variabili, quindi. Bisogna comunque tenere a mente che la versione del kernek usata non è ancora definitiva, e che i kernek Linux, Windows e macOS sono bestie molto diverse tra loro, per cui i risultati dei test possono non riflettere il comportamento con altri sistemi.

Anche i processori AMD sono colpiti?

ryzen 2

Parrebbe di no, almeno per quanto riguarda Meltdown. In un messaggio alla Linux Kernel Mailing List, Tom Lendacky di AMD ha chiesto che il fix per il Linux “Kernel Page Table Isolation” (KPTI) non venga applicato ai processori AMD.

“I processori AMD non sono soggetti a questo tipo di attacchi”, ha scritto. “La microarchitettura AMD non permette i riferimenti diretti alla memoria, inclusi i riferimenti speculativi (cuore del problema, ndr), che produrrebbero un errore qualora si tentasse di accedere a dati con alti privilegi da una modalità con privilegi inferiori”.

Secondo altre interpretazioni, però, il problema è tipico di come tutti i processori moderni gestiscono l’accesso alla memoria, e questo tirerebbe in causa anche AMD, oltre ad ARM e i processori POWER.

I processori AMD potrebbero finire per essere vittima di danni collaterali, tuttavia. Dipende da come saranno implementate le patch definitive da parte dei produttori dei sistemi operativi. Potrebbero infatti scegliere di ignorare la richiesta di Lendacky e applicare la patch indistintamente a tutti processori x86 e non solo a quelli Intel, per motivi di fretta o per maggior sicurezza.

Dove posso trovare informazioni dei produttori/sviluppatori e link agli aggiornamenti?

Di seguito una lista diffusa dal sito Meltdownattack.com

Link
Intel Security Advisory    /      Newsroom
ARM Security Update
AMD Security Information
Microsoft Security Guidance    /     Information regarding anti-virus software    /     Azure Blog
Amazon Security Bulletin
Google Project Zero Blog    /     Need to know
Mozilla Security Blog
Red Hat Vulnerability Response
Debian Security Tracker
Ubuntu Knowledge Base
SUSE Vulnerability Response
CERT Vulnerability Note
MITRE CVE-2017-5715   /     CVE-2017-5753    /     CVE-2017-5754
VMWare Security Advisory
Citrix Security Bulletin