25 июля 2021 года 
 
Новости
производителей
Статьи
и обзоры
Вирусная
активность
Тесты
лабораторий
мнения
и комментарии
 
MSInfo.Ru - информационная безопасность как цель
Информационно-новостной дайджест из мира программного обеспечения, безопасности
 
Календарь событий
Июль   2021
Пн 5 12 19 26
Вт 6 13 20 27
Ср 7 14 21 28
Чт 1 8 15 22 29
Пт 2 9 16 23 30
Сб 3 10 17 24 31
Вс 4 11 18
25

Kaspersky Internet Security 6.0 и Kaspersky Anti-Virus 6.0: Технологии борьбы с руткитами

3 июня 2007 года

Источник: Николай Гребенников, "Лаборатория Касперского"

Термин «руткит» (англ. rootkit) исторически обозначает набор утилит для ОС Unix, позволяющих повысить привилегии злоумышленника на атакуемом компьютере. С течением времени привязка к ОС Unix ослабла, и термином «руткит» начали называть технологии сокрытия деятельности определенного программного обеспечения в системе.

Программное обеспечение типа «руткит» для ОС Microsoft Windows используется с целью сокрытия вредоносного программного обеспечения от антивирусов. Руткиты, как правило, сами не обладают вредоносной функциональностью, но используются другими типами вредоносных программ для сокрытия их деятельности в системе.

Функциональность руткитов уже широко используется программами типа spyware и в меньшей степени вирусами. Технология, представленная руткитами, весьма эффективна для сокрытия данных.

В этой статье исследуется вопрос защиты от руткитов с помощью Kaspersky Internet Security 6.0, на примере самого эффективного руткита — Hacker Defender.

Kaspersky® Internet Security успешно нейтрализует огромное число существующих руткитов, самые эффективные из которых представлены в следующем списке:

  • Hacker Defender
  • AFX Rootkit 2005
  • FU
  • Vanquish
  • NTRootKit

Компания F-Secure, производитель антивирусного программного обеспечения, так характеризует руткит Hacker Defender:

Hacker Defender является одним из самых часто используемых руткитов в мире. Руткит работает в третьем кольце и реализует свои функции, изменяя определенные функции ОС. В дополнение к этому, руткит реализует функцию, известную как backdoor, позволяя управлять собой по TCP-соединению, используя при этом уже открытые сокеты на машине жертвы, таким образом защищаясь от обнаружения с помощью известных методик, таких как сканирование портов машины жертвы.

Установка
Версия Hacker Defender, находящаяся в свободном доступе, состоит из двух файлов: исполняемый файл (.exe) и файл конфигурации (.ini). Конфигурационный файл используется для определения того, какие объекты руткит будет скрывать, и содержит имена определенных компонентов самого руткита после инсталляции в системе.

Инсталляция Hacker Defender требует наличия прав администратора. Руткит регистрирует себя в качестве NT-сервиса. В процессе инсталляции руткит устанавливает драйвер (.sys) в свою корневую директорию. В результате инсталляции в системном реестре появляются два ключа:

  • HKLM\SYSTEM\CurrentControlSet\Services\[service_name]
  • HKLM\SYSTEM\CurrentControlSet\Services\[driver_name]

Дополнительно Hacker Defender обеспечивает собственную автоматическую загрузку в безопасном режиме, для чего создает еще два ключа в системном реестре:

  • HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\[service_name]
  • HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\[driver_name]

Необходимо отметить, что шаблоны [service_name] и [driver_name] могут быть определены в конфигурационном файле руткита (.ini).

Также необходимо отметить тот факт, что стандартные редакторы системного реестра не смогут отобразить ключи, созданные руткитом, когда руткит активен.

Технология сокрытия
Hacker Defender обеспечивает злоумышленнику сокрытие заданных процессов и файлов от приложений защиты, запущенных в системе. Определение того, что может быть скрыто, находится в конфигурационном файле руткита. Существует возможность скрыть следующие типы объектов:

  • файлы
  • процессы
  • ключи и значения реестра
  • NT-сервисы и драйверы
  • участки памяти
  • дескрипторы объектов
  • входящие и исходящие TCP-соединения

Hacker Defender прячет объекты ОС, модифицируя пути исполнения более пятидесяти функций ОС в следующих библиотеках:

  • Ntdll.dll:
  • kernel32.dll:
  • AdvApi32.dll:
  • Ws2_32.dll:

Более того, Hacker Defender устанавливает и загружает драйвер, через который руткит может использовать из третьего кольца некоторые функции.

Технология внедрения
Во время работы руткит внедряется в каждый процесс. Для успешного заражения системы руткит должен иметь привилегии администратора. Руткит выделяет память в заражаемом процессе, записывает в нее необходимые функции, обеспечивающие сокрытие объектов ОС, устанавливает перехватчики функций ОС для перенаправления потока исполнения на соответствующие функции, находящиеся в выделенной памяти процесса.

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

Результаты работы руткита на незащищенной системе
На следующем рисунке показана директория C:\0, содержащая файлы руткита. Директория выглядит пустой, однако известно, что это не так.

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

Скрытые ключи системного реестра
На следующем рисунке показан редактор реестра, не отображающий ключи HackerDefender100 и HackerDefenderDrv100, созданные руткитом.

Нейтрализация Hacker Defender
В процессе установки руткита в системе Kaspersky® Internet Security 6.0 перехватывает любую запускаемую руткитом попытку внедрения в процессы.

Перехват регистрации NT-сервиса и драйвера
Как было сказано в разделе 2.1, руткит регистрирует себя в качестве NT-сервиса и регистрирует свой драйвер в системе.

Модуль «Проактивная защита», входящий в состав Kaspersky® Internet Security 6.0, перехватывает попытки регистрации и активирует соответствующие окна:

Для получения более подробной информации о процессе воспользуйтесь ссылкой «Details...», активирующей специальное окно:

При попытке зарегистрировать драйвер модуль «Проактивная защита» активирует информационное окно:

Для получения более подробной информации о процессе воспользуйтесь ссылкой «Details...», активирующей специальное окно:

Перехват попытки внедрения в процесс
Как было описано выше, руткит производит попытку внедрения собственного кода в каждый процесс.

При попытке произвести внедрение в процесс модуль «Проактивная защита» активирует специальное окно:

Для получения более подробной информации о процессе воспользуйтесь ссылкой «Details...», активирующей специальное окно:

Самозащита Kaspersky Internet Security 6.0
При попытке руткита внедрить свой код в Kaspersky Internet Security 6.0 продукт выполняет процедуру самозащиты, как показано на следующем рисунке:

Предупреждение сокрытия файлов
В том случае если пользователь с помощью Kaspersky® Internet Security 6.0 запретил руткиту внедряться в процессы, файлы руткита остаются видимы для любого процесса в системе. В противном случае — файлы будут видимы лишь для Kaspersky® Internet Security 6.0.

Технология самозащиты позволяет Kaspersky® Internet Security 6.0 видеть скрытые файлы в любой ситуации, предохраняя таким образом процессы самого Kaspersky® Internet Security 6.0 от внедрения руткитов.

К примеру, если бы пользователь инициировал антивирусное сканирование, Kaspersky® Internet Security 6.0 активировал бы диалог выбора объекта для сканирования, как показано на следующем рисунке:

Как видно из рисунка, Kaspersky® Internet Security 6.0 «видит» все файлы, которые руткит попытался спрятать.

Предупреждение сокрытия процессов руткитом В том случае если пользователь с помощью Kaspersky® Internet Security 6.0 запретил руткиту внедряться в процессы (см. раздел 3.1.2), процесс руткита останется видимым для других процессов системы. В противном случае процесс руткита будет виден лишь для Kaspersky® Internet Security 6.0 благодаря технологии самозащиты.

Кроме защиты самого себя, Kaspersky® Internet Security 6.0 защищает и Windows Task Manager от заражения его процесса. Это обусловливает способность Windows Task Manager видеть все процессы, как показано на следующем рисунке.

Обратите внимание на тот факт, что с процессом руткита не сопоставлен пользователь.

Предупреждение сокрытия ключей системного реестра
В том случае если пользователь с помощью Kaspersky® Internet Security 6.0 запретил руткиту внедряться в процессы (см. раздел 3.1.2), ключи реестра, созданные руткитом, останутся видимы для любого процесса. В противном случае они будут видимы лишь для Kaspersky® Internet Security 6.0.

Механизм самозащиты Kaspersky® Internet Security 6.0 позволяет продукту видеть любые ключи реестра.

Нахождение скрытых процессов
Модуль «Проактивная защита» находит все без исключения скрытые процессы, что позволяет Kaspersky® Internet Security 6.0 находить вредоносный код без использования сигнатурных баз.

При обнаружении скрытого процесса модуль «Проактивная защита» активирует специальное окно, как показано на следующем рисунке:

Сканирование и процедура дезинфекции
Если в процессе сканирования автозапускаемых объектов Kaspersky® Internet Security 6.0 обнаруживает файлы руткита, инициируется процедура дезинфекции.

Для получения более подробной информации о процедуре дезинфекции обратитесь к Приложению A.

Если пользователь соглашается на запуск процедуры дезинфекции, Kaspersky® Internet Security 6.0 начинает сканирование, направленное на нахождение файлов и процессов руткита, как показано на следующих рисунках:







По окончании сканирования Kaspersky® Internet Security 6.0 инициирует перезагрузку системы, непосредственно после которой исполняемый файл руткита будет удален.

На следующем рисунке показана директория, прежде содержавшая файлы руткита. Теперь директория содержит лишь конфигурационный файл (.ini):

Приложение A: Методика лечения активного заражения (Advanced Disinfection)
Сегодня вредоносное программное обеспечение стало гораздо более изощренным, нежели раньше: в отличие от своих прошлых образцов сейчас оно представляет собой многофункциональные комплексы, способные внедряться на самые низкие уровни операционной системы, таким образом делая процесс дезинфекции практически невозможным известными стандартными средствами.

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

Методика продвинутой дезинфекции запускает процесс чистки каждый раз, когда обнаруживается вредоносный процесс в оперативной памяти или среди объектов автозапуска. На следующем рисунке показано специальное окно, активируемое при обнаружении активного заражения:

При появлении такого окна пользователю настоятельно рекомендуется согласиться с запуском процесса продвинутой дезинфекции и нажать кнопку «OK».

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

В процессе работы процесса продвинутой дезинфекции создание новых процессов или автозапускаемых объектов не разрешается:



По завершении процесса сканирования автоматически происходит перезагрузка компьютера.

Непосредственно после перезагрузки компьютера процесс продвинутой дезинфекции завершает удаление файлов вредоносной программы:

По окончании процесса продвинутой дезинфекции специалисты «Лаборатории Касперского» настоятельно рекомендуют провести полную проверку компьютера для удаления оставшихся неактивных файлов от вредоносной программы.



Распечатать
© 2007. Все права защищены.
Компания «1С-Мссофт.ру»,
Интернет-магазин Mssoft.Ru
Письмо администратору проекта


Rambler's Top100
новости производителей | статьи и обзоры | вирусная активность | тесты лабораторий

В магазине мссофт.ру вы можете купить лицензионный софт ведущих производителей: Microsoft, Adobe, microsoft office 2010.