lunes, 5 de septiembre de 2011

BlackHat 2011 USA - Defcon 19

















Hace un par de semanas tuvieron lugar en Las Vegas dos de las conferencias mundiales mas importantes en lo que a seguridad informática se refiere, BlackHat y Defcon.

Tuve la suerte de estar este año allí y poder ver de que se trata. Lamentablemente no fui como speaker (no faltará oportunidad) pero de todas maneras fue una experiencia increíble que sin dudas quiero volver a repetir.

Este post es para contarles un poco sobre algunas de las charlas a las que asistí. No quiero discutir en detalle cada una de las charlas sino comentarles un poco de que trató cada una. Para tener más información al respecto pueden ver cada uno de los papers y/o videos de los mismos.

Vamos a hablar primeramente de las charlas de BH.

Constant Insecurity: Things you didn't know about (PE) Portable Executable file format (Mario Vuksan + Tomislav Pericin): Esta fue la primera de las charlas a las que asistí. Los que me conocen saben que el trabajo de la gente de ReversingLabs me agrada mucho y como no podía ser de otra manera esta charla no podía perdermela. Lo primero que se hizo fue dar un breve repaso por la estructura PE y luego se contrasto lo que dice el PECOFF con lo que realmente hace el loader de Windows al cargar un ejecutable. Se mostraron los diferentes tipos de malformaciones que existen en la estructura de un ejecutable que según la documentación oficial de Miscrosoft no pasarían como archivos válidos, sin embargo los archivos se ejecutaban perfectamente.

Muchas de las malformaciones en archivos ejecutables no son contemplados por las herramientas que hoy en día se utilizan para realizar RCE. Por lo tanto, es interesante para cualquier persona sean malware analysts o virus writters, desarrolladores de packers o crackers, etc; estar al tanto de estás cosas para no fallar en su análisis o desarrollo, respectivamente.

Aquí pueden encontrar el paper y los slides de la charla.


Attacking Clientside JIT Compilers (Chris Rohlf + Yan Ivnitskiy): Esta charla fue interesante hasta un punto dado. Por qué? pues porque en un punto era necesario tener una idea clara sobre JIT compilers, cosa que yo no tengo :P.

La charla se baso en dos ejes, los JITs de Mozilla y el de LLVM. Mostraron como funciona cada uno de ellos y sus diferencias. Esta parte estuvo un poco densa para mi gusto pero tal vez haya sido por la falta de conocimiento sobre el tema.

Además, hablaron sobre varias cosas más como vulnerabilidades en los JIT compilers y sobre técnicas de explotación como JIT Spray, JIT Feng Shui (una variación del Heap Feng Shui) y especialmente sobre las herramientas que desarrollaron y utilizaron en su research.

Para el que quiera saber un poco más al respecto, puede consultar el paper y los slides aquí.

Windows Hooks of Death: Kernel Attacks Through User-Mode Callbacks (Tarjei Mandt): Esta era una de las charlas obligadas para todas aquellas personas a las cuales nos apasiona el mundo de ring0, los kernels y las cosas a muy bajo nivel.

En esta charla se habló sobre las decenas de vulnerabilidades que Tarjei encontró en el kernel de Windows, más precisamente en win32k.sys cuando maneja la transición de un callback desde user-mode a kernel-mode. Cada una de las vulnerabilidades fue clasificada en una categoría específica, habló de cada una de esas categorías, donde fue que estaba la falla y como se podía hacer para explotarla aunque primeramente nos dió un paseo por win32k y varias estructuras utiilzadas por el mismo. Finalmente, hizo dos demos en las cuales nos enseñó  como logró explotar de manera reliable dos de esos bugs. Una charla que no tuvo desperdicios.

Aquí pueden encontrar los slides y el paper de la charla.

Reverse Engineering Browser Components: Dissecting and Hacking Silverlight, HTML 5 and Flex (Shreeraj Shah): Al leer sobre que iba a tratar esta charla estaba bastante entusiasmado por asistir. Cosas que tienen que ver con la Web directamente como HTML5, Silverlight y Flex no me apasionan demasiado, sin embargo, para mi trabajo diario era una buena oportunidad de aprender algo al respecto para luego aplicarlo.

