Tor, nodos, internet y demases

Tor, The Onion Router, es una red de nodos dentro de Internet, una red dentro de otra, digamos. Ya se ha escrito mucho al respecto, pero tal parece que deberé repetirlo por mi cuenta.

¿Qué es Tor?

Se trata de una red descentralizada con el objetivo de proveer anonimato en internet. Los usuarios de esta red buscan ser anónimos en un mundo cada vez más privado de privacidad. La idea de Tor es que un usuario del mismo no puede ser rastreado: todo lo que el usuario haga quedará a exclusivo conocimiento de él mismo (y de la deidad en que uno crea).

¿Quienes lo usan?

Cualquiera que quiera ser anónimo en internet, generalmente periodistas, personas que por algún motivo sean perseguidos políticamente, programadores y desarrolladores, hackers (no en el termino derruido por los medios) y, lamentablemente, también criminales.

Todo puede ser usado para hacer cosas buenas, y cosas para nada buenas. Tor no es la excepción: muchos criminales lo eligen, abusando del anonimato que la red provee, para cometer actos ilícitos de todo tipo.

¿Cómo se usa?

Basta con ejecutar el cliente de Tor para conectarse a la red, que actuará de proxy, es decir:

[…] un servidor —programa o dispositivo—, que hace de intermediario en las peticiones de recursos que realiza un cliente (A) a otro servidor (C).

Luego, si se desea navegar debe utilizarse un navegador, preferentemente Tor Browser.

O si se desea conectar una apliación cualquiera a la red, basta con indicarle como servidor proxy la dirección local (localhost, 127.0.0.1) y el puerto 9050 (por defecto).

¿Cómo funciona exactamente?

El usuario, Alice en este ejemplo, inicia la aplicación cliente para ingresar a la red y realiza una petición de listado nodos de la red a un servidor de nodos, Dave.

Tor seleccionará de esta lista, y de manera aleatoria, 3 nodos a través de los cuales realizará la conexión y realiza el enrutamiento a través de los mismos hasta el destino, Bob.

Repetirá el proceso anterior para cualquier otra conexión de destino: elegirá nuevamente 3 nodos aleatorios y se conectará al nuevo destino, Jane.

https://www.torproject.org/about/overview.html.en

Este proceso es el enrutamiento en cebolla, onion routing.

Un poco más de detalle

Cada nodo cuenta con una llave de cifrado RSA que se utiliza para firmar y cifrar paquetes.
Se emplea un enrutamiento entre 3 nodos con el objetivo de que cada nodo solo sepa: de dónde viene el paquete, a dónde va a continuación. Esto es, ningún nodo sabe:

  • qué es el paquete
  • qué info tiene o lleva
  • desde dónde se inició, o quién
  • cuál es el destino

De esta manera, los paquetes se cifran en capas (onion), y cada nodo va pelando una capa, hasta que el nodo final entrega el paquete pelado a destino. Por eso es importante emplear asimismo una conexión cifrada (https/ssh/etc.) de tal manera que el último nodo, y posteriormente la internet, no pueda ver la información que lleva el paquete.

Enrutamiento

El primer nodo solo sabe: dirección de origen del paquete, dirección del próximo nodo. Elimina la información de origen y lo pasa al siguiente nodo.

El segundo nodo solo sabe: dirección del nodo anterior, dirección del nodo final. Elimina la información del nodo anterior, y lo pasa al nodo final.

El último nodo solo sabe: dirección del nodo anterior, dirección de destino. Elimina la información del nodo anterior, pela (descifra) el paquete y lo envía a destino.

El destinatario solo sabe: el paquete pertinente, dirección del último nodo.

Así es que desde el destino no es posible rastrear el paquete hasta su origen, a menos que se hayan empleado nodos maliciosos, cuyo objetivo es desanonimizar usuarios. Para lograrlo, se requieren que los 3 nodos sean maliciosos.

La EFF dispuso un documento interesante donde explica interactivamente la importancia del uso de SSL/TLS (https) en la conexión cuando se emplea Tor, y qué ve y no ve cada nodo y participante en una conexión.

Conexión plana
Conexión cifrada

Servicios Ocultos

Tor permite crear un servidor web en un nodo, y se denomina hidden service. Estos servicios ocultos solo son accesibles a través de la red y emplean una dirección especial llamada onion address.

No es magia

Es posible desanonimizar usuarios haciendo un ataque en tiempo real, activo. O atacar los servicios ocultos de la red.

Incluso si se navega mediante un navegador estandard en lugar de usar Tor Browser, el anonimato se pone en riesgo dado que todos los navegadores pueden ser identificados de manera única.

O si en el navegador se habilita la ejecución de plugins o addons como JavaScript o Flash, u otros del estilo, es posible deanonimizar al usuario sin más.

¿Quienes operan los nodos de Tor?

Voluntarios, mayormente. Algunas empresas han donado equipos y conexión para ser usados por la red. Es muy simple tener un nodo, basta con instalar los paquetes necesarios; la configuración es muy sencilla, y en la web del proyecto lo explican fácilmente.

Discutiendo un poco sobre los nodos de salida

De los 3 nodos implicados en una ruta de Tor, el de salida es el que despierta la mayor controversia dado que es éste quien impacta en el destinatario.

Es totalmente legal tener un nodo de Tor, incluso uno de salida. Pero resulta que en este último caso, cuando ocurre un ilícito, los problemas se suscitan para quien lo haya instalado y/o lo administre.

Tengo la mala experiencia de vivir esto, aún cuando ya había apagado dicho nodo hace tiempo.

Y lamentablemente es una situación que se repite en el mundo. Tristemente, es por esto que no se recomienda tener un nodo donde uno reside.

Es una pena que haya gente de mierda que emplee estas herramientas para cometer actos horrendos de malicia, perjudicando a todos salvo ellos mismos, siendo que la Jusiticia no comprende y por tanto, no ajusticia a estas personas.

¿Cómo cooperar con la justicia?

No hay mucho para hacer: Tor no guarda registro alguno de las conexiones que se realizan desde y hacia el nodo. Un administrador podría espiar la conexión, examinar los paquetes activamente, convirtiéndose en un nodo maligno. Pero si no se realiza una captura de estos paquetes, nada puede hacerse a posteriori. Y aún así, todo lo se obtendría sería la dirección del nodo anterior, que tampoco por defecto tendrá información alguna. Este es precisamente el objetivo de Tor: ser anónimo e irrastreable.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *