miércoles, 13 de febrero de 2019

Ataques en Tor

Diferentes tipos de ataques han sido propuestos para que funcionen en redes de baja-latencia en general y en Tor en particular. Este capítulo es una breve inspección a algunos de esos ataques.

Correlación de Flujo


En ataques de correlación de flujo, un atacante que puede observar dos flujos de paquetes intenta verificar que pertenecen al mismo flujo en diferentes flujos de la red de anonimato. Ya que los flujos en Tor tienen cifrado onion (onion encryption), no pueden ser comparados directamente y el atacante debe intentar correlacionarlos usando otra información disponible.

Conteo de Paquetes. El conteo de paquetes es una forma sencilla de la correlación de flujos. Tal como es propuesto por Back et. al [1], un atacante que puede observar routers onion cuenta el número de paquetes que entran y salen del primer router para determinar el siguiente nodo en el circuito. El procedimiento es posteriormente repetido en otros routers en el circuito hasta que se determina el destinatario. Aunque esta manera de contar paquetes es relativamente sencilla, requiere que el atacante sea capaz de observar una gran cantidad en la red, y asume que nunca hay una variación en el número de paquetes entrantes y salientes de un router en un flujo dado. Como tal, el conteo de paquetes ha sido opacado por técnicas más sofisticadas de correlación de flujos basadas en la sincronización de paquetes.

Análisis de Sincronización. La sincronización de paquetes es otra parte de los datos que puede ser usada para correlacionar flujos de redes. Una forma sencilla de utilizar los datos de sincronización de paquetes es usar algún tipo de función de correlación para intentar correlacionar flujos basados en su retardo entre-paquetes – el tiempo entre la llegada de paquetes adyacentes al flujo. Sin embargo, este método puede tener problemas con paquetes caídos. Levine et al. [6] propusieron un algoritmo de correlación usando las series de tiempo construidas desde la información de sincronización de packing. Una serie de tiempo es una manera de mirar los datos de sincronización de paquetes. Para crear la serie de tiempo, establecemos una constante de tiempo W, dividimos el flujo de paquetes en ventanas de tamaño W y contamos cuántos paquetes entran en cada ventana. La función de correlación es un producto de vector normalizado. Ellos simularon su algoritmo de correlación con cuatro tipos de tráfico usuario (tráfico generado por el estudio de 1996 de Berkeley HomeIP, tráfico aleatorio, tráfico constante y tráfico constante con paquetes caídos aleatorios) y mostraron que podían realizar exitosamente correlaciones en una mayoría de situaciones con un mínimo de falsos positivos.
La debilidad de la mayor parte de ataques de sincronización es que depende en que el atacante controle los routers Tor, y requieren que los atacantes controlen una gran porción de la red Tor para que sean ampliamente efectivos [6]. Aunque ha habido mejoras propuestas (tal como la negación de Barisov et al. del servicio de ataque por lo cual atacar routers mata los circuitos que no pueden controlar [2]), también hay ataques de sincronización que no dependen en el control de routers individuales Tor. Murdoch y Zieliński [8] propusieron un ataque, donde los adversarios controlan los Intercambios de Internet y así pueden observar el tráfico que entra y sale de los países. Mostraron que podían hacer correlación (usando un algoritmo derivado de la fórmula de Bayes) incluso cuando habían rastreado un solo paquete de dos mil en un flujo dado.

Correlación Activa de Sincronización. Los ataques de correlación activa son un esfuerzo por hacer las correlaciones basadas en el tiempo mucho más fáciles y efectivas. Funcionan al tener un router atacante alterando la señal de retraso de un paquete de una conexión al soltar o retrasar paquetes en un flujo. Fueron propuestos, pero no puestos a prueba, por Levine et al [6]. Wang et al. [10] demostró que los ataques activos de sincronización son factibles y efectivos contra protocolos altamente interactivos como VoIP, incluso cuando está protegido por servicio de anonimato de findnot.com. Realizaron ataques activos de sincronización en llamadas Skype punto-a-punto al crear e inyectar una marca de agua única al flujo. Encontraron que, si los parámetros correctos fuesen escogidos, podrían identificar correctamente 99% de los flujos con marcas de agua con una tasa de falsos positivos de 0%. Incrementar la tasa de identificación al 100% venía con el costo de tan sólo una tasa de 0,1% de falsos positivos.

Atasco.


Murdoch y Danezis presentaron un ataque de atasco, donde tomaron ventaja del hecho de que una conexión a través de un router tiene un efecto en las otras conexiones a través del mismo router. El atacante debe controlar un router Tor y ser capaz de observar una conexión en algún punto entre la salida del router Tor y su destino final. Usando el router Tor involucrado, el atacante puede crear circuitos de tamaño-uno en todos los demás routers Tor uno por uno para ver si esto incrementa la latencia de la conexión que el observador percibe o no. Si lo hace, entonces el router está en el circuito. Murdoch y Danezis probaron su ataque en la naciente red Tor y encontraron que el ataque funcionó contra 11 de los 13 router de la red de aquél entonces. Sin embargo, ya que ahora hay casi 2.500 routers trabajando, este ataque no necesariamente es viable.

Round-Trip Travel Time


Hopper et al. presenta dos ataques que dependían del tiempo de idavuelta (Round-Trip Travel Time (RTT)) de los clientes a los servidores. En el primer ataque, el atacante está en control de dos servidores que están recibiendo conexiones del mismo router de salida. El objetivo del atacante es determinar si las conexiones vienen del mismo circuito. Utilizando uno de los muchos métodos (forzar el navegador del usuario a descargar miles de pequeñas imágenes secuencialmente, forzando al navegador del usuario por medio de unas series de redirecciones HTTP, o el uso de un protocolo interactivo como el IRC), ambos servidores obtienen un gran número de tiempos de ida y vuelta del cliente al cual están investigando. Es entonces cuando ellos comparan la frecuencia de distribuciones del RTTs. Si la frecuencia de distribución es similar, entonces las conexiones son probablemente del mismo circuito.

por
Sam DeFabbia-Kane

No hay comentarios.: