lunes, 1 de febrero de 2016

32C3: Juegos de guerra, como crear un jugador de CTF


Es navidad en la fría Alemania. Las familias se reúnen para compartir regalos, mientras disfrutan un tiempo de descanso.  Sin embargo, algunos entusiastas deciden que es tiempo de reunirse a compartir conocimientos. En el puerto alemán de Hamburgo, como cada año, del 27 al 30 de diciembre, se celebra el Chaos Communication Congress (32C3). En su versión 32 [1] reunió a más de 12000 participantes, para discutir en torno a la ciencia, el hacking, el arte, y la anarquía.

Como uno de los afortunados asistentes, tuve la oportunidad de estar en diversos eventos, especialmente relacionados con el área de la seguridad informática. En el 32C3 se pueden encontrar a algunos de los mejores investigadores en el mundo del hacking. El cronograma completo del evento, se puede encontrar en [2] y un listado de los conferencistas se puede ver en [3].


Aunque había en el congreso muchas charlas de enorme calidad, sin duda la que mas llamo mi atención fue una titulada "A Dozen Years of Shellphish: From DEFCON to the DARPA Cyber Grand Challenge" [4]. Ésta charla fue realizada por varios miembros del grupo "Shellphish" de la Universidad de California Santa Barbara [5]. En ella, los conferencistas describieron su participación en un evento llamado el Cyber Grand Challenge (CGC).


El CGC [6] es un reto organizado por el DARPA, entidad de Estados Unidos dedicada a la investigación tecnológica en temas de interés militar. El reto consiste en la creación de una competencia donde los participantes deben construir un sistema que automáticamente descubra y explote vulnerabilidades en sistemas rivales, y proteja los propios. El equipo ganador es aquel que pueda mantener sus servicios funcionando por el mayor tiempo posible, mientras se ataca los servicios oponentes. Finalmente, el equipo que logre construir este sistema, al que el DARPA llama "Cyber Reasoning System", o por lo menos aquel que se encuentre mas cercano de lograrlo, será merecedor de un premio de 5 millones de dolares.


Por supuesto este tipo de evento no puede ser realizado en un ambiente sin control. El CGC está organizado dentro del contexto de los juegos de guerra de captura la bandera (Capture the Flag) del famoso congreso hacker DEFON [9]. Dentro de este contexto, los miembros de Shellphish describen en su charla como sus numerosos años de experiencia participando en CTF del DEFCON les ha permitido automatizar muchas de sus técnicas en herramientas que finalmente han ido liberando como software libre. Uno de estas herramientas es un framework  [8] que permite crear ambientes diseñados para juegos de guerra similares al de DEFCON.


Pero la herramienta más importante utilizada por este equipo es ANGR [7], un framework que permite escanear programas ejecutables en busca de vulnerabilidades. Para esto utiliza una técnica de mejoramiento de fuzzing a través de ejecución simbólica selectiva. Esta herramienta, que puede ser usada por cualquier investigador de forma libre, les permitió obtener resultados significativos al registrarse como competidores del "Cyber Grand Challenge".


Al final las fases clasificatorias del CGC, 7 equipos de todo el mundo han accedido a la fase final, entre ellos el equipo Shellphish. Para esto, fueron capaces de encontrar, explotar y protegerse con 44 archivos binarios de 131 posibles totales, todo esto usando su herramienta ANGR. Además se hicieron acreedores de un premio de 750 mil dolares. El evento final del CGC se llevara a en Agosto de 2016 en DEFCON, las Vegas. El ganador recibirá los ansiados 5 millones de dolares, pero lo más importante, puede marcar un hito en el desarrollo de sistemas autónomos de cyber-ataque y cyber-defensa.

En definitiva, una charla que llamó fuertemente mi atención y me pone a pensar que aportes de la Inteligencia Artificial podrían ser útiles en este contexto. Para terminar, aqui esta el enlace donde se puede ver el video grabado de la charla! --> https://media.ccc.de/v/32c3-7218-a_dozen_years_of_shellphish <-- :)

Kurono.

[1] https://www.youtube.com/watch?v=jSdXBnsVjr0
[2] https://events.ccc.de/congress/2015/Fahrplan/
[3] https://events.ccc.de/congress/2015/Fahrplan/speakers.html
[4] https://events.ccc.de/congress/2015/Fahrplan/events/7218.html
[5] https://seclab.cs.ucsb.edu/
[6] https://cgc.darpa.mil/
[7] http://angr.io/
[8] https://github.com/ucsb-seclab/ictf-framework
[9] https://www.defcon.org/