Открыть сервис

Руткиты

Руткит — это тип вредоносного программного обеспечения, обеспечивающий скрытое и привилегированное присутствие в компьютерной системе. Основная задача руткита — маскировать своё существование и действия других вредоносных программ (например, кейлоггеров, бэкдоров) от средств обнаружения операционной системы, антивирусного программного обеспечения и пользователя. Термин происходит от английского «root» (в контексте UNIX-систем — учётная запись суперпользователя) и «kit» (набор инструментов), что указывает на изначальную цель: получение прав root и скрытие следов взлома.

История

Концепция руткитов возникла в среде UNIX-систем в начале 1990-х годов. Первые известные руткиты были наборами утилит, заменявших стандартные системные команды (например, ps, ls, netstat, who) на модифицированные версии. Эти версии скрывали определённые процессы, файлы и сетевые соединения, связанные с действиями злоумышленника.

В 1996 году был опубликован первый руткит для Linux, который стал широко известен в сообществе. С развитием Windows-систем руткиты адаптировались к этой платформе. В 2005 году руткит от компании Sony BMG (XCP — Extended Copy Protection) вызвал широкий общественный резонанс. Он устанавливался на аудиодиски для защиты от копирования, но при этом скрывал свои файлы и процессы, что делало его классическим руткитом. Этот инцидент привлёк внимание к проблеме руткитов на уровне массового пользователя.

В 2010-х годах руткиты стали более сложными, перейдя на уровень ядра операционной системы и загрузчика. Появились руткиты для прошивок (firmware rootkits), которые заражали BIOS/UEFI, видеокарты или жёсткие диски, что делало их обнаружение и удаление чрезвычайно сложным.

Классификация

Руткиты классифицируются по уровню, на котором они внедряются в систему, и по способу маскировки.

По уровню внедрения

  • Руткиты уровня пользователя (user-mode rootkits): Работают на уровне приложений, перехватывая системные вызовы или подменяя библиотеки (DLL, shared objects). Они относительно просты в реализации, но легче обнаруживаются антивирусными средствами.
  • Руткиты уровня ядра (kernel-mode rootkits): Внедряются непосредственно в ядро операционной системы. Они имеют максимальные привилегии и могут перехватывать любые системные вызовы, скрывая процессы, файлы, драйверы и сетевые соединения. Обнаружение таких руткитов требует специальных методов, например, загрузки с чистого носителя.
  • Руткиты загрузчика (bootkit): Заражают главную загрузочную запись (MBR) или загрузчик ОС (например, Windows Boot Manager). Они запускаются до загрузки ядра, что позволяет им перехватывать управление на самом раннем этапе. Примеры: TDL-4, Rovnix.
  • Руткиты прошивки (firmware rootkits): Внедряются в прошивку устройств — BIOS, UEFI, RAID-контроллеров, сетевых карт или жёстких дисков. Они сохраняются даже после переустановки операционной системы или замены жёсткого диска. Примеры: LoJax (заражал UEFI), Vault 7 (по данным утечек ЦРУ).

По способу маскировки

  • Руткиты подмены (replacement rootkits): Заменяют системные файлы (например, исполняемые файлы или библиотеки) на вредоносные версии.
  • Руткиты перехвата (hook-based rootkits): Модифицируют таблицы системных вызовов (SSDT, IDT) или точки входа в функции, чтобы перехватывать запросы и возвращать искажённые данные.
  • Руткиты прямого доступа (DKOM — Direct Kernel Object Manipulation): Изменяют структуры данных ядра напрямую, например, удаляя процесс из списка активных процессов. Это позволяет скрывать процессы без перехвата вызовов.

Устройство и принцип работы

Основной принцип работы руткита — нарушение цепочки доверия в операционной системе. Обычно ОС доверяет собственным функциям и данным. Руткит изменяет эти функции или данные так, чтобы они возвращали ложную информацию.

Этапы заражения

  1. Проникновение: Руткит попадает в систему через уязвимости, фишинговые письма, заражённые носители или как часть другого вредоносного ПО.
  2. Повышение привилегий: Руткит получает максимальные права (root или SYSTEM) через эксплуатацию уязвимости или использование учётной записи администратора.
  3. Внедрение: Руткит внедряется в выбранный уровень системы (пользовательский, ядро, загрузчик).
  4. Маскировка: После внедрения руткит начинает скрывать свои файлы, процессы, ключи реестра и сетевые соединения. Он также может скрывать другие вредоносные программы, которые он загрузил.
  5. Поддержание присутствия: Руткит обеспечивает своё сохранение после перезагрузки (например, через автозагрузку, заражение MBR или прошивки).

Механизмы маскировки

  • Скрытие процессов: Процесс руткита удаляется из списка активных процессов, который видит диспетчер задач.
  • Скрытие файлов: Файлы руткита не отображаются в проводнике или при использовании команды dir.
  • Скрытие ключей реестра: Записи в реестре, связанные с руткитом, не видны стандартным редактором реестра.
  • Скрытие сетевых соединений: Соединения, установленные руткитом, не отображаются в утилитах netstat или TCPView.
  • Скрытие драйверов: Драйвер руткита не отображается в списке загруженных драйверов.

Применение

Руткиты используются в различных целях, как злонамеренных, так и легитимных.

Злонамеренное применение

  • Скрытие вредоносной активности: Руткиты являются основным инструментом для скрытия других вредоносных программ, таких как бэкдоры, кейлоггеры, майнеры криптовалют и программы-шпионы.
  • Кража данных: Руткиты могут перехватывать ввод с клавиатуры, пароли, файлы и сетевой трафик, оставаясь незамеченными.
  • Создание ботнетов: Заражённые руткитами компьютеры могут быть объединены в ботнет для проведения DDoS-атак, рассылки спама или других целей.
  • Шпионаж: Спецслужбы и киберпреступные группы используют руткиты для долгосрочного скрытого наблюдения за целями. Примеры: Stuxnet (содержал компоненты руткита), Flame.
  • Цифровое управление правами (DRM): Как в случае с Sony BMG, руткиты могут использоваться для защиты авторских прав, хотя это вызывает серьёзные этические и юридические проблемы.

Легитимное применение

  • Защита от несанкционированного доступа: Некоторые антивирусные программы и системы защиты от копирования используют руткит-подобные технологии для защиты своих собственных файлов от удаления или модификации.
  • Форензика и расследования: Специалисты по компьютерной криминалистике могут использовать руткиты для скрытого сбора данных с компьютера подозреваемого.
  • Системы управления конечными точками (EDR): Некоторые решения для корпоративной безопасности используют руткит-подобные методы для мониторинга системы на низком уровне.

Обнаружение и удаление

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

Методы обнаружения

  • Сигнатурный анализ: Поиск известных сигнатур руткитов в файлах, процессах и реестре. Эффективен только против известных образцов.
  • Поведенческий анализ: Мониторинг аномального поведения системы, например, попыток скрыть процессы или изменить системные вызовы.
  • Сравнение на уровне ядра: Сравнение данных, полученных от ядра (например, списка процессов), с данными, полученными на более низком уровне (например, через прямое чтение памяти). Расхождение указывает на наличие руткита.
  • Загрузка с чистого носителя: Загрузка системы с заведомо чистого LiveCD или USB-накопителя позволяет обойти руткит, работающий в заражённой ОС, и провести сканирование диска.
  • Анализ прошивки: Специализированные утилиты для проверки целостности BIOS/UEFI и других прошивок.

Удаление

Удаление руткитов часто затруднено. Надёжный метод — полная переустановка операционной системы с форматированием диска. В случае руткитов прошивки может потребоваться перепрошивка BIOS/UEFI или замена аппаратного обеспечения. Специализированные антивирусные утилиты (например, Kaspersky TDSSKiller, GMER, Malwarebytes Anti-Rootkit) могут удалять некоторые типы руткитов, но не гарантируют 100% успеха.

Интересные факты

  • Первый известный руткит для Windows, NTRootkit, был создан в 1999 году.
  • Руткит TDL-4 (также известный как TDSS) был одним из самых сложных и распространённых, заражая MBR и используя шифрование для своего кода.
  • В 2017 году компания Kaspersky Lab обнаружила руткит LoJax, который заражал UEFI материнских плат, что делало его практически неуязвимым для традиционных методов удаления.
  • Руткиты часто используются в целях государственного кибершпионажа. Например, группировка Equation Group (связываемая с АНБ США) использовала руткиты для прошивки жёстких дисков.

Критика и этические аспекты

Использование руткит-технологий в легитимных целях (например, DRM) вызывает критику, так как они нарушают контроль пользователя над его собственной системой и могут быть использованы злоумышленниками. Инцидент с Sony BMG привёл к судебным искам и законодательным изменениям в ряде стран. В России распространение и использование руткитов для несанкционированного доступа к компьютерной информации преследуется по закону (ст. 272 УК РФ «Неправомерный доступ к компьютерной информации»).

Источники

  • Хоглунд, Г., Батлер, Дж. «Руткиты: внедрение в ядро Windows» (Rootkits: Subverting the Windows Kernel).
  • Блау, М. «Руткиты: что это такое и как с ними бороться» (Rootkits: What They Are and How to Deal With Them).
  • Материалы конференций по компьютерной безопасности (Black Hat, DEF CON).
  • Документация антивирусных компаний (Kaspersky Lab, Symantec, McAfee).
  • Статья «Rootkit» в англоязычной Википедии.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →