Исследования в сфере автозапуска и воздействия различных параметров на него


Во первых, после прочтения теории:
http://support.microsoft.com/kb/967715/
http://ru.wikipedia.org/wiki/Autorun.inf

опровергну высказывание:
-----------
Дело в том, что ключики NoDriveAutoRun и NoDriveTypeAutoRun в разделе реестра Код: HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionpoliciesExplorer отвечают вовсе не за автозапуск, как можно решить из названия, а за авто воспроизведение!!!
-----------

На самом деле, этот параметр отключает самый что ни наесть авто запуск.

С этого вопроса я и решил начать «копать». После изучения возможных команд файла Autorun.inf видно, что автозапуск и авто воспроизведение используются в файле Autorun.inf (зачастую вместе) и самой системой при определении необходимого действия автозапуска. Команды файла Autorun.inf open и shell – относятся к автозапуску, а вот label, icon, shellexecute, блок [content] – к авто воспроизведению.
Поэтому перед MS стоял вопрос не просто отключить одну или две технологии, либо файл Autorun.inf . Необходимо было отключить части этих технологий, переплетающихся между собой, без ущерба для функционала и удобства использования. Сам файл Autorun.inf отключить можно без проблем. Но как тогда быть с автозапуском DVD с играми? Как быть с авто воспроизведением контента с носителей в нужное приложение?

Для тестов на всех носителях были созданы файлы autorun.inf, файл иконки, исполняемый файл.
-----------
Hdd – раздел жесткого диска;
Usb - флэш диск;
CD – компакт диск;
Net – для каждого опыта заново подключался сетевой диск;*
-----------

* Сетевые диски:
Настройки контекстного меню кэшируются в неизвестном для меня месте (но не в реестре). Поэтому пункты автозапуска останутся даже после удаления файла Autorun.inf с этого диска до отсоединения (возможно просто кэшируются файлы). Значка из Autorun.inf я так и не дождался.

Далее комментарии по номерам опытов.

1. Как видим отключение службы ShellHWDetection (Определение оборудования оболочки) вовсе не панацея, но что странно, автозапуск флэш дисков перестаёт обрабатыватся полностью. Остальные источники «отделываются» исчезновением иконок (по видимому служба отвечает и за иконки).

2. NoDriveTypeAutorun наиболее известный параметр. На чистом SP2 этот параметр выставленный в 255 (0xff) отключил все виды автозапуска на всех источниках, кроме сетевого диска.

-----------

Следует отметить, что запрет автозапуска при помощи вышеприведённого ключа реестра не устраняет опасности заражения компьютера. Это связано с тем, что значение ключа влияет только на исполнение autorun.inf при определении системой подключенного носителя, но не запрещает исполнение при двойном клике на значке носителя. Таким образом, даже если функция автозапуска отключена, заражение происходит при попытке пользователя открыть подключённый диск для просмотра. Компания Microsoft выпустила исправление, описанное в KB967715, полностью решающее данную проблему.

-----------

MS же утверждает:

-----------

Обновления, о которых говорится в данной статье, устраняют проблему с отключением функций автозапуска. Без этих обновлений отключить функции автозапуска для сетевого диска невозможно. Кроме того, контекстное меню и функция двойного щелчка автозапуска не были бы отключены даже при выполнении указанных ранее инструкций.

-----------

ИМХО, в подчеркнутой фразе речь идет также о сетевых дисках. Если я неправ поправьте !

3. CancelAutoplayFiles *.* - данный параметр скорее всего служит для отключения shellexecute и прочих проявлений авто воспроизведения.

4. Трюк с параметром @SYS:DoesNotExist был описан здесь
Автор метода подробно расписывает структуру ключа. Я уже высказывал соображения по безопасности этого ключа. Хотя я не смог добиться запуска файлов из созданного мной раздела реестра HKLMSoftwareDoesNotExist это не означает, что такое не возможно. Лучше использовать придуманное самостоятельно название- так безопаснее. А работает также. Пример:

-----------

@SYS:ThisRegKey_NotExistToo

-----------

Результат опыта впечатляет – отключено все что можно отключить. Однако это не всегда применимо – ибо опять же, а как быть с автозапуском CDDVD ?

5. Ответ MS – только автозапуск CDDVD и останется ! Выпущенное обновление KB971029 как утверждает производитель и как я убедился в очередном опыте – отключает автозапуск везде кроме привода CDDVD.
Кажись вирусы использующие Autorun.inf приплыли.

6. Установка обновления KB950582 (оно же KB967715 оно же KB953252) само по себе в автозапуске ничего не меняет, кроме добавления пары записей в реестре. Исправляется ситуация с невозможностью отключить автозапуск с сетевых дисков. Для включения / выключения этого режима создается параметр:

-----------

HKLMSOFTWAREMicrosoftWindowsCurrentVersionpoliciesExplorer
HonorAutorunSetting=[1/0]

-----------

Использовать это обновление предполагается в связке с параметром NoDriveAutoRun=255, однако для использования в связке с KB971029 (которая напомню не отключает CD) лучше параметр NoDriveAutoRun выставить равным 223 – для возможности автозапуска только с CD.

На данный момент получается следующая комбинация для борьбы с вирусами Autorun:

1. Установить ключ реестра:

-----------

HKLMSOFTWAREMicrosoftWindowsCurrentVersionpoliciesExplorer

NoDriveTypeAutoRun равным 223

-----------

2. Установить обновление KB950582 (или KB967715 или KB953252).
3. Проверить, что параметры

-----------

NoDriveTypeAutoRun = 223
HonorAutorunSetting = 1

-----------

Оба расположены в

-----------

HKLMSOFTWAREMicrosoftWindowsCurrentVersionpoliciesExplorer

-----------

4. Установить обновление KB971029.

Замечание: В KB971029 версия файла shell32.dll старше, чем в KB950582, поэтому их лучше ставить именно в порядке публикации
Замечание2: KB971029 не заменяет KB950582, а дополняет его...

5. Наслаждаться жизнью без автозапуска с флэшек.

http://forum.oszone.net/post-1252489-138.html

Обновлено: 11.03.2015