Исследователи компании ARMO обнаружили серьезную проблему безопасности в операционной системе Linux, связанную с интерфейсом io_uring. Данная уязвимость позволяет вредоносному ПО успешно обходить современные системы корпоративной защиты, что создает значительные риски для безопасности организаций.
Технические особенности io_uring и связанные риски
Интерфейс io_uring, внедренный в Linux 5.1 в 2019 году, был разработан для оптимизации асинхронных операций ввода-вывода. В отличие от традиционных системных вызовов, технология использует кольцевые буферы для обмена данными между пользовательскими программами и ядром системы, что существенно повышает производительность. Однако именно эта архитектурная особенность создает серьезную брешь в системах безопасности.
Proof-of-Concept руткит Curing демонстрирует масштаб угрозы
Для демонстрации уязвимости специалисты ARMO разработали экспериментальный руткит Curing. Вредоносное ПО способно получать команды с удаленного сервера и выполнять различные операции, полностью избегая детектирования системными средствами защиты. Функционал io_uring позволяет осуществлять широкий спектр действий, включая файловые операции, сетевые подключения, запуск процессов и манипуляции с правами доступа.
Неэффективность существующих средств защиты
Тестирование показало, что популярные инструменты безопасности, такие как Falco и Tetragon, не способны обнаружить активность руткита, использующего io_uring. Это связано с тем, что большинство защитных решений сфокусированы на мониторинге системных вызовов и хуков, игнорируя операции через io_uring. Ситуация настолько серьезна, что Google приняла решение отключить данный интерфейс по умолчанию в своих операционных системах Android и ChromeOS.
Рекомендации по защите и перспективы решения проблемы
Эксперты рекомендуют использовать Kernel Runtime Security Instrumentation (KRSI) для противодействия подобным угрозам. Этот механизм позволяет привязывать программы eBPF к событиям безопасности на уровне ядра, что может помочь в обнаружении вредоносной активности. Для специалистов по информационной безопасности, желающих протестировать защищенность своих систем, proof-of-concept руткит Curing доступен на GitHub.
Обнаруженная уязвимость подчеркивает необходимость постоянного совершенствования механизмов защиты Linux-систем и адаптации средств безопасности к новым технологическим решениям. Организациям рекомендуется провести аудит своих систем защиты и убедиться в их способности детектировать угрозы, использующие современные технологические особенности операционной системы.