Руткит

Материал из Энциклопедия фан-клуба Лаборатории Касперского
Перейти к: навигация, поиск

Руткит (англ. rootkit, т.е. «набор root'а») — программа или набор программ для скрытия следов присутствия злоумышленника или вредоносной программы в системе.

Термин Rootkit исторически пришёл из мира UNIX, и под этим термином понимается набор утилит или специальный модуль ядра, которые взломщик устанавливает на взломанной им компьютерной системе сразу после получения прав суперпользователя. Этот набор, как правило, включает в себя разнообразные утилиты для «заметания следов» вторжения в систему, делает незаметными снифферы, сканеры, кейлоггеры, троянские программы, замещающие основные утилиты UNIX (в случае неядерного руткита). Rootkit позволяет взломщику закрепиться во взломанной системе и скрыть следы своей деятельности путём сокрытия файлов, процессов, а также самого присутствия руткита в системе.

Содержание

Классификация руткитов

  • По уровню привилегий
    • Уровня пользователя (user-mode)
    • Уровня ядра (kernel-mode)
  • По принципу действия
    • изменяющие алгоритмы выполнения системных функций (Modify execution path)
    • изменяющие системные структуры данных (Direct kernel object manipulation)

Основные методы реализации

В Microsoft Windows

В Windows из-за Windows File Protection переписывание системных файлов затруднено, поэтому основные способы внедрения в систему — модификация памяти:

  • перехват системных функций Windows API (API hooking) на уровне пользователя;
  • то же на уровне ядра (перехват Native API);
  • изменение системных структур данных;
  • модификация MBR и загрузка до ядра операционной системы — буткиты (например, BackDoor.MaosBoot).

Данный вид вредоносных кодов в среде Windows известен с начала 1990-х годов под названием стелс-вирусов.

В UNIX

  • реализуемые подменой основных системных утилит (очень легко обнаруживаются средствами контроля целостности, кроме того, легко блокируются средствами типа SELinux (RedHat) и AppArmor (SUSE));
  • реализованные в виде модуля ядра и основанные на патчинге VFS или перехвате таблицы системных вызовов (sys_call_table);
  • основанные на модификации физической памяти ядра.

Дополнительные возможности

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

Легальные руткиты

Руткиты могут «подкидывать» не только злоумышленники. Небезызвестен случай, когда корпорация Sony встраивала подобие руткита в свои лицензионные аудиодиски. Руткитами по сути является большинство программных средств защиты от копирования (и средств обхода этих защит — например, эмуляторы CD и DVD приводов). От «нелегальных» они отличаются только тем, что ставятся с ведома пользователя.

Антируткиты

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

Поиск расхождений

Против MEP-руткитов. Одна и та же информация получается несколькими способами с использованием API и «напрямую» и ищутся расхождения. В частности, обычно сканируются таблицы импорта, таблица Native API, файловая система.

Ссылки

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты