- Специалист по информационной безопасности Матеус Алвес представил открытый руткит Singularity для ядра Linux 6.x.
- Проект демонстрирует методы скрытия присутствия и проведения привилегированных операций в системе с помощью модуля на C, использующего механизм ftrace.
- Singularity ориентирован на исследователей безопасности для тестирования средств обнаружения руткитов и включает продвинутые методы обхода различных защит и системных сканеров.
Матеус Алвес, эксперт в области информационной безопасности, опубликовал проект Singularity — руткит с открытым исходным кодом, предназначенный для ядра Linux 6.x. Исходный код написан на языке C и распространяется под лицензией MIT. Singularity разработан для демонстрации способов скрытого присутствия в Linux-системах после получения root-доступа и выполнения привилегированных действий без заметного вмешательства в ядро.
Основное техническое решение руткита базируется на использовании механизма ftrace, позволяющего незаметно перехватывать системные вызовы без прямого изменения точек входа или функций ядра. Singularity поставляется в виде модуля ядра и делит функциональность на отдельные модули для удобства использования и тестирования.
Проект ориентирован в первую очередь на специалистов по безопасности, которые могут применять руткит для проверки и разработки средств обнаружения и блокировки вредоносных модулей. Singularity реализует типичные методы маскировки, среди которых скрытие процессов, файлов и модулей ядра, а также расширенные техники обхода популярных инструментов безопасности и руткит-детекторов, таких как Falco, ghostscan, tracee, unhide, chkrootkit и rkhunter.
Особенности Singularity включают защиту от eBPF-инструментов мониторинга, противодействие загрузке модулей ядра, усложнение анализа ввода-вывода через io_uring и обход контроля целостности, реализованного через Linux Kernel Runtime Guard (LKRG). Также руткит содержит reverse shell на базе ICMP-пакетов, обеспечивающий безопасный удалённый доступ с привилегиями.
Singularity предоставляет возможность скрытия процессов посредством специальных сигналов, например, отправки «kill -59» процессу, а также повышения привилегий через переменную окружения MAGIC. Особое внимание уделено маскировке сетевой активности: сокрытие соединений от стандартных сетевых инструментов (netstat, ss, tcpdump и других), очистка сообщений аудита и логов, а также фильтрация обращений к памяти и блочным устройствам для противостояния низкоуровневому анализу, в том числе с помощью Volatility.
Таким образом, Singularity представляет собой комплексный инструмент демонстрации и тестирования современных способов скрытого контроля над Linux-системами, что полезно для разработчиков средств безопасности и специалистов, исследующих методы противодействия руткитам.
