Сегодня сложно найти организацию, которая не подвергалась бы вирусным атакам. И хотя практически везде уже установлено антивирусное программное обеспечение, иногда возникает необходимость вручную посмотреть, где же в реестре запускают программы, причем даже не обязательно вредоносные. При поиске резидентных вредоносных программ нас интересуют следующие вопросы.
-
Как осуществляется автозагрузка?
-
Где найти список программ, загружаемых автоматически?
-
Как отключить соответствующий список автозагрузки?
Именно этому будет посвящена данная статья.
Способы автозагрузки
Способов автозагрузки существует много. Ниже приведены некоторые из вариантов. Надеюсь, что это сможет вам помочь в розыске и удалении вредоносных программ из автозагрузки.
Реестр
В реестре 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
Автозапуск для всех пользователей
Использование групповой политики для автозапуска (для всех пользователей)
Запуск «Блокнота» с помощью локальной групповой политики