Tu e-book también te espía

Hace tiempo que sabemos que nuestras sesiones de navegación por Internet permiten a diversas empresas monitorizar nuestro comportamiento en sus sitios web. La información que recaban permite —al menos, teóricamente— mejorar el acceso a esa información tanto para nosotros como para el resto de los usuarios.

Ese seguimiento que se nos hace en nuestro uso de Internet se extiende ahora al mundo de los libros electrónicos. Scribd —a través de Smashwords— es una de las empresas que está comenzando a analizar los datos de sus suscriptores, y han averiguado que por ejemplo cuanto más larga es una novela de misterio, más probable es que los lectores se adelanten y lean las últimas páginas para averiguar, por ejemplo, los autores del crimen narrado.

Amazon y Barnes & Noble ya recolectan información variada de sus lectores, pero la mantienen para ellos, y otras empresas como Oyster, que ha iniciado un plan de suscripción similar al de Spotify en el mundo de la música, también reconoce estar realizando esas prácticas.

La idea, según ellos, es la de ofrecer mejores libros, y en Oyster revelan que es un 25% más factible que los lectores terminen un libro si éste está dividido en pequeños capítulos. Lógico, dado que mucha gente lee en pequeños ratos robados a las jornadas diarias.

Un arma de doble filo

Los servicios indican que los datos recolectados son anónimos, pero las políticas de uso son amplias y, como siempre, susceptibles de ser debatidas. En Oyster, por ejemplo, revelan que un usuario que use sus servicios acepta la “recolección, transferencia, manipulación, almacenamiento, descubrimiento y otros usos de tu información“. Puede que sea anónima, pero puede que esos amplios permisos echen para atrás a los lectores.

Los servicios de suscripción que tanto Oyster como Scribd han utilizado para sus propuestas son distintos en cuanto a la monetización por parte de los autores y editoriales. Así, en Oyster indican que una persona que haya leído más del 10% de un libro hace que ese libro se considere “leído”, y a partir de ese momento se realiza el pago a la editorial.

En Scribd, por el contrario, la cosa es algo más compleja, y si el lector lee entre un 10 y un 50% del libro solo se paga a la editorial una décima parte del total. A partir del 50% de la lectura, eso sí, se paga el precio completo acordado por la editorial y por Scribd.

Así pues, esos datos recolectados son útiles para ese retorno económico tanto para las editoriales como para los servicios de suscripción —que saben qué libros se leen y tienen éxito, y cuáles no tanto—, pero también representan una nueva amenaza a la privacidad de los usuarios que pueden sentirse nuevamente perseguidos en un proceso aparentemente tan inocuo como el de la lectura de un libro electrónico.

En nuestro país tenemos un caso reciente, el de Nubico, que ha puesto en marcha el servicio de suscripción para la lectura de libros electrónicos y que ofrece un modelo similar a los anteriores. En los términos del servicio no se especifica si hay recolección de datos, y nuestro intento por contactar con sus responsables de momento no ha dado frutos. Si logramos conocer más detalles sobre este servicio, actualizaremos este artículo.

Referencias

– Artículo original “Tu e-book también te espía” escrito por ( Google+, @javipas) el jueves 26 de diciembre de 2013 en Xataka.com

Anuncios

Arduino – Capítulo 3 – Principios básicos (II)

En este tercer capítulo de nuestro proceso de aprendizaje con Arduino, vamos a conocer algunos principios básicos de la electrónica que no vimos en el capitulo anterior. Por un lado veremos que es un circuito en serie y uno en paralelo. Por otro lado, aprenderemos a leer el código de colores de las resistencias. Estos conocimientos son indispensables para proseguir en nuestro camino sobre Arduino.

Circuito serie

Un circuito serie es aquel cuyos componentes están colocados uno detrás de otro, en fila india por decirlo así. Para ver de primera mano este concepto vamos a modificar el circuito del capítulo anterior.

En primer lugar, si tenemos conectada nuestra placa Arduino a alguna fuente de alimentación (cable usb o pila de 9V), debemos desconectarla.

Seguidamente vamos a añadir otro pulsador al circuito, pero lo vamos a hacer de manera que esté en serie con el anterior y con el diodo led. Para ello lo colocaremos tal y como se muestra en la siguiente figura:

Circuito serie

Una vez conectados todos los componentes, enchufamos el cable usb a nuestro Arduino y presionamos cualquiera de los dos pulsadores. Veremos que el led no se enciende y esto es debido a que debemos activar ambos pulsadores a la vez, si no, la corriente no podrá pasar por el circuito.

En la siguiente imagen podemos ver el esquema eléctrico. En el apreciaremos lo ocurrido anteriormente, y es que los dos pulsadores, al estar en serie, deben de estar cerrados de forma simultánea para poder permitir el paso de la corriente, de lo contrario el led no se encenderá jamás.

Esquema electrico en serieEsquema eléctrico del circuito en serie

Circuito paralelo

Un circuito en paralelo, como su nombre indica, es aquel circuito que tiene dos o más de sus componentes conectados paralelamente, de esta manera la corriente eléctrica tiene dos caminos posibles para completar su recorrido.

Para mostrar como funciona un circuito de este tipo, vamos a modificar el utilizado en el apartado anterior.

Primeramente desconectamos la alimentación de la placa. Algo que hay que hacer siempre que se quiera modificar un circuito.

Seguidamente quitaremos el cable que conecta los dos pulsadores para pasar a conectarlos de la manera que se muestra en la imagen siguiente:

Circuito en paralelo

Una vez conectados todos los componentes, enchufamos el cable usb a nuestro Arduino y presionamos cualquiera de los dos pulsadores. Veremos que el led si se enciende, no hace falta que pulsemos los dos a la vez, cualquiera vale. Esto es debido a que la corriente tiene dos caminos posibles, ya sea a través de uno de los pulsadores o a través del otro, por lo que sea cual sea el que pulsemos, el led acabará encendiéndose.

En la siguiente imagen podemos ver el esquema eléctrico. En el apreciaremos lo ocurrido anteriormente, y es que accionemos el pulsador que sea, la corriente encontrará un camino que le permita recorrer el circuito y por consiguiente, atravesar el led.

Esquema electrico en paraleloEsquema eléctrico del circuito en paralelo

Código de colores de las resistencias

Los valores de la resistencia se indican utilizando un código de colores, el cual, fue desarrollado en los primeros años de la década de 1920 cuando el escribir números en objetos pequeños era muy difícil.

Cada color corresponde a un número, como se puede apreciar en la tabla de más abajo. Las resistencias pueden tener cuatro o cinco bandas de colores. En las de cuatro, las primeras dos indican los dos primeros dígitos de su valor, mientras que la tercera indica el número de ceros que le siguen. La última banda sin embargo, indica la tolerancia de la resistencia.

Codigo de colores resistencias

Como podemos ver en la tabla, en las resistencias de cinco bandas, el multiplicador es la cuarta franja, siendo las tres primeras el valor de la resistencia. Esto permite que tengamos  disponibles valores más elevados de resistencia.

Las resistencias con seis franjas de colores son las llamadas resistencias de precisión o de hojas metálicas. Conocidas también por su nombre en inglés foil resistors, son aquellas cuyo valor se ajusta con errores de 100 partes por millón o menos y tienen además una variación muy pequeña con la temperatura, del orden de 10 partes por millón entre 25 y 125 grados Celsius.

Bien, ahora que ya tenemos una pequeña base de conocimientos electrónicos, estamos preparados para empezar a montar proyectos que impliquen programar nuestro Arduino. De esta manera iremos creando circuitos paulatinamente más complejos a la par que divertidos.

Un saludo y muchas gracias por leer este artículo.  ^_^

Referencias

Artículo basado en el capítulo “Project 01 – Get to know your tools” del libro “Arduino Projects Book” distribuido por Arduino.cc junto con su “The Arduino Starter Kit“.

Arduino – Capítulo 2 – Principios básicos (I)

En este segundo capítulo dedicado a Arduino vamos a aprender algunos conceptos básicos en electrónica así como montar nuestro primer circuito. Puede no ser muy emocionante, pero sin estas bases seremos incapaces de llevar a cabo cualquier tarea electrónica.

Principios básicos

La electricidad es un tipo de energía, como el calor, la gravedad o la luz. La energía eléctrica fluye a través de conductores, como los cables. Puedes convertir la energía eléctrica en otras formas de energía para hacer cosas interesantes, como encender una bombilla o reproducir sonidos en un altavoz.

Los componentes que puedes usar para hacer esto, como los altavoces o las bombillas, son transductores eléctricos. Los transductores transforman otras formas de energía en energía eléctrica y viceversa. Otros elementos que transforman diferentes tipos de energía en energía eléctrica son los llamados sensores, y aquellos que convierten la energía eléctrica en otras formas de energía son normalmente llamados actuadores. Construirás circuitos para mover la electricidad a través de diferentes componentes. Los circuitos son caminos cerraros hechos de cables con una fuente de alimentación (como una batería) y algo que haga algo útil con la energía, llamado carga.

En un circuito, la electricidad fluye desde un punto de alto potencial energético (normalmente llamado fuente de tensión o +)  a un punto de bajo potencial energético. La tierra o masa (normalmente representado por el símbolo – o GND) es generalmente el punto de menos potencial del circuito. En los circuitos que construyas, la electricidad solo fluye en una dirección. Este tipo de circuitos se llaman de corriente directa, o DC. En corriente alterna (AC), la electricidad del circuito cambia su dirección 50 o 60 veces por segundo (depende de donde vivas). Éste es el tipo de electricidad que encontrarás en el enchufe de la pared.

Hay algunos términos con los que debes familiarizarte cuando trabajas con circuitos eléctricos:

Corriente: Es la cantidad de carga eléctrica que fluye por un punto específico del circuito. Se mide en amperios y se representa con el símbolo A.

Voltaje: Es la diferencia de potencial o energía entre dos puntos del circuito. Se mide en voltios y se representa con el símbolo V.

Resistencia: Es un componente que opone resistencia al paso de la corriente eléctrica. Se mide en ohmios y se representa con el símbolo Ω.

Una manera de imaginarse esto es pensando en una roca que cae por la ladera de una montaña. En el punto más alto de la pendiente, la roca tendrá más energía que cuando llegue al final de la misma. La altura de la montaña es como el voltaje de un circuito: el mayor voltaje se encuentra en la fuente de energía y es el máximo del que dispondrás. Cuantas más rocas tengas, más energía desciende por la ladera de la montaña. El número de rocas es equivalente a la corriente eléctrica del circuito. Las rocas van atravesando arbustos por la pendiente de la montaña, perdiendo energía en el proceso; la energía es utilizada para aplastar los arbustos. Dichos arbustos son las resistencias del circuito, ofreciendo resistencia al paso de la corriente y convirtiéndola en otras formas de energía.

Roca como metafora

Algunas cosas sobre circuitos

– Debe existir un camino cerrado entre la fuente de energía y el punto de menos energía para que un circuito funcione. Si no existe un camino tal que permita el paso de la corriente, el circuito no funcionará jamas.

– Toda la energía eléctrica será utilizada por los componentes del circuito. Cada componente convierte parte de la misma en otras formas de energía. En todo circuito, la totalidad de la tensión es convertida en otra forma de energía (luz, calor, sonido, etc.).

– En punto específico del circuito, el flujo de corriente que entra será igual al flujo que sale.

Fig 002

El punto 1 = punto 2 + punto 3 = punto 4

– La corriente eléctrica siempre busca el camino con menos resistencia para llegar a tierra. Entre dos caminos posibles, la mayor parte de la corriente irá por el que oponga menor resistencia. Si realizas una conexión entre la fuente de energía y tierra sin resistencia alguna, provocarás un cortocircuito y la corriente intentará seguir dicho camino. En un cortocircuito, la fuente de tensión y los cables convertirán  la energía eléctrica en luz y calor, normalmente en forma de chispas o explosiones.

¿Qué es una Protoboard?

Una Protoboard (placa de prototipos) es el primer lugar en donde se construyen los circuitos. En dicha placa, las líneas horizontales y verticales transportan electricidad a través de conectores metálicos situados bajo los agujeros de la capa de plástico. De esta manera, podremos conectar los componentes de nuestros proyectos y así probar la funcionalidad de los mismos antes de pasar a la construcción definitiva de nuestro circuito.

Fig 003

Fig 004

Nuestros primeros componentes

En este capítulo vamos a construir nuestro primer proyecto y para ello empezaremos por utilizar tres componentes básicos: un diodo led (de color rojo), una resistencia y un pulsador.

LED: Un led o diodo emisor de luz (Light-emitting diode), es un componente que convierte la energía eléctrica en energía lumínica. Los leds son componentes con polaridad, esto significa que solo dejan pasar la electricidad en una dirección. De las dos patillas que tienen los leds, a la más larga se le llama ánodo y se conecta al positivo de la fuente de alimentación. A la más corta se le llama cátodo y se conecta al polo negativo o tierra. Cuando al ánodo se le aplica corriente y el cátodo está conectado a tierra, el diodo led emite luz.

Simbolo electrico del diodo ledSímbolo eléctrico y fotografía de un diodo led

Resistencia: Es un componente que como su nombre indica, opone resistencia al paso de la corriente. Convierte parte de la energía eléctrica en calor. Si colocas una resistencia en serie con otro componente como por ejemplo un led, la resistencia se quedará parte de la energía eléctrica, dando como resultado que el diodo led recibe menos cantidad de energía. Esto ayuda a proporcionar a ciertos componentes la energía que necesitan. Por ejemplo, coloca una resistencia en serie con un led para asegurar que dicho diodo no recibe más energía de la que puede soportar. Sin una resistencia, el led brillará intensamente durante unos momentos, pero al poco rato se quemará.

Simbolo electrico de la resistenciaSímbolos eléctricos de la resistencia

Interruptor: Se encarga de interrumpir el paso de la corriente. Cuando el interruptor esta abierto, no fluye corriente por el circuito, cuando está cerrado, el circuito está completo y la corriente circula sin problemas. Existen diversos tipos de interruptores, los interruptores propiamente dichos y los pulsadores. Estos últimos son similares a los primeros, con la única diferencia de que solo dejan pasar la corriente mientras están siendo pulsados.

Simbolo interruptor y pulsadorSímbolo eléctrico de un interruptor y de un pulsador

Nuestro primer circuito con Arduino

Para nuestro primer circuito  con Arduino hay que tener en cuenta que solo disponemos de una fuente de alimentación. Cuando conectamos la placa a un puerto usb o a una fuente de alimentación de 9v, Arduino nos proporciona una tensión de 5v entre el pin 5v y el pin de tierra para alimentar nuestro circuito.

Figura 8

Si tenemos la placa conectada al ordenador a través de un cable usb o a una alimentación de 9v, debemos en primer lugar desconectarla antes de montar el circuito.

Bien, ahora vamos a empezar a montar el circuito en la Protoboard. Conectamos un cable rojo al pin 5v del Arduino y el otro extremo al final de una de las tiras largas de la Protoboard. Seguidamente, conectamos un cable negro al pin de tierra (GND) y el otro extremo a la línea adyacente de la Protoboard utilizada para el cable rojo. Es muy útil mantener cierta coherencia en la utilización de los colores de los cables  a la hora de construir los circuitos, como por ejemplo, usar los cables de color rojo para la alimentación y los negros para la conexión a tierra.

009

Ahora que ya tenemos conectada la alimentación de la Protoboard colocamos el pulsador en medio de la misma, sobre la línea central que la atraviesa. Tal como se muestra en la siguiente imagen.

010

A continuación, cogemos una resistencia de 220Ω (código de colores: rojo, rojo, marrón) y conectamos uno de sus extremos al positivo de la alimentación y el otro a una de las patillas del pulsador.

Seguidamente, en la otra patilla del pulsador, conectamos el ánodo del diodo led (la patilla larga). Después, con la ayuda de un cable de color negro, conectamos el cátodo del led (la patilla corta) al negativo de la alimentación. El circuito debería quedar como en la imagen siguiente:

011

Ahora que ya tenemos montado el circuito vamos a hacerlo funcionar. Conectamos el cable usb a la placa Arduino y a nuestro pc y presionamos el pulsador que hemos puesto en la Protoboard. Si todo está bien conectado deberíamos ver como se enciende el led. ¡Genial! Hemos hecho funcionar nuestro primer circuito con una placa Arduino.

Bueno, ya hemos dado un paso más en nuestro camino para aprender a utilizar la placa Arduino. En el siguiente capítulo conoceremos los conceptos de componentes en serie o en paralelo, así como aprender a leer el código de colores de las resistencias. Son conceptos sencillos pero básicos si queremos proseguir. Espero que os sea de gran ayuda e interés.

Un saludo y muchas gracias por leer este artículo.  ^_^

Referencias

Artículo basado en el capítulo “Project 01 – Get to know your tools” del libro “Arduino Projects Book” distribuido por Arduino.cc junto con su “The Arduino Starter Kit“.

AllSeen Alliance, el estándar Open Source que quiere ser el pilar de la Internet de las Cosas

En Qualcomm nos tenían preparada una (casi) sorpresa. El CEO de esta empresa, Paul Jacobs, ya desvelaba en septiembre en Uplinq 13 cómo la conectividad en la Internet de las Cosas era uno de los apartados en los que más estaban trabajando sus ingenieros.

Aquellos esfuerzos no eran nuevos: ya pusieron en marcha hace algún tiempo AllJoyn, un proyecto Open Source para este propósito, pero ahora esta empresa va más allá y quiere ofrecer el proyecto AllSeen Alliance, tutelado por la Linux Foundation y que ofrecerá eso en lo que sueñan fabricantes y usuarios: que cualquier dispositivo actual o futuro pueda comunicarse con cualquier otro.

Un estándar universal

AllSeen Alliance es, como indican los responsables de The Linux Foundation en un comunicado oficial:

Un framework Open Source que permite a sistemas ad hoc descubrir, conectarse dinámicamente e interactuar de forma transparente con otros productos cercanos sin importar su marca, capa de transporte, plataforma o sistema operativo.

La iniciativa colaborativa está encabezada por Qualcomm, pero hay muchas más empresas implicadas: Haier, LG Electronics, Panasonic, Sharp, Silicon Image, y TP-LINK. Además tenemos a los llamados “Miembros Comunitarios”, entre los que están Canary, Cisco, doubleTwist, Fon, Harman, HTC, Letv, LIFX, Lite-on, Moxtreme, Musaic, Sears Brand Management Corporation, Sproutling, The Sprosty Network, Weaved, y Wilocity.

El problema hasta la fecha estaba claro: los fabricantes sacan al mercado televisores o dispositivos que se comunican únicamente con aplicaciones y sistemas propietarios. En lugar de desarrollar un ecosistema abierto, apuestan por un jardín amurallado en el que al final los perdedores son todos.

Eso es lo que la AllSeen Alliance —como consorcio— y AllJoyn —como plataforma software— se proponen remediar. Y podrían lograrlo, porque AllJoyn pasa a depender (lo ceden, podría decirse) totalmente de ese consorcio.

AllJoyn entiende y habla todos los idiomas

La tecnología de AllJoyn es especialmente curiosa ya que en lugar de hacer que los dispositivos estén obligados a conectarse a otros mediante WiFi, Bluetooth o Zigbee (por ejemplo), permite que los dispositivos se autodescubran y negocien conexiones con los protocolos que estén disponibles, sean cuales sean.

alljoyn

Así, AllJoyn puede por ejemplo transmitir audio y vídeo desde un teléfono a una televisión, lo que en esencia también hacen AirPlay u otros protocolos como Miracast. Pero AllJoyn lo hace sin obligar a que los equipos tengan una u otra tecnología… aunque eso sí, deben ser compatibles con AllJoyn y AllSeen Alliance, algo que este proyecto Open Source quiere facilitar a todo tipo de fabricantes y dispositivos.

Uno de los máximos responsables de Qualcomm, Rob Chandok, explicaba que con esa cesión de AllJoyn y con la creación de AllSeen el camino hacia una verdadera Internet de las Cosas debería ser mucho más sencillo:

Estamos en ese momento en el que la gente trata de hacer todo verticalmente porque no ven otra solución, y la Alianza está diciendo ‘aquí tenéis una funcionalidad fantástica que Qualcomm está dispuesta a ceder’. Es un gran problema que necesita ser solucionado… no tiene sentido que todo el mundo siga reinventando por sí mismo una y otra vez lo mismo.

La Alianza mostrará algunos de los primeros productos que soporten AllSeen en el CES de enero de 2014, y entre ellos probablemente veremos —como se esperaba— nuevos televisores de LG. Quizás este sea el primer paso —los casos de uso son ilimitados— hacia una Internet de las Cosas real.

Referencias

Artículo original “AllSeen Alliance, el estándar Open Source que quiere ser el pilar de la Internet de las Cosas” escrito el 10 de diciembre del 2013 por Javier Pastor (Google+, @javipas) en Xataka.com

Lo que se comparte por Dropbox al alcance en Google

En varias ocasiones he hablado por aquí del problema que tienen las opciones de indexación de URLs tal y como se configuran el Google que pueden llevar a fugas de datos y problemas de privacidad. Ejemplos de esto os he puesto con Facebook, WhatsApp y con Gmail, pero el número de sitios que se ven afectados son infinitos, por lo que puedes pasarte una tarde divertida dorking as a ninja a ver qué sale.

Dropbox_1Figura 1: Fichero robots.txt de DropBox

Un amigo por Facebook¡Gracias Alan Brian! – en lugar de pedirme que hackeara cosas para él, me avisó de que en Dropbox sucede lo mismo y que el material que allí se puede encontrar es jugoso. Basta con irse a echar un ojo al fichero robots.txt de DropBox para ver que todos los archvios que se encuentren en los directorios /s y /sh están prohibidos para su indexación, pero sin embargo las direcciones URLs y los títulos de las mismas sí que van a quedar indexadas salvo que se introduzcan las etiquetas en el código HTML de NoIndex o se añada el X-Robots-Tag “NoIndex” a nivel de servidor web.

Dropbox_2Figura 2: 1.570.000 URLs indexadas en /s

En Dropbox el número de URLs indexadas es de 1.570.000 sólo en el directorio /s, lo que deja para buscar y jugar largo rato haciendo hacking con buscadores. Hay algunas URLs filtradas con permisos de seguridad, archivos que ya no están, pero lo cierto es que la mayoría de esas URLs llevan a ficheros que sí que están y son accesibles, por lo que se puede sacar de todo.
Buscando así, al azar, aparecen ficheros con bases de datos de usuarios y contraseñas, archivos comprimidos con fotografías, código fuente de programas y aplicaciones, libros, música que se puede buscar como hacíamos en Skydrive, películas, y casi cualquier cosa que se te ocurra.
Dropbox_3Figura 3: Dump de 450.000 usuarios y passwords de Yahoo!

Entre las cosas que he sido capaz de localizar está la presentación completa del Codemotion ES que yo utilicé este año y que entregué a los organizadores, lo que me ha permitido recuperar completas todas las diapositivas de la charla que había perdido – larga vida al hacking -.

Cuidado con Google y el robot.txt

De todo ello, lo que más me ha maravillado es cómo se puede buscar en Google información prohibida. Veréis, yo he buscado por IBAN para ver si había gente que hubiera subido datos de cuentas corrientes a Dropbox, y me ha salido un resultado donde en el título se puede ver la palabra IBAN, aunque como está protegido por robots.txt no puedo ver ningún dato del resultado.

Dropbox_4_0Figura 4: Resultados con información de una cuenta corriente bancaria

Cuando he ido a ver el sitio a ver qué se estaba compartiendo de forma pública se puede ver que hay una página con información de una cuenta bancaria, pero el texto IBAN solo aparece en el contenido del fichero PDF y no se encuentra en el título de la página.

Dropbox_5Figura 5: El dato de IBAN no aparece ni en la URL ni en el título, solo en el contenido

Mirando el código fuente a ver otra de las palabras que aparece en el título que aparece en los resultados de búsqueda de Google, la palabra CODICE, se puede ver que tampoco está allí, por lo que parece más que evidente que Google está indexando el contenido de ese documento PDF y de alguna forma dejando buscar por términos allí contenidos. Es decir, Google indexa el documento PDF, genera metadatos sobre el documento y deja buscar por ellos.

Dropbox_6Figura 6: CODICE tampoco está en el código fuente de la página

Además, parece que la gente de DropBox ha decidido que esto no debería estar así y en el código fuente se puede ver la etiqueta NoIndex para que Google no indexe nada del contenido de esa página web, pero o Google no le ha hecho caso aún, o esta URL estaba indexada desde antes, porque aún está en los resultados.

Dropbox_7Figura 7: La página tiene la etiqueta noindex en el código HTML, pero está en la base de datos de Google

A los administradores de Dropbox les tocará darse un paseo por las Herramientas del Webmaster e ir borrando las URLs que ellos consideren una a una, para que no quede esto así. Si compartes algo por Dropbox, revisa bien los permisos de seguridad y las cuentas a las que les das acceso, y ten presente que si Google accede de alguna forma a tu URL puede que aparezcan fugas de información en el título, los metadatos que cree sobre el documento o la misma URL.

Referencias

– Artículo original “Lo que se comparte por Dropbox al alcance en Google” escrito por Chema Alonso el lunes 9 de diciembre del 2013 en http://www.elladodelmal.com/

Alternativas Open Source a servicios web de éxito (I)

Source__Open_by_shadbolt

La avalancha de noticias que nos llegan desde hace semanas con el escándalo PRISM ha hecho que muchos se planteen tomar medidas para tratar de evitar o al menos minimizar esa monitorización a la que se supone estamos sometidos por parte de la NSA.

En nuestra serie de “Paranoicos de la privacidad“ llevamos ya varias entregas con artículos que tratan de ofrecer consejos a la hora de sentirnos algo más protegidos, y ahora llega el momento de recomendaros alternativas Open Source a servicios web que son muy populares pero que según los documentos filtrados están vigilados por el gobierno estadounidense.

Estas alternativas Open Source tienen la ventaja de que cualquier usuario puede auditar el código y comprobar que no hay en él traza de posibles sistemas de monitorización. La descentralización y el control por parte del usuario —y no del proveedor del servicio— son dos de las características de muchos de estos desarrollos que dividiremos en dos entregas (esta, y la que publicaremos la próxima semana). Estos consejos están basados en la excelente documentación del proyecto PRISM Break.

Navegación web

Ante las alternativas tradicionales (Internet Explorer, Chrome, Safari u Opera) tenemos un navegador totalmente Open Source destacado: Firefox. Chromium, base de Chrome, también, pero al estar Google detrás las suspicacias surgen, y lo hacen con ciertos argumentos.

firefox

A este navegador conviene dotarle de varias extensiones o complementos que refuercen su protección de nuestra privacidad. Entre ellas destacan las siguientes:

  • HTTPS Everywhere: cifra la transmisión de datos tratando de activar el uso del protocolo HTTP seguro (HTTPS) en cuanto se detecta que está disponible.
  • Adblock Edge: bloquea la publicidad, una práctica que es útil para evitar seguimiento de sitios web, aunque obviamente esto sea tirarnos piedras a nuestro propio tejado, ya que la publicidad es nuestro caso es necesaria para nuestro modelo de negocio. Esta extensión en particular es más recomendable que Adblock Plus porque esta última muestra publicidad “aceptable”, además de requerir más memoria.
  • Disconnect: similar a Ghostery (que es un plugin propietario), este complemento evita que terceras partes monitoricen nuestra actividad en el navegador.
  • NoScript: mediante esta extensión podremos deshabilitar la ejecución de Java, JavaScript y Flash excepto en sitios en los que tengamos total confianza.
  • RequestPolicy: a través de este complemente podremos controlar qué peticiones cruzadas son permitidas durante nuestras visitas.

Si el uso de Firefox con estos complementos no nos convence, podremos usar también Tor Browser, el navegador con la integración de la capa de anonimato y privacidad que proporciona Tor. Aunque la navegación puede ser algo más lenta, sus ventajas compensan en este tipo de escenarios.

Por supuesto, hay que prestar atención a una circunstancia: Firefox hace uso por defecto del buscador de Google, así que tendremos que reemplazarlo por alguna de las alternativas de las que hablamos a continuación.

Búsquedas web y mapas

En nuestro país el uso de Google como motor de búsqueda está muy extendido. Ya hemos visto que si usamos Firefox como navegador para proteger nuestra privacidad lo ideal es modificar su motor de búsqueda por defecto, y para ello existen varias opciones interesantes, aunque no perfectas.

openstreetmap

La más conocida es DuckDuckGo, un servicio que hasta no hace mucho tenía una popularidad muy reducida pero que con el escándalo PRISM ha visto multiplicado su tráfico de forma notable. Aunque hay ciertos componentes propietarios, es una solución interesante en este campo.

También podremos usar YaCy, un interesante proyecto de red descentralizada de búsquedas que hace uso de la filosofía P2P: cuanta más gente lo usa, mejores son los resultados que ofrece. Aún en pleno desarrollo, este buscador —con información en perfecto español— ofrece “búsquedas web hechas por la gente, para la gente”.

En el segmento de los mapas online sí tenemos un ganador absoluto: se trata de OpenStreetMap, un proyecto absolutamente envidiable que lleva años atrayendo la colaboración de miles de usuarios.

Éstos han aportado correcciones e información sobre los mapas obtenidos por el proyecto, que desde hace tiempo no solo son utilizados por usuarios preocupados por la privacidad o fans del Open Source, sino por empresas con servicios web que se basan en gran medida en esos servicios cartográficos. Uno de los mejores ejemplos lo tenemos en Foursquare, que desde febrero de 2012 hace uso de este servicio.

Mensajería instantánea, VoIP y videoconferencia

La mensajería instantánea es uno de los servicios de moda sobre todo entre usuarios de telefonía móvil: WhatsApp Messenger tiene una popularidad asombrosa en nuestro país, pero como en muchos otros apartados, si queremos salvaguardar nuestra privacidad tendremos que renunciar en algunos casos a la comodidad que nos proporcionaban ciertas alternativas propietarias.

mensajeria

Entre las alternativas Open Source a WhatsApp, Google Talk o Yahoo! Messenger —por ejemplo— tenemos solciones destacadas como Pidgin, un cliente Open Source muy conocido entre los linuxeros. No obstante, Pidgin por sí solo no es suficiente, y es más que recomendable instalar el complemento Off-the-Record Messaging (OTR) para poder contar con chats cifrados a través de diversos algoritmos como AES o SHA-1.

Lamentablemente Pidgin almacena las contraseñas de nuestras cuentas en texto plano, por lo que conviene, o no guardarlas nunca en Pidgin, o cifrar el sistema de ficheros por completo con soluciones como TrueCrypt.

Pidgin supone una alternativa válida para nuestros PCs y portátiles (hay otras, como Adium, para OS X), pero ¿qué ocurre con nuestros teléfonos móviles, donde se mantienen la mayoría de estas conversaciones? Las alternativas también son accesibles en Android a través de soluciones como Gibberbot, Surespot, TextSecure (SMS y MMS) o Xabber, mientras que en iOS destaca ChatSecure.

Algo similar ocurre con el terreno de la videoconferencia, muy de moda con servicios como Hangouts, FaceTime o Skype, y que también dispone de alternativas Open Source. Jitsi es un cliente de chat y videoconferencia que cifra los datos transmitidos y que soporta los protocolos XMPP/Jabber y el protocolo SIP.

En cuanto a las conversaciones VoIP, también tenemos a Mumble para chats de voz en PCs y portátiles, y su equivalente para Android, RedPhone, que es una especie de Viber pero seguro y, como el resto de soluciones mencionadas, totalmente Open Source.

omo señalan en PRISM Break, la API WebRTC cuya especificación está a punto de completarse —y cuyo soporte ya está en marcha en varios navegadores, incluido Firefox— es un prometedor componente en este tipo de escenarios. Jingle, el protocolo de mensajería y de VoIP que fue diseñado por Google en colaboración con la XMPP Standards Foundation, está basado precisamente en la API WebRTC.

Redes sociales, ¿el gran problema?

Hoy en día todo parece ser social. Facebook, LinkedIn, Twitter o Google+ son acompañantes fijos de nuestra vida digital, y esos sacrificios que debemos hacer en cuanto a la comodidad son aún más evidentes si queremos proteger nuestra intimidad. No se trata solo de que nosotros usemos alternativas Open Source: deberemos hacer que nuestros contactos los usen, y que a su vez eso sirva para que los medios de comunicación también promocionen dichos servicios.

diaspora1

Diaspora es probablemente la alternativa más interesante en el segmento de las redes sociales del estilo Facebook o Google+. El proyecto fue claramente una inspiración para Google+, que trasladó el concepto de los “aspectos” de Diaspora para convertirlos en los famosos Círculos. El diseño inicial de ambas redes sociales también tenía muchos puntos comunes, aunque la arquitectura en nodos totalmente descentralizada de Diaspora precisamente es la clave de esa protección de nuestra privacidad. Cualquiera puede montarse un nodo de Diaspora desde el que luego podremos conectarnos a otros nodos y a otros usuarios de esta singular red social.

En cuanto a las alternativas a Twitter, Identi.ca es sin duda la más conocida. Basada hasta no hace mucho en StatusNet —que se fusionará con Free Social para sumarse a GNU Social—, los responsables de este servicio de microblogging decidieron rebautizar el servicio —con una migración de cuentas automática— y crear Pump.io, un “servidor social” con una API que según sus creadores ofrece “la mayoría de lo que la gente quiere de una red social”. Aunque hay una versión hospedada para probar el servicio, el registro en estos momentos parece estar cerrado.

Otras alternativas como RetroShare o Tent son igualmente interesantes para disfrutar de algunas de las prestaciones de una red social, aunque hoy por hoy tanto Diaspora como Pump.io parecen especialmente preparadas para suplir las necesidades de los usuarios acostumbrados a Facebook o Twitter.

Almacenamiento y sincronización online

Dropbox, SkyDrive, GoogleDrive, SugarSync, CrashPlan… hoy en día nuestros datos pueden estar más a salvo que nunca gracias a estos servicios que ofrecen todas las comodidades en caso de desastre. Y sin embargo, todos ellos son igualmente susceptibles de ser monitorizados por las autoridades, como se ha confirmado que ocurre con Dropbox o SkyDrive.

650_1000_owncloud-5

Hace tiempo que la filosofía Open Source ofrece alternativas muy válidas en este apartado, con una especialmente destacada. Se trata de ownCloud, cada vez más popular como paquete “estrella” en las distribuciones Linux y que poco a poco va limando distancias en cuanto a prestaciones con gigantes como Dropbox. Montar un servidor con ownCloud es relativamente sencillo, y a los clientes de escritorio para Windows, OS X y Linux se le suman las aplicaciones para Android y también para iOS.

Algo menos conocidas son Seafile —más orientada a equipos de trabajo— o Sparkleshare, muy centrado en el control de versiones, no tanto en grandes backups de fotos o música, por ejemplo, como los propios desarrolladores indican en la página del proyecto. BitTorrent Sync, aunque hace uso del protocolo Open Source BitTorrent, es un software propietario. Y es una lástima, porque se trata de uno de los desarrollos más interesantes para realizar este tipo de tareas.

Referencias

– Artículo original “Paranoicos de la privacidad: Alternativas Open Source a servicios web de éxito (I)” escrito por Javier Pastor (Google+, @javipas) el 12 de julio del 2013 en Xataka.com.

La publicidad en las apps de Google Play. Más que una “molestia”

“Google is now just an ad company”. No es que sean noticias nuevas, pero ya lo afirman o cuestionan algunos abiertamente desde hace tiempo. La novedad, quizás, no es que su negocio principal sea la publicidad (no hay nada malo en eso) sino en cuestionar qué está dispuesta a sacrificar por ella. En concreto, la publicidad en Google Play puede que refleje mejor esta situación. Veamos por qué.

El modelo de Google Play y los programadores

El modelo de crecimiento de Google Play está claro: relajar todo lo posible las restricciones con el fin de que desarrollen para esta plataforma cuantos más programadores mejor. Desde la baja cuota de inscripción, pasando por la “simbólica” política de firma de aplicaciones y la facilidad para publicar de un día para otro sin acreditar nada, todos son métodos que fomentan su popularidad… pero también que a Google Play llegue más adware y malware (en comparación con los casi impolutos markets de Apple y Microsoft gracias a sus procesos de publicación).
El modelo de los programadores, por otro lado, también está claro: aplicaciones gratuitas en su mayoría que se intentan financiar con publicidad. Bajo el calor de la demanda de estos usuarios, y la permisividad de Google Play, se han potenciado numerosas (unas 50 oficiales) “redes de publicidad” especializadas en móviles. Exactamente igual que la publicidad en la web externalizada, se encargan de facilitar al programador que se suscribe (le abstraen a través de SDKs) la labor de posicionar la publicidad, gestionarla, optimizarla y por supuesto… cobrarla. Esto implica dar vía libre a que la publicidad tenga cierto poder sobre la app y, por lo visto, sobre el teléfono. Algunos nombres son: AppNext, Appenda, LeadBolt, MOcean, AppGrade, Adbuddiz….

Hasta aquí, nada que no se pueda trasladar al mundo de la web y la publicidad online. Pero sabemos que se han dado casos, en los que los anuncios externalizados en webs ha permitido que ciertas páginas relevantes sirvan malware, o incluso que se introduzcan en sus redes¿Se han de cometer los mismos errores en Android?

Dos redes de anuncios con vulnerabilidades y otra “insoportable”

Al margen de la molestia que la publicidad agresiva puede suponer de por sí, FireEye ya ha descubierto que dos de estas redes de anuncios sufren serias vulnerabilidades. Ya sabemos que estas librerías suponen un riesgo para la intimidad del usuario (recolectan todo tipo de información), pero algo muy diferente es que permitan controlar un teléfonoLa primera la descubrieron en octubre de 2013. La llamaron Vulnaggressive (Vulnerable & Aggressive), y no quisieron decir el nombre concreto, porque ponía en peligro a los millones de usuarios que tuvieran cualquier aplicación que se sustentase con esta librería de publicidad. Un 1.8% de las apps en Google Play con más de un millón de descargas, la usaban. La propia librería permitía (de forma más o menos “oficial”):

  •  Descargar y ejecutar cualquier binario en el teléfono.
  •  Aceptar comandos de un servidor y enviar información (todo en texto claro por HTTP)
  •  Usar WebViews de Android (ventanas en la aplicación que en realidad son páginas web interpretadas… donde se muestran los anuncios) con “enlaces” de JavaScript a Java de forma insegura (gracias a addJavascriptInterface). Muy resumido, esto quiere decir que, con solo visitar una página, se podría llegar a lanzar instrucciones JavaScript (limitadas al navegador, en teoría) que a su vez llaman a Java (ejecución de código en el terminal).

En resumen, suponía una jugosa botnet de teléfonos para cualquier atacante, casi lista para ser usada. Google eliminó “algunas” de esas aplicaciones que usaban esa “desconocida” Vulnaggressive…

Otro ejemplo es más reciente. InMobi (a esta sí la nombraron). También por FireEye. Unas 2000 aplicaciones en Google Play usan esta red de anuncios. Para poner en situación, es necesario explicar que @JavascriptInterface es una notación que se introdujo en Android 4.1 para mitigar precisamente ese problema de enlaces entre JavaScript y Java. El programador debe usar esta herramienta para limitar los métodos de Java que son accesibles desde JavaScript. InMobi lo usa justo al revés, para poder hacer “de todo” a través de WebViews y JavaScript… desde enviar SMS hasta realizar llamadas sin consentimiento, pasando por la posibilidad de tomar fotografías. Si un atacante simplemente esnifara el tráfico mientras el usuario usa una app y tuviera la posibilidad de modificarlo, podría llegar a controlar el teléfono a través de los anuncios servidos.

Por último, mención aparte merece AirPush. Una red de anuncios tan agresiva y un método de publicidad tan insoportable, que la propia Google prohibió su uso en 2012. En realidad estableció por políticas (no técnicamente) la prohibición de utilizar las notificaciones AirPush para enviar spam al usuario… y AirPush era una de las redes que más abusaba de esta técnica. Aunque por supuesto, todavía se pueden encontrar aplicaciones con AirPush en el market… Google Play les dio de plazo hasta el 30 de septiembre de 2013 para ser retiradas… y ahora las va eliminando “a su ritmo”.

Publicidad agresiva
Ejemplo de publicidad más que agresiva en Android, suministrada por appNext

¿Qué es permisible en publicidad?

Una vez más, se tropiezan en las mismas piedras. A finales de los 90, internet se convirtió en un campo de batalla de la publicidad y el adware, que se aprovechaban del dominio de Internet Explorer (y su ineficacia) para realizar todo tipo de trucos: pop-ups, anuncios que no podían cerrarse, JavaScript, páginas directamente a favoritos, vídeos, animaciones… Pasaron varios años hasta que los navegadores mejoraron y “se protegieron” contra la publicidad insoportable. Pero no sin “negociar”. A la publicidad no se puede renunciar… como mucho, se le ponen ciertos límites. El perfecto ejemplo es cómo Google eliminó de Google Play el eficaz AdBlock Plus, y actúa contra ciertas redes de anuncios “que se pasan” como AirPush. Pero no le pidas más. Su negocio es llevarse bien con todas las partes y el secreto está en mantener el equilibrio, sin molestar demasiado a los usuarios… Esto choca frontalmente con la publicidad tan bien gestionada en su producto estrella, el buscador (no agresiva, no estridente, respetuosa, diferenciada…) que le granjeó la fidelidad de muchos usuarios precisamente a principios de la década pasada. ¿Está dispuesta a perder esa percepción por parte de los usuarios a cambio de un menor control en los programas subidos a su market oficial, a cambio de hacer la vista gorda ante una publicidad “un poco más agresiva”? No lo sabemos, pero sí que según la propia Google, el “problema” del malware en Android, no es para tanto. Una “exageración de las casas antivirus”. ¿Se incluye el “adware” en esa afirmación?

En definitiva, que quizás habrá que vivir una “guerra” en el campo de batalla de Android, para que probablemente, se sigan finalmente los pasos que convirtieron la publicidad en la red algo regulado y en cierta manera, sostenible, con acuerdos como  la coalición AntiSpyware, que “oficializó” en el mundo del escritorio lo que podía o no caracterizarse como publicidad y cruzaba la línea hacia el adware. En la práctica los atacantes siguen abusando en la web, pero al menos existe una especie de regularización y, desde luego, la situación es mejor que hace una década.

Referencias:

Artículo original “La publicidad en las apps de Google Play. Más que una “molestia”” escrito por Sergio de los Santos (ssantos@11paths.com, @ssantosv) el 28 de noviembre de 2013 en Eleven Paths.