Сегодня сложно найти организацию, которая не подвергалась бы вирусным атакам. И хотя практически везде уже установлено антивирусное программное обеспечение, иногда возникает необходимость вручную посмотреть, где же в реестре запускают программы, причем даже не обязательно вредоносные. При поиске резидентных вредоносных программ нас интересуют следующие вопросы.

  • Как осуществляется автозагрузка?
  • Где найти список программ, загружаемых автоматически?
  • Как отключить соответствующий список автозагрузки?

Именно этому будет посвящена данная статья.

Способы автозагрузки

Способов автозагрузки существует много. Ниже приведены некоторые из вариантов. Надеюсь, что это сможет вам помочь в розыске и удалении вредоносных программ из автозагрузки.

Реестр

В реестре Windows 7 автозагрузка представлена в нескольких разделах:

  • [HKEY_LOCALMACHINESOFT-WAREMicrosoftWindowsCurrentVersionRun] — программы, запускаемые при регистрации в системе. Программы, которые запускаются в этом разделе, запускаются для всех пользователей в системе (см. экран 1).
  • [HKEY_LOCAL_MACHINESOFT-WAREMicrosoftWindowsCurrentVersionRunOnce] — программы, запускаемые только один раз при регистрации пользователя в системе. После этого параметры программ автоматически удаляются из данного раздела реестра. Программы, которые запускаются в этом разделе, запускаются для всех пользователей в системе.
  • [HKEY_CURRENT_USERSoft-wareMicrosoftWindowsCurrentVersionRun] — программы, которые запускаются при регистрации текущего пользователя в системе.
  • [HKEY_CURRENT_USERSoft-wareMicrosoftWindowsCurrentVersionRunOnce] — программы, которые запускаются только один раз при регистрации текущего пользователя в системе. После этого параметры программ автоматически удаляются из данного раздела реестра. Например, чтобы автоматически запускать приложение «Блокнот» при регистрации текущего пользователя, открываем редактор реестра (regedit.exe), переходим в раздел [HKEY_CUR-RENT_USERSoftwareMicrosoftWindowsCurrentVersionRun] и добавляем следующий параметр "NOTEPAD.EXE"="C:WINDOWSSystem32 otepad.exe".

Использование групповой политики для автозапуска

Откройте оснастку «Групповая политика» (gpedit.msc), перейдите в раздел «Конфигурация компьютера, Административные шаблоны, Система». В правой части оснастки перейдите в узел «Вход в систему» (см. экран 2).

По умолчанию эта политика не задана, но можно добавить туда программу: включаем политику, нажимаем кнопку «Показать — Добавить», указываем путь к программе, при этом если запускаемая программа находится в папке WINDOWSSystem32, то можно указать только название программы, иначе придется вводить полный путь к ней. Фактически в данном разделе локальной групповой политики можно указать дополнительную программу или документ, который будет выполняться при регистрации пользователя в системе.

Данный пункт политики доступен в разделах конфигурации компьютера и конфигурации пользователя. Если заданы оба пункта политики, то вначале будет запущена программа, указанная в разделе конфигурации компьютера, а затем уже пользователя. При этом в системном реестре в разделе [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionpolicies] создается подразделExplorerRun с параметрами добавленных программ.

Пример:

[HKEY_LOCAL_MACHINESOFTWARE MicrosoftWindowsCurrentVersion policiesExplorerRun] "1"="notepad.exe"

В итоге при регистрации в системе происходит запуск приложения «Блокнот» (см. экран 3).

Аналогично задается автозапуск для текущих пользователей, в оснастке «Групповая политика» это путь «Конфигурация пользователя — Административные шаблоны — Система» (см. экран 2), а в реестре раздел [HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun].

При этом программы из данного списка не отображаются в списке программ, доступных для отключения в msconfig.exe, а также определяются не всеми менеджерами автозагрузки.

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

Настраивается с помощью групповой политики в разделе «Конфигурация компьютера, Административные шаблоны, Система, Вход в систему» через параметр «Не обрабатывать список однократного запуска программ». Если эту политику включить, то не будут запускаться программы из списка [HKEY_LOCAL_MACHINE
SoftwareMicrosoftWindowsCurrent
VersionRunOnce]. Если эта политика включена, в реестре создается следующий параметр:

[HKEY_LOCAL_MACHINESOFTWARE MicrosoftWindowsCurrentVersion policiesExplorer] "DisableLocalMachineRunOnce"= dword:00000001

Так же настраивается политика для текущих пользователей: «Конфигурация пользователя, Административные шаблоны, Система, Вход в систему», параметр «Не обрабатывать список однократного запуска программ». Параметры реестра:

[HKEY_CURRENT_USERSOFTWARE MicrosoftWindowsCurrentVersion policiesExplorer] "DisableLocalUserRunOnce"= dword:00000001

Назначенные задания

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

