Pull to refresh

AUTOSTOP — скрипт для защиты флешки от autorun-вирусов

Reading time 2 min
Views 28K
Предлагаю свой вариант борьбы с autorun-вирусами на флешках, т.к. существующие на сегодняшний день решения не устраивают меня по нескольким причинам.

Основные существующие способы можно разделить на 3 категории:
  • Установка на компьютере резидентного монитора, который при подключении флешки проверяет наличие файла autorun.inf, и при наличии такового принимает меры. Минус — привязка к конкретной машине
  • Защита флешки методом прав NTFS — отличный железобетонный способ, но его преимущества являются одновременно и его недостатками — NTFS не всегда применима (скажем в случае Win9x, или конкретной модели автомагнитолы или DVD-плеера, читающих только FAT).
  • Метод создания на флешке одноименного каталога AUTORUN.INF. Из минусов можно отметить то, что новые вирусы научились удалять этот каталог, или переименовывать в случае невозможности удаления

Именно третий метод был взят мной за основу, и доработан. Внешне все выглядит вот так:

Индикация

Принцип работы скрипта заключается в следующем:

На флешке создаются 2 каталога: AUTORUN.INF и AUTOSTOP. Каждый из них защищается от удаления созданием подкаталогов с «некорректными» именами:

mkdir "\\?\%~d0\AUTORUN.INF\LPT3"
mkdir "\\?\%~d0\AUTORUN.INF\LPT3\.."


С попыткой же переименовывания каталога AUTORUN.INF вирусом я борюсь следующим образом: в упомянутом каталоге создается файл desktop.ini следующего содержания:

[.ShellClassInfo]
IconFile="..\AUTOSTOP\disable.ico"
IconIndex=0
InfoTip="Антивирусный скрипт AUTOSTOP"


Пиктограмма disable.ico кладется в каталог AUTOSTOP (в самом же каталоге AUTOSTOP создается desktop.ini аналогичного содержания, со ссылкой на пиктограмму enable.ini, лежащую в каталоге AUTORUN.INF).

Таким образом у двух упомянутых каталогов получается «круговая порука»: при переименовывании папки AUTORUN.INF, пиктограмма-индикатор на папке AUTOSTOP исчезает (см. рисунок), что свидетельствует о заражении флешки autorun-вирусом (т.е. о наличии на флешке файла autorun.inf) и о том, что компьютер, к которому флешка подключена в данный момент, заражен.

Для объективности, из неудобств отмечу необходимость нажатия F5 в проводнике после подключения флешки, и перед ее извлечением (для обновления содержимого флешки, и, следовательно, состояния индикаторов).

Страница скрипта в моем ЖЖ — mechanicuss.livejournal.com/195192.html, ссылка на скачивание там же (прямого линка не даю, т.к. регулярно дорабатываю и обновляю скрипт, добавляя в имя файла номер версии).

Тем, кто спросит, зачем городить такие огороды — ведь можно воспользоваться иными, более простыми и надежными методами, я скажу слежующее:
  • Я хочу показать что «можно таки бить фашиста» альтернативными способами (любая альтернатива это плюс).
  • Я люблю логические задачи, а работа над скриптом — это отличная гимнастика для ума.
  • Способ, придуманный мной (перекрестные ссылки на иконки) можно взять за основу во многих других прикладных разработках.


— — — — — — — — — — — — — — — — — — — — — — — — — —

UPD:


Благодаря идее FloppyFormator, заключающейся в использовании одного каталога и абсолютного пути к иконке (IconFile="..\AUTORUN.INF\minus.ico), усовершенствована индикация, и написана версия 2.1 скрипта. Теперь все выглядит вот так — намного проще и удобнее:



Также хочу искренне поблагодарить dreamhelg за инвайт, и посвятить версию 2.1 ей (дата выхода — 8 марта :)

Друзья, спасибо вам за внимание к скрипту и идеи по его доработке — благодаря этому эффект от применения скрипта возрастает.
Tags:
Hubs:
+84
Comments 102
Comments Comments 102

Articles