Перейти к основному разделу
ТЕХНОЛОГИЯ

Технология борьбы с руткитами

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

Руткит – это вредоносная программа, которая использует различные методы скрытия вредоносного кода и его действий, а также противодействует обнаружению и лечению антивирусом. Технология борьбы с руткитами (Антируткит) в составе многоуровневой системы защиты нового поколения «Лаборатории Касперского» выявляет активное заражение программами-руткитами и устраняет последствия такого заражения.

Большинство руткитов включают в себя драйвер (или цепочку драйверов), работают в режиме ядра и выполняют одну или несколько следующих функций:

  • скрытие файлов на устройствах хранения информации (жестких дисках), разделов и значений реестра Windows, процессов в системе, загруженных модулей, участков памяти (в случае бесфайлового вредоносного ПО), сетевой активности, секторов диска и других объектов и артефактов;
  • противодействие изменению и (или) удалению руткита антивирусом в случае обнаружения, в том числе путем восстановления измененных компонентов;
  • обеспечение вредоносному коду или приложениям доступа к ядру ОС - для остановки процессов антивируса, внедрения вредоносного кода в легитимные процессы, перехвата сетевого трафика (прослушивание сети), перехвата ввода данных с клавиатуры (клавиатурный шпион) и т. д.

Создатели вредоносного программного обеспечения стремятся к тому, чтобы их вредоносный код продолжал функционировать на зараженной машине продолжительное время, даже в случае выполнения программы-антивируса. Для этого они разрабатывают различные техники, препятствующие обнаружению и ликвидации активного заражения. Они могут использовать как документированные, так и недокументированные методы операционной системы. Руткиты используют различные способы перехвата в пользовательском режиме и в режиме ядра, манипуляции объектами (DKOM), техники обхода драйверов фильтров и функций обратного вызова и т. д. Чтобы руткит было труднее удалить из зараженной системы, он должен запускаться на ранних стадиях загрузки операционной системы, поэтому руткиты заражают загрузочные сектора, в том числе главную загрузочную запись (MBR) и загрузочную запись тома (VBR). Руткит, включающий такие функции, называют буткитом.

«Лаборатория Касперского» применяет следующие технологии борьбы с руткитами:

  • Поиск активного заражения в системной памяти операционной системы;
  • Сканирование всех возможных мест автозапуска;
  • Устранение обнаруженного активного заражения, восстановление на ранней стадии загрузки операционной системы
  • Нейтрализация активного заражения во время установки продукта на зараженную систему.

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

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

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

Продукты «Лаборатории Касперского» используют оба подхода.

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

  • Модуль, предназначенный для противодействия активному заражению при установке (Installer Protector).
  • Модуль, предоставляющий низкоуровневый доступ к диску и реестру Windows в обход различных перехватов. Также реализует различные техники для «сдерживания» активного заражения в момент лечения (Low-level Disk Access, Low-level Registry Access, Containment).
  • Модуль, реализующий лечение на раннем этапе загрузки ОС (Boot Stage Cleaner).
  • Модуль, предназначенный для поиска и обезвреживания руткитов в системной памяти (System Memory Scanner).

Модуль, реализующий парсеры форматов файловой системы и парсеры форматов системного реестра Windows (Filesystem Parser, Registry Parser).

  • Модуль сканирования и лечения объектов автозагрузки. Один из важнейших компонентов, использующий большинство вышеперечисленных (Critical Areas Scanner).