miércoles, 31 de diciembre de 2008

Coldboot attack: ¿está tu RAM a cero?

Básicamente en la charla sobre el "coldboot attack" Jacob Applebaum (que después estuvo en la charla de la vulnerabilidad de los certificados MD5) cuenta lo que descubrió un equipo de nueve personas al revisar una vulnerabilidad de todos los ordenadores: la memoria DRAM sólo pierde sus valores lentamente, conservando casi todo durante hasta casi 30 segundos.

Esto por un lado permite examinar toda la memoria para encontrar claves (por ejemplo, fundamentales para descifrar discos cifrados que se supone que una vez apagado el ordenador son indescrifrables sin la clave), pero también permite ataques que hagan que un ordenador en funcionamiento rearranque y tomen posesión de él tras arrancar. Teniendo en cuenta que han desarrollado dos herramientas, una para funcionar desde USB y otra desde un arranque por red (netboot), la herramienta de red permitiría incluso el ataque remoto (bueno, al menos desde la misma LAN...), de manera casi hasta anónima, si se envía el contenido a la dirección de "broadcast", ya que la identidad del atacante se ha perdido al rearrancar (bueno, salvo el dump de memoria), y no se sabe quién está escuchando (ya que todos lo reciben).

La charla no entraba en muchos detalles técnicos, pero para mayor información, a leerse el artículo.

Fin

Bueno, el 25c3 ya se ha acabado oficialmente. Lo que pasa es que algunas charlas me quedan por ver (en video -- es una lástima, porque allí localmente tardaban 3 minutos en bajar... y además suelen ser notoriamente lentos en publicar los videos), así que añadiré algún comentario de los que más me parezcan interesantes.

Por cierto, la charla de Blinkenlights es muy visual, así que nada de comentarios de texto (así que a descargarse el archivo de la charla)

martes, 30 de diciembre de 2008

¿Es tu certificado SSL de fiar?

La esperada conferencia que planteaba un ataque en la práctica de una posibilidad teórica realmente sí que ha sido atemorizante: ha demostrado que es posible conseguir certificados SSL maliciosos.

Fundalmentalmente, cuando te conectas a un sitio seguro, para certificar que es seguro, hay un conjunto de empresas que certifican que no sólo nadie puede escuchar lo que envías al sitio, sino que se lo envías al sitio correcto (por ejemplo, tu banco y no a un ladrón).

Esos certificados están basados en producir una cifra criptográficamente segura de un "hash" del contenido a firmar. El problema está en que algunas empresas (autoridades de certificación o CA), aún utilizan como algoritmo del "hash" el MD5, que desde 2004 es teóricamente posible atacar (aunque las dos cosas que tienen el mismo "hash" sólo se pueden diferenciar en 128 bytes de sufijo).

Aún peor, desde 2007 es posible teóricamente un ataque fácil en el que se puede tener dos prefijos todo lo largos que se quieran que se rellenan con 716 bytes y generan el mismo hash MD5.

Como los dos ataques anteriores eran únicamente teóricos, el equipo formado por Jacob Appelbaum, Alexander Sotirov y cinco académicos más, se puso manos a la obra para demostrar el ataque en la práctica.

Primer paso: recoger certificados SSL para ver cuántos usan MD5. Aunque había unos seis o siete proveedores que usan todavía MD5, el 97% de los 9.000 certificados (de 30.000) que había en la muestra estaban emitidos por RapidSSL.

El siguiente paso era genera el par de certificados (el bueno y el malo), para que la autoridad certificase el bueno y ellos pudiesen usar el certificado para el mal. En concreto, lo que hicieron es conseguir una firma para un certificado de un sitio web que era el dual de un certificado de autoridad de certificación, que les permitía actuar como CA intermedia reconocida y en realidad firmar lo que quisieran (como el certificado raíz lo avala, un navegador se fiará también de las autoridades intermedias).

El problema es que la generación de los certificados lleva unos tres días y lo más difícil era predecir el contenido del certificado bueno, ya que para evitar eso el certificado lleva un número de serie y la hora (con resolución de un segundo) de emisión. Afortunadamente para el ataque, los números de serie del proveedor no eran aleatorios sino secuenciales y el número de certificados emitidos el fin de semana y el tiempo de emisión eran bastante predecibles (un certificado se tardaba 6 segundos en emitir).

Bueno, hubo que pagar bastantes emisiones de certificado de relleno para poder conseguir dar en el clavo (como mecanismo de ajuste fino), y aún así sólo tuvieron éxito al cuarto intento (sólo lo intentaban los fines de semana porque pasaban más desapercibidos).

¿Y cómo afecta esto al resto de los certificados? Bueno, no se sabe si alguien ha podido hacer esto anteriormente (según ellos, con $2.000 de computación de la Amazon EC2 se puede tardar un día en hacer el ataque), pero cualquier certificado MD5 debería ser considerado "menos seguro". Hay que considerar que hace tiempo las principales las autoridades de seguridad ya no usan MD5. Adicionalmente, parece que todos los certificados con "Extended Validation" (que se muestran de manera especial en todos los navegadores -- por ejemplo en Firefox aparece el nombre del propietario). Y Microsoft y Mozilla van a parchear sus programas en breve. De hecho, mi Firefox 3 ya no lo reconoce como válido (bueno, aparte de que por motivos de seguridad el certificado malicioso tiene expiración de 2004 y nunca podría ser válido), aunque el IE 7 todavía sí, y es relativamente difícil detectarlo (ya que hay que mirar el certificado intermedio, que es el único que es MD5):



Así que estamos seguros por ahora... aunque estaría bien que todas las autoridades de certificación que en el pasado han emitido certificados MD5 los reemitiesen a un coste bajo... para que ya no queden por ahí sueltos.

Cómo ser famoso y tener éxito con las mujeres...

Bueno en realidad la charla sobre artesanía y hacking de Kelly Farrell no iba de tener éxito con las mujeres, sino más bien de una variante de "Los hombres son de Marte y as mujeres son de Venus": la artesanía ("crafting") y el hacking son disciplinas afines que por razones aún no suficientemente estudiadas han divergido, siendo las mujeres dominantes en la artesanía y los hombres en el hacking.

Comenzando por los orígenes comunes de los dos, ya que los ordenadores fueron una derivada de los primeros telares (el telar de jacquard se programaba con tarjetas perforadas, y probablemente los primeros ordenadores reutilizaron la misma técnica), sin embargo la comunidad de tejedores se quedó un poco atrás y Kelly nos contaba que recientemente han descubierto ¡las conexiones ethernet! (para las tricotadoras).

Una interesante descripción de cómo funcionan los telares, que son las primeras impresoras digitales de la historia, que no puedo reproducir en español porque desconozco la terminología técnica.

A partir de ahí ha mostrado una serie de puntos de reencuentro entre los dos, como:
  • Un theremín tejido con una mezcla de hilos de cobre y de tela con patrones derivados de los sonidos base
  • Una tejedora conectada a un lector de noticias.
  • Un Apple Macintosh tejido con punto.

  • Una serie de pasteles de cumpleaños "hackeados": uno con leds, uno con servomotores y otro con happy birthday firmado con PGP.

Su recomendación final: si no hay suficientes personas a tu alrededor para montar un "Hackerspace", monta un "Makerspace" que tendrá las colas del baño equilibradas (y además, las mujeres son excelentes programadoras), ya que en su experiencia en los sitios que han sido comunes ha habido un acercamiento entre los dos (las mujeres empiezan a poner LEDs en sus tejidos y los hombres comienzan a hacer punto).

Fernsehturm

Es decir, la torre de televisión de Berlín tiene la cualidad de que se ve desde prácticamente toda la ciudad, y en mi caso, tendía a intentar ponerse detrás de todos los edificios que intentaba fotografiar,



Se escondía detrás de las atracciones que estaban instaladas justo detrás del centro comercial Alexa.



miraba con atención al insituto cervantes y el restaurante Pata Negra como diciendo ¿habrá jamón?



O se ponía detrás del museo Bode para salir en la foto.

lunes, 29 de diciembre de 2008

Atacando IOS

Otra de las charlas tradicionales de CCC es la de FX, sobre los ataques a IOS, el sistema operativo de los router de Cisco.

Realmente Cisco tiene un problema mientras mantenga su IOS tradicional y no la sustituya por la IOS-XR: no tiene un sistema operativo en sus routers, no tiene ninguna separación entre los diferentes procesos, usa multitarea cooperativa... y a medida que añaden código para satisfacer a sus usuarios aumentan las posibilidades de fallo.

Por eso FX ha decidido seguir atacando al sistema, y en este caso muestra dos herramientas:
  • Un analizador de coredump que permite analizar los ficheros de memoria que se producen cuando el IOS se cae (y el administrador lo ha configurado para escribirlo, cosa que no suele ocurrir porque de ese modo el router tarda más en rearrancar). La herramienta ahora permite enviar un dump online junto con la imagen de IOS que lo generó (eso es fundamental porque lo que hace, entre otras cosas, es comparar la memoria con la descripción que está en los datos del binario original para ver si ha habido cosas modificadas). Esto fundamentalmente permite que si alguien intenta atacar un router, y el exploit falla, se puede ver el código que estaba siendo atacado. Y si simplemente se estaba usando "fuzzing", se puede ver cuáles son las funciones que podrían tener vulnerabilidades.
  • Una manera de ejecutar código binario en las IOS que es independiente de la imagen (cada imagen de IOS -- y FX estima que hay unas 100k ejecutándose por el mundo -- tiene una disposición en memoria diferente, lo que dificulta la programación de los exploits), basada en el uso del código de arranque del equipo (la ROMMON), y programar todo en el stack mediante un estilo de programación llamado "return based programming", que básicamente consiste en elegir puntos de entrada en las funciones que hacen lo que queremos (habitualmente escribir en una zona de memoria) a los que llegamos poniendo las direcciones en el stack y ejecutando return. Y al final de todo, volvemos a la zona del stack que estaba antes del "buffer overflow", y cómo si no hubiese pasado nada.
Lo que es más atemorizante de esta demostración es que permitiría la ejecución transitoria de "exploits" en los router (es decir, que no instalan código en el router), por lo que tras abusar del router inocente, éste sigue funcionando como si no hubiese pasado nada (y no se deja ningún rootkit detrás que se pueda detectar -- la herramienta de análisis una de las primeras cosas fue detectar un rootkit escrito por Topo), y sin dejar rastro... ¿para qué dejar un rootkit si ya se tiene acceso root con el "exploit"?

La charla, por supuesto incluía una demo de un exploit transitorio basado en un ping con opciones de "source routing"... nada tremendamente difícil de hacer, aunque evitable si el router tiene el filtrado de acceso adecuado.

Museo Bode

Aunque no tiene mucho que ver con los frutos del caos, aunque quizá es de los menos populares dentro de la isla de los museos de Berlín, el museo Bode



tiene la librería de arte mejor abastecida de todos. La lástima es que muchos están en alemán, pero si son visuales el texto no importa tanto...

Abusos de los móviles NFC

La charla sobre ataques a los móviles NFC sobre todo ha presentado múltiples maneras de abusar las especificaciones de lectores y tags de NFC (que es un sistema en el que los teléfonos móviles llevan un lector parecido al de RFID, de hecho el nivel físico es el mismo, pero el lógico es diferentes).

Aunque el sistema no tiene cifrado, tampoco las aplicaciones actuales que lo usan son muy sofisticadas, por lo que los abusos son limitados, sobre todo variantes de dos tipos:
  • Los datos que presenta un tag consisten en un URL y un texto descriptivo, pero el texto se puede manipular para que parezca que el URL va a hacer una cosa inocente (pero se envía a un sitio malicioso)
  • El hecho de que a base de una pantalla electromagnética (alias papel aluminio) se puede pegar un nuevo tag (coste 1,2€) encima de un tag existente para sustituirlo.
El caso más gracioso es el de unas máquinas de venta automática de Viena, en la que el tag codifica la máquina y luego el teléfono envía un sms que origina el cobro y que la máquina libere el producto elegido. Un abuso potencial es leer el código de una máquina, grabarlo en otro y pegarlo en una máquina distante. A continuación no queda más que esperar que otro usuario pague el producto en la máquina distante para tenerlo localmente...

Por supuesto, todo va acompañado de la liberación del código base que permite jugar con los tags (actualmente sólo disponible en unos pocos teléfonos y aplicaciones).

