lunes, 28 de enero de 2019

Métricas para el Tráfico de Tor


Primero examinaremos el efecto que tiene Tor sobre nuestro tráfico de red. Tendremos en cuenta dos factores usados por los algoritmos de correlación: la latencia entre la células de Tor, y la intensidad general del flujo. En una red ideal, esperaríamos que la latencia se mantenga constante, y que el flujo tarde exactamente lo mismo enviando y recibiendo. Sin embargo, los routers Tor tienen velocidades y cualidades de conexión diferentes, así que asumir que Tor es siquiera similar a una red ideal en estos aspectos supondría un problema.
Arreglo del Test. Nuestra meta es probar si la correlación funciona cuando el atacante controla el router tanto de entrada como de salida, para esto usaremos routers privados de entrada y salida trabajando en el mismo computador para estos tests: sólo los routers intermedios cambiarán.
Para nuestro grupo de control, utilizaremos otro router privado como el router intermedio. Será ejecutado en el mismo computador como la entrada y la salida. El tráfico que vaya a través de este router no será objeto de latencia, pues la conexión no estará en una red. Y ya que que no habrá otro tráfico viajando por el mismo router, no supondrá una carga significativa, por lo tanto las condiciones serán tan ideales como sea posible.
Para nuestro primer grupo experimental, el router intermedio será un router público que controlemos. Este router es ejecutado desde un computador diferente, pero está en la misma red de área local que el computador corriendo los routers privados de entrada y salida, y así la latencia es baja y considerablemente constante. Durante el tiempo del test, nuestro router estuvo enrutando cerca de 1Mbit/s del tráfico Tor, por lo que tiene carga, Este test nos permitirá determinar si la carga de los routers Tor afecta las métricas.
Nuestro segundo grupo experimental utilizará una gran variedad de routers intermedios, para cada prueba, usaremos un router al azar de los disponibles en la red para que sea el router intermedio. Este grupo tendrá latencias y cargas de router variadas, y nos posibilitará observar su efecto combinado en las métricas. 
Para cada grupo, realizaremos pruebas con dos tipos de tráfico. El primero es un cliente ping que envía un ping y recibe una respuesta cada 200ms durante 30 segundos. Este tipo será usado para medir la efecto de Tor en la latencia entrecélulas. El segundo tipo de tráfico es la descarga de un archivo de 1MiB, que será utilizado para verificar si la intensidad promedio del flujo varia.
Nuestra recolección de información consiste en la obtención de la marca de tiempo de cada célula RELAY enviada o recibida por los routers de entrada o salida. Recolectamos estos datos modificando el código fuente de Tor para usar el sistema existente de logging de Tor para registrar los datos de la célula Tor en un archivo.
Resultados. Debido a que los dos tipos de tráfico que estamos estudiando son muy diferentes, usaremos diferentes métricas para evaluar el efecto que tuvieron al pasar a través de Tor. Para el tráfico de tasa-constante intermitente (“ping”), miraremos las distribuciones de retrasos entre paquetes consecutivos. Ya que el cliente está enviando los pings, esperamos que el retraso entre las células en el primer router sean casi constantes a 200 milisegundos (ms) (o muy cercano a eso). Suponemos que el retraso se mantendrá constante (o muy próximo a ello) en nuestro grupo de control, y que variará en ambos grupos experimentales. Realizamos rondas de recolección de datos con el grupo de control y ambos grupos experimentales. Las distribuciones de retraso entre-células de los tres se presentan en la Figura 3.1.


Para el archivo de descarga, observamos diferentes métricas: la cantidad de tiempo que tomó enviar el archivo desde la salida de vuelta al router intermedio, y el tiempo tomado en recibir el archivo en el router de entrada desde el router intermedio. Los resultados para esto se ilustran en la Figura 3.2.


Conclusiones. Como podemos apreciar en la Figura 3.1(a), el retraso entre-paquetes del tráfico ping llendo a través de routers locales, sin carga en nuestro grupo de control se mantiene casi exactamente igual entre los routers de entrada y salida. Los resultados para el primer grupo experimental -presentados en la Figura 3.1(b)- varian mucho más que los del grupo de control, con una desviación estándar de más del doble. De todas formas, el retraso se mantiene dentro de los 5ms de los esperados 200ms en el 80% del tiempo. Lo mismo no aplica para los resultados de nuestro segundo grupo experimental -presentados en la Figura 3.1(c)- donde la desviación estándar es incluso mayor, y la variación está en 5ms en menos del 50% del tiempo. Esto significa que incluso pequeñas cantidades de tráfico pueden ser susceptibles a latencias cambiantes cuando viajan por un circuito Tor, lo cual podría ser un problema para métodos de correlación que dependen en que el retraso se mantenga relativamente constante.
La Figura 3.2 nos indica que el tiempo requerido para recibir datos en Tor es significativamente más grande que el tiempo que tomó enviarlos, que el incremento del tiempo varía y no puede ser predecido, y también que al menos parte de este incremento ocurre incluso en redes con condiciones ideales, como fue el caso de nuestro primer grupo experimental. Esto sugiere que los métodos de correlación que comparan vectores de información de sincronización directamente -tal como el método presentado en Levine et al. [6]- podrían no funcionar tan bien en la práctica como lo hacen en la teoría, pues los dos flujos tendrán magnitudes muy diferentes.

Tráfico de Router de Entrada


Ahora tenemos alguna idea de qué le ocurre al tráfico cuando viaja por Tor.
La información adicional sobre el tráfico de Tor también es útil, pues nos permite determinar factores que muy probablemente son únicos. Ya que hemos establecido que el tráfico en Tor tiene una latencia y una magnitud promedio no-constante ( y. por lo tanto, que estos pueden ser factores problemáticos en los que basar la métrica de la correlación), estudiaremos ahora otros dos factores: el tiempo de creación de un circuito, y el número total de células RELAY Tor en cada flujo observado. 

Arreglo del Test. Para este test, recolectaremos datos desde nuestro router público Tor. Prestaremos atención a la información acerca de los circuitos usando nuestro router como router de entrada o intermedio. Suponemos cual somos al verificar si el proceso Tor anterior al nuestro en el circuito está en conclusión o no. Si lo está, decimos que somos el router intermedio. De lo contrario, decimos que somos el router de entrada. Excluimos circuitos donde menos de 3 células sean registradas. Se requieren 2 células para la creación del circuito cuando se están usando circuitos Tor estándar de longitud-3. Se hicieron circuitos con menos de 3 células pero nunca fueron usados para enviar o recibir información, así que intentar correlacionarlos no le daría al atacante información provechosa.

Resultados. Los resultados están basados en aproximadamente 800 creaciones de circuitos de entrada y otras 20.000 creaciones recogidas durante múltiples pruebas. Los resultados para el tiempo de distribución de la creación de nuevos circuitos son presentados en la Figura 3.3. Los resultados para la distribución del conteo de células inward-bound (inward-bound cells) de circuitos en nuestro router Tor se ilustran en la Figura 3.4.
FIGURA 3.3. Distribución del tiempo entre la creación consecutiva de circuitos en nuestro router Tor.



Conclusiones. Como podemos observar en la Figura 3.3, la forma de las distribuciones de tiempo es muy similar para la creación de circuitos tanto de entrada como de no-entrada, pero los valores son muy diferentes. Sin embargo, nuestros datos contenían muchas más creaciones de circuitos de no-entrada que de circuitos de entrada, y así estas variaciones en los valores tienen sentido. La Figura 3(b) tiene su eje-x a escala para que los valores sean 4% de los valores en la Figura 3(a), La proporción de creación entre circuitos de entrada y de no-entrada fue 4 : 100 también, así que las distribuciones se ven similares. Esto significa que la razón de que los valores sean significativamente diferentes es la tasa de creación de circuito, nada fundamentalmente distinto sobre los diferentes tipos de circuitos. Esto tiene sentido, debido a que la creación de circuito de no-entrada en nuestro router corresponde a la creación de circuito de entrada en un router Tor completamente diferente.
Asimismo, los datos del tiempo de distribución nos indican que el tiempo de creación de un circuito puede tener una buena métrica por diferenciarse entre circuitos: incluso al considerar la gran cantidad de circuitos de no-entrada, menos del 30% de los circuitos tuvieron tiempos iniciales dentro de un tercio de segundo de otro circuito.
Los datos de distribución de conteo -presentados en la Figura 3.4- nos muestran que la mayoría de circuitos son cortos: 50 - 60% de los circuitos tienen 100 o menos devueltas al OP. Esto implica que un algoritmo de correlación efectivo necesita ser capaz de correlacionar circuitos tanto cortos como largos. En tanto a la información del tiempo de inicio del circuito, la forma de las distribuciones para los conteos de entrada y no-entrada son muy similares.

por
Sam DeFabbia-Kane

No hay comentarios.: