sábado, 29 de diciembre de 2012

La seguridad de la campaña electoral de Obama, explicada

Con mil millones de dólares de presupuesto, la campaña electoral de Obama 2012 ha marcado tendencia por aumentar la ventaja tecnológica sobre sus competidores, a igualdad de presupuesto.
Con todo ese dinero, de acuerdo a la descripción que hace Ben Hagen en su charla, tuvieron capacidad para invertir incluso en seguridad, aunque no demasiado por que él era el único encargado de seguridad informática de la campaña.
La verdad es que, siguiendo lo que parece que hicieron en otras partes de la tecnología, en seguridad también fueron exhaustivos respecto a la catalogación de las amenazas, y es que los enemigos potenciales son potentes, y los oponentes electorales están abajo en la lista, después de los Chinos, la Mafia y Anonymous. Y los ataques, aunque conocidos, tampoco son tan fáciles de evitar, no sólo mediante denegaciones de servicio distribuidas (DDoS), escaneo, fraude y sabotaje sino también "spear phishing", con un nivel de sofisticación realmente elevado: a un analista se le envía un correo que parece venir de su jefe diciendo "Me ha llegado este documento ayer, necesito un informe al final del día"... que por supuesto es un virus.
Las medidas de protección son prácticamente el estado del arte: Suricata, Snorby, BroIDS, Nessus y Nmap para proteger la red, pero también hay que proteger la nube. En esa parte, Amazon (AWS) era uno de los elementos principales de su nube, al que aplicaron Snort, Snorby, ModSecurity y Nmap otra vez.

Pero una de las cuestiones fundamentales son las personas. ¿Cómo se ponen medidas de protección a las personas? Pues básicamente dos medidas:
  • Entrenamiento en detección humana de phishing. A todos los trabajadores de la campaña se les hacía un test, si tenían dificultad en detectar los ataques de phishing se les hacía un entrenamiento especial.
  • Un sistema exhaustivo de revisiones de código (utilizando Burp!), en el que se avergüenza (con buen humor, sin humillar) al que desarrolla código inseguro exponiendo su inseguridad ante todos (con una nutria bailarina y música adecuada, claro).

viernes, 28 de diciembre de 2012

Nuevos ataques GSM: otras maneras de liberar tus llamadas y capturar tus SMS

Dentro de las vulnerabilidades que siguen apareciendo en GSM, este año Nico Golde se ha centrado en su charla en las vulnerabilidades derivadas de el procedimiento de localización de terminales que se activa cuando la red quiere terminar un servicio en el teléfono.
Cuando la red necesita alertar a un teléfono porque tiene una llamada o un mensaje corto para él, normalmente el teléfono está en reposo y no tiene un canal reservado. Para alertar al teléfono de que tiene que establecer un canal y conectarse, la red utiliza un procedimiento que difunde un mensaje por toda un área que se llama "paging".
Dado que el canal de difusión tiene que ser oído por todos los teléfonos, no está cifrado (aunque tiene alguna medidad para proteger a los usuarios, como esconder sus identificadores). Por lo que ¿qué sucede si alguien responde a ese mensaje antes que el usuario verdadero? Pues nada bueno, por supuesto.
Pero antes Nico nos ha contado cómo se puede hacer para responder el primero: básicamente reescribir la pila de protocolos N1-N3 de GSM (partiendo de la implementación pública OsmocomBB) de una manera optimizada en un sólo nivel y así responder en 200ms mientras todos lo demás teléfonos responden en unos 600ms. Y lo dice así como si fuese fácil... :-).
¿Con esto qué se consigue? Básicamente colgar tus llamadas sin que nunca sepas que has sido llamado. Y la charla incluía una demostración de que es posible.
Pero eso no es todo, para el caso sencillo de la entrega de SMS, es posible recibir el SMS en lugar del destinatario legítimo. Aquí ya el procedimiento es más complicado, ya que para evitar eso, las redes ya tienen procedimientos más sofisticados de autenticación y cifrado. Pero resulta que por un lado la terminación de llamadas hay muchas ocasiones en que no se autentica (se cita que se autentica un 10% de las veces en la mitad de los operadores, para disminuira carga en los equipos), y por otro lado, ya hemos visto en años pasados que el cifrado de GSM ha sido roto en la mayor parte de los casos, y además no tiene fácil arreglo.
Como consecuencia, aprovechando esta debilidad es posible capturar y recibir un SMS en lugar del receptor legítimo, y otra vez se ha visto la demostración de que es posible. Por supuesto, esto abre además la posibilidad de ataques de intermediario ("man in the middle"), que permite tanto la captura como la adulteración de los mensajes. Esto es algo grave, porque en el mundo hay servicios en los que los SMS se utilizan para gestionar dinero, por ejemplo en banca on-line para confirmar transacciones o en el proceso de autenticación... Afortunadamente otros servicios de pago por móvil (como m-Pesa o Wanda) no se basan sólo en SMS por lo que probablemente requieren algún paso más para ser atacados... veremos cuánto se tarda.
El tema no se acaba aquí, una de las cuestiones fundamentales es que los mensajes se difunden por toda un área ("Location área"), por lo que el ataque se puede hacer desde cualquier punto del área. ¿Y cómo es de grande un área? Pues Nico tomó un coche, unos dos teléfonos Osmocom y dibujó un mapa de las áreas de Vodafone en Berlin, que pueden tener fácilmente más de 10km entre un usuario y otro (no hablo de diámetros porque no son redondas, como se puede ver).
"Location Areas" de Vodafone en Berlín
Con este tamaño, ¿se podrían bloquear todas las llamadas de teléfonos en un área? Pues también han medido eso: resulta que en un área de las anteriores hay de 400 a 1200 terminaciones por minuto, y un teléfono necesita al menos un segundo para resincronizar tras un intento fallido, por lo que con un sólo teléfono esto no es posible, pero con una decena o dos... el GSM está en peligro.
En fin, sólo queda esperar que se mejore la implementación del GSM con autenticación en todas las terminaciones, y que todos nos pasemos a 3G o 4G, me temo.

