Автозапуск
Эта статья нуждается в дополнительных цитатах для проверки . ( май 2024 г. ) |
AutoRun и сопутствующая функция AutoPlay являются компонентами Microsoft Windows операционной системы , которые определяют, какие действия система выполняет при подключении диска .
AutoRun был представлен в Windows 95, чтобы упростить установку приложений для нетехнических пользователей и снизить стоимость обращений в службу поддержки программного обеспечения. Когда правильно настроенный компакт-диск вставляется в привод компакт-дисков, Windows обнаруживает его появление и проверяет содержимое на наличие специального файла, содержащего набор инструкций. Для компакт-диска с программным обеспечением эти инструкции обычно инициируют установку программного обеспечения с компакт-диска на жесткий диск. Чтобы максимизировать вероятность успеха установки, автозапуск также действует при доступе к диску (« двойной щелчок ») в проводнике Windows (или «Мой компьютер»).
До появления Windows XP термины AutoRun и AutoPlay использовались как взаимозаменяемые: разработчики часто использовали первый термин, а конечные пользователи — второй. Эта тенденция отражена в настройках политики Windows с именем AutoPlay, которые изменяют записи реестра Windows с именем AutoRun, а также в autorun.inf
файл, который вызывает добавление «Автозапуска» в контекстные меню дисков . Эта терминология не имела большого значения до появления Windows XP и добавления в нее новой функции, помогающей пользователям выбирать соответствующие действия при обнаружении новых носителей и устройств. Эта новая функция получила название AutoPlay , и было создано различие между этими двумя терминами. [ 1 ]
AutoRun, функция проводника Windows (на самом деле оболочки dll оболочки 32 ), представленная в Windows 95, позволяет носителям и устройствам запускать программы с помощью команды, указанной в файле с именем autorun.inf
, хранящийся в корневом каталоге носителя.
В основном используемые на установочных компакт-дисках, называемые приложения обычно представляют собой установщики приложений. В файле autorun.inf также можно указать значок, который будет визуально представлять устройство в проводнике, а также другие дополнительные функции. [ 1 ]
Термины AutoRun и AutoPlay, как правило, используются как взаимозаменяемые применительно к инициирующему действию, действию, которое обнаруживает обнаруженные тома и начинает их читать . AutoRun позиционируется как промежуточный уровень между AutoPlay и службой обнаружения оборудования Shell, что может помочь в понимании терминологии. Однако во избежание путаницы в этой статье применительно к инициирующему действию используется термин AutoRun.
Автозапуск
[ редактировать ]

Автозапуск — это функция, появившаяся в Windows XP, которая проверяет съемные носители и устройства и на основе такого контента, как изображения, музыка или видеофайлы, запускает соответствующее приложение для воспроизведения или отображения контента. [ 1 ] Настройки в файле autorun.inf, если они доступны, могут дополнять параметры, представленные пользователю.
AutoPlay основан на наборе приложений-обработчиков, зарегистрированных в системе AutoPlay. Каждый тип мультимедиа (изображения, музыка, видео) может иметь набор зарегистрированных обработчиков, которые могут обрабатывать или отображать этот тип мультимедиа.
Каждое аппаратное устройство может иметь действие по умолчанию, выполняемое при обнаружении определенного типа носителя, или диалоговое окно автозапуска может подсказать пользователю, какое действие предпринять.
Активация автозапуска
[ редактировать ]Последовательность автозапуска начинается с первоначального обнаружения нового устройства или нового носителя. Вслед за этим происходит уведомление заинтересованных лиц, из которых основной интерес представляет оболочка Windows Explorer. После проверки определенных настроек реестра на возможность продолжения автозапуска может произойти анализ необязательного файла autorun.inf и будут предприняты все необходимые действия.
Первоначальная последовательность обрабатывается практически одинаково во всех версиях Windows, начиная с Windows 95. Однако способ чтения и обработки файла autorun.inf, а также уровень интеграции AutoRun с AutoPlay значительно изменились со времени, когда AutoPlay был представлен в Windows 95. Windows XP до настоящего времени обработки в Windows 7 . В Windows 10 Microsoft добавила в свои настройки возможность включения автозапуска. Пользователи могут не только включить его, но и выбрать определенные внешние устройства для автоматического воспроизведения.
Инициирование и уведомление
[ редактировать ]Когда устройство с драйверами, совместимыми с AutoRun, получает новый носитель, происходит событие «Уведомление об изменении носителя». Windows Затем ОС уведомляет заинтересованные приложения о том, что произошло изменение устройства. Используемый метод уведомления может меняться в зависимости от типа устройства.
Если изменено устройство — это том (например, компакт-диск) или порт (например, последовательный порт), Windows передает WM_DEVICECHANGE
уведомление во все окна верхнего уровня. [ 2 ] [ 3 ] Windows называет это «базовым» уведомлением. Окно верхнего уровня — это окно, которое является потомком рабочего стола.
Однако если измененное устройство не относится к одному из этих типов, приложение может использовать RegisterDeviceNotification
[ 4 ] функция регистрации для получения уведомлений устройства.
Особый технический интерес здесь представляет статья на веб-сайте CodeProject «Обнаружение установки и/или удаления оборудования» с пояснениями из блога Дорана Холана.
Устройства без тома — это устройства, которые не отображаются в виде букв дисков в «Моем компьютере». Они не обрабатываются какой-либо частью AutoRun — любые действия, выполняемые для этих устройств, выполняются либо специальным программным обеспечением устройства, либо автозапуском. См. раздел Автозапуск#Устройства, не являющиеся приводами .
Когда Проводник получает уведомление об изменении громкости , он выполняет ряд действий: [ 5 ] [ 6 ]
- Проверяет, отключен ли автозапуск через реестр. Если автозапуск отключен для этого диска или типа диска, Проводник не продолжит работу дальше. были ошибки . В этой области
- Проверяет, содержит ли корневой каталог вставленного носителя файл autorun.inf, который можно прочитать. См . ниже .
- Отправляет
QueryCancelAutoPlay
сообщение в окно переднего плана. Приложение, зарегистрировавшее свою заинтересованность в получении этого сообщения, используяRegisterWindowMessage
может ответить на это сообщение, чтобы остановить автозапуск (и, следовательно, автозапуск) на этом этапе. Любое приложение, независимо от того, активно оно или нет, также может быть уведомлено с помощьюIQueryCancelAutoPlay
COM- интерфейс [ 7 ] доступно в Windows XP и более поздних версиях. - Изменяет поведение двойного щелчка и контекстного меню. Когда пользователь дважды щелкает значок диска в Проводнике или щелкает правой кнопкой мыши, чтобы открыть контекстное меню, происходящее полностью программируется с помощью настроек в файле autorun.inf.
- Добавляет управляемый значок autorun.inf и описательный текст к значку диска.
- Проверяет, есть ли ⇧ Shift клавиша удерживается. Если это так, то Windows Vista (и более поздние версии Windows) вызовет диалоговое окно автозапуска независимо от противоположных настроек. [ 8 ] Предыдущие версии Windows не будут продолжать этот процесс. [ 6 ]
- Наконец, если эта точка достигнута, либо:
- никаких дальнейших действий не предпринимает.
- выполняет «задачу автозапуска», приложение, опционально указанное в
open
илиshellexecute
файла autorun.inf ключи в разделе [autorun] . - вызывает автозапуск.
- Какой выбор будет сделан, зависит от используемой версии Windows, инструкций из autorun.inf, если они доступны, и типа обнаруженного носителя.
Изменение поведения
[ редактировать ]До автозапуска
[ редактировать ]В версиях Windows, предшествующих Windows XP, будет прочитан файл autorun.inf на любом типе диска и будут выполнены его инструкции. Задача автозапуска, если она указана, выполняется немедленно без вмешательства пользователя. [ 9 ] Сюда входят типы дисков DRIVE_REMOVABLE, DRIVE_FIXED и DRIVE_REMOTE .
AutoRun будет работать с сетевыми дисками (тип диска DRIVE_REMOTE), которым присвоена буква диска. AutoRun также будет работать с дисководами, имеющими драйверы, совместимые с автозапуском. [ 6 ]
Настройки реестра по умолчанию в версиях Windows, предшествующих Windows XP (см. NoDriveTypeAutoRun ), отключают удаленные и съемные диски при запуске автозапуска, оставляя фиксированные типы дисков и приводы CDROM активными по умолчанию.
Представляем автозапуск
[ редактировать ]С появлением автозапуска в Windows XP последнее действие (этап 7 выше) для некоторых типов дисков изменилось с запуска приложения на вызов автозапуска. Начиная с Windows Vista, система автозапуска интегрирована во все аспекты обработки мультимедиа, и автоматическое выполнение задачи автозапуска отсутствует.
Настройки реестра по умолчанию добавляют съемные диски к тем, которые инициировали автозапуск. В Windows XP и более поздних версиях, за исключением Windows Server 2003, для автозапуска неактивны только типы дисков «Неизвестный» и «Удаленный».
Обработка файла autorun.inf существенно меняется в каждой версии Windows. Подробности можно найти в статье autorun.inf . Текущая обработка в Windows 7 заключается в том, что только диски типа DRIVE_CDROM могут указывать задачу автозапуска, изменять поведение двойного щелчка или изменять контекстные меню.
Настройки реестра
[ редактировать ]AutoRun анализирует значения реестра Windows , чтобы решить, следует ли инициировать действия для какого-либо конкретного диска или типа диска. Эти значения можно изменить несколькими методами, один из которых — использование групповой политики .
Основные соответствующие имена записей реестра: NoDriveTypeAutoRun
и NoDriveAutoRun
. Они существуют как в настройках для каждого компьютера, так и в настройках для каждого пользователя, а их расположение и приоритет в реестре описаны более подробно ниже.
Типы приводов
[ редактировать ]Типы приводов различаются по названию типа следующим образом: [ 10 ]
Введите имя | ценить | Описание |
---|---|---|
DRIVE_UNKNOWN | 0x00000000 | Не удалось определить тип диска (обычный диск) |
DRIVE_NO_ROOT_DIR | 0x00000001 | Диск в настоящее время недействителен (нет подключенных томов) |
DRIVE_REMOVABLE | 0x00000002 | Привод имеет съемный носитель (дисковод, флешка ) |
DRIVE_FIXED | 0x00000003 | Диск невозможно извлечь из привода (жесткого диска/твердотельного накопителя) |
DRIVE_REMOTE | 0x00000004 | Диск является удаленным (сетевым) диском. |
DRIVE_CDROM | 0x00000005 | Привод представляет собой привод CD-ROM, DVD-ROM или BD-ROM. |
DRIVE_RAMDISK | 0x00000006 | Диск представляет собой RAM-диск. |
DRIVE_NOT_DETERMINED | 0x00000007 | Диск еще не определился |
DRIVE_NOT_FOUND | 0x00000008 | Доступ к диску в настоящее время недоступен (отключенные диски) |
[СДЕРЖАННЫЙ] | 0x00000009 | Это значение зарезервировано для технологий будущего. |
Терминология реестра
[ редактировать ]Реестр Windows — это иерархическая база данных , в которой хранятся параметры конфигурации и параметры операционной системы. Терминология несколько вводит в заблуждение, поэтому здесь она кратко изложена.
реестра Раздел похож на папку, в которой, помимо значений, каждый ключ может содержать подразделы, которые, в свою очередь, могут содержать подразделы и так далее.
реестра Значение состоит из пары имя-данные. В документации Microsoft обычно используется термин «запись» как эквивалентный термин. Он также использует «значение» для «данных», когда очевидно, что имеется в виду. Во избежание путаницы в этой статье при упоминании пары имя-данные всегда используется термин «запись».
Два ключа реестра, которые очень часто упоминаются: HKEY_LOCAL_MACHINE
который содержит настройки для каждой машины, и HKEY_CURRENT_USER
который содержит настройки для текущего пользователя, вошедшего в систему. Они почти всегда сокращаются как HKLM
и HKCU
соответственно. У машины может быть много пользователей; их настройки хранятся в HKEY_USERS
, HKCU
на самом деле это просто ссылка на подходящее место в HKEY_USERS
.
Изменение настроек реестра
[ редактировать ]Настройки реестра можно изменить напрямую с помощью графического интерфейса. regedit
инструмент или командная строка reg.exe
полезность. Настройки также можно поместить в текстовый файл , [ 11 ] имя с типом расширения .reg. Например, " mychanges.reg
". При двойном щелчке по файлу настройки файла вводятся в реестр, если позволяют разрешения.
Их можно изменить косвенно с помощью групповой политики, применяемой локально к одному компьютеру с помощью GPEdit.msc
или в домен с gpmc.msc
.
Возможно, потребуется либо выйти из системы, либо перезагрузить компьютер, чтобы любые изменения в реестре вступили в силу.
Порядок оценки
[ редактировать ]The NoDriveAutoRun
и NoDriveTypeAutoRun
Записи реестра могут существовать в двух местах: настройки для каждого пользователя (в разделе HKEY_CURRENT_USER) и настройки для каждого компьютера (в разделе HKEY_LOCAL_MACHINE). Если запись появляется в разделе HKEY_LOCAL_MACHINE, то любая соответствующая запись в разделе HKEY_CURRENT_USER полностью игнорируется. Значения данных никак не объединяются.
При принятии решения об активации AutoRun оба NoDriveAutoRun
и NoDriveTypeAutoRun
Просматриваются записи реестра. Если любое из значений указывает на то, что диск должен быть отключен, автозапуск для этого диска отключен.
Таким образом, в следующем примере:
HKEY_LOCAL_MACHINE | HKEY_CURRENT_USER | ||
---|---|---|---|
NoDriveAutoRun | NoDriveTypeAutoRun | NoDriveAutoRun | NoDriveTypeAutoRun |
0x08 | (Нет) | 0x03FFFFFF | 0x95 |
значение данных, взятое за NoDriveAutoRun
равен 0x08, что отключает диск D и значение данных, взятое для NoDriveTypeAutoRun
имеет значение 0x95, отключая съемные и сетевые диски. Для каждого пользователя NoDriveAutoRun
запись никогда не используется.
NoDriveTypeAutoRun
[ редактировать ]HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
| |||
Имя записи | Тип данных | Диапазон | По умолчанию |
---|---|---|---|
NoDriveTypeAutoRun
|
РЕГ_DWORD | от 0x00 до 0xFF | 0x95 или 0x91 |
Эта запись реестра отключает или включает функцию автозапуска на всех дисках указанного типа. [ 12 ] Он отражает настройку соответствующей групповой политики автозапуска. Допустимые данные находятся в диапазоне от 0x00 до 0xFF в шестнадцатеричном формате. Если запись отсутствует, значение данных по умолчанию — 0x95 или 0x91 в зависимости от используемой версии Windows. Запись, присутствующая в HKLM, переопределяет любую запись, присутствующую в HKCU.
Входные данные представляют собой растровое значение, где бит, установленный в 1, отключает автозапуск на диске определенного типа. Настройки битов для каждого типа привода показаны ниже:
Обратите внимание, что бит номер 1 не используется и что тип «Неизвестный» представлен дважды. Установка всех битов в 1 даст шестнадцатеричное значение 0xFF, десятичное 255 и отключит автозапуск на всех типах дисков.
Значение по умолчанию для этой записи зависит от используемой версии Windows: [ 9 ] [ 13 ]
Операционная система | Настройка по умолчанию |
---|---|
Windows 7 | 0x91 |
Windows Сервер 2008 | 0x91 |
Windows Виста | 0x91 |
Windows Сервер 2003 | 0x95 |
Windows ХР | 0x91 |
Windows 2000 | 0x95 |
Windows 95/98 | 0x95 |
NoDriveAutoRun
[ редактировать ]HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
| |||
Имя записи | Тип данных | Диапазон | По умолчанию |
---|---|---|---|
NoDriveAutoRun
|
РЕГ_DWORD | от 0x0 до 0x03FFFFFF | 0x0 |
Эта запись реестра отключает или включает функцию автозапуска на отдельных дисках. [ 14 ] Он не связан с групповой политикой и не существует по умолчанию. Значение данных принимается равным 0, если запись отсутствует. Запись, присутствующая в HKLM, переопределяет любую запись, присутствующую в HKCU.
Данные представляют собой 32-битное побитовое значение (DWORD), младшие 26 бит которого используются для представления каждой из 26 букв диска от A до Z. Таким образом, допустимый диапазон данных составляет от 0x0 до 0x03FFFFFF. Младший бит (самый правый бит) представляет диск A, а 26-й бит справа представляет диск Z.
Бит, установленный в 1, отключает автозапуск на конкретном диске. Например, если значение данных установлено на 0x8 (1000 двоичных), автозапуск отключен на диске D.
Групповая политика
[ редактировать ]
Единственные параметры групповой политики, доступные для автозапуска, влияют на NoDriveTypeAutoRun
Записи реестра. Политика доступна как для каждого компьютера, так и для каждого пользователя, что отражает расположение записи реестра в HKLM или HKCU. [ 12 ] [ 14 ] Как описано выше , параметр политики для каждого компьютера приведет к игнорированию параметра политики для каждого пользователя.
Если политика включена , групповая политика добавит NoDriveTypeAutoRun
запись в реестр. Если для политики установлено значение «Отключено» или « Не настроено» , групповая политика удаляет эту запись из реестра для политики компьютера (в HKLM) и возвращает ей значение по умолчанию для политики пользователя (в HKCU). После этого могут вступить в силу системные настройки по умолчанию, как описано в разделе NoDriveTypeAutoRun .
Имена, расположение и возможные настройки политик незначительно различаются в разных версиях Windows. Список настроек относительно короткий и всегда является дополнительным к настройкам системы по умолчанию. Таким образом, в Windows 2000 включение политики «Отключить автозапуск» и установка для нее значения «Приводы компакт-дисков» отключает автозапуск (в отличие от автозапуска) для приводов CD-ROM и DVD, съемных приводов, сетевых дисков и приводов неизвестного типа. тип.
Этот параметр нельзя использовать для включения автозапуска на дисках, на которых он отключен по умолчанию, или для отключения автозапуска для дисков, не указанных в списке. Чтобы отключить или включить какие-либо определенные диски или типы дисков, реестр необходимо отредактировать вручную.
Windows Server 2003, Windows XP и Windows 2000
[ редактировать ]Местоположение политики для каждой машины:
- Групповая политика\Конфигурация компьютера\Административные шаблоны\Система
Местоположение политики для каждого пользователя:
- Групповая политика\Конфигурация пользователя\Административные шаблоны\Система
Соответствующая политика — «Отключить автозапуск». В Windows 2000 вместо этого политика называется «Отключить автозапуск».
Если политика включена, для нее можно установить значение «Все диски» или «Приводы компакт-дисков». Последняя настройка добавляет приводы CD-ROM в существующий список отключенных типов приводов, как описано выше.
Windows Vista, Windows Server 2008.
[ редактировать ]Местоположение политики для каждой машины: [ 15 ]
- Конфигурация компьютера\Административные шаблоны\Компоненты Windows\Политики автозапуска
Местоположение политики для каждого пользователя:
- Конфигурация пользователя\Административные шаблоны\Компоненты Windows\Политики автозапуска
Соответствующая политика — «Отключить автозапуск» и может быть установлена для CD-ROM, DVD-ROM и съемных дисков или для всех дисков.
Две связанные политики были добавлены в Vista и Server 2008: [ 16 ]
- Поведение по умолчанию для автозапуска
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Имя записи Тип данных Диапазон По умолчанию NoAutoRun
РЕГ_DWORD
- Устанавливает поведение по умолчанию для команд автозапуска, найденных в файлах autorun.inf.
- До Windows Vista, когда был вставлен носитель, содержащий autorun.inf, определяющий задачу автозапуска, действием по умолчанию было автоматическое выполнение программы без вмешательства пользователя. :В Windows Vista поведением по умолчанию является вызов автозапуска и представление задачи автозапуска как одного из вариантов диалога. Это также поведение, когда эта политика не настроена или отключена.
- Если эта политика включена, поведение можно изменить на одно из следующих:
- Полностью отключите команды autorun.inf или
- Автоматически выполните команду autorun.inf, как в предыдущих версиях Windows.
- Не устанавливайте флажок всегда делать это
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Имя записи Тип данных Диапазон По умолчанию DontSetAutoplayCheckbox
РЕГ_DWORD
- Если эта политика включена, флажок «Всегда делать это...» в диалоговом окне автозапуска не будет установлен: по умолчанию, когда диалоговое окно отображается.
Windows 7, Windows Сервер 2008 R2.
[ редактировать ]В этих версиях Windows способность файла autorun.inf устанавливать задачу автозапуска, изменять поведение двойного щелчка или изменять контекстные меню ограничена дисками типа DRIVE_CDROM. Нет настроек политики, которые могли бы переопределить это поведение. Расположение и настройки политик соответствуют Windows Vista и Windows Server 2008, указанным выше, с добавлением: [ 16 ]
- Отключите автозапуск для устройств без громкости
HKLM\Software\Policies\Microsoft\Windows\Explorer
HKCU\Software\Policies\Microsoft\Windows\Explorer
Имя записи Тип данных Диапазон По умолчанию NoAutoplayfornonVolume
- Если эта политика включена, автозапуск будет отключен для устройств, не являющихся корпоративными .
Изменение поведения автозапуска
[ редактировать ]Нажатие клавиши Shift
[ редактировать ]Если ⇧ Shift удерживается нажатой в определенный момент последовательности выполнения, Windows Vista вызывает диалоговое окно автозапуска независимо от каких-либо других настроек автозапуска. [ 8 ] Предыдущие версии Windows не выполняют задачу автозапуска. Очень важно, чтобы для этой цели использовалась левая клавиша Shift, поскольку удержание правой клавиши Shift в течение восьми секунд вызывает вызов FilterKeys. [ 6 ]
Учитывая, что Shift необходимо удерживать до тех пор, пока Windows не проверит его, может пройти немало времени, прежде чем он вступит в силу. Затраченное время в первую очередь зависит от времени на распознавание нового оборудования и времени, необходимого для раскрутки компакт-дисков. Полагаться на этот метод небезопасно.
Уведомление об автоматической вставке
[ редактировать ]Определенные события уведомления об изменении носителя можно подавить путем изменения определенных записей реестра. «Уведомление об изменении носителя» — это общий термин; для дисководов компакт-дисков используется специальный термин «Уведомление об автоматической вставке».
HKLM\SYSTEM\CurrentControlSet\Services\Cdrom
| |||
Имя записи | Тип данных | Диапазон | По умолчанию |
---|---|---|---|
AutoRun
|
РЕГ_DWORD | 0 или 1 | 1 |
Для приводов компакт-дисков изменение значения этой записи реестра на 0 отключит уведомление об автоматической вставке только для приводов компакт-дисков. [ 17 ] Потребуется перезагрузка Windows.
Значение данных | Значение |
---|---|
0 |
Не отправляет сообщение MCN |
1 |
Отправляет сообщение MCN |
В Windows 95/98/ME этот параметр можно изменить в Диспетчере устройств, доступном через значок «Система» на панели управления.

