Windows 10, la prossima versione sarà più veloce grazie a Google Retpoline

La patch Retpoline messa a punto da Google per proteggere i sistemi dall'attacco Spectre v2 sarà integrata nella prossima versione di Windows 10, riducendo l'impatto prestazionale della patch al minimo.

Avatar di Manolo De Agostini

a cura di Manolo De Agostini

Meltdown e Spectre, insieme alle diverse varianti che colpiscono l'esecuzione speculativa delle CPU mettendo in pericolo i dati (talvolta sensibili) degli utenti, rappresentano un pericolo per la sicurezza ma anche un problema di carattere prestazionale.

Le molte patch sviluppate in questi mesi, in alcuni casi, possono portare a un calo delle prestazioni in determinati ambiti - specie con alcuni carichi cloud che coinvolgono l'archiviazione e architetture più datate - fino al 30%. Gli ingegneri di Google sono però riusciti a mettere a punto una tecnica di mitigazione per la variante 2 di Spectre chiamata Retpoline, che impatta in maniera trascurabile sulle prestazioni.

Esistere non significa però automaticamente "usare", quindi non tutti hanno adottato Retpoline come tecnica di mitigazione contro Spectre v2. Finora Retpoline ha trovato ampia diffusione in ambito Linux, mentre Windows si è finora appoggiato a una soluzione messa a punto da Intel e Microsoft, prestazionalmente più gravosa, distribuita tramite aggiornamenti del microcode (BIOS).

La buona notizia è che con la prossima major release di Windows 10, nome in codice 19H1, la mitigazione Retpoline sarà integrata e attiva di default (sempre che per qualche ragione Microsoft non decida di fare marcia indietro). Mehmet Iyigun, che lavora nel team che si occupa del kernel di Windows e Azure, l'ha confermato su Twitter.

"Sì, abbiamo abilitato Retpoline di default in 19H1 insieme a quello che chiamiamo import optimization per ridurre ulteriormente l'impatto prestazionale legato alle chiamate indirette in modalità kernel. Queste due cose insieme riducono l'impatto delle mitigazioni di Spectre v2 a livelli minimi nella maggior parte degli scenari".

Un'ottima notizia per chi non desidera perdere nemmeno una piccola percentuale delle prestazioni del proprio computer, anche se bisogna sottolineare che il problema delle prestazioni a livello di PC tradizionali si può definire generalmente trascurabile. Diverso invece il quadro nel settore server, con impatti anche importanti come scritto in apertura.

C'è un unico neo in questa potenzialmente buona notizia: è necessario passare alla prossima versione di Windows per godere dei benefici di Retpoline. Microsoft non prevede al momento un porting sulle precedenti versioni del sistema operativo, vecchie build di Windows 10 incluse.

Cosa fa Retpoline?

Spectre v2 è una vulnerabilità "branch target injection" che sfrutta il comportamento dell'esecuzione speculativa delle CPU per portare alla fuoriuscita di alcune informazioni che possono poi essere usate in un attacco contro un sistema host.

Secondo Google, le "sequenze" di Retpoline sono un costrutto software che consente ai branch indiretti di essere isolati dall'esecuzione speculativa. Tale soluzione potrebbe essere applicata per proteggere i binari sensibili di un sistema operativo o un'implementazione hypervisor da attacchi branch target injection contro i loro branch indiretti.

Il nome di Retpoline è una combinazione delle parole "ritorno" e "trampolino". Perché trampolino? Perché usando operazioni di ritorno, qualsiasi esecuzione speculativa associata "rimbalzerà" all'infinito.