Honeypots y botnets

Ha habido un cambio de última hora, por el cual se ha adelantado la charla sobre honypots, en la que se ha presentado por un lado una herramienta (no estoy seguro de si era esta) para poner en un honeypot que permite detectar los ataques a base de reflejarlos hacia el atacante,
y otra herramienta que permite detectar y a base de libemu emular shellcodes (para añadirlos a un honeypot).

De este modo se pueden conseguir todo tipo de muestras de malware (si la red de honeypots está suficientemente distribuida.

A continuación, otras personas del mismo equipo ha hecho una presentación sobre cómo podrían tomar el control de la botnet "Storm", del que han utilizado ingeniería inversa para conocer todo el protocolo de control de la red (command and control, C&C).

Lo primero de la ingeniería inversa fue conocer la estructura de la red de bots (botnet, claro): es una red P2P, originariamente utilizaba la red Overnet de eDonkey, pero en una versión posterior pasó a ser una red separada, con las conexiones cifradas, aunque seguía estando basada en el código de eDonkey (de hecho, uno de los ponentes se quejaba de que la ingeniería inversa de la biblioteca usada, kadc era peor que la del código, y que los propios autores de la botnet no lo entendían).

La red ha tenido en su momento de máximo esplendor de medio a un millón de equipos infectados, aunque gracias a las herramientas de eliminación de malware de Microsoft distribuíadas por Windows Update, actualmente se ve reducida a aproximadamente un centenar de miles de equipos.

La red en realidad utiliza el P2P únicamente para encontrar los ordenadores de C&C, y una vez encontrados, se conecta a ellos directamente para recibir comandos, que pueden ser tanto patrones de spam como objetivos de DDoS (que han sido usados contra investigadores que intentaban averiguar algo de la red).

Los principales logros del equipo han sido
  • Descifrar la manera en la que se encuentran los nodos en la red P2P (se buscan 32 hashes con un algoritmo que ha sido decompilado, y codificando el contenido de la dirección IP y el puerto destino en el hash devuelto)
  • La codificación de los comandos desde el servidor C&C a los equipos infectados (básicamente una compresión zlib más un xor con una clave -- que se encuentra en todos los ordenadores infectados, y que también se usaba en la fase de descubrimiento)
  • Descubrir cuáles son los comandos y que hacen
  • Y dentro de esto, implementar un servidor falso C&C, incluirlo en la red para que sea usado en lugar del correcto y encontrar una manera de abusar un comando de actualización para poder descargar un programa de limpieza
A continuación para deleite del público han hecho una demostración de cómo funcionaría en una configuración local, y han mencionado que desafortunadamente todavía no tienen lista la estrategia completa para desinfectar la red, ya que necesitan un conjunto de servidores de C&C y un proceso coordinado para que la desinfección sea efectiva y se propague a toda la red. Y además es posiblemente ilegal.

Van a liberar parte del código en breve, pero no del todo, ya que es bastante peligroso... ¿Y si alguien lo utiliza para sustituir el código de storm por otro propio?

¿Cuánto tiempo le quedará a esa red? ¿Se unirá a McColo pronto?

Monta tu propia red GSM

Desde hoy, las redes de telefonía móviles del mundo, van a empezar a ser menos seguras. En esta conferencia, se ha presentado un software que empieza a implementar una red GSM, y que se publica hoy.

La charla ha comenzado con una introducción a la red GSM, de la que se puede ver más información en este esquema (cortesía de Wikipedia)



Las partes más relevantes a esta charla son la BTS, que es el equipo que va asociado a las antenas, y que realiza toda la parte de radio (nivel 1) y algo del nivel 2, y la BSC, que es realmente el equipo que pone la inteligencia para la BTS, controlando las antenas de toda una región, y el interfaz A-bis que los une

Resulta que Harald Welte ha comprado en eBay una microBTS de Siemens BS-11, del tamaño de una mochila (y pesa 55 kilos), con capacidad para unas 4-8 conversaciones simultáneas, y que se puede controlar con un enlace de 2 Mb/s (E1).

Tras tenerla aparcada un par de años, Dieter Spaar, un colega y vecino la pidió prestada en septiembre y, basado en las especificacoines abiertas de GSM y el software de mISDN, en un par de meses creó un primer software capaz de inicializar la BTS, y conseguir que un móvil se conectara a ella e incluso sonara el tono de llamada, y llamo a ese software initBTS.

Esperanzado por ese rápido progreso, Harald volvió a retomar el desarrollo, y ha conseguido crear un software, al que denomina OpenBSC, que emula el papel de la BSC que haría falta para controlar esa BTS (en principio, con estos dos elementos y una conexión con la red telefónica sería posible hacer llamadas, aunque no, por supuesto, cambiarse de sitio), que es el que se publicará en unos días.

¿Qué podría llegar a hacer el software? Bueno, está desarrollado para mostrar los problemas de seguridad de la red GSM, en la que la red autentica al móvil, pero no a la inversa, posibilitando que alguien con esa BTS y el software (cuando esté más desarrollado) engañe al móvil, le haga cursar llamadas a su través, abriendo la posibilidad de pérdida de confidencialidad en las llamdas y sms (que fue uno de los grandes avances del gsm frente a la telefonía analógica).

¿Qué es capaz de hacer por ahora el software? Bueno, lo que ha demostrado en el 25c3 es que es capaz de engañar a un móvil para que se registre en la BTS, y que le envíe SMS. Lo primero ha permitido recoger datos de los teléfonos (el número IMSI que es el identificador real del móvil -- tiene una correspondencia con los números que marcamos, y el IMEI, que es el número que identifica al aparato -- para impedir el robo de aparatos), y lo segundo ha hecho que algunos usuarios hayan enviado sus sms al cubo de los bits perdidos (pero todos nos hemos enterado de ellos).

Aunque el software tiene los rudimentos, todavía no es completamente capaz de cursar llamadas de voz, pero es posible que sea cuestión de tiempo: Harald ha anunciado que ha comprado todo el stock de 72 microBTS de siemens y lo ha puesto en venta para todos aquellos que quieran "experimentar" con ellas (aparentemente, en Alemania, consiguiendo una licencia de pruebas es posible).

Es decir, que en breve llamar desde 72 sitios va a ser un poco más inseguro.

Virguerías

En el sótano y alrededor de la cafetería del BCC, se reúnen todos aquellos que tienen algo que enseñar o publicitar. Por ejemplo, este desafío de ingeniería que es mantener una pelota de ping pong en equilibrio sobre un par de ruedas metálicas.



O este cuadricóptero que vuela sólo gracias a computación intensa

domingo, 28 de diciembre de 2008

Gas en Berlín

En Berlín, sobre todo en la parte este, hay bastantes pintadas en los edificios



Aunque en este caso se trata más bien de un caso de "si no puedes vencerlos, únete a ellos", en el que la compañía del gas ha decorado un edificio que de otra manera sería básicamente un cubo gris (bueno en realidad un paralelepípedo).



Claro que en parte también es para compensar el hecho de que también en medio de la ciudad hay industria bastante pesada



pero no importa, porque para humos han inventado



¡el cenicero para no fumadores!

Noticias de Fnord

Este año por primera vez, las charlas más interesantes que eran en alemán, han empezado a ser traducidas al inglés, como por ejemplo las charlas paródicas de Fnord. También este año, se nota que el sitio se está haciendo pequeño, porque el mismo 27 se acabaron las entradas, y las tres salas se llenan rutinariamente, hasta la úlltima esquina que permiten las regulaciones de seguridad anti-incendio.

Accediendo a la Wii

La Wii es la consola más novedosa de los últimos tiempos, aunque en temas de CPU no sea, ni con mucho, la más potente, habiendo inspirado múltiples usos de todos sus elementos y periféricos. Aparte de que como menciona bushing, Nintento gana dinero con el hardware (a diferencia del resto de los fabricantes).

Los conferenciantes han hablado primero describiendo el hardware de la wii (una GameCube mejorada), que consiste en dos procesadores:
  • Un PowerPC rápido e inseguro que es el que ejecuta los juefos
  • Un IO bridge que contiene un kernel de seguridad que comprueba todo lo que hace el primer procesador, y que todos los ficheros estén correctamente firmados.
  • Y otras cuantas peculiaridades, como el uso de discos con variaciones físicas y lógicas sobre el estándar DVD
Básicamente han contado cómo han llegado a poder ejecutar Linux sobre la Wii a base de primero comenzar mediante ataques basados en el modo de compatibilidad de GameCube (que había sido previamente abusada), lo que les permitió acceder a las claves y al código de verificación.

El sigiente paso fue abusar el algoritmo de firmado RSA, que al comprobar la firma usaba strncmp, que se para al encontrar un cero.

A partir de ahí, lo que tienen por ahora es un fichero que se guarda en una tarjeta SD y se debe cargar como un juego guardado del juego Twilight Princess.

A pesar de repetidos intentos de cambiar el software del juego para evitar esto, sigue habiendo un juego que puede evitar todas las protecciones y ejecutar el conocido Homebrew channel (que permite ejecutar Linux y otros sistemas operativos).

De pasada mencionaron también algún hack que permitiría leer juegos de DVDs en consolas "no chipeadas".

Prototipado rápido

Bre Pettis ha contado sus ideas sobre prototipado rápido, en la que piensa que podría existir una cultura del diseño y fabricación digital descentralizada (¿y hogareña?), en la que cada persona que tiene una idea sobre un objeto físico, lo pone a disposición del resto del mundo y los demás le dan al botón de "crear" y directamente tienen un objeto como ese.

Para ilustrarlo, ha recorrido las múltiples maneras en las que esto es posible, presentando videos en que sus amigos crean tenedores, soportes de portátil, cohetes de tintín...
  • Tanto mediante herramientas hechas por ellos: un robot que decora huevos, una impresora 3d que imprime con azúcar
  • Como con herramientas tradicionales de control numérico, tricotadoras, cortadoreas de papel, cortadoras láser o cortadoras de chorro de agua
  • Para terminar con impresoras 3D locales y empresas que te crean los objetos por correo (que no están alineados con la teoría de producción descentralizada): ponoko y shapeways

Enjambres de robots

De la universidad de Southampton nos venían a describir la plataforma robótica de mínimo coste llamada Formica, diseñada para intentar tener el mínimo coste posible para poder escalar a grandes cantidades de robot, como plataforma de investigación.

La inspiración viene de las hormigas, que gracias a comportamientos sencillos y un control descentralizado consiguen comportamientos emergentes con millones de agentes.

El enjambre mostrado se ha fabricado en una serie de 25 unidades por un coste de 15€ cada uno (bueno, sin contar la mano de obra -- 9 hombres día), gracias a que todos los componentes son de lo más estándar. Por ejemplo:
  • La placa base es de una sola capa, con los componentes soldados hacia arriba.
  • El motor es de los reciclados que se utilizan para hacer vibrar los teléfonos móviles.
  • El micro es el MSP430, de 16 bits y con unos pocos KB de (Flash) ROM y unos pocos centenares de bytes de RAM.
Aunque es tan pequeño, se puede mover (más o menos aleatoriamente), pero ya muestra comportamientos emergentes, como las decisiones colectivas o la propagación de infecciones. Incluso plantean que para actualizar el software del enjambre, se añade una rutina de actualización, se pone el nuevo software en uno o dos ejemplares, y éstos lo comparten con los demás.

Como originalidad, la codificación de la transmisión de datos entre ejemplares (mediante FSK de tres frecuencias en el que la información la da el sentido del cambio de frecuencia) y el comportamiento emergente de buscar corriente (cuando un robot se ve bajo de batería, busca la recarga buscando un sitio oscuro -- hay que poner la alimentación a la sombra).

Como estaba lejos y mi video está mal, os adjunto el que tienen ellos en su web:

Anatomía de smartphones

En la conferencia sobre móviles inteligentes el conferenciante, partícipe del diseño de OpenMoko, primero nos ha explicado cuáles son los principales componentes de ese tipo de móvil (que tiene un procesador con la inteligencia y otro para la parte de radio / banda base), con todos los componentes que vienen en este diagrama



Es decir, una CPU para las aplicaciones y otra para el GSM/GPRS, un codec de voz, un gestor de energía, RAM, flash y opcionalmente bluetooth, WiFi, GPS y procesador gráfico. Todos ellos normalmente conectados por buses serie, aunque cada tipo de integrado tiene su tipo de bus (I2C, SPI, SDIO, etc.)

La charla no se limita al Openmoko, sino que se entraba también en otros móviles de los cuales se dispone de información pública: los Motorola EZX y uno llamado glofiish (sic).
A continuación mostraba el proceso básico para obtener la información:
  • Desensamblar el equipo (de modo que se tiene acceso a los chips y sus códigos)
  • Encontrar y usar los interfaces JTAG de prueba (para ello mostraba un equipo que automatiza la tarea de encontrarlo a base de poner una señal JTAG en todos los pin candidatos y viendo por dónde sale).
  • Encontrar la manera de desensamblar la ROM y las DLL (en el caso de, por ejemplo, sustituir WinCE por Linux). Aquí había mucha información pero no la he tomado toda...

Esposas

La charla de cómo abrir esposas estaba bastante llena, por lo que entre que estaba de pie, lejos y era en alemán no he entendido suficiente.

Básicamente: muchas de las esposas en las que el cierre puede dar la vuelta son vulnerables a meter una lámina de metal (shim), que abre los dientes que impiden el retroceso de la pieza y así se abren.

Adicionalmente, a pesar de que hay muchos modelos, las llaves de unos abren otras esposas, habiendo una llave que es capaz de ¡abril casi todas! (bueno, dentro de una muestra)

Hay variaciones que dificultan esa circunstancia, como algún modelo que una vez cerrado tiene un mecanismo de bloqueo que hace que ya no puede deslizar hacia adelante ni hacia atrás y otros que tienen una cerradura de verdad.

Curioso que algunas de alta seguridad (han hecho una demo con unas para piernas) se pueden desbloquear con darles un golpe (todavía hay que abrirlas con un shim).

Planear

Una apasionante charla sobre los planeadores y la afición a planear, en la que un volador nos contaba las técnicas para conseguir levantarse "hackeando" la atmósfera:
  • Las técnicas para lanzarse (remolcado o simplemente con una polea mecánica)
  • Cómo subir basándose en las térmicas o en una técnica que usa el viento ("dynamic soaring")
  • Todo el software para registrar el vuelo y predecir el clima para volar sólo los días en los que pueda hacer buen tiempo (y por tanto buenas térmicas).

  • Incluso un par de fotos de dos vuelos pioneros de veleros autónomos (sin piloto ni mando a distancia), el segundo llegó a recorrer 97km.
Si alguien quiere comenzar, recomienda visitar las federaciones locales, unos 500-1000 libras en vuelos hasta poder volar solo y un velero de unos 2000€ (duran mucho tiempo y se pueden conseguir de segunda mano, tienen pocas partes móviles que se estropeen), aunque no mencionaba la necesidad del remolque (para rescatar el velero cuando aterriza donde puede).

Anécdota graciosa: aterrizando cerca de unas vacas que se ven atraídas por un producto que recubre el tejido que recubría el velero.

Calentamiento climático

Una charla sobre el calentamiento global, soportada por datos, en la que se argumenta lo de siempre (el ponente es miembro del IPCC):
  • Hay un calentamiento global en la tierra, causado por la emisión de los gases de "efecto invernadero" (la charla estaba centrada en el CO2, pero no es el único -- el metano de las vacas también afecta).
  • Este calentamiento aumenta la frecuencia de las olas de calor, sequía (en España, el mediterráneo y California, por ejemplo), inundaciones (aunque los holandeses creen que pueden aguantar hasta el año 2200) y ciclones tropicales. Y si no se hace nada, un incremento de 2 a 7ºC para 2100.
  • El objetivo más realista es contener el calentamiento a 2ºC, pero para eso hay que reducir las emisiones al 50% antes de 2050, usando más viento y solar (sobre todo, aunque también se puede usar hidroeléctica, geotérmica y biomasa), que no resultarían más caras que con el petróleo a $140.

Charlas relámpago 1

En esta dosis de charlas relámpago, unas cuantas cosas interesantes aún a meido hacer:
  • Una distribución de X11 para Linux más rápida y más pequeña que todas las demás: LXDE. Un posible sustituto para XFCE. Y en la misma línea, una distribución Linux (Debian) completa para usar en sistemas como openMoko.
  • Un software que combina anonimato y bittorrent y que está en desarrollo: Anomos.
  • No sé realmente cómo se usaría, pero: una combinación de tarjeta inteligente con puerto usb incluido, que sirve para cifrar con Pgp los correos. Sin referncias on-line, se puede comprar en la fundación para la privacidad, que se dedica a asumir la responsabilidad de operar servidores de anonimato como tor, JAP, JonDonym y otros que no pude apuntar.
  • Una historia de terror, cortesía de cert.at: una persona de Eslovaquia descubrió una memoria USB nueva (procedente de China) que venía con un virus de botnet incluido. Cuando la examinaron, ¡tenía 950.000 miembros y 150.000 ordenadores simultáneos! Una cosa a comprar con cuidado cuando se viaje a China... :-)

sábado, 27 de diciembre de 2008

Arreglar el DNS

En la charla de Dan Kaminsky no se habló del bug de DNS, que es ya historia pasada, sino más bién de sus consecuencias, tanto un poco por encima del despliegue y de que todavía se podría poner una solución más definitiva, porque es un problema de diseño.

Ponía el ejemplo de tres problemas importantes que se han podido ver este año y que se podrían haber solucionado con un DNS que diese autenticación, y de alguna manera pudiese usar la infraestructura más grande de internet y que está federada para almacenar además seguridad (los bugs eran las ssl vpns, cookie monster, evilgrades, intentaré poner URLs más tarde).

Dan propone utilizar DNSSEC para dar seguridad, con unas cuantas mejoras (y entre otras cosas, firmar la raíz de DNSSEC), aunque admite que sería un despliege tan complejo como el parche de "Source Port Randomization" (la solución al problema del DNS).

En parte la charla era una argumentación en favor de una solución basada en DNSSEC y en contra de DNS curve, una solución alternativa propuesta por Daniel J. Bernstein y basada en criptografía de curvas elípticas, que argumenta que no es escalable y requiere una mayor carga en los servidores que DNSSEC (ya que consiste si no lo he entendido mal en utilizar un algoritmo de cifrado muy rápido para firmar las respuestas de DNS sobre la marcha). Sin embargo, en un intento de ser conciliador, dice que tiene buenas ideas que se podrían añadir a DNSSEC.

Pero como todas las charlas de Dan (recomiendo verlas cuando salga el video aqui), estaba salpicada de temas laterales
  • Como un ataque a un servidor de drupal a base de registrarse con una dirección de correo en un dominio controlado por nosotros, que se utiliza para envenenar el dns del servidor, y redirigir el password de reset del administrador, y al final como golpe de gracia, para redirigir el sql del almacenamiento del servidor a otro servidor, también nuestro.
  • O el desarrollo del comprobador de DNS web que desarrolló para detectar servidores DNS vulnerables, que codifica en cinco peticiones CNAME consecutivas todos los datos recibidos de la consulta de DNS para luego comprobar si se están aleatorizando bien.

Algo grande...

Acaban de anunciar que esta charla, que ya dije que era inconcreta es así porque es el anuncio de una vulnerabilidad importante...

Localizando móviles mediante SS7

En la charla sobre el uso de SS7 para localizar teléfonos móviles, el autor explicaba un fallo de diseño en el protocolo SS7 que está siendo activamente abusado, y que se podría repetir si se despliega una funcionalidad de voz denominada "Optimized routing".
El fallo de diseño se comprende mejor con la ayuda de esta transparencia


En la que se puede ver que para enviar un SMS, un operador primero consulta a la red origen y luego envía el mensaje directamente a la red de roaming de destino.

El fallo está en que se pueden pedir los datos como si se fuese a enviar el SMS pero luego no enviarlo. Los datos obtenidos proporcionan el IMSI del usuario, pero sobre todo el número de la central de destino en la que está registrado el usuario. Esto supone que se puede localizar el usuario a grandes rasgos, ya que una MSC (la central de conmutación que conmuta las llamadas de voz), tiene un ámbito mucho mayor que una celda, pero es suficiente para identificar a nivel de ciudad (con alguna excepción, como el tráfico de un servicio de O2 en Alemania que se envía a una MSC que cubre todo el país).

Lo que se pasó por encima es que el ponente argumentaba que hay operadores que ofrecen los datos de esta consulta (por unos pocos céntimos de euro por transacción), y que potencialmente puede permitir enviar un SMS con datos de origen falsos que permitiría a un operador no muy ético endosar a otro operador los costes del mensaje... ¿cuántos operadores lo sabrán ya?

Por último, mencionaba que si se despliega una funcionalidad para optimizar el recorrido de las llamadas (que si te vas con alguien a un país extranjero, y le llamas en roaming, que la llamada no tenga que volver a tu país de origen para llegarle a él sino que se pueda resolver localmente), tiene el mismo problema de diseño:

Reposeyendo los iPhones

Después de una merienda frugal, viene una charla de más nivel técnico. Dos representantes del equipo que se dedica a desbloquear iPhones, nos cuentan cómo lo hicieron.

En la primera mitad se cuenta cómo se accedió a desbloquear el software principal del iPhone, fundamentalmente por una debilidad en el primer paso del arranque seguro (hay una ROM que arranca un cargador que a su vez carga el kernel): en la primera generación la ROM no comprobaba el cargador y en la segunda generación, era vulnerable al clásico "stack overflow".

En esta parte, algunas debilidades por parte de Apple permitieron que se accediese a la primera generación, lo que a su vez facilitó el trabajo en la segunda generación, donde ahora se puede instalar el programa y ¡actualizarlo con el propio iTunes de Apple!

La parte de la radio ha sido mucho más difícil de romper (y es que está más protegida, pues un fallo ahí es más grave, ya que es la que controla el SIM-lock), y de hecho en la 2ª generación las roturas no son totalmente permantente.

El principal problema aquí es que un fallo en la depuración deja el teléfono permanentemente inutilizado, sin posibilidad de recuperación.

El proceso de arranque es parecido al del sistema operativo principal, con una rom que carga al cargador que a su vez carga el firmware. La principal diferencia es que el cargador bloquea el acceso ¡de lectura! a la rom, dificultando aún más la investigación.

La 1ª generación de banda base se atacó porque no comprobaba el código cargador, pero la segunda ese paso también está protegido por un conjunto de firmas de seguridad ("secpack").

De esa manera, en la 2ª generación sólo se puede atacar inyectando código en la RAM directamente, que es más cómodo (no es posible estropear el teléfono), pero cada vez que Apple corrija los problemas que permiten la inyección hay que econtrar un nuevo vector de inyección.
Pero por ahora, es posible desbloquear cualquier teléfono (por ahora).

Ingeniería inversa de circuitos integrados

En esta interesantísima charla una persona que se dedica a hacer ingeniería inversa de chips de seguridad ha contado todo el proceso por el cual se coge una tarjeta inteligente que guarda un algoritmo secreto o una clave maestra y se encuentra.
Lo primero es el objetivo: coger una tarjeta y extraer su clave es de utilidad limitada, pues ya se tiene la tarjeta de todas maneras. Sin embargo muchas tarjetas basan su seguridad no sólo en que la clave es secreta, sino también en que el algoritmo de cifrado es secreto (por ejemplo, porque es un algoritmo débil, o se basa en una clave maestra que sirve para generar la clave de cada usuario), por lo que obtener ese algoritmo puede comprometer a todas las tarjetas.
El proceso de ingeniería inversa no requiere grandes gastos (pero sí sustancias peligrosas, como ácido fluorhídrico o nítrico:
  • Primero se obtiene el chip de silicio desnudo: por ejemplo, en el caso de una tarjeta de crédito, se disuelve el plástico en acetona y el epoxy del encapsulamiento en ácido nítrico.
  • A continuación, el proceso más lento: mediante una pasta de pulir, se va quitando micra a micra todo el chip y se va haciendo foto de cada capa, con un microscopio que no tiene que ser muy caro (se cita que puede estar en el entorno de $1000, con 500x de ampliación, pero sólo necesita una cámara de 1 MP). Se pueden conseguir mejoras si se usa microscopía confocal o ácido fluorhídrico (que quita unas partes del chip pero no otras).
  • A partir de ahí, hay que ir recreando el diseño del chip capa a capa, empezando por los transitores, de ahí a las puertas lógicas y de ahí a las funciones. En estas fases, los presentadores han desarrollado sus propias herramientas de ingeniería inversa que permiten detectarlas puertas lógicas, otra que busca funciones lógicas comparando los patrones de puertas (pendientes de publicar) y por último herramientas de trazado que permiten trazar las conexiones metálicas entre puertas lógicas (no tengo claro quién hace éstas, ni si están publicadas).
Como pertenece a una empresa que se dedica a la ingeniería inversa, ha mencionado que prácticamente es muy difícil utilizar contramedidas para evitar la ingeniería inversa:
  • La mayor parte de las herramientas de ofuscación (poner puertas que no sirven, mezclar las trazas metálicas) sirven para confundir a los humanos, no para confundir a los programas, que pueden seguir el recorrido de salida hacia el origen sistemáticamente.
  • El tamaño sí importa: un chip suficientemente grande desafía a los programas que ellos tienen (por ahora)
  • Chips con capas no planas: antiguamente, cuando había pocas capas metálicas, los chips no se alisaban entre una capa y otra, por lo que al quitar capa a capa se encuentra uno trazas 3d difíciles de depurar. Ahora, para poder depurar los chips, ese aplanamiento es obligatorio. Posiblemente un número elevado de capas también sería difícil de superar.

Respuesta a incidentes globales de seguridad

En esta charla se trata sobre el problema de la respuesta a los incidentes en Internet.
La cuestión no es baladí: recientemente dos ISPs cortaron la conexión de una empresa dedicada al control de las redes de spam (McColo) y el spam se redujo en un 75%. Mientras ese proceso es muy necesario, por un lado se hizo entre los ISPs y su cliente por información aportada por una tercera parte, lo que introduce dos problemas:
  • La parte afectada no tiene garantías de que no se le corta la conexión arbitrariamente. Es decir, tener seguridad jurídica.
  • No hay garantía de que haya alguien que haga algo para cortar a alguien a quien efectivamente habría que cortar. Es decir, tener seguridad en Internet... algo, al menos. Una de las quejas del corte de McColo es que a pesar de que hay leyes que prohíben el spam, no se involucró a la policía en ningún momento (es decir, nadie ha arrestado a los propietarios de la empresa).
Los incidentes que ha mencionado son todos muy conocidos: los de Estonia y Georgia, los spammers (no sólo McColo, sino Atrivo / Intercage y ESTdomains), dos gusanos (BlackWorm y el Facebook worm), y sólo de pasada, no era una charla ténica, sino política.

Desafortunadamente, el autor menciona que no hay demasiadas soluciones, básicamente cuando hay un incidente grande, se forman equipos ad-hoc con alguien que coordina, pero no hay una organización permantente y global para solucionarlo...

Como mínimo, propone que la comunidad europea de seguridad se coordine entre sí y que contacten más entre sí ("La cerveza es importante"), ya que ha mostrado que una de las fases más críticas es desde que una persona no muy relacionada detecta el problema hasta que se coordina la respuesta.

Ordenadores en contexto

La charla sobre ordenadores vestibles sobre todo se ha centrado en la interacción entre los ordenadores y el humano que los viste, y más concretamente en la capacidad de los ordenadores de percibir la posición y el contexto en el que ellos o sus usuarios están.

Lo más aparente eran los ejemplos de aplicaciones (sobre todo desarrolladas en el instuto del que era el ponente, ESL Passau), ya que aunque había una demo (Kai llevaba dos sensores que estaban conectados a una aplicación que detectaba su posición), la verdad es que los videos que se enseñaban eran mejores, como éste de un médico que lleva un ordenador bajo la bata que le permite acceder a un ordenador con el historial del paciente



Una anécdota graciosa de este video es que tuvieron que cambiar inicialmente el método de interacción porque el movimiento vertical de la pantalla se conseguía moviendo el brazo verticalmente mientras que la selección de un ítem se conseguía moviéndolo horizontalmente, y en un entorno en el que el paciente está preocupado no es tranquilizador ver los dos gestos seguidos. Ahora se selecciona acercando el brazo al cuerpo.

O este otro que se utiliza para medir los movimientos de un operario que hace controles de calidad en un coche (si Taylor lo viera...)



También era graciosa una aplicación para un teléfono móvil que permitía que tuviese un tono diferente en función de cómo detectaba dónde estaba... un buen truco para los que pierden el móvil en su casa.

Una vez vistos los vídeos, uno se da cuenta que el estado del arte para detectar el contexto todavía está en sus inicios, aunque se mencionaba que ya existen las herramientas básicas, tanto software base, como incluso una aplicación para el iPhone, que ayuda a registrar cómo perciben los sensores las diferentes actividades de su usuario. Es decir: tienen muchos puestos para becarios y doctorandos que hagan progresar el estado del arte.

Y recomendaba las gafas de visión 3D de mobile optics, como las únicas que se pueden llevar durante tiempo sin sufrir mareos... desafortunadamente parece que por ahora han parado la producción.

Arpa laser

Dentro de las partes artístico tecnológicas, he aquí un video de un músico tocando un arpa láser (verde, según se puede notar en sus manos.



Aquí se puede seguir la música en el techo, por los puntos verdes que no están



Y aquí una vista del hardware específico:



Es difícil de captar en la foto, pero los minúsculos granos de polvo parece que se incendian de verde cuando atraviesan el láser, lo que le da un ambiente más futurista.

Energía solar

Parecería que coger un panel solar y conectarlo al portátil sería sencillo, pero no hemos llegado allí todavía: hay que montarlo desde las piezas individuales
  • Un panel solar de 200€ (40W -- lineal: el de 10W cuesta 50€) que se puede llevar en un maletín

(pero que ocupa cuatro veces más desplegado)

  • Un regulador de potencia (para compensar que el sol se va y se viene)

  • El conector adecuado
  • ¡Y cruzar los dedos para que no se queme!
Adicionalmente, parece que casi cualquier otra cosa se puede alimentar con el panel solar, como por ejemplo un teléfono móvil, o ¡una nevera portátil!

FAIFA: una herramienta para acceder a PLC

Un grupo francés ha mostrado su plataforma de desarrollo de un módulo para diagnóstico de redes PLC HomePlug AV de código abierto (en este enlace, aunque todavía no está disponible).

Después de mostrar un poco de la teoría del PLC (básicamente un PHY basado en OFDM entre 1 y 30 MHz, con 916 subportadores, y un MAC específico CSMA/CA -- no hay posibilidad de detección de colisiones) y los antecedentes (la mayor parte para HomePlug 1.0), entraron a describir la herramienta, que por ahora es sólo línea de comandos pero ya permite monitorizar las tramas del PLC.

Eso sí, hay una limitación: la protección interna de los circuitos integrados PLC, que no transmiten ninguna trama al exterior si el circuito no tiene la clave de cifrado correcta (NEK), por lo que por ahora es posible que nadie pueda escuchar al vecino (aunque sí usar su ancho de banda). Aunque con una limitación: todos los equipos tienen la misma clave por defecto... así que se va a escuchar a casi todos.

Con una limitación: al establecer la red durante un tiempo se transmiten las claves en claro, así que si se dispone acceso en ese momento, se podría acceder a la red... pero no hemos llegado todavía a eso.

Y para más temor, dicen que es posible teóricamente esnifar sin conexión física al cable (por la radiación que se escapa... los cables eléctricos no están trenzados) aunque es técnicamente muy difícil (por la modulación que cambia cada 5s), y ellos todavía no lo han hecho.

Fugas de datos...

Charla en alemán (puede contener errores de comprensión).

Una charla atemorizante sobre la protección de datos en Alemania, "Propuestas para el año de las fugas de datos", en el que tras contar muchos de los casos que han sucedido en 2008 de fugas de datos, se enumeraban una larga lista de propuestas de mejora de la situación actual.

Muchas de las anécdotas están entre el pavor y el humor, como:
  • Supermercados que vigilan el comportamiento de sus clientes y empleados con microcámaras (¿incluyendo los vestuarios y los baños?), y que no sólo eso sino que además luego pierden los logs de la vigilancia que se difunden por el mundo. Aparte de eso, cita una lista de todos las tiendas de Alemania que practican la videovigilancia... (hasta ocho cadenas).
  • En la unversidad de Magdeburgo, que dejan accesibles los datos de sus alumnos (incluyendo sus opciones de privacidad... :-).
  • A lo largo del año 2008, 500 ordenadores portátiles pertencientes a departamentos del gobierno han sido robados, incluyendo dos de la ministra de justicia. No se sabe si contenían información privilegiada.
  • La escasa seguridad de Paypal que con sólo conocer la cuenta y el teléfono de un usuario permitiría acceder a sus movimientos.
  • Alguien dejó el listín de los móviles de 14.000 policías de Berlín accesible libremente. El comentario: "Así puedes usar la localización de los móviles para encontrar más rápidamente el policía más cercano..."
  • La anécdota final: En una autopista se les rompe una caja de las utilizadas para almacenar los recibos, que se reparten como copos de nieve por la autopista. Ésta es cerrada inmediatamente en los dos sentidos "para proteger los datos". Publicada el 20 de diciembre en die Welt.
Dentro de la larga lista de propuestas (no sé, me da la impresión de que en España algunas ya están implementadas), que no detallo por brevedad, la final me pareció interesante: que todas las empresas que tengan datos tuyos estén obligadas a enviarte anualmente un resumen de los datos tuyos que tienen y ofrecerte las posibilidades estándares de rectificación, eliminación, etc.
La verdad, es interesante, pero correos iba a tener un trabajo... y no sé si todos los usuarios querrían.

Agenda...

Esta es la lista de conferencias que intentarán ser atendidas (basada en la agenda 0.6 -- sí, todavía no hemos llegado a 1.0):

Día 27, sábado:

Día 2:

Día 3:

  • Cómo desplegar tu propiared GSM, basado en código abierto
  • Dos charlas algo más flojas, igual me las salto
  • Usar el depurador TI EZ403U, para desplegar proyectos
  • Nuevos cifrados "stream" desarrollados por la I+D europea
  • Sólo para valientes atacar una botnet, que tienen mecanismos automáticos de defensa
  • Vulnerabilidades de la red Tor
  • Ataques para aplicacionesNFC, no sé si incluirá los usados en el metro de Berlín
  • Un programa para facilitar los ataques a la Xbox 360
  • Los ataques al Cisco IOS, por FX que tiene una larga tradición de hacerlo... suele dar la misma charla que en Defcon
  • Ataques de los Chinos

Día 4:

viernes, 26 de diciembre de 2008

Una buena manera de llegar a Berlín es montando una grulla (pero a mí me ha tocado una coja, porque llego una hora tarde, lo que permite ver que los berlineses están ya muy alegres a eso de las 24:00-1:00)


pasando por París que pilla de paso, así aprovecho para ver a la torre Eiffel disfrazada de árbol de Navidad


Hay cosas que no cambian (o será ahorro por la crisis?): el mismo duende de Navidad recibe a los visitantes en la estación central


y el mismo cohete recibe a los visitantes al CCC. En años pasados estaba cubierto de nieve (y con un cartelito -- por aquí a los WC para aliens -- no hay que mezclar los diferentes sexos).


Este año, sin embargo, no hay nieve ni se la espera. Y los 0º son totalmente soportables, así que climáticamente la visita promete.
Es un buen momento para sacar la entrada (nota para otras veces: mejor ponerse la pulsera en la mano izquierda si eres diestro, que para comer luego es muy incómodo), y dar una primera vuelta: he aquí un pulpo de información que se ha equivocado y está devorando a un maniquí en lugar de devorar humanos... Mientras los humanos lo están preparando todo.

martes, 23 de diciembre de 2008

Coincidencias

Estoy preparando la agenda para ver qué conferencias visitar (por cierto, si alguien está interesado en alguna, que deje un comentario), y veo que como siempre hacen falta al menos tres personas para verlo todo: el primer día, en "prime time" (que es a las 23, aquí no se madruga mucho) coinciden tres charlas muy interesantes:

lunes, 15 de diciembre de 2008

Nada que esconder...

Bueno, comienza la preparación con la primera entrada del blog. 

Aquí se publicará la crónica de una visita al "Chaos Computer Club 25C3 Congress, Nothing To Hide". 11 días quedan nada más, y la agenda va por la versión 0.42... así es el Caos. La versión 1.0 no llega hasta Nochebuena o así.

Para aquellos que no saben de qué va, por ejemplo el primer día por ahora comienza con una charla sobre "Cómo alimentar solarmente tus dispositivos".