Хотя запись реестра называется «AutoRun», она только подавляет сообщение MCN. Сообщение MCN запускает запуск автозапуска, но также дает команду оболочке Explorer обновить свои представления и содержимое.
Таким образом, только в качестве побочного эффекта это отключает автозапуск для приводов CD-ROM. Однако Explorer теперь не будет обновлять свое представление при вставке нового компакт-диска; он будет показывать содержимое предыдущего компакт-диска до тех пор, пока F5 нажата или выбрана опция «Просмотр/Обновить» в меню «Проводник». Это может привести к серьезной путанице у пользователей.
По этой причине сообщение с уведомлением об изменении носителя не следует отключать, если только нет абсолютно никакой альтернативы; Автозапуск можно отключить для отдельных дисков с помощью групповой политики или реестра.
HKLM\SYSTEM\CurrentControlSet\Services\Cdrom
| |
Имя записи | Тип данных |
---|---|
AutoRunAlwaysDisable
|
REG_MULTI_NO |
Эта запись используется для подавления сообщения MCN для привода компакт-дисков определенного типа. [ 18 ] в первую очередь чейнджеры компакт-дисков. Данные представляют собой набор идентификаторов устройств, который соответствует идентификаторам, сообщаемым системе самими устройствами.
Значение по умолчанию для этой записи включает продукты, определенные в ходе тестирования Microsoft как не поддерживающие автозапуск. Эту запись не следует изменять по сравнению с ее значением по умолчанию.
Редактирование групповой политики
[ редактировать ]Автозапуск можно отключить на определенных дисках и типах дисков с помощью методов, описанных в разделе «Групповая политика» . Однако редактор групповой политики недоступен в домашних версиях Windows XP. [ 19 ] и не предоставляет никаких возможностей детального выбора дисков.
Однако групповая политика будет общепринятым методом отключения автозапуска во всем домене Windows.
Файлы реестра
[ редактировать ]Можно создать файл настроек реестра, который при выполнении вносит желаемые изменения в реестр.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\policies\Explorer]
"NoDriveTypeAutoRun"=dword:000000ff
|
В приведенном выше примере автозапуск будет отключен для всех дисков и для всех пользователей. Этот пример необходимо запустить от имени администратора, и для того, чтобы настройки вступили в силу, потребуется перезагрузка.
Сопоставление файлов инициализации
[ редактировать ]В Windows Vista и более поздних версиях Windows имеется параметр политики «Поведение по умолчанию для автозапуска», который можно настроить так, чтобы запретить чтение файла autorun.inf на любом томе. Это позволяет избежать определенных сценариев, когда вредоносное ПО использует функцию autorun.inf для заражения компьютера. Предыдущие версии Windows не имеют этого параметра политики, но использование сопоставления файлов инициализации является эффективным обходным решением. [ 20 ] [ 21 ]
Поскольку файл autorun.inf является стандартным INI-файлом соответствующие вызовы API Windows, при получении его настроек Windows использует . Эти вызовы API можно перенаправить с помощью метода сопоставления файлов INI. Следующий файл реестра иллюстрирует обходной путь: все настройки autorun.inf берутся исключительно из файла реестра. HKEY_LOCAL_MACHINE\Software\DoesNotExist
Ключ реестра:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf]
@="@SYS:DoesNotExist"
|
Поскольку этот ключ не существует, файл autorun.inf не содержит информации о настройках. Важно отметить, что это касается любого autorun.inf в любом месте и на любом диске.
Поскольку либо параметр политики, либо этот обходной путь отключают автозапуск, установка программного обеспечения с автозапускаемого установочного компакт-диска или DVD-диска, очевидно, больше не будет автоматической. Необходимо будет просмотреть файл autorun.inf на компакт-диске, а затем вручную выполнить соответствующую программу установки.
Проблемы и безопасность
[ редактировать ]Microsoft признала, что «поскольку код может выполняться без ведома или согласия пользователя, пользователи могут захотеть отключить эту функцию из соображений безопасности». и выпустил «Fixit» для отключения автозапуска для пользователей, которым неудобно редактировать реестр. [ 13 ]
Ошибка отключения автозапуска
[ редактировать ]Начиная с Windows 2000 и заканчивая Windows Server 2008, записи реестра, относящиеся к автозапуску, не обрабатывались должным образом, что приводило к уязвимости безопасности. [ 22 ] Windows 95 и Windows 98 не пострадали.
Когда автозапуск отключен, Windows не должна продолжать последовательность активации дальше проверки реестра. Однако он анализирует любой найденный файл autorun.inf и выполняет все, кроме последнего действия по вызову автозапуска или выполнению приложения.
Это делает пользователя уязвимым для атак со стороны вредоносного ПО, которое использует autorun.inf для изменения поведения двойного щелчка и контекстного меню. Двойной щелчок по значку диска заразит машину. Щелчок правой кнопкой мыши и выбор опций «Просмотреть» или «Открыть» в контекстном меню не являются обходным решением, поскольку эти пункты меню могут быть использованы соответствующими записями autorun.inf.
Эта ошибка была исправлена в ряде обновлений безопасности, подробно описанных в статье 967715 базы знаний Microsoft . [ 13 ]
Другие вопросы
[ редактировать ]- Если добавить компьютер в домен Active Directory,
NoDriveTypeAutoRun
значение может быть сброшено до значения по умолчанию. [ 23 ] Это связано с вступлением в силу настроек групповой политики в домене. Это не ошибка. - Некоторые программы могут намеренно изменять настройки реестра автозапуска. Известно, что ранние версии программного обеспечения для записи компакт-дисков, такого как Roxio, изменяли настройки таким образом. [ 24 ]
- Если параметр безопасности групповой политики «Ограничить доступ к компакт-диску только локально вошедшим в систему пользователю» в разделе:
- Конфигурация компьютера\Параметры Windows\Параметры безопасности\Локальные политики\Параметры безопасности
включен (включен), то автозапуск может не работать. [ 24 ]
Установщики Windows также будут работать неправильно, поскольку доступ «Локальной системе» к компакт-диску будет запрещен. [ 25 ]
Этот параметр групповой политики отражает значение записи реестра:
и должен быть установлен на 0.HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
Имя записи Тип данных Диапазон По умолчанию allocatecdroms
РЕГ_НО0 или 10 - RealPlayer 10 мешает работе автозапуска до такой степени, что может показаться, что автозапуск или автозапуск вообще не работают. [ 26 ] [ 27 ] [ 28 ]
Векторы атак
[ редактировать ]Функциональность AutoRun уже некоторое время используется в качестве вектора вредоносного ПО. До Windows Vista действием по умолчанию для дисковода компакт-дисков было выполнение любых инструкций файла autorun.inf без подсказок и предупреждений. Это делает поддельные компакт-диски одним из возможных векторов заражения.
В этой же категории находятся компакт-диски со смешанным содержанием. Аудио-CD, на котором пользователь вообще не ожидает наличия программного обеспечения, может содержать раздел данных с файлом autorun.inf. Некоторые компании, такие как Sony BMG , использовали этот вектор для установки вредоносного ПО, пытающегося защититься от копирования аудиодорожек.
Флэш-накопители с поддержкой U3 , эмулируя устройство компакт-диска, также могут заставить Windows выполнять команды из файла autorun.inf, найденного на эмулируемом компакт-диске.
Такие устройства, как модем HSDPA Huawei E220, законно используют этот метод для автоматической установки драйверов для самого модема. Однако подключать флешку из неизвестного источника – неразумный шаг. USB Switchblade и подобные инструменты сделали атаки на флэш-накопители U3 тривиальными. Учитывая простоту написания сценариев атак на основе , антивирусное программное обеспечение может оказаться неэффективным в предотвращении кражи данных и паролей.

При использовании стандартного флэш-накопителя можно использовать атаки социальной инженерии, чтобы побудить пользователя щелкнуть соответствующий элемент в диалоговом окне автозапуска. Заманчивая строка действий , обещающая бесплатные игры или порнографию, заманит многих пользователей в ловушку. В любой момент двойной щелчок по значку диска приведет к автоматическому использованию autorun.inf — ловушка, в которую могут попасть более опытные пользователи.
Любой пользователь может настроить AutoPlay, чтобы он принимал за него различные решения; установив соответствующий флажок в диалоговом окне автозапуска, запуск вредоносного ПО на флешке станет бесшумным и автоматическим.
Вредоносная программа AutoRun была расширена для использования жестких дисков, [ 29 ] рамки для фотографий и другие цифровые устройства. [ 30 ] Осторожность при обращении с внешними устройствами является приоритетом безопасности. Распространенность заражения вредоносным ПО с помощью AutoRun и USB-накопителя была зафиксирована в исследовании Microsoft 2011 года. [ 31 ] проанализировав данные более чем 600 миллионов систем по всему миру в первой половине 2011 года. Исследование показало, что 26 процентов всех заражений системы Windows вредоносным ПО произошли из-за USB-накопителей, использующих функцию автозапуска в Microsoft Windows . Этот вывод согласуется с другими статистическими данными, такими как ежемесячные отчеты антивирусной компании ESET о наиболее часто обнаруживаемых вредоносных программах, в которых злоупотребление autorun.inf занимает первое место среди десяти крупнейших угроз в 2011 году. [ 32 ]
Защита от атак
[ редактировать ]В дополнение к основным мерам безопасности, которые включают в себя [ 33 ]
- следуя принципу минимальных привилегий , не используя привычные права администратора и
- применение всех соответствующих исправлений и обновлений безопасности,
подверженность этим атакам можно свести к минимуму за счет надлежащего использования параметров групповой политики и реестра. Следующие политики безопасности представляют собой краткое изложение политик, описанных в этой статье:
- Отключите автозапуск (но см. ошибку отключения автозапуска )
- Используйте групповую политику «Поведение по умолчанию для автозапуска» в Vista (см. выше ), чтобы отключить команды autorun.inf.
- Используйте сопоставление файлов инициализации , чтобы обнулить разделы autorun.inf.
- В Windows 7 только приводы компакт-дисков и DVD-дисков могут указывать такие приложения, как задача автозапуска, в файле autorun.inf. Windows XP и более поздние версии могут быть исправлены , чтобы при обновлении они вели себя таким же образом.
KB971029
. [ 34 ] В феврале 2011 года этот патч был добавлен в официальный канал Центра обновления Windows . [ 35 ] Поведение задачи автозапуска Windows 7 теперь становится поведением по умолчанию для всех текущих версий ОС Windows.
Кроме того, Microsoft рекомендовала следующие действия, в первую очередь во время атак червя Conficker :
- Запретите вызов autorun.inf из сетевых ресурсов: [ 13 ]
- Удаление любого существующего файла autorun.inf из корня подключенного сетевого диска.
- Отказ в правах на создание корня подключенного сетевого диска
- Предотвратите использование USB-накопителей с помощью:
- Настройки USB в системном BIOS
- Соответствующие настройки реестра, как описано в статье базы знаний.
823732
[ 36 ] - Настройка USB-устройств только для чтения, чтобы предотвратить распространение неизвестных червей (и кражу конфиденциальных данных) [ 37 ]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Перейти обратно: а б с В чем разница между AutoPlay и AutoRun? , Microsoft, Справка по Windows Vista
- ^ Как получить уведомление об установке или удалении компакт-диска , Microsoft, База знаний
- ^ Обнаружение вставки или удаления носителя , Microsoft, MSDN. библиотека
- ^ Функция RegisterDeviceNotification , Microsoft, библиотека MSDN
- ^ Создание приложения с поддержкой автозапуска , Microsoft, библиотека MSDN.
- ^ Перейти обратно: а б с д Включение и отключение автозапуска , Microsoft, библиотека MSDN
- ^ Интерфейс IQueryCancelAutoPlay , Microsoft, библиотека MSDN
- ^ Перейти обратно: а б Автозапуск: часто задаваемые вопросы , Microsoft, Справка по Windows Vista
- ^ Перейти обратно: а б Как протестировать файлы autorun.inf , Microsoft, База знаний
- ^ Функция GetDriveType , Microsoft, библиотека MSDN
- ^ Перейти обратно: а б Как использовать файл регистрационных записей , Microsoft, База знаний
- ^ Перейти обратно: а б Реестр Windows 2000: NoDriveTypeAutoRun , Microsoft, TechNet
- ^ Перейти обратно: а б с д Как отключить функцию автозапуска в Windows , Microsoft, База Знаний
- ^ Перейти обратно: а б Реестр Windows 2000: NoDriveAutoRun , Microsoft, TechNet
- ^ Руководство по безопасности Windows Vista, глава 3 , Microsoft, TechNet
- ^ Перейти обратно: а б Справочник по настройкам групповой политики для Windows и Windows Server , Microsoft, Загрузки , Таблицы Excel .
- ^ Реестр Windows 2000: AutoRun , Microsoft, TechNet
- ^ Реестр Windows 2000: AutoRunAlwaysDisable , Microsoft, TechNet
- ^ Windows XP Pro Resource Kit, Различия с Windows XP Home Edition , Microsoft, TechNet
- ↑ Черви для карт памяти . Архивировано 31 октября 2011 г. в Wayback Machine , блог Ника Брауна.
- ^ Лучший способ отключить автозапуск для защиты от зараженных USB-накопителей. Архивировано 6 июня 2013 г. на Wayback Machine , Майкл Горовиц - Defensive Computing.
- ^ Windows Vista не может правильно обработать значение реестра NoDriveTypeAutoRun , US-CERT
- ^ Значение подраздела NoDriveTypeAutoRun сбрасывается... , Microsoft, База знаний
- ^ Перейти обратно: а б Не работает функция автозапуска или функция автозапуска... , Microsoft, База знаний
- ^ Вы получаете сообщение «Установка завершилась преждевременно, потому что...» , Microsoft, База знаний.
- ^ Мастер камеры и сканера, перестал работать , чат-форум Gladiator Security
- ^ Автозапуск не работает с цифровой камерой , форум чата Vista-XP
- ^ Как починить загрузку автозапуска камеры , чат-форум tech-archive.net
- ↑ Китайский троян на жестких дисках Maxtor пугает Тайвань , The Register , 12 ноября 2007 г.
- ↑ Вредоносное ПО нападает на цифровые устройства , The Register , 11 января 2008 г.
- ^ Отчет Microsoft Security Intelligence, том 11, январь-июнь 2011 г.
- ^ Отчет о глобальных угрозах, декабрь 2011 г.
- ^ Предупреждение о вирусе о черве Win32/Conficker , Microsoft, База знаний
- ^ Обновление функции автозапуска в Windows , Microsoft, База знаний.
- ^ Более глубокое понимание обновления Security Advisory 967940 , Microsoft, блоги Security Response Center.
- ^ Как запретить пользователям подключаться к USB-накопителю? , Microsoft, База знаний
- ^ Съемные устройства хранения данных не распознаются после установки Windows XP SP2 , Microsoft, База знаний.
Внешние ссылки
[ редактировать ]- Справочник по автозапуску и автозапуску , Microsoft, библиотека MSDN
- Черви на картах памяти , блог Ника Брауна
- Autorun Protector — автономное программное обеспечение, которое предотвращает автозапуск ПК от червей и защищает съемное устройство от заражения из других источников.
- Справочное руководство по автозапуску Дэна МакКлоя
- Путешествие по островам службы безопасности: заразительная привлекательность сувениров поставщиков , журнал TechNet
- Рисунок 4: пример кода querycancelautoplay , Microsoft Systems Journal , сентябрь 1998 г.
- Мастер восстановления автозапуска , Центр загрузки Microsoft
- Проверьте свою защиту от вредоносных USB-накопителей , блог Computerworld, 24 января 2009 г.
- Лучший способ отключить автозапуск для защиты от зараженных флешек , блог Computerworld, 30 января 2009 г.
- Как удалить вирус автозапуска
- Microsoft PowerToys , Microsoft, настройка пользовательского интерфейса
- Интернет-информационный ресурс о функции автозапуска/автозапуска Microsoft Windows.
- AutoRunConf простой инструмент настройки параметров автозапуска.
- Как включить/отключить автозапуск диска (с помощью реестра)
- Отключить автозапуск, включить/выключить функцию автозапуска/автозапуска Windows.
- Создайте меню автозапуска Создайте собственное меню автозапуска