Подразделение AhnLab SEcurity intelligence Center (ASEC) опубликовало отчет о вредоносной программе Syslogk, действующей в операционной системе Linux. Вредоносный код относится к классу руткитов и изменяет работу ядра. Его задача - спрятать компоненты атаки и сделать их невидимыми для администратора. Методы сокрытия вредоносной активности в Linux применяются уже много лет, и Syslogk демонстрирует их очередную реализацию. Отчет содержит технический разбор ключевых функций руткита, а также рекомендации по обнаружению и нейтрализации угрозы.
Описание
Руткиты считаются одним из самых опасных типов вредоносного ПО, поскольку работают на привилегированном уровне ядра. Syslogk является загружаемым модулем ядра, то есть расширением, которое подгружается в систему динамически. Для установки такого модуля требуются права суперпользователя. Поэтому руткит попадает на сервер после того, как злоумышленник уже получил доступ. Он применяется для закрепления в системе и маскировки последующих действий. Без подобной маскировки активность атакующего была бы быстро замечена системами мониторинга. Администраторы и службы безопасности не получают уведомлений о вторжении, поскольку вредоносный код скрывает все улики.
Согласно AhnLab SEcurity intelligence Center (ASEC), Syslogk использует два основных метода вмешательства в работу ядра. Первый метод заключается в прямой модификации исполняемого кода системных функций. Руткит находит адрес нужной функции через служебную таблицу символов. Затем он заменяет первые команды функции на переход к собственному коду. Второй метод основан на изменении таблицы виртуальной файловой системы. Эта таблица связывает разные файловые системы с единым интерфейсом доступа. Подменяя адрес функции чтения каталога, руткит получает контроль над списками файлов. Оба метода обеспечивают перехват управления до того, как данные будут переданы пользователю.
Для изменения кода ядра руткит должен обойти аппаратную защиту памяти. Он временно снимает запрет на запись в страницы, где располагается целевая функция. После внесения изменений защита возвращается в исходное состояние. Это позволяет избежать подозрений у инструментов, проверяющих настройки процессора. Подобный подход сложен в реализации, но он дает почти полный контроль над вызовами системных функций. Именно так работают многие руткиты, ориентированные на Linux.
Перехват функций позволяет скрывать отдельные процессы. Когда пользователь запускает команду вывода списка процессов, ядро собирает данные обо всех активных программах. Руткит вмешивается в этот процесс и исключает из выдачи записи с заданными именами. Помимо самих процессов, скрываются их дочерние элементы. Аналогичным образом руткит маскирует сетевые соединения. Если соединение использует определенный порт, информация о нем не отображается. Скрытие портов особенно важно для канала управления, который поддерживает связь с внешним сервером. Администратор не видит аномальных подключений, даже если вредоносное ПО активно обменивается данными с командным центром.
Второй метод перехвата используется для сокрытия файлов и папок. Руткит подменяет функцию чтения каталога и просматривает имена объектов. Если имя содержит заранее заданную строку, объект не попадает в листинг. При этом прямой доступ к файлу остается возможным. Такой подход позволяет хранить вредоносные инструменты в скрытых местах, не опасаясь обнаружения при обычном осмотре. Скрытая информация продолжает занимать место на диске, однако администратор не может ее увидеть стандартными средствами.
Syslogk также прячет собственный модуль в ядре. Он удаляет свой узел из глобального списка загруженных модулей. Дополнительно вредоносный код изменяет служебные данные, чтобы модуль продолжал считаться зарегистрированным. В результате стандартные команды не показывают руткит среди активных компонентов. Даже опытный администратор не сможет обнаружить его без специальных инструментов. Такая маскировка делает руткит практически невидимым для штатных средств администрирования.
Материалы отчета ориентированы на специалистов по информационной безопасности, которые занимаются защитой Linux-инфраструктуры. В документе подробно описаны признаки заражения, а также методы восстановления штатной работы системы. Эти сведения необходимы для создания сигнатур и совершенствования продуктов, способных распознавать скрытые угрозы. Практическая ценность отчета заключается в том, что он показывает, как именно руткиты обходят традиционные механизмы защиты.
Главная угроза Syslogk состоит в том, что он скрывает не только собственные файлы, но и активность других вредоносных программ. Атакующий получает возможность действовать незаметно. Он может собирать конфиденциальные данные, перехватывать трафик или использовать взломанный сервер для атак на другие сети. Подобные руткиты нередко применяются в длительных целевых атаках на организации. Чем дольше вредоносный модуль остается незамеченным, тем серьезнее потенциальный ущерб для бизнеса. Утечка данных или простои серверов могут привести к значительным финансовым потерям.
Для выявления руткитов стандартных антивирусных проверок недостаточно. AhnLab предлагает использовать продукт V3 Net for Linux Server, который анализирует состояние ядра. В ходе тестирования это решение обнаружило скрытый модуль Syslogk. После его удаления файлы, ранее невидимые в листинге, снова стали отображаться. Продукт проверяет списки модулей и поведение системных вызовов в реальном времени. Это подтверждает эффективность специализированных средств против угроз подобного класса. Без таких инструментов обнаружить руткит практически невозможно.
Администраторам Linux-серверов стоит ограничить загрузку сторонних модулей ядра. Необходимо регулярно обновлять операционную систему и применять патчи безопасности. Полезно настроить мониторинг целостности критичных функций ядра. Подобные меры позволяют выявить следы вмешательства раньше, чем злоумышленник успеет реализовать свои цели. Руткиты уровня Syslogk требуют комплексного подхода к защите инфраструктуры. Только сочетание обновлений, ограничений и специализированных решений дает реальную защиту от скрытых атак.