AutoRun - AutoRun

Autouruchamianie i funkcja towarzysząca Autoodtwarzanie to składniki systemu operacyjnego Microsoft Windows , które decydują o czynnościach wykonywanych przez system po zamontowaniu dysku .

Funkcja AutoRun została wprowadzona w systemie Windows 95, aby ułatwić instalację aplikacji użytkownikom nietechnicznym i obniżyć koszty połączeń telefonicznych z pomocą techniczną. Po włożeniu odpowiednio skonfigurowanej płyty CD-ROM do napędu CD-ROM system Windows wykrywa przybycie i sprawdza zawartość pod kątem specjalnego pliku zawierającego zestaw instrukcji. W przypadku dysku CD zawierającego oprogramowanie instrukcje te zwykle rozpoczynają instalację oprogramowania z dysku CD-ROM na dysk twardy. Aby zmaksymalizować prawdopodobieństwo powodzenia instalacji, funkcja AutoRun działa również po uzyskaniu dostępu do dysku („ dwukrotne kliknięcie ”) w Eksploratorze Windows (lub „Mój komputer”).

Do czasu wprowadzenia systemu Windows XP terminy AutoRun i AutoPlay były używane zamiennie, programiści często używali pierwszego terminu, a użytkownicy końcowi drugiego. Tendencja ta znajduje odzwierciedlenie w ustawieniach zasad systemu Windows o nazwie Autoodtwarzanie, które zmieniają wpisy rejestru systemu Windows o nazwie Autouruchamianie, oraz w autorun.infpliku, który powoduje dodanie opcji „Autoodtwarzanie” do menu kontekstowych dysków . Terminologia miała niewielkie znaczenie do czasu pojawienia się systemu Windows XP i dodania nowej funkcji pomagającej użytkownikom w wyborze odpowiednich działań w przypadku wykrycia nowych nośników i urządzeń. Ta nowa funkcja została nazwana Autoodtwarzanie i utworzono rozróżnienie między tymi dwoma terminami.

AutoRun, funkcja Eksploratora Windows (właściwie dll shell32 ) wprowadzona w Windows 95, umożliwia mediom i urządzeniom uruchamianie programów za pomocą polecenia wymienionego w pliku o nazwie autorun.inf, przechowywanym w katalogu głównym nośnika.

Używane głównie na instalacyjnych dyskach CD-ROM, wywoływane aplikacje są zwykle instalatorami aplikacji. Plik autorun.inf może również określać ikonę, która będzie reprezentować urządzenie wizualnie w Eksploratorze wraz z innymi zaawansowanymi funkcjami.

Pojęcia AutoRun i AutoPlay są zwykle używane zamiennie w odniesieniu do akcji inicjującej, akcji, która wykrywa i rozpoczyna odczytywanie wykrytych woluminów . Ilustracja schemat blokowy na artykuł pokazuje jak Autoodtwarzanie AutoRun jest umieszczony jako warstwa pomiędzy autoodtwarzania i Shell Hardware Detection usługi i mogą pomóc w zrozumieniu terminologii. Jednak aby uniknąć nieporozumień, w tym artykule w odniesieniu do akcji inicjującej użyto terminu AutoRun.

Automatyczne odtwarzanie

Autoodtwarzanie w systemie Windows Vista

Autoodtwarzanie to funkcja wprowadzona w systemie Windows XP, która bada nośniki wymienne i urządzenia i na podstawie zawartości, takiej jak obrazy, pliki muzyczne lub wideo, uruchamia odpowiednią aplikację do odtwarzania lub wyświetlania zawartości. Jeśli to możliwe, ustawienia w pliku autorun.inf mogą dodawać do opcji prezentowanych użytkownikowi.

Autoodtwarzanie opiera się na zestawie aplikacji obsługi zarejestrowanych w systemie AutoPlay. Każdy typ mediów (obrazy, muzyka, wideo) może mieć zestaw zarejestrowanych programów obsługi, które mogą obsługiwać odtwarzanie lub wyświetlanie tego typu multimediów.

Każde urządzenie sprzętowe może mieć domyślną akcję wykonywaną po wykryciu określonego typu nośnika lub okno dialogowe Autoodtwarzanie może podpowiadać użytkownikowi, jakie działania należy podjąć.

Aktywacja AutoRun

Sekwencja AutoRun rozpoczyna się od wstępnego wykrycia nowego urządzenia lub nowego fragmentu nośnika. Następnie następuje powiadomienie zainteresowanych stron, z których najważniejsza jest powłoka Eksploratora Windows. Po sprawdzeniu niektórych ustawień rejestru , aby zobaczyć, czy można kontynuować automatyczne uruchamianie, może wystąpić analiza opcjonalnego pliku autorun.inf i podjęcie wszelkich niezbędnych działań.

Początkowa sekwencja jest obsługiwana tak samo w każdej wersji systemu Windows od Windows 95. Jednak sposób odczytu i działania pliku autorun.inf oraz poziom integracji funkcji Autouruchamianie z funkcją Autoodtwarzanie znacznie się zmienił od czasu wprowadzenia funkcji Autoodtwarzanie w Windows XP do chwili obecnej obsługi w Windows 7 . W systemie Windows 10 firma Microsoft dodała opcję włączenia automatycznego uruchamiania w swoich ustawieniach. Nie tylko użytkownicy mogą go włączyć, ale także mogą wybrać określone urządzenia zewnętrzne do automatycznego odtwarzania.

