Autorun.inf

advertisement
Autorun.inf
Autorun-вирусы получили свое название из-за метода распространения - они записывают
на флешку кроме самого файла с телом вируса также и файл autorun.inf, который при
подключении флешки к компьютеру, запускает тело вируса. Если на флешке заранее
создать каталог AUTORUN.INF - то одноименный файл записать на нее уже невозможно.
Основное направление борьбы с данёй проблемой заключалось в невозможности удаления
каталога AUTORUN.INF. Но после того как новые вирусы научились переименовывать
этот каталог, появились новые методы борьбы с этим явлением, которые используют
другой принцип (как говорится, "Мы не можем изменить направление ветра, но мы можем
подставить ему свои паруса"). На флешке создается каталог AUTORUN.INF с атрибутом
"системный", в который помещается иконка, а в свойствах файла desktop.ini этого
каталога прописывается абсолютная ссылка на иконку. Таким образом, при
переименовывании каталога AUTORUN.INF, или при снятии с него атрибута
"системный", иконка исчезает - это служит визуальным оповещением о том, что флешка
заражена. Давайте рассмотрим несколько методов борьбы с этим делом.
Метод 1:
Для реализации задуманного нам понадобится отформатировать флэшку в NTFS, для
этого есть несколько, известных мне способов. Для меня самым простым является
использование HP USB Disk Storage Format Tool (далее я дам сылку на портативную
версию этой програмки):
Флэшку также можно отформатировать и более простым способом, используя командную
строку:
Пуск → Выполнить → cmd →
convert I:/FS:NTFS < — если данные на флэшке нужны и их некуда скопировать
или
format I: /FS:NTFS < — если данными можно пренебречь...
Обратите внимание на букву, которая присвоена ОС-ой вашей флешке. В моем случае это
I.
Настройка:
Итак, карточка готова к настройке, заходим на флэшку и в корневом каталоге создаем
каталог, в котором будут хранится данные, я назвал его «DATA». Правый клик по новому
каталогу и переходим на вкладку безопасность, затем нажимаем на кнопку
«Дополнительно». Здесь снимаем галочку с пункта «Разрешить наследование разрешений
от родительского объекта к этому...», в появившемся диалоге жмем «Копировать», затем
жмем «Ок» в обоих окошках. Теперь зайдем в раздел «Безопасность» корневого каталога
нашего носителя и настраиваем разрешения следующим образом:
В столбце «Разрешить», оставляем отмеченными следующие пункты:
Чтение и выполнение
Список содержимого папки
Чтение
В столбце «Запретить» ставим галочку напротив пункта «Запись», в появившемся диалоге
жмем «Да»:
Все, в итоге мы получаем флэшку, на которую не сможет записаться Autorun. Минусы
данного способа: мы жертвуем малую долю производительности, возможность записи в
корневой каталог носителя и, естественно, невозможность использования меню
«Отправить» для копирования данных на носитель.
Кроме того нам нужно отключить автозапуск:
Сделать это можно двумя способами:
1. Кроме XP Home Edition:
пуск — выполнить — gpedit.msc — конфигурация компютера — административные
шаблоны — Система — отключить автозапуск (выберите, где отключать). Далее
примените новую политику, выполнив команду gpupdate/force из командной строки.
2. В Home оснастка управления групповыми политиками отсутствует, однако тот же
эффект может быть достигнут ручной правкой реестра:
1) Пуск -> выполнить -> regedit
2) открыть ветку HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies
3) Создать новый раздел
4) Переименовать созданный раздел в Explorer
5) В этом разделе создать ключ NoDriveTypeAutoRun
Допустимые значения ключа:
Код: Выделить всё
0x1 — отключить автозапуск на приводах неизвестных типов
0x4 — отключить автозапуск сьемных устройств
0x8 — отключить автозапуск НЕсьемных устройств
0x10 — отключить автозапуск сетевых дисков
0x20 — отключить автозапуск CD-приводов
0x40 — отключить автозапуск RAM-дисков
0x80 — отключить автозапуск на приводах неизвестных типов
0xFF — отключить автозапуск вообще всех дисков.
Значения могут комбинироваться суммированием их числовых значений.
Значения по умолчанию:
Код: Выделить всё
0x95 — Windows 2000 и 2003 (отключен автозапуск сьемных, сетевых и
неизвестных дисков)
0x91 — Windows XP (отключен автозапуск сетевых и неизвестных дисков)
Комментарий: в XP Home по умолчанию этот ключ отсутствует (как и сам раздел
Explorer), поэтому выше описан процесс его создания. Для остальных версий создавать не
надо, он уже есть, просто исправьте его.
Для тех,кто не хочет копаться в реестре выкладываю reg файлик, который сам добавит все
что нужно. Подходит как для XP Home так и XP PRO версий.
Этот твик отключит AutoRun для всех дисков на вашем комютере:
NoDriveTypeAutoRun.reg
(328 байт) Скачиваний: 0
Метод 2: Я его затронул в самом начале статьи, когда писал:
...Если на флешке заранее создать каталог AUTORUN.INF - то одноименный файл
записать на нее уже невозможно....
Этот способ много проще первого. Все что нужно сделать, - скачать файл AUTOSTOP 2.1.
УСТАНОВКА: переписать файл autostop.2.1.exe на флешку, которую необходимо
защитить (в корневой каталог), и запустить оттуда. После окончания установки файл
можно удалить с флешки (его копия будет находиться в каталоге AUTORUN.INF).
Внимательно прочесть файл readme.txt, находящийся там же - в каталоге AUTORUN.INF.
Что происходит после того, как мы запустили файл:
На флешке создается каталог AUTORUN.INF с атрибутом "системный", в который
помещается иконка, а в свойствах файла desktop.ini этого каталога прописывается
абсолютная ссылка на иконку. Таким образом, при переименовывании каталога
AUTORUN.INF, или при снятии с него атрибута "системный", иконка исчезает - это
служит визуальным оповещением о том, что флешка заражена. Выглядит это следующим
образом:
Те, кто спросит, зачем городить такие огороды, ведь можно воспользоваться способом,
описанным выше:Защита флэшки от Autorun-вирусов (метод изменения прав в NTFS), по
большому счету будут правы - этот способ намного надежнее.... Но, отвечая на вопрос,
можно сказать следующее:
Существуют ситуации, когда форматирование флешки в NTFS нежелательно или
неприемлемо (например, конкретная модель автомагнитолы или DVD-плеера читает
только FAT32).
Я хочу показать что "можно таки бить фашиста" альтернативными способами (любая
альтернатива это плюс).
На этом отличия от предыдущего способа не заканчиваются - добавлены новые методы
отключения автозапуска на компьютере:
REG ADD
"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Cancel
Autoplay\Files" /v "*.*" /d "" /f
В CancelAutoplay\Files находятся текстовые параметры, содержащие имена файлов,
отыскав которые на носителе встроенный AutoRun запускаться не станет и позволит
запустить носитель через autorun.inf. Добавляем строковый параметр следующего
содержания: *.* (все файлы).
REG ADD "HKLM\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\IniFileMapping\Autorun.inf" /ve /d "@SYS:DoesNotExist" /f
@SYS:DoesNotExist говорит explorer'у чтобы он не читал параметры запуска из файла
Autorun.inf, а читал их из ветки реестра
HKEY_LOCAL_MACHINE\SOFTWARE\DoesNotExist, которая не существует. В итоге
если внешний носитель содержит файл Autorun.inf - то при подключении носителя к
компьютеру, Autorun.inf не запускается. Более того - не запускается он и при двойном
клике по букве диска этого носителя в проводнике.
REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer" /v
NoDriveTypeAutoRun /t REG_DWORD /d 255 /f
С помощью NoDriveAutoRun запрещается загрузка с определенных приводов по их
буквенному обозначению, а NoDriveTypeAutoRun запрещает загрузку с определенных
приводов по их типу. Поскольку нам авторан вообще не нужен, используем второе.
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Cdrom" /v AutoRun /t
REG_DWORD /d 0 /f
Cdrom - полное отключение всякой поддержки автозапуска компакт-дисков (даже
ручной).
Метод 3:
Защитить флешку с помощью Panda USB and AutoRun Vaccine
Файл autorun.inf, создаваемый ею на флешке (дабы предотвратить создание такого файла
вирусом) невозможно ни удалить, ни переименовать, ни модифицировать, ни открыть:
Познакомимся с программой поближе, рассмотрим ее возможности и метод, на котором
базируется принцип работы.
Небольшое отступление. Камрад __x_tra тоже придумал способ защитить флешку от
autorun-вирусов: на флешке создается файл или каталог с названием AUTORUN.INF, и с
помощью WinHex этому файлу или каталогу выставляется недопустимый атрибут.
Напомню, что согласно FAT32 File System Specification, более известной как FATGEN (мы
здесь рассматриваем защиту флешек с FAT):
Код: Выделить всё
File attributes:
ATTR_READ_ONLY 0x01
ATTR_HIDDEN 0x02
ATTR_SYSTEM 0x04
ATTR_VOLUME_ID 0x08
ATTR_DIRECTORY 0x10
ATTR_ARCHIVE 0x20
ATTR_LONG_NAME ATTR_READ_ONLY | ATTR_HIDDEN | ATTR_SYSTEM |
ATTR_VOLUME_ID
The upper two bits of the attribute byte are reserved and should always
be set to 0 when a file is created and never modified or looked at
after that.
В варианте же, придуманном __x_tra, предлагалось поставить два верхних бита не в 0, а в
1. Байт атрибутов получался таким: 0xF7
(ATTR_ARCHIVE+ATTR_DIRECTORY+ATTR_SYSTEM+ATTR_HIDDEN+ATTR_READ
_ONLY+два старших бита 11). Еще предлагались возможные варианты в виде 0xC7, 0xD7,
0xE7. AUTORUN.INF с присвоенным таким образом атрибутом, невозможно было
открыть, переименовать и модифицировать.
Вернемся теперь к программе Panda USB and AutoRun Vaccine.
Напомню что «Panda USB Vaccine currently only works on FAT & FAT32 USB drives».
Маленький размер файла (всего 393Kb) и спартанский интерфейс — все продумано,
ничего лишнего. Добавлю, что программа бесплатная.
Начну с кнопки «Vaccinate USB». Я специально создал заранее на флешке файл autorun.inf
с атрибутами RAHS — это никоим образом не помешало программе, при нажатии на
упомянутую кнопку, перезаписать его своим одноименным файлом, который, как я
говорил в начале статьи «невозможно ни удалить, ни переименовать (в чем была слабость
моего скрипта), ни модифицировать, ни открыть». Открываем флешку в WinHex, смотрим
атрибут файла autorun.inf. И что же мы видим:
Мы видим что аналогично способу __x_tra, изменен атрибут файла: 0х40. Нас айте
FAT12, FAT16 and FAT32 Windows File System находим расшифровку, которой нет в
FATGEN:
Код: Выделить всё
0x40 Device (internal use only, never found on disk)
0x80 Unused
Т.е. атрибут 0x40 не так уж «некорректен» — он «в рамках спецификаций». Чесно говоря,
я очень рад, что ребята из Panda Software реализовали этот способ в крохотной программе,
нажатием одной лишь кнопки — не заставляя пользователя прибегать к WinHex.
Замечу что средствами программы отменить вакцинацию флешки невозможно. Если уж
появилась необходимость создать на флешке свой autorun.inf (например, чтобы сделать ее
загрузочной) — то WinHex вам в помощь, или переформатирование (как я уже говорил HP USB Disk Storage Format Tool).
Вторая кнопка программы «Vaccinate computer». Проверим что она делает:
Это знакомый нам метод придуманный Nick Brown, который мы использовался в
autostop.2.1 :
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\IniFileMapping\Autorun.inf]
@="@SYS:DoesNotExist"
Способ хорош (замечу, что в программе присутствует функция отмены этого действия, на
тот случай если авторан пользователю все же понадобится, осуществляемая повторным
нажатием на кнопку, надпись на которой будет «Remove vaccine»), но добавлю что для
полного отключения автозапуска будет необходимо добавить еще 3 ключа реестра (в
приведенном мной синтаксисе они добавлаются через bat-файл):
REG ADD
«HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandle
rs\CancelAutoplay\Files» /v "*.*" /d "" /f
REG ADD
«HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer» /v
NoDriveTypeAutoRun /t REG_DWORD /d 255 /f
REG ADD «HKLM\SYSTEM\CurrentControlSet\Services\Cdrom» /v AutoRun /t
REG_DWORD /d 0 /f
Из дополнительных возможностей программы отмечу следующее: если запустить
программу с ключом:
USBVaccine.exe /resident
(кроме этого ключа есть еще несколько — см.домашнюю страницу программы),то она
будет висеть резидентно, и при подключении новой флешки, будет предлагать
вацинировать ее:
ВЫВОДЫ:
Из рассмотренных сегодня способов защиты флешек с FAT от autorun-вирусов, этот,
самый надежный. Понятно, что раз такие вещи умеет делать программа от Panda Software,
то рано или поздно вирусописатели тоже могут этому научиться — но это вопрос
времени, а в данном случае время выиграно, и выигрыш в пользу защиты.
HP USB Disk Storage Format Tool - v2.1.8 Portable
Download