Чтобы добавить новое задание, нужно в панели «Действия» выбрать пункт «Создать простую задачу» (см. экран 5).

Запуск программ с помощью этого мастера возможен однократно, при регистрации в Windows, при включении компьютера, а также по расписанию.

Папка «Автозагрузка»

Папка, в которой хранятся ярлыки для программ, запускаемых после регистрации пользователя в системе. Ярлыки в эту папку могут добавляться программами при их установке или пользователем. Существует две папки — общая для всех пользователей и индивидуальная для текущего пользователя. По умолчанию эти папки находятся здесь:

  • UsersAll UsersMicrosoftWindowsStart MenuProgramsStartup — это папка, программы из которой будут запускаться для всех пользователей компьютера;
  • %USERPROFILE%AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup — это папка, программы из которой будут запускаться для текущего пользователя.

Посмотреть, какие программы у вас запускаются таким способом, можно, открыв меню «Пуск», далее выбрав «Все программы», «Автозагрузка». Если вы создадите в этой папке ярлык для какой-то программы, она будет запускаться автоматически после регистрации пользователя в системе.

Смена папки автозагрузки

Windows считывает данные о пути к папке «Автозагрузка» из реестра. Этот путь прописан в следующих разделах:

  • [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerUser Shell Folders] "Common Startup"="%ProgramData%Microsoft WindowsStart MenuProgramsStartup" — для всех пользователей системы.
  • [HKEY_CURRENT_USERSoft-wareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders]"Startup"="%USERPROFILE%AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup" — для текущего пользователя. Сменив путь к папке, мы получим автозагрузку всех программ из указанной папки.

Пример: [HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerUser ShellFolders] "Startup"="c:mystartup" — система загрузит все программы, ярлыки которых находятся в папке c:mystartup, при этом папка «Автозагрузка» все так же будет отображаться в меню «Пуск», а если у пользователя в ней ничего не было, то он и не заметит подмены.

Скрытые уязвимости

Подмена ярлыка для программы из списка автозагрузки выполняется просто. Допустим, у вас установлено приложение Adobe Acrobat. Тогда в папке «Автозагрузка» у вас будет находиться ярлык «Adobe Reader Speed Launch», он устанавливается туда по умолчанию. Но вовсе не обязательно этот ярлык ссылается именно на соответствующее приложение — вместо него может быть запущена любая другая программа, тем более что на функциональности Acrobat это не скажется.

Добавление программы к программе, запускаемой из списка автозагрузки, есть модификация предыдущего варианта — одновременно с загрузкой какой-либо программы из списка автозагрузки у вас будет стартовать другая программа. Дело в том, что можно «склеить» два исполняемых файла в один, и они будут запускаться одновременно. Существуют специальные программы для такой «склейки». Или ярлык может ссылаться на командный файл, из которого и будут запускаться как оригинальная программа из списка, так и добавленные посторонние программы.

Посмотреть список автоматически загружаемых программ можно, открыв окно «Сведения о системе». Для этого откройте меню «Пуск», «Все программы», «Стандартные», «Служебные», «Сведения о системе» или наберите msinfo32.exe в командной строке и перейдите в раздел «Программная среда — Автоматически загружаемые программы». Приложение «Свойства системы» отображает группы автозагрузки из реестра и папок «Автозагрузка» (см. экран 6).

Другая программа, позволяющая посмотреть список программ автозагрузки, — «Настройка системы» (для запуска наберите msconfig.exe из командной строки). Эта программа, кроме просмотра списка автозагрузки, предоставляет возможность отключить все пункты автозагрузки (вкладка «Общие») или выборочных программ (вкладка «Автозагрузка»).

Сведения, приведенные в данной статье, нельзя считать исчерпывающими, однако, надеюсь, они помогут вам в нелегкой борьбе с вредоносными программами.

Владимир Безмалый (vladb@windowslive.com) — специалист по обеспечению безопасности, MVP Consumer Security


Дополнительные материалы по Windows 7

Новое и хорошо измененное старое в Windows 7
http://www.techdays.ru/videos/1384.html

Новые возможности Windows 7. Загрузка системы с диска VHD
http://www.techdays.ru/videos/1237.html

XP, Vista, Windows 7 — вчера, сегодня, завтра. Сетевые возможности
http://www.techdays.ru/videos/1225.html

XP, Vista, Windows 7 — вчера, сегодня, завтра. Технологии безопасности
http://www.techdays.ru/videos/1229.html

От Windows Vista к Windows 7: развитие технологий обеспечения безопасности
http://www.techdays.ru/videos/1347.html


Автозапуск для всех пользователей

Использование групповой политики для автозапуска (для всех пользователей)

Запуск «Блокнота» с помощью локальной групповой политики

Окно «Планировщика заданий»

Создание простой задачи в «Планировщике задач»

Автоматически загружаемые программы