Destripando Tamagotchis

Natalie Silvanovich, al final de la charla admitía que no pasará a la historia como una defensora de los derechos de los tamagotchis, ya que admitía que probablemente una decena habrían sido destripados mientras intentaba averiguar cómo funcionaban.
Los tamagotchis, para aquellos que no estén al tanto, son unas mascotas virtuales japonesas que deben se alimentadas y cuidadas (sin las desventajas de las mascotas reales), pero que desde que estuvieron de moda han evolucionado mucho porque ahora no tienen sólo que ser cuidadas, sino que tienen que tener amigos con los que intercambiar regalos virtuales, una educacion y un trabajo, en suma son unos Tamagotchi 2.0 sociales (que desarrollan a través de comunicación infrarroja -- IR).
Por tanto, la última versión, el TamaTown Tama-GO tiene además de interfaz IR, la posibilidad de acoplar unas figuras que desbloquean la posibilidad de jugar a nuevos juegos.

Así que en lugar de dedicarse a cacharrear en el extremo más potente de las video consolas, Natashenka se dedicó a ese otro extremo de la ultrabaja potencia... pero aun así no es fácil superar las barreras del secreto industrial.
El primer paso de éxito fue destripar el protocolo IR, relativamente fácil con Arduino, pero sobre lo que no se ha entrado en mucho detalle en la charla (aunque hay más detalle en la presentación). Con esto se puede conseguir tener muchos amigos que te dan ricos regalos, lo cual contribuye mucho a la felicidad de tu tamagotchi (es algo social, claro). Y averiguar que el género de los tamagotchis está representado por tres bits, uno que indica la apariencia general, otro que indica lo que aparece en las estadísticas.
Pero aún así, sin la posibilidad de modificar el código, no es posible descifrar todo lo que se envía en el protocolo y otros objetivos como convertirlo en un TV-B-Gotchi o ir por ahí fertilizando otros Tamagotchis (sí, también tienen la posibilidad de reproducción), así que el siguiente objetivo requería ataques hardware y perder la garantía.
Por dentro un Tama-Go tiene una única placa base con una EEPROM y un microcontrolador por detrás, bajo un gran pegote de epoxy.
El primer paso para poder hacer algo es identificar el integrado que hay debajo del peogtoe. Tras probar varios métodos (algunos bastante peregrinos como usar palillos de comida china) para quitar la epoxy, al final pudo contar con la ayuda de Travis Goodspeed que quitó el epoxy mediante ácido nítrico. Pero eso era sólo el primer paso, porque una vez eliminado el epoxy y con acceso al diagrama del dispositivo no fue posible tener ninguna idea de qué dispositivo era, a pesar de la ayuda de miles de internautas que a su vez no tenían ni idea.
Así que no hubo más remedio que recurrir a los foros de Tamagotchi "serios", en los que superando su limitación de no hablar japonés, consiguió por fin la primera pista útil: parecía que el fabricante del chip era un fabricante japonés llamado General Plus (GP). Y tras doscientas datasheets de General Plus, encontró un datasheet que encajaba con la disposición de los contactos del chip: el GPLB5X, un controlador 6502 (que algunos pueden recordar como el motor del Commodore 64 y muchos otros equipos de los 80).
Una de las principales limitaciones de este disponisitivo a la hora de cacharrear con él es que la ROM no es programable, está fijada en el proceso de fabricación. Así que el siguiente paso es intentar descargar el contenido de la ROM.
Aunque para este paso en las especificaciones se menciona que GP tiene un programa de prueba para verificar que la fabricación del chip ha sido correcta, Natalia se ha cansado de pedir (incluso en el CCC) si alguien le puede pasar el programa de verificación... sin éxito. Así que ha tenido que recurrir a otros métodos. El primero ha sido atacar a través de la EEPROM.
Por ahí ha habido poco recorrido, porque la EEPROM contiene muy pocos datos, muy parecidos a los del protocolo IR, y prácticamente cualquier cambio conduce al rearranque del tamagotchi. No contiene el estado del tamagotchi, y aunque se puede hacer que con ello se bloquee, sin más datos de la ROM es difícil hacer nada...
El último paso ha sido jugar con las figuras que se acoplan al Tamagotchi. Hay dos tipos de figuras que se pueden acoplar al tamagotchi, unas gratuitas que simplemente contienen conexiones entre contactos (previsiblemente formando identificadores), y otras más complejeas que también tienen una ROM. El hecho de que también las figuras con ROM también tengan contactos le hizo llegar a la conclusión de que la ROM de todas las figuras es la misma, pero se cambia la figura que representa a base de los contactos.
Y aquí si que tuvo más éxito, ya que rápidamente pudo identificar que era una ROM SPI, aunque General Plus no utiliza el protocol SPI estándar, pudo simular la variante utilizando su Arduino para descargarse la ROM. Desafortunadamente la ROM no incluye código, sólo imágenes y datos.
En este punto averiguó que el funcionamiento del código es muy simple, ya que en el juego todo son imágenes (incluido el texto) y que además no hay ningún tipo de composición (si un tamagotchi puede tener una pelota, hay que tener una imagen con y sin pelota para todos ellos).
Para esta ROM externa ya se puede tener la posibilidad mayor de hacking, ya que se puede sustituir la ROM por otra, y eso es lo que hizo. Aunque no fue del todo sencillo, ya que primero tuvo que conseguir un simulador que fuese suficientemente rápido, y luego un más rápido todavía ya que la CPU lee unas partes de la ROM más rápidamente que otras.
Una vez simulada la ROM, pudo ver las interacciones de la CPU con la ROM, que confirman la simplicidad del código, por ejemplo la CPU sólo pide 50 bytes de datos que no son imágenes de la ROM. De esos, solo uno determina el juego que desbloquea la figura, y aun así ha probado que solo hay unos 25 juegos. Pero al final hasta ahí es donde ha podido llegar, sin acceso a la ROM interna completa... que no es poco.