Shreeraj contó sobre el uso de las diferentes herramientas existentes hoy en día para atacar cada una de las tecnologías mencionadas. Al menos yo, esperaba ver un IDA abierto en algun momento con código, contando algo más que presionar un botón para poder realizar determinada tarea.

De todas maneras, al que le interese puede mirar los slides + paper.

Playing In The Reader X Sandbox (Paul Sabanal + Mark Yason):Esta charla estuvo buena salvo por el final donde se hicieron los piolas. Antes les cuento más o menos de que iba la charla.

Como se podrán imaginar, en la charla se discutía sobre el sandbox implementado en Adobe Reader X. Primero hablaron de la relación entre este sandbox y el de Chromium (sí, parece que está basado en el sandbox de Chromium), las herramientas que utilizaron para poder reversearla, sobre la arquitectura y mecanismos de restricciones que posee y lo más importante para un Exploit Writter, que se puede hacer y que nó, es decir, limitaciones y debilidades del sandbox.

Como les dije al principio, todo iba bien hasta el final donde hicieron dos demos. La primera fue sobre una vulnerabilidad conocida publicamente (CVE-2011-0609). En la segunda demo, aparentemente, bypassearon el sandbox con un bug que no es público hasta el momento y del cual no se conocen detalles. Esto último fue algo que no me pareció que le sumara valor a la charla, simplemente, a mi manera de ver las cosas, lo mostraron como una manera de decir: "Miren que piolas que somos, tenemos un 0-day y ustedes no". Porque además fue algo como: "Ahora vamos a  hacer la segunda demo en la cual vamos a bypassear el sandbox.", "OK, demo terminada", "No más preguntas". WTF?.

En fin, el que quiera puede mirar los slides y el paper.

Algunas de las charlas de Defcon 19 a las que asistí fueron:

Chip & PIN is Definitely Broken (Andrea Barisani + Adam Laurie + Zac Franken + Daniele Bianco): Esta charla fue otra de esas en las que si no estás un poco al tanto de las cosas te perdes algunas otras :P pero en términos generales, hablaron sobre estas tarjetas que pueden ser utilizadas como débito y crédito gracias a un chip que tienen y les permite hacer este tipo de transacciones. En Argentina no conozco a nadie todavía que tenga una de estas, de hecho creo que en nuestro país aún no existe este sistema sino que tenemos que contar con dos tarjetas, una de débito y otra de crédito.

La charla se centraba en los mecanismos de protección y validación que se tienen para este tipo de tecnología y como un atacante podía clonar y utilizar una tarjeta robada.

Acá pueden encontrar el paper de la charla.


Economics of Password Cracking in the GPU Era (Robert "Hackajar" Imhoff-Dousharm): El speaker en esta charla era un troll hecho y derecho. La verdad, lo que menos importó fue la charla en sí, podría haber estado hablando de como construir un cohete a marte que a nadie le hubiera interesado. Puedo resumir esta charla en dos cosas: Troll y pendejas golpeandose con almohadas. Pero antes de seguir, les voy a comentar un poco de que iba la cosa.

La charla fue meramente informativa. Habló sobre que hardware y software necesitamos para crackear passwords utilizando GPUs.  Además, había una planillita que calculaba el tiempo que tardaríamos en crackear un password de x cantidad de caracteres utilizando una configuración determinada. Ah, y cual sería la mejor máquina que podríamos armar para poder crackear passwords!, lástima que salía algo de 52.000 dólares!.

Ahora sí, lo interesante de la charla fueron dos cosas:

1) En casi toda la charla se la pasó trolleando a todas aquellas empresas que tenían productos para crackear passwords y que, según su opinión, no servían para nada.

2) En un momento de la charla entraron aproximadamente 10 chicas golpeandosé con almohadas, se fueron hasta el escenario a continuar golpeandosé entre ellas y finalmente se fueron.

Fue una charla bastante atípica!.

Los slides de la charla los pueden encontrar aquí.

Como habrán podido observar, no hay nada espectacular en este post, nada técnico ni detallado en profundidad, simplemente quería compartir con ustedes mi opinión sobre cada una de las charlas a las cuales asistí. Si a alguno le gustó bien y sino ... también.

Hasta cualquier otro momento!.

No hay comentarios: