empty static

Руткиты на базе io_uring как угроза Linux-инфраструктуры

io_uring можно создать руткиты Компания ARMO продемонстрировала, как с использованием io_uring можно создать руткиты для Linux, которые обходят традиционные security-анализаторы. io_uring позволяет выполнять сетевые и файловые операции без характерных системных вызовов. Это делает такие атаки непривычными для анализаторов, которые полагаются на обнаружение типичных системных вызовов.

Пример использования: руткит Curing

Для демонстрации предложенного метода атакующие применили прототип руткита под названием Curing. Этот руткит может принимать команды от удалённого сервера и изменяет файлы, такие как "/etc/shadow". Использование порта TCP 8888 для внешнего взаимодействия обеспечивает скрытность операций благодаря использованию io_uring.

Проблемы обнаружения с существующими инструментами

К сожалению, традиционные инструменты, такие как Falco и Tetragon, не обнаруживает активность этой новой формы руткитов. Эти решения анализируют события через перехват системных вызовов, которые io_uring обходит. В результате, использование io_uring делает атаки незаметными для большинства современных систем обнаружения инцидентов безопасности.

Усиление систем безопасности через KRSI

Для повышения надежности защиты рекомендуется переход на использование Kernel Runtime Security Instrumentation (KRSI), доступного с ядра Linux 5.7. KRSI обеспечивает возможность прикрепления программ BPF к LSM-хукам, что позволяет отслеживать файловые операции, сетевую активность и запуск процессов независимо от используемых технологий.

Безопасность и будущее io_uring

Подсистема io_uring не раз подвергалась критике за уязвимости. В ответ на это, начиная с Linux 6.6, введена возможность полной деактивации io_uring через параметр sysctl io_uring_disabled. Корпорация Google включила это отключение на своих платформах, таких как ChromeOS и Android, из-за рисков безопасности, существенно перевешивающих её преимущества производительности. Однако, важно учитывать и другие аспекты безопасности, чтобы предотвращать обход традиционных методов защищенности инфраструктуры.