lunes, 20 de julio de 2020

Private Machine Learning: Aprendizaje de maquina usando datos cifrados

El mundo digital de hoy tiene un apetito insaciable por la información de las personas. Cada vez más, diferentes actividades se realizan a través de una red abierta como Internet, algo que se ha acelerado con la actual pandemia. Como ejemplo común, muchas empresas quieren conocer los gustos de los usuarios para focalizar sus campañas de marketing y obtener mayores ventas. Sin embargo, las personas tienen derecho a tener control sobre quien y por qué alguien más accede sus datos personales al usar Internet. Estos derecho son importantes en todos los aspectos, pero en adicionalmente en áreas como la medicina y finanzas, existen leyes mas estrictas para la protección de datos. Un ejemplo de marco legal que ha supuesto una revolución para protección de información personal es el proyecto europeo regulación general de protección de datos (GDPR) [1].    

Una de las tecnologías que ha estado en centro de este apetito por información de las personas es el aprendizaje de maquina o machine learning (ML). ML es un conjunto de herramientas basadas en teorías matemáticas que permiten analizar datos y extraer respuestas a preguntas relacionadas con esos datos. Por ejemplo, basados en un conjunto de frases escritas por muchas personas es posible dividir esa frases en varios conjuntos, tal como de sentimientos positivos o negativos [2]. Otro ejemplo popular, son los sistemas de recomendaciones como los usados en Youtube o Netflix [3] para mostrar a sus usuarios contenido "similar" al observado anteriormente. Ejemplos de mayor impacto pueden encontrarse en la medicina, con algoritmos capaces de producir un diagnostico médico basados en información de los pacientes, incluso en algunos avances recientes, con resultados superiores los propios médicos [4].

El último ejemplo mencionado es una demostración de que hay casos muy válidos para la recolección y uso de datos de persona para resolver sus problemas, incluyendo casos como el seguimiento de pacientes durante la actual pandemia [5]. Hay otros casos, como la captación masiva de datos para el marketing e incremento de ventas de empresas, que muestran un menor o nulo beneficio para las personas dueñas de esos datos. En cualquiera de los dos extremos, la perdida de privacidad de las personas se ha convertido en un problema apremiante en busca de soluciones.

Avances recientes en las áreas de ML, seguridad y criptografía permiten lograr un balance entre la resolución de problemas reales para las personas y la minimización de la visibilidad sobre sus datos individuales. Por ejemplo, OpenMined (https://www.openmined.org/) [6] es un proyecto que ha desarrollado un conjunto de librerías que facilitan el desarrollo y despliegue de modelos basados en frameworks como Torch y TensorFLow, pero con adiciones para procesar datos con diferentes técnicas que mejoran el tratamiento de datos de forma privada, como federated learning, differential privacy y multi-party computing.

Algunas de éstas técnicas permiten incluso que usuarios usen modelos de ML cifrados, no teniendo acceso a los parámetros. Por otro lado, también permiten que el dueño de un modelo procese datos de usuarios que están cifrados, de manera que no pueden ser vistos, pero aún así permiten extraer predicciones precisas. Básicamente magia matemática! ;-)

El objetivo principal de éstas librerías, es el de abstraer las técnicas de protección de datos basadas principalmente en criptografía, y hacerlas más accesible a los programadores y científicos de datos acostumbrados a librerías como Torch. Al final los usuarios podrían usar frameworks de ML, sin preocuparse mucho sobre la técnicas de privacidad usados internamente. En este enlace se pueden ven algunos tutoriales, con formato de Python notebooks, que enseñan conceptos y ejemplos de uso de estas librerías: https://github.com/OpenMined/PySyft/tree/master/examples/tutorials. En  próximos posts escribiré ejemplos de algoritmos de ML usados para obtener respuestas a partir de datos cifrados, usando tećnicas como secure multi-party computation.

Referencias:
[1] https://gdpr.eu/
[2] https://www.kaggle.com/drscarlat/imdb-sentiment-analysis-keras-and-tensorflow
[3] https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/45530.pdf
[4] https://www.nature.com/articles/s41586-019-1799-6
[5] https://github.com/corona-warn-app
[6] https://github.com/OpenMined/PyZPK

----
Andres Gomez, github.com/kuronosec

domingo, 14 de mayo de 2017

Protegiendo tu seguridad móvil en un ambiente adversario

En una de mis entradas anteriores [1], describí cómo el gobierno colombiano decidió construir, en conjunto con las empresas de prestación de servicios de telefonía celular, una base de datos de dispositivos móviles usados en el país y sus respectivos dueños como requisito para que estos puedan funcionar en le territorio nacional. Esta base de datos contiene por tanto millones de números telefónicos, números IMEI y datos como nombre de los subscriptores y localización (dirección de residencia). Más allá de los riesgos que por parte del gobierno se pueda utilizar estos datos de forma inapropiada, por ejemplo para espiar a periodistas y opositores, también está el riesgo asociado a grupos de delincuencia organizada que se dediquen a actividades de cyber ataques con fines económicos. Como recientemente vimos con el caso del malware WannaCry [2,3], el ataque fue posible gracias al robo de datos guardados por la NSA, por parte de cyber delincuentes. Esta base de datos contenía información no publicada sobre vulnerabilidades en Windows que fueron aprovechadas para lanzar un ataque a nivel global. Esto demuestra que incluso la agencia que mas dinero gasta en seguridad en el mundo, no está libre de ser victima de robo de datos. De esta manera es pertinente preguntarnos, ¿Qué tan segura podría ser esta gran base de datos de dispositivos móviles registrados en Colombia? Hasta donde se no existen documentos públicos que certifiquen su nivel de seguridad. En cualquier caso es lógico pensar que tarde o temprano se produzcan filtraciones.

A pesar de este panorama pesimista, donde incluso los gobiernos ayudan a hacer de Internet un lugar menos seguro, es posible tomar medidas para protegerse de ataques y robos de información personal. En esta y próximas entradas voy a describir un conjunto de herramientas para dispositivos móviles que nos ayudan a conservar un cierto nivel de seguridad en un ambiente altamente adversario. Sin embargo antes de proceder, el primero consejo, muy de la mano de lo pasado con WannaCry, es actuar con sentido común. Comenzando por no abrir archivos que provengan de orígenes desconocidos. Así como uno no deja entrar a su casa a personas desconocidas, uno no debe abrir archivos en su dispositivo que provengan de personas u entidades desconocidas. Siempre teniendo presente el anterior consejo, podemos proceder a revisar una lista de herramientas que al ser usadas en dispositivos móviles, ayudan a proteger su seguridad, incluso en ambientes altamente adversarios cómo el Internet actual y las redes de telefonía. Por ahora solo nombraré las herramientas, en entradas posteriores las describiré en detalle:

Navegación anónima: 
  • Tor, Torbot, Torbrowser [4]
  • I2p [5]
Comunicación segura:
  • Signal [6]
  • ChatSecure [7]
  • CryptoCat [8]
Endurecer del sistema operativo y protección de datos locales:
  • Cifrado de disco
  • Kernel hardening
 ¡Y de seguro muchas más! :D Conforme vaya escribiendo entradas, iré añadiendo herramientas que considere pertinentes o que sean alternativas a las mencionadas.

[1] https://kuronosec.blogspot.de/2015/06/registro-de-sim-en-colombia-en.html
[2] http://www.elespectador.com/tecnologia/si-buscan-culpables-del-ciberataque-mundial-miren-hacia-la-nsa-articulo-693564
[3] http://www.elcolombiano.com/tecnologia/ciberataque-global-afecta-a-cientos-de-paises-CA6525411
[4] https://es.wikipedia.org/wiki/Tor_(red_de_anonimato)
[5] https://es.wikipedia.org/wiki/I2P
[6] https://es.wikipedia.org/wiki/Signal_(software)
[7] https://chatsecure.org/
[8] https://es.wikipedia.org/wiki/Cryptocat

