Durante il normale utilizzo del sistema, Windows conserva numerosi dati circa le attività via a via espletate. Gran parte di tali informazioni possono essere eliminate utilizzando noti software come CCleaner che fanno piazza pulita del contenuto delle cartelle temporanee e delle liste MRU (acronimo di “most recently used, si tratta di elenchi, memorizzati in differenti aree del sistema operativo che raccolgono informazioni sugli ultimi file aperti, sulle applicazioni eseguite, sulle ricerche effettuate e così via).
Windows, però, ed è questa una caratteristica meno conosciuta, conserva una lunga cronologia contenente l’elenco delle applicazioni avviate sul personal computer abbinando loro dettagli quali il numero delle esecuzioni e l’ultima volta in cui il programma è stato impiegato.
La lista viene conservata nel registro di sistema, all’interno della chiave HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion\Explorer\UserAssist
. Tutti i dati vengono salvati e gestiti in forma cifrata: non sono quindi direttamente visualizzabili perché non sono conservati come testo “in chiaro”.
A svelare il “dietro le quinte” della chiave UserAssist
ci ha pensato il ricercatore belga Didier Stevens (già noto ai nostri lettori per aver pubblicato alcuni interessanti studi su diverse falle individuate in Adobe Reader): il suo software UserAssist permette di accedere alle informazioni conservate da Windows. Per eseguire il programma è sufficiente scaricare una delle seguenti due versioni, a seconda del sistema operativo utilizzato:
Il software necessita esclusivamente della presenza del framework .Net 2.0, già installato di default su Vista così come su Windows 7. Gli utenti di Windows XP che abbiano provveduto ad applicare tutti gli aggiornamenti per il sistema operativo, invece, dovrebbero comunque avere già installato tale pacchetto Microsoft.
Per eseguire il programma, è sufficiente fare doppio clic sul file UserAssist.exe
contenuto nell’archivio Zip. Nel caso del file compresso destinato agli utenti di Windows XP e di Windows Vista, l’eseguibile di UserAssist è conservato nella sottocartella UserAssist\UserAssist\bin\Release
. I restanti file presenti nell’archivio compresso ospitano il codice sorgente del programma.
La colonna Name contiene il nome dell’applicazione eseguita che, secondo quanto rilevato da Stevens, viene crittografata nel registro di Windows con l’algoritmo ROT13, semplice cifrario monoalfabetico (ogni “lettera” viene sostituita con quella che occupa tredici posizioni più avanti nell’alfabeto). Le colonne Counter e Last riportano, rispettivamente, il numero delle volte che l’applicazione è stata avviata e la data dell’ultima esecuzione.
L’elenco visualizzato dal software UserAssist non viene aggiornato dinamicamente: è necessario procedere manualmente cliccando sul menù Commands quindi sulla voce Load from local registry.
Il software di Stevens è in grado di estrarre le informazioni d’interesse a partire da qualunque file contenente il registro di Windows (NTUSER.DAT
).
I comandi Clear all e Logging disabled contenuti nel menù Commands di UserAssist permettono, rispettivamente, di cancellare tutti i dati al momento conservati nella chiave UserAssist
del registro e di disattivare la memorizzazione delle informazioni, da parte di Windows, a partire dal successivo riavvio del sistema operativo.
UserAssist si propone come un semplice software in grado di stabilire cosa accade solitamente su un qualunque sistema Windows evidenziando le applicazioni e le operazioni che vengono eseguite con maggior frequenza.