Как 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.


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

20910ИИ-агенты нашли лазейки в изоляции — и научились тайно обмениваться данными 20909PHP обновил Windows-пакеты после уязвимости в Brotli 20908Одна скомпрометированная машина — риск для всей сети Tailscale 20907uCreator: Android-шпион, который перехватывает пароли Telegram и копирует аккаунты WeChat 20906Как файл из «загрузок» может заставить ИИ-агента установить вредоносную программу? 20905Уязвимости Wasmtime открыли путь из песочницы WebAssembly 20904Как перехваченный токен открыл доступ к 97 аккаунтам Microsoft 365? 20903Что происходит между сигналами тревоги? 20901Как вредоносный код находит покупателей в 953 интернет-магазинах? 20900Искусственный интеллект стирает следы фишинга 20899Что может произойти, если злоумышленник доберётся до секретов Railway? 20898Ошибка Brotli открыла путь к RCE в Node.js, Bun и других системах 20897Миллионы компьютеров получили обновление, выключившее опасный Popcorn Time Updater 20896Как Bronze Sandcastle прячет бэкдоры в доверенных приложениях?
Ссылка