Come verificare se il nostro PC è vulnerabile a Spectre e Meltdown

Se ultimamente non avete vissuto su un isola deserta, avrete sentito sicuramente parlare della scoperta delle vulnerabilità Spectre e Meltdown che affliggono i processori ARM, Intel e AMD.

Vediamo in modo semplice come verificare se il nostro PC è vulnerabile a Spectre e Meltdown.

Prima di tutto una breve spiegazione delle 2 vulnerabilità più famose di questo periodo, senza dilungarsi troppo ed entrare in tecnicismi, visto che ormai ne parlano e ne hanno parlato tutti.

Meltdown

Vulnerabilita che affligge i processori Intel, consente ad un processo locale di leggere il contenuto della memoria kernel e di qualunque area della memoria utilizzata dal processo stesso.

Spectre

Vulnerabilità che affligge tutti i processori, quindi Intel, Amd e ARM, consente ad un processo di leggere il contenuto della memoria utilizzata da altri processi, anche la memoria Kernel come evidenziato da Google Project Zero https://googleprojectzero.blogspot.it/2018/01/reading-privileged-memory-with-side.html
Questa vulnerabilità la possiamo “considerare” come la più importante, per vari motivi.

Come verificare se il nostro PC è vulnerabile a Spectre e Meltdown

Microsoft ha rilasciato uno script PowerShell che permette di verificare se il nostro pc è vulnerabile a Spectre e Meltdown.
Esistono anche altri tool che automatizzano la verifica, ma vi consiglio di utilizzare questo tipo di verifica, perchè lo considero il metodo più pulito.

Prima di tutto se utilizzate Windows 7, scaricare ed installare se non presente, Windows Management Framework 5.0 in questo modo avremo una PowerShell aggiornata.

Aprite adesso PowerShell con diritti di Amministratore (Tasto destro e poi esegui come amministratore)

Come verificare se il nostro PC è vulnerabile a Spectre e Meltdown

scrivete adesso nel prompt dei comandi

Install-Module SpeculationControl

Confermate quando richiesto con S e poi premete invio

Come verificare se il nostro PC è vulnerabile a Spectre e Meltdown

Adesso autorizziamo l’esecuzione dello script scrivendo:

$SaveExecutionPolicy = Get-ExecutionPolicy
Set-ExecutionPolicy RemoteSigned -Scope Currentuser

Come verificare se il nostro PC è vulnerabile a Spectre e Meltdown

Infine scriviamo

Import-Module SpeculationControl
Get-SpeculationControlSettings

e premiamo sempre invio

Come verificare se il nostro PC è vulnerabile a Spectre e Meltdown

Nell’esempio sopra riportato, viene indicato che sono state installate solo le patch del sistema operativo, per una protezione completa da Spectre è necessario aggiornare anche il BIOS della scheda madre. In questo caso bisogna controllare il sito del produttore.

Windows OS support for PCID performance optimization is enabled: True [not required for security]

Significa che l’applicazione delle patch non comporterà un calo drastico delle performance.

Una volta eseguito anche l’aggiornamento del BIOS della scheda madre e del microcode del processore con i firmware rilasciati dal produttore, dovremo trovarci di fronte alla seguente situazione:

Come verificare se il nostro PC è vulnerabile a Spectre e Meltdown

Adesso ripristiamo l’ autorizzazione degli script originaria scrivendo

Set-ExecutionPolicy $SaveExecutionPolicy -Scope Currentuser

premere invio

poi confermare con S seguito da invio

Come verificare se il nostro PC è vulnerabile a Spectre e Meltdown

e poi chiudiamo PowerShell scrivendo

exit

seguito sempre da invio

Testare se il browser in uso è vulnerabile a Spectre:

Segnalo infine anche questo sito dove è possibile verificare se il browser in uso è vulnerabile a Spectre: https://xlab.tencent.com/special/spectre/spectre_check.html

Sono uscite varie patch e altre ne usciranno, anche se al momento non sono noti exploit capaci di sfruttare Spectre e Meltdown, voglio segnalare che non bastano le patch dei sistemi operativi, bisognerebbe aggiornare anche il BIOS della scheda madre, e in questo caso bisogna controllare sul sito del produttore se ha rilasciato o rilascerà in futuro qualche nuovo firmware ad hoc per “chiudere” queste vulnerabilità.

L’utente dovrebbe essere comunque indotto ad eseguire del codice sul suo sistema (e fino a qui nulla di nuovo…), discorso diverso invece lato server, immaginate ad esempio un ambiente virtualizzato con diverse macchine in esecuzione, in teoria una macchina creata ad hoc potrebbe leggere il contenuto della memoria delle altre macchine (fantascienza?)

Autore dell'articolo: Alessio

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *