AutoRun - AutoRun
AutoRun e la funzionalità complementare AutoPlay sono componenti del sistema operativo Microsoft Windows che determinano le azioni che il sistema esegue quando viene montata un'unità .
AutoRun è stato introdotto in Windows 95 per facilitare l'installazione delle applicazioni per gli utenti non tecnici e ridurre il costo delle chiamate di supporto software. Quando un CD-ROM opportunamente configurato viene inserito in un'unità CD-ROM, Windows rileva l'arrivo e controlla il contenuto per un file speciale contenente una serie di istruzioni. Per un CD contenente software, queste istruzioni normalmente avviano l'installazione del software dal CD-ROM sul disco rigido. Per massimizzare le probabilità di successo dell'installazione, AutoRun agisce anche quando si accede all'unità (" doppio clic ") in Esplora risorse (o "Risorse del computer").
Fino all'introduzione di Windows XP , i termini AutoRun e AutoPlay erano usati in modo intercambiabile, gli sviluppatori spesso usavano il primo termine e gli utenti finali il secondo. Questa tendenza si riflette nelle impostazioni dei criteri di Windows denominate AutoPlay che modificano le voci del registro di Windows denominate AutoRun e nel autorun.inffile che causa l'aggiunta di "AutoPlay" ai menu di scelta rapida delle unità . La terminologia era di scarsa importanza fino all'arrivo di Windows XP e all'aggiunta di una nuova funzionalità per assistere gli utenti nella selezione delle azioni appropriate quando venivano rilevati nuovi supporti e dispositivi. Questa nuova funzionalità è stata chiamata AutoPlay ed è stata creata una differenziazione tra i due termini.
AutoRun, una funzionalità di Windows Explorer (in realtà della shell32 dll ) introdotta in Windows 95, consente ai supporti e ai dispositivi di avviare programmi utilizzando il comando elencato in un file chiamato autorun.inf, memorizzato nella directory principale del supporto.
Utilizzate principalmente sui CD-ROM di installazione, le applicazioni chiamate sono generalmente programmi di installazione di applicazioni. Il file autorun.inf può anche specificare un'icona che rappresenterà visivamente il dispositivo in Explorer insieme ad altre funzionalità avanzate.
I termini AutoRun e AutoPlay tendono ad essere usati in modo intercambiabile quando si fa riferimento all'azione di avvio, l'azione che rileva e avvia la lettura dai volumi rilevati . L' illustrazione del diagramma di flusso nell'articolo AutoPlay mostra come AutoRun è posizionato come un livello tra AutoPlay e il servizio Shell Hardware Detection e può aiutare a comprendere la terminologia. Tuttavia, per evitare confusione, in questo articolo viene utilizzato il termine AutoRun quando si fa riferimento all'azione di avvio.
Riproduzione automatica
AutoPlay è una funzionalità introdotta in Windows XP che esamina i supporti e i dispositivi rimovibili e, in base a contenuti quali immagini, file musicali o video, avvia un'applicazione appropriata per riprodurre o visualizzare il contenuto. Se disponibili, le impostazioni in un file autorun.inf possono essere aggiunte alle opzioni presentate all'utente.
AutoPlay si basa su una serie di applicazioni di gestione registrate con il sistema AutoPlay. Ogni tipo di supporto (immagini, musica, video) può avere una serie di gestori registrati che possono occuparsi della riproduzione o della visualizzazione di quel tipo di supporto.
Ogni dispositivo hardware può avere un'azione predefinita che si verifica al rilevamento di un particolare tipo di supporto, oppure la finestra di dialogo AutoPlay può richiedere all'utente quale azione intraprendere.
Attivazione AutoRun
La sequenza di esecuzione automatica inizia con la scoperta iniziale di un nuovo dispositivo o di un nuovo supporto. In seguito avviene la notifica agli interessati, di cui la shell di Windows Explorer è di primario interesse. Dopo aver controllato alcune impostazioni del Registro di sistema per vedere se AutoRun può procedere, può verificarsi l'analisi di un autorun.inf opzionale e vengono intraprese tutte le azioni necessarie.
La sequenza iniziale viene gestita più o meno allo stesso modo in ogni versione di Windows da Windows 95. Tuttavia, il modo in cui il file autorun.inf viene letto e utilizzato e il livello di integrazione di AutoRun con AutoPlay sono cambiati in modo significativo dal momento in cui AutoPlay è stato introdotto in Windows XP fino all'attuale gestione in Windows 7 . In Windows 10 , Microsoft ha aggiunto l'opzione per abilitare l'esecuzione automatica nelle sue impostazioni. Non solo gli utenti possono accenderlo, ma possono anche scegliere dispositivi esterni specifici per la riproduzione automatica.
Iniziazione e notifica
Quando un dispositivo con driver compatibili con AutoRun riceve un nuovo supporto, si verifica un evento "Notifica di modifica del supporto". Il sistema operativo Windows notifica quindi alle applicazioni interessate che si è verificata una modifica del dispositivo. Il metodo di notifica utilizzato può cambiare a seconda del tipo di dispositivo.
Se il dispositivo modificato è un volume (come un CD) o una porta (come una porta seriale), Windows trasmette una WM_DEVICECHANGEnotifica a tutte le finestre di primo livello. Windows chiama questa una notifica "di base". Una finestra di primo livello è una che discende dal desktop.
Tuttavia, se il dispositivo modificato non è uno di questi tipi, un'applicazione può utilizzare la RegisterDeviceNotificationfunzione per registrarsi per ricevere le notifiche del dispositivo.
Un articolo sul sito web di CodeProject, " Detecting Hardware Insertion and / or Removal" , con chiarimenti da un blog di Doran Holan è di particolare interesse tecnico qui.
I dispositivi non volume sono quei dispositivi che non vengono visualizzati come lettere di unità in "Risorse del computer". Questi non vengono gestiti da nessuna parte di AutoRun: qualsiasi azione intrapresa per questi dispositivi viene eseguita dal software specifico del dispositivo o da AutoPlay. Vedere AutoPlay # Dispositivi che non sono unità .
Quando Explorer riceve la notifica di una modifica del volume , esegue una serie di azioni:
- Controlla se AutoRun è stato disabilitato tramite il registro. Se AutoRun è disabilitato per quell'unità o tipo di unità, Explorer non procede oltre. Ci sono stati bug in quest'area.
- Verifica che la directory principale del supporto inserito contenga un file autorun.inf, che potrebbe essere letto. Vedi sotto .
- Invia un
QueryCancelAutoPlaymessaggio alla finestra in primo piano. Un'applicazione che ha registrato il proprio interesse a ricevere questo messaggio utilizzandoRegisterWindowMessagepuò rispondere a questo messaggio per interrompere l'AutoRun (e quindi l'AutoPlay) a questo punto. Qualsiasi applicazione, in primo piano o meno, può essere notificata anche utilizzando l' interfacciaIQueryCancelAutoPlayCOM disponibile in Windows XP e versioni successive. - Modifica i comportamenti del doppio clic e del menu contestuale. Quando un utente fa doppio clic sull'icona dell'unità in Explorer o fa clic con il pulsante destro del mouse per visualizzare un menu contestuale, ciò che accade è completamente programmabile dalle impostazioni nel file autorun.inf.
- Aggiunge un'icona controllabile autorun.inf e un testo descrittivo all'icona dell'unità.
- Controlla se il tasto è tenuto premuto. In tal caso, Windows Vista (e versioni successive di Windows) richiamerà la finestra di dialogo AutoPlay indipendentemente dalle impostazioni contrarie. Le versioni precedenti di Windows non continueranno con il processo.⇧ Shift
- Infine, se questo punto è stato raggiunto, alternativamente:
- non intraprende ulteriori azioni.
- esegue l '"operazione di esecuzione automatica", l'applicazione specificata opzionalmente nei tasti
openoshellexecutenella sezione [autorun] di un autorun.inf . - richiama AutoPlay.
- La scelta che viene fatta dipende dalla versione di Windows in uso, dalle istruzioni del file autorun.inf se disponibile e dal tipo di supporto scoperto.
Cambiare comportamento
Prima di AutoPlay
Nelle versioni di Windows precedenti a Windows XP, verrà letto un file autorun.inf su qualsiasi tipo di unità e verranno seguite le relative istruzioni. L'attività di esecuzione automatica, se specificata, viene eseguita immediatamente senza l'interazione dell'utente. Ciò include i tipi di unità DRIVE_REMOVABLE, DRIVE_FIXED e DRIVE_REMOTE .
AutoRun funzionerà con le unità di rete (il tipo di unità DRIVE_REMOTE) che sono mappate a una lettera di unità. AutoRun funzionerà anche con unità floppy fornite di driver compatibili con l'esecuzione automatica.
Le impostazioni di registro predefinite sulle versioni di Windows precedenti a Windows XP (vedere NoDriveTypeAutoRun ), disabilitano le unità remote e rimovibili dall'avvio di AutoRun, lasciando attivi i tipi di unità Fissa e CDROM per impostazione predefinita.
Presentazione di AutoPlay
Con l'introduzione di AutoPlay in Windows XP, l'azione della fase finale (fase 7 sopra) per alcuni tipi di unità è cambiata dall'esecuzione di un'applicazione al richiamo di AutoPlay. Da Windows Vista, il sistema AutoPlay è integrato in ogni aspetto della gestione dei supporti e non è prevista l'esecuzione automatica dell'attività di esecuzione automatica.
Le impostazioni di registro predefinite aggiungono le unità rimovibili a quelle che hanno avviato l'esecuzione automatica. In Windows XP e versioni successive, ad eccezione di Windows Server 2003, solo i tipi di unità Sconosciuto e Remoto non sono attivi per AutoRun.
La gestione del file autorun.inf cambia in modo molto significativo tra ogni versione di Windows. I dettagli possono essere trovati nell'articolo autorun.inf . La gestione corrente in Windows 7 è che solo le unità di tipo DRIVE_CDROM possono specificare un'attività di esecuzione automatica, alterare il comportamento del doppio clic o modificare i menu di scelta rapida.
Impostazioni del registro
AutoRun consulta i valori del registro di Windows per decidere se avviare azioni per una particolare unità o tipo di unità. Questi valori possono essere modificati utilizzando diversi metodi, uno dei quali utilizza Criteri di gruppo .
I nomi delle voci di registro rilevanti principali sono NoDriveTypeAutoRune NoDriveAutoRun. Questi esistono sia nelle impostazioni per macchina che per utente e la loro posizione e priorità nel registro sono descritte più dettagliatamente di seguito.
Tipi di unità
I tipi di unità si distinguono in base al nome del tipo come segue:
| Digita il nome | valore | Descrizione |
|---|---|---|
| DRIVE_UNKNOWN | 0x00000000 | Impossibile determinare il tipo di unità (unità generica) |
| DRIVE_NO_ROOT_DIR | 0x00000001 | L'unità non è attualmente valida (nessun volume montato) |
| DRIVE_REMOVABLE | 0x00000002 | L'unità dispone di un supporto rimovibile (unità floppy, unità flash USB ) |
| DRIVE_FIXED | 0x00000003 | Il disco non può essere rimosso dall'unità (disco rigido / unità SSD) |
| DRIVE_REMOTE | 0x00000004 | L'unità è un'unità remota (di rete) |
| DRIVE_CDROM | 0x00000005 | L'unità è un'unità CD-ROM, DVD-ROM o BD-ROM |
| DRIVE_RAMDISK | 0x00000006 | L'unità è un disco RAM |
| DRIVE_NOT_DETERMINED | 0x00000007 | L'unità non è stata ancora determinata |
| DRIVE_NOT_FOUND | 0x00000008 | Impossibile accedere all'unità attualmente (unità scollegate) |
| [RISERVATO] | 0x00000009 | Questo valore riservato alle tecnologie del futuro |
Terminologia del registro
Il registro di Windows è un database gerarchico che memorizza le impostazioni e le opzioni di configurazione per il sistema operativo. La terminologia è alquanto fuorviante, quindi viene brevemente riassunta qui.
Una chiave del Registro di sistema è simile a una cartella che, oltre ai valori, ogni chiave può contenere sottochiavi che a loro volta possono contenere sottochiavi e così via.
Un valore di registro è costituito da una coppia nome-dati. La documentazione Microsoft utilizza comunemente il termine "voce" come termine equivalente. Utilizza anche "valore" per "dati" quando è ovvio cosa si intende. Per evitare confusione, questo articolo utilizza sempre il termine "voce" quando si fa riferimento alla coppia nome-dati.
Due chiavi di registro a cui si fa riferimento molto comunemente sono HKEY_LOCAL_MACHINEche contengono le impostazioni per macchina e HKEY_CURRENT_USERche contengono le impostazioni per l'utente attualmente connesso. Questi sono quasi sempre abbreviati come HKLMe HKCUrispettivamente. Potrebbero esserci molti utenti di una macchina; le loro impostazioni sono memorizzate HKEY_USERS, in HKCUrealtà è solo un collegamento alla posizione appropriata in HKEY_USERS.
Modifica delle impostazioni del registro
Le impostazioni del registro possono essere modificate direttamente utilizzando lo regeditstrumento GUI o l' reg.exeutilità della riga di comando . Le impostazioni possono anche essere inserite in un file di testo , denominato con un tipo di estensione .reg. Ad esempio, " mychanges.reg". Quando si fa doppio clic sul file, le impostazioni nel file vengono inserite nel Registro di sistema, permessi permettendo.
Possono essere modificati indirettamente utilizzando Criteri di gruppo, applicati localmente a un singolo computer con GPEdit.mscoa un dominio con gpmc.msc.
Potrebbe essere necessario disconnettersi o riavviare il computer per rendere effettive le modifiche al Registro di sistema.
Ordine di valutazione
Le voci NoDriveAutoRune del NoDriveTypeAutoRunRegistro di sistema possono esistere in due posizioni, l'impostazione per utente (in HKEY_CURRENT_USER) e l'impostazione per computer (in HKEY_LOCAL_MACHINE). Se viene visualizzata una voce in HKEY_LOCAL_MACHINE, qualsiasi voce corrispondente in HKEY_CURRENT_USER viene completamente ignorata. I valori dei dati non vengono uniti in alcun modo.
Al momento di decidere se attivare AutoRun, sia NoDriveAutoRune NoDriveTypeAutoRunvoci di registro vengono consultati. Se uno dei valori indica che un'unità deve essere disabilitata, AutoRun è disabilitato per quell'unità.
Quindi nel seguente esempio:
| HKEY_LOCAL_MACHINE | HKEY_CURRENT_USER | ||
|---|---|---|---|
| NoDriveAutoRun | NoDriveTypeAutoRun | NoDriveAutoRun | NoDriveTypeAutoRun |
| 0x08 | (Non presente) | 0x03FFFFFF | 0x95 |
il valore dei dati preso per NoDriveAutoRunè 0x08, disabilitando l'unità D e il valore dei dati preso per NoDriveTypeAutoRunè 0x95, disabilitando le unità rimovibili e di rete. La voce per utente NoDriveAutoRunnon viene mai utilizzata.
NoDriveTypeAutoRun
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
|
|||
| Nome della voce | Tipo di dati | Gamma | Predefinito |
|---|---|---|---|
NoDriveTypeAutoRun
|
REG_DWORD | Da 0x00 a 0xFF | 0x95 o 0x91 |
Questa voce del Registro di sistema disabilita o abilita la funzionalità di esecuzione automatica su tutte le unità del tipo specificato. Riflette l'impostazione dei Criteri di gruppo di riproduzione automatica pertinenti. I dati validi vanno da 0x00 a 0xFF in notazione esadecimale . Se la voce non è presente, il valore predefinito dei dati è 0x95 o 0x91 a seconda della versione di Windows utilizzata. Una voce presente in HKLM sostituisce qualsiasi voce presente in HKCU.
I dati di ingresso sono un valore bitmap, dove un bit impostato a 1 disabilita AutoRun su un particolare tipo di unità. Di seguito sono riportate le impostazioni dei bit per ogni tipo di azionamento:
Notare che il bit numero 1 non è utilizzato e che il tipo "Sconosciuto" è rappresentato due volte. L'impostazione di tutti i bit su 1 darebbe un valore esadecimale di 0xFF, decimale 255 e disabiliterebbe AutoRun su tutti i tipi di unità.
L'impostazione predefinita per questa voce dipende dalla versione di Windows utilizzata:
| Sistema operativo | Impostazione predefinita |
|---|---|
| Windows 7 | 0x91 |
| Windows Server 2008 | 0x91 |
| Windows Vista | 0x91 |
| Windows Server 2003 | 0x95 |
| Windows XP | 0x91 |
| Windows 2000 | 0x95 |
| Windows 95/98 | 0x95 |
NoDriveAutoRun
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
|
|||
| Nome della voce | Tipo di dati | Gamma | Predefinito |
|---|---|---|---|
NoDriveAutoRun
|
REG_DWORD | Da 0x0 a 0x03FFFFFF | 0x0 |
Questa voce del Registro di sistema disabilita o abilita la funzionalità di esecuzione automatica su singole unità. Non è associato a Criteri di gruppo e non esiste per impostazione predefinita. Il valore dei dati viene considerato 0 se la voce non è presente. Una voce presente in HKLM sostituisce qualsiasi voce presente in HKCU.
I dati sono un valore bitmap a 32 bit (DWORD), di cui i 26 bit inferiori vengono utilizzati per rappresentare ciascuna delle 26 lettere di unità dalla A alla Z. Pertanto, l'intervallo di dati valido è compreso tra 0x0 e 0x03FFFFFF. Il bit meno significativo (il bit più a destra) rappresenta l'unità A e il 26 ° bit da destra rappresenta l'unità Z.
Un bit impostato su 1 disabilita AutoRun su una particolare unità. Ad esempio, se il valore dei dati è impostato su 0x8 (1000 binari), AutoRun è disabilitato sull'unità D.
Politica di gruppo
Le uniche impostazioni di Criteri di gruppo disponibili per AutoRun influiscono sulle NoDriveTypeAutoRunvoci del Registro di sistema. La politica è disponibile per macchina o per utente e riflette la posizione della voce del registro in HKLM o HKCU. Come descritto sopra , un'impostazione del criterio per macchina farà sì che l'impostazione del criterio per utente venga ignorata.
Quando un criterio è abilitato , Criteri di gruppo aggiungerà la NoDriveTypeAutoRunvoce al Registro di sistema. Se il criterio è disabilitato o impostato su Non configurato , Criteri di gruppo elimina questa voce dal Registro di sistema per il criterio del computer (in HKLM) e lo reimposta sul valore predefinito di sistema per il criterio dell'utente (in HKCU). Le impostazioni predefinite del sistema potrebbero quindi avere effetto come descritto nella sezione NoDriveTypeAutoRun .
I nomi dei criteri, le posizioni e le impostazioni possibili variano leggermente tra le versioni di Windows. L'elenco delle impostazioni è relativamente breve e si aggiunge sempre all'impostazione predefinita del sistema. Pertanto, su Windows 2000, abilitando il criterio "Disabilita riproduzione automatica" e impostandolo su "Unità CD-ROM", si disabilita AutoRun (diverso da AutoPlay) per le unità CD-ROM e DVD, le unità rimovibili, le unità di rete e le unità sconosciute genere.
Questa impostazione non può essere utilizzata per abilitare AutoRun su unità su cui è disabilitato per impostazione predefinita o disabilitare AutoRun per unità non elencate. Per disabilitare o abilitare unità o tipi di unità particolari, il registro deve essere modificato manualmente.
Windows Server 2003, Windows XP e Windows 2000
La posizione della politica per macchina è:
- Criteri di gruppo \ Configurazione computer \ Modelli amministrativi \ Sistema
La posizione dei criteri per utente è:
- Criteri di gruppo \ Configurazione utente \ Modelli amministrativi \ Sistema
La norma pertinente è "Disattiva riproduzione automatica". In Windows 2000 il criterio si chiama invece "Disable Autoplay".
Una volta abilitato, il criterio può essere impostato su "Tutte le unità" o "Unità CD-ROM". L'ultima impostazione aggiunge le unità CD-ROM all'elenco esistente di tipi di unità disabilitate come descritto sopra.
Windows Vista, Windows Server 2008
La posizione della politica per macchina è:
- Configurazione computer \ Modelli amministrativi \ Componenti di Windows \ Criteri di riproduzione automatica
La posizione dei criteri per utente è:
- Configurazione utente \ Modelli amministrativi \ Componenti di Windows \ Criteri di esecuzione automatica
Il criterio pertinente è "Disattiva riproduzione automatica" e può essere impostato per CD-ROM, DVD-ROM e unità rimovibili o tutte le unità.
Due criteri correlati sono stati aggiunti in Vista e Server 2008:
- Comportamento predefinito per AutoRun
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\ExplorerNome della voce Tipo di dati Gamma Predefinito NoAutoRunREG_DWORD
- Imposta il comportamento predefinito per i comandi AutoRun trovati nei file autorun.inf.
- Prima di Windows Vista, quando veniva inserito un supporto contenente un file autorun.inf che specificava un'attività di esecuzione automatica, l'azione predefinita era eseguire automaticamente il programma senza l'intervento dell'utente. : Da Windows Vista il comportamento predefinito è di richiamare la riproduzione automatica e rappresentare l'attività di esecuzione automatica come: una delle opzioni di dialogo. Questo è anche il comportamento quando questo criterio è Non configurato o: Disabilitato.
- Se questo criterio è abilitato, il comportamento può essere modificato in:
- Disabilita completamente i comandi autorun.inf o
- Esegui automaticamente il comando autorun.inf come nelle precedenti versioni di Windows.
- Non impostare la casella di controllo fai sempre questo
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\ExplorerNome della voce Tipo di dati Gamma Predefinito DontSetAutoplayCheckboxREG_DWORD
- Se questo criterio è abilitato, la casella di controllo "Fai sempre questo ..." nella finestra di dialogo AutoPlay non verrà impostata: per impostazione predefinita quando viene visualizzata la finestra di dialogo.
Windows 7, Windows Server 2008 R2
In queste versioni di Windows, la capacità di un file autorun.inf di impostare un'attività di esecuzione automatica, modificare il comportamento del doppio clic o modificare i menu di scelta rapida è limitata alle unità di tipo DRIVE_CDROM. Non esistono impostazioni dei criteri che sovrascriveranno questo comportamento. Le posizioni e le impostazioni dei criteri sono come per Windows Vista, Windows Server 2008 sopra con l'aggiunta di:
- Disattiva la riproduzione automatica per i dispositivi senza volume
HKLM\Software\Policies\Microsoft\Windows\Explorer
HKCU\Software\Policies\Microsoft\Windows\ExplorerNome della voce Tipo di dati Gamma Predefinito NoAutoplayfornonVolume
- Se questo criterio è abilitato, AutoPlay sarà disabilitato per i dispositivi non di volume .
Alterazione del comportamento di esecuzione automatica
Premendo il tasto Maiusc
Se il ⇧ Shifttasto viene tenuto premuto a un certo punto della sequenza di esecuzione, Windows Vista richiama la finestra di dialogo AutoPlay indipendentemente dalle impostazioni di AutoPlay contrarie. Le versioni precedenti di Windows non eseguono l'attività di esecuzione automatica. È essenziale che il tasto Maiusc sinistro venga utilizzato a questo scopo poiché tenendo premuto il tasto Maiusc destro per otto secondi si richiama FilterKeys.
Dato che Shift deve essere tenuto premuto fino a quando Windows non lo verifica, potrebbe essere necessario molto tempo prima che diventi effettivo. Il tempo impiegato dipende principalmente dal tempo per riconoscere il nuovo hardware e dal tempo impiegato per avviare i CD-ROM. Non è sicuro fare affidamento su questo metodo.
Notifica di inserimento automatico
Alcuni eventi di notifica di modifica del supporto possono essere soppressi alterando determinate voci di registro. "Media Change Notification" è il termine generico; per le unità CD-ROM, il termine specifico è "Notifica di inserimento automatico".
HKLM\SYSTEM\CurrentControlSet\Services\Cdrom
|
|||
| Nome della voce | Tipo di dati | Gamma | Predefinito |
|---|---|---|---|
AutoRun
|
REG_DWORD | 0 o 1 | 1 |
Per le unità CD-ROM, la modifica del valore di questa voce di registro su 0 disabiliterà la notifica di inserimento automatico solo per le unità CD-ROM. Sarà necessario riavviare Windows.
| Valore dei dati | Senso |
|---|---|
0 |
Non invia un messaggio MCN |
1 |
Invia un messaggio MCN |
In Windows 95/98 / ME, questa impostazione può essere modificata in Gestione periferiche, accessibile dall'icona Sistema nel Pannello di controllo.
Sebbene la voce del Registro di sistema sia denominata "AutoRun", elimina solo il messaggio MCN. Il messaggio MCN attiva l'avvio dell'esecuzione automatica, ma indica anche alla shell di Explorer di aggiornare le visualizzazioni e i contenuti.
Pertanto, solo come effetto collaterale, questo disabilita AutoRun per le unità CD-ROM. Tuttavia, Explorer ora non aggiornerà la sua visualizzazione quando viene inserito un nuovo CD; mostrerà il contenuto del CD precedente fino a quando non F5si preme o si seleziona Visualizza / Aggiorna dal menu Esplora. Ciò potrebbe creare una grave confusione per gli utenti.
Per questo motivo il messaggio Media Change Notification non dovrebbe essere disabilitato a meno che non ci siano assolutamente alternative; L'esecuzione automatica può essere disabilitata per singole unità utilizzando Criteri di gruppo o il Registro di sistema.
HKLM\SYSTEM\CurrentControlSet\Services\Cdrom
|
|
| Nome della voce | Tipo di dati |
|---|---|
AutoRunAlwaysDisable
|
REG_MULTI_SZ |
Questa voce viene utilizzata per eliminare il messaggio MCN per il tipo di unità CD-ROM specificatamente elencato, principalmente i cambia CD-ROM. I dati sono un insieme di identificatori di dispositivi, che corrispondono a quegli identificatori segnalati al sistema dai dispositivi stessi.
Il valore predefinito per questa voce è costituito da prodotti identificati da test Microsoft come non in grado di supportare AutoRun. Questa voce non deve essere modificata rispetto a quella predefinita.
Modifica dei criteri di gruppo
L'esecuzione automatica può essere soppressa su unità e tipi di unità particolari utilizzando i metodi descritti nella sezione Criteri di gruppo . Tuttavia, l'Editor criteri di gruppo non è disponibile nelle versioni Home di Windows XP e non fornisce alcuna funzionalità di selezione delle unità a grana fine.
Tuttavia, i criteri di gruppo sarebbero il metodo accettato per disabilitare l'esecuzione automatica su un intero dominio Windows.
File di registro
È possibile creare un file di impostazione del registro che, una volta eseguito, apporta le modifiche desiderate nel registro.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\policies\Explorer]
"NoDriveTypeAutoRun"=dword:000000ff
|
Nell'esempio precedente, AutoRun sarebbe disabilitato per tutte le unità e per tutti gli utenti. Questo esempio dovrebbe essere eseguito come amministratore e sarà necessario un riavvio affinché l'impostazione abbia effetto completo.
Mappatura del file di inizializzazione
Windows Vista e le versioni successive di Windows hanno un'impostazione del criterio, "Comportamento predefinito per AutoRun", che può essere impostato per impedire la lettura di un file autorun.inf su qualsiasi volume. Ciò evita determinati scenari in cui il malware sfrutta la funzionalità autorun.inf per infettare una macchina. Le versioni precedenti di Windows non hanno questa impostazione di criterio, ma l'uso del mapping dei file di inizializzazione è una soluzione alternativa efficace.
Poiché un file autorun.inf è un file INI standard di Windows , le chiamate API appropriate vengono utilizzate da Windows durante il recupero delle impostazioni. Queste chiamate API possono essere reindirizzate utilizzando il metodo di mappatura dei file INI. Il seguente file di registro illustra la soluzione alternativa, in cui tutte le impostazioni di autorun.inf vengono prese esclusivamente dalla HKEY_LOCAL_MACHINE\Software\DoesNotExistchiave di registro:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf]
@="@SYS:DoesNotExist"
|
Poiché questa chiave non esiste, è come se il file autorun.inf non contenga informazioni sulle impostazioni. È importante notare che ciò si applica a qualsiasi autorun.inf in qualsiasi posizione e su qualsiasi unità.
Poiché l'impostazione dei criteri o questa soluzione alternativa disabilitano l'esecuzione automatica, l'installazione del software da un CD o DVD di installazione con avvio automatico non sarà ovviamente più automatica. Sarà necessario visualizzare il file autorun.inf del CD e quindi eseguire manualmente il programma di installazione appropriato.
Problemi e sicurezza
Microsoft ha riconosciuto che "Poiché il codice può essere eseguito senza la conoscenza o il consenso dell'utente, gli utenti potrebbero voler disabilitare questa funzionalità a causa di problemi di sicurezza". e ha rilasciato un "Fixit" per disabilitare AutoRun per gli utenti che non hanno familiarità con la modifica del registro.
Il bug di disabilitazione AutoRun
Da Windows 2000 fino a Windows Server 2008, le voci del Registro di sistema rilevanti per l'esecuzione automatica non venivano gestite correttamente causando una vulnerabilità di sicurezza. Windows 95 e Windows 98 non erano interessati.
Quando AutoRun è disabilitato, Windows non dovrebbe procedere oltre la sequenza di attivazione oltre al controllo del Registro di sistema. Tuttavia, analizza qualsiasi autorun.inf trovato e fa tutto tranne l'azione finale per richiamare AutoPlay o eseguire un'applicazione.
Ciò lascia l'utente aperto agli attacchi da parte di malware che utilizza autorun.inf per modificare il comportamento del doppio clic e del menu contestuale. Fare doppio clic sull'icona dell'unità infetterà la macchina. Fare clic con il pulsante destro del mouse e selezionare le opzioni "Esplora" o "Apri" dal menu contestuale non è una soluzione alternativa poiché queste voci di menu possono essere cooptate dalle voci autorun.inf appropriate.
Questo bug è stato risolto in una serie di aggiornamenti per la protezione, descritti in dettaglio nell'articolo 967715 della Microsoft Knowledge Base .
Altri problemi
- Se si aggiunge il computer a un dominio Active Directory, il
NoDriveTypeAutoRunvalore può essere reimpostato su un valore predefinito. Ciò è dovuto alle impostazioni di Criteri di gruppo nel dominio che hanno effetto. Questo non è un bug. - Alcuni programmi possono modificare deliberatamente le impostazioni del registro di esecuzione automatica. È noto che le prime versioni del software di masterizzazione di CD come Roxio modificano le impostazioni in questo modo.
- Se l'opzione di protezione dei Criteri di gruppo "Limita l'accesso al CD-ROM solo agli utenti che hanno effettuato l'accesso locale" in:
- Configurazione computer \ Impostazioni di Windows \ Impostazioni di protezione \ Criteri locali \ Opzioni di protezione
è attivato (Enabled), quindi AutoRun potrebbe non funzionare.
Anche i programmi di installazione di Windows non funzioneranno correttamente perché verrà negato l'accesso "Sistema locale" al CD-ROM.
Questa impostazione di Criteri di gruppo riflette il valore della voce del Registro di sistema:
e dovrebbe essere impostato su 0.HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinlogonNome della voce Tipo di dati Gamma Predefinito allocatecdromsREG_SZ0 o 10 - RealPlayer 10 interferisce con la funzionalità AutoPlay nella misura in cui può sembrare che AutoRun o AutoPlay non funzionino affatto.
Vettori di attacco
La funzionalità di esecuzione automatica è stata utilizzata da tempo come vettore di malware. Prima di Windows Vista, l'azione predefinita con un tipo di unità CD-ROM era seguire le istruzioni del file autorun.inf senza richieste o avvisi. Ciò rende i CD-ROM non autorizzati un possibile vettore di infezione.
Nella stessa categoria sono presenti CD-ROM a contenuto misto. Un CD audio, che un utente non si aspetterebbe affatto di contenere software, può contenere una sezione dati con un file autorun.inf. Alcune aziende, come Sony BMG , hanno utilizzato questo vettore per installare malware che tenta di proteggere dalla copia delle tracce audio.
Le unità flash abilitate per U3 , emulando un'unità CD-ROM, possono anche far eseguire a Windows i comandi dal file autorun.inf che si trova sul CD-ROM emulato.
Dispositivi come il modem HSDPA Huawei E220 utilizzano validamente questo metodo per installare automaticamente i driver per il modem stesso. Tuttavia, collegare un'unità flash da una fonte sconosciuta è una mossa imprudente. USB Switchblade e strumenti simili hanno reso banali gli attacchi alle unità flash U3. Data la facilità di scrittura di attacchi basati su script , il software antivirus potrebbe essere inefficace nel prevenire il furto di dati e password.
Con un'unità flash standard, è possibile utilizzare attacchi di ingegneria sociale per invogliare un utente a fare clic sull'elemento appropriato nella finestra di dialogo AutoPlay. Una sequenza di azioni allettanti che promette giochi gratuiti o pornografia attirerebbe molti utenti nella trappola. In qualsiasi momento, facendo doppio clic sull'icona dell'unità verrà utilizzato automaticamente il file autorun.inf, una trappola in cui potrebbero cadere gli utenti più avanzati.
Qualsiasi utente può configurare AutoPlay per prendere varie decisioni per loro; selezionando la casella appropriata nella finestra di dialogo AutoPlay, l'esecuzione del malware dell'unità flash diventa silenziosa e automatica.
Il malware AutoRun è stato esteso per utilizzare dischi rigidi, cornici e altri dispositivi digitali. La cura nel trattare i dispositivi esterni è una priorità per la sicurezza. La prevalenza dell'infezione da malware tramite AutoRun e unità flash USB è stata documentata in uno studio Microsoft del 2011 che analizzava i dati di oltre 600 milioni di sistemi in tutto il mondo nella prima metà del 2011. Lo studio ha rilevato che il 26% di tutte le infezioni da malware del sistema Windows erano a causa delle unità flash USB che sfruttano la funzione AutoRun in Microsoft Windows . Questa scoperta era in linea con altre statistiche, come la segnalazione mensile del malware più comunemente rilevato dalla società di antivirus ESET, che elenca l'abuso di autorun.inf come primo tra le prime dieci minacce nel 2011.
Mitigazione degli attacchi
Oltre alle precauzioni di sicurezza di base, che includono
- seguendo il principio del privilegio minimo non eseguendo abitualmente i privilegi di amministratore e
- applicare tutte le patch e gli aggiornamenti di sicurezza pertinenti,
l'esposizione a questi attacchi può essere ridotta al minimo mediante l'uso appropriato dei criteri di gruppo e delle impostazioni del registro. I seguenti criteri di sicurezza sono un riepilogo di quelli descritti in questo articolo:
- Disabilita AutoRun (ma vedi il bug di disabilitazione AutoRun )
- Utilizzare il criterio di gruppo "Comportamento predefinito per esecuzione automatica" in Vista (vedere sopra ) per disabilitare i comandi autorun.inf
- Utilizzare la mappatura del file di inizializzazione per annullare le sezioni autorun.inf
- In Windows 7, solo le unità CD e DVD possono specificare applicazioni come l'attività di esecuzione automatica nel file autorun.inf. Windows XP e versioni successive possono essere patchate per comportarsi allo stesso modo con l'aggiornamento
KB971029. Nel febbraio 2011, questa patch è stata aggiunta al canale ufficiale di Windows Update . Il comportamento dell'attività di esecuzione automatica di Windows 7 ora diventa l'impostazione predefinita per tutte le versioni correnti del sistema operativo Windows.
Inoltre, le seguenti azioni sono state consigliate da Microsoft, principalmente durante gli attacchi del worm Conficker :
- Impedisci il richiamo di autorun.inf dalle condivisioni di rete tramite:
- Eliminazione di qualsiasi file autorun.inf esistente dalla radice di un'unità di rete mappata
- Negazione Crea diritti per la radice di un'unità di rete mappata
- Impedire l'uso di dispositivi di archiviazione USB mediante:
- Impostazioni USB nel BIOS di sistema
- Impostazioni di registro appropriate come descritto nell'articolo della Knowledge Base
823732 - Impostazione dei dispositivi USB in sola lettura per impedire la propagazione di worm sconosciuti (e il furto di dati proprietari)
Guarda anche
Riferimenti
link esterno
- AutoRun e AutoPlay Reference , Microsoft, MSDN Library
- Vermi di memory stick , blog di Nick Brown
- Autorun Protector , un software autonomo che impedisce al PC di eseguire automaticamente i worm e protegge il dispositivo rimovibile dall'infezione da altre fonti.
- Guida di riferimento per l'esecuzione automatica di Dan McCloy
- Security Watch Island Hopping: The Infectious Allure of Vendor Swag , TechNet Magazine
- Figura 4: codice di esempio querycancelautoplay , Microsoft Systems Journal , settembre 1998
- Riparazione guidata AutoPlay , Centro download Microsoft
- Metti alla prova le tue difese contro unità flash USB dannose , blog di Computerworld, 24 gennaio 2009
- Il modo migliore per disabilitare l'esecuzione automatica per la protezione da unità flash USB infette , blog di Computerworld, 30 gennaio 2009
- Come rimuovere AutoRun Virus
- Microsoft PowerToys , Microsoft, Tweak UI
- Risorsa di informazioni in linea sulla funzione di esecuzione automatica / avvio automatico di Microsoft Windows
- Strumento di configurazione semplice AutoRunConf per le impostazioni di esecuzione automatica.
- Come abilitare / disabilitare l'esecuzione automatica per un'unità (utilizzando il registro)
- Disabilita l'esecuzione automatica attiva / disattiva la funzione di esecuzione automatica / riproduzione automatica di Windows
- Crea un menu di esecuzione automatica Crea il tuo menu di esecuzione automatica