Inicjacja i powiadomienie

Gdy urządzenie ze sterownikami zgodnymi z AutoRun otrzyma nowy nośnik, pojawia się zdarzenie „Powiadomienie o zmianie nośnika”. Następnie system operacyjny Windows powiadamia zainteresowane aplikacje o zmianie urządzenia. Stosowana metoda powiadamiania może się zmieniać w zależności od typu urządzenia.

Jeśli zmienionym urządzeniem jest wolumin (np. Płyta CD) lub port (np. Port szeregowy), system Windows rozgłasza WM_DEVICECHANGEpowiadomienie do wszystkich okien najwyższego poziomu. Windows nazywa to powiadomieniem „podstawowym”. Okno najwyższego poziomu to okno potomne pulpitu.

Jeśli jednak zmienione urządzenie nie należy do tych typów, aplikacja może użyć RegisterDeviceNotificationfunkcji rejestracji, aby otrzymywać powiadomienia o urządzeniu.

Artykuł w witrynie CodeProject „Detecting Hardware Insert and / or Removal” , zawierający wyjaśnienia z bloga Dorana Holana, jest tutaj szczególnie interesujący pod względem technicznym.

Urządzenia inne niż woluminy to urządzenia, które nie są wyświetlane jako litery dysków w oknie „Mój komputer”. Nie są one obsługiwane przez żadną część funkcji AutoRun - wszelkie działania podejmowane na tych urządzeniach są wykonywane przez oprogramowanie specyficzne dla urządzenia lub przez autoodtwarzanie. Zobacz Autoodtwarzanie # Urządzenia, które nie są dyskami .

Gdy Explorer otrzyma powiadomienie o zmianie głośności , wykonuje szereg czynności:

  1. Sprawdza, czy funkcja AutoRun została wyłączona za pośrednictwem rejestru. Jeśli autouruchamianie jest wyłączone dla tego dysku lub typu dysku, Eksplorator nie będzie kontynuował. W tym obszarze wystąpiły błędy .
  2. Sprawdza, czy katalog główny włożonego nośnika zawiera plik autorun.inf, który może zostać odczytany. Zobacz poniżej .
  3. Wysyła QueryCancelAutoPlaywiadomość do okna pierwszego planu. Aplikacja, która zgłosiła zainteresowanie otrzymaniem tej wiadomości za pomocą, RegisterWindowMessagemoże odpowiedzieć na tę wiadomość, aby zatrzymać Autouruchamianie (a tym samym Autoodtwarzanie) w tym momencie. Dowolna aplikacja, pierwszoplanowa lub nie, może być również powiadamiana za pomocą interfejsu IQueryCancelAutoPlay COM dostępnego w systemie Windows XP i nowszych.
  4. Zmienia działanie dwukrotnego kliknięcia i menu kontekstowego. Gdy użytkownik dwukrotnie kliknie ikonę napędu w Eksploratorze lub kliknie prawym przyciskiem myszy, aby uzyskać menu kontekstowe, to, co się dzieje, można w pełni zaprogramować za pomocą ustawień w pliku autorun.inf.
  5. Dodaje kontrolowaną ikonę autorun.inf i opisowy tekst do ikony napędu.
  6. Sprawdza, czy klawisz jest wciśnięty. Jeśli tak, to system Windows Vista (i nowsze wersje systemu Windows) wywoła okno dialogowe autoodtwarzania, niezależnie od innych ustawień. Poprzednie wersje systemu Windows nie będą kontynuować tego procesu.Shift
  7. Wreszcie, jeśli ten punkt został osiągnięty:
    • nie podejmuje dalszych działań.
    • wykonuje "zadanie AutoRun", aplikację opcjonalnie określoną w klawiszach openlub shellexecutew sekcji [autorun] pliku autorun.inf .
    • wywołuje autoodtwarzanie.
    Wybór zależy od używanej wersji systemu Windows, instrukcji z pliku autorun.inf, jeśli jest dostępny, oraz typu wykrytego nośnika.

Zmiana zachowania

Przed autoodtwarzaniem

W wersjach systemu Windows starszych niż Windows XP zostanie odczytany plik autorun.inf na dowolnym typie dysku i zastosowane zostaną zawarte w nim instrukcje. Zadanie AutoRun, jeśli zostało określone, jest wykonywane natychmiast bez interakcji użytkownika. Obejmuje DRIVE_REMOVABLE, DRIVE_FIXED i DRIVE_REMOTE typów napędów .

AutoRun będzie działać z dyskami sieciowymi (typ dysku DRIVE_REMOTE), które są zamapowane na literę dysku. AutoRun będzie również działać z dyskietkami, które są dostarczane ze sterownikami zgodnymi z automatycznym uruchamianiem.

Domyślne ustawienia rejestru w wersjach systemu Windows wcześniejszych niż Windows XP (patrz NoDriveTypeAutoRun ) wyłączają zdalne i wymienne dyski z inicjacji autouruchamiania, pozostawiając domyślnie aktywne typy dysków stałych i CDROM.

Przedstawiamy autoodtwarzanie

Wraz z wprowadzeniem funkcji autoodtwarzania w systemie Windows XP ostatnia czynność etapu (etap 7 powyżej) dla niektórych typów dysków zmieniła się z uruchamiania aplikacji na wywoływanie funkcji Autoodtwarzanie. W systemie Windows Vista system AutoPlay jest zintegrowany z każdym aspektem obsługi nośników i nie ma automatycznego wykonywania zadania AutoRun.

Domyślne ustawienia rejestru dodają dyski wymienne do tych, które zainicjowały automatyczne uruchamianie. W systemie Windows XP i nowszych, z wyjątkiem systemu Windows Server 2003, tylko typy dysków Nieznany i Zdalny nie są aktywne dla funkcji AutoRun.

Obsługa pliku autorun.inf zmienia się bardzo znacząco między każdą wersją systemu Windows. Szczegóły można znaleźć w artykule autorun.inf . Obecna obsługa w systemie Windows 7 polega na tym, że tylko dyski typu DRIVE_CDROM mogą określać zadanie automatycznego uruchamiania, zmieniać zachowanie dwukrotnego kliknięcia lub zmieniać menu kontekstowe.

Ustawienia rejestru

Funkcja AutoRun konsultuje wartości rejestru systemu Windows, aby zdecydować, czy zainicjować działania dla określonego dysku lub typu dysku. Te wartości można zmienić za pomocą kilku metod, z których jedna korzysta z zasad grupy .

Podstawowe odpowiednie nazwy wpisów rejestru to NoDriveTypeAutoRuni NoDriveAutoRun. Istnieją one zarówno w ustawieniach na komputer, jak i na użytkownika, a ich lokalizacja i priorytet w Rejestrze opisano bardziej szczegółowo poniżej.

Rodzaje napędów

Typy napędów są rozróżniane według nazwy typu w następujący sposób:

Wpisz imię wartość Opis
DRIVE_UNKNOWN 0x00000000 Nie można określić typu dysku (dysk ogólny)
DRIVE_NO_ROOT_DIR 0x00000001 Dysk jest obecnie nieprawidłowy (brak zamontowanych woluminów)
DRIVE_REMOVABLE 0x00000002 Dysk posiada wymienne nośniki danych (dyskietka, pendrive )
DRIVE_FIXED 0x00000003 Nie można wyjąć dysku z dysku (dysk twardy / dysk SSD)
DRIVE_REMOTE 0x00000004 Dysk jest dyskiem zdalnym (sieciowym)
DRIVE_CDROM 0x00000005 Napęd to napęd CD-ROM, DVD-ROM lub BD-ROM
DRIVE_RAMDISK 0x00000006 Dysk jest dyskiem RAM
DRIVE_NOT_DETERMINED 0x00000007 Dysk nie został jeszcze określony
DRIVE_NOT_FOUND 0x00000008 Obecnie nie można uzyskać dostępu do dysku (dyski odłączone)
[ZAREZERWOWANY] 0x00000009 Ta wartość zarezerwowana dla przyszłych technologii

Terminologia rejestrowa

Rejestr systemu Windows to hierarchiczna baza danych przechowująca ustawienia konfiguracyjne i opcje systemu operacyjnego. Terminologia jest nieco myląca, dlatego została tutaj krótko podsumowana.

Klucz rejestru jest podobny do folderu, w którym oprócz wartości każdy klucz może zawierać podklucze, które z kolei mogą zawierać podklucze i tak dalej.

Wartość rejestru składa się z pary nazwa-dane. Dokumentacja firmy Microsoft często używa terminu „pozycja” jako terminu równoważnego. Używa również „wartości” dla „danych”, gdy jest oczywiste, o co chodzi. Aby uniknąć nieporozumień, w tym artykule zawsze używa się terminu „wpis” w odniesieniu do pary nazwa-dane.

Dwa bardzo często używane klucze rejestru zawierają ustawienia dla HKEY_LOCAL_MACHINEkażdego komputera i HKEY_CURRENT_USERzawierają ustawienia dla aktualnie zalogowanego użytkownika. Są one prawie zawsze skracane odpowiednio jako HKLMi HKCU. Może być wielu użytkowników maszyny; ich ustawienia są przechowywane HKEY_USERS, HKCUto właściwie tylko link do odpowiedniego miejsca w HKEY_USERS.

Zmiana ustawień rejestru

Ustawienia rejestru można zmienić bezpośrednio za pomocą regeditnarzędzia GUI lub narzędzia wiersza reg.exepoleceń. Ustawienia można również umieścić w pliku tekstowym o nazwie z rozszerzeniem .reg. Na przykład „ mychanges.reg”. Po dwukrotnym kliknięciu pliku ustawienia w pliku są wprowadzane do rejestru, na co pozwalają uprawnienia.

Można je zmienić pośrednio za pomocą zasad grupy, zastosowanych lokalnie do pojedynczego komputera z GPEdit.mscdomeną lub do domeny z gpmc.msc.

Aby zmiany w rejestrze zaczęły obowiązywać, może być konieczne wylogowanie lub ponowne uruchomienie komputera.

Kolejność wyceny

Te NoDriveAutoRuni NoDriveTypeAutoRunwpisy rejestru może istnieć w dwóch miejscach, ustalenie dla każdego użytkownika (pod HKEY_CURRENT_USER) oraz ustawienia dla poszczególnych komputerów (pod HKEY_LOCAL_MACHINE). Jeśli wpis pojawia się pod HKEY_LOCAL_MACHINE, to każdy odpowiadający mu wpis w HKEY_CURRENT_USER jest całkowicie ignorowany. Wartości danych nie są w żaden sposób łączone.

Podejmując decyzję, czy aktywować Autouruchamianie, sprawdzane są oba wpisy NoDriveAutoRuni NoDriveTypeAutoRunwpisy rejestru. Jeśli którakolwiek z wartości wskazuje, że dysk powinien być wyłączony, wówczas funkcja AutoRun jest wyłączona dla tego dysku.

Tak więc w poniższym przykładzie:

HKEY_LOCAL_MACHINE HKEY_CURRENT_USER
NoDriveAutoRun NoDriveTypeAutoRun NoDriveAutoRun NoDriveTypeAutoRun
0x08 (Nieobecny) 0x03FFFFFF 0x95

przyjęta wartość danych NoDriveAutoRunto 0x08, wyłączenie dysku D, a wartość danych NoDriveTypeAutoRunto 0x95, wyłączenie dysków wymiennych i sieciowych. NoDriveAutoRunWpis dla użytkownika nigdy nie jest używany.

NoDriveTypeAutoRun

HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Nazwa wpisu Typ danych Zasięg Domyślna
NoDriveTypeAutoRun REG_DWORD 0x00 do 0xFF 0x95 lub 0x91

Ten wpis rejestru wyłącza lub włącza funkcję AutoRun na wszystkich dyskach określonego typu. Odzwierciedla ustawienie odpowiednich zasad grupy automatycznego odtwarzania. Prawidłowe dane mieszczą się w zakresie od 0x00 do 0xFF w notacji szesnastkowej . Jeśli wpis nie istnieje, domyślną wartością danych jest 0x95 lub 0x91, w zależności od używanej wersji systemu Windows. Wpis obecny w HKLM zastępuje dowolny wpis obecny w HKCU.

Dane wejściowe to wartość bitmapowa, gdzie bit ustawiony na 1 wyłącza automatyczne uruchamianie na określonym typie napędu. Poniżej przedstawiono ustawienia bitów dla każdego typu napędu:

ustawienia bitowe typu napędu

Zauważ, że bit numer 1 jest nieużywany i że typ „Nieznany” jest reprezentowany dwukrotnie. Ustawienie wszystkich bitów na 1 dałoby szesnastkową wartość 0xFF, dziesiętną 255 i wyłączyłoby AutoRun na wszystkich typach dysków.

Domyślne ustawienie tego wpisu zależy od używanej wersji systemu Windows:

System operacyjny Ustawienia domyślne
System 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
Nazwa wpisu Typ danych Zasięg Domyślna
NoDriveAutoRun REG_DWORD 0x0 do 0x03FFFFFF 0x0

Ten wpis rejestru wyłącza lub włącza funkcję AutoRun na poszczególnych dyskach. Nie jest powiązany z zasadami grupy i domyślnie nie istnieje. Jeśli wpis nie istnieje, przyjmowana jest wartość danych równa 0. Wpis obecny w HKLM zastępuje dowolny wpis obecny w HKCU.

Dane są 32-bitową (DWORD) wartością bitmapową, z których dolne 26 bitów jest używanych do reprezentowania każdej z 26 liter dysku od A do Z. Zatem prawidłowy zakres danych wynosi od 0x0 do 0x03FFFFFF. Najmniej znaczący bit (najbardziej z prawej strony) reprezentuje dysk A, a 26-ty bit od prawej strony reprezentuje dysk Z.

Bit ustawiony na 1 wyłącza automatyczne uruchamianie na określonym dysku. Na przykład, jeśli wartość danych jest ustawiona na 0x8 (1000 binarnych), funkcja AutoRun jest wyłączona na dysku D.

Zasady grupy

Przez Zasady grupy okno dialogowe ustawień na Windows XP pokazując opcję wyłączenia autoodtwarzania.

Jedyne ustawienia zasad grupy dostępne dla funkcji AutoRun mają wpływ na NoDriveTypeAutoRunwpisy rejestru. Zasady są dostępne na komputer lub na użytkownika, co odzwierciedla lokalizację wpisu rejestru w HKLM lub HKCU. Jak opisano powyżej , ustawienie zasad dla każdego komputera spowoduje zignorowanie ustawienia zasad dla każdego użytkownika.

Gdy zasada jest włączona , zasady grupy dodają NoDriveTypeAutoRunwpis do rejestru. Jeśli zasada jest Wyłączona lub ustawiona na Nieskonfigurowane , zasady grupy usuwają ten wpis z Rejestru dla zasad komputera (w HKLM) i przywracają mu domyślne wartości systemowe dla zasad użytkownika (w HKCU). Ustawienia domyślne systemu mogą wtedy zacząć obowiązywać, jak opisano w sekcji NoDriveTypeAutoRun .

Nazwy zasad, lokalizacje i możliwe ustawienia różnią się nieznacznie w zależności od wersji systemu Windows. Lista ustawień jest stosunkowo krótka i zawsze stanowi dodatek do domyślnych ustawień systemu. Dlatego w systemie Windows 2000 włączenie zasady „Wyłącz autoodtwarzanie” i ustawienie jej na „Napędy CD-ROM” wyłącza autouruchamianie (w odróżnieniu od autoodtwarzania) dla napędów CD-ROM i DVD, dysków wymiennych, dysków sieciowych i dysków o nieznanym rodzaj.

Tego ustawienia nie można używać do włączania automatycznego uruchamiania na dyskach, na których jest ono domyślnie wyłączone, ani do wyłączania automatycznego uruchamiania w przypadku dysków niewymienionych na liście. Aby wyłączyć lub włączyć określone dyski lub typy dysków, rejestr należy edytować ręcznie.

Windows Server 2003, Windows XP i Windows 2000

Lokalizacja zasad na komputer to:

Zasady grupy \ Konfiguracja komputera \ Szablony administracyjne \ System

Lokalizacja zasad dla każdego użytkownika to:

Zasady grupy \ Konfiguracja użytkownika \ Szablony administracyjne \ System

Odpowiednia zasada to „Wyłącz autoodtwarzanie”. W systemie Windows 2000 zasada nosi nazwę „Wyłącz automatyczne odtwarzanie”.

Gdy zasada jest włączona, można ją ustawić na „Wszystkie dyski” lub „Napędy CD-ROM”. To ostatnie ustawienie dodaje napędy CD-ROM do istniejącej listy wyłączonych typów napędów, jak opisano powyżej.

Windows Vista, Windows Server 2008

Lokalizacja zasad na komputer to:

Konfiguracja komputera \ Szablony administracyjne \ Składniki systemu Windows \ Zasady automatycznego odtwarzania

Lokalizacja zasad dla każdego użytkownika to:

Konfiguracja użytkownika \ Szablony administracyjne \ Składniki systemu Windows \ Zasady autoodtwarzania

Odpowiednią zasadą jest „Wyłącz autoodtwarzanie” i można ją ustawić dla dysków CD-ROM, DVD-ROM, dysków wymiennych lub wszystkich dysków.

Dwie powiązane zasady zostały dodane w systemie Vista i Server 2008:


Domyślne zachowanie dla AutoRun
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Nazwa wpisu Typ danych Zasięg Domyślna
NoAutoRun REG_DWORD
Ustawia domyślne zachowanie poleceń AutoRun znajdujących się w plikach autorun.inf.
W wersjach wcześniejszych niż Windows Vista, gdy nośnik zawierający plik autorun.inf określający zadanie AutoRun został: włożony, domyślną akcją było automatyczne wykonanie programu bez interwencji użytkownika. : W systemie Windows Vista domyślnym zachowaniem jest wywołanie funkcji AutoPlay i przedstawienie zadania AutoRun jako: jednej z opcji dialogowych. Dzieje się tak również, gdy ta zasada nie jest skonfigurowana lub: jest wyłączona.
Jeśli ta zasada jest włączona, zachowanie można zmienić na:
  • Całkowicie wyłącz polecenia autorun.inf lub
  • Automatycznie wykonaj polecenie autorun.inf zgodnie z poprzednimi wersjami systemu Windows.
Nie ustawiaj pola wyboru zawsze rób to
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Nazwa wpisu Typ danych Zasięg Domyślna
DontSetAutoplayCheckbox REG_DWORD
Jeśli ta zasada jest włączona, pole wyboru „Zawsze rób to ...” w oknie dialogowym Autoodtwarzanie nie będzie ustawione: domyślnie po wyświetleniu okna dialogowego.

Windows 7, Windows Server 2008 R2

W tych wersjach systemu Windows zdolność pliku autorun.inf do ustawiania zadania AutoRun, zmiany zachowania po dwukrotnym kliknięciu lub zmiany menu kontekstowych jest ograniczona do dysków typu DRIVE_CDROM. Nie ma ustawień zasad, które zastąpią to zachowanie. Lokalizacje i ustawienia zasad są zgodne z systemem Windows Vista, Windows Server 2008 powyżej, z dodatkiem:

Wyłącz autoodtwarzanie dla urządzeń bez głośności
HKLM\Software\Policies\Microsoft\Windows\Explorer
HKCU\Software\Policies\Microsoft\Windows\Explorer
Nazwa wpisu Typ danych Zasięg Domyślna
NoAutoplayfornonVolume
Jeśli ta zasada jest włączona, autoodtwarzanie zostanie wyłączone na urządzeniach innych niż woluminy .

Zmiana zachowania AutoRun

Naciśnięcie klawisza Shift

Jeśli ⇧ Shiftklawisz zostanie przytrzymany w pewnym momencie sekwencji wykonywania, system Windows Vista wywoła okno dialogowe Autoodtwarzanie niezależnie od innych ustawień Autoodtwarzania. Poprzednie wersje systemu Windows nie wykonują zadania AutoRun. W tym celu konieczne jest użycie lewego klawisza Shift, ponieważ przytrzymanie prawego klawisza Shift przez osiem sekund wywołuje funkcję FilterKeys.

