Hay que evitar que se puedan correlar los "atributos clave" y los "sensibles" (nombre con enfermedad)
Los "casi-identificadores" pueden dar suficiente información para identificar a una persona: hay que agruparlos en "clústeres de k-anonimato"
La anonimización de bases de datos está fuera del área de estudio, pero usamos el mismo concepto: el anonimato no es absoluto, lo que buscamos es ser anónimos en un grupo de "k" personas
Solución 3: VPN
Contrata los servicios de alguien que hace las peticiones por ti. Por ejemplo: una VPN
La VPN hace las peticiones en nombre de sus clientes: -anonimato para un observador externo
Ningún observador externo puede correlar peticiones que entran en la VPN y las que salen (¡siempre que haya suficientes entradas!)
Problema: ¿seguro que la VPN no está logueando qué hacemos?
Tor (sigla de The Onion Router - El Enrutador Cebolla) es un proyecto con el objetivo de crear una red de comunicaciones de baja latencia y superpuesta sobre internet, en la que el encaminamiento de los mensajes intercambiados entre los usuarios no revela su identidad (dirección IP) y que mantiene la integridad y el secreto de la información que viaja por ella, y que además sea muy sencillo de utilizar.
Tor Relays, ejecutados por voluntarios en Internet
Usos
Navegación anónima: "Web normal"
Para el usuario: anónimo
Para el servidor: nada especial, el servidor no tiene por qué saber que el usuario es anónimo (pero ojo: algunos servidores detectan y expulsan a los usuarios que vienen de Tor)
Navegación .onion: "Dark web"
Para el usuario: anónimo
Para el servidor: anónimo
Si eres un investigador analizando malware, no querrás que los malos te identifiquen: ¡utiliza navegación anónima!
Surface, deep and dark web
Surface web: la web visible por Google
Deep web: no visible por Google o similares. Parte privada de foros, correos electrónicos, intranets de empresa, bases de datos...
Dark web: solo accesible con navegadores especiales y conociendo el enlace .onion
Navegación normal
Si usamos HTTPS, nadie sabe qué transmitimos
Pero hay muchos actores que saben que estoy hablando con un servidor
Alice escoge un nodo para que reenvíe un mensaje a Bob, y lo cifra con la clave pública de :
Solo puede descifrar
sabe que el mensaje es para Bob así que se lo reenvía
Bob recibe un mensaje de y no sabe quién lo envió
Para evitar que la identifique, Alice envía a pidiendo que se lo reenvíe a :
sabe que el mensaje viene de Alice, pero no sabe a dónde va: solo sabe que el siguiente paso es
Nadie más que puede descifrar
Alice puede hacer esto varias veces para mejorar su anonimato: Alice envía un mensaje a para que lo abra y se lo reenvíe a , que lo abrirá y lo reenviará a , que lo abrirá y lo reenviará a Bob.
A veces, los servidores también quieren permanecer anónimos: que nadie sepa dónde están ni qué IP tienen. De esta manera evitan que puedan cerrarse o atacarse
En realidad el ejemplo de Breaking Bad ilustraría un mal uso de Tor: Gus controla el punto de encuentro, así que puede conocer a Walter sin que Walter lo reconozca (como pasó en la serie)
Walter debería haber escogido él mismo el punto de encuentro, como en Tor
Creación de un servicio oculto en Tor
Crea un par de claves público/privada
Crea dirección .onion (hash de la clave pública)
Escoge un intermediario
Publica en base de datos distribuida dirección .onion e intermediario
Pregunta periódicamente al intermediario si hay mensajes para ti
Cuando llegue un mensaje (intento de conexión y punto de encuentro), crea un canal Tor hasta el punto de encuentro
Cuando un servidor quiere ofrecer un servicio, crea una dirección .onion (ejemplo: https://www.bbcnewsv2vjtpsuy.onion/) y se escoge un nodo intermediario
La dirección .onion está relacionadac con el hash de una clave pública creada ad-hoc por el servidor, y podemos validar que el servidor que nos responde es el que buscamos
Los nodos al final enrutaran mensajes que es muy posible que sean ilegales. ¿Quién querría hacer algo así?
Gente que quiere apoyar el proyecto
Gente que piensa que quiere apoyar el proyecto, pero venderá tu información ante cualquier problema
Universidades haciendo investigación
La policía intentando obtener información
La NSA, o el equivalente europeo, ruso o chino
Atacantes
No deberías fiarte de un nodo Tor. El sistema asume que los nodos Tor no son fiables. Si fuesen fiables, ¡serían suficientes circuitos de un solo relay!
Vulnerabilidades
En una red Tor no eres anónimo si anuncias quién eres: no las uses para acceder a Facebook
Un observador sabe que estás usando una red Tor: los nodos de entrada y salidas son públicos
El emisor envía el primer paquete a un nodo Tor público
El receptor sabe que la petición viene de un nodo Tor
Timing attacks: un adversario poderoso (estado) puede intentar correlar las entradas y salidas de la red: usa nodos en países diferentes
Sybil attacks: un adversario poderoso puede controlar muchos nodos Tor y por tanto atraer gran parte de su tráfico, debilitando el anonimato del sistema
Si un adversario controla los tres nodos, nadie que use ese circuito es anónimo
Si un adversario controla el 1 y 3 (nodos de entrada y salida), puede intentar correlar entradas y salidas: puede (probabilidad) que descubra identidades
Si un adversario controla un nodo, aprende datos estadísticos, pero es poco probable que aprenda identidades
¡Cuantos más uses, menos probable es que un solo adversario los controle todos!
La lista de nodos Tor es conocida aunque cambiante: es "fácil" para un servidor detectar si sus clientes están usando Tor
De hecho, si "un trabajador" intenta entrar en la VPN empresarial usando Tor... ¡muy probablemente es un atacante! Las VPN empresariales suelen detectar y bloquear las entradas desde Tor
No es el objetivo de este curso no es evangelizar sobre la conveniencia del anonimato en Internet. Ahí tienes algunos argumentos a favor y en contra y enlaces con discusiones y propuestas
Vamos de describir unas tecnologías que pueden usarse para objetivos terriblemente perversos pero también para proteger la libertad de las personas y para saber cómo trabajan los ciberdelincuentes. El uso que les des es responsabilidad tuya
Hay mucha razones para querer anonimato en internet
Un investigador de ciberseguridad usará constantemente redes anónimas para que los atacantes no sepan quién los está investigando
Ojo: decidir la potencia que tiene tu adversario sirve para todos los sistemas de seguridad que hemos visto.
OJO: esto funciona si confiamos en todos los amigos. Ellos colaborarán porque les conviene, pero hay que estar seguros de que ninguno de ellos es realmente "un topo". En este caso, el k-anonimato se reduce
CROWDS fue un sistema teórico, nunca se ha implementado como tal. Pero esta idea de k-anonimato se aprovecha en muchos otros sistemas. Además, el sistema de CROWDS es óptimo: no se puede tener más anonimato que el ofrecido por CROWDS.
Problema principal de CROWDS: no es posible predecir cuánto tiempo tardará un mensaje en salir de la red. ¡Un mensaje puede estar rebotando dentro de CROWDS para siempre!
En el ejemplo de la Agencia española de protección de datos, se muestra una base de datos de series favoritas anonimizadas con varios ejemplos de k-anonimatos
Aparte de las razones que hemos visto para utilizar navegación anónima, hay una más: si eres "de los buenos", a veces querrás visitar las webs "de los malos". Y casi nunca querrás avisar de que estás investigándoles.
- Descarga del malware que están usando, sin avisarles de qué país vienes y por tanto sin avisarles de que los has descubierto: si un malo sabe que los has descubierto, puede explotar "la bomba" ransomware inmediatamente. Durante una investigación conviene que los malos no sepan quién eres.
- Visita a sus páginas web, a ver si realmente tienen información de tus clientes
- ...
Image: https://www.silicon.es/wp-content/uploads/2013/10/Fuente-Shutterstock_Autor-Tomas-Urbelionis_anonimato-anonimo.jpg
Deep y dark web a veces se confunden. Esta es una propuesta de definiciones muy utilizada en la literatura para distinguie la web normal que no puedes encontrar en Google, porque es privada, de la web que no puede ser accedida con normalidad.
Como hemos estado viendo en todas estas sesiones, HTTPS ofrece confidecialidad, autenticidad e integridad: nadie sabe qué noticia estoy leyendo de elpais.com
- Excepto elpais.com, que sabe qué IP tengo y qué leo, y lo puede compartir con cualquiera
- Mi ISP también sabe que estoy conectándome a elpais.com
- Y los IXP, servidores de cloud, ISP destino... tienen que saber que yo estoy conectándome con elpais.com para poder enrutar mis mensajes. Auque no sepan qué página descargo, todo ellos saben que alguna página será. Incluso pueden sospechar cuál es midiendo tamaño de la conexión, tiempos de lectura...
- Si usamos comunicaciones anónimas como Tor, todo el mundo verás que hay alguien en Tor intentando conectarse a algún sitio. Pero ningún actor conoce todos los datos: la IP del cliente y la IP del servidor.
- OJO: si utilizamos un usuario y contraseña... elpais.com sabe quiénes somos aunque no sepa en qué IP estamos, y se lo puede contar a cualquiera
Fíjate que en este ejemplo el usuario es anónimo, pero el servidor no: veremos cómo anonimizar al servidor en el siguiente capítulo
Este esquema se parece un poco a CROWDS, pero Alice puede controlar la longitud del circuito. Normalmente es 3 ó 4 saltos. Alice cambiará el circuido cada 10 minutos, aproximadamente. O más bien: el servicio de Tor de Alice cambiará el circuito automáticamente, sin que Alice tenga que hacer nada
Alice debería buscar relays en países bien diferenciados, y quizá aquellos entre los que no haya "buen intercambio de datos", es decir, entre diferentes "bloques mundiales"
Una explicación más detallada de la transparencia anterior: el enrutamiento onion es como un ogro, tiene capas. También es como las muñecas rusas, una dentro de otra.
Esta es la transparencia anterior, pero con explicación gráfica del enrutamiento "cebolla"
El sistema funciona también como una mix network: hay mucha gente usándolo a la vez, así que no es fácil correlar las entradas y las salidas de la red ni siquiera para un adversario muy poderoso que sea capaz de monitorizar varios nodos (gobiernos)
¿Qué pasaría si el sistema solo tuviese un usuario? ¡Un adversario que vea un mensaje en Tor sabría de quién es!
Image: https://contribute.geeksforgeeks.org/wp-content/uploads/Onion-Routing-Page-1.png
Piensa en la temporada 2 de Breaking Bad, cuanto Walter quiere hablar con un traficante (que no sabe que es Gus):
- Walter utiliza a Saul para contactar con el traficante. En realidad Saul "conoce a alquien que conoce a alguien", pero no conoce directamente a Gus. Esto es un servicio de directorio, y "alquien que conoce a alquien" las personas que aceptan mensajes en nombre de Gus.
- Cuando le vuelve el mensaje a Walter, Gus y Walter quedan en un sitio "neutral": Los Pollos Hermanos. Este es el rendezvous
Las direcciones .onion tiene normalmente algunos caracteres al azar detrás de ellas. Eso es porque los servicios de directorio en realidad están distribuidos (tablas de hash distribuidas) y las direcciones .onion se comportan como un hash. Normalmente, creas una dirección .onion que empiece con un nombre identificable, como bbcnewsXXXXXXX, mediante la tarea laboriosa de crear pares de claves publico/privada cuyo hash tengan la cadena que buscamos. No siempre tendremos tiempo ni recursos para esto.
Ejemplos de relays Tor existentes cuando preparaba estas transparencias. La mayoría de relays Tor están en Europa, siempre ha sido así. Otros países tienen o bien poco interés de mantener nodos, o bien es peligroso hacerlo, o bien esos nodos pueden ser sospechosos de estar controlados por sus gobiernos.
Hay muchos sistemas para perfilar: no hay mucha gente en el mundo que tenga una pantalla de 800x600, con un navegador con soporte de AVI345 y que use Linux Debian 9. Un navegador envía toda esta información al servidor nada más presentarse!
El navegador Tor intenta no enviar nada de esto, y utiliza un User-Agent cambiante. Pero eso no evita que la web pueda identificarte por los plugins que tengas instalados o el tamaño de tu ventana. ¡No cambies estas cosas!
> Photo: https://unsplash.com/photos/RLw-UC03Gwc
AEPD: Agencia Española de Protección de Datos personanales
1. Para acceder al contenido restringido, el usario necesita previamente una "credencial de mayoría de edad" y un dispositivo móvil con una aplicación especial "Cartera Digital"
2. Para cada credencial que quiera solicitar, "Cartera Digital" general un par de claves público/privada. La clave privada nunca sale del dispositivo
3. Se solicita al emidor de credenciales (el gobierno) una credencial, y se envía la clave pública
4. El emisor envía la credencial firmada con su propia clave privada, con un tiempo de validez
5. El usuario acceder a un contenido protegido. El proveedor solicita prueba con un protocolo desafío/respuesta (tema autenticación)
6. El dispositivo responde al desafío, y solo puede hacerlo si tiene la clave privada asociada a la clave pública
7. El proveedor verifica la respuesta y da acceso