Resumen de Conferencia - Ingeniería Inversa con LLMs - Conferencia 8.8 México

Resumen de Conferencia - Ingeniería Inversa con LLMs
Sintesis de Conferencia

Ingeniería Inversa de Malware con LLMs

Uso de Grandes Modelos de Lenguaje y Agentes Automatizados en Análisis de Seguridad

Ponente:
Asher Dávila — Investigador de Ciberseguridad IoT/OT en Palo Alto Networks (Silicon Valley)
Enfoque:
Automatización de análisis de binarios, frameworks de agentes y límites actuales de la IA

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ódulo Decay, 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.
Límites y Fallas Comunes de los LLMs en Reverse Engineering

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.

Entradas más populares de este blog

Como redireccionar el trafico a una nueva IP con IPtables

Kgpg en ubuntu

Uso de UFW en ubuntu