




Исследователи безопасности показали способ обхода антивирусов в Linux с Syscall-Watching
Исследователи службы безопасности ARMO создали программу проверки концепции под названием Curing, которая демонстрирует так называемое «слепое пятно» мониторинга антивирусов Linux и других инструментов защиты конечных точек через интерфейс io_uring ядра.
Этот интерфейс позволяет приложениям выполнять запросы ввода-вывода без использования традиционных системных вызовов. Обычно инструменты безопасности полагаются именно на мониторинг системных вызовов для обнаружения угроз.
Вместо того, чтобы выполнять системный вызов для каждого запроса, эти операции — такие как чтение и запись файлов — ставятся в очередь в кольцевых буферах, которые просматривает ядро и возвращает результаты в отдельных буферах. Антивирус, который отслеживает системные вызовы на предмет вредоносной активности, может пропустить изменения, которые вместо этого проходят через очереди io_uring.
Curing полностью работает через io_uring. Поскольку она избегает системных вызовов, программа, по-видимому, осталась незамеченной такими инструментами, как Falco, Tetragon и Microsoft Defender в конфигурациях по умолчанию.
ARMO заявила, что это «главное слепое пятно» в стеке безопасности Linux.
Интерфейс io_uring был представлен в ядре Linux версии 5.1, выпущенном в 2019 году. С технической точки зрения, он был разработан для повышения производительности за счёт включения асинхронных операций ввода-вывода между пользовательским пространством и ядром Linux через общие кольцевые буферы. Эта архитектура сокращает количество системных вызовов, необходимых для операций ввода-вывода, и минимизирует накладные расходы, связанные с частыми переходами между пользовательским пространством и пространством ядра.
«Немногие компании используют его, но вам и не нужно это, чтобы
Читать на habr.com