domingo, 18 de septiembre de 2016

Aprendizaje de máquina como arma de guerra

En numerosas películas es posible ver a robots remplazando soldados en la tareas que son comunes en los campos de batalla. Robots dotados de una increíble inteligencia que combaten contra otros robots y humanos. Aunque esto es un tema recurrente en la ciencia ficción, en los últimos años la ciencia y la tecnología nos han permitido acercarnos a dicho escenario distópico.
Los años recientes han visto un progreso significativo en el área del aprendizaje de máquina, un conjunto de herramientas matemáticas que permiten emular el funcionamiento del cerebro humano, potenciado por el poder de cálculo de los grandes centros de cómputo. El objetivo es tomar una enorme cantidad de datos y hacer que éstos sean procesados iterativamente por algoritmos que se adaptan a dichos datos, obteniendo la capacidad de hacer predicciones sobre información futura.
Este mismo principio podría en teoría ser utilizado para construir los mencionados robots "soldados". Un escenario que suena bastante inverosímil y complejo, pero que ya ha sido llevado a la práctica en la vida real. Hace algún tiempo leí acerca de un programa de la NSA llamado "Skynet" [1], no por coincidencia con un nombre tomado a la popular película "Terminator".
Skynet es un programa de defensa que consiste en la recolección de metadatos de comunicaciones electrónicas, especialmente llamadas mediante dispositivos celulares, con el fin de detectar de forma "inteligente", comunicaciones realizadas por grupos terroristas. El resultado de dicha clasificación es luego utilizada para localizar a las fuentes de las comunicaciones detectadas, y correspondientemente dirigir drones para atacar sus ubicaciones.
La existencia de este programa ha sido confirmada por una serie de diapositivas que hacen parte de las filtraciones de Snowden  [2]. Naturalmente más allá del interés tecnológico que nos pudiera despertar esta noticia, surgen además muchas interrogantes éticas e incluso de fundamento científico sobre las bases de dicho programa.
Por ejemplo, en la noticia se menciona que este programa se aplica por parte de Estados Unidos sobre un país completo, presumiblemente Pakistan, entonces ¿Esta bien vigilar a toda una población de un país, incluso si es para detectar terroristas? Evidentemente un sistema de estas características podría ser abusado por un gobierno tirano para localizar además periodistas, opositores, activistas y otros. Otra pregunta importante es ¿Esta el aprendizaje de máquina en un estado suficientemente avanzado, como para confiarle la vida o muerte de personas? Según el artículo, el sistema tiene un nivel de error que lo hace inaceptable, y evidentemente se han cometido equivocaciones, clasificando y/o asesinado miles de personas inocentes. ¿Aceptarían los ciudadanos norteamericanos que un programa como este se aplique en su propio territorio?
Como reflexión final, es tentador dejarse llevar por la necesidad de la seguridad y el aprovechamiento de la tecnología para reforzarla. Sin embargo, si no se consideran las consecuencias y límites éticos y científicos, los resultados finales pueden ser mucho peor que el mal que en principio se quería resolver.

[1] http://arstechnica.co.uk/security/2016/02/the-nsas-skynet-program-may-be-killing-thousands-of-innocent-people/

[2] https://theintercept.com/document/2015/05/08/skynet-applying-advanced-cloud-based-behavior-analytics

lunes, 1 de febrero de 2016

32C3: Juegos de guerra, como crear un jugador de CTF


Es navidad en la fría Alemania. Las familias se reúnen para compartir regalos, mientras disfrutan un tiempo de descanso.  Sin embargo, algunos entusiastas deciden que es tiempo de reunirse a compartir conocimientos. En el puerto alemán de Hamburgo, como cada año, del 27 al 30 de diciembre, se celebra el Chaos Communication Congress (32C3). En su versión 32 [1] reunió a más de 12000 participantes, para discutir en torno a la ciencia, el hacking, el arte, y la anarquía.

