sábado, 7 de septiembre de 2019

La facilidad que tienen servicios como Google, Facebook o cualquier plataforma digital para el espionaje

No debería sorprendernos los casos que salen de espionaje en Google o Facebook. Quien se sorprenda o es hipócrita o no sabe cómo funcionan los sistemas. Lo tienen muy fácil porque controlan los medios de producción y pueden hacer lo que quieran. Cuando antes lo entendamos, mejor.


Para explicarlo, vamos a poner ejemplos sencillos. Imaginad una página web que permite crearte un usuario y te da un entorno (una GUI) relativamente sencilla de utilizar en la que puedes subir los archivos que quieras y además chatear con quien quieras. Lo de chatear vamos a dejarlo a un lado, al menos por hoy.

Seguid imaginando, no paréis. Pensad que tenemos los siguientes usuarios:

- usuario1
- usuario2
- usuario3
- usuario4
- usuario5

Cada usuario tiene su cuenta y, si lo pensamos como un GNU/Linux, tendrán su directorio home. A cada directorio home sólo podrían acceder, en principio, cada usuario a su carpeta correspondiente.

Cada usuario, en su carpeta, van guardando sus archivos. Pensad en Google Drive por ejemplo. Por cierto, las backups de tus conversaciones de Whatsapp, acaban en Google Drive (Más adelante seguiremos marcando este punto).

Pues bien, ahora tenemos a un administrador al que le dicen:

"Oye, quiero saber qué están haciendo los usuarios"

Para el sysadmin es tan "complicado" como hacerse root y entrar en la carpeta de cada usuario con un "ultra complicado" 'cd' e ir listando directorios. Si nos piden que le pasemos esa información -por lo que sea- al equipo comercial, solamente tendremos que hacer un scp rsync  y enviar las carpetas con la información.

"Pero Manu, esto se queda en los logs y en el history"


Esta hipotética empresa podría, de una manera tan sencilla y "sin dejar rastro" espiar a sus usuarios.

Pues Google, Facebook, Uber y empresas de este tipo igual. Y no estoy entrando si quiera en que todo esto se puede automatizar muy fácilmente. Por ejemplo, si queremos eliminar todos los "cd" y "ls" más los "rsync" que hayamos hecho a partir de la línea 53646324 que es en la que hemos empezado a actuar hoy, tan complicado como montarse un script con if que lea el número de la línea y a partir de ahí haga un grep con los "cd", los "ls" para quedarse con la línea en la que están y eliminarlas. Nada que lleve más de 1 hora de trabajo como mucho.

Y esto es así porque controlan los medios de producción y pueden hacerlo. Y es que es bastante sencillo, de hecho cuando me ha tocado hacer alguna migración de servidor, una de las cosas era pasar información de un servidor a otro y a veces tocaba comprimir información del home de los usuarios y podías ver con la opción -v los archivos que tenían.

Google y Facebook sólo tendrían que tirar de la lista que seguramente tendrán con sus anunciantes y buscar si existe alguna coincidencia en los archivos. Por ejemplo, imaginad que LucasFilm (los de las pelis de Star Wars) tienen publicidad con Google y de repente, Google ve que un usuario suyo tiene en su Google Drive alguna película de Star Wars. Pues ya saben a quién ponerle publicidad sobre Star Wars.

O mejor, Google puede detectar que hay usuarios con películas de Star Wars en sus servidores y ve que LucasFilm no es cliente, por lo que llaman o escriben a LucasFilm para ver si quieren ser clientes, algo que se hace diariamente en cualquier departamento de comercial. Y sería ideal, porque Google podría decir algo como:

"Hemos detectado que hay un X% de usuarios en nuestros servidores que pueden ser potencial espectadores de Star Wars o, al menos, comprar merchadaising."

Unirían esta información junto a historial de navegación y cookies y así pueden obtener unos resultados bastante más precisos.

Y ahora entremos en otro aspecto importante y que a mucha gente se le ha podido pasar.


Cuando a los usuarios de Whatsapp y Google les llegó este correo no pensaron en ¿Y cómo se va a permitir este envío de información?

En Android, cada app se ejecuta con un user distinto, por lo que se logra cierta independencia. Para compartir datos entre apps tenemos que irnos a los Content Provider (aquí tenéis algo más de info. Referencia1, Referencia2). Vale, pero el problema es que el envío de información no se hace a nivel de app, no hace falta.

Basta con que Google, por ejemplo, habilitase un usuario en sus sistemas que se llame whatsapp y con correo, por ejemplo, whatsapp@google.com. Imaginemos un caso sencillo, envío de información mediante ssh. De esta forma, Google podría solicitar una publick key a Whtatsapp y Whatsapp, implementar en cada usuario una especie de crontab que cada día haga la copia de seguridad y la envíe a Google Drive mediante ssh por ejemplo.

Pero ojo, porque si este usuario whatsapp sólo va a enviar archivos, no tiene mucho sentido (obviamos el interés capitalista y de mercado) que este usuario pueda acceder al servidor (esperamos que, aún en este caso, con privilegios restringidos) y ver otros archivos, cambiarse de carpetas,etc. Todo esto lo podemos limitar introduciendo, en el authorized_keys y delante de la clave, command="".

Esto último lo veremos en un futuro artículo, pero de momento que quede claro que, empresa que controle sus propios sistemas, si trata con información de usuarios, puede obtener esa información y verla sin mayor problema.

¿Hackeamos el Mundo?

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...

Entrada destacada

El server me sabe a poco.

Soy un fanático del Rock y de Debian . (Creo que voy a inventar Rockbian, que suena bien y todo xD) Llevaba tiempo queriendo unir estos 2 c...