Biorąc pod uwagę, że Shift musi być przytrzymany, dopóki system Windows nie sprawdzi, czy to nastąpi, może upłynąć dużo czasu, zanim zacznie działać. Czas potrzebny głównie zależy od czasu rozpoznania nowego sprzętu i czasu potrzebnego do rozpędzenia się dysków CD-ROM. Poleganie na tej metodzie jest niebezpieczne.

Automatyczne powiadomienie o wkładaniu

Niektóre zdarzenia związane z powiadomieniem o zmianie multimediów mogą zostać zablokowane przez zmianę niektórych wpisów rejestru. „Powiadomienie o zmianie multimediów” to termin ogólny; w przypadku napędów CD-ROM terminem specyficznym jest „Automatyczne powiadamianie o włożeniu”.

HKLM\SYSTEM\CurrentControlSet\Services\Cdrom
Nazwa wpisu Typ danych Zasięg Domyślna
AutoRun REG_DWORD 0 lub 1 1

W przypadku napędów CD-ROM zmiana wartości tego wpisu rejestru na 0 spowoduje wyłączenie automatycznego powiadamiania o włożeniu tylko dla napędów CD-ROM. Konieczne będzie ponowne uruchomienie systemu Windows.

Wartość danych Znaczenie
0
Nie wysyła wiadomości do sieci wielokanałowej
1
Wysyła wiadomość sieci wielokanałowej

W systemie Windows 95/98 / ME to ustawienie można zmienić w Menedżerze urządzeń, dostępnym z ikony System w Panelu sterowania.

Ustawienia AutoRun dla napędu CD-ROM w systemie Windows 98 .

Chociaż wpis rejestru nosi nazwę „Uruchamianie automatyczne”, pomija on tylko komunikat sieci wielokanałowej. Komunikat sieci wielokanałowej wywołuje inicjację automatycznego uruchamiania, ale instruuje również powłokę eksploratora, aby zaktualizowała swoje widoki i zawartość.

Dlatego, tylko jako efekt uboczny, powoduje to wyłączenie funkcji AutoRun dla napędów CD-ROM. Jednak Explorer nie będzie teraz aktualizować swojego widoku po włożeniu nowej płyty CD; pokaże zawartość poprzedniej płyty CD do momentu F5naciśnięcia przycisku lub wybrania opcji View / Refresh z menu Explorer. Może to spowodować poważne zamieszanie dla użytkowników.

Z tego powodu komunikat Powiadomienie o zmianie multimediów nie powinien być wyłączany, chyba że nie ma absolutnie żadnej alternatywy; Automatyczne uruchamianie można wyłączyć dla poszczególnych dysków za pomocą zasad grupy lub rejestru.

HKLM\SYSTEM\CurrentControlSet\Services\Cdrom
Nazwa wpisu Typ danych
AutoRunAlwaysDisable REG_MULTI_SZ

Ten wpis służy do pomijania komunikatu sieci wielokanałowej dla określonego typu napędu CD-ROM, głównie zmieniarki CD-ROM. Dane to zestaw identyfikatorów urządzeń, który jest zgodny z identyfikatorami zgłaszanymi do systemu przez same urządzenia.

Wartość domyślna tego wpisu składa się z produktów zidentyfikowanych przez testy firmy Microsoft jako niezdolne do obsługi automatycznego uruchamiania. Ten wpis nie powinien być zmieniany z domyślnego.

Edytowanie zasad grupy

Autouruchamianie można wyłączyć na określonych dyskach i typach dysków przy użyciu metod opisanych w sekcji Zasady grupy . Jednak Edytor zasad grupy nie jest dostępny w domowych wersjach systemu Windows XP i nie zapewnia żadnych szczegółowych narzędzi do wyboru dysków.

Jednak zasady grupy byłyby akceptowaną metodą wyłączania automatycznego uruchamiania w całej domenie systemu Windows.

Pliki rejestru

Można utworzyć plik ustawień rejestru, który po wykonaniu wprowadza żądane zmiany w rejestrze.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\policies\Explorer]
"NoDriveTypeAutoRun"=dword:000000ff
Zauważ, że rzeczywisty plik powinien zawsze kończyć się pustą linią. To nie jest opcjonalne.

W powyższym przykładzie AutoRun zostanie wyłączone dla wszystkich dysków i dla wszystkich użytkowników. Ten przykład musiałby zostać uruchomiony jako Administrator i ponowne uruchomienie byłoby konieczne, aby ustawienie zaczęło obowiązywać.

Mapowanie plików inicjalizacyjnych

System Windows Vista i nowsze wersje systemu Windows mają ustawienie zasad „Domyślne zachowanie dla automatycznego uruchamiania”, które można ustawić tak, aby uniemożliwić odczyt pliku autorun.inf na dowolnym woluminie. Pozwala to uniknąć niektórych scenariuszy, w których złośliwe oprogramowanie wykorzystuje funkcję autorun.inf do infekowania komputera. Poprzednie wersje systemu Windows nie mają tego ustawienia zasad, ale użycie mapowania plików inicjalizacyjnych jest skutecznym obejściem.

Ponieważ plik autorun.inf jest standardowym plikiem INI systemu Windows, podczas pobierania jego ustawień system Windows używa odpowiednich wywołań interfejsu API . Te wywołania API można przekierować przy użyciu metody mapowania plików INI. Poniższy plik rejestru ilustruje obejście, w którym wszystkie ustawienia autorun.inf są pobierane wyłącznie z HKEY_LOCAL_MACHINE\Software\DoesNotExistklucza rejestru:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf]
@="@SYS:DoesNotExist"

Ponieważ ten klucz nie istnieje, wygląda to tak, jakby plik autorun.inf nie zawierał żadnych informacji o ustawieniach. Ważne jest, aby pamiętać, że dotyczy to każdego pliku autorun.inf w dowolnej lokalizacji i na dowolnym dysku.

Ponieważ ustawienie zasad lub to obejście wyłącza automatyczne uruchamianie, instalacja oprogramowania z automatycznie uruchamianej instalacyjnej płyty CD lub DVD oczywiście nie będzie już przebiegać automatycznie. Konieczne będzie wyświetlenie pliku autorun.inf płyty CD, a następnie ręczne uruchomienie odpowiedniego programu instalacyjnego.

Problemy i bezpieczeństwo

Firma Microsoft przyznała, że ​​„Ponieważ kod może być wykonywany bez wiedzy lub zgody użytkownika, użytkownicy mogą chcieć wyłączyć tę funkcję ze względów bezpieczeństwa”. i udostępnił „Fixit”, który wyłącza automatyczne uruchamianie dla użytkowników, którzy nie mają doświadczenia z edytowaniem rejestru.

Błąd wyłączania AutoRun

Od Windows 2000 do Windows Server 2008 wpisy rejestru związane z automatycznym uruchamianiem nie były odpowiednio obsługiwane, co prowadziło do luki w zabezpieczeniach. Nie dotyczyło to systemów Windows 95 i Windows 98.

Gdy autouruchamianie jest wyłączone, system Windows nie powinien przechodzić dalej przez sekwencję aktywacji niż sprawdzanie rejestru. Jednak analizuje wszystkie znalezione pliki autorun.inf i robi wszystko, z wyjątkiem ostatniej akcji, aby wywołać Autoodtwarzanie lub uruchomić aplikację.

To pozostawia użytkownika otwartym na atak złośliwego oprogramowania, które wykorzystuje plik autorun.inf do zmiany zachowania dwukrotnego kliknięcia i menu kontekstowego. Dwukrotne kliknięcie ikony dysku spowoduje zainfekowanie maszyny. Kliknięcie prawym przyciskiem myszy i wybranie opcji „Eksploruj” lub „Otwórz” z menu kontekstowego nie stanowi obejścia, ponieważ te elementy menu mogą zostać przejęte przez odpowiednie wpisy autorun.inf.

Ten błąd został naprawiony w wielu aktualizacjach zabezpieczeń, szczegółowo opisanych w artykule 967715 z bazy wiedzy Microsoft Knowledge Base .

Inne sprawy

  • Jeśli doda się komputer do domeny Active Directory, NoDriveTypeAutoRunwartość może zostać zresetowana do wartości domyślnej. Wynika to z wejścia w życie ustawień zasad grupy w domenie. To nie jest błąd.
  • Niektóre programy mogą celowo zmieniać ustawienia rejestru AutoRun. Wczesne wersje oprogramowania do nagrywania płyt CD, takie jak Roxio, były znane ze zmiany ustawień w ten sposób.
  • Jeśli opcja zabezpieczeń „Ogranicz dostęp do dysków CD-ROM tylko dla użytkowników zalogowanych lokalnie” w:
    Konfiguracja komputera \ Ustawienia systemu Windows \ Ustawienia zabezpieczeń \ Zasady lokalne \ Opcje zabezpieczeń

    jest włączony (włączony), wówczas funkcja AutoRun może nie działać.

    Instalatory Windows również będą działać nieprawidłowo, ponieważ dostęp „Systemu lokalnego” do dysku CD-ROM będzie zabroniony.

    To ustawienie zasad grupy odzwierciedla wartość wpisu rejestru:

    HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
    Nazwa wpisu Typ danych Zasięg Domyślna
    allocatecdroms
    REG_SZ
    0 lub 1
    0
    i powinien być ustawiony na 0.
  • RealPlayer 10 koliduje z funkcją AutoPlay do tego stopnia, że ​​może wyglądać tak, jakby AutoRun lub AutoPlay w ogóle nie działały.

Wektory ataku

Funkcjonalność AutoRun była od jakiegoś czasu wykorzystywana jako wektor złośliwego oprogramowania. W wersjach wcześniejszych niż Windows Vista domyślnym działaniem z napędem CD-ROM było wykonywanie instrukcji z pliku autorun.inf bez monitów ani ostrzeżeń. To sprawia, że ​​fałszywe dyski CD-ROM są jednym z możliwych wektorów infekcji.

W tej samej kategorii znajdują się dyski CD-ROM z zawartością mieszaną. Płyta audio CD, której użytkownik nie spodziewałby się w ogóle zawierać oprogramowania, może zawierać sekcję danych z plikiem autorun.inf. Niektóre firmy, takie jak Sony BMG , wykorzystały ten wektor do zainstalowania złośliwego oprogramowania, które próbuje chronić przed kopiowaniem ścieżek audio.

Dyski flash z obsługą U3 , emulując jednostkę CD-ROM, mogą również powodować wykonywanie przez system Windows poleceń z pliku autorun.inf znajdującego się na emulowanym dysku CD-ROM.

Urządzenia takie jak modem HSDPA Huawei E220 prawidłowo używają tej metody do automatycznego instalowania sterowników dla samego modemu. Jednak podłączenie dysku flash z nieznanego źródła jest nierozsądnym posunięciem. USB Switchblade i podobne narzędzia sprawiły, że ataki na pendrive U3 stały się trywialne. Biorąc pod uwagę łatwość pisania ataków opartych na skryptach , oprogramowanie antywirusowe może być nieskuteczne w zapobieganiu kradzieży danych i haseł.

Conficker robaka w akcji zrzucie na Windows 7 .

W przypadku standardowego dysku flash można zastosować ataki socjotechniczne, aby zachęcić użytkownika do kliknięcia odpowiedniego elementu w oknie dialogowym Autoodtwarzanie. Kuszący ciąg akcji obiecujący darmowe gry lub pornografię zwabiłby wielu użytkowników w pułapkę. W dowolnym momencie dwukrotne kliknięcie ikony napędu spowoduje automatyczne użycie pliku autorun.inf, pułapka, w którą mogą wpaść bardziej zaawansowani użytkownicy.

Każdy użytkownik może skonfigurować autoodtwarzanie, aby podejmować za niego różne decyzje; zaznaczając odpowiednie pole w oknie dialogowym Autoodtwarzanie, uruchamianie złośliwego oprogramowania na dyskach flash staje się ciche i automatyczne.

Złośliwe oprogramowanie AutoRun zostało rozszerzone, aby używać dysków twardych, ramek do zdjęć i innych urządzeń cyfrowych. Ostrożność w obchodzeniu się z urządzeniami zewnętrznymi jest priorytetem bezpieczeństwa. Częstość infekcji złośliwym oprogramowaniem za pomocą funkcji AutoRun i pamięci flash USB została udokumentowana w badaniu firmy Microsoft z 2011 r., W którym przeanalizowano dane z ponad 600 milionów systemów na całym świecie w pierwszej połowie 2011 r. Badanie wykazało, że 26 procent wszystkich infekcji złośliwym oprogramowaniem systemu Windows było ze względu na dyski flash USB wykorzystujące funkcję AutoRun w systemie Microsoft Windows . To odkrycie było zgodne z innymi statystykami, takimi jak comiesięczne raportowanie najczęściej wykrywanego szkodliwego oprogramowania przez firmę antywirusową ESET, która wymienia nadużycia autorun.inf jako pierwsze wśród dziesięciu największych zagrożeń w 2011 roku.

Mitygacja ataku

Oprócz podstawowych środków ostrożności, które obejmują

narażenie na te ataki można zminimalizować poprzez odpowiednie użycie zasad grupy i ustawień rejestru. Poniższe zasady zabezpieczeń stanowią podsumowanie zasad opisanych w tym artykule:

  • Wyłącz AutoRun (ale zobacz błąd wyłączania AutoRun )
  • Aby wyłączyć polecenia autorun.inf, użyj zasady grupy „Domyślne zachowanie dla AutoRun” w systemie Vista (patrz powyżej )
  • Użyj mapowania pliku inicjalizacyjnego, aby anulować sekcje autorun.inf
  • W systemie Windows 7 tylko napędy CD i DVD mogą określać aplikacje, takie jak zadanie AutoRun, w pliku autorun.inf. System Windows XP i nowsze można załatać, aby zachowywał się w ten sam sposób podczas aktualizacji KB971029. W lutym 2011 ta poprawka została dodana do oficjalnego kanału Windows Update . Zachowanie zadania automatycznego uruchamiania systemu Windows 7 staje się teraz domyślne dla wszystkich bieżących wersji systemu operacyjnego Windows.

Ponadto firma Microsoft zaleciła następujące działania, przede wszystkim podczas ataków robaka Conficker :

  • Zapobiegaj wywoływaniu autorun.inf z udziałów sieciowych przez:
    1. Usunięcie dowolnego istniejącego pliku autorun.inf z katalogu głównego mapowanego dysku sieciowego
    2. Odmowa Utwórz prawa do katalogu głównego mapowanego dysku sieciowego
  • Zapobiegaj korzystaniu z urządzeń pamięci masowej USB poprzez:
    • Ustawienia USB w systemie BIOS
    • Odpowiednie ustawienia rejestru zgodnie z opisem w artykule z bazy wiedzy Knowledge Base 823732
    • Konfigurowanie urządzeń USB jako tylko do odczytu, aby zapobiec rozprzestrzenianiu się nieznanych robaków (i kradzieży zastrzeżonych danych)

Zobacz też

Bibliografia

Linki zewnętrzne