Como uno de los afortunados asistentes, tuve la oportunidad de estar en diversos eventos, especialmente relacionados con el área de la seguridad informática. En el 32C3 se pueden encontrar a algunos de los mejores investigadores en el mundo del hacking. El cronograma completo del evento, se puede encontrar en [2] y un listado de los conferencistas se puede ver en [3].


Aunque había en el congreso muchas charlas de enorme calidad, sin duda la que mas llamo mi atención fue una titulada "A Dozen Years of Shellphish: From DEFCON to the DARPA Cyber Grand Challenge" [4]. Ésta charla fue realizada por varios miembros del grupo "Shellphish" de la Universidad de California Santa Barbara [5]. En ella, los conferencistas describieron su participación en un evento llamado el Cyber Grand Challenge (CGC).


El CGC [6] es un reto organizado por el DARPA, entidad de Estados Unidos dedicada a la investigación tecnológica en temas de interés militar. El reto consiste en la creación de una competencia donde los participantes deben construir un sistema que automáticamente descubra y explote vulnerabilidades en sistemas rivales, y proteja los propios. El equipo ganador es aquel que pueda mantener sus servicios funcionando por el mayor tiempo posible, mientras se ataca los servicios oponentes. Finalmente, el equipo que logre construir este sistema, al que el DARPA llama "Cyber Reasoning System", o por lo menos aquel que se encuentre mas cercano de lograrlo, será merecedor de un premio de 5 millones de dolares.


Por supuesto este tipo de evento no puede ser realizado en un ambiente sin control. El CGC está organizado dentro del contexto de los juegos de guerra de captura la bandera (Capture the Flag) del famoso congreso hacker DEFON [9]. Dentro de este contexto, los miembros de Shellphish describen en su charla como sus numerosos años de experiencia participando en CTF del DEFCON les ha permitido automatizar muchas de sus técnicas en herramientas que finalmente han ido liberando como software libre. Uno de estas herramientas es un framework  [8] que permite crear ambientes diseñados para juegos de guerra similares al de DEFCON.


Pero la herramienta más importante utilizada por este equipo es ANGR [7], un framework que permite escanear programas ejecutables en busca de vulnerabilidades. Para esto utiliza una técnica de mejoramiento de fuzzing a través de ejecución simbólica selectiva. Esta herramienta, que puede ser usada por cualquier investigador de forma libre, les permitió obtener resultados significativos al registrarse como competidores del "Cyber Grand Challenge".


Al final las fases clasificatorias del CGC, 7 equipos de todo el mundo han accedido a la fase final, entre ellos el equipo Shellphish. Para esto, fueron capaces de encontrar, explotar y protegerse con 44 archivos binarios de 131 posibles totales, todo esto usando su herramienta ANGR. Además se hicieron acreedores de un premio de 750 mil dolares. El evento final del CGC se llevara a en Agosto de 2016 en DEFCON, las Vegas. El ganador recibirá los ansiados 5 millones de dolares, pero lo más importante, puede marcar un hito en el desarrollo de sistemas autónomos de cyber-ataque y cyber-defensa.

En definitiva, una charla que llamó fuertemente mi atención y me pone a pensar que aportes de la Inteligencia Artificial podrían ser útiles en este contexto. Para terminar, aqui esta el enlace donde se puede ver el video grabado de la charla! --> https://media.ccc.de/v/32c3-7218-a_dozen_years_of_shellphish <-- :)

Kurono.

[1] https://www.youtube.com/watch?v=jSdXBnsVjr0
[2] https://events.ccc.de/congress/2015/Fahrplan/
[3] https://events.ccc.de/congress/2015/Fahrplan/speakers.html
[4] https://events.ccc.de/congress/2015/Fahrplan/events/7218.html
[5] https://seclab.cs.ucsb.edu/
[6] https://cgc.darpa.mil/
[7] http://angr.io/
[8] https://github.com/ucsb-seclab/ictf-framework
[9] https://www.defcon.org/

