Autorun.inf

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

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.

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

Реєстр (гілка 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

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