72 milioni di computer sono stati resi vulnerabili da un problema di Steam

steam

Il mercato PC si divide grossolanamente in due frangenti: quelli che utilizzano Steam e quelli che invece preferiscono una pletora di differenti store digitali. Nel corso dell’ultimo anno abbiamo visto nascere e crescere una lunghissima serie di polemiche riguardanti Epic Games Store, l’ultimo ad essere entrato nell’ambiente, e la sua sicurezza al soldo di società cinesi e così via.

Nonostante questo è necessario sottlineare che Steam è tutto fuorché inattaccabile: lo store di Gabe Newell ha dalla sua una storia di attacchi hacker e di vulnerabilità come praticamente qualsiasi altro software sulla faccia della terra. Steam, con i suoi novanta milioni di utenti mensili è qualcosa di molto simile ad un santo graal ripieno di dati e di computer su cui poter far girare applicativi malevoli; la vulnerabilità in questione, funzionante solo su Windows 10, ha un range di 72 milioni di possibili computer da infettare.

Già nel corso di quest’anno abbiamo visto la piattaforma di Gabe Newell venir curata da alcune gravi bug: questo permetteva ad utenti malintenzionati di generare quantità infinite di chiavi di gioco mentre l’altro permetteva ad utenti malintenzionati di fare razzia di dati personali in modo estremamente semplice e rapido.

Numeri che fanno girare la testa e che sicuramente avranno fatto preoccupare più di un qualcuno nella comunità dedicata alla cybersicurezza; vediamo insieme cosa è successo, come funziona la suddetta vulnerabilità e se Steam ha rilasciato una patch ad hoc.

 

Come funziona questa vulnerabilità di Steam?

steam ui

Vasily Kravets, un ricercatore impegnato nella sicurezza informatica, ha rilasciato qualche giorno fa una zero-day vulnerability per la versione Windows di Steam. Questo tipo di vulnerabilità, se ben sfruttata, potrebbe permettere a chiunque di eseguire codice arbitrario sfruttando i privilegi di sistema tipici dell’account LOCALSYSTEM con pochi e semplici comandi.

Questo genere dei vulnerabilità si trova all’interno dello Steam Client Service, ovvero uno dei processi che si occupa di far funzionare correttamente Steam sul vostro computer. Questo tipo di servizio può essere avviato o stoppato anche da utenti privi di privilegio.

Una volta avviato lo Steam Client Service, quest’ultimo imposta una serie di permessi su di un range di chiavi di registro; un utente smaliziato ha però la possibilità di creare un symlink (o collegamento simbolico) tra una di queste chiavi e quelle di un altro. Questa possibilità diventa enormemente problematica se si pensa che è possibile connettere chiavi e far eseguire codice anche a utenti dotati di moltissimi privilegi come msiserver, ovvero il servizio di Windows Installer.

Un’intera dimostrazione è stata realizzata dai ragazzi di ArsTechnica, prendendo la shell di Windows e utilizzandola per interrogare i vari servizi. Inizialmente si dimostra che è impossibile scrivere all’interno della carterra System32 o che è impossibile modificare i valori delle chiavi di registro da Shell; successivamente si crea un link simbolico alla chiave di registro msiserver dopo aver cancellato la chiave d’installazione NSIS per Steam.

Una volta fatto questo il giornalista di Arstechnica prima controlla di aver realizzato correttamente il symlink tra Steam e msinstaller, poi dimostra di non poter utilizzare correttamente l’exploit senza aver prima avviato il processo Steam Client Services. Una volta fatto partire il processo, il giornalista riesce a creare un nuovo file (o ad eseguire codice arbitrario) all’interno della sopracitata cartella senza ricevere messaggi di errore o avvisi: l’exploit funziona.

Tutta questa serie di operazioni possono essere realizzate su Windows 10 senza bisogno di installare programmi particolari; nell’esperimento di Arstechnica è stato tutto realizzato attraverso una macchina virtuale sulla quale girava il sistema operativo; per comodità è stato utilizzato un applicativo che non necessita di installazione chiamato regln-x64.exe il cui scopo era quello di semplificare il symlink tra le due chiavi di registro. Nessun gioco specifico era installato all’interno della macchina virtuale, ne altro era presente sul PC; l’intero processo è realizzabile anche senza regln-x64.exe, symlinkando manualmente le chiavi sopracitate attraverdo delle funzioni dell’editor di registro di sistema.

Un attacco di questo genere è davvero pericoloso?

windows powershell

Il ricercatore dietro la scoperta della vulnerabilità, Vasily Kravets, aveva segnalato al noto sito Hackerone (che ricordiamo, viene supportata direttamente da Steam stesso) il problema ma si è visto respingere il report in un primo momento. Il ricercatore ha poi segnalato nuovamente alla piattaforma la problematica che stavolta è stata accettata ed è stata anche presa in considerazione da Valve stessa; quest’ultima ha poi respinto la segnalazione adducendo al fatto che sarebbe necessario accedere fisicamente al dispositivo che si vuole attaccare per poter sfruttare correttamente le problematiche descritte.

Andando contro quelle che sono le consuetudini della community mondiale legata al mondo della Cybersicurezza, il ricercatore ha pubblicamente divulgato l’expoilt a soli 45 giorni dalla segnalazione nonostante di media sia necessario aspettarne 180. Con la vulnerabilità resa pubblica Valve ha iniziato alacremente a lavorare sul problema, nonostante abbia rifiutato di parlare delal questione ad Arstechnica.

Il codice che è stato utilizzato per effettuare i test è stato reso disponibile al pubblico ed è lecito pensare che sia solo questione di tempo prima che qualche malintenzionato provi ad utilizzarlo per i suoi scopi. I consigli per evitare di finire nel bel mezzo delle vittime di un eventuale attacco sono sempre gli stessi: evitate di navigare su siti poco raccomandabili, evitate di utilizzare la stessa password per più account, evitate di scaricare materiale contraffatto dal web, abilitato quando possibile l’autenticazione a due fattori con il vostro smartphone di fiducia o con un dispositivo fisico come una pennetta USB.

Secondo il ricercatore un attacco del genere potrebbe provenire addirittura da dei videogiochi free to play appositamente confezionati per veicolare l’exploit; se questi riuscissero a passare i controlli di Steam potrebbe riuscir a far eseguire sulle macchine degli utenti codice univoco installando virus, backdoors o mestizie di vario genere.