AutoRun - AutoRun
AutoRun și caracteristica însoțitoare AutoPlay sunt componente ale sistemului de operare Microsoft Windows care dictează ce acțiuni ia sistemul atunci când este montat un drive .
AutoRun a fost introdus în Windows 95 pentru a facilita instalarea aplicației pentru utilizatorii non-tehnici și pentru a reduce costul apelurilor de asistență software. Când un CD-ROM configurat corespunzător este introdus într-o unitate CD-ROM, Windows detectează sosirea și verifică conținutul pentru un fișier special care conține un set de instrucțiuni. Pentru un CD care conține software, aceste instrucțiuni inițiază în mod normal instalarea software-ului de pe CD-ROM pe hard disk. Pentru a maximiza probabilitatea succesului instalării, AutoRun acționează și atunci când este accesat unitatea („ dublu clic ”) în Windows Explorer (sau „Computerul meu”).
Până la introducerea Windows XP , termenii AutoRun și AutoPlay au fost folosiți în mod interschimbabil, dezvoltatorii folosind deseori termenul anterior și utilizatorii finali pe acesta din urmă. Această tendință se reflectă în setările politicii Windows denumite Redare automată care modifică intrările din registrul Windows denumite AutoRun și în autorun.inffișierul care determină adăugarea „Redare automată” la meniurile contextuale ale unităților . Terminologia a avut o importanță redusă până la sosirea Windows XP și adăugarea unei noi caracteristici pentru a ajuta utilizatorii să selecteze acțiunile adecvate atunci când au fost detectate noi suporturi și dispozitive. Această nouă caracteristică s-a numit Redare automată și s-a creat o diferențiere între cei doi termeni.
AutoRun, o caracteristică a Windows Explorer (de fapt, shell32 dll ) introdusă în Windows 95, permite media și dispozitivelor să lanseze programe utilizând comanda listată într-un fișier numit autorun.inf, stocat în directorul rădăcină al suportului.
Utilizate în principal pe CD-ROM-urile de instalare, aplicațiile numite sunt de obicei instalatoare de aplicații. Fișierul autorun.inf poate specifica, de asemenea, o pictogramă care va reprezenta dispozitivul vizual în Explorer, împreună cu alte caracteristici avansate.
Termenii AutoRun și AutoPlay tind să fie folosiți interschimbabil atunci când se referă la acțiunea de inițiere, acțiunea care detectează și începe citirea din volumele descoperite . Ilustrația schemă logică în articol arată AutoPlay modul în care AutoRun este poziționat ca un strat între redare automată și serviciul de detectare a hardware Shell și poate ajuta la înțelegerea terminologiei. Cu toate acestea, pentru a evita confuzia, acest articol folosește termenul AutoRun atunci când se referă la acțiunea de inițiere.
Redare automata
AutoPlay este o caracteristică introdusă în Windows XP care examinează suporturi și dispozitive amovibile și, pe baza conținutului precum imagini, fișiere muzicale sau video, lansează o aplicație adecvată pentru redarea sau afișarea conținutului. Dacă sunt disponibile, setările într-un fișier autorun.inf se pot adăuga la opțiunile prezentate utilizatorului.
AutoPlay se bazează pe un set de aplicații de gestionare înregistrate în sistemul AutoPlay. Fiecare tip de suport (Poze, Muzică, Video) poate avea un set de handler-uri înregistrate care se pot ocupa de redarea sau afișarea acelui tip de suport.
Fiecare dispozitiv hardware poate avea o acțiune implicită la descoperirea unui anumit tip de suport sau dialogul de redare automată poate solicita utilizatorului ce acțiune trebuie să ia.
Activare AutoRun
Secvența AutoRun începe cu descoperirea inițială a unui dispozitiv nou sau a unui nou suport media. Ulterior, apare notificarea părților interesate, despre care shell-ul Windows Explorer este de interes principal. După verificarea anumitor setări de registry pentru a vedea dacă AutoRun poate continua, poate apărea analiza unui autorun.inf opțional și se iau toate acțiunile necesare.
Secvența inițială este gestionată la fel în fiecare versiune de Windows din Windows 95. Cu toate acestea, modul în care este citit și acționat fișierul autorun.inf și nivelul de integrare a AutoRun cu AutoPlay s-a schimbat semnificativ de la momentul în care AutoPlay a fost introdus în Windows XP până la gestionarea actuală în Windows 7 . În Windows 10 , Microsoft a adăugat opțiunea de a activa executarea automată în setările sale. Nu numai utilizatorii îl pot activa, ci și pot alege anumite dispozitive externe pentru redare automată.
Inițierea și notificarea
Când un dispozitiv cu drivere compatibile cu AutoRun primește suporturi noi, apare un eveniment „Notificare schimbare suport”. Sistemul de operare Windows notifică apoi aplicațiilor interesate că s-a produs o modificare a dispozitivului. Metoda de notificare utilizată se poate modifica în funcție de tipul dispozitivului.
Dacă dispozitivul schimbat este un volum (cum ar fi un CD) sau un port (ca un port serial) Windows transmite o WM_DEVICECHANGEnotificare către toate ferestrele de nivel superior. Windows numește aceasta o notificare „de bază”. O fereastră de nivel superior este una care este un descendent al desktopului.
Cu toate acestea, dacă dispozitivul schimbat nu este unul dintre aceste tipuri, o aplicație poate utiliza RegisterDeviceNotificationfuncția pentru a se înregistra pentru a primi notificări ale dispozitivului.
Un articol de pe site-ul CodeProject, „Detectarea inserției și / sau eliminării hardware” , cu clarificări de pe un blog de Doran Holan prezintă un interes tehnic deosebit aici.
Dispozitivele fără volum sunt acele dispozitive care nu apar ca litere de unitate în „Computerul meu”. Acestea nu sunt gestionate de nicio parte din AutoRun - orice acțiune întreprinsă pentru aceste dispozitive este efectuată fie de software specific dispozitivului, fie de AutoPlay. Vedeți AutoPlay # Dispozitive care nu sunt unități .
Când Explorer primește notificarea unei modificări de volum , acesta efectuează o serie de acțiuni:
- Verifică dacă AutoRun a fost dezactivat prin registru. Dacă AutoRun este dezactivat pentru acea unitate sau tip de unitate, Explorer nu continuă mai departe. Au existat erori în acest domeniu.
- Verifică dacă directorul rădăcină al mediului inserat conține un fișier autorun.inf, care ar putea fi citit. Vezi mai jos .
- Trimite un
QueryCancelAutoPlaymesaj către fereastra din prim-plan. O aplicație care și-a înregistrat interesul de a primi acest mesaj folosindRegisterWindowMessagepoate răspunde la acest mesaj pentru a opri AutoRun (și deci AutoPlay) în acest moment. Orice aplicație, în prim-plan sau nu, poate fi notificată și utilizând interfațaIQueryCancelAutoPlayCOM disponibilă în Windows XP și ulterior. - Modifică dublu-clic și comportamentele meniului contextual. Când un utilizator face dublu clic pe pictograma unității din Explorer sau face clic dreapta pentru a obține un meniu contextual, ceea ce se întâmplă este complet programabil prin setări din fișierul autorun.inf.
- Adaugă o pictogramă controlabilă autorun.inf și text descriptiv la pictograma unității.
- Verifică dacă tasta este apăsată. Dacă este, atunci Windows Vista (și versiunile ulterioare de Windows) va invoca dialogul de redare automată, indiferent de setările contrare. Versiunile anterioare de Windows nu vor continua procesul.⇧ Shift
- În cele din urmă, dacă acest punct a fost atins, fie:
- nu ia alte măsuri.
- execută „sarcina AutoRun”, aplicația specificată opțional în tastele
opensaushellexecutedin secțiunea [autorun] autorun.inf . - invocă redarea automată.
- Ce alegere se face depinde de versiunea de Windows utilizată, de instrucțiunile din autorun.inf dacă sunt disponibile și de tipul suportului descoperit.
Schimbarea comportamentului
Înainte de redarea automată
În versiunile Windows anterioare Windows XP, va fi citit un fișier autorun.inf pe orice tip de unitate și urmate instrucțiunile sale. Sarcina AutoRun, dacă este specificată, este executată imediat fără interacțiunea utilizatorului. Aceasta include DRIVE_REMOVABLE, DRIVE_FIXED și DRIVE_REMOTE tipuri de unitate .
AutoRun va funcționa cu unități de rețea (tipul de unitate DRIVE_REMOTE) care sunt mapate la o literă de unitate. AutoRun va funcționa, de asemenea, cu unități de dischetă care sunt furnizate cu drivere compatibile cu autorun.
Setările implicite de registry pentru versiunile Windows anterioare Windows XP (vezi NoDriveTypeAutoRun ), dezactivează unitățile de la distanță și amovibile de la inițierea AutoRun, lăsând tipurile de unități fixe și CDROM active în mod implicit.
Vă prezentăm redarea automată
Odată cu introducerea redării automate în Windows XP, acțiunea etapei finale (etapa 7 de mai sus) pentru unele tipuri de unități s-a schimbat de la executarea unei aplicații la invocarea redării automate. Din Windows Vista, sistemul AutoPlay este integrat în fiecare aspect al procesării suporturilor media și nu există o execuție automată a sarcinii AutoRun.
Setările implicite ale registrului adaugă unități amovibile celor care au inițiat AutoRun. În Windows XP și versiuni ulterioare, cu excepția Windows Server 2003, numai tipurile de unitate Necunoscute și Remote nu sunt active pentru AutoRun.
Gestionarea fișierului autorun.inf se schimbă foarte semnificativ între fiecare versiune de Windows. Detaliile pot fi găsite în articolul autorun.inf . Tratarea curentă în Windows 7 este că numai unitățile de tip DRIVE_CDROM pot specifica o sarcină AutoRun, pot modifica comportamentul cu dublu clic sau pot modifica meniurile contextuale.
Setări de registru
AutoRun consultă valorile registrului Windows pentru a decide dacă inițiază acțiuni pentru un anumit drive sau tip de unitate. Aceste valori pot fi modificate folosind mai multe metode, dintre care una este utilizarea politicii de grup .
Principalele nume relevante ale intrărilor de registru sunt NoDriveTypeAutoRunși NoDriveAutoRun. Acestea există atât în setările pentru fiecare mașină, cât și pentru fiecare utilizator, iar locația și prioritatea lor în registru sunt descrise în detaliu mai jos.
Tipuri de unități
Tipurile de unități se disting prin numele de tip, după cum urmează:
| Introduceți numele | valoare | Descriere |
|---|---|---|
| DRIVE_UNKNOWN | 0x00000000 | Tipul de unitate nu a putut fi determinat (unitate generică) |
| DRIVE_NO_ROOT_DIR | 0x00000001 | Unitatea este momentan nevalidă (nu există volume montate) |
| DRIVE_REMOVABLE | 0x00000002 | Unitatea are suport amovibil (unitate floppy, unitate flash USB ) |
| DRIVE_FIXED | 0x00000003 | Discul nu poate fi scos din unitate (hard disk / unitate SSD) |
| DRIVE_REMOTE | 0x00000004 | Unitatea este o unitate de la distanță (de rețea) |
| DRIVE_CDROM | 0x00000005 | Unitatea este o unitate CD-ROM, DVD-ROM sau BD-ROM |
| DRIVE_RAMDISK | 0x00000006 | Unitatea este un disc RAM |
| DRIVE_NOT_DETERMINED | 0x00000007 | Unitatea nu a fost încă stabilită |
| DRIVE_NOT_FOUND | 0x00000008 | Unitatea nu poate fi accesată în prezent (unități detașate) |
| [REZERVAT] | 0x00000009 | Această valoare este rezervată tehnologiilor viitoare |
Terminologia registrului
Registrul Windows este o bază de date ierarhică care stochează setările de configurare și opțiunile pentru sistemul de operare. Terminologia este oarecum înșelătoare, așa că este rezumată pe scurt aici.
O cheie de registry este similară cu un folder care, pe lângă valori, fiecare cheie poate conține subchei care la rândul lor pot conține subchei și așa mai departe.
O valoare de registru constă dintr-o pereche nume-date. Documentația Microsoft folosește de obicei termenul „intrare” ca termen echivalent. De asemenea, folosește „valoare” pentru „date” atunci când este evident ce se înțelege. Pentru a evita confuzia, acest articol folosește întotdeauna termenul „intrare” atunci când se referă la perechea nume-date.
Două chei de registry la care se face referire foarte frecvent sunt care conțin setări pentru HKEY_LOCAL_MACHINEfiecare mașină și HKEY_CURRENT_USERcare conține setări pentru utilizatorul conectat în prezent. Acestea sunt aproape întotdeauna prescurtate ca HKLMși HKCUrespectiv. Pot fi mulți utilizatori ai unei mașini; setările lor sunt stocate în HKEY_USERS, HKCUeste de fapt doar un link către locul potrivit din HKEY_USERS.
Modificarea setărilor de registry
Setările de registry pot fi modificate direct utilizând regeditinstrumentul GUI sau reg.exeutilitarul pentru linia de comandă . Setările pot fi plasate și într-un fișier text , denumit cu un tip de extensie .reg. De exemplu, „ mychanges.reg”. Când se face dublu clic pe fișier, setările din fișier sunt introduse în registru, permisiuni permițând.
Acestea pot fi modificate indirect utilizând politica de grup, aplicată local la un singur computer cu GPEdit.mscsau la un domeniu cu gpmc.msc.
Poate fi necesar să vă deconectați sau să reporniți computerul pentru ca orice modificare a registrului să intre în vigoare.
Ordinea de evaluare
Cele NoDriveAutoRunși NoDriveTypeAutoRunintrările registry pot exista în două locuri, setarea pentru fiecare utilizator (sub HKEY_CURRENT_USER) și setarea pe-mașină (sub HKEY_LOCAL_MACHINE). Dacă apare o intrare sub HKEY_LOCAL_MACHINE, atunci orice intrare corespunzătoare din HKEY_CURRENT_USER este complet ignorată. Valorile datelor nu sunt combinate în niciun fel.
Când decideți dacă activați AutoRun, sunt consultate ambele NoDriveAutoRunși NoDriveTypeAutoRunînregistrările din registru. Dacă oricare dintre valori indică faptul că o unitate ar trebui să fie dezactivată, atunci AutoRun este dezactivat pentru acea unitate.
Astfel, în următorul exemplu:
| HKEY_LOCAL_MACHINE | HKEY_CURRENT_USER | ||
|---|---|---|---|
| NoDriveAutoRun | NoDriveTypeAutoRun | NoDriveAutoRun | NoDriveTypeAutoRun |
| 0x08 | (Nu este prezent) | 0x03FFFFFF | 0x95 |
valoarea datelor luate pentru NoDriveAutoRuneste 0x08, dezactivarea unității D și valoarea datelor luate pentru NoDriveTypeAutoRuneste 0x95, dezactivarea unităților amovibile și de rețea. Intrarea pe utilizator NoDriveAutoRunnu este folosită niciodată.
NoDriveTypeAutoRun
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
|
|||
| Numele intrării | Tipul de date | Gamă | Mod implicit |
|---|---|---|---|
NoDriveTypeAutoRun
|
REG_DWORD | 0x00 la 0xFF | 0x95 sau 0x91 |
Această intrare de registru dezactivează sau activează caracteristica AutoRun pe toate unitățile de tipul specificat. Acesta reflectă setarea politicii de grup pentru redare automată relevantă. Datele valide variază de la 0x00 la 0xFF în notație hexazecimală . Dacă intrarea nu este prezentă, valoarea implicită a datelor este fie 0x95, fie 0x91, în funcție de versiunea de Windows utilizată. O intrare prezentă în HKLM anulează orice intrare prezentă în HKCU.
Datele de intrare sunt o valoare bitmapată, unde un bit setat la 1 dezactivează AutoRun pe un anumit tip de unitate. Setările de biți pentru fiecare tip de unitate sunt prezentate mai jos:
Rețineți că numărul de biți 1 este neutilizat și că tipul „Necunoscut” este reprezentat de două ori. Setarea tuturor biților la 1 ar da o valoare hexazecimală de 0xFF, zecimală 255 și ar dezactiva AutoRun pe toate tipurile de unități.
Setarea implicită pentru această intrare depinde de versiunea de Windows utilizată:
| Sistem de operare | Setare implicită |
|---|---|
| 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
|
|||
| Numele intrării | Tipul de date | Gamă | Mod implicit |
|---|---|---|---|
NoDriveAutoRun
|
REG_DWORD | De la 0x0 la 0x03FFFFFF | 0x0 |
Această intrare de registru dezactivează sau activează caracteristica AutoRun pe unități individuale. Nu este asociat cu o politică de grup și nu există în mod implicit. Valoarea datelor este considerată 0 dacă intrarea nu este prezentă. O intrare prezentă în HKLM înlocuiește orice intrare prezentă în HKCU.
Datele sunt o valoare bitmap pe 32 de biți (DWORD), din care cei 26 de biți inferiori sunt utilizați pentru a reprezenta fiecare dintre cele 26 de litere de unitate de la A la Z. Astfel, intervalul de date valid este de la 0x0 la 0x03FFFFFF. Bitul cel mai puțin semnificativ (cel mai drept bit) reprezintă unitatea A, iar cel de-al 26-lea bit din dreapta reprezintă unitatea Z.
Un bit setat la 1 dezactivează AutoRun pe o anumită unitate. De exemplu, dacă valoarea datelor este setată la 0x8 (1000 binar), AutoRun este dezactivat pe unitatea D.
Politica de grup
Singurele setări ale politicii de grup disponibile pentru AutoRun afectează NoDriveTypeAutoRunintrările din registru. Politica este disponibilă fie pe un computer, fie pe utilizator, reflectând locația intrării în registru fie în HKLM, fie în HKCU. Așa cum este descris mai sus , o setare de politică pe mașină va face ca setarea de politică pe utilizator să fie ignorată.
Când o politică este activată , politica de grup va adăuga NoDriveTypeAutoRunintrarea în registru. Dacă politica este Dezactivată sau setată la Neconfigurat , Politica de grup șterge această intrare din Registrul pentru politica Mașină (în HKLM) și o setează înapoi la valoarea implicită a sistemului pentru politica Utilizator (în HKCU). Valorile implicite ale sistemului pot avea efect după cum este descris în secțiunea NoDriveTypeAutoRun .
Numele politicilor, locațiile și setările posibile variază ușor între versiunile Windows. Lista de setări este relativ scurtă și este întotdeauna suplimentară la setarea implicită a sistemului. Prin urmare, în Windows 2000, activând politica „Dezactivează redarea automată” și setând-o pe „CD-ROM drives”, dezactivează AutoRun (diferit de AutoPlay) pentru CD-ROM și unități DVD, unități detașabile, unități de rețea și unități necunoscute tip.
Această setare nu poate fi utilizată pentru a activa AutoRun pe unitățile pe care este dezactivată implicit sau pentru a dezactiva AutoRun pentru unitățile care nu sunt listate. Pentru a dezactiva sau activa anumite unități particulare sau tipuri de unități, Registrul trebuie editat manual.
Windows Server 2003, Windows XP și Windows 2000
Locația politicii pe mașină este:
- Politică de grup \ Configurare computer \ Șabloane administrative \ Sistem
Locația politicii per utilizator este:
- Politică de grup \ Configurare utilizator \ Șabloane administrative \ Sistem
Politica relevantă este „Dezactivează redarea automată”. În Windows 2000, politica se numește „Dezactivează redarea automată”.
Odată ce politica este activată, aceasta poate fi setată la „Toate unitățile” sau „Unitățile CD-ROM”. Această din urmă setare adaugă unități CD-ROM la lista existentă de tipuri de unități dezactivate, așa cum este descris mai sus.
Windows Vista, Windows Server 2008
Locația politicii pe mașină este:
- Configurare computer \ Șabloane administrative \ Componente Windows \ Politici de redare automată
Locația politicii per utilizator este:
- Configurare utilizator \ Șabloane administrative \ Componente Windows \ Politici de redare automată
Politica relevantă este „Dezactivați redarea automată” și poate fi setată pentru CD-ROM, DVD-ROM și unitățile amovibile sau toate unitățile.
Două politici conexe au fost adăugate în Vista și Server 2008:
- Comportament implicit pentru AutoRun
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\ExplorerNumele intrării Tipul de date Gamă Mod implicit NoAutoRunREG_DWORD
- Setează comportamentul implicit pentru comenzile AutoRun găsite în fișierele autorun.inf.
- Înainte de Windows Vista, când mediul conținând un autorun.inf care specifică o sarcină AutoRun era: inserat, acțiunea implicită a fost executarea automată a programului fără intervenția utilizatorului. : Din Windows Vista, comportamentul implicit este de a invoca redarea automată și de a reprezenta sarcina AutoRun ca: una dintre opțiunile de dialog. Acesta este, de asemenea, comportamentul atunci când această politică nu este configurată sau: Dezactivat.
- Dacă această politică este activată, comportamentul poate fi schimbat în:
- Dezactivați complet comenzile autorun.inf sau
- Executați automat comanda autorun.inf conform versiunilor Windows anterioare.
- Nu setați caseta de selectare întotdeauna faceți acest lucru
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\ExplorerNumele intrării Tipul de date Gamă Mod implicit DontSetAutoplayCheckboxREG_DWORD
- Dacă această politică este Activată, caseta de selectare „Faceți întotdeauna acest lucru ...” din caseta de dialog AutoPlay nu va fi setată: în mod implicit când este afișată caseta de dialog.
Windows 7, Windows Server 2008 R2
În aceste versiuni de Windows, capacitatea unui fișier autorun.inf de a seta o activitate AutoRun, de a modifica comportamentul cu dublu clic sau de a modifica meniurile contextuale este limitată la unitățile de tip DRIVE_CDROM. Nu există setări de politică care să anuleze acest comportament. Locațiile și setările politicii sunt conform Windows Vista, Windows Server 2008 de mai sus, cu adăugarea:
- Dezactivați redarea automată pentru dispozitivele fără volum
HKLM\Software\Policies\Microsoft\Windows\Explorer
HKCU\Software\Policies\Microsoft\Windows\ExplorerNumele intrării Tipul de date Gamă Mod implicit NoAutoplayfornonVolume
- Dacă această politică este activată, Redarea automată va fi dezactivată pentru dispozitivele fără volum .
Modificarea comportamentului AutoRun
Apăsând tasta Shift
Dacă ⇧ Shifttasta este menținută apăsată într-un anumit moment al secvenței de execuție, Windows Vista invocă dialogul de redare automată, indiferent de setările de redare automată contrare. Versiunile anterioare de Windows nu execută sarcina AutoRun. Este esențial ca tasta Shift stânga să fie utilizată în acest scop, deoarece ținând apăsată tasta Shift dreaptă timp de opt secunde invocă FilterKeys.
Având în vedere că Shift trebuie ținut apăsat până când Windows îl verifică, poate trece o perioadă considerabilă de timp înainte ca acesta să devină efectiv. Timpul necesar depinde în primul rând de timpul de recunoaștere a noului hardware și de timpul necesar pentru ca CD-ROM-urile să se rotească. Nu este sigur să te bazezi pe această metodă.
Notificare inserare automată
Anumite evenimente de notificare a modificărilor media pot fi suprimate prin modificarea anumitor intrări din registru. „Notificare de schimbare media” este termenul generic; pentru unitățile CD-ROM, termenul specific este „Notificare automată prin inserare”.
HKLM\SYSTEM\CurrentControlSet\Services\Cdrom
|
|||
| Numele intrării | Tipul de date | Gamă | Mod implicit |
|---|---|---|---|
AutoRun
|
REG_DWORD | 0 sau 1 | 1 |
Pentru unitățile CD-ROM, modificarea valorii acestei intrări de registru la 0 va dezactiva notificarea de inserare automată numai pentru unitățile CD-ROM. Va fi necesară o repornire Windows.
| Valoarea datelor | Sens |
|---|---|
0 |
Nu trimite un mesaj MCN |
1 |
Trimite un mesaj MCN |
În Windows 95/98 / ME, această setare poate fi modificată în Device Manager, accesibilă din pictograma System din Panoul de control.
Deși intrarea din registru este denumită „AutoRun”, aceasta suprimă doar mesajul MCN. Mesajul MCN declanșează inițierea AutoRun, dar instruiește și shell-ul Explorer să își actualizeze vizualizările și conținutul.
Astfel, doar ca efect secundar, aceasta dezactivează funcția AutoRun pentru unitățile CD-ROM. Cu toate acestea, Explorer nu își va actualiza acum vizualizarea atunci când este introdus un CD nou; va afișa conținutul CD-ului anterior până când F5este apăsat sau se selectează View / Refresh din meniul Explorer. Acest lucru ar putea duce la confuzii severe pentru utilizatori.
Din acest motiv, mesajul Notificare modificări media nu trebuie dezactivat decât dacă nu există absolut nicio alternativă; AutoRun poate fi dezactivat pentru unități individuale utilizând Politica de grup sau Registrul.
HKLM\SYSTEM\CurrentControlSet\Services\Cdrom
|
|
| Numele intrării | Tipul de date |
|---|---|
AutoRunAlwaysDisable
|
REG_MULTI_SZ |
Această intrare este utilizată pentru a suprima mesajul MCN pentru tipul specificat de unitate de CD-ROM, în principal schimbătoare de CD-ROM. Datele sunt un set de identificatori de dispozitiv, care se potrivește cu acei identificatori raportați la sistem de către dispozitivele în sine.
Valoarea implicită pentru această intrare constă în produse identificate de testarea Microsoft ca fiind incapabile să accepte AutoRun. Această intrare nu trebuie modificată față de valoarea implicită.
Editarea politicii de grup
AutoRun poate fi suprimat pe anumite unități și tipuri de unități folosind metodele descrise în secțiunea Politică de grup . Cu toate acestea, Editorul de politici de grup nu este disponibil în versiunile principale de Windows XP și nu oferă facilități de selecție a unităților cu granulație fină.
Cu toate acestea, Politica de grup ar fi metoda acceptată de dezactivare AutoRun pe un întreg domeniu Windows.
Fișiere de registru
Se poate crea un fișier de setare a registrului care, atunci când este executat, face modificările dorite în registru.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\policies\Explorer]
"NoDriveTypeAutoRun"=dword:000000ff
|
În exemplul de mai sus, AutoRun ar fi dezactivat pentru toate unitățile și pentru toți utilizatorii. Acest exemplu ar trebui rulat ca administrator și ar fi necesară o repornire pentru ca setarea să aibă efect complet.
Asocierea fișierului de inițializare
Windows Vista și versiunile ulterioare ale Windows au o setare de politică, „Comportament implicit pentru AutoRun”, care poate fi setată pentru a interzice citirea unui fișier autorun.inf pe orice volum. Acest lucru evită anumite scenarii în care programele malware utilizează funcționalitatea autorun.inf pentru a infecta o mașină. Versiunile anterioare de Windows nu au această setare de politică, dar utilizarea mapării fișierelor de inițializare este o soluție eficientă.
Deoarece un fișier autorun.inf este un fișier Windows INI standard , apelurile API corespunzătoare sunt utilizate de Windows atunci când preia setările acestuia. Aceste apeluri API pot fi redirecționate folosind metoda de mapare a fișierelor INI. Următorul fișier de registry ilustrează soluția, unde toate setările autorun.inf sunt preluate exclusiv din HKEY_LOCAL_MACHINE\Software\DoesNotExistcheia de registry:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf]
@="@SYS:DoesNotExist"
|
Deoarece această cheie nu există, este ca și cum fișierul autorun.inf nu conține informații despre setări. Este important să rețineți că acest lucru se aplică oricărui autorun.inf în orice locație și pe orice unitate.
Deoarece setarea politicii sau această soluție dezactivează executarea automată, instalarea software-ului de pe un CD sau DVD de instalare a rulării automate nu va mai fi în mod evident automat. Va fi necesar să vizualizați fișierul autorun.inf al CD-ului și apoi să executați manual programul de instalare corespunzător.
Probleme și securitate
Microsoft a recunoscut că „Deoarece codul poate fi executat fără cunoștința sau consimțământul utilizatorului, utilizatorii ar putea dori să dezactiveze această caracteristică din motive de securitate”. și a lansat un „Fixit” pentru a dezactiva AutoRun pentru utilizatorii care nu se simt confortabil cu editarea registrului.
Bugul AutoRun dezactivează
De la Windows 2000 până la Windows Server 2008, intrările de registry relevante pentru AutoRun nu au fost gestionate corespunzător, ducând la o vulnerabilitate de securitate. Windows 95 și Windows 98 nu au fost afectate.
Când AutoRun este dezactivat, Windows nu ar trebui să procedeze mai departe prin secvența de activare decât verificarea registry. Cu toate acestea, analizează orice autorun.inf găsit și face totul, cu excepția acțiunii finale pentru a invoca redarea automată sau a executa o aplicație.
Acest lucru lasă utilizatorul deschis la atacul malware-ului care folosește autorun.inf pentru a modifica dublu-clic și comportamentele meniului contextual. Dacă faceți dublu clic pe pictograma unității, veți infecta mașina. Faceți clic dreapta și selectați opțiunile „Explorați” sau „Deschideți” din meniul contextual nu este o soluție, deoarece aceste elemente de meniu pot fi cooptate de intrările autorun.inf corespunzătoare.
Această eroare a fost remediată într-o serie de actualizări de securitate, detaliate în articolul din baza de cunoștințe Microsoft 967715.
Alte probleme
- Dacă se adaugă computerul la un domeniu Active Directory,
NoDriveTypeAutoRunvaloarea poate fi resetată la o valoare implicită. Acest lucru se datorează setărilor politicii de grup din domeniu care intră în vigoare. Aceasta nu este o eroare. - Unele programe pot modifica în mod deliberat setările AutoRun Registry. Se știe că versiunile timpurii ale software-ului de ardere a CD-urilor, cum ar fi Roxio, modifică setările în acest fel.
- Dacă opțiunea de securitate Politică de grup „Restricționează accesul CD-ROM la utilizatorul conectat local numai” în:
- Computer Configuration \ Windows Settings \ Security Settings \ Local Policies \ Security Options
este activat (Activat), atunci AutoRun poate să nu funcționeze.
Programele de instalare Windows vor funcționa defectuos, deoarece accesul „Sistem local” la CD-ROM va fi refuzat.
Această setare a politicii de grup reflectă valoarea intrării în registru:
și ar trebui să fie setat la 0.HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinlogonNumele intrării Tipul de date Gamă Mod implicit allocatecdromsREG_SZ0 sau 10 - RealPlayer 10 interferează cu funcționalitatea de redare automată în măsura în care ar putea părea că AutoRun sau AutoPlay nu funcționează deloc.
Atac vectorii
Funcționalitatea AutoRun a fost utilizată de ceva timp ca vector malware. Înainte de Windows Vista, acțiunea implicită cu un tip de unitate CD-ROM a fost de a urma instrucțiunile fișierului autorun.inf fără solicitări sau avertismente. Acest lucru face ca CD-ROM-urile necinstite să fie un posibil vector de infecție.
În aceeași categorie sunt CD-ROM-uri cu conținut mixt. Un CD audio, pe care un utilizator nu l-ar aștepta să conțină deloc software, poate conține o secțiune de date cu un autorun.inf. Unele companii, cum ar fi Sony BMG , au folosit acest vector pentru a instala malware care încearcă să protejeze împotriva copierii pieselor audio.
Unitățile flash activate U3 , prin emularea unei unități CD-ROM, pot determina, de asemenea, ca Windows să execute comenzi din autorun.inf găsit pe CD-ROM-ul emulat.
Dispozitive precum modemul Huawei E220 HSDPA folosesc în mod valid această metodă pentru a instala automat driverele pentru modemul în sine. Cu toate acestea, conectarea unei unități flash de la o sursă necunoscută este o mișcare neînțeleaptă. USB Switchblade și instrumente similare au făcut ca atacurile de pe unitățile flash U3 să fie banale. Având în vedere ușurința de a scrie atacuri bazate pe scripturi , software - ul antivirus poate fi ineficient în prevenirea furtului de date și parole.
Cu o unitate flash standard, atacurile de inginerie socială pot fi folosite pentru a determina un utilizator să facă clic pe elementul corespunzător din caseta de dialog AutoPlay. Un șir de acțiune atrăgător care promite jocuri gratuite sau pornografie ar atrage mulți utilizatori în capcană. În orice moment, făcând dublu clic pe pictograma unității se va utiliza automat autorun.inf, o capcană în care ar putea intra utilizatorii mai avansați.
Orice utilizator poate configura Redarea automată pentru a lua diferite decizii pentru ei; bifând caseta corespunzătoare din caseta de dialog AutoPlay, rularea malware-ului de pe unitatea flash devine silențioasă și automată.
Programele malware AutoRun au fost extinse pentru a utiliza hard disk-uri, cadre și alte dispozitive digitale. Grija în tratarea dispozitivelor externe este o prioritate de securitate. Prevalența infecției cu malware prin AutoRun și unitate flash USB a fost documentată într-un studiu Microsoft din 2011 care analizează date de la peste 600 de milioane de sisteme din întreaga lume în prima jumătate a anului 2011. Studiul a constatat că 26 la sută din toate infecțiile malware ale sistemului Windows au fost datorită unităților flash USB care exploatează caracteristica AutoRun în Microsoft Windows . Această constatare a fost în concordanță cu alte statistici, cum ar fi raportarea lunară a celor mai frecvent detectate programe malware de către compania antivirus ESET, care listează abuzul de autorun.inf ca fiind primul dintre primele zece amenințări din 2011.
Atenuarea atacului
Pe lângă măsurile de securitate de bază, care includ
- urmând principiul minimului privilegiu prin a nu rula în mod obișnuit cu privilegii de administrator și
- aplicarea tuturor patch-urilor și actualizărilor de securitate relevante,
expunerea la aceste atacuri poate fi redusă la minimum prin utilizarea adecvată a setărilor politicii de grup și a registrului. Următoarele politici de securitate sunt un rezumat al celor descrise în acest articol:
- Dezactivați AutoRun (dar vedeți eroarea de dezactivare AutoRun )
- Utilizați politica de grup „Comportament implicit pentru AutoRun” din Vista (a se vedea mai sus ) pentru a dezactiva comenzile autorun.inf
- Utilizați maparea fișierului de inițializare pentru a anula secțiunile autorun.inf
- În Windows 7, numai unitățile CD și DVD pot specifica aplicații precum sarcina AutoRun în fișierul autorun.inf. Windows XP și versiunile ulterioare pot fi reparate pentru a se comporta în același mod cu actualizarea
KB971029. În februarie 2011, acest patch a fost adăugat canalului oficial Windows Update . Comportamentul activității Windows 7 AutoRun devine acum implicit pentru toate versiunile actuale ale sistemului de operare Windows.
În plus, următoarele acțiuni au fost recomandate de Microsoft, în principal în timpul atacurilor cu viermi Conficker :
- Preveniți invocarea autorun.inf din partajările de rețea prin:
- Ștergerea oricărui fișier existent autorun.inf din rădăcina unei unități de rețea mapate
- Refuzând crearea drepturilor la rădăcina unei unități de rețea mapate
- Împiedicați utilizarea dispozitivelor de stocare USB prin:
- Setări USB în BIOS-ul sistemului
- Setările corespunzătoare ale registrului, așa cum sunt descrise în articolul din baza de cunoștințe
823732 - Setarea dispozitivelor USB pentru citire numai pentru a preveni propagarea viermilor necunoscuți (și furtul de date proprietare)
Vezi si
Referințe
linkuri externe
- AutoRun și AutoPlay Reference , Microsoft, MSDN Library
- Viermi de memorie , blogul lui Nick Brown
- Autorun Protector , un software independent care previne computerul de la viermi autorun și protejează dispozitivul amovibil de a fi infectat din alte surse.
- Ghidul de referință Autorun al lui Dan McCloy
- Security Watch Island Hopping: Allectarea infecțioasă a vânzătorului Swag , revista TechNet
- Figura 4: exemplu de cod de interogare a redării , Microsoft Systems Journal , septembrie 1998
- Expertul de reparare a redării automate , Centrul de descărcare Microsoft
- Testați-vă apărarea împotriva unităților flash USB rău intenționate , blogul Computerworld, 24 ianuarie 2009
- Cel mai bun mod de a dezactiva Autorun pentru protecție împotriva unităților flash USB infectate , blogul Computerworld, 30 ianuarie 2009
- Cum se elimină Virusul AutoRun
- Microsoft PowerToys , Microsoft, Tweak UI
- Resurse de informații online despre caracteristica de pornire automată / pornire automată a Microsoft Windows
- Instrument de configurare simplu AutoRunConf pentru setările Autorun.
- Cum se activează / se dezactivează Autorun pentru o unitate (folosind Registry)
- Dezactivați Autorun activați / dezactivați funcția de rulare automată / redare automată din Windows
- Creați un meniu AutoRun Creați propriul dvs. meniu AutoRun
