¿Qué es Ghidra y por qué es importante?


Una gran parte de abordar nuevos virus es descubrir cómo funcionan. Para hacer eso, debe realizar una ingeniería inversa. El Agencia de Seguridad Nacional (NSA) obviamente debe hacer mucho este tipo de trabajo, por lo que crearon su propia herramienta, llamada Ghidra para ayudarlos a hacer esto.

Por cierto, es pronunciado Ghee-dra. Fue lanzado al público de forma gratuita y como código abierto el 5 de marzo th, 2019, en la Conferencia RSA en San Francisco. Incluso puede ver las notas de presentación de Ghidra de Robert Joyce, asesor principal de la Agencia de Seguridad Nacional (NSA).

Para comprender realmente por qué la liberación de Ghidra fue importante, debemos entender qué es la ingeniería inversa y para qué se utiliza.

¿Qué es el reverso? Ingeniería y por qué se usa.

Generalmente, la ingeniería inversa (RE) se refiere al proceso de separar algo para descubrir cómo se hizo. Es posible que haya hecho esto usted mismo con un pequeño electrodoméstico en casa, solo tratando de descubrir cómo solucionarlo usted mismo. Pero estamos hablando de un programa RE. Es solo código, ¿verdad? ¿Por qué no miramos el código detrás de él?

Cuando escribe un programa en un lenguaje como C o Java, hay un paso entre escribirlo y poder usarlo en una computadora. El lenguaje en el que está programando es legible para usted, pero no necesariamente legible por la computadora. Debe traducirse en algo con lo que la computadora pueda trabajar. Este proceso se llama compilación.

Una vez que se compila un programa, los humanos ya no lo pueden leer.

In_content_1 all: [300x250] / dfp: [640x360]->

Si desea averiguar cómo funciona ese programa, debe desarmarlo al nivel en el que pueda ver lo que contiene. Necesitas un juego de herramientas para eso, al igual que necesitas un juego de herramientas de destornilladores y llaves para un pequeño electrodoméstico o motor.

Ahí es donde entra Ghidra para jugar. Es un software que fortalece la caja de herramientas para ver cómo funciona. Ya hay otras herramientas similares como IDA, Radare y Binary Ninja.

La NSA usa Ghidra para tome en cuenta los virus, el malware y otros programas que pueden representar una amenaza para la seguridad nacional. Luego, basándose en lo que encuentran, desarrollan un plan de acción para enfrentar la amenaza. Con el número de eventos de piratería patrocinados por el estado en las noticias recientemente, sabes que esto es un gran problema.

¿Alguien puede usar Ghidra?

No exactamente. Necesitas tener alguna habilidad con la programación como mínimo. No necesita ser ingeniero de software, pero si ha realizado algunos cursos universitarios en programación, puede ingresar a Ghidra yenséñese cómo usarlo.

Además, el sitio web oficial de Ghidra también tiene una guía de instalación, referencias rápidas, un wiki y un rastreador de problemas. El punto de proporcionar todo eso es para que todos puedan aprender, y juntos hagan que el mundo sea más seguro frente a piratas informáticos maliciosos.

La NSA está haciendo esto para "... mejorar las herramientas de ciberseguridad ..." y "... construir una comunidad ..." de investigadores competentes con Ghidra y contribuyendo a su crecimiento, como está escrito en la presentación de Robert Joyce.

Entonces, ¿por qué Ghidra es un gran problema?

Es de la NSA. ¿Qué compañía tiene el tipo de recursos que tiene una agencia federal de los Estados Unidos? ¿Qué tipo de experiencia podría haber incluso la mejor compañía de seguridad en comparación con una agencia encargada de la seguridad de la nación más poderosa de la Tierra?

Entonces, sí, es una herramienta muy poderosa. El investigador de seguridad Joxen Coret tuiteó "Entonces, Ghidra funciona con cualquier otra herramienta de RE con la única excepción de IDA".

Luego está el aspecto libre. Al poder obtener lo que podría decirse que es la herramienta RE más poderosa de forma gratuita, la barra de entrada a la investigación de seguridad se ha reducido a ser simplemente propietario de una computadora y tener acceso a Internet.

Esto es parte de la razón por la cual la NSA lo lanzó. Esperan que una nueva generación de investigadores se vuelva competente y consideren carreras en la NSA.

Luego está el código abierto aspecto. Las agencias de seguridad no son conocidas por permitir que la gente mire detrás de la cortina por una buena razón. Si sabes cómo hacen lo que hacen, es más fácil frustrarlos. Sin embargo, todo el código fuente de Ghidra se está haciendo público para que cualquiera pueda revisarlo y ver exactamente cómo funciona.

Y, no, no hay informes de puertas traseras del gobierno. Ron Joyce se dirigió a eso rápidamente, diciendo, la comunidad de investigación de seguridad, "... es la última comunidad a la que quieres lanzar algo con una puerta trasera instalada, a las personas que buscan que estas cosas se rompan".

Desde el punto de vista educativo, Ghidra también permite a los ingenieros de software programas separados para ver cómo funcionan y luego aprender a hacer algo similar con sus propios proyectos. Mirar el código de otra persona ha sido durante mucho tiempo una práctica aceptada entre programadores y desarrolladores para convertirse en mejores programadores. Si ese código se compartió abiertamente, por supuesto.

Quizás el mayor problema es que Ghidra fue diseñado para ser utilizado en colaboración. Puede tener un repositorio compartido con sus compañeros de trabajo o amigos para que todos puedan trabajar en un proyecto a la vez. Eso acelera drásticamente el proceso de análisis.

¿Qué pasa ahora?

El gobierno federal de EE. UU. Se ha comprometido a lanzar más y más software relacionado con la seguridad. Algunos serán de naturaleza muy técnica, como Ghidra, y otros serán más fáciles de usar, como un versión de seguridad mejorada de Android.

Todo anuncia un momento único de colaboración gubernamental y civil para mantener nuestra infraestructura de datos lo más segura posible.

EE. UU. Servicio Secreto - https://www.secretservice.gov/data/press/reports/USSS_FY2013AR.pdf

https://media.defense.gov/2012/Apr/27/2000157039/-1/-1/0/120417-F-JM997-405.JPG

Ingeniería inversa, por qué es tan importante para reparar (Podcast #21)

Artículos Relacionados:


20.03.2019