jueves, 27 de diciembre de 2012

Comienzo: no es mi departamento...

El 29c3 ha comenzado con una charla de Jacob Appelbaum, uno de los componentes del proyecto Tor, y que además ha sido sujeto a vigilancia especial tras colaborar con Wikileaks.
Su charla ha comenzado con un vídeo de la construcción del centro de datos de Bluffdale de la NSA, del que realmente no se sabe para qué sirve, pero que él piensa que es para intervenir y guardar las comunicaciones de los americanos de manera masiva y con apoyo de Bill Binney estima que podrían guardarse cien años de capturas.
Aparte de eso ha mencionado las direcciones de ocho sitios que se piensa que son donde la NSA intercepta las comunicaciones de los americanos. Dice que uno de los sitios está confirmado, pero no cuál. En este mapa se pueden ver cuáles son.


Verlo en grande: Puntos
La conferencia está orientada a pensar sobre si es bueno que los gobiernos intercepten a sus ciudadanos y por qué nos debería preocupar a todos, aunque no sea en nuestro país. Jacob ha sido repetidamente sometido a presión por parte del gobierno americano.
Jacob propone que es más encomiable desarrollar software que proporciona libertad a las personas que software que sirve para que los gobiernos controlen a las personas. Y vive de acuerdo con ese principio (desarrollando tor).
Para mostrar el impacto del centro de datos, ha proporcionado un vídeo del interrogatorio en el congreso americano del General Alexander (la persona más poderosa del mundo de acuerdo a Jacob) en el que responde que en ningún caso se dedican a intervenir las comunicaciones de los ciudadanos americanos, y que de hacerlo lo harían con las garantías de la ley americana, pero Jacob nos hace notar que eso es porque se dedicarán a intervenir las comunicaciones del resto de la humanidad.

Y el hecho de que sólo sea vigilancia no es poca cosa, porque cosas como los asesinatos mediante UAV se hacen posibles mediante la vigilancia. Pero el impacto de la vigilancia llega a cosas menos extremas que la guerra, porque puede hacer disponibles datos que puedan condenar a alguien por homosexualidad, por ejemplo.
Continua con toda una serie de ejemplos de ataques del gobierno americano sobre gente de Wikileaks o Bill Binney, con leyes secreteas o interpretaciones secretas, como la sección 2/15 de la Patriot Act, que dice que es interpretada secretamente por la policía americana en una manera totalmente contraria a las libertades americanas. Esto es claramente una injusticia, que potencialmente puede impactar a cualquiera. Y aunque todos piensan que el sistema es justo y al final no maltrata a ciudadanos inocentes, las víctimas no tardan en convencerse de lo contrario.
Con cierta emoción cuenta el caso de su madre, que tiene una enfermedad mental, pero que debido a ello ha sido acusada de un delito y va a ser internada hasta tres años en una institución mental sin ni siquiera haber sido sometida a juicio, y el piensa que podría ser una venganza sobre él. Cita que ella dice que ha sida interrogada por su hijo y Wikileaks en dos ocasiones, pero que debido a su enfermedad mental no es fácil saber si eso se corresponde con la realidad...
Ha recomendado la charla posterior de Bill Binney, Thomas Drake y Jessely Radak cuentan su experiencia como enemigos (inocentes) del estado para todos aquellos que tengan dudas sobre si debemos hacer algo por proteger la libertad de expresión y el derecho al anonimato, algo para lo que cualquiera puede ayudar instalando un nodo de salida de tor.
Dentro de la parte de anuncios, ha dicho que ya tienen desarrollado un programa basado en tor (llamado Uniprobe) que permite detectar la censura en Internet, y que lo han probado con éxito en Myanmar.
Para terminar esta llamada a al colaboración, ha mencionado que todos pueden hacer algo por proteger a sus ciudadanos, pero ante todo lo que no hay que hacer es quedarse parados cuando otros son atacados. Menciona que aunque puede discrepar de Julian Assange, el trato que está recibiendo de los gobiernos no es correcto.
Y sobre el "hacktivismo", ha mencionado que puede ser útil, pero que destruir es fácil, que lo que realmente aporta es construir algo que proporcione más libertad a los demás... elogiando a los programadores del proyecto tor.
Y que la creatividad se puede utilizar para dar la vuelta al estado de vigilancia y volverlo contra sí mismo, citando la posibilidad de que gracias a las leyes de transparencia se podrían utilizar, por ejemplo, los datos de matrículas recogidos por los sistemas de vigilancia para detectar a los coches secretos de vigilancia y hacerlos públicos. Está en contra de la posibilidad de que haya policía secreta.
Para los que tengan curiosidad, aquí están las direcciones de las ubicaciones de intercepción que se pueden ver con Street View (todas menos una). Todas tienen pinta de centrales telefónicas (muchos edificios grandes sin ventanas, que están habitados por máquinas, que no necesitan luz del día).

miércoles, 26 de diciembre de 2012

29c3 virtual

Este año, veo el congreso desde lejos, a ver qué tal resulta...