Project Ire identifica de forma autónoma el malware a escala

Ilustración digital estilizada de una placa de circuito de múltiples capas. Un microchip azul brillante se encuentra en la parte superior central, con un intrincado sistema de circuitos que se irradia hacia afuera. Debajo de él, cuatro capas apiladas cambian de color de azul a naranja, cada una con patrones similares a circuitos. Componentes rectangulares y circulares más pequeños están conectados alrededor de las capas, todo sobre un fondo oscuro con formas geométricas dispersas.

Por: Brian Caswell, ingeniero de seguridad principal; Dustin Fraze, científico investigador principal; Sarah Smith, gerente de programas sénior; Rodrigo Racanicci, ingeniero de software principal; Tim Middleton-Sally, investigador de seguridad sénior; Shelby Hayes, gerente de programas técnicos sénior; Stanley He, investigador de seguridad sénior; Katy Smith, científica de datos II; Bhakta Pradhan, Investigador sénior de seguridad; Mike Walker, gerente de investigación.

Hoy, nos complace presentar un agente de IA autónomo que puede analizar y clasificar software sin ayuda, un paso adelante en la ciberseguridad y la detección de malware. El prototipo, Project Ire, automatiza lo que se considera el estándar de oro en la clasificación de malware: ingeniería inversa completa de un archivo de software sin ninguna pista sobre su origen o propósito. Utiliza descompiladores y otras herramientas, revisa su salida y determina si el software es malicioso o benigno.

Project Ire surgió de una colaboración entre Microsoft Research, Microsoft Defender Research y Microsoft Discovery & Quantum, que reúne experiencia en seguridad, conocimiento operativo, datos de telemetría de malware global e investigación de IA. Se basa en la misma base colaborativa y agencial detrás GraphRAG y Microsoft Discovery. El sistema utiliza modelos de lenguaje avanzados y un conjunto de herramientas de análisis binario y de ingeniería inversa invocables para impulsar la investigación y la adjudicación.

Al momento de escribir este artículo, Project Ire ha logrado una precisión de 0.98 y una recuperación de 0.83 con la utilización de conjuntos de datos públicos de controladores de Windows. Fue el primer ingeniero inverso de Microsoft, humano o máquina, en crear un caso de condena, una detección con la suficiente fortaleza como para justificar el bloqueo automático, para una muestra específica de malware de amenaza persistente avanzada (APT, por sus siglas en inglés), que desde entonces ha sido identificada y bloqueada por Microsoft Defender. 

Clasificación de malware a escala global

La plataforma Defender de Microsoft escanea más de mil millones de dispositivos activos al mes a través del conjunto de productos Defender de la compañía, que de manera rutinaria requieren una revisión manual del software por parte de expertos.

Este tipo de trabajo es un desafío. Los analistas a menudo se enfrentan a la fatiga de errores y alertas, y no hay una manera fácil de comparar y estandarizar cómo las diferentes personas revisan y clasifican las amenazas a lo largo del tiempo. Por ambas razones, los expertos sobrecargados de hoy son vulnerables al agotamiento, un problema bien documentado en el campo.

A diferencia de otras aplicaciones de IA en seguridad, la clasificación de malware carece de un validador computable. La IA debe tomar decisiones sin una validación definitiva más allá de la revisión de expertos. Muchos comportamientos que se encuentran en el software, como las protecciones de ingeniería inversa, no indican con claridad si una muestra es maliciosa o benigna. 

Esta ambigüedad requiere que los analistas investiguen cada muestra de forma incremental, para acumular suficiente evidencia que permita determinar si es maliciosa o benigna a pesar de la oposición de adversarios activos y adaptables. Esto ha dificultado durante mucho tiempo la automatización y el escalado de lo que es un proceso complejo y costoso de manera inherente.

Fundamento técnico

Project Ire intenta abordar estos desafíos al actuar como un sistema autónomo que utiliza herramientas especializadas para realizar ingeniería inversa de software. La arquitectura del sistema permite el razonamiento en múltiples niveles, desde el análisis binario de bajo nivel hasta la reconstrucción del flujo de control y la interpretación de alto nivel del comportamiento del código.

Su API de uso de herramientas permite que el sistema actualice su comprensión de un archivo por medio de una amplia gama de herramientas de ingeniería inversa, incluidas las cajas de arena de análisis de memoria de Microsoft basadas en Project Freta, herramientas personalizadas y de código abierto, búsqueda de documentación y múltiples descompiladores.  

Llegar a un veredicto

El proceso de evaluación comienza con una clasificación, donde las herramientas automatizadas de ingeniería inversa identifican el tipo de archivo, su estructura y posibles áreas de interés. A partir de ahí, el sistema reconstruye el gráfico de flujo de control del software por medio de marcos como angr y Ghidra, para crear un gráfico que forma la columna vertebral del modelo de memoria del Proyecto Ire y guía el resto del análisis.

A través del análisis iterativo de funciones, el LLM llama a herramientas especializadas a través de una API para identificar y resumir funciones clave. Cada resultado alimenta una «cadena de evidencia», un rastro detallado y auditable que muestra cómo el sistema llegó a su conclusión. Este registro de evidencia rastreable admite la revisión secundaria por parte de los equipos de seguridad y ayuda a refinar el sistema en casos de clasificación errónea.

