tag:blogger.com,1999:blog-39042847090773734982024-03-06T01:15:01.347+01:00Frutos del CaosCrónicas de las visitas al CCC CongressUnknownnoreply@blogger.comBlogger126125tag:blogger.com,1999:blog-3904284709077373498.post-17513064030396540272014-12-29T13:36:00.000+01:002014-12-29T22:39:26.853+01:00Charlas relámpago.Unas pocas charlas relámpago de la segunda tanda del tercer día:<br />
<ul>
<li><a href="http://ooni.torproject.org/">OONI</a>: Es una infraestructura que mide irregularidades de las comunicaciones por Internet que pueden ser síntomas de una escucha o interferencia o conformado del tráfico de una comunicación: manipulación del tráfico (DPI, conformado, etc.) o bloqueos de contenido. Además, los datos son totalmente abiertos y públicos.</li>
<li><a href="http://blocked.org.uk/">Blocked</a>: Una web sobre los sitios web que bloquean cada uno de los proveedores de UK, en cada uno de sus servicios. Propone una mejora para el bloqueo de contenidos: añadir al protocolo HTTP los códigos 450 (bloqueado por control parental) y 451 (bloqueado por razones legales).</li>
<li><a href="http://cyberpeace.fiff.de/">Campaña de Ciberpaz</a>. Plantean un entorno en el que se plantee un control de todas las herramientas que puedan ser consideradas ciber armas.</li>
<li><a href="http://scadastrangelove.blogspot.de/2014/11/bootkit-via-sms.html">Hacks con modems USB 4G</a>. Se pueden hackear, al estar todos gestionados como una página web. En general, cuando se conectan al ordenador le crean un interfaz ethernet, pero el modem aparece también como otro equipo con su propia dirección IP que se puede accder (incluso desde fuera). Los portales web de los modems están muy mal hechas desde el punto de vista de seguridad, de modo que son sensibles a XSS, por ejemplo desde un SMS enviado al modem y en algún caso tienen incluso un CGI para ejecutar comandos. Lo más peligroso es explotarlos remotamente por ejemplo transformándolos en un teclado que daría un acceso remoto total a un portátil, lo rearranca, y en el momento en que rearranca se convierte en un CD-ROM... La charla iba acompañada de un vídeo que mostraba todos los pasos.</li>
<li>Nueva distribución de Linux, llamada <a href="http://voidlinux.eu/">Void</a>, basada en el sistema de paquetes XBPS. Usa runit como sistema de init, no usa systemd. Tiene 4,5k paquetes. XBPS surgió como una alternativa a pkgsrc de NetBSD. De los 4,5k, 3,3k pueden ser complidados para armv6, armv7, etc. El sistema mide y optimiza todos los pasos de instalación.</li>
<li><a href="http://github.com/NerdyProjects">Estado de la autenticación WPA Enterprise</a>. Ese estándar está basado en 802.1x, que crea un túnel al servidor de auenticación RADIUS con PEAP/TTLS para enviar los datos de autenticación. Es susceptible a un ataque de hombre en el medio: si se crea una WiFi falsa, se puede capturar los login y password de los clientes que se intentan conectar a ella. El problema es que es necesario activar la comprobación de los certificados del servidor. En los móviles habituales, el estado es mixto: Apple permite distribuir los certificados necesarios con el perfíl de conexión, pero en Android no permite hacerlo de ninguna manera a pesar de tener la posibilidad por debajo... así que mejor no conectarse a la WiFi de empresa con un Android si no se quiere perder el control de la propia identidad.</li>
</ul>
Habia tres o cuatro más, pero había quedado a comer y me fui. Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3904284709077373498.post-61799350833521834852014-12-29T12:45:00.000+01:002014-12-29T22:26:16.075+01:00Construir un computador cuántico<a href="http://www.andreas-dewes.de/">Andreas Dewes</a> contó en <a href="https://events.ccc.de/congress/2014/Fahrplan/events/6261.html">esta charla</a> una introducción a la computación cuántica y describió el que él construyó como parte de su tesis doctoral, desmitificando un poco y aclarando el concepto.<br />
<br />
<h4>
Qué son y para qué sirven.</h4>
Originalmente, los computadores cuánticos se pensaron para simular sistemas de física cuántica, probablemente inspirados en una conferencia de Richard Feynman. Pero luego se vio que podrian ser útiles para otras cosas, en concreto en paralelización de algoritmos.<br />
Mientras que en la computación tradicional se trabaja con registros binarios y puertas universales (como la NAND o la NOR) y la prueba de si un password es válido requiere tiempo lineal, en la computación cuántica se trabaja con qubits y funciones probabilísticas.<br />
Un Qubit es una especie de átomo con dos estados, |0> y |1>. Todo Qubit estáen una combinación de esos dos estados, pero cuando se mide está sólo en uno de los dos estados.<br />
Cuando se tiene un registro de varios qubits, cada qubit está en una superposición de los dos estados, y el registro total está en una superposisicón de los 2^N estados.<br />
También existe un conjunto de puertas universales, pero lo que no se puede realizar con qubits es copiarlos, por lo que una puerta cuántica da como resultado el registro original y un cálculo específicoque es funcioón de para todos los qubits de entrada y sus 2^N estados.<br />
Otro ejemplo de puerta útil es la de mezclado (la traducción que se me ocurre de "entanglement"): cuando se toman como entrada dos qubits y los asocia de modo que la salida es una combinación de |01> y |10>, de modo que si una salida está a 0, la otra estará a 1 y viceversa.<br />
<h4>
Algoritmos cuanticos</h4>
En el hipotético caso de que tuviésemos una función cuyo resultado fuese un bit de si, por ejemplo un password fuese válido o no, con un ordenador cuántico, se podría realizar un cálculo para comprobar todos los password a la vez,
pero el problema principal sería cómo medir cuál es el resultado, ya que como el vector de resultado tendría todos los password posibles, el único estado que contiene el password correcto es uno de los estados menos probables del estado cuánto del sistema.<br />
Andrew ha explicado que una manera es mediante el algoritmo de Grover
(descubierto en 1996), que transfiere todas las probabilidades de los
estados no interesantes al estado que nosotros queremos. Por ejemplo, para 10 qubits
sólo hace falta hacer la operación de Grover 25 veces para restringir el resultado más probable al que nos interesa.
El algoritmo de Grove tiene una complejidad de O(sqrt(N)). Para
factorizar números, se puede usar otro el
algoritmo denominado de Shor que es de O(log(n)^3). <br />
<h4>
Constuir un ordenador cuántico simple (de dos qbits)</h4>
Tras repasar por encima varios sistemas de realizar bits cuánticos, como la trampa para iones que puede llegar a 50-100 qubits, Andrew se ha centrado en procesadores cuánticos mediante superconductores. Se basan en las propiedades de los superconductores que son cuánticos a bajas temperaturas, y él hizo uno de dos qubits para su tesis.<br />
Está basado en niobio que es superconductor a -264ºC y una unión cuántica que consiste en dos trozos de superconductor separados por un hueco de sustrato que conduce cuánticamente a bajas tempertuaras. Hay dos puertas de estas con un filtrado a ambos lados que lo separa del resto del circuito y una unión mediante un condensador que los acopla para hacer los cálculos.<br />
Todo eso se introduce en un recipiente capaz de refrigerar a 20mºK.<br />
Luego se encadenan los cálculos de varias puertas, y se repiten los cálculos varias veces para varias combinaciones con lo que se puede ver que el resultado correcto tiene probabilidades de 52-60% para ese estado frente a los otros tres.<br />
Si se puede hacer un computador de dos qubits, ¿por qué no se puede hacer de dos mil (p.e. lo que haría falta para atacar un password RSA)? Una de las principales limitaciones es lo que se llama la
decoherencia que es que el estado cuántico que liga todos los bits se desvanece al cabo de un tiempo. En los primeros sistemas cuánticos, sucedía al cabo de unos pocos
nanosegundos, y además al aumentar el número de estados aumenta la dificultad de
mantener la conexión entre todos los qubits la
medición correcta de los resultados.<br />
<h4>
Estado del arte</h4>
Para terminar, Andrew ha repasado las arquitecturas cuánticas más avanzadas en las diversas partes del mundo:<br />
<ul>
<li>UCSB con su arquitectura RezQu / Surface Code, que es muy parecida a la suya pero con más qbits.</li>
<li>Delft y Yale: utilizan resonadores de tres dimensiones (cajas metálicas donde los estados cuánticos se acumulan en determinados puntos por resonancia, en vez de microchips, que mantienen el estado cuántico más tiempo.</li>
<li>Un laboratorio de <a href="http://rsl.yale.edu/">Yale</a> que es el más avanzados en corrección de errores cuánticos: .</li>
<li>CEA Saclay: Sistemas cuánticos híbridos que se pueden transferir a centros NV en diamante. Esto queda muy poco claro, pero se explica en una charla posterior.</li>
</ul>
Para acabar, ha mostrado la evolución del tiempo de decoherencia a lo largo de la (corta) historia de la computación cuántica: de 1ns al principio de las investigaciones en 1999, hoy ya se llega a unos pocos centenares de us.<br />
Como resumen, Andrew comenta que realmente vamos a tener computadores cuánticos en breve, pero probablemente de la mano de investigación corporativa o estatal que son los que tienen el dinero para hacerlo.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3904284709077373498.post-38738651315071719872014-12-28T23:30:00.000+01:002014-12-28T23:43:50.441+01:00El impacto de Heartbleed en CloudFlareEn mi última <a href="https://events.ccc.de/congress/2014/Fahrplan/events/6212.html">charla</a> de hoy, <a href="https://twitter.com/grittygrease">Nick Sullivan</a> nos habla de cómo se abordó Heartbleed en la empresa CloudFlare.<br />
Desde el punto de vista de CloudFlare, lo que pasó es que un amigo notificó a Nick que había una vulnerabilidad en los Heartbeats de TLS, así que Nick recompiló SSL sin Hearbeats y los parcheo todos. Antes de que la vulnerabilidad fuese pública. ¿Por qué era importante en CloudFlare? Porque un millon de sitios Web están en CloudFlare.<br />
El 7 de abril, después de dos horas (12:00 aprox.) CloudFlare ya anunciaba que todos los clientes estaban parcheados. A las 13:00 la noticia llegó a los medios, se creó heartbleed.com y la madre de Nick se aseguró de que su hijo estaba bien.<br />
En ese momento, CloudFlare admitió un Hearbleed Scanner en su plataforma, que recibió de 10k a 20k escaneos por minuto. En total, unos 200M de escaneos.<br />
Desde entonces. registraron todas las peticiones de hearbleed malformadas: 69% eran de una longitud de 16384, probablemente de ssltest.py, 22% de filippo.io y un 2% de longitud 0 (ZMap).<br />
El problema de Hearbleed es que normalmente no queda registrado, se puede conseguir hasta 64k de memoria del servidor y esto puede tener todo tipo de datos secretos.<br />
¿Qué permite OpenSSL descubir? En principio, nada, porque en la biblioteca de OpenSSL bignum se borra todo nuevo número que se crea o se destruye.<br />
Pero para demostrarlo, crearon el desafío: crearon un servidor con una clave privada, y desafiaron a cualquiera que enviase un programa firmado con la clave privada. Pero llegó un tuit de Fedor Indutny en menos de 10 horas con la clave robada.<br />
¿Y cómo se obtuvo la clave? No mediante Heartbleed, sino que había un segundo bug en OpenSSL, habia tres números que se liberaban sin borrarlos. Aunque no se conseguía toda la clave en cada petición, había varios métodos para conseguirla en varias peticiones.<br />
Como consecuencia de esto, tuvieron que revocar los certificados, la revocación más masiva de todo internet, un orden de magnitud de lo que había hasta entonces.<br />
Pero el problema es que el servidor de certificados revocados CRL no aguantó la carga, Chrome no comprueba OCSP y además no funciona bien; y el sistema de Google, CRLSets, no incluyó los certificados de Cloudflare.<br />
Así que recurrieron a un hack en Chromium (en el código fuente del navegador) y revocaron sus certificados.<br />
<h4>
Conclusiones.</h4>
<ul>
<li>Descubrir cosas de código abierto no es sencillo de hacer.</li>
<li>Las nuevas funcionalidades deberían estar deshabilitadas por defecto.</li>
<li>Esperar lo inesperado.</li>
<li>Muchos de los ataques eran realmente escaneos como el de ZMap.</li>
<li>Crowdsourcing les ayudó a encontrar la solución a su duda sobre la vulnerabilidad.</li>
<li>No existe todavía una solución a la revocación de certificados</li>
<li>Hay que soprotar OpenSSL monetariamente.</li>
</ul>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3904284709077373498.post-56056585107484445892014-12-28T23:00:00.000+01:002014-12-28T23:21:47.942+01:00¿Qué hizo Heartbleed?En la penúltima <a href="https://events.ccc.de/congress/2014/Fahrplan/events/6321.html">charla</a> del día, <a href="https://zakird.com/">Zakir Durumeric</a> de la Universidad de Michigan habla de que pasó después de que Heartbleed fuese descubierto.<br />
En abril de 2014, cuando se descubrió el bug Heartbleed en OpenSSL se estima de que el 24-55% de los servidores HTTPS era vulnerable.<br />
La extensión de TLS denominada Heartbeat permite establecer el estado activo de una conexión, no era muy usada porque en la mayoría de los casos se podía hacer eso a nivel TCP. El problema era muy sencillo: la extensión tiene un campo de longitud para los datos que se utilzaban como respuesta a la pregunta de si estaba vivo, que no se comprobaba al responder, con lo que se respondía con datos de otras partes de la memoria del servidor.<br />
Una vez descubierto, el equipo de Zakir se puso a la tarea de modificar su herramienta ZMap para examinar el millón de mayores sitios web de Internet y si tenían la vulnerabilidad, a base de enviarles un paquete con una longitud de cero, que en las versiones correctas no devolvía ningún paquete y en las versiones vulnerables enviaba un paquete con cero bytes de respuesta.<br />
48 horas después de publicarse, hicieron su scan, con el resultado:<br />
<ul>
<li>45% soportaban SSL</li>
<li>de esos, sólo 60% soportaban Heartbeat</li>
<li>De esos, 18% eran potencialmente vulnerables, ...</li>
</ul>
Con ese porcentaje, estimaron que entre 25% y 55% eran vulnerables.<br />
¿Y respecto al resto de internet? se estima que el 11% de las direcciones IPv4 soportaban Heartbeat, y aproximadamente la mitad eran vulnerable, un 6% de las direcciones IPv6 eran vulnerable.<br />
¿Cuándo se parchearon todos? Pues respecto a los top 1M, hacia el 19 de abril sólo había un 4% de ellos vulnerables, pero no ha bajado del 3% todavía.<br />
El problema es que a partir de 22 horas después, ya había ataques indiscriminados a toda la Internet. Pero el número de atacantes era pequeño, sólo 11 equipos escanearon Amazon y la universidad de Michigan a la vez, lo que significaría que pocos hosts estaban escaneando toda la Internet, per sí que había más escaneos centrados por ejemplo en Amazon (201 hosts).<br />
Pero midiendo el nivel de parcheado, se vio que los sitios que fueron notificados que eran vulnerables el 28 de abril tenían un nivel de parches un 50% de los que fueron notificados el 5 de mayo.<br />
El problema más grave es que la vulnerabilidad requería cambiar el certificado de la web, pero sólo un 11% de los notificados lo cambiaron, y muchos de ellos los cambiaron por otros certificados con la misma clave pública que era vulnerable.<br />
Conclusiones:<br />
<ul>
<li>El ecosistema de código abierto no recibió la atención suficiente para evitar esta vulnerabilidad.</li>
<li>El ecosistema de HTTPS es muy frágil, después de Heartbleed hubo varias vulnerabilidades adicionales.</li>
<li>El uso de una PKI no está listo para revocar miles o millones de certificados de una vez. </li>
</ul>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3904284709077373498.post-80110171116847733512014-12-28T19:00:00.000+01:002014-12-28T19:35:51.978+01:00Internet of toiletsEn <a href="https://events.ccc.de/congress/2014/Fahrplan/events/6370.html">esta charla</a>, una charla que es como los premios IgNobel, que primero nos hace sonreír y luego nos hace pensar, se presenta una panorámica de todos los intentos de poner toilets online.<br />
<ul>
<li>Bathroom hall</li>
<li>En el <a href="http://bathroom.mit.edu/">MIT</a>.</li>
<li>Un juego: You're in control, un juego en el que una pantalla se ve dónde está impactando un chorro de agua artificial</li>
<li>Internet Loo roll Browser: permite imprimir en el rollo de papel higiénico trozos de internet para entretenerse mientras uno hace lo que necesita.</li>
<li>MSN iLoo: el primer WWW.C, con teclado impermeable. </li>
<li>Poo Power, del museo de Ciencia de Londres. No está claro si esto pasó de la fase de ideación, pero se estimaba que los 3M de visitantes podrían iluminar un edificio de siete plantas.</li>
<li>For free water, permite utilizar el agua de la cisterna para lavarse las manos después. Por supuesto, el agua de la próxima vez.</li>
<li>Shit happens, en São Paulo, Brazil.</li>
<li><a href="http://twitter.com/twitshitters">Twit shitters</a>.</li>
<li><a href="http://twitter.com/miketoilet">Mike's toilet</a>. Con un sensor ultrasónico que cuesta 30$, permite detectar la presencia de alguien en el toilet.</li>
<li>hacklab.TOilet, en Toronto, Canada. Es un arduino, pero desapareció después de investigar él sobre el tema.</li>
<li><a href="http://twitter.com/klootoer">c-base space station</a>, Berlin. Instalada desde 2012, en este momento está parada por la renovación del lugar, pero funcionó en 2014.</li>
<li>Internet of Toilets, una instalación que muestra el agua consumida cada día con el hashtag #IoT.</li>
<li>Internet of Things Toilet, permite detectar cuándo se acaba el papel.</li>
<li>Smart loos at Heathrow Terminal 2. Cuentan anónimamente el número de personas que los usan, para avisar a las personas de mantenimiento para limiearlo, además de adaptarse a la demanda de cuáles son los más usados.</li>
<li>Bio-Bus en Gran Bretaña, que funciona con biometano entre el aeropuerto de Bristol y la ciudad de Bath.</li>
<li>El estado del arte en Japón: Neorest: Secador, extracción de olores, calentamiento del asiento, masajes, apertura automática de la tapa, tirado automático de la cadena, etc.</li>
<li>Estado del arte en Medicina: unos para uso médico, permite medir el nivel de glucosa y otros indicadores de salud.</li>
<li><a href="http://tinyurl.com/satis-bluetooth">Vulnerabilidad del PIN bluetooth</a>: el fabricante del equipo Satis de SpiderLabs, tiene la debilidad es que cualquiera puede controlarlos remotamente al ser el PIN 0000.</li>
</ul>
Como resumen, se pueden controlar un montón de variables de los toilets: el consumo de agua, el uso del papel, la ocupación, el audio, análisis de los gases, mejoras del confort, uso para animales, en trenes, aeropuertos, su uso energético y médico.<br />
Pero en realidad los inodoros son un problema a nivel global, y tienen su día, el ¿29? de noviembre.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3904284709077373498.post-77264908299113338832014-12-28T18:15:00.000+01:002014-12-28T22:47:59.644+01:00La privacidad y los mercadosEn <a href="https://events.ccc.de/congress/2014/Fahrplan/events/6202.html">esta charla</a>, <a href="http://www.reubenbinns.com/">Reuben Binns</a>, nos habla de alterantivas a la publicidad online que permitan a los consumidores contactar con los proveedores sin las disfunciones de la publicidad online.<br />
El mercado de la búsqueda online está financiado por publicidad dirigida online, que es muy diferente de la publicidad tradicional en el sentido que puede personalizarse a cada consumidor que la ve, en este momento constituye un 20% de la industria de publicidad y el 90% de los ingresos de gigantes como Google.<br />
Con una configuración compleja (todavia no tengo una copia del diagrama que ha mostrado), la industria de la publicidad digital según Reuben no está sirviendo ni a los productores ni a los consumidores adecuadamente.<br />
Desde el punto de vista de los proveedores, las disfunciones que ha detectado son que: Aparentemente un 44% de los anuncios no están en partes de la página que se vean. Además de eso, hay bloqueadores de anuncios, fraude y perfiles de consumidores que son incorrectos y por tanto, inefectivos.<br />
Desde el punto de vista de los consumidores tampoco: los anuncios se pueden usar para vigilar a los usuarios, se puede hacer llegar los perfiles de marketing en manos indeseables, se puede hacer discriminación a determinados grupos o personas además de los anuncios maliciosos (malvertising).<br />
Según Reuben, puede ser que cuando las cosas están demasiado personalizadas se produce una reacción negativa como cuando un robot es antropomorfo pero no es humano del todo, el denominado <a href="https://es.wikipedia.org/wiki/Valle_inquietante">uncanny valley</a>.<br />
<h4>
¿Qué alternativas puede haber?</h4>
Desde el punto de vista de los consumidores, se podría tener una estrategia como la de las grandes compañías, de pedir presupuetos a varios provedores de nuestra necesidad (RFP: "Request for proposals") como se puede hacer hoy en las web flubit o bespoke offers.<br />
O se podría tener compras colectivas, que permiten que un intermediario agregue la demanda de muchos usuarios para tener poder de negociación frente a grandes compañías, como en el caso de energía o bancos. Esto no es nuevo, ya existía en las cooperativas clásicas que hacían este tipo de compras para grandes colectivos de empleados.<br />
A la hora de buscar innovaciones que no se pueden encontrar en respuestas a RFP, se pueden usar los sitios de crowdsourcing que prometen a los proveedores un mercado si su innovación es deseada: Kickstarter, IndieGoGo y Snowdrift. Se denomina la economía de la compra anticipada.<br />
De todas estas soluciones, la única cosa que falta sería la posibilidad de descentralizar los mercados para que los usuarios y fabricantes puedan ofertar y pedir anónimamente (como la "Web of needs" que ha realizado uno de los asistentes). En esto se tendría por un lado servicios de compra colectiva o de contratos de aseguramiento (crowdsourcing) y por otro lado los clientes en un mercado distribuido que los conecte unos con otros.<br />
¿Por qué hacer todo esto?<br />
Porque a pesar de todos los intermediarios que ha quitado Internet, el exceso de información hace que los consumidores sigan estando impotentes frente a los fabricantes y ambos ante los proveedores de búsqueda.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3904284709077373498.post-88220834525007619362014-12-28T17:30:00.000+01:002014-12-28T18:16:24.435+01:00Creación de la armería USBEn <a href="https://events.ccc.de/congress/2014/Fahrplan/events/6541.html">esta charla</a> <a href="https://twitter.com/AndreaBarisani">Andrea Barisani</a>, de Inverse path, nos explica la creación de su proyecto llamado "<a href="http://inversepath.com/usbarmory">USB armoury</a>", que ya está disponible en preventa de <a href="https://www.crowdsupply.com/inverse-path/usb-armory">crowdsupply</a> (en la presentación del congreso todavía no había alcanzado el objetivo de 65k$).<br />
El equipo es un dispositivo USB, de un tamaño parecido a una memoria USB (más bien como un modem USB), pero que contiene un procesador ARM, 512 MB de RAM y una ranura para micro SD.<br />
Se seleccionó el chip freescale iMX53 porque tenía una CPU potente y estaba bien documentado sin necesidad de NDA, de modo que pueda ser un ejemplo de hardware abierto.<br />
Parte del diseño era usar la funcionalidad "TrustZone" que permite
separar el sistema operativo normal de la parte segura, de modo que un
virus no pueda acceder a las claves secretas, el proyecto está pensado para aplicaciones de seguridad (y eso se refleja en un coste de $140).<br />
El proyecto ha llevado más o menos un año, desde principios de 2014 en que tuvieron el esbozo del primer proyecto hasta finales de 2014 que han llegado al prototipo MK1, que será el dispositivo final que se venda en marzo.<br />
Además de funcionar emulando dispositivos USB (p.e. puede emular ser una tarjeta Ethernet y detrás de la tarjeta aparecería el ordenador virtualmente), también puede funcionar en modo de Host, aunque requiere un adaptador especial que lo alimente.Dentro de los no pocos problemas que han tenido al diseñar el hardware, han señalado los dos más complejos de realizar:<br />
<ul>
<li>El chipset es muy pequeño e intentaron hacer una placa a mano para la alfa, pero no fue posible porque las tolerancias no se podían cumplir en un proyecto realizado a mano.</li>
<li>Usaron KeyCAD para diseñar el chipset, aunque fue algo muy delicado que costó mucho trabajo, por ejemplo en conseguir que todas las pistas son de la misma longitud.</li>
</ul>
Cuando ya les llegó la versión alfa de la tarjeta, funcionó a la primera, por suerte. La versión alfa tenía además de todo el hardware objetivo, un conector Jtag para depurar en los puntos necesarios, si hiciese falta.<br />
Han señalado dos lecciones aprendidas:<br />
<ol>
<li>Los inductores pequeños son frágiles. Se rompieron de sólo apoyarlos en la mesa, por lo que tuvieron que cambiar de modelo para la versión definitiva.</li>
<li>Las trazas dejadas por el recubrimiento de oro del primer fabricante les causó un problema misterioso: un retardo de cinco segundos antes de arrancar. Resultó ser la protección estándar de USB cuando se detecta un voltaje bajo, causado porque había unos residuos de traza que hacían contacto primero pero no conducian bien antes de hacer contacto definitivo al meterlo y sacarlo. al final lo evitaron con un proceso que deja un pequeño agujero en la parte exterior de la pista, la que hace contacto más tarde.</li>
</ol>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3904284709077373498.post-74769557203721470812014-12-28T11:32:00.001+01:002014-12-28T12:26:35.704+01:00De computación a concienciaLa <a href="http://events.ccc.de/congress/2014/Fahrplan/events/6573.html">charla</a> de <a href="https://www.linkedin.com/in/joschabach">Joscha</a> <a href="http://cognitive-ai.com/">Bach</a> que vuelve al CCC para hablarnos sobre la conciencia y cómo se puede simular con computación comienza con las cuantro preguntas clásicas:<br />
<ul>
<li>¿Qué podemos concocer?</li>
<li>¿Cuál es la naturaleza de la realidad?</li>
<li>¿Quiénes somos?</li>
<li>¿Qué deberíamos hacer?</li>
</ul>
Para responderlas, hay que comenzar a pensar cómo experimenta nuestra mente el universo.<br />
Husserl planteaba que nosotros percibíamos fenómenos y los transformábamos en "noema", mediante un proceso denominado noesis. Pero esto daba por supuesto la existencia de la noesis, plantando sobre cimientos de arena toda una teoría filosófica que se derrumbó posteriormente.<br />
Para un robot, el mundo son sólo bits, y sus representaciones cognitivas en su memoria. De la misma manera, se ha modelado el proceso cognitivo humano desde percepciones a conceptos.<br />
A continuación se repasa el proceso de percepción visual humana:<br />
<ol>
<li>Primero se recibe la luz en la retina</li>
<li>A continuación se pasa al tálamo.</li>
<li>Y de ahí llega al cortex visual en la parte trasera del cerebro, donde hay una gran densidad de neuronas, organizadas en columnas. Se estima que se pueden codificar unas 300k características visuales que
se perciben en el cortex visual, de orientación, frecuencia y color. </li>
<li>De ahí se pasa a la zona V2, donde se tiene una imagen completa</li>
<li>En V3 se añade color y movimiento</li>
<li>En V4 se añaden figuras. No se sabe si los humanos tienen V4</li>
<li>En V5 se ve el movimiento y en V6 la propia percepción.</li>
<li>De V5 se va al inferior temporal gyrus, donde se perciben multiples cosas, como la capacidad de reconocer las caras.</li>
<li>De ahi se añade el cortex dosrsolateral preforontal, donde se produce el foco de la atención a las carcterísticas más interesantes. </li>
</ol>
La ventaja de un modelo perceptual como este, es que se puede usar como especificación para realizar un modelo computacional para un ordenador.<br />
Tipos de representaciones que podríamos usar:<br />
<ul>
<li>Simbólica/linguística</li>
<li>Esquemática/composicional</li>
<li>Asociativa/no composicional</li>
<li>Generativa </li>
</ul>
De las cuatro representaciones, la más útil computacionalmente Joscha piensa que es la generativa. <br />
<h4>
¿Cómo funciona la percepción? </h4>
De un conjunto de posibles interpretaciones, la atención filtra las que nos interesan, y el filtrado perceptual las que son coherentes con los demás sentidos.<br />
El acceso a la memoria funciona de manera percepción a la percepción, pero con una fase en la que añade de la memoria esquemas que se están recordando.<br />
Según él, de aquí se produce la conciencia, que no es realmente un agente, sino la representación que de sí mismo tiene el cerebro. Y el libre albedrío son decisiones que son influenciables por los pensamientos y discursos externos.<br />
<h4>
¿Qué es la conciencia?</h4>
<ul>
<li>No es la posibilidad de reconocerse en el espejo, que es una tarea muy limitada, que depende de reconocer sólo la propia imagen.</li>
<li>No es la continuidad de la experiencia, porque la experiencia no es continua.</li>
<li>No es información integrada, porque el ordenador puede estar totalmente coherente pero no es consciente.</li>
</ul>
Según él, es un conjunto de funciones cognitivas:<br />
<ul>
<li>Espacio perceptual local</li>
<li>Acceso al contenido perceptual</li>
<li>Un modelo del mundo actual</li>
<li>Atención dirigida</li>
<li>Acceso a conceptos, episodios, simulaciones</li>
<li>y dos más que no podido apuntar.</li>
</ul>
Según el, hay una jerarquía de estados de conciencia por encima de los sueños, los sueños lúcidos, la vigilia, la vigila competente y luego estados alterados como la meditación o los estados irregulares de la conciencia.<br />
Por ejemplo el amor es un conjunto de estados separados y solapados...<br />
Pasaamos a la parte computacional, que es el conjunto de:<br />
<ul>
<li>Un conjunto de instrucciones</li>
<li>La instrucción actual</li>
<li>El estado actual del universo</li>
<li>Las reglas de transiciones entre los estados en función de las instrucciones</li>
</ul>
Esta primera definición es dualista, en la que no se tiene en cuenta la posibilidad de que las acciones tengan consecuencias en el universo.<br />
Una solución sería que el universo sea la que calcule la mente... O que la mente incluya el universo, que sería un universo imaginado o soñado. El problema es que esto no tiene referencias a los hechos del mundo, pero se podría decidir entre las diferentes codificaciones de la percepción del mundo, de acuerdo a muchos criterios.<br />
Si se abandona la noción de verdad y la correspondencia con la realidad, la percepción es la cuestión de cuáles de las representaciones de la realidad es la mejor. Y se pueden poner un conjunto de criterios que nos permitan escoger la mejor representación (el presentaba una docena en pantalla).<br />
De acuerdo a esto, las respuestas a las grandes preguntas, serían:<br />
<ul>
<li>¿Qué podemos concocer? Información.</li>
<li>¿Cuál es la naturaleza de la realidad? Lo que genera nuestras percepciones.</li>
<li>¿Quiénes somos? Sistemas que codifican una representación adecuada del universo.</li>
<li>¿Qué deberíamos hacer? Disminuir entropía, amar y crear inteligencia artificial.</li>
</ul>
Y por supuesto, que podemos crear una conciencia artificial. Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3904284709077373498.post-62311690892421346092014-12-27T22:00:00.000+01:002014-12-28T14:00:35.597+01:00¿Qué son las curvas elípticas?La última <a href="http://events.ccc.de/congress/2014/Fahrplan/events/6369.html">charla</a> del primer día a la que asistí resultó ser una <a href="http://events.ccc.de/congress/2014/Fahrplan/system/attachments/2501/original/20141227.pdf">introducción muy asequible</a> de cómo funcionan las curvas elípticas para cifrar. Particularmente interesante es el formato de presentación de doble página que facilitaba mucho seguir las explicaciones, aunque os enlazo a la normal que es más fácil de seguir y tiene menso páginas.<br />
Voy a intentar hacer un resumen, explicando los conceptos básicos, aunque para los detalles recomiendo leerse la charla que tiene todo el codigo en python de ejemplo además de las ecuaciones.<br />
El cálculo básico que han enseñado es un cálculo irreversible que permite ser usado en cifrados asimétricos como los que se usan para firmas de clave pública o protocolos para intercambio secreto de claves. Aunque también pueden ser usados para cifrados de clave secreta, simétricos, en la charla no se explicó cómo hacerlo.<br />
Para entender los cálculos, se comienza mostrando el cálculo sobre un círculo en lugar de una curva elíptica. Un cifrado de clave asimétrica en un círculo consiste en multiplicar por un escalar el ángulo de un punto del círculo, haciéndolo además con una aritmética con un módulo primo grande.<br />
Lo primero que mostraron es cómo es la suma (de ángulos) de dos puntos del círculo. Aunque requiere trigonometría, la suma de dos puntos (x1,y1) y (x2,y2) es una fórmula sencilla en el círculo: (x1*y2+x2*y1, y1*y2-x1*x2). Una vez se tiene explicada la suma, el multiplicar por un escalar --n*(x,y), representado como n(x,y)-- es simplemente sumar repetidamente un número consigo mismo.<br />
En este sistema de cifrado, son conocidos por todos el punto inicial, (x,y) y el módulo p en el que se realizan los cálculos, y la clave pública para por ejemplo un intercambio de Diffie Hellman serían a(x,y) y b(x,y) que permiten calcular el secreto común a(b(x,y)) = b(a(x,y)), y los secretos son a y b, ya que es muy difícil calcular a partiendo de a(x,y) ya que el cálculo módulo p y el hecho de que al multiplicar el punto da muchas vueltas al círculo lo hacen muy difícil de adivinar.<br />
De hecho, la principal ventaja de las curvas elípticas es que la mejora de los métodos para factorizar números que afectan al RSA no debilitan nada el algoritmo.<br />
Para realmente usar curvas elípticas, en lugar de un círculo x^2+y^2=1, se usa una curva elíptica, en la que por ejemplo:<br />
<ul>
<li>x^2+y^2=1+dx^2y^2 (curvas de Edward)</li>
<li>y^2=x^3+ax+b (curvas de Weierstrass)</li>
<li>Ay^2=x^3+Bx^2+x (curvas de Montgomery)</li>
</ul>
Por terminar el ejemplo de las curvas de Edward, la fórmula de la suma de dos puntos, pasa a ser muy parecido, añadiendo un factor divisor a los términos: ((x1*y2+x2*y1)/(1+d*x1*x2*y1*y2), y1*y2-x1*x2/(1-d*x1*x2*y1*y2)), a los factores conocidos anteriormente es necesario añadir el factor d de la curva.<br />
En la charla se han mencionado además varios criterios que son necesarios para usar adecuadamente las curvas:<br />
<ul>
<li>Escoger un d que sea seguro y no produzca excepciones (si d es un cuadrado, los denominadores de las divisiones anteriores pueden ser cero).</li>
<li>Escoger un primo p que sea seguro. </li>
<li>Tener cuidado con los ataques de temporización o escuchas (puede deducirse n del tiempo de computación o las frecuencias emitidas por la CPU)</li>
</ul>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3904284709077373498.post-62331077360459731102014-12-27T20:30:00.000+01:002014-12-28T09:49:52.149+01:00¿Llegarán los científicos a tiempo parcial al espacio?En la siguiente <a href="http://events.ccc.de/congress/2014/Fahrplan/events/6180.html">charla</a> del día, varios miembreos del grupo autodenominado <a href="http://ptscientists.com/">científicos a tiempo parcial</a>, nos cuentan lo cerca (o lejos) que están de aterrizar en la luna.<br />
En la primera parte el equipo ha presentado lo orgullosos que están de haber sido seleccionados como finalistas para los <a href="http://lunar.xprize.org/about/milestone-prizes">"Milestone Prizes"</a> de movilidad y cámara. Como de todos los candidatos para los "Google Lunar X Prize" ninguno tenía todavía planes de lanzamiento, Google ha decidido incentivarlos otorgando seis millones de dólares repartidos en tres premios a los que tengan la mejor realización del equipo de aterrizaje, de movimiento por la luna y la cámara para transmitir imágenes (recordemos que hay que aterrizar en la luna, moverse 100m y enviar una imagen de vídeo HD desde allí). Puede haber hasta 4 vencedores en cada una de sus categorias, por lo que prácticamente no les queda más que superar algunos test para ganarlos.<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/Nz4IrGSpZjY?feature=player_embedded' frameborder='0'></iframe></div>
<br />
El anuncio del día es que en su robot se han dado cuenta de que hay unos módulos que están dentro de su lander para estabiliar los paneles solares, que tienen que dejarlos caer en la superficie de la luna (drop containers, DC).<br />
La colaboración es pedir ideas que se puedan meter en esos contenedores que se puedan dejar en la luna. Pueden pesar hasta 20kg. ¿Qué ideas se les han ocurrido a ellos?<br />
<ul>
<li>Una impresora 3D que pueda imprimir piezas a partir del regolito de la superficie de la Luna.</li>
<li>Algún tipo de archivo permanente de información que se pueda enviar a la Luna y dure centenares de años. P.e. un DVD resistente, pero habría que poner también instrucciones para leerlo.</li>
<li>Alguna placa que recuerde a los sponsor del proyecto.</li>
</ul>
Requisitos:<br />
<ol>
<li>Que sea abierto.</li>
<li>Que sea innovador.</li>
<li>Que esté disponible, que no sea tecnología de dentro de 10 años.</li>
</ol>
El objetivo es tener un estándar para misiones que dejar en la Luna. Por ejemplo, para investigar los extraños rayos que se producen en un amanecer lunar.<br />
El proyecto se hará público el 15 de enero, por los participantes del 31C3 y los lectores de este blog tienen algo más de tiempo para pensárselo.<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/kyinDLjXWE4?feature=player_embedded' frameborder='0'></iframe></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3904284709077373498.post-15486599018838812682014-12-27T18:30:00.000+01:002014-12-27T19:11:57.476+01:00Defenderse de las redes móvilesEn <a href="http://events.ccc.de/congress/2014/Fahrplan/events/6122.html">esta charla</a>, Karsen Nohl, nos cuenta cómo defendernos de ataques mediante redes móviles.<br />
La charla continúa la <a href="http://frutosdelcaos.blogspot.com/2014/12/utilizar-ss7-para-localizar-y-seguir.html">charla anterior de Tobías</a>, con un planteamiento diferente.<br />
Se identifican cinco tipos de ataques que se pueden realizar mediante SS7: localización de un usuario, interceptación de llamadas, mensajes y datos de internet, denegación de servicio (impedir recibir o hacer llamadas, etc.), fraude (cargar servicios a otro usuario) y envío de spam.<br />
De esos cinco tipos, esta charla se centra en las posibilidades de interceptación de llamadas.<br />
<ol>
<li>Uno de los problemas es que se permite acceder a un mensaje pensado para ser hecho internamente que pide la clave de encriptación actual.</li>
<li>Otro es el problema de lo IMSI catcher, que son nodos GSM falsos que permiten pedir a los terminales (aprovechando que la red GSM no tiene autenticación de la red) informaciones como su número IMSI. En 3G se autentica la red, pero un nodo falso podría pedir autenticación a otro nodo y utilizar su información para hacerle creer al terminal que es legítimo.</li>
<li>Redirección de llamadas. Con esto se ha demostrado que mediante estos ataques se permite desviar la llamada de un usuario a otro teléfono que se registra como el primero (que luego podría desregistrar el desvío y llamar al usuario de destino real e interceptar la llamada).</li>
</ol>
De los tres ataques, el 1 se puede bloquear sin perdida de funcionalidad, pero los problemas 2 y 3 no se solucionan tan fácilmente porque esos mensajes son necesarios para que la red funcione correctamente, pero como mínimo es necesario que los originadores de los mensajes sean verosímiles y que el volumen de mensajes de ese tipo que se recibe de un determinado usuario sea consistente (las operaciones de intervención intervienen miles de números a la vez).<br />
Demostración que obtiene primero el IMSI, luego la MSC y la ubicación (el cell-id). Después nos movemos a esa ubicación y vemos un mensaje para ese IMSI, podemos capturar su información de cifrado, y de ahí podemos escuchar y descifrar sus SMS. Esto ya ha sido bloqueado en 2 de las 4 redes de Alemania.<br />
En charlas anteriores, se mostró que con un teléfono osmocom y el crack de la cifra A5/1 se podrían descifrar llamadas GSM. Para 3G, se tiene que usar un hardware más sofisticado pero todavía con una pregunta SS7 conseguir los datos necesarios para descifrar (no es posible descifrar directamente con la información escuchada).<br />
Por eso Karsten ha creado la herramienta <a href="http://gsmmap.org/">GSM map</a>, que indica los operadores que están aplicando o no las medidas de seguridad (por ejemplo, en 3G se requiere que se cifren las llamadas y se cambien los TMSI frecuentemente).<br />
Otro problema es que muchos SIM todavía utilizan cifrados de 64 bits, en lugar de los 128 bits que podrían soportar nuevos USIM. De las revelaciones de Snowden se sabe que ellos tienen capacidad de descifrar las claves A5/3 de GSM de 64 bits, por lo que sólo las SIM con capacidad de 128 bits serían seguras. Esto también se sigue en GSM map pero hace falta que muchos usuarios envíen sus datos para hacer ese mapa.<br />
Karten quiere atacar estos tres tipos de problemas que tienen una cosa en común: los teléfonos tienen capacidad de detectar los ataques, pero no son capaces de reportarlos. Esto lo ha hecho mediante una herramienta recientemente publicada, denominada <a href="https://play.google.com/store/apps/details?id=de.srlabs.snoopsnitch">Snoopsnitch</a>, que basado en la ingeniería inversa del código de banda base de los chipset de Qualcomm, detecta los ataques y envía la información a una App que lo puede informar al usuario. La herramienta es sólo un punto de partida, ya que prevén mejorarla soportando más chipsets, y les servirá para recoger datos de los usuarios que quieran compartir sus alertas de seguridad.<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3904284709077373498.post-25430389117965359482014-12-27T17:15:00.000+01:002014-12-27T18:30:42.171+01:00Utilizar SS7 para localizar y seguir a alguienEn <a href="http://events.ccc.de/congress/2014/Fahrplan/events/6249.html">esta charla</a>, <a href="http://berlin.ccc.de/~tobias/">Tobías Engel</a> nos cuenta cómo ha sido nuevamente (ya lo comentó en el 25c3) capaz de localizar usuarios de todo el mundo arbitrariamente conectándose a la red SS7, a partir de identificar que había <a href="http://www.verint.com/solutions/communications-cyber-intelligence/products/engage/index">proveedores comerciales</a> que ofrecían <a href="http://apps.washingtonpost.com/g/page/business/skylock-product-description-2013/1276/">ese servicio</a>, así como intervenir sus llamadas, SMS y activarles servicios suplementarios.<br />
<h4>
Introducción al SS7. </h4>
La señalización de las redes de tráfico móvil se han ido construyendo, comenzando con el sistema de señalización de las redes fijas (SS7), a los que se ha añadido una parte para señalizar las llamadas móviles (MAP) y otra para el uso de los servicios en roaming (CAP, CAMEL Access Part).<br />
El sistema utiliza unas direcciones denominadas Global Title para encaminar, aunque no son fáciles de conseguir, algunos operadores ceden algunos como partes de sus acuerdos de roaming u otros tipos de servicios.<br />
Para entender los problemas es necesario saber que los datos de un usuario que está fuera de su red se almacenan en una base de datos denominada VLR (registro del usuario visitante) que es una copia de los datos que tiene en su red de origen (en la base de datos HLR, registro del hogar del uusario). Existe otro tipo de nodos denominados MSC que responden a preguntas parecidas en otras circunstancias.<br />
<h4>
Localizando a los usuarios.</h4>
Cada estación base del mundo tiene una dirección única, y a partir de ahí es posible identificar la ubicación geográfica de la estación base. Varias empresas, como Google, tienen acceso a las tablas de correspondencia entre identificadores y ubicaciones locales.<br />
La historia comienza identificando unos proveedores que argumentan poder identificar con una tasa de éxito del 70% cualquier usuario del mundo (siempre que no sea de EEUU o sea de Israel y esté en Israel).<br />
A partir de ahí, se ha identificado que mediante el protocolo MAP, el servicio anyTimeInterrogation permite preguntarle al HLR la combinación de red y cell id donde está un usuario. Hoy en día, todos los operadores europeos ya no responden a ese servicio.<br />
Pero sin embargo, todavía se puede preguntar a la red para enrutar SMS cuál es MSC / VLR donde está un usuario, y los MSC y VLR sí que responden al servicio ATI. <br />
Con permiso de los usuarios, han sido caapaces de seguir a varios usuarios que han consentido en pemitiro, y Tobías ha sido capaz de mostrar un mapa las ubicaciones recogidas de esos usuarios. Como por ejemplo un usuario holandés que reside en Seattle, y que se puede ver cómo vuelve a Holanda a su casa (que no se ha enseñado por privacidad).<br />
<h4>
Mitigación del ataque.</h4>
Hablando con un operador alemán, el operador vio el ataque, y comenzó a filtrar ese tráfico, averiguando, que la mayor parte era tráfico de otros operadores mal configurados.<br />
Pero aún así, siguió habiendo tráfico de atacantes que tenían acceso a los IMSI de los usuarios a través de otros métodos.<br />
Esto hay que hacerlo de manera sofisticada, ya que se ha identificado que en MAP hay que poner un atributo llado "Called Sender Party Address" que debe ser igual al que hay en en SS7, pero si se pone uno parecido a la red atacada, conservando en SS7 la dirección atacante, MAP lo responde a las preguntas. <br />
Eso significa que se puede preguntar al VLR/MSC por la ubicación de un usuario, aunque esté filtrando las direcciones. Y esto no sólo permite leer los datos, sino también modificar la información de un usuario, como su capacidad de recibir SMS.<br />
<h4>
Ataques a CAML</h4>
CAML permite hacer cosas como llamar desde el extrajero con la numeración de tu país, lo que se hace en un sistema intermedio denominado gsmMSC cuya dirección se almacena en el VLR que reescribe los números de teléfono y se los envía al VLR para enrutar la llamada. El problema es que si un atacante le envía al VLR un comando para cambiar el número de destino del gsmMSC, se pueden mediante un gsmMSC atacante, desviar todas las llamadas a un punto de captura que permite grabar llamadas sin que el usuario lo sepa ni nadie se de cuenta, o desviarlas a un destinatario diferente. Tobías ha sido contactado por un operador de Ucrania que ha detectado un ataque de este tipo desde Rusia.<br />
<h4>
Ataque al HLR</h4>
Otro problema de SS7 es que cuando un usuario está en el extranjero, el VLR le envía un mensaje al HLR indicando en qué red está visitando el usuario. Esto permite que un atacante le envíe ese dato al HLR, que a su vez le va a dar esa información al SMSC cuando intente enviar SMS al usuario (afortunadamente esto no funciona para las llamadas), esto permite interceptar cualquier sistema de seguridad adicional de un banco que esté basado en SMS (¡!).<br />
El HLR también ejecuta varios comandos mediante un protocolo denominado USSD, que las redes utilizan para diferentes propósitos por ejemplo los desvíos de llamadas o el saldo de prepago, y que también se puede atacar.<br />
<h4>
Ataques híbridos</h4>
Los ataques híbridos requieren además de enviar datos en la red SS7, obtener datos a partir de capturas de tráfico móvil en el aire de un teléfono cercano.<br />
Por ejemplo, si se captura el TMSI (el identificador del usuario en la red visitada), se puede suplantar al usuario y pedir su identificador y con él su ubicación.<br />
LTE: en LTE se sustituye SS7 por Diameter, pero se sigue sin tener autenticación extremo a extremo.<br />
<br />
(Resumen de las vulnerabilidades pendiente)<br />
<h4>
Contramedidas.</h4>
Los operadores pueden usar un equipo denominado SMS router que ya no requiere permitir que otros hablen con los VLR/MSC, eliminando ese vector de ataque.<br />
<h4>
Demostraciones</h4>
La charla ha terminado con una demostración en la que se ha activado el bloqueo de llamadas a un determinando número y se han desviado las llamadas a otro número de teléfono.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3904284709077373498.post-12787425939443931372014-12-27T16:00:00.000+01:002014-12-28T12:55:31.802+01:00Hackeando comunicaciones por satéliteEn <a href="http://events.ccc.de/congress/2014/Fahrplan/events/6267.html">esta charla</a>, Sylvain Munaut nos describe cómo atacaron el sistema de telefonía por satélite <a href="http://gmr.osmocom.org/trac/wiki/Thuraya">Thuraya</a>, basado en el sisetma GMR-1 que se utiliza para comunicaciones por satélite, de voz y datos.<br />
Hay dos estándares de GeoMobile Radio, GMR-1 y GMR-2, que compiten entre sí, habiendo sido ambos estandarizados por ETSI. En esta charla se describe el GMR-1, con amplia cobertura en Europa y medio oriente, aunque sólo está muy usado en Oriente Medio, principalmente porque es el que tiene los temrinales más baratos en eBay.<br />
<h4>
Introducción al sistema GMR-1</h4>
El sistema GMR-1 es muy parecido a GSM pero tiene todos los nombres de los elementos cambiados.<br />
Como principal diferencia, al tener muy poca cobertura en interiores, tiene un canal de señalización llamado HPAC (high penetration Alerting Channel), que permite señalizar una llamada. Esto indica al usuario que hay que salir al aire libre para tener cobertura (ya que la llamada no se puede contestar en interiores).<br />
Las dos principales diferencias es que el sistema utiliza un codec de audio denominado AMBE y un cifrado llamado A5-GMR1.<br />
Tiene la misma red de núcleo que una red GSM normal, lo que permite reutilizar un SIM para usarlo en GSM.<br />
<h4>
Trabajo anterior:</h4>
Han conseguido antenas en el mercado de segunda mano.<br />
Procesamiento SDR para recibir la señal.<br />
Pero hasta ahora no se podía hacer nada en cuanto comenzaba la transmisión cifrada.<br />
<br />
AMBE: es el codec de voz pero que en el estándar no se describe más que a muy lato nivel. Implementado por una compañía llamada DVSI. Aunque DVSI vende un USB codec que decodifica otros codec AMBE (hay toda una familia de codec), no sirve para los satélites.<br />
Sin embargo, existe una biblioteca llamada mbelib que decodifica otros codecs AMB. Y por supuesto, está en el hardware chipset de los teléfonos.<br />
AMBE es un vocoder que identifica la voz e intentar reconstruir algo que se parece al original. Por cada segmento de 20 ms, se descompone la voz en cuatro parámetros:<br />
<ol>
<li>La frecuencia fundamental</li>
<li>El volumen</li>
<li>voz o no voz de cada trozo espectral (un tono o ruido en toda la banda).</li>
<li>Magnitudes espectrales de la señal.</li>
</ol>
Para decodificar, lo que se hace es desempaquetar la señal en parámetros, descuantificar la señal y sintetizarla.<br />
<h4>
Ingeniería inversa del teléfono SO-2510</h4>
Aunque el codec podría estar en varias partes del teléfono, se indicaba que fuera del DSP de TI C55x no podía estar.<br />
Pero tras un correo con Dieter Spaar le ayudó a encontrar los puntos de entrada para la decodificación y codificación, a base de buscar los puntos desde donde se accedía a la memoria DMA y donde se ponía una separación completa del resto del código. <br />
Aun así, es un tercio de los 250k de código del DSP, y es difícil de entenderlo. Pero usando un simulador de TI (de Windows), fue posible para Sylvain en unos pocos días de trabajo y de intentos, usarlo para decodificar capturas de audio de teléfonos reales, pero de manera muy laboriosa y más lento que en tiempo real.<br />
El siguiente paso es hacerlo funcionar en un DSP real, Dieter volvió a ayudar porque es necesario encontrar un dispositivo de modo que se pueda ejecutar en la dirección para la que fue compilada. Con eso ya se podía ejecutar a 16x veces, pero siendo SDRAM más lenta que la SRAM tuvo reubicar algunas tablas críticas a SRAM.<br />
Finalmente debido a pedir una tarjeta DSP equivocada, Sylvain acabó escribiendo un reubicador de código, que resultó ser más sencillo de lo pensado, gracias a disponer de la versión del simulador para comparar.<br />
Pero eso no fue suficiente, y el siguiente paso fue intentar generar un código para decodificar, el desempaquetado fue fácil, la descuantificación fue la parte más complicada y para la síntesis se comenzó con mbelib pero acabó implementando el estándar P25 que era parecido e intuyendo cuáles eran las diferencias.<br />
No es perfecto, porque DVSI ha añadido mucho código que optimiza la calidad de la voz, pero eso se deja para otros que quieran mejorar la voz que ya es inteligible.<br />
<h4>
Decodificar el cifrado A5-GMR-1 </h4>
El siguiente paso fue decodificar el cifrado, que lo hizo un equipo de la universidad de Bochum, y que es relativamente parecido al estándar A5/2, pero cambiando todos los parámetros numéricos.<br />
El ataque RUB es capaz de tener éxito simplemente capturando una llamada cifrada, sin más contexto, ataca directamente a la trama TCH3 de voz. El primer ataque se deriva de un ataque anterior a A5/2, que era capaz de descifrar 32 paquetes en 40 minutos con 350 GB de tabla de datos precalculados.<br />
Como 40 minutos era mucho tiempo, se plantearon atacar las tramas FACCH3, que son tramas de control con un texto más predecible al ser tramas de control.<br />
Para atacar el codec, la idea es transformar el problema en una ecuación lineal entre la entrada conocida y la salida observada, a base de linealizar la ecuación (que consiste en introducir incógnitas para cada término cuadrático y probar los 65k posibles valores del reloj de cifrado.<br />
El problema consiste en comprobar cada una de las 65k matrices sobre los datos disponibles.<br />
Los resultados: si se conoce el paquete en claro, se puede hacer en 500ms con 50Mb de datos, mientras que partiendo sólo del código cifrado se tarda 1s en resolver con 500MB de datos.<br />
<h4>
Próximos pasos</h4>
Pendiente.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3904284709077373498.post-83687793502338650602014-12-27T12:45:00.000+01:002014-12-27T13:42:37.641+01:00Modelar aluminio en 3DEn <a href="http://events.ccc.de/congress/2014/Fahrplan/events/6417.html">esta charla</a>, <a href="https://gitorious.org/~juri">Julian Longtin</a>, del proyecto <a href="http://fosscar.faikvm.com/trac/">FOSScar</a>. <br />
Aunque tiene una historia de desarrollo software, tuvo que cambiarse a algo más sólido por una lesión de la muñeca, y lleva 3 años haciendo impresoras 3D para arreglar coches. En Arkansas, un coche es básiamente una necesidad vital.<br />
Hoy en día para hacer piezas y pasarlas a 3D, se usaba la técnica del "lost PLA" que es un proceso en dos fases, en el que se imprime en plástico, se hace con eso un molde, se derrite el plástico y en él se pone el aluminio fundido. Es un proceso de 30 horas para cada pieza. Este proceso tiene muchas limitaciones, como ser lento, requerir mucha energía y ser poco fiable.<br />
De ahí comenzó a interesarse en otro <a href="http://fosscar.faikvm.com/trac/wiki/LostPLA">proceso alternativo</a>. El primero de imprimir aluminio directamente requería tecnologia muy sofisticada.<br />
Su segunda aproximación fue utilizar microondas para fundir el aluminio, siguiendo con la metodología de un molde y una forja de aluminio que derretía el aluminio para luego ponerlo en el molde: es un proceso en el que se usa carburo de silicio que recibe las microondas y se calienta. El molde se hace con perlita y cemento, y está pensado para ser introducido en el microondas. El interior se pinta con el susceptor de carburo de silicio y azúcar que al ser calentado se quema y reacciona bien con el carburo de silicio.<br />
Con eso se puede conseguir un proceso mediante el que el aluminio se funde en 2:40 horas. Pero con ese aluminio fundido no se puede hacer nada si no se encuentra una manera de usarlo.<br />
El siguiente proceso fue encontrar un proceso de conseguir un crisol para fundir el aluminio volviendo al proceso de propano para experimentar, con lo que se pueden usar recipientes de acero, que además se pegan a las impurezas y refinal el aluminio.<br />
El siguiente paso es preparar el molde (negativo), dentro de un tupperware, en ese proceso se usa la prieza de plástico, y espuma de aislamiento para las entradas y las salidas.<br />
En ese proceso se usa también el microondas para compactar el molde y fundir el plástico, lo que hay que hacer en tandas de 15 minutos para quitar toda el agua sin que explote.<br />
Una vez el molde está listo, se entierra en arena y se llena de aluminio procedente de la forja de propano. Toda la parte combustible (la pintura de los embudos de red bull, la cinta adhesiva) se quema, pero en ese momento ya está el aluminio en el sitio adecuado. Este proceso lleva 4 horas desde la parte 3D de plástico hasta que que se se espera a que el aluminio se enfríe, en lugar de días.<br />
La primera aplicacion, por supuesto, es hacer partes de la impresora 3D para pasar la impresora de plástico a aluminio. Hay que tener cuidado que se dimensione al 103% para tener en cuenta lo que se retrae el aluminio al enfriarse.<br />Todo esto parte de ImplicitCAD como software funcional para definir las partes en 3D, al que hubo que pulir fuertemente hasta que era usable, y con muchos menos "bugs", como el hecho de que no se podían hacer agujeros, poner dientes equiespaciados en una rueda dentada, etc.<br />
Todo esto para conseguir su objetivo: imprimir partes para coches. Tienen dos objetivos. El primero, llamado Alan, es conseguir partes de aluminio para coches existentes.<br />
El siguiente paso (ADA) será construir las redes internas de los coches con principios activos de seguridad segmentada. Todo con licencia <a href="http://www.tapr.org/ohl.html">TAPR OHL</a> para el hardware y <a href="https://www.gnu.org/licenses/quick-guide-gplv3.html">GPLv3</a> en el software. Incluso tienen el canario que les permite señalar que han recibido notificaciones secretas de las que no pueden hablar..<br />
<br />
Todo esto hay que hacerlo con mucho cuidado, ya que en general el uso de propano, aluminio fundido y microondas con esos niveles de energía va a quemar casi cualquier cosa que esté cerca, el vapor de aluminio ataca el suelo, etc. <br />
<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3904284709077373498.post-90871488428736202312014-12-27T11:30:00.000+01:002014-12-28T09:53:52.125+01:00Un nuevo amanecer..En <a href="http://events.ccc.de/congress/2014/Fahrplan/events/6571.html">la charla de comienzo</a>, se comienza repasando toda la cultura del CCC, invitando a los novatos, estableciendo una cultura abierta y anunciando el CCC camp (no URL todavía).<br />
A continuación se da paso a <a href="http://events.ccc.de/congress/2014/Fahrplan/speakers/5309.html">alecempire</a>, uno de los músicos de <a href="https://en.wikipedia.org/wiki/Atari_Teenage_Riot">Atari Teenage Riot</a> y la compañía de discos <a href="https://en.wikipedia.org/wiki/Digital_Hardcore_Recordings">Digital Hardcore</a>, que comienza con un poco de su música, la que hizo para la presentación del 30C3, con toda la historia del CCC.<br />
Músico, compositor y productor de música, nacido en Berlín en los 70s, y participó en la música de los 90s, con muchos otros músicos (Rammstein, y otros clásicos), alguien que fue calificado como "terrorista musical", que presentó su filosofía musical inspirada en los hackers.<br />
En 1999 filmaron un vídeo llamado "revolution...action", que ha sido mayormente visto por internet años después porque estuvo prohibido en MTV UK.<br />
La mayor parte de su música se compuso en un Atari 1040ST, lo cual hoy en día es relativamente complejo con sus 2MB de RAM.<br />
Su objetivo en 1992 era unir personas de todos tipos en contra de los movimientos neo nazis a través de la música que era mayormente un collage de otros sonidos, siguiendo un texto de William S. Boroughs que hipotentizaba que si una multitud oye una música de una revuleta, se produce una revuelta, ya que la policiía llega y piensa que es una revuelta y la multitud reacciona.<br />
La verdad, sus conciertos tienen más que ver con el caos que con la música, según se presentan.<br />
Pero los <a href="https://www.youtube.com/watch?v=nyaIcfemaEg">vídeos</a> son buenos... :-).<br />
Una de las críticas que hace al mundo de la música es que ahora la distribución de ingresos es más desigual con más extremos en lugar de ser una distribución más igualitaria. Achaca parte de eso a que se está peridendo la educación musical y los músicos sólo pueden vivir si acceden a acuerdos con editores musicales que comprometen su independencia política y su creatividad. A pesar de que se pensaba que mediante la distribución por Internet, hoy eso debería estar solucionado, él piensa que no es asi.<br />
Cuando estaban haciendo un tour por 2011, hicieron un <a href="https://www.youtube.com/watch?v=wOqHRMTCqd4">vídeo llamado "Black flags"</a> , pero tras recibir un montón de contribuciones lo <a href="https://www.youtube.com/watch?v=nAD82J6QMPU&feature=youtu.be">reeditaron</a> con mucho más contribución de sus fans y Wikilieaks. Su música acabó en un anuncio de PS Vita, cuyos fondos se dedicó a un fondo de defensa de Anonymous.<br />
En su opinión, la lucha en contra de las invasiones de la privacidad tiene mucho en común con la lucha en favor de los derechos de los autores, de acuerdo a los creative commons.<br />
Parafrasea una cita clásica de internet: "en internet se puede ser quien quiera, es curioso que hay mucha gente que decida ser estúpido", diciendo que en Internet un puede acceder al contenido que uno quiera, es curioso que la mayoría deciden ver el contenido más estúpido.<br />
Comenta que el escándalo de la supervisión destapada por Snowden en el verano de 2013, le causó una profunda decepción respecto al uso de la tecnología para mejorar la vida, y encuentra eso en una nueva oleada de pérdida de confianza en los políticos.<br />
Alec ha contado su experiencia con Spotify en 2014, que ademas de que según el no puede ser el nuevo modelo de negocio ya que no produce suficientes ingresos para los creadores, crea un problema de censura centralizada. En 1997 escribieron un <a href="https://en.wikipedia.org/wiki/The_Future_of_War">álbum (The Future of War)</a> que se convirtió en el número 9 de los álbumes más fuertes. Varios años después en Alemania incluyeron su álbum en la lista de álbumes que pueden corromper a la juventud, con un documento de 40 páginas. Diez años después, Spotify les notificó que había sidor marcado como inapropiado (por esa misma organziación) y que o eliminaban ese álbum de su plataforma o toda la música de la compañía (los otros artistas), incluso aunque les explicaron que era en contra de los nazis, más que a favor de los nazis... y tuvieron que ceder para no perjudicar al resto de los artistas. La conclusión: "mistrust authority, promote decentralization" (plantea bittorrent como el mejor modelo alternativo).<br />
Sus dos coclusiones principales es que la cultura debe ser usada más para promover objetivos políticos (y pone como ejemplo un vídeo suyo de unas protestas del primero de mayo en algún sitio de Alemania donde al final le detienen), y concretamente que lo hackers y los artistas deberían unirse para conseguir sus objetivos en favor de la privacidad de las personas y los derechos de los creadores.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3904284709077373498.post-19030474113633554702014-12-27T11:00:00.000+01:002014-12-27T11:00:00.574+01:00Comienza el 31Un año más, esta vez física y no virtualmente, estoy en el <a href="https://events.ccc.de/congress/2014/wiki/Main_Page">CCC</a>. Este año es en Hamburgo, pero afortunadamente (supongo que gracias al cambio climático), por ahora no nieva... En cuanto pueda pondré la foto del cohete.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3904284709077373498.post-50517422894358438202013-12-27T17:15:00.000+01:002013-12-27T18:04:02.624+01:00Evolución de los ataques a las redes móvilesLa <a href="https://events.ccc.de/congress/2013/Fahrplan/events/5449.html" target="_blank">charla</a> de <a href="https://srlabs.de/about/" target="_blank">Karsten Nohl y Luca Melette</a> está centrada en la respuesta de la industria a las vulnerabilidades de seguridad que se han encontrado en este último año en las SIM, y las que han descubierto hace varios años sobre el cifrado de las llamadas GSM.<br />
<h2>
Ataques a las tarjetas SIM</h2>
Había tres problemas que permiten <a href="https://srlabs.de/rooting-sim-cards/" target="_blank">ataques contra tarjetas SIM</a> remotamente simplemente enviando mensajes SMS de mantenimiento a un teléfono.<br />
<ol>
<li>Cualquiera puede enviar mensajes SMS de mantenimiento a cualquier persona.</li>
<li>La aplicación de actualización OTA de las SIM no está protegida por un cifrado adecuado.</li>
<li>Las aplicaciones SIM se pueden salir de su "sandbox"</li>
</ol>
La respuesta al primer punto de muchos operadores ha sido filtrar los mensajes que se usaron al describir la vulnerabilidad demostrada. Pero el problema es que este filtrado sólo previene contra este ataque, y no contra toda la familia de mensajes que pueden llegar a las tarjetas SIM.<br />
En el segundo caso, primero hay que describir el problema: una tarjeta SIM puede tener hasta 16M aplicaciones, y hay 16 tipos de claves que se pueden usar para acceder a ellas, y para cada tipo de clave se definen las medidas de seguridad que se utilizan para acceder a las aplicaciones de la SIM. Muchos operadores simplmenente han actualizado el cifrado de las claves para que sea 3DES en vez del anterior DES, que es más vulnerable, pero han dejado otras aplicaciones completamente desprotegidas de modo que no es necesario ninguna clave para acceder a ellas.<br />
A continuación han hecho una demostración con una nano SIM introducida en un iPhone. Conectándolo a una BTS especial que no tiene el filtrado de la red, le envía unos mensajes SMS e infecta esa SIM con un código java que envía la ubicación del teléfono vía SMS al atacante cada 5 minutos. En el iPhone esto no se ve pero se introduce el SIM en un Nokia que se conecta a la red real y pide permiso antes de dejar a la SIM enviar el SMS.<br />
Asociado a esta demostración, tras esta charla van a liberar una herramienta, llamada SIMtester, que puede ejecutarse con cualquier lector de smartcards o un Osmocom (que puede ejecutar el software).<br />
<h2>
Captura de tráfico GSM </h2>
La mayor parte de las llamadas de teléfono hoy utilizan GSM. El problema es que las llamadas van cifradas con uno de dos protocolos: A5/1 que es inseguro y que ha sido atacado anteriormente pero que y A5/3 que por ahora es seguro. Los ataques de A5/1 se pueden dificultar mucho a base de introducir aleatorización en el contenido de los paquetes de tráfico GSM, pero no parece que las compañías hayan<br />
El segundo problema es que el protocolo A5/3 es sólo 1M de veces más complejo que el A5/1, pero como el A5/1 se puede descifrar por un ordenador en un segundo, entonces varios centeneres de ordenadores que costarían cerca de un millón de dólares podrían descifrarlo en un minuto.<br />
Para impulsar que la comunidad de seguridad pueda comprobar la seguridad de las redes, van a liberar tres herramientas que comprueban la vulnerabilidad de las redes a los ataques mencionados:<br />
<ul>
<li>GSMmap.apk: una herramienta para Android</li>
<li>xgoldscanner, basada en Linux que se puede usar con modems USB.</li>
<li>OsmocomBB: que se puede ejecutar en los famosos teléfonos Osmocom.</li>
</ul>
Y por último, han actualizado su página web <a href="http://gsmmap.org/">gsmmap.org</a>, que registra los resultados de las aplicaciones anteriores. La web todavía no tiene información sobre la seguridad de las SIM.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3904284709077373498.post-2604329753046031302013-12-27T16:00:00.000+01:002013-12-27T20:31:00.332+01:00Cómo se ha robado un cajero automático electrónicamenteEn <a href="https://events.ccc.de/congress/2013/Fahrplan/events/5476.html" target="_blank">esta charla</a>, tw y sb muestran cómo se ha utilizado malware para robar cajeros electrónicos.<br />
Básicamente el proceso es que los ladrones hacen un agujero en el cajero automático, conectan una memoria USB en el puerto de la impresora, y vuelven más tarde para recoger el dinero. Tw y sb se vieron implicados en esto porque un banco se encontró con muchos cajeros vacíos, reforzó sus medidas de vigilancia y consiguió atrapar a un ladrón con una memoria USB. Con esa memoria, hicieron la ingeniería inversa de cómo fue posible robar con ese malware.<br />
Para poder entenderlo han comenzado explicando cómo es un cajero automático: es simplemente un ordenador que ejecuta Windows (XP en los casos analizados), con una cajafuerte adjunta y unos cuantas piezas de hardware adicionales. Sólo la caja fuerte está blindada, y por eso los ladrones pudieron hacer un agujero en el cajero por el cual accedieron a conectar la memoria USB al puerto de la impresora del cajero.<br />
No es la primera vez que ha habido cajeros automáticos que han sido hackeados, pero esta parece que es la primera vez que se utilizan estos métodos para robar:<br />
<ul>
<li>Barnaby Jack hizo una <a href="http://www.youtube.com/watch?v=qwMuMSPW3bU" target="_blank">demostración</a> en el <a href="http://www.blackhat.com/html/bh-us-10/bh-us-10-briefings.html#Jack" target="_blank">Black Hat de 2010</a>.</li>
<li>Ha habido muchos tipos de malware orientado a los terminales de caja de las tiendas (POS).</li>
<li>El malware <a href="http://planoinformativo.com/nota/id/285519/#.Ur23KVOp7Hg" target="_blank">Plotus</a> descubierto en México y Colombia en 2013 funciona de manera parecida al aquí demostrado, aunque funciona con un CD.</li>
</ul>
El USB capturado tiene una imagen de Windows arrancable que copia cosas del disco duro del cajero y tiene un directorio con programas que se arrancan automáticamente al rearrancar el cajero. He entendido que los ladrones no pueden forzar la ejecución automática del software y esperan uno o dos días a que un rearranque del cajero complete la infección.<br />
Luego los ladrones se llevan el dinero y el USB, que contiene múltiples datos extraídos de los cajeros (datos del sistema, de los billetes, de las tarjetas y las transacciones).
<br />
El hack.bat que se autoarranca es muy refinado y amigable, con muchas opciones, y está basado en un ejecutable llamado atm.exe. Controla que no se reinfecte el sistema y es capaz de limpiar todas sus trazas del sistema infectado.<br />
El programa está empaquetado con UPX y tiene unos recursos cifrados de Windows, cifrados con XOR y una clave que a su vez es un XOR del Número de serie del Volumen y el número 0xaf73c521, por lo que el malware se personaliza para cada cajero. Todavía no se sabe cómo el malware consigue el número serie del volumen del disco duro del cajero, que es particular de cada cajero. También comprueba de que una vez descifrado el checksum es correcto. La infección se hace a base de copiar una DLL en el directorio del sistema.<br />
Esa DLL además registra lo que va haciendo en el disco USB. En el USB capturado había un registro de tres infecciones previas, en el que se puede ver que los cajeros usan Windows XP.<br />
La DLL tiene siete recursos adicionales: <br />
<ul>
<li>6 imágenes que luego veremos que se utilizan como base de un segundo desktop.</li>
<li>La herramienta sdelete para borrar de manera segura los ficheros de la infección.</li>
</ul>
Para recargarse en caso de rearranque, se añade la DLL a la variable AppInit_DLL, de modo que se añade a todos los procesos del sistema. Por ello, la DLL lo primero que hace comprobar el proceso al que se ha adjuntado, y en función del proceso ejecuta una funcionalidad u otra (hay diferentes programas de entrega de dinero según los diferentes modelos de cajeros).<br />
La DLL escucha todos los eventos del teclado y procesa las teclas numéricas. En particular, presta atención a un número mágico de 12 dígitos que activa el menú secreto que permite controlar el cajero (000507607999). Para independizarse del programa normal, el malware arranca un segundo desktop y cambia la pantalla principal de uno a otro en función de si está se accediendo normalmente o no.<br />
Para sacar dinero, además del número de 12 dígitos hay que dar una segunda clave dependiente del cajero mediante un proceso de desafío y respuesta de modo que sólo los propietarios del software son capaces de acceder al menú secreto. Esto es así porque las personas que retiran el dinero no son las que han hecho y controlan el software, y típicamente no llevan la clave que permite el acceso, sino que tienen que llamar por teléfono para que se lo den, por lo que han dado a entender que el código que calcula la respuesta está en otro programa que no ha sido capturado.<br />
Hay dos trozos de código que han sido especialmente protegidos para dificultar su comprensión e ingeniería inversa:<br />
<ol>
<li>El código de pregunta y respuesta para controlar el acceso al cajero</li>
<li>El código de extracción del dinero.</li>
</ol>
La protección del código funciona a base de ofuscar el control del código mediante una máquina de estados que recibe como entrada un buffer estático y calcula el siguiente tramo de código en función del estado, además de tener mucho código embarullado para que no se pueda entender bien. Pero se ha conseguido hacer la ingeniería inversa poniendo breakpoints adecuadamente, ya que la máquina de estados está en un rango de direcciones diferente que el código ejecutado.<br />
<h2>
Demostración del malware</h2>
Como debe ser, la charla ha acabado con una demostración del funcionamiento del malware. Tras arrancarlo lo primero que hace es presentar el desafío mencionado (y la opción de salir). Una vez superado el desafío (simulado saltando el código que comprueba si es correcto, el malware muestra el saldo de cada tipo de billete del cajero, de modo que el cobrador puede enfocarse en los billetes que le van a dar más dinero.<br />
Ejecutando la opción de de retirar el dinero, se llega a una pantalla que muestra que el terminal está indisponible, pero simplemente requiere el mismo código de antes. Esto lleva a una pantalla <br />
Las opciones de 1 a 4 sirven para sacar un tipo diferente de billete.<br />
Las opciones 7 y 8 sirven para desconectar el cajero del sistema mediante la activación o deshabilitación de los interfaces de red. Esto impide que el sistema pueda avisar de la retirada o la activación del cajero.<br />
La opción 5 se denomina formatear el sistema y después de pedir resolver otro desafío, lo que hace es eliminar el malware, eliminando toda traza del software.<br />
El código permite deducir que la banda de ladrones tiene mucho conocimiento de los cajeros, tanto de de la plataforma como del software de cliente de efectivo, quieren conseguir mucho dinero y tienen diferentes roles dentro del proceso de robo. El código tiene muchas partes para eliminar las trazas y no dejar huellas.<br />
La charla ha terminado con otro código: el que permite indicar la desinstalación directa del malware (000507607999000753951000).<br />
En la sección de preguntas y respuestas, han aclarado que el software no capturaba PINs de las tarjetas que usaban el cajero, pero lo podrían haber hecho.<br />
Me ha llamado la atención la firma del malware: atmh4ck m0dul0 <br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3904284709077373498.post-78026884265692874452013-12-27T14:00:00.000+01:002013-12-27T16:03:55.185+01:00OpenWRT: 10 años de diversión con dispositivos embebidosEn <a href="https://events.ccc.de/congress/2013/Fahrplan/events/5497.html" target="_blank">esta charla</a>, <a href="https://events.ccc.de/congress/2013/Fahrplan/speakers/825.html" target="_blank">ndb</a>, uno de los principales desarrolladores de Open WRT nos describe el sistema y su historia.<br />
<h2>
Historia del desarrollo </h2>
El sistema operativo comenzó su vida cuando se descubrió que Linksys había usado linux para el router WRT54G, sin publicar el código, como requería la licencia GPL.<br />
Cuando finalmente Linksys presionado por el descubrimiento, ditribuyó la tarball del sistema operativo comenzó su historia openWRT. En aquella época Linux no estaba muy distribuido entre los routers, y el sistema operativo que dominaba lo sistemas embebidos era VxWorks, sin requisitos GPL.<br />
<ol>
<li>Ruso blanco (0.9): los primeros trabajos que llevaron a una versión publicable se centraron en liberarse del tarball para tomar sólo las dependencias principales. Y lo segundo actualizar el kernel a una versión más moderna que la 2.0 de entonces. Ndb empezó con esta versión, 0.9, con la creación del sisetma de construcción. Con esta versión se inició la costumbre de nombrar versiones en función de cócteles de vodka.</li>
<li>Kamikaze (8): A partir de ahí, los trabajos se dedicaron a independizarse del chipset de Broadcom del WRT, creando soporte multiplataforma y con nuevos sistemas de compilación, configuración y administración Web. El nombre venía por todos los cambios con respecto a la versión anterior. </li>
<li>Backfire (10): A partir de ahí, el foco fue estabilizar la versión y hacerla más robursta.</li>
<li>Attitude Adjustmente (12): Después de Backfire, el objetivo fue liberarse del soporte 2.4, conseguir una buena integración de IPv6 y la parte de usuario y los scripts y las opciones de configuración. Esta es la última versión estable distribuida.</li>
</ol>
<h2>
Descripción del sistema</h2>
¿Qué es lo que diferencia de openWRT de otras versiones?:<br />
<ul>
<li>El sistema RPC ubus, mucho más simplificado que el normal dbus de las otras distribuciones Linux</li>
<li>El configurador de la red, netifd, que sustituye a múltiples scripts pero que permite cambios de configuración más rápido haciendo el mínimo número de cambios..</li>
<li>El demonio de sistema procd, que monitoriza los demonios que corren en el sistema, rearrancándolos cuando son necesario, como sustituto de systemd, mucho mejor testeado y ligero que el normal.</li>
<li>Tienen su propia implementación de IPv6, con un demonio dhcpv6 propio, con capacidad de redistribuir prefijos delegados, que no están bien resueltos en otras versiones de Linux, que no están tan restringidas como openWRT, que tiene que trabajar hasta en equipos con 32 MB de RAM.</li>
</ul>
En este momento, están trabajando en su nueva página web, LuCI2, que ya no está basada en Lua, sino en Javascript y RPCs JSON, que permite mover buena parte del trabajo de crear las páginas al navegador del usuario, ya que hasta los navegadores móviles tienen buenas implementaciones de Javascript.<br />
Con esto, prevén distribuir una nueva versión llamada "Barrier Breaker", llamada así porque se supone que va a romper muchos moldes.<br />
<h2>
Impacto en la industria</h2>
Varios fabricantes de equipos les han entrevistado para intentar entender por qué su proyecto tenía éxito, aunque no tuvieron mucho éxito. Y el sucesor en Linksys del WRT54G estaba lleno de código propietario que no podía ser sustituido por código abierto lo que retrasó la adopción del equipo.<br />
Otros fabricantes (ODM) han adoptado openWRT pero de manera extraña adoptaron las partes más inestables y descartaron las más estables en muchos casos, por lo que los fabricantes acabaron teniendo produtos peores en su intento de tenerlos mejores.<br />
Subiendo más arriba en la cadena alimenticia, sí que consiguieron buenas colaboraciones con los fabricante de circuitos integrados: Atheros, Broadcom, Lantiq, Mediatek y Ralink.<br />
El problema para entenderse con todos, ya que openWRT tiene mucho énfasis en estabilidad y calidad del código mientras que los fabricantes están enfocados en producir nuevos equipos lo más rápidamente posible y con el menor coste, lo que les deja poco tiempo para enfocarse en el largo plazo.<br />
Los fabricantes además de tener mucha burocracia y gestores de producto poco cualificados, tienen muchos problemas de desarrollo, particularmente con las ramas de desarrollo de modo que no tienen discirplina para mantener una rama principal operativa y periodicamente mezclar el código de las ramas laterales con la principal.<br />
Otras actividades relacionadas con el proyecto son todos los trabajos para integrar sus parches en las distribuciones principales (upstream), en muchos casos desarrollando en ambos sistemas simultáneamente.<br />
Una de las grandes colaboraciones es la de Freifunk, un proyecto que tiene como objetivo la creación de redes inalámbricas malladas (mesh).<br />
También colaboran con Bufferbloat, cuyo objetivo es disminuir el impacto de los buffers en el routing, que está probando cosas más avanzadas que ellos.<br />
Los trabajos para integrar IPv6 en el routing del hogar del IETF están también basados en openWRT.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3904284709077373498.post-42978953640519660902013-12-27T12:00:00.000+01:002013-12-27T15:13:15.522+01:0030c3 también virtualEste año, también acudo sólo virtualmente al CCC congress, pero esta vez sí que voy a poderme conectar online algunos días, ahora que ya soy capaz de ver el Congress Everywhere en mi Apple TV.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3904284709077373498.post-52964745838700972722012-12-29T11:30:00.000+01:002013-01-02T23:13:59.089+01:00La seguridad de la campaña electoral de Obama, explicadaCon mil millones de dólares de presupuesto, la campaña electoral de Obama 2012 ha marcado tendencia por aumentar la <a href="http://1001medios.es/blog/2012/11/05/la-web-2-0-de-obama-se-basa-en-las-zapatillas/" target="_blank">ventaja</a> <a href="http://www.theatlantic.com/technology/print/2012/11/when-the-nerds-go-marching-in/265325/" target="_blank">tecnológica</a> sobre sus competidores, a igualdad de presupuesto.<br />
Con todo ese dinero, de acuerdo a la descripción que hace <a href="https://twitter.com/benhagen" target="_blank">Ben Hagen</a> en <a href="http://events.ccc.de/congress/2012/Fahrplan/events/5177.en.html" target="_blank">su charla</a>, tuvieron <a href="https://twitter.com/scottvdp/status/268129382143496192" target="_blank">capacidad para invertir</a> incluso en seguridad, aunque no demasiado por que él era el único encargado de seguridad informática de la campaña.<br />
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.<br />
Las medidas de protección son prácticamente el estado del arte: <a href="http://suricata-ids.org/" target="_blank">Suricata</a>, <a href="https://snorby.org/" target="_blank">Snorby</a>, 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.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCN1UPbzjaugaEKSJQsHxrUI3TOsldhmaB_WQNO2gSeLQ7x93wbJFXmGk4PwPNJ1xPryMai7RlgeiOD4B90l4NetGYsOwt-_U6JVNa1C52H1XdK2-Dwi0VKfvEZjPMm16yfETdhA2NKyU/s1600/Narwhal.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="242" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCN1UPbzjaugaEKSJQsHxrUI3TOsldhmaB_WQNO2gSeLQ7x93wbJFXmGk4PwPNJ1xPryMai7RlgeiOD4B90l4NetGYsOwt-_U6JVNa1C52H1XdK2-Dwi0VKfvEZjPMm16yfETdhA2NKyU/s320/Narwhal.png" width="320" /></a></div>
<br />
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:<br />
<ul>
<li>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.</li>
<li>Un sistema exhaustivo de revisiones de código (utilizando <a href="http://www.portswigger.net/burp/" target="_blank">Burp!</a>), en el que se avergüenza (con buen humor, sin humillar) al que desarrolla código inseguro exponiendo su inseguridad ante todos (con una <a href="http://www.youtube.com/watch?v=zmlpDIYUreQ" target="_blank">nutria bailarina</a> y música adecuada, claro).</li>
</ul>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3904284709077373498.post-36669076360369241662012-12-28T21:45:00.000+01:002012-12-30T12:21:39.948+01:00Nuevos ataques GSM: otras maneras de liberar tus llamadas y capturar tus SMSDentro de las vulnerabilidades que siguen apareciendo en GSM, este año <a href="https://twitter.com/iamnion" target="_blank">Nico Golde</a> se ha centrado en <a href="http://events.ccc.de/congress/2012/Fahrplan/events/5216.en.html" target="_blank">su charla</a> 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.<br />
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".<br />
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.<br />
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... :-).<br />
¿Con esto qué se consigue? Básicamente colgar tus llamadas sin que nunca sepas que has sido llamado. Y la charla incluía <a href="http://www.youtube.com/watch?v=4umb2P-93BQ" target="_blank">una demostración</a> de que es posible.<br />
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.<br />
Como consecuencia, aprovechando esta debilidad es posible capturar y recibir un SMS en lugar del receptor legítimo, y otra vez se ha visto <a href="http://www.youtube.com/watch?v=oep3zpY6cvE" target="_blank">la demostración</a> 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 <a href="http://www.safaricom.co.ke/personal/m-pesa/how-to-register/faqs" target="_blank">m-Pesa</a> o <a href="http://wandamovil.com/preguntas-frecuentas/" target="_blank">Wanda</a>) 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.<br />
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).<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6b4DVZpRCXmX0ROcgjiN3E-jEdwylTdztQzyiyYsraGtJR4_IDakB6dfM7uKq7jgRCAGmPsbpd4On5-6hGsIAhKfrjmmjpcI33ao-rm1B7JuhZaL-OYnl9lU-StHmwNn9b2uVq-RrxN0/s1600/%C3%81reas.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="295" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6b4DVZpRCXmX0ROcgjiN3E-jEdwylTdztQzyiyYsraGtJR4_IDakB6dfM7uKq7jgRCAGmPsbpd4On5-6hGsIAhKfrjmmjpcI33ao-rm1B7JuhZaL-OYnl9lU-StHmwNn9b2uVq-RrxN0/s320/%C3%81reas.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">"Location Areas" de Vodafone en Berlín</td><td class="tr-caption" style="text-align: center;"><br /></td></tr>
</tbody></table>
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.<br />
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.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3904284709077373498.post-14713568438997396032012-12-28T17:15:00.000+01:002013-01-07T13:54:22.099+01:00Destripando Tamagotchis<a href="https://twitter.com/natashenka" target="_blank">Natalie Silvanovich</a>, al final de la charla admitía que no pasará a la historia como una defensora de los derechos de los tamagotchis, ya que <a href="http://events.ccc.de/congress/2012/Fahrplan/events/5088.en.html" target="_blank">admitía </a>que probablemente una decena habrían sido destripados mientras intentaba averiguar cómo funcionaban.<br />
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).<br />
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.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEJRztT8X9jOwEyGqYqaZQWOob_bvKSgaeZAd7BrLqRlcEeJMNKW_5SGuADpVg9k-5Ttl9IeZcBj_OMf7ySxNP401P5o7__Lq0ICbvqRQcnl879s_DgaGMqnQuu0aw_a6ZFNwcwkL7gWM/s1600/TamaGo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="260" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEJRztT8X9jOwEyGqYqaZQWOob_bvKSgaeZAd7BrLqRlcEeJMNKW_5SGuADpVg9k-5Ttl9IeZcBj_OMf7ySxNP401P5o7__Lq0ICbvqRQcnl879s_DgaGMqnQuu0aw_a6ZFNwcwkL7gWM/s1600/TamaGo.jpg" width="320" /></a></div>
<br />
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.<br />
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 <a href="http://events.ccc.de/congress/2012/Fahrplan/attachments/2097_Tamagotchi.ppt" target="_blank">presentación</a>). 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.<br />
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.<br />
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. <br />
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX9kTp99noWDFzBFPU0BU6PJ8tfqWhyphenhyphenjeQoJqXyCkCbSN6kKg1ef-_601acImpsyfAMeTn2LzewIxtxmi6vf-t0Dx0Hh9mA3Ej8hUv5C_1JVzju3c1enqlW-mOsrvYoG7eHnxdACPjCe0/s1600/TamaGoInternals.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX9kTp99noWDFzBFPU0BU6PJ8tfqWhyphenhyphenjeQoJqXyCkCbSN6kKg1ef-_601acImpsyfAMeTn2LzewIxtxmi6vf-t0Dx0Hh9mA3Ej8hUv5C_1JVzju3c1enqlW-mOsrvYoG7eHnxdACPjCe0/s1600/TamaGoInternals.png" width="320" /></a></div>
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.<br />
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 <a href="http://www.generalplus.com/" target="_blank">General Plus</a> (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).<br />
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.<br />
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.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieBM-1vkzq044RBwDtU1JIksHP6vb1TQsnD2jyIWFLI2jRkabu3mBlSU7hc54h9k8YO2mxfQ_bvR4JKD_5c6FucZa11-IeHkBEHwdSdpQgwVneA2xsoKCcLop58aFlY5-8ZKQlmlP2TG4/s1600/TamaGoEEPROM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieBM-1vkzq044RBwDtU1JIksHP6vb1TQsnD2jyIWFLI2jRkabu3mBlSU7hc54h9k8YO2mxfQ_bvR4JKD_5c6FucZa11-IeHkBEHwdSdpQgwVneA2xsoKCcLop58aFlY5-8ZKQlmlP2TG4/s1600/TamaGoEEPROM.png" width="273" /></a></div>
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...<br />
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.<br />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.<br />
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).<br />
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.<br />
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.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3904284709077373498.post-79350146798321328402012-12-27T12:00:00.000+01:002013-01-03T15:03:43.857+01:00Comienzo: no es mi departamento... El 29c3 ha comenzado con una <a href="http://events.ccc.de/congress/2012/Fahrplan/events/5385.en.html" target="_blank">charla</a> de <a href="https://twitter.com/ioerror" target="_blank">Jacob Appelbaum</a>, uno de los componentes del proyecto <a href="https://www.torproject.org/about/overview.html.en" target="_blank">Tor</a>, y que además ha sido sujeto a vigilancia especial tras colaborar con Wikileaks.<br />
Su charla ha comenzado con un vídeo de la construcción del <a href="http://www.wired.com/threatlevel/2012/03/ff_nsadatacenter/all/" target="_blank">centro de datos de Bluffdale</a> 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.<br />
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.<br />
<br />
<iframe frameborder="0" height="250" marginheight="0" marginwidth="0" scrolling="no" src="https://maps.google.com/maps/ms?msa=0&msid=212783729598207955206.0004d25fc87a78d3f194d&gl=ru&ie=UTF8&t=m&source=embed&ll=39.909736,-98.613281&spn=33.548333,74.882813&z=3&output=embed" width="425"></iframe><br />
<small>Verlo en grande: <a href="https://maps.google.com/maps/ms?msa=0&msid=212783729598207955206.0004d25fc87a78d3f194d&gl=ru&ie=UTF8&t=m&source=embed&ll=39.909736,-98.613281&spn=33.548333,74.882813&z=3" style="color: blue; text-align: left;">Puntos</a> </small><br />
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.<br />
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).<br />
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.<br />
<br />
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.<br />
Continua con toda una serie de ejemplos de ataques del gobierno americano sobre gente de Wikileaks o <a href="http://www.whistleblower.org/program-areas/homeland-security-a-human-rights/surveillance/nsa-whistleblowers-bill-binney-a-j-kirk-wiebe" target="_blank">Bill Binney</a>, 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.<br />
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... <br />
Ha recomendado la <a href="http://events.ccc.de/congress/2012/Fahrplan/events/5338.en.html" target="_blank">charla posterior</a> 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.<br />
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.<br />
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.<br />
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.<br />
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.<br />
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).<br />
<ul>
<li><a href="http://maps.google.com/maps?q=2651+Olive+St.,+St+Louis+Missouri+63103&ll=38.633569,-90.216137&spn=0.002732,0.007854&sll=38.633699,-90.216040&layer=c&cbp=11,28.4,,1,0.91&cbll=38.633569,-90.216137&hnear=2651+Olive+St,+St+Louis,+Missouri+63103,+Estados+Unidos&t=m&z=17&panoid=ODwnNOVIiOOB3qqjEh48TQ" target="_blank">2651 Olive St, St Louis Missouri 63103 </a></li>
<li><a href="http://maps.google.com/maps?q=420+South+Grand,+Los+Angeles,+California+90071&ll=34.050668,-118.253059&spn=0.023183,0.062828&sll=34.050879,-118.253078&layer=c&cbp=12,132.51,,0,-2.1&cbll=34.050935,-118.253149&hnear=420+S+Grand+Ave,+Los+Angeles,+California+90071,+Estados+Unidos&t=m&z=14&panoid=TfhEOGfvtiKrQ__xR-qqcg" target="_blank">420 S Grand Ave, Los Angeles, California 90071</a></li>
<li><a href="http://maps.google.com/maps?q=611+Folsom+St.,+San+Francisco,+California,+94107&ll=37.785249,-122.396278&spn=0.006088,0.007854&sll=37.784837,-122.396208&layer=c&cbp=12,215.81,,2,6.25&cbll=37.785336,-122.39638&hnear=611+Folsom+St,+San+Francisco,+California+94107,+Estados+Unidos&t=m&z=17&panoid=bJmC_rIG9WpItcIvE7igvQ" target="_blank">611 Folsom St, San Franciso, California, 94107</a></li>
<li><a href="https://maps.google.com/maps?q=51+Peachtree+Center+Avenue+Northeast,+Atlanta,+Georgia+30303&hl=en&ll=33.755905,-84.386115&spn=0.002908,0.007854&sll=33.755865,-84.386004&layer=c&cbp=11,100.74,,0,0.71&cbll=33.755906,-84.386111&hnear=51+Peachtree+Center+Ave+NE,+Atlanta,+Fulton,+Georgia+30303&t=h&z=17&panoid=k2YtVEOEAUcIOO_nQKvVLA" target="_blank">51 Peachtree Center Avenue NE, Atlanta, Georgia, 30303</a></li>
<li><a href="http://maps.google.com/maps?q=10+South+Canal,+Chicago,+Illinois,+60606&ll=41.88168,-87.639688&spn=0.005735,0.007854&sll=41.881475,-87.640336&layer=c&cbp=12,257.51,,1,-0.24&cbll=41.88159,-87.639685&hnear=10+S+Canal+St,+Chicago,+Cook,+Illinois+60606,+Estados+Unidos&t=m&z=17&panoid=g1CEDsweokXsoE2nRkD6-A" target="_blank">10 South Canal, Chicago, Illinois, 60606</a> </li>
<li><a href="http://maps.google.com/maps?q=30+E+Street+SW,+Washington+DC,+20024&hl=es&ll=38.8834,-77.009933&spn=0.011592,0.015707&sll=38.882882,-77.014911&sspn=0.011993,0.015707&hnear=30+E+St+SW,+Washington,+District+of+Columbia,+20003,+Estados+Unidos&t=m&z=16&layer=c&cbll=38.883197,-77.009933&panoid=qxa-GgYaxkaNyppktvXlag&cbp=12,189.76,,1,-3.34" target="_blank">30 E Str SW, Washington DC, 20024</a></li>
<li><a href="https://maps.google.com/maps?q=811+10th+Avenue,+NYC,+NY,+10019&ll=40.766762,-73.990281&spn=0.011669,0.015707&oe=utf-8&client=firefox-a&channel=rcs&hnear=811+10th+Ave,+New+York,+10019,+United+States&num=10&t=h&z=16&layer=c&cbll=40.766675,-73.99034&panoid=Dkm5rte_hANsmAt-EFaFsg&cbp=12,300.92,,0,0.25" target="_blank">811 10th Avenue, NYC, NY, 10019</a></li>
</ul>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3904284709077373498.post-386169850526714992012-12-26T12:00:00.000+01:002013-01-03T15:05:03.877+01:0029c3 virtualEste año, veo el congreso desde lejos, a ver qué tal resulta...Unknownnoreply@blogger.com0