I bug Meltdown e Spectre: l’ennesimo fallimento del progresso – Lyceum
mercoledì, 15 agosto 2018
Home > Scienza e tecnologia > Informatica > I bug Meltdown e Spectre: l’ennesimo fallimento del progresso

I bug Meltdown e Spectre: l’ennesimo fallimento del progresso

A partire da gennaio 2018 ha fatto il giro del mondo la notizia di due temibili vulnerabilità presenti nei processori AMD, Intel e ARM (e che riguardano quindi praticamente tutti i dispositivi esistenti, dai computer desktop, ai cellulari, ai tablet), ribattezzate in seguito Meltdown e Spectre. Da alcuni sono state definite come le vulnerabilità più gravi della storia dell’informatica, a causa della loro entità e della loro portata.

Si tratta di due bug dovuti ad una particolare tecnologia che permette di velocizzare i processori implementata fin dal 1995 (ecco perché riguarda tutti i dispositivi): l’esecuzione speculativa. Per comprendere meglio di cosa si tratta bisogna prima capire come si relazionano il software e l’hardware all’interno di un elaboratore: grazie alla modalità di protezione nessun software può accedere direttamente all’hardware ed apportarvi quindi modifiche fisiche: se così non fosse, qualunque programma potrebbe accedere alle memorie veloci (RAM e cache del processore) leggendo i dati delle altre applicazioni. Per impedire ciò l’accesso all’hardware può avvenire soltanto attraverso la mediazione del kernel, ossia la parte software di un sistema operativo più a contatto con l’hardware, il nucleo insomma.

Per accedere all’hardware il software si serve quindi delle chiamate di sistema, anche dette primitive: queste effettuano una richiesta al kernel: se il processo richiedente dispone delle autorizzazioni necessarie, lo stesso kernel fornisce un accesso controllato all’hardware. Questo meccanismo è presente a partire dai sistemi operativi MS-DOS. Negli anni 70, invece, con i computer IBM era ancora possibile l’accesso diretto all’hardware, come testimonia il tasto RSist (“Richiesta Sistema”) presente nelle comuni tastiere a 101 tasti; ormai totalmente inultile, serviva un tempo a richiamare direttamente funzioni a basso livello (ossia a livello hardware) senza alcuna intermediazione del sistema operativo.

L’esecuzione speculativa è una tecnologia che velocizza il processore attraverso appunto una speculazione, ovvero una previsione delle richieste di sistema, che vengono così anticipate: se la previsione si rivela errata, l’operazione viene semplicemente scartata senza conseguenze a livello software

Per gestire il tutto si ricorre ad una rigida gerarchia di privilegi e a due modalità, definite Kernel Mode (che ha il massimo dei privilegi) e User mode (che ha privilegi limitati). Queste due modalità dovrebbero essere totalmente separate e non dovrebbe quindi essere consentito lo switch tra le due ad opera di applicativi software. Sfruttando però Meltdown e Spectre si potrebbe riuscire a bypassare questa “barriera” accendendo così ad indirizzi di memoria riservati ad altri processi. I due bug hanno lo stesso effetto, anche se agiscono in maniera diversa e riguardano difetti di progettazione diversi.

Fino ad oggi, fortunatamente, non sono stati ancora rilevati exploit, ossia programmi in grado di sfruttare queste vulnerabilità a scopi maligni, ma i danni potenziali sono enormi, specialmente a livello server. I bug sono stati scoperti dal giovanissimo ingegnere tedesco di Google Project Zero Jann Horn. Sebbene la notizia si sia diffusa solo a gennaio 2018, le aziende produttrici sono a conoscenza del fatto da giugno 2017, ma hanno preferito tenere nascosta la notizia, fintantoché è stato possibile, allo scopo di evitare ripercussioni sul mercato e cercare di arginare la situazione. L’amministratore delegato di Intel Brian Krzanich, per esempio, ha venduto una parte consistente delle quote societarie, prevedendo un crollo incontrollabile.

Intanto per cercare di arginare Meltdown (che inizialmente si credeva riguardasse soltanto i processori Intel, poi si è scoperto che riguarda anche AMD e ARM, le quali hanno però minimizzato il fatto) sono state diffuse delle patch a opera delle aziende interessate e di quelle che sviluppano i sistemi operativi, che però risultano disastrose nonché ridicole: la separazione delle due modalità sopra descritte ad opera di queste correzioni, porta ad un calo di prestazioni che può raggiungere il 30%!!!

Spectre invece, che riguarda una dimensione ancora più fisica del processore, ad oggi non ha soluzioni (tranne alcune patch che correggono funzioni relative a poche e specifiche applicazioni).

Intanto in molti paesi sta scoppiando il caos e in America sono state intraprese class action contro Intel ed Apple, accusate dagli utenti di negligenza e di aver messo gravemente a rischio la loro sicurezza. Le conseguenze finali di quanto descritto in quest’articolo potrebbero essere imprevedibili.

Tutta la situazione, che risulta quasi surreale, si può inquadrare in un’ottica di falso progresso, che tende a puntare in alto senza possedere gli strumenti necessari: come specificato prima, si tratta di una vulnerabilità presente da più di due decenni, nei quali l’uomo (in questo caso specifico lo sviluppatore), preso dal successo delle nuove tecnologie, che descrivevano una curva verticale di sviluppo, si è illuso di essere onnipotente. Tuttavia, puntualmente, si è trovato ad assistere a “la storia che disfa ciò che il mondo tesse” (Murubutu, Diogene di Sinope e la scuola cinica) e ad essere così costretto a rendersi conto dei propri limiti.

Ecco che, paradossalmente, erano meglio i vecchi sistemi operativi a riga di comando…

 

Lascia un commento

Siamo lieti che vogliate arricchire i contenuti di quest'articolo con eventuali commenti.
Per favore, considerate che i commenti saranno moderati in base a quanto indicato nella nostra comment policy.


L'indirizzo email non sarà pubblicato.

*

code

News & Opinion Magazine del Liceo "Sciascia Fermi"