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 sucesor realice varias acciones sin usar llamadas al sistema”, dijo la compañía en un mensaje 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 nada más en io_uring”.
Io_uring, introducido por primera vez en Linux Kernel Traducció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 expedición (SQ) y una trasero de finalización (CQ) entre el kernel y una aplicación (es afirmar, espacio de sucesor) para rastrear la presentación y finalización de las solicitudes de I/O de una modo 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 punto de hacer uso de Io_uring para obtener los mismos objetivos.
https://www.youtube.com/watch?v=oj6vqo87miy
El examen 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 oportuno 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ó jalonar 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 costado, necesita visibilidad en las llamadas del sistema; por el otro, necesita entrada a estructuras del núcleo y un contexto suficiente para detectar las amenazas de modo efectiva”, dijo Amit Schendel, jerarca de investigación de seguridad en ARMO.
“Muchos proveedores toman el camino más directo: enrolarse directamente en las llamadas del sistema. Si correctamente 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”.