Autorun.inf — файл, що використовується для автоматичного запуску програм на носіях інформації у середовищі операційної системи Microsoft Windows (починаючи з версії Windows 95). Цей файл повинен знаходитись в кореневому каталозі файлової системи пристрою, для якого здійснюється автозапуск. Файл ділиться на структурні елементи — блоки. Назви блоків пишуть в квадратних дужках. Опис блоків містить пари параметр→значення.

Первинне призначення ред.

Автоматичний запуск програми дозволив надзвичайно спростити дії користувача при встановленні та запуску програмного забезпечення і драйверів обладнання.[1]

Захист від копіювання ред.

Окрім того, деякі фірми, виробники дисків з аудіовмістом, намагалися застосовувати дану технологію для захисту вмісту дисків від копіювання, шляхом автозапуску програми, яка заважає копіюванню.

Безпека ред.

Файл autorun.inf широко використовується для розповсюдження комп'ютерних вірусів через flash-накопичувачі та мережеві диски. Для цього автори вірусів прописують ім'я виконавчого файлу зі шкідливим кодом в параметр open. При підключенні зараженого flash-накопичувача Windows запускає вказаний в параметрі «open» файл на виконання, в результаті чого відбувається зараження комп'ютера.

Вірус, який знаходиться в оперативній пам'яті зараженого комп'ютера періодично сканує систему з метою пошуку нових дисків, а при їх виявленні (при підключенні іншого flash-накопичувача або мережевого диска) створює на них autorun.inf з посиланням на копію свого виконавчого файлу, забезпечуючи таким чином своє подальше розповсюдження.

В деяких випадках в autorun.inf записується не шлях до виконавчого файлу, вірус повністю заміщує вміст файлу своїм кодом не в текстовому вигляді і не потребує додаткових файлів.

Відключення автозапуску ред.

Групова політика (gpedit.msc) ред.

Налаштування автозапуску в груповій політиці знаходиться у гілці «Конфігурація комп'ютера — Адміністративні шаблони — Система». Пункт «Відключити автозапуск» має три значення: не заданий, ввімкнений, відключений. Вказівка «ввімкнений» дозволяє обрати тип дисків:

  • CD-дисководи (включаючи: невідомі, CD, мережеві та знімний диски),
  • усі дисководи.

Реєстр (гілка HKCU), Policies ред.

За включення і відключення автозапуску для різних типів носіїв відповідають ключі реєстру:

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoDriveTypeAutoRun"=dword:000000ff
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoDriveTypeAutoRun"=dword:000000ff

Можливі значення даного ключа:

  • 0x01 (DRIVE_UNKNOWN) — відключити автозапуск на пристроях невідомих типів (тип якого не може бути визначений)
  • 0x02 (DRIVE_NO_ROOT_DIR) — відключити автозапуск на дисках, яким не назначена буква (не вмонтованих в корінь)
  • 0x04 (DRIVE_REMOVABLE) — відключити автозапуск зі знімних пристроїв (дискети, флешки)
  • 0x08 (DRIVE_FIXED) — відключити автозапуск НЕзнімних приводів (жорсткий диск)
  • 0x10 (DRIVE_REMOTE) — відключити автозапуск мережевих дисків
  • 0x20 (DRIVE_CDROM) — відключити автозапуск CD-приводів
  • 0x40 (DRIVE_RAMDISK) — відключити автозапуск на віртуальному диску (RAM-диск)
  • 0x80 (DRIVE_FUTURE) — відключити автозапуск на приводах невідомих типів (майбутні типи пристроїв)
  • 0xFF — відключити автозапуск всіх дисків взагалі.

Значення можуть комбінуватися підсумовуванням їх числових значень. Припустимі значення ключа NoDriveTypeAutoRun описані в KB967715 [Архівовано 31 березня 2009 у Wayback Machine.].

Варто зазначити, що заборона автозапуску за допомогою вище наданого ключа реєстру не усуває небезпеку зараження комп'ютера. Це пов'язано з тим, що значення ключа впливає лише на виконання autorun.inf під час визначення системою підключеного носія, але не забороняє виконання при подвійному кліку по значку носія. Таким чином, навіть якщо функція автозапуску відключена, зараження відбувається при спробі користувача відкрити підключений диск для огляду. Microsoft випустила виправлення, описане в [1] [Архівовано 1 липня 2010 у Wayback Machine.], що повністю вирішує дану проблему.

Реєстр (гілка HKLM), підміна autorun.inf файлу ред.

Альтернативний, радикальніший, спосіб заборони обробки autorun.inf:

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

По суті він підміняє вміст файлу autorun.inf значенням з реєстру, яке навмисно задається порожнім або неправильним. Це призводить до того, що якщо на диску і є файл autorun.inf, то він сприймається як порожній.

Вказаний спосіб слід вважати найнадійнішим. Простий спосіб його використання полягає в створенні відповідного reg-файлу, що запускається на комп'ютері.[2]

Реєстр (гілка HKLM), заборона автозапуску усіх типів файлів ред.

Можливе рішення про заборону автозапуску всіх типів файлів (будуть здійснюватись тільки автостарт, обробка подвійного кліка і контекстного меню):

 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\CancelAutoplay\Files]
 "*.*"=""

Структурні блоки файлу ред.

Блок [autorun] ред.

Параметр action ред.

Параметр action відповідає за відображення тексту в меню автозапуску (використовується рідко).

Приклад:

[autorun]
action=Текст Заголовка

Припустимо зазначення тексту з бібліотеки dll:

[autorun]
action=[шлях\]ім'я_файлу,-ID_ресурса

Параметр icon ред.

Параметр icon призначає файл іконки для пристрою.

Приклад:

[autorun]
icon=ім'я_ресурсу[,номер]

або

[autorun]
icon=файл.ico

Параметр Defaulticon ред.

Команда Defaulticon відрізняється лише тим, що дозволяє задавати ще й шлях до файлу значка: defaulticon=iconpath[,index]

В разі використання обох команд — icon і defaulticon система обробляє лише defaulticon.

Параметр label ред.

Цей параметр слугує для зазначення «мітки тому». Якщо застосувати мітку label до диска, то реальна мітка тому буде прихована (її можна подивитись у властивостях).

[autorun]
label=БудьЯкийТекст

Параметр open ред.

Параметр open містить шлях до файлу програми, яка буде запускатись при підключенні пристрою або спробі доступу до нього (відкривання подвійним кліком). Цей параметр не слід використовувати разом с shellexecute, можливе виникнення конфлікту!

Синтаксис:

[autorun]
...
open=[шлях\]файл [параметр1 [параметр2] ...]
...

Параметр UseAutoPlay ред.

Цей параметр сумісний тільки з ОС MS Windows XP і працює не тільки на оптичних дисках, але й на інших змінних носіях. Припустиме значення одне — 1. Використовується для включення обробки файлу autoplay. Використовується дуже рідко, переважно для автозапуска з flash-дисків без запитів про вибір дії (відкрити в провіднику, нічого не робити та ін.).

Синтаксис:

[autorun]
...
UseAutoPlay=1
...

Параметр shellexecute ред.

Файл, зазначений в цьому параметрі, відкривається при автозапуску тією програмою, яка асоційована з цим типом файлів в системному реєстрі Windows.

Цей параметр можна використовувати замість параметра «open», використовувати ці два параметра разом не бажано.

Цей параметр коректно працює на всіх версіях ОС родини Windows. В ОС MS Windows Vista диск с цим параметром одразу розпізнається як диск с програмним забезпеченням або іграми, і для нього викликається відповідне меню.

Приклад:

[AutoRun]
shellexecute="Readme.txt"

В даному випадку файл «.txt» буде відкрито програмою, яку користувач за умовчанням використовує для відкриття файлів «.txt»

Параметр shell ред.

shell=ключ задає команду за умовчанням (default) для контекстного меню диска.

shell\ключ задає пункт контекстного меню.

shell\ключ\command задає виконавчу команду для пункту меню «ключ».

Приклад:

[autorun]
shell\ключове_слово\command=Файл.exe 
shell\ключове_слово=Заголовок_меню

Блок [Content] ред.

В цьому блоці використовується лише три ключа: MusicFiles, PictureFiles, VideoFiles, що відповідає типам даних на носії: музика, зображення, відео.

Значеннями для цих ключів можуть бути тільки логічні true (істина) або false (хибність).

Істина задається будь-яким з даних значень: 1, y, yes, t, true.

Хибність задається як: 0, n, no, f, false.

Приклад:

[Content]
MusicFiles=Y
PictureFiles=0
VideoFiles=false

Блок [ExclusiveContentPaths] ред.

При спробі визначити тип вмісту на даному носії інформації, пошук файлів буде відбуватися тільки в папках, прописаних в цьому блоці. Шлях зазначається в довільному форматі, вітаються відносні шляхи.

Приклад:

[ExclusiveContentPaths]
\музика
\музика\моя_музика
фільми

Цей блок підтримується тільки ОС MS Windows Vista.

Блок [IgnoreContentPaths] ред.

При спробі визначити тип вмісту на даному носії інформації, пошук файлів не буде здійснюватись в папках, зазначених в цьому блоці, і у всіх їх підпапках. Шлях зазначається в довільному форматі, вітаються відносні шляхи.

Приклад:

[IgnoreContentPaths]
\Portable
\Documents
\Install

Цей блок підтримується тільки ОС MS Windows Vista.

Блок [DeviceInstall] ред.

Використовується один параметр DriverPath, який вказує шлях до драйверів. Використовується дуже рідко і тільки в MS Windows XP.

[DeviceInstall]
DriverPath=drivers\video 
DriverPath=drivers\audio

Приклад лістингу файлу autorun.inf ред.

[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

Див. також ред.

Джерела ред.

  1. Інструкція до материнських плат Asus
  2. National Cyber Alert System. Technical Cyber Security Alert TA09-020A. Архів оригіналу за 24 лютого 2009. Процитовано 18 жовтня 2010.

Посилання ред.