Browse By

Controllare i processi che si avviano automaticamente in Windows (PARTE 1)

Tutte le versioni di Windows (come tutti i sistemi operativi) caricano all’avvio una serie di programmi (un programma in esecuzione si chiama processo) e di servizi (o processi di sistema). La funzionalità di avvio automatico è disponibile, oltre che ai tipici processi del sistema operativo, anche ad altre applicazioni, come driver installati dall’utente o componenti installati dalle applicazioni: per esempio firewall e/o antivirus di terze parti installano le loro componenti di controllo per essere caricate al boot (in assenza delle quali sarebbero inutili). Sfortunatamente questa funzionalità può essere sfruttata anche dai malware (virus, trojan, spyware ecc.) e dagli odiosi crapware (i programmi inutili installati dai produttori di computer, oppure le malefiche toolbar aggiuntive che inviano pubblicità indesiderata al browser).

Questo comporta nel “migliore” dei casi un rallentamento (anche consistente) della fase di avvio del sistema, nel caso peggiore il furto o la perdita di dati e perfino l’impossibilità di usare il computer. È quindi necessario abituarsi a tenere sotto controllo i processi che si avviano automaticamente con il sistema operativo e ad individuare differenze o anomalie che possono verificarsi dopo l’installazione delle applicazioni. Per esempio se è plausibile che Adobe Reader o Adobe Flash Player aggiungano un servizio Adobe Update Service, un programma in avvio automatico come uyxwswhf.exe, deve far scattare un campanello d’allarme. I nomi dei file eseguibili (.exe) dei malware sono anche più insidiosi, perché cercano di ingannare l’utente con nomi di applicazioni note oppure “mascherandosi” da software Microsoft, per esempio ms-netspoolsv.exe. Non esiste un servizio con questo nome, ma se non si ha l’occhio allenato si rischia di allevare una serpe in seno perché probabilmente si tratta di un virus!

Windows ha diverse posizioni da cui possono avviarsi programmi in modo automatico: bisogna conoscerle e controllarle di tanto in tanto, soprattutto se si sta per installare un’applicazione sconosciuta. La procedura da seguire è semplice: si dà un’occhiata ai processi in avvio automatico, si installa la nuova applicazione, infine si dà una nuova occhiata ai processi in avvio automatico per vedere se è cambiato qualcosa (in caso affermativo annotarsi cosa è stato aggiunto).

Programmi in Esecuzione AutomaticaUna delle principali posizioni ove cercare è la cartella Esecuzione automatica che si raggiunge nel modo seguente:
cliccare sul pulsante START e selezionare (Tutti i) Programmi;nell’elenco dovreste vedere una cartella chiamata Esecuzione Automatica; in tale cartella si trovano i collegamenti ad una parte dei programmi che parte all’avvio del sistema. Se non si vuole che determinate applicazioni partano all’avvio, in genere (ma non sempre) è sufficiente eliminare il collegamento corrispondente.Non è ancora finita:
se usate Windows 8 o 8.1 il metodo precedente non è applicabile poiché, fino a quando Microsoft non proporrà un update per ricrearlo, non esiste il menù di avvio classico con tutti i programmi: sembra che tale update verrà proposto entro la fine del 2014 ma, nel frattempo, è necessario installare un’utility apposita come Classic Shell;il metodo indicato in precedenza mostra solo la cartella di Esecuzione automatica dell’utente corrente, tuttavia nel sistema ne esiste più di una ed è necessario controllarle tutte, come indicato di seguito.Le cartelle di esecuzione automatica sono “pubbliche” ed immediatamente identificabili. Esiste sempre un percorso di Esecuzione automatica che riguarda tutti gli utenti (i programmi ivi contenuti riguardano tutti gli utilizzatori del sistema), ed uno riservato all’utente corrente (i programmi ivi contenuti riguardano solo l’utente che effettua il login). Nel seguito supporremo che Windows sia installato nella partizione C del disco.

Windows XPIn Windows XP ci sono 3 cartelle di Esecuzione automatica che corrispondono rispettivamente all’utente corrente, all’utente standard (Default User) e a tutti gli utenti del sistema (All Users). I relativi percorsi da controllare sono:
C:\Documents and Settings\\Menu Avvio\Programmi\Esecuzione automaticaC:\Documents and Settings\Default User\Menu Avvio\Programmi\Esecuzione automaticaC:\Documents and Settings\All Users\Menu Avvio\Programmi\Esecuzione automatica
Windows Vista / 7 / 8.xIn Windows Vista/7/8/8.1 ci sono 2 cartelle di Esecuzione automatica che corrispondono rispettivamente all’utente corrente e a tutti gli utenti. I relativi percorsi da controllare sono:
C:\Utenti\\AppData\Roaming\Microsoft\Windows\Menu Start\Programmi\Esecuzione automaticaC:\ProgramData\Microsoft\Windows\Menu Start\Programmi\Esecuzione automaticaSe non volete usare Esplora Risorse per raggiungere tali cartelle, potete inserire in START/Esegui (eventualmente in Classic Shell) o nella relativa casella di ricerca le seguenti stringhe:
per l’utente corrente:
%AppData%\Microsoft\Windows\Start Menu\Programs\StartUpper tutti gli utenti:
%ProgramData%\Microsoft\Windows\Start Menu\Programs\StartUpSi possono inserire le stesse stringhe direttamente nel campo Ricerca di Windows 8 e 8.1.

Avvio automatico dal Registro di WindowsIl registro di sistema di Windows (nel seguito Registro) è una struttura dati che contiene le impostazioni di Windows e delle applicazioni installate. All’interno del Registro esistono alcune aree chiamate chiavi Run, progettate per consentire l’avvio automatico di programmi ogni volta che un utente esegue l’accesso al sistema. Per visualizzare il contenuto di tali chiavi bisogna aprire l’Editor del Registro di sistema:
cliccare sul pulsante START e selezionare Esegui;digitare regedit e premere OK. Il Registro viene mostrato con una struttura ad albero, simile a quello delle cartelle a cui ci ha abituato Esplora Risorse. In modo analogo alla cartelle di Esecuzione automatica, esistono 2 tipi fondamentali di “cartelle” (chiamate chiavi) nel registro:
HKEY_LOCAL_MACHINE (abbreviata in HKLM): contiene le impostazioni comuni a tutti gli utenti del sistema;HKEY_CURRENT_USER (abbreviata in HKCU): contiene le impostazioni dell’utente che ha effettuato l’accesso. Si tratta di un collegamento simbolico alla chiave relativa all’utente, contenuta nella chiave generale HKEY_USERS (questa chiave generale contiene tutte le chiavi HKEY_CURRENT_USER di tutti gli utenti definiti nel sistema).Le (sotto)chiavi che consentono l’avvio automatico (comuni a tutte le versioni di Windows) e che occorre controllare sono le seguenti:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceHKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunHKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOncePer quanto detto relativamente alla chiave generale HKEY_USERS, come ulteriore scrupolo, accedendo a Windows come amministratori di sistema, controllare anche la chiave di Run (generalmente vuota, ma non si sa mai!):
HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\RunNelle versioni di Windows a 64 bit esistono 2 ulteriori chiavi:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\RunHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnceIn ciascuna chiave esistono una serie di valori, che corrispondono a comandi che vengono eseguiti in fase di avvio. Nell’esempio in figura si evidenziano i programmi di avvio per una scheda audio ed un firewall di terze parti:
Questa tecnica potrebbe essere usata da malware, crapware e toolbar aggiuntive indesiderate: una volta individuata la chiave di avvio, spesso (ma non sempre) è sufficiente selezionarla e cancellarla per rendere inoffensiva la rispettiva componente maligna.

Vale la pena fare alcune considerazioni aggiuntive:
le chiavi Run vengono eseguite ad ogni accesso al sistema;le chiavi RunOnce vengono eseguite una sola volta e poi cancellate: in genere si utilizzano per situazioni transitorie, per esempio per completare l’installazione di un’applicazione (l’installer dell’applicazione richiede esplicitamente all’utente di riavviare il sistema)le chiavi Run vengono ignorate (per impostazione predefinita) quando il computer viene avviato in modalità provvisoria;nelle chiavi RunOnce si può far precedere un valore da un asterisco (*) per consentire l’esecuzione del relativo programma anche in modalità provvisoria;nelle chiavi RunOnce si può far precedere un valore da un punto esclamativo (!) per posticipare l’eliminazione del valore a dopo l’esecuzione del comando. Senza punto esclamativo come prefisso, un valore RunOnce verrebbe eliminato prima dell’esecuzione del comando; di conseguenza, se un’operazione RunOnce non è eseguita correttamente, non viene eseguito il programma associato al successivo avvio del computer.All’interno di una chiave Run in genere viene avviato più di un programma ma l’ordine di esecuzine di tali programmi non è determinabile a priori; a questa regola fanno eccezione 2 vecchi tipi di chiave (RunEx e RunOnceEx) che eseguono i programmi in avvio in modo ordinato.

Per completezza di informazione si riportano gli altri tipi di chiavi Run definiti in versioni obsolete di Windows (Windows