Passa ai contenuti principali

Meltdown e Spectre Considerazioni sintetiche

La scorsa settimana sono state rese pubbliche delle vulnerabilità particolamente, diciamo così, "interessanti" in quanto sono dovute ai dispositivi hardware e sono diffuse pressoché ovunque.

Comprendere causa, impatto teorico, impatto pratico, conseguenze, difese è complicato. Più complicato che in alti casi.

Sperando di fare cosa utile, rendo pubbliche alcune considerazioni sintetiche. Scrivo quanto segue al meglio delle mie conoscenze. Se qualcuno rilevasse delle imprecisioni lo prego di segnalarmelo. Alla fine delle considerazioni sintetiche ci sono alcune mie brevissime riflessioni più generali.

1) Le vulnerabilità Meltdown e Spectre sono presenti nella stragrande maggioranza dei dispositivi prodotti negli ultimi anni, dagli smartphone ai server.

Sono quindi presenti in praticamente tutti i sistemi operativi ed ambienti di virtualizzazione più diffusi.

2) Tali vulnerabilità possono permettere a del codice maligno di leggere porzioni di memoria alle quali non dovrebbe avere la possibilità di accedere; memoria di altri processi o del sistema operativo (quindi non il disco).

Un codice maligno può quindi, ad esempio, leggere chiavi crittografiche utilizzate da altri processi (in sessioni HTTPS o VPN attive); leggere password o hash di password utilizzate da altri processi; ottenere informazioni sull'utilizzo della memoria sufficienti per neutralizzare altre difese dei sistemi operativi moderni.

3) Lo sfruttamento da remoto di Meltdown è molto difficile. Condizione "quasi necessaria" per sfruttare Meltdown è la presenza di codice maligno sulla macchina. Presenza che l'attaccante deve ottenere per altre vie, diverse da Meltdown.

4) Quanto sopra vale anche per Spectre, con una eccezione molto particolare e molto importante: i browser.

Poiché i browser caricano codici Javascript da remoto ed è di fatto impossibile garantire che questi codici non siano maligni (cioè non tentino di sfruttare vulnerabilità nel browser), Spectre può essere sfruttata da remoto su tutti i browser.

4-bis) L'effettivo sfruttamento di Spectre richiede che l'utente mantenga aperta la pagina ostile per molto tempo.

5) Tutte le organizzazioni di cui personalmente mi fido (no, non chiedetemi l'elenco) raccomandano di applicare le patch corrispondenti a queste vulnerabilità quanto prima. Patch che sono già state rilasciate o che lo saranno nei prossimi giorni. Tipicamente per i sistemi operativi. In alcuni casi anche per i firmware e per alcuni applicativi.

5-bis) In alcune distribuzioni di Linux le patch indispensabili sono già state rilasciate a partire dal mese di Ottobre 2017 e sono generalmente associate al nome KAISER o KPTI. 

La conoscenza di Meltdown e Spectre tra i ricercatori ed i fabbricanti di software ha infatti iniziato a diffondersi a partire dal mese di Giugno 2016 2017. Il disclose pubblico è stato fatto in anticipo rispetto a quanto pianificato perché molti hanno iniziato a rendersi conto che stava bollendo qualcosa di grosso in pentola. Ad esempio, non era chiaro il motivo delle patch KAISER.

5-tris) L'applicazione delle patch ai sistemi operativi/firmware è generalmente associata ad un calo di prestazioni. Quantificarlo è difficile anche perché dipende fortemente dal workload. Nei workload interattivi, non dovrebbe essere molto marcato.

5-quater) Per le macchine Windows, è indispensabile fare attenzione alla eventuale presenza di antivirus già installati. Alcuni antivirus, infatti, sono al momento incompatibili con tali patch e possono causare un "blue screen of death". 

Al link qui sotto c'è un elenco di compatibilità tra antivirus e patch Windows che dovrebbe essere aggiornato dinamicamente. Non posso garantirne la correttezza. E' fornito da una organizzazione di cui mi fido.

Riflessioni finali

A) Molto, molto spesso, sia le organizzazioni sia "i privati" hanno vulnerabilità che sono più facilmente sfruttabili e potenzialmente più "disruptive" di Meltdown e Spectre.

Questa affermazione non deve essere intesa come una sdrammatizzazione di Meltdown e Spectre. Al contrario, vuole essere un invito alla riflessione: se mezzo mondo è entrato in fibrillazione per vulnerabilità meno sfruttabili e meno disruptive di quelle che sono "tipicamente presenti" allora uno dovrebbe porsi qualche domanda.

B) La necessità di aggiornare i sistemi è, appunto, una necessità. Ormai è ampiamente dimostrato. Non può essere considerata come un caso eccezionale da affrontare ogni tanto quando si ha tempo o in emergenza. E' quindi indispensabile (sarebbe quindi indispensabile) organizzarsi di conseguenza.

C) Ogni volta che si verifica un incidente informatico particolarmente grave o viene scoperta una vulnerabilità particolarmente grave, c'è una costante: l'esortazione ad aggiornare i sistemi il prima possibile.

Commenti