martes, 2 de junio de 2015

Registro de SIM en Colombia: en contravía con los derechos a la privacidad y anonimato en la era digital



Recientemente se publicó un estudio titulado "Report on encryption, anonymity, and the human rights framework" [1], un documento de la Naciones Unidades escrito por David Kaye, que describe la situación global actual de los derechos fundamentales de libertad de expresión, la privacidad y anonimato en la era digital. Este documento concluye que el uso de herramientas de comunicación segura utilizando método de cifrado, así como la posibilidad de cualquier individuo de comunicarse de forma anónima, son mecanismo necesarios de protección de estos derechos humanos fundamentales. Para llegar a esta conclusión, se utilizan ejemplos de normas y mecanismos tecnológicos usados por algunos gobiernos para ejercer un control sobre las medios digitales dentro y fuera de sus territorios. 

Aunque en el caso colombiano hay muchas situaciones dignas de mencionar [2], [3], [4], el documento de las Naciones Unidas describe una en particular relacionado con el registro obligatorio de la tarjeta SIM, utilizada para la operación de los teléfonos móviles. Textualmente:

" ... Likewise, Governments often require SIM card registration; for instance, nearly 50 countries in Africa require or are in the process of requiring the registration of personally identifiable data when activating a SIM card. Colombia has had a mandatory mobile registration policy since 2011, and Peru has associated all SIM cards with a national identification number since 2010. Other countries are considering such policies. Such policies directly undermine anonymity, particularly for those who access the Internet only through mobile technology. Compulsory SIM card registration may provide Governments with the capacity to monitor individuals and journalists well beyond any legitimate government interest.
1 Kevin P. Donovan and Aaron K. Martin, “The Rise of African SIM Registration”, 3 February 2014.
2 See Colombia, Decree 1630 of 2011; Perú 21, Los celulares de prepago en la mira, 27 May 2010."

El texto describe la obligatoriedad del registro de tarjetas SIM en algunos países de África, Colombia y Perú.  Se menciona que dicha políticas atacan directamente el derecho al anonimato, especialmente para aquellos que solo acceden a internet a través del celular.  Además, proveen a los gobiernos de una herramienta eficaz de monitoreo sobre individuos, incluidos periodistas. 

Propuesto como una solución al robo de teléfonos móviles en Colombia, el decreto 1630 de 2011 [5], que obliga a las operadores de telefonía móvil a mantener registros que asocian tarjetas SIM con la verdadera identidad del propietario, ha dado muestras de ser ineficaz en este sentido [6]. Sin embargo éstas bases de datos, como menciona el informe de las Naciones Unidas, son una herramienta invaluable para el control sobre los ciudadanos, incluso aquellos que no son blanco de organismos de inteligencia o judiciales.

Concluyo con una cita del mismo informe:
" ... but emergency situations do not relieve States of the obligation to ensure respect for international human rights law."


[1] http://www.ohchr.org/EN/Issues/FreedomOpinion/Pages/CallForSubmission.aspx
[2] https://www.youtube.com/watch?v=VsClj8w4Liw
[3] http://www.semana.com/opinion/articulo/la-corte-constitucional-prefiere-la-censura-opinion-emmanuel-vargas-penagos/428983-3
[4] http://www.elcolombiano.com/relevan-a-20-militares-y-retiran-a-cinco-por-casos-andromeda-y-hacker-andres-sepulveda-MX1154169
[5] http://www.mintic.gov.co/portal/604/w3-article-3558.html
[6] http://www.elcolombiano.com/en_2013_subio_el_robo_de_celulares-HAEC_277022

sábado, 1 de noviembre de 2014

Vulnerabilidades en I2P que afectan a Tails

