Autorun.inf — файл, используемый для автоматического запуска или установки приложений и программ на носителях информации в среде операционной системы Microsoft Windows (начиная с версии Windows 95). Этот файл должен находиться в корневом каталоге файловой системы устройства, для которого осуществляется автозапуск. Файл делится на структурные элементы — блоки. Название блоков пишется в квадратных скобках. Описание блоков содержит пары параметр→значение.
Автоматический запуск приложения позволил чрезвычайно упростить действия пользователя при установке и запуске программного обеспечения и драйверов устройств[1].
Кроме того, некоторые фирмы, производящие диски с аудиосодержимым, пытались применить данную технологию для защиты содержимого дисков от копирования, путём автозапуска программы, препятствующей копированию. Однако известен случай поведения данной программы как руткита[2].
До настоящего времени файл autorun.inf широко использовался для распространения компьютерных вирусов через flash-накопители и сетевые диски. Для этого авторы вирусов прописывают имя исполняемого файла с вредоносным кодом в параметр open. При подключении заражённого flash-накопителя Windows запускает записанный в параметре «open» файл на исполнение, в результате чего происходит заражение компьютера.
Находящийся в оперативной памяти заражённого компьютера вирус периодически сканирует систему с целью поиска новых дисков, и при их обнаружении (при подключении другого flash-накопителя или сетевого диска) создаёт на них со ссылкой на копию своего исполняемого файла, обеспечивая таким образом своё дальнейшее распространение.
Вирус также часто делает файлы и папки на съёмном диске (флешке, дискете) невидимыми, используя команду attrib. Вместо них он часто создаёт ярлыки с именами файлов и папок, реже ярлык с наименованием диска (E:, F: и т.д.). Ни в коем случае не нужно щёлкать (кликать) мышью по ярлыкам. Для того, чтобы скрытые файлы оказались видимыми, можно изменить свойства проводника (обозревателя explorer.exe), затем выполнить команду в командной строке: cmd /c attrib -s -r -h <путь к вашему файлу или папке>[3] , по этой же ссылке можно прочитать, как в MS Windows XP скрытые файлы и папки снова можно увидеть. После удаления вируса с компьютера рекомендуется удалить его тело с флешки, удалить файл autorun.inf и создать папку с таким же названием. Большинство вирусов смогут копировать свои тела на съёмный носитель, но не смогут автоматически запускаться без текстового файла autorun.inf. Многие опытные пользователи рекомендуют использовать для просмотра содержимого флешек и дискет командную строку или файловые менеджеры (Total Commander, FAR Manager, Norton Commander и др.).
В настоящее время описанный способ распространения вредоносных программ является неактуальным. Возможность исполнения инструкций из файла autorun.inf была убрана из всех версий Windows, начиная с 7 и выше.
Настройка автозапуска в групповой политике находится в ветке «Конфигурация компьютера — Административные шаблоны — Система». Пункт «Отключить автозапуск» имеет три значения: не задан, включён, отключен. Задание значения «включён» позволяет выбрать тип дисков:
За включение и отключение автозапуска для разных типов носителей отвечают ключи реестра:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoDriveTypeAutoRun"=dword:000000ff
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoDriveTypeAutoRun"=dword:000000ff
Возможные значения данного ключа:
Значения могут комбинироваться суммированием их числовых значений. Допустимые значения ключа NoDriveTypeAutoRun описаны в KB967715 Архивная копия от 31 марта 2009 на Wayback Machine.
Запрет автозапуска при помощи вышеприведённого ключа реестра не устраняет опасности заражения компьютера. Это связано с тем, что значение ключа влияет только на исполнение autorun.inf при определении системой подключенного носителя, но не запрещает исполнение при двойном клике на значке носителя. Таким образом, даже если функция автозапуска отключена, заражение происходит при попытке пользователя открыть подключённый диск для просмотра. Microsoft выпустила исправление, описанное в KB967715 Архивная копия от 3 марта 2015 на Wayback Machine, полностью решающее данную проблему.
Альтернативный, более радикальный, способ запрета обработки autorun.inf:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf]
@="@SYS:DoesNotExist"
По сути, он подменяет содержимое файла autorun.inf значением из реестра, которое нарочно задаётся пустым/неверным. Это приводит к тому, что если на диске и есть файл autorun.inf, то он воспринимается как пустой.
Указанный способ следует считать самым надёжным. Простой способ его использования заключается в создании соответствующего reg-файла, запускаемого на компьютере.[4]
Возможное решение запрета автостарта всех типов файлов (Только автостарт, обработка двойного клика и контекстного меню будет произведена):
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\CancelAutoplay\Files] "*.*"=""
Большое количество вредоносных программ, распространявшихся с помощью autorun.inf, вынудило корпорацию Microsoft в новой Windows 7 отключить автозапуск программ для носителей информации, подключающихся через порт USB (флешек, кардридеров и др.). В феврале 2011 года Microsoft выпустила обновления, отключающие автозапуск программ из autorun.inf для Windows XP и Windows Vista. В результате уже к лету 2011 года число компьютеров, на которых были зарегистрированы вирусы семейств autorun, уменьшилось примерно на 60%[5].
Параметр action отвечает за отображение текста в меню автозапуска (используется редко).
Пример:
[autorun]
action=Текст Заголовка
Допустимо указания текста из библиотеки dll:
[autorun]
action=[путь\]имя_файла,-IDресурса
Параметр icon назначает файл иконки для устройства.
Пример:
[autorun]
icon=имя_ресурса[,номер]
или
[autorun]
icon=файл.ico
Команда Defaulticon отличается лишь тем, что позволяет задавать ещё и путь к файлу значка:defaulticon=iconpath[,index]
В случае использования двух команд — icon и defaulticon система обрабатывает только defaulticon.
Этот параметр служит для указания «метки тома». Если применить метку label к диску, то реальная метка тома будет скрыта (её можно посмотреть в свойствах).
[autorun]
label=ЛюбойТекст
Параметр open содержит путь к файлу программы, которая будет запускаться при подключении устройства или попытке доступа к нему (открытие двойным щелчком). Этот параметр не следует использовать вместе с shellexecute, возможно возникновение конфликта!
Синтаксис:
[autorun]
...
open=[путь\]файл [параметр1 [параметр2] ...]
...
Этот параметр совместим только с ОС MS Windows XP и работает не только на оптических дисках, но и на других сменных носителях. Допустимое значение одно — 1. Используется для включения обработки файла autoplay. Используется очень редко, в основном для автозапуска с flash-дисков без запросов на выбор действия (открыть в проводнике, ничего не делать и т. д.).
Синтаксис:
[autorun]
...
UseAutoPlay=1
...
Файл, указанный в этом параметре, открывается при автозапуске той программой, которая ассоциирована с этим типом файлов в системном реестре Windows.
Этот параметр можно использовать вместо параметра «open», использовать эти два параметра вместе не рекомендуется.
Данный параметр корректно работает на всех версиях ОС семейства Windows. В ОС MS Windows Vista диск с этим параметром сразу определяется как диск с программным обеспечением или играми, и для него вызывается соответствующее меню.
Пример:
[autorun]
shellexecute="Readme.txt"
В данном примере файл «.txt» будет открыт программой, которую пользователь по умолчанию использует для открытия файлов «.txt»
shell=ключ указывает команду по умолчанию (default) для контекстного меню диска.
shell\ключ задаёт пункт контекстного меню.
shell\ключ\command задаёт исполняемую команду для пункта меню «ключ».
Пример:
[autorun]
shell\ключевое_слово\command=Файл.exe
shell\ключевое_слово=Заголовок_меню
В этом блоке используется всего три ключа: MusicFiles, PictureFiles, VideoFiles, что соответствует типам данных на носителе: музыка, изображения, видео.
Значениями для этих ключей могут быть только логическое true (истина) или false (ложь).
Истина задаётся любым из данных значений: 1, y, yes, t, true.
Ложь задаётся как: 0, n, no, f, false.
Пример:
[Content]
MusicFiles=Y
PictureFiles=0
VideoFiles=false
При попытке определить тип содержимого на данном носителе информации поиск файлов не будет производиться в папках, указанных в этом блоке, и всех их подпапках. Путь задаётся в произвольном формате, приветствуются относительные пути. Пример:
[IgnoreContentPaths]
\Portable
\Documents
\Install
Данный блок поддерживается только ОС MS Windows Vista.
Используется один параметр DriverPath, который указывает путь к драйверам. Используется очень редко и только в MS Windows XP.
[DeviceInstall]
DriverPath=drivers\video
DriverPath=drivers\audio
[autorun]
; точка с запятой - это комментарий (также комментариями являются любые сторонние символы и неизвестные команды)
shellexecute=readme.txt
action=Studio
icon=usb.ico
description=Inc_drive
label=Inc_drive
shell\about=ReadMe
shell\about\command=Notepad.exe readme.txt
[Content]
MusicFiles=false
PictureFiles=false
VideoFiles=false
[ExclusiveContentPaths]
\Multimedia\Video
\Multimedia\Music
\Multimedia\Pictures
[IgnoreContentPaths]
\Portable
\Documents
\Install