Popular Posts

"Ingegneria deve essere difficile"

Il ritaglio di giornale qui sotto ricorda uno degli eventi più non-trovo-un-aggettivo-appropriato del mio periodo di studente di Ingegneria a Pisa. Ricordo che una mattina iniziò a spargersi la voce "hanno murato la porta del dipartimento!".  Andammo subito a vedere ed arrivammo un pò prima dei giornalisti che scattarono questa foto. La porta era murata, intonacata, pitturata di bianco e sovrastata da una scritta "INGEGNERIA DEVE ESSERE DIFFICILE". Le "E" di "INGEGNERIA" erano scritte al contrario perché era una sorta di "marchio di fabbrica" della facoltà di Ingegneria di Pisa. L'aula più grande, quella in cui pressoché tutti gli studenti seguivano i corsi dei primi anni, aveva infatti alcuni bellissimi "affreschi scherzosi" che furono fatti nel corso delle proteste studentesche di qualche anno prima ed in cui la parola "Ingegneria" era appuntoi scritta in quel modo. Si era anche già sparsa la voce di cosa era

Il patch che non era un patch

Quanto segue è un patetico quanto inutile tentativo di distrarmi e non pensare alla pessima prestazione calcistica di ieri sera, decisamente non all'altezza dell'evento e dei nostri gloriosi colori. Nella lezione di "Computer Networks and Principles of Cybersecurity" di ieri, mi è stata posta la domanda " E' possibile che un patch introduca nuove vulnerabilità? ". La mia risposta è stata affermativa, ho evidenziato che un patch è un software, quindi può introdurre errori, vulnerabilità, può fare riemergere errori o vulnerabilità presenti e risolti in versioni precedenti, può correggere la specifica vulnerabilità presumibilmente risolta da quel patch solo in parte. Non è frequente, ma può accadere ed è quindi una possibilità da tenere presente. Uno dei numerosi motivi che rendono così complessa la gestione delle vulnerabilità è anche questo. Stamattina ho letto un esempio molto interessante di quanto abbiamo detto. Pochissime settimane fa Microsoft ha ril

Perché studiare Analisi Matematica???

Un mio caro amico mi ha scritto: ...sono con mia figlia che studia Analisi 1...A cosa serve, al giorno d'oggi, studiare Analisi (a parte sfoltire i ranghi degli aspiranti ingegneri)? Riporto la mia risposta di seguito, forse può "motivare" qualche altro studente. ... Per un ingegnere la matematica è fondamentale perché è un linguaggio ; ed è il linguaggio essenziale per trattare gli argomenti che dovrà affrontare come ingegnere; non sono importanti i contenuti specifici; è importante, anzi fondamentale, che riesca a capirli, ricostruirli etc. ad esempio, chi deve usare l'inglese, lo usa perché in un modo o nell'altro lo conosce; nessuno di noi ha usato esattamente le frasi o i dialoghi o le regole che ha incontrato negli esercizi di inglese o di tedesco; nella matematica è lo stesso; non sono importanti i limiti, le serie, i teoremi di cauchy o che so io; ma se uno non è in grado di capire quel linguaggio allora non sarà in grado di capire davvero quas

40 anni di Internet: Cosa non ha funzionato e perché

Leggo molti documenti tecnico-scientifici per lavoro e, in parte, per "piacere". Molti sono interessanti, alcuni molto interessanti. E' raro che trovi un documento che mi appare illuminante. Questo indicato sotto è uno dei pochi documenti in questa categoria. Sembra banale, in quanto è molto discorsivo e parla di molte cose note: IP, DNS, NAT.... In realtà è profondissimo. Una miniera di riflessioni profonde, sintetiche, focalizzate ed, appunto, illuminanti. A mio parere imperdibile per chiunque abbia un qualche interesse negli aspetti tecnici di Internet. Chi non ha la pazienza di leggerlo per intero, legga almeno gli ultimi due paragrafi. Failed Expectations (l'autore, Geoff Houston , fa parte della Internet Hall of Fame )

ChatGPT: supererebbe il mio esame di Reti di Calcolatori?

Molto probabilmente chi ha a che fare con i corsi di laurea scientifici e tecnologici, come me, ha preso atto della notizia che ChatGPT ha superato esami universitari in giurisprudenza ed economia con un pò, diciamo così, di sufficienza. Pensando "da noi non potrebbe mai succedere; figuriamoci". E' quello che ho pensato io. Poi però ho fatto a ChatGPT qualche domanda di Reti di Calcolatori. Ho quasi cambiato idea. "Quasi" perché nello scritto di Reti di Calcolatori faccio sempre esercizi. Pur non avendoli sottoposti a ChatGPT sono certo che questi esercizi non li sa risolvere. Ma alle "domande tipiche da orale" ha fornito risposte che mi hanno davvero stupefatto. Riporto qui sotto solo un esempio di "dialogo", relativo a validazione di firma digitale e certificati auto-firmati. Risposte sostanzialmente corrette e pertinenti, molto più sintetiche e focalizzate di quelle che ricevo normalmente. E più rapide. Alla fine ha riconosciuto di esser