Linux io_uring помогает руткиту спрятаться от бдительного ока EDR

Linux io_uring помогает руткиту спрятаться от бдительного ока EDR

Linux io_uring помогает руткиту спрятаться от бдительного ока EDR

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

PoC-руткит, именуемый Curing, незаметно подключается к своему серверу и умеет по команде получать доступ к файлам на чтение/запись, создавать симлинки, запускать процессы. Все операции, включая отправку отчетов, выполняются через io_uring.

Механизм io_uring был реализован еще в Linux 5.1 с целью повышения эффективности коммуникаций между пространством пользователя и ядром. Интерфейс позволяет выполнять множество операций (поддерживается более 60, в том числе файловые и сетевые) без использования системных вызовов, которые тормозят и подвешивают процессы.

Вместе с тем многие коммерческие ИБ-решения для Linux класса EDR при мониторинге среды выполнения полагаются на перехват системных вызовов и игнорируют все, что связано с io_uring.

Тестирование Curing с помощью популярных инструментов защиты Linux и контейнерных сред почти во всех случаях показало нулевой уровень детектирования.

Кураторы opensource-проекта Falco подтвердили наличие проблемы и работают над плагином, позволяющим создавать LSM-хуки с помощью eBPF. Столь же быстро отреагировали в CrowdStrike, для Falcon уже создан фикс, добавляющий обзор файловых операций на базе io_uring.

В SentinelOne сразу заявили, что подобный обход их продукту не страшен, однако внимательно выслушали и даже помогли с тестами.

Опенсорсный Tetragon (мониторинг вызовов в ядре Linux на основе eBPF в реальном времени) в дефолтной конфигурации не смог обнаружить вредоносную активность, однако разработчики уверены, что его можно подстроить и под такие руткиты, как Curing.

Продукт Microsoft Defender for Endpoint задетектил только модификацию файлов, но вендор никак не отреагировал на многочисленные попытки установить контакт.

 

Код Curing выложен для ознакомления и дальнейшего тестирования на GitHub.

В России разработали защиту квантовых ключей от ослепления детекторов

Специалисты инженерно-квантовой лаборатории «СФБ Лаб» и Центра квантовых технологий МГУ разработали способ защиты систем квантового распределения ключей от ослепления детекторов. Метод позволяет не только заметить атаку, но и сохранить безопасную часть ключа. Решение защищено российским патентом, результаты исследования приняты к публикации в журнале Physical Review Applied.

При атаке ослепления злоумышленник направляет на детектор одиночных фотонов оптическое излучение и лишает его чувствительности.

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

Обычные средства защиты умеют обнаружить такое вмешательство, однако после тревоги весь сформированный ключ приходится отправлять в утиль. Новый метод действует тоньше.

Приёмник в случайные моменты незначительно меняет квантовую эффективность детекторов. Злоумышленник не знает их текущего состояния и не может подобрать универсальную энергию импульса: значения для разных режимов различаются более чем в десять раз.

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

Подход проверили на серийном детекторе. Он не требует усложнять оптическую схему и подходит для широкого класса коммерчески доступных устройств. Патент RU 2 856 208 C1 предусматривает варианты реализации для приёмников с одним и двумя детекторами.

RSS: Новости на портале Anti-Malware.ru