Как Linux io_uring создает критические бреши в безопасности современных систем?

Недавно разработанный экспериментальный руткит под названием "Curing" продемонстрировал серьезную уязвимость в системах обнаружения угроз для Linux. Используя механизм асинхронного ввода-вывода io_uring, вредоносное ПО способно обходить инструменты мониторинга системных вызовов, создавая то, что специалисты ARMO называют «крупным слепым пятном в инструментах безопасности Linux".
Как Linux io_uring создает критические бреши в безопасности современных систем?
Изображение носит иллюстративный характер

Механизм io_uring был впервые представлен в версии ядра Linux 5.1 в марте 2019 года и предназначен для обеспечения эффективного асинхронного ввода-вывода. Технология использует две кольцевые буферные структуры: очередь отправки (SQ) и очередь завершения (CQ), которые обеспечивают прямую коммуникацию между пользовательским пространством и ядром. Эта архитектура позволяет отслеживать запросы ввода-вывода асинхронно, значительно повышая производительность.

Однако именно эта эффективность становится проблемой с точки зрения безопасности. Руткит "Curing", разработанный командой ARMO в качестве доказательства концепции, демонстрирует, как вредоносное ПО может использовать io_uring для обеспечения скрытой связи между командным сервером (C2) и зараженным хостом. Ключевая особенность руткита заключается в его способности выполнять команды без осуществления традиционных системных вызовов, используя вместо этого механизм io_uring.

Проблема усугубляется тем, что популярные инструменты безопасности Linux, такие как Falco и Tetragon, оказываются «слепыми» к операциям, выполняемым через io_uring. Эти инструменты в значительной степени полагаются на перехват системных вызовов для обнаружения подозрительной активности, и когда эти вызовы не используются, системы защиты оказываются бессильными.

Опасения относительно безопасности io_uring не новы. Еще в июне 2023 года компания Google ограничила использование io_uring в своих продуктах, включая Android, ChromeOS и производственные серверы. В официальных заявлениях Google указывалось, что io_uring «предоставляет мощные примитивы для эксплуатации уязвимостей», что подчеркивает серьезность проблемы.

Эксперты в области кибербезопасности подтверждают сложность ситуации. Амит Шендель, руководитель исследований безопасности в ARMO, отмечает: «С одной стороны, вам необходима видимость системных вызовов; с другой стороны, требуется доступ к структурам ядра и достаточный контекст для эффективного обнаружения угроз». Это заявление подчеркивает фундаментальную проблему современных инструментов безопасности Linux.

Руткит "Curing" наглядно демонстрирует, как технология, разработанная для повышения производительности, может быть использована злоумышленниками для обхода систем защиты. Поскольку io_uring обеспечивает прямой доступ к функциональности ядра, минуя традиционные системные вызовы, он создает серьезный пробел в защите, который не могут закрыть существующие инструменты обнаружения угроз.

Проблема становится особенно острой с учетом растущей популярности io_uring среди разработчиков из-за его преимуществ в производительности. По мере того как все больше приложений начинают использовать этот механизм, потенциальная поверхность атаки расширяется, создавая новые вызовы для специалистов по безопасности Linux.


Новое на сайте

20959Что известно о предупреждении mSecure и какие меры принять? 20957Что делать администраторам cPGuard после взлома канала обновлений? 20956Бэкдор в телевизоре: как Google остановила сеть из 1,3 млн Android-устройств 20955Кто может получить доступ к кошелькам через плагин CryptoPayment Gateway? 20954Критическая уязвимость Siemens IoT2050 открыла путь к удалённым командам 20953Взлом Chainstack: под угрозой оказались данные клиентов и хеши паролей 20952Четыре проверки, которые помогают найти уязвимости с реальным риском 20951Две уязвимости Barracuda открывают путь к root-доступу 20950Почему устаревшие Synology NAS снова оказались мишенью вымогателей? 20949Старая техника Apple получила заплатку для опасной уязвимости 20948Как три уязвимости открыли ShinyHunters путь к серверам PeopleSoft? 20947Может ли ИИ сам собрать уязвимости в работающий взлом? 20946Уязвимость CVSS 10.0 в LXD и MicroCloud позволяет выдать себя за доверенного клиента 20945Google разрешит устанавливать приложения из сторонних магазинов одним нажатием
Ссылка