Технология борьбы с руткитами
Руткит – это вредоносная программа, которая использует различные методы скрытия вредоносного кода и его действий, а также противодействует обнаружению и лечению антивирусом. Технология борьбы с руткитами (Антируткит) в составе многоуровневой системы защиты нового поколения «Лаборатории Касперского» выявляет активное заражение программами-руткитами и устраняет последствия такого заражения.
Большинство руткитов включают в себя драйвер (или цепочку драйверов), работают в режиме ядра и выполняют одну или несколько следующих функций:
- скрытие файлов на устройствах хранения информации (жестких дисках), разделов и значений реестра 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).