Para verificar sus hallazgos, Project Ire puede invocar una herramienta de validación que coteja las afirmaciones del informe con la cadena de pruebas. Esta herramienta se basa en declaraciones de expertos de ingenieros inversos de malware en el equipo de Project Ire. Basándose en esta evidencia y su modelo interno, el sistema crea un informe final y clasifica la muestra como maliciosa o benigna.

Las pruebas preliminares son prometedoras

Dos evaluaciones iniciales probaron la efectividad de Project Ire como clasificador de malware autónomo. En el primero, evaluamos Project Ire en un conjunto de datos de controladores de Windows de acceso público, algunos conocidos por ser maliciosos, otros benignos. Las muestras maliciosas provienen de la base de datos Living off the Land Drivers, que incluye una colección de controladores de Windows utilizados por los atacantes para eludir los controles de seguridad, mientras que los controladores benignos conocidos provienen de Windows Update.

Este clasificador funcionó bien, al identificar de manera correcta el 90% de todos los archivos y marcar solo el 2% de los archivos benignos como amenazas. Logró una precisión de 0,98 y una recuperación de 0,83. Esta baja tasa de falsos positivos sugiere un claro potencial para la implementación en operaciones de seguridad, junto con revisiones de ingeniería inversa de expertos.

Para cada archivo que analiza, Project Ire genera un informe que incluye una sección de evidencia, resúmenes de todas las funciones de código examinadas y otros artefactos técnicos.

Las figuras 1 y 2 presentan informes de dos casos exitosos de clasificación de malware generados durante las pruebas. El primero involucra un rootkit a nivel de kernel, Trojan:Win64/Rootkit.EH! MTB. El sistema identificó varias características clave, incluido el enganche de salto, la terminación del proceso y el comando y control basados en la web. Luego marcó correctamente la muestra como maliciosa.

Figura 1. Informe del Proyecto Ire, muestra con SHA256: 86047bb1969d1db455493955fd450d18c62a3f36294d0a6c3732c88dfbcc4f62

El segundo ejemplo, HackTool:Win64/KillAV! MTB fue diseñado para deshabilitar el software antivirus. Project Ire identificó de manera correcta el código que localiza y deshabilita los programas antivirus, para brindar evidencia de que el archivo era malicioso.  

Sin embargo, en una sección del código, el sistema identificó de manera errónea una función como comportamiento anti-depuración. Para mantener la precisión, el sistema utilizó la herramienta de validación para marcar la afirmación como no compatible. El problema se resolvió más tarde al actualizar las reglas del descompilador, pero este ejemplo ilustra cómo Project Ire navega por la incertidumbre durante el análisis. En la figura 2 se muestra el informe correspondiente.

Figura 2. Informe del Proyecto Ire, muestra con SHA256: b6cb163089f665c05d607a465f1b6272cdd5c949772ab9ce7227120cf61f971a

Evaluación del mundo real con Microsoft Defender

La prueba más exigente involucró casi 4 mil archivos de «objetivo duro» no clasificados por sistemas automatizados y programados para revisión manual por ingenieros inversos expertos.

En este escenario del mundo real, Project Ire operó de forma autónoma en archivos creados después del corte de entrenamiento de los modelos de lenguaje, archivos que ninguna otra herramienta automatizada de Microsoft podía clasificar en ese momento.

El sistema logró una puntuación de alta precisión de 0,89, lo que significa que casi 9 de cada 10 archivos marcados como maliciosos se identificaron de manera correcta como maliciosos. El recuerdo fue de 0,26, lo que indica que, en estas condiciones difíciles, el sistema detectó cerca de una cuarta parte de todo el malware real.

El sistema identificó de manera correcta muchos de los archivos maliciosos, con pocas falsas alarmas, solo una tasa de falsos positivos del 4%. Si bien el rendimiento general fue moderado, esta combinación de precisión y una baja tasa de error sugiere un potencial real para una implementación futura.

Mirar hacia el futuro

Sobre la base de estos primeros éxitos, el prototipo de Project Ire se aprovechará dentro de la organización Defender de Microsoft como Binary Analyzer para la detección de amenazas y la clasificación de software.

Nuestro objetivo es escalar la velocidad y precisión del sistema para que pueda clasificar de manera correcta los archivos de cualquier fuente, incluso en el primer encuentro. En última instancia, nuestra visión es detectar malware novedoso directo en la memoria, a escala.

Agradecimientos

Project Ire agradece a los siguientes desarrolladores adicionales que contribuyeron a los resultados de esta publicación: Dayenne de Souza, Raghav Pande, Ryan Terry, Shauharda Khadka y Bob Fleck por su revisión independiente del sistema.

El sistema incorpora múltiples herramientas, incluido el marco angr desarrollado por Emotion Labs. Microsoft ha colaborado de manera amplia con Emotion Labs, un pionero en autonomía cibernética, durante el desarrollo de Project Ire, y les agradece las innovaciones y conocimientos que contribuyeron a los éxitos reportados aquí.