Tails [1] es un sistema operativo que se ha construido con el propósito de brindar un nivel de privacidad y seguridad alto, incluso contra organizaciones con una importante cantidad de recursos para tareas de espionaje. Sin embargo, como es bien sabido, es extremadamente difícil construir un sistema de cómputo libre de errores, los cuales que llevan a problemas de seguridad, especialmente cuando se incluyen librerías y aplicaciones de terceros.

Recientemente fueron descubiertas varias vulnerabilidades [2], [3], en una aplicación suministrada como parte de Tails, llamada I2P [4]. Esta aplicación ofrece un servicio similar al de Tor project para anonimizar el tráfico de red que circula desde y hacia el cliente. Las vulnerabilidades permiten la ejecución remota de código y por lo tanto la extracción de información para identificar al usuario.

En primer lugar fueron encontradas varias fallas [2] en la versión 0.9.13 I2P, parte de Tails 1.1 y anteriores, entre las que se mencionan XSS e inyección de valores de configuración que pueden a llevar a la inclusión de plugins maliciosos con la consecuente ejecución remota de código. En [4] se mencionan las correcciones realizadas por los desarrolladores de la aplicación:

Security fixes:

* Fix several XSS issues.
* Disable change news feed URL from UI.
* Disable plugin install.
* Disable setting unsigned update URL from UI.
* Disable clients.config editing form the UI.
* Add content-security-policy and X-XSS-protection headers.
* Disable unused ExecNamingService.

Estas vulnerabilidades animaron a otros investigadores a analizar con mayor profundidad la seguridad de I2P. En [3] se describe una nueva vulnerabilidad, que consiste en la inyección de una opción de configuración a través de la URL. I2P incluye un servidor WEB ligero que permite administrar la configuración del aplicativo desde el navegador. Un error en la validacón de uno de los parámetros, permite la inclusión arbitraria de opciones de configuración, entre las que se incluye una que permite ejecutar un script arbitrario. De esta manera se puede ejecutar código en la máquina del cliente y por lo tanto descubrir su identidad. En [5] se describen las correcciones realizadas por los desarrolladores.

Se recomienda actualizar a la la última versión disponible de I2P (0.9.15) o utilizar la última versión disponible de Tails (1.2). Debido a éstos últimos problemas de seguridad, los desarrolladores de Tails han decidido desactivar I2P por defecto, solo siendo activado si el usuario lo desea utilizar. Se pone de manifiesto con esto que se requiere una mayor auditoría de seguridad en las herramientas que buscan proteger la privacidad de los usuarios, y la implementación de medidas de contención, como por ejemplo los sandbox [6].

[1] https://tails.boum.org/
[2] http://blog.exodusintel.com/2014/07/23/silverbullets_and_fairytails/
[3] http://www.phenoelit.org/blog/archives/2014/10/11/tldr_just_another_way_to_get_rce_in_i2p_version_0_9_13/index.html
[4] https://geti2p.net/es/blog/post/2014/07/26/0.9.14-Release
[5] https://geti2p.net/es/blog/post/2014/09/20/0.9.15-Release
[6] https://www.mail-archive.com/tails-dev@boum.org/msg06414.html

miércoles, 20 de agosto de 2014

Vulnerabilidad encontrada en Tor

Tor y Tails son dos herramientas desarrolladas para mantener un nivel alto de privacidad mientras se utiliza Internet.  Fueron incluso utilizadas por Snowden para su propia protección, según lo informó el mismo [1]. Se les puede considerar el estado del arte en cuanto a tecnologías anti rastreo. Sin embargo, como todo sistema de cómputo, estas herramientas pensadas para un altísimo estándar de seguridad, tienen también sus propios agujeros. Recientemente se encontraron varias fallas de seguridad importantes, que fueron corregidas por los desarrolladores de los proyectos.

Tal como se describe en la pagina web del proyecto Tor [2], el 4 de julio de 2014 fueron detectados varios relays tratando de descubrir la identidad oculta de los usuarios que enviaban información a través de su red. Los objetivos del ataque eran especialmente los operadores de los hidden services, páginas web que se encuentran protegidas por la red Tor.

La técnica que fue usada por estos relays es conocida como ataque de confirmación de tráfico. Cuando un atacante tiene control sobre el inicio y el fin de un circuito dentro de la red (al fin y al cabo relays administrados por voluntarios) es posible para ellos medir diferentes características del tráfico que circula y obtener estadísticas valiosas a pesar que todo se encuentra cifrado. De esta manera pueden determinar si dos relays están en el mismo circuito. Si el primer relay en el circuito conoce la IP real del usuario y el último relay conoce la destinación de los recursos pedido por el usuario (como la página web a la que quiere acceder), entonces un atacante podría determinar con cierta probabilidad la fuente del tráfico (el usuario real). Este es un problema abierto sin solución efectiva hasta el momento. Sin embargo, si se asume que la mayoría de los relays en la red son benignos la probabilidad de que este ataque tenga éxito para una gran cantidad de usuarios es muy baja.

El tipo de ataque particular que se usó para vulnerar la red Tor utilizó lo explicado anteriormente, con la diferencia que se logró inyectar señales en los paquetes, siendo más efectivo para descubrir la IP real de los usuarios (porque se elimina el factor probabilístico). La idea es que un relay dentro de un circuito inyecte datos en las cabeceras del protocolo de Tor. El relay del otro lado del circuito busca estos datos y así se puede determinar fácilmente si los dos relays hacen parte del mismo circuito. De esta manera los atacantes inyectaban esta señal cuando el relay es usado como directorio de hidden services y buscaban las señal cuando el relay era un punto de entrada. Así se podía encontrar la identidad real de los usuarios que buscaban o publicaban información  sobre los hidden services. Cuando un cliente de Tor se conectaba a uno de estos relays atacantes, para acceder o publicar información sobre los hidden services, el relay inyectaba el nombre del hidden service codificado como un conjunto de paquetes del tipo relay y realy early. Otros relays podía leer esta información y determinar qué usuarios buscaban dichos hidden services y quienes publicaban información sobre ellos. Los Tor relays no deberían permitir el uso arbitrario de estos tipos de paquetes para la codificación de señales que revelan la verdadera identidad de un usuario o un servicio. Adicionalmente los atacantes usaron una técnica conocida como "Sybil attack", por media de la cual se utiliza una gran cantidad de recursos computacionales para suplantar un buen porcentaje de los relays en la red (cerca al 6% en este caso). Así se logra ampliar el impacto del ataque. Un problema adicional es que estas señales podían ser detectados por otras organizaciones como agencias estatales de inteligencia, lo que podría comprometer la privacidad de muchos de los usuarios.

Aun no es completamente claro el origen de este ataque y quién esta detrás del hallazgo de la vulnerabilidad. Sin embargo, es sabido que dos investigadores de Carnegie Mellon [3], quienes se disponían a realizar una presentación al respecto en el congreso de Black Hat 2014 titulada "You don't have to be the NSA to break Tor: de-anonymising users on a budget", podrían ser las personas detrás de los relays. La charla fue cancelada aparentemente por problemas legales [4]. Finalmente los investigadores compartieron parte de la información con los desarrolladores del proyecto Tor, lo que les permitió corregir el bug. Los relays deben actualizarse a la versión 0.2.4.23 ó 0.2.5.6-alpha en las que la vulnerabilidad se encuentra ya corregida, asumiendo que todo los detalles del bug fueron efectivamente informados.

Referencias:

[1] http://www.huffingtonpost.com/2013/07/18/tor-snowden_n_3610370.html

[2] https://blog.torproject.org/blog/tor-security-advisory-relay-early-traffic-confirmation-attack

[3] https://img.4plebs.org/boards/pol/image/1404/73/1404736805983.png

[4]  http://www.theguardian.com/technology/2014/jul/22/is-tor-truly-anonymising-conference-cancelled