Un importante aggiornamento – Ancora in attesa di commenti ufficiali sia da Intel che, per quanto le riguarda, da Apple o di spiegazioni tecniche da fonti affidabili, c'è qualche intervento interessante su Twitter (#KPTI) e soprattutto questo thread che spiega che l'impatto della patch sulle prestazioni dei Mac sarà minimale (come spiegato sotto, rallentamenti invece del 5-30% su Win e Linux). Il funzionamento di macOS sembra infatti prevedere una situazione come quella creata dal bug di Intel e quindi in un certo modo aggira il problema con un meccanismo chiamato "Double Map". Hell yeah. MacRumors sta seguendo la discussione e integrando con le informazioni che stanno uscendo man mano sulla questione.
Mentre in USA stanno ancora a fare colazione e in Italia aspettiamo gli articoli da copiare, la questione, gravissima, è questa: i processori Intel degli ultimi dieci anni sono piagati da una falla di sicurezza hardware (= irreparabile) che rende accessibili le informazioni custodite dal kernel di un qualunque OS ai processi avviati a livello utente (programmi, applicazioni, JavaScript che appestano i siti). La notizia ha cominciato a girare ieri sera, la prima segnalazione è stata sull'inglese Register (articolo molto tecnico, una sintesi più comprensibile su 9to5Mac, ora anche una su Verge).
In attesa che qualcuno competente e paziente spieghi come funzioni esattamente la cosa (è facile capire un bug software, ma un bug hardware che cos'è? Una giuntura di silicio storta?), quello che accade è grossolanemente spiegabile così: un OS funziona a due livelli distinti, uno è il kernel, l'altro è quello che gira a livello utente (i nostri clic che aprono un programma, un'app, con processi più o meno trasparenti), i secondi, grazie alla falla, riescono ad accedere direttamente al primo, e non dovrebbe succedere. Quando apriamo un browser, per esempio, il grosso è nascosto dietro le quinte: parser, rendering, ma anche tracker, profiler, javascript innocui o maliziosi. Questi processi hanno bisogno di accedere alla CPU, alla memoria, ai dispositivi di I/O, e questo livello di operazioni è gestito dal kernel ("guscio"). Un utente, anche con credenziali di superuser, non ha (anzi, non dovrebbe avere), ovviamente, accesso a questo livello del sistema operativo, che è fatto apposta anche per tenere blindate informazioni critiche come le password di amministrazione del sistema o di accesso all'homebanking. Un'app che ha bisogno di accedere a questo tipo di informazioni, lo fa delegando la richiesta al processore, che recupera l'informazione e la utilizza per completare la richiesta dell'app, che rimane quindi fuori dall'accesso diretto a queste chiavi. Scusa, mi passi la nutella chiusa a chiave nella credenza? Ora, i processori Intel sono progettati in modo tale che questa operazione non chiude l'accesso di questi dati alle app avviate da utente. In che modo questo avvenga, in cosa consista esattamente il difetto, ci deve essere spiegato.
Un'applicazione deve ovviamente essere appositamente truccata (hackata) per poter sfruttare la falla, ed esserne previamente a conoscenza. Adesso ne siamo a conoscenza. Ma a sfuttare il buco può essere anche qualunque persona metta fisicamente mano a un computer. Dai, portiamo il computer dal tecnico?
Essendo un difetto di progettazione a livello hardware, il guaio riguarda qualunque sistema operativo. La notizia infatti è venuta a galla non come falla delle CPU Intel, ma come fix di Linux e Windows a grave falla hw di Intel. Anche macOS dovrà mettere mano a una patch. Il problema, di tutti, è che stavolta davvero non si tratta di un fix ma appunto di una patch che non elimina il buco ma ci mette sopra una pessima pezza software. Pessima perché per evitare l'accesso dei processi user al livello kernel della memoria bisogna interrompere e deviare il normale interscambio app/kernel in modo che un'app non ceda più un processo al processore (accedendo al kernel) ma ricavi quelle informazioni da una zona di memoria extra (che verrà creata da istruzioni software dalla patch) tenuta protetta e separata. Operazione sgraziata e dispendiosa che rallenta i processi da un minimo del 5% (ma altri su Linux dicono del 17%) fino a un 30%. Evviva.
È ridicolo. SkyLake che diventa merda perché esce CabyLake che è più veloce di una scoreggia, CabyLake che poi è monnezza perché esce CoffeeLake che va come i razzi di Kim.
Sì, esattamente come i razzi di Kim che manco si sa dove vanno a cadere.
È marketing e ce la vendono come avanzamento tecnologico. Tutta quella potenza di calcolo, sprecata per correggere un enorme difetto di progettazione passato sotto silenzio per l'inezia di dieci anni.
Il tutto dalla scrivania al cloud.
Molto, molto interessante.
Ma non so se interessa.
Apple, non dovevi passare a X86 😩
È sempre colpa tua :))
Non sarà mai troppo presto quando finalmente si svilupperanno in casa anche CPU per computer.
Nel frattempo, c'è da augurarsi che Intel stia ancora zitta perché impegnata a preparare scuse giapponesi: 土下座 (no, non 切腹).