GHidra. Tras su anuncio hace meses, la NSA libera una nueva herramienta para el análisis de binarios en la conferencia RSA.

Igor Santos. Investigador en ciberseguridad en DeustoTech, Universidad de Deusto

Estaba anunciado pero no nos lo terminábamos de creer del todo. Ha ocurrido y puede que con más fuerza de lo esperado.

La National Security Agency (NSA) ha cumplido su promesa y el día 6 de marzo de 2019 en la famosa conferencia RSA ha presentado GHidra, una suite para reversing (extraer información y la representación [1] de ficheros binariospara su análisis) que parece destinada a convertirse en el nuevo estándar de facto para la comunidad de analistas de ejecutables. Y además lo hace con licencia de código abierto (MIT, por  ser más concretos).

La herramienta de reversing basada en Java (unos de sus aspectos más criticados) es en realidad una suite bastante completa que cumple con los requisitos típicos del analista de malware [2] o ficheros binarios. Tiene como cualidades diferenciadoras que soporta prácticamente todos los formatos conocidos de binarios (.exe, ELF, DEX,  etc.) y para múltiples plataformas.

Está disponible para su descarga en https://www.ghidra-sre.org/ y su github es: https://github.com/NationalSecurityAgency/ghidra.

La comunidad ha respondido inicialmente con escepticismo, pues la NSA es conocida, humorísticamente, como “la única parte del gobierno que verdaderamente te escucha” debido a su vigilancia constante a los ciudadanos. Podéis ver un resumen de todas sus hazañas en este sentido en el sitio https://www.eff.org/es/nsa-spying.

Este hecho y el que se haya codificado en Java, cuya máquina virtual es famosa por sus vulnerabilidades, ha propiciado una ola de memes y bromas en Twitter.

¿Qué hace hace especial a GHidra? En primer lugar, que abarca todas los formatos (o casi todos) para analizar, lo que hace que no tengamos que usar varias herramientas. Por otro lado,  abarca casi todas las funcionalidades como desensamblaje, ensamblaje, descompilación, creación de gráficos y scripts, etc. Y, sobre todo, es de código abierto y completamente gratis. Recordar también que el sector que abarca por sus funcionalidades es el que ahora tienen herramientas como IDAPro (https://www.hex-rays.com/products/ida/) que se centran en análisis estático [3] y no el sector de los análisis de instrumentación dinámica [4] como PyreBox (https://www.talosintelligence.com/pyrebox), DynamoRIO  (http://www.dynamorio.org/), etc. O, incluso herramientas más específicas como Deep Packer Inspector (https://www.packerinspector.com/) centrado en analizar software empaquetado [5]. Por eso, sus funcionalidades hay que compararlas con herramientas genéricas y de su ámbito.

De hecho, en palabras de Marcus Hutchins, conocido como MalwareTech, y famoso por parar temporalmente el ataque masivo del ransomware [6] Wannacry [7]“si quisiéramos que IDAPro (el estándar de facto para el análisis de binarios) tuviera todas estas funcionalidades tendríamos que ir a una configuración de 13.000$ o más y no tendríamos tantos formatos” y añade, respecto a sus capacidades “el decompilador side-by-side (reversible) es revolucionador para la comunidad”.

El impacto que ha tenido en la comunidad es impresionante, con millones de descargas tan sólo en las primeras horas después de su lanzamiento, convirtiéndose en trending topic en la comunidad de seguridad. Pero debido a este impacto, se ha descubierto una vulnerabilidad [8] en su debug-mode o modo de pruebas que abre el puerto [9] 18001 del ordenador a cualquier persona, en vez de solo al equipo local. Este hecho, viniendo la herramienta de la NSA, ha hecho pensar a muchos de que se trataba de una puerta trasera puesta de forma intencional. Pero, sinceramente, está tan claro y a la vista, que parece simplemente un error.

En resumen, una agencia de “ciber-espías” libera la herramienta que utilizan internamente para su análisis de ficheros binarios; y lo hace de forma gratuita y abierta, lo que nos da por sospechar (motivos no nos faltan). Y nos preguntamos la razón. Yo os doy a la que he llegado. Creo que quieren que la gente use y mantenga la herramienta, por tres motivos: (1) les cuesta esfuerzo y recursos entrenar a su personal en el uso de la herramienta (ya hay tutoriales avanzados hechos por gente de la comunidad y externa de la NSA, además de la propia documentación liberada) y (2) les cuesta personal, tiempo, y dinero desarrollar nuevas funcionalidades y arreglar errores. Liberándola consiguen que la propia comunidad les haga parte de ese trabajo. Y (3) (aunque la veo menos clara) mejoran su reputación de “ser el enemigo” dentro de la comunidad ofreciendo gratis sus herramientas.

Así que, GHidra parece que ha venido para quedarse en la comunidad.



[1] Un binario es un fichero ejecutable (una aplicación) representada en código máquina y sólo entendible por el ordenador.

[2]Se denomina malware al software que trata realizar actividades maliciosas.

[3] Análisis estático es aquél que se realiza sin llevar a ejecutar el binario.

[4] Análisis dinámico es aquél en el se analiza la muestra ejecutándola en un entorno controlado.

[5] Empaquetar significa ocultar la funcionalidad mediante diversas técnicas como puede ser el cifrado.

[6] Ransomware es un ataque que secuestra (normalmente cifra) los contenidos del equipo dejándolo inutilizable y pidiendo una cuantía de dinero por su “rescate”.

[7] Wannacry fue un ataque global masivo de ransomware que afecto a empresas mundialmente realizado el 12 de mayo de 2017.

[8] Una vulnerabilidad es un error que un atacante puede explotar para su beneficio.

[9] Abrir un puerto es dejar abierta la posibilidad de que alguien se conecte remotamente a él.


Información relacionada