Resumen de Conferencia - Ingeniería Inversa con LLMs - Conferencia 8.8 México
Ingeniería Inversa de Malware con LLMs
Uso de Grandes Modelos de Lenguaje y Agentes Automatizados en Análisis de Seguridad
1. Herramientas y Agentes de Análisis
El uso de LLMs en ingeniería inversa no reemplaza los descompiladores tradicionales, sino que se integra en ellos mediante plugins y asistentes inteligentes para acelerar la comprensión del código:
- R2AI (Radare2): Funciona como un asistente interactivo (copilot) para el framework
radare2. Incorpora el móduloDecay, diseñado para descompilar ensamblador y generar pseudocódigo estructurado. - Sidekick (Binary Ninja): Agente embebido dentro de Binary Ninja que permite realizar consultas en lenguaje natural sobre la función o bloque de código que se está visualizando.
- Ghidra + MCP: Integración de descompiladores de código abierto mediante servidores de protocolo contextual.
- IDA Pro / HCLI: Uso de la interfaz de línea de comandos de IDA Pro (
HCLI), lo que permite ejecutar análisis automatizados en entornos de servidor sin interfaz gráfica (GUI).
2. Arquitectura de Integración: MCP, Harnessing y Skills
Para lograr que un modelo de lenguaje analice binarios de forma efectiva, es necesario estructurar el entorno de ejecución mediante tres pilares fundamentales:
| Componente | Descripción y Función Técnica |
|---|---|
| Harnessing | Configuración del entorno y tuberías de conexión. Permite que los modelos utilicen las herramientas externas correctamente. Un buen harness suele ser más determinante para el éxito que la potencia del modelo en sí. |
| Skills | Reglas y metodologías estandarizadas. Evitan saturar la memoria de contexto con información irrelevante, estructurando los pasos analíticos requeridos. |
| MCP Protocol | Model Context Protocol (desarrollado por Anthropic sobre JSON-RPC). Estandariza la comunicación entre el LLM y las herramientas (Radare2, Ghidra, IDA) mediante un listado de capacidades (Tool List). |
3. Casos de Uso Prácticos y Malware Analizado
- Análisis de PumaBot: Estudio de caso sobre un malware real escrito en Go que ataca dispositivos IoT (cámaras de seguridad Pumatronics en Brasil).
- Firmware y Sistemas RTOS: Mapeo automatizado de bloques de memoria no estructurados en sistemas operativos en tiempo real (RTOS) y entornos bare-metal a partir de hojas de datos (datasheets), permitiendo que herramientas como Ghidra interpreten correctamente las referencias de memoria.
- Generación Económica de Reportes: Creación de documentación detallada paso a paso sobre las acciones del agente. El costo promedio osciló entre $1.11 USD y $4.97 USD utilizando modelos avanzados (Claude / Opus), garantizando trazabilidad y reduciendo alucinaciones.
Comportamiento "Perezoso" (Lazy LLMs): Sin una metodología rígida, los modelos tienden a tomar atajos simples (ej. ejecutar strings o comandos básicos de shell) en lugar de profundizar mediante el descompilador.
Cifrado y Vulnerabilidades: Los LLMs fallan frecuentemente al identificar primitivas de cifrado reales (confunden librerías importadas con uso activo) y en la verificación de CVEs. Se requiere el respaldo de firmas (FindCrypt, reglas YARA) e inspección manual.
4. Framework AREMA (Próximo Proyecto Open Source)
Desarrollado en colaboración con el investigador Lenin, AREMA es un framework basado en el Google Agent Development Kit (ADK) diseñado para crear, depurar y ejecutar agentes de ingeniería inversa en paralelo.
Permite consultar de forma simultánea múltiples fuentes de datos —como VirusTotal, extractores de IOCs y descompiladores— integrando la información en un único flujo de trabajo automatizado. El proyecto será liberado como código abierto en DEF CON.