Saltar al contenido
ᐅ HielosMendez – Información digital que te dejara helado 🧊🥶

El rootkit de GPU de prueba de concepto se esconde en VRAM, rastrea las actividades del sistema

Un equipo de programadores ha publicado un nuevo rootkit «educativo», denominado Jellyfish, que es prácticamente indetectable por las prácticas de software actuales. Su trabajo está diseñado para demostrar que las GPU, que se han vuelto considerablemente más potentes y flexibles durante la última década, ahora son capaces de ejecutar keyloggers y rootkits.

Jellyfish es capaz de ejecutarse en hardware Nvidia, AMD e Intel (esto último gracias al soporte del APP SDK de AMD). La ventaja de usar una GPU para realizar el rastreo del sistema y el registro de teclas es sustancial. Si se detiene y lo piensa, hay una variedad de métodos para determinar exactamente qué se está ejecutando en su CPU. Desde el Administrador de tareas de Windows hasta aplicaciones como el Explorador de procesos, existen herramientas integradas o gratuitas que lo ayudarán a aislar exactamente qué procesos se están llamando y qué están haciendo esos procesos. El software de detección de malware es más complejo, pero ofrece una ventana aún más profunda al análisis de procesos.

Compare eso con las GPU. En términos de utilidades de software gratuito, tiene GPU-Z y un puñado de otras aplicaciones que proporcionan una función de supervisión de «carga de GPU» similar. Nvidia, AMD e Intel proporcionan algunas herramientas básicas de creación de perfiles que se pueden utilizar para analizar el rendimiento de una GPU en una aplicación específica, pero estos kits de herramientas se conectan a paquetes de software existentes, como Visual Studio. No toman una instantánea de lo que se está ejecutando en la GPU en general; le permiten monitorear el código que le ha dicho explícitamente que se ejecute en la GPU.

Malware de GPU

Hackers e investigadores he estado explorando más de para qué se puede usar una GPU y obtuvieron algunos resultados interesantes, incluido un proyecto el año pasado que convirtió una tarjeta gráfica en un registrador de teclas. Como señalaron en ese momento, «Al indicar a la GPU que supervise cuidadosamente a través de DMA la página física donde reside el búfer del teclado, un registrador de teclas basado en GPU puede registrar todas las pulsaciones de teclas del usuario y almacenarlas en el espacio de memoria de la GPU».

Para aquellos de ustedes que se preguntan sobre el uso de un monitor de carga de GPU simple para captar este trabajo, no es realmente factible: la utilización estimada de CPU y GPU fue de ~ 0.1%. El rootkit Jellyfish discutido anteriormente no solo tiene la capacidad de transmitir información a través de una red; en teoría, puede permanecer residente entre reinicios en caliente del sistema de destino.

¿Cómo arreglamos esto?

Parece probable que los métodos de detección de malware tengan que evolucionar para escanear la GPU y la CPU, pero no está claro qué tan fácil será. El equipo de investigación de keylogger señaló que el entorno CUDA de Nvidia ofrecía la capacidad de conectarse a un proceso en ejecución y monitorear sus acciones, pero afirma que esto es actualmente específico de Nvidia y de uso limitado (aunque importante).

Los métodos de detección de software necesitarán fundamentalmente mejorar su juego. Los investigadores de malware tienden a usar máquinas virtuales (por todas las razones que imagina), pero estas aplicaciones no están diseñadas para admitir la virtualización de API de GPU. Eso tendrá que cambiar si queremos proteger los sistemas del código que se ejecuta en las GPU.

Dado el hecho de que el código que se ejecuta en la GPU es casi imposible de rastrear hoy en día, no me sorprendería en lo más mínimo descubrir que los gobiernos estatales ya habían explotado estas debilidades de detección. Sombreros blancos, enciendan sus motores. Jellyfish es una utilidad de Linux por ahora, pero nada en la literatura sugiere que este problema sea exclusivo de ese sistema operativo.