Los investigadores de ciberseguridad han demostrado un curado de prueba de prueba (POC) doblado que aprovecha un mecanismo de E/S asíncrono de Linux llamado Io_uring para evitar el monitoreo tradicional de llamadas del sistema.
Esto causa un «punto ciego importante en las herramientas de seguridad de tiempo de ejecución de Linux», dijo Armo.
«Este mecanismo permite que una aplicación de usuario realice varias acciones sin usar llamadas al sistema», dijo la compañía en un informe compartido con Hacker News. «Como resultado, las herramientas de seguridad que se basan en el monitoreo de llamadas del sistema son ciegas ‘a RootKits que trabajan únicamente en io_uring».
Io_uring, introducido por primera vez en Linux Kernel Versión 5.1 en marzo de 2019, es una interfaz de llamadas al sistema de kernel de Linux que emplea dos buffers circulares llamados colas de envío (SQ) y una cola de finalización (CQ) entre el kernel y una aplicación (es decir, espacio de usuario) para rastrear la presentación y finalización de las solicitudes de I/O de una manera asíncrona.
El RootKit ideado por ARMO facilita la comunicación entre un servidor de comando y control (C2) y un host infectado para obtener comandos y ejecutarlos sin hacer que las llamadas de sistema relevantes para sus operaciones, en lugar de hacer uso de Io_uring para lograr los mismos objetivos.
https://www.youtube.com/watch?v=oj6vqo87miy
El análisis de ARMO de las herramientas de seguridad de tiempo de ejecución de Linux actualmente disponibles ha revelado que tanto Falco como Tetragon son ciegos a las operaciones basadas en Io_uring debido al hecho de que dependen en gran medida del enganche de llamadas del sistema.
Los riesgos de seguridad planteados por IO_uring han sido conocidos por algún tiempo. En junio de 2023, Google reveló que decidió limitar el uso de la interfaz del núcleo de Linux a través de Android, ChromeOS y sus servidores de producción, ya que «proporciona fuertes primitivas de explotación».
«Por un lado, necesita visibilidad en las llamadas del sistema; por el otro, necesita acceso a estructuras del núcleo y un contexto suficiente para detectar las amenazas de manera efectiva», dijo Amit Schendel, jefe de investigación de seguridad en ARMO.
«Muchos proveedores toman el camino más directo: engancharse directamente en las llamadas del sistema. Si bien este enfoque ofrece una visibilidad rápida, viene con limitaciones. En particular, las llamadas del sistema no siempre se garantiza que se invoque. Io_uring, que puede omitirlas por completo, es un ejemplo positivo y excelente».