Modelización del protocolo Tor y extracción de...
Transcript of Modelización del protocolo Tor y extracción de...
Modelización del protocolo Tor y extracción decaracterísticas de servicios ocultos
Jorge García de Quirós
Trabajo Fin de Grado - Grado en Ingeniería Informática
Universidad de Zaragoza, Spain
Director: Ricardo J. Rodríguez
Ponente: José Merseguer
12 de julio de 2018
Agenda
1 Introducción
2 ModelizaciónElementos de la red TorConexionesComportamiento de los Nodos
3 Extracción de característicasConsideracionesSistema
4 Análisis de los servicios ocultos
5 Conclusiones y trabajo futuro
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 2 / 30
Agenda
1 Introducción
2 ModelizaciónElementos de la red TorConexionesComportamiento de los Nodos
3 Extracción de característicasConsideracionesSistema
4 Análisis de los servicios ocultos
5 Conclusiones y trabajo futuro
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 3 / 30
Introducción¿Qué es Tor?
Tor: The Onion RouterAplicación TorLa red Tor, formada por dispositivos de voluntariosOrganización Tor Project
Servicio para mejorar el anonimato y la privacidad en Internet
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 4 / 30
Introducción¿Cómo funciona?
Comunicación anónima de baja latencia basada en circuitosSaltos intermedios: cada salto es un nodoCircuitos virtuales: garantizan que no hay conexión directa entre cliente y servidor.Cada nodo sólo conoce al siguiente y al anteriorTráfico cifrado por capas→ encaminamiento cebolla
Node 1 Node 2 Node 3 Node 4
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 5 / 30
Introducción¿Cómo funciona?
Comunicación anónima de baja latencia basada en circuitosSaltos intermedios: cada salto es un nodoCircuitos virtuales: garantizan que no hay conexión directa entre cliente y servidor.Cada nodo sólo conoce al siguiente y al anteriorTráfico cifrado por capas→ encaminamiento cebolla
Node 1 Node 2 Node 3 Node 4
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 5 / 30
Introducción¿Cómo funciona?
Comunicación anónima de baja latencia basada en circuitosSaltos intermedios: cada salto es un nodoCircuitos virtuales: garantizan que no hay conexión directa entre cliente y servidor.Cada nodo sólo conoce al siguiente y al anteriorTráfico cifrado por capas→ encaminamiento cebolla
Node 1 Node 2 Node 3 Node 4
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 5 / 30
Introducción¿Cómo funciona?
Comunicación anónima de baja latencia basada en circuitosSaltos intermedios: cada salto es un nodoCircuitos virtuales: garantizan que no hay conexión directa entre cliente y servidor.Cada nodo sólo conoce al siguiente y al anteriorTráfico cifrado por capas→ encaminamiento cebolla
Node 1 Node 2 Node 3 Node 4
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 5 / 30
IntroducciónUsos de Tor
Usos legítimos: defensa de derechos y libertades del individuoAcceso a contenidos prohibidos en el país de origen del usuario (e.g., masacre de laPlaza de Tiananmen)Denuncia anónima de violaciones de derechos por parte de empresas o estados
Usos ilegítimos: aprovechamiento por parte de delincuentesServicios ocultos: dark webCaso más famoso: SilkRoad (mercado online para compra de drogas). Creado en 2011,clausurado en 2013 por el FBI
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 6 / 30
IntroducciónUsos de Tor
Usos legítimos: defensa de derechos y libertades del individuoAcceso a contenidos prohibidos en el país de origen del usuario (e.g., masacre de laPlaza de Tiananmen)Denuncia anónima de violaciones de derechos por parte de empresas o estados
Usos ilegítimos: aprovechamiento por parte de delincuentesServicios ocultos: dark webCaso más famoso: SilkRoad (mercado online para compra de drogas). Creado en 2011,clausurado en 2013 por el FBI
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 6 / 30
IntroducciónObjetivos
Muchos trabajos estudian los aspectos de privacidad y anonimicidadNinguno estudia el modelado y formalización del protocolo
Documentación del proyecto públicaDividida en 20 ficheros de texto (sin formato alguno, ni imágenes) ≈ 18000 líneas.
ContribuciónModelización del protocolo Tor con UML
Permite encontrar, si existe, deficiencias en el diseño mediante técnicas deverificación
Necesidad de detectar usos ilegítimos en la red Tor
ContribuciónSistema automático de categorización y desanonimización deservicios ocultos
Utilidad para FFCCSE en búsqueda de usos ilegítimosEvaluación del anonimato para servicios ocultos
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 7 / 30
IntroducciónObjetivos
Muchos trabajos estudian los aspectos de privacidad y anonimicidadNinguno estudia el modelado y formalización del protocolo
Documentación del proyecto públicaDividida en 20 ficheros de texto (sin formato alguno, ni imágenes) ≈ 18000 líneas.
ContribuciónModelización del protocolo Tor con UML
Permite encontrar, si existe, deficiencias en el diseño mediante técnicas deverificación
Necesidad de detectar usos ilegítimos en la red Tor
ContribuciónSistema automático de categorización y desanonimización deservicios ocultos
Utilidad para FFCCSE en búsqueda de usos ilegítimosEvaluación del anonimato para servicios ocultos
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 7 / 30
IntroducciónObjetivos
Muchos trabajos estudian los aspectos de privacidad y anonimicidadNinguno estudia el modelado y formalización del protocolo
Documentación del proyecto públicaDividida en 20 ficheros de texto (sin formato alguno, ni imágenes) ≈ 18000 líneas.
ContribuciónModelización del protocolo Tor con UML
Permite encontrar, si existe, deficiencias en el diseño mediante técnicas deverificación
Necesidad de detectar usos ilegítimos en la red Tor
ContribuciónSistema automático de categorización y desanonimización deservicios ocultos
Utilidad para FFCCSE en búsqueda de usos ilegítimosEvaluación del anonimato para servicios ocultos
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 7 / 30
IntroducciónObjetivos
Muchos trabajos estudian los aspectos de privacidad y anonimicidadNinguno estudia el modelado y formalización del protocolo
Documentación del proyecto públicaDividida en 20 ficheros de texto (sin formato alguno, ni imágenes) ≈ 18000 líneas.
ContribuciónModelización del protocolo Tor con UML
Permite encontrar, si existe, deficiencias en el diseño mediante técnicas deverificación
Necesidad de detectar usos ilegítimos en la red Tor
ContribuciónSistema automático de categorización y desanonimización deservicios ocultos
Utilidad para FFCCSE en búsqueda de usos ilegítimosEvaluación del anonimato para servicios ocultos
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 7 / 30
Agenda
1 Introducción
2 ModelizaciónElementos de la red TorConexionesComportamiento de los Nodos
3 Extracción de característicasConsideracionesSistema
4 Análisis de los servicios ocultos
5 Conclusiones y trabajo futuro
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 8 / 30
ModelizaciónTipos de nodos
Nodo
Onion Router
Directorio
Autoridad
Hidden Service Onion Proxy
Punto deintroducción
Punto de citas
Directorio de serviciooculto
Onion Proxy (OP): cliente Tor
Onion Router (OR)Elemento básico de la red TorPuerto determinado abierto (9050)Mantenidos por voluntarios, establecen loscircuitos para conectarse
Hidden Service (HS)Proveen servicios únicamente accesibles através de Tor
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 9 / 30
ModelizaciónTipos de nodos
Nodo
Onion Router
Directorio
Autoridad
Hidden Service Onion Proxy
Punto deintroducción
Punto de citas
Directorio de serviciooculto
Directorio (Dir): obtienen información delestado actual de la red
Autoridad (Auth): Dir con permiso deautoridad
Punto de Introducción (IP) y Citas (RV)
Puente
Puente autoridad
Directorio de servicio oculto (HsDir)
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 9 / 30
ModelizaciónEstablecimiento de circuitos
OR1 OR2OP
Create C1 Enc(Kor1,gx1)
Created C1 gy1 Hash(gx1y1)
Create C2 Enc(Kor2,gx2)
Created C2 gy2 Hash(gx2y2)
C1 Enc(gx1y1, [Extend,OR2 Enc(Kor2,gx2)])
C1Enc(gx1y1,[Extended, gy2 Hash(gx2y2)]
ORi
Create C3 Enc(Kor3,gx3)
Created C3 gy3 Hash(gx3y3)
C2 Enc(gx2y2, [Extend,OR3 Enc(Kor3,gx3)])
C2 Enc(gx2y2,[Extended, gy3 Hash(gx3y3)])
C1 Enc(gx1y1,Enc(gx2y2, [Extend,OR3 Enc(Kor3,gx3)]))
C1 Enc(gx1y1, Enc(gx2y2,[Extended, gy3 Hash(gx3y3)]))
TLS-Encrypted TLS-Encrypted TLS-Encrypted
sd: Create & Extend Circuit
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 10 / 30
ModelizaciónComunicaciones internas y externas
TLS-Encrypted
DirectoryOP
sd: Begin_dir
C1Enc(gx1,y1,[Begin_dir])
C1 Enc(gx1y1,Connected)
Ref
Create Circuit
TLS-Encrypted Unencrypted
Web Server
C1 Enc(gx1y1,Enc(gx2y2, Enc(gx3y3,[Begin, IP])))
TCP handshake
Ref
OR1 ORi (Default 3) OP
Create & Extend Circuit
C1 Enc(gx1y1,Enc(gx2y2, Enc(gx3y3 ,Connected)))
sd: Begin
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 11 / 30
ModelizaciónConexión a servicios ocultos – anuncio del HS
Hidden servicedirectoryHidden Service
ref
C1 Enc(gx1y1 ( ... (Enc(gxi+1yi+1,[Establish Intro, PK])...))
ref
Create & Extend Circuit
OR1 ORi (Default 2) Introduction
point
C(i+1) Enc(gxi+1yi+1,[Establish Intro, PK])
C(i+1) Enc(gxi+1yi+1,Intro Established)C1 Enc(gx1y1( ... (Enc(gxi+1yi+1,Intro Established)...))
Create & Extend Circuit
refBegin
refData exchange
sd: Hidden service announcement
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 12 / 30
ModelizaciónConexión a servicios ocultos – conexión al HS
Hidden servicedirectory
C1 Enc(gx1y1,Enc(gx2y2, Enc(gx3y3,[Establish RP, Cookie])))
Ref
OR1 ORi (Default 2) OP
Create & Extend Circuit
C1 Enc(gx1y1,Enc(gx2y2, Enc(gx3y3,RP Established)))
RefBegin
RP IP HS
RefData exchange
Ref Create & Extend Circuit
C2 Enc(gx3y3,[Establish RP, Cookie])
C2 Enc(gx3y3, RP Established)
RefCreate & Extend Circuit
C3 Enc(gx1y1,Enc(gx2y2, Enc(gx3y3,[Introduce1, Block])))
C1 Enc(gx1y1,Enc(gx2y2, Enc(gx3y3,[Introduce, ACK])))
C4 Enc(gx3y3,[Introduce1, Block])
Ref
OR1 ORi (Default 2)
C5 Enc(gx3y3,[Introduce2, Block]))) C6 Enc(gx1y1,Enc(gx2y2, Enc(gx3y3,[Introduce1, Block])))
Create & Extend circuits
C4 Enc(gx3y3,[Introduce, ACK])
RefCreate & Extend circuits
C6 Enc(gx1y1,Enc(gx2y2, Enc(gx3y3,[Rendezvous1, Cookie]))) C5 Enc(gx3y3,[Rendezvous1, Cookie])
C2 Enc(gx3y3,Rendezvous2)C1 Enc(gx1y1,Enc(gx2y2, Enc(gx3y3,Rendezvous2)))
Ref
Data exchangeRef
Internal_begin
sd: Hidden Service Connection
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 13 / 30
ModelizaciónComportamiento por defecto
Update Descriptors User ActionsUpdate ConsensusNetwork State
Circuit's Control
Node Directories
Fetch First ConsensusNetwork State
Send ConsensusNetwork State
NetworkState
Disconnect Fetch Consensus
Network State
Wait turn
Node Directories
NetworkState
Read NetworkState
ServerDescriptors
Disconnect
Fetch serverdescriptors
Send serverdescriptors
Wait 10seconds
16 downloadable?
10 minssince last
fetch?
Yes
Yes
No
No
Node OR
NetworkState
ServerDescriptors
Read Server Descriptors& Network State &
Current Circuits
BuildCircuits
CurrentCircuits
Controlcircuits
ChangeCircuits
Circuit alive
Become part ofcircuit
Modify circuit
Disconnect
Wait a few seconds
Circuitneeded?
Circuitschanges?
Circuits?
No
Yes
NoYes
Yes
No
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 14 / 30
ModelizaciónComportamiento de los nodos OR, Auth y Dir
Nodos OR
Manage relay'sconnections
Publishdescriptor
Nodos Auth
Receive serverdescriptors
Ask for serverdecriptors to auth
Send serverdescriptors
Build consensusnetwork state
Send consensusnetwork state
Nodos Dir
Fetch consensusnetwork state
Send consensusnetwork state
Fetch serverdescriptors
Send ServerDescriptors
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 15 / 30
Agenda
1 Introducción
2 ModelizaciónElementos de la red TorConexionesComportamiento de los Nodos
3 Extracción de característicasConsideracionesSistema
4 Análisis de los servicios ocultos
5 Conclusiones y trabajo futuro
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 16 / 30
Extracción de característicasServicios ocultos y direcciones .onion
Servicios ocultos: únicamente accesibles a través de Tor
No utilizan DNS convencional
Utilizan un sistema de tablas distribuidas
Cada servicio tiene asociada una dirección .onionDirección servicio Duckduckgo: 3g2upl4pq6kufc4m.onion
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 17 / 30
Extracción de característicasImplicaciones éticas
Decisiones tomadas por el acceso a contenido no deseado
Utilización de una máquina en RedIRIS
Servicios HTTP y HTTPS
Acceso únicamente a la página principal del servicio
Se ha obviado contenido multimedia y dinámico
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 18 / 30
Extracción de característicasDesanonimización y categorización
Interés en los metadatos para la desanonimizaciónCabeceras HTTPHTTP/1.1 200 OKDate: Mon, 25 Jun 201809:23:04 GMTServer: ApacheX-Powered-By: PHP/5.4.16X-Drupal-Cache: HITEtag: "1529916407-0"Content-Language: es
...
Certificados SSL/TLSServer certificate: subject:
C=ES; ST=Zaragoza;
L=Zaragoza; O=Universidad de
Zaragoza; OU=SICUZ;
CN=*.unizar.es start date:
Jan 19 00:00:00 2016 GMT
expire date: Jan 23 12:00:00
2019 GMT
Búsqueda de palabras clave para la categorizaciónContenido sexualDrogasTerrorismoCriptomonedas
Idioma del servicio oculto
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 19 / 30
Extracción de característicasSistema
Crawler Onion_toolOnion proxy
Servicios ocultosShodan
Onion_query.py
MySQL DB
1
2
3
45
6
7
8
Tor
Diseño modular
Algoritmo voraz
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 20 / 30
Agenda
1 Introducción
2 ModelizaciónElementos de la red TorConexionesComportamiento de los Nodos
3 Extracción de característicasConsideracionesSistema
4 Análisis de los servicios ocultos
5 Conclusiones y trabajo futuro
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 21 / 30
Análisis de los servicios ocultosResultados
Resumen de resultados17328 direcciones .onion1796 accesibles mediante HTTP/HTTPS
Acotación de dispositivos346 servicios acotados a un único dispositivo
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 22 / 30
Análisis de los servicios ocultosEjemplos de desanonimización
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 23 / 30
Análisis de los servicios ocultosEjemplos de desanonimización
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 24 / 30
Análisis de los servicios ocultosCategorización
Servicios potencialmente relacionados con actividades ilegítimas
CategoríasTerrorismo Contenido sexual Drogas Criptomonedas
Nº
de s
erv
icio
s ocu
ltos
0
20
40
60
80
100
120
140
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 25 / 30
Análisis de los servicios ocultosIdiomas
Idioma Apariciones Idioma AparicionesEnglish 1313 Romanian 4German 54 Turkish 4Danish 38 Welsh 3Portuguese 33 Slovak 3Spanish 25 Swedish 3French 19 Swahili 3Italian 8 Tagalog 3Norweigan 8 Vietnamese 3Afrikaans 7 Indonesian 2Dutch 7 Bulgarian 1Somali 7 Estonian 1Finish 6 Lithuanian 1Polish 5 Albanian 1Catalan 4 Unknown 229
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 26 / 30
Agenda
1 Introducción
2 ModelizaciónElementos de la red TorConexionesComportamiento de los Nodos
3 Extracción de característicasConsideracionesSistema
4 Análisis de los servicios ocultos
5 Conclusiones y trabajo futuro
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 27 / 30
Conclusiones y trabajo futuro
Diagramas UML cubriendo diferentes aspectos de la red TorElementos que la componen (nodos, mensajes)ComunicaciónComportamiento de los nodos
Importante cantidad de datos de servicios ocultosDirecciones .onionInformación de su contenido, cabeceras y protocolo
Herramienta de desanonimización y categorización
Trabajo futuro
Evaluar el comportamiento con modelos formales (i.e., Redes de Petri)
Sistema de evaluación para comprobar los resultados
Mejora de la categorización
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 28 / 30
Conclusiones y trabajo futuro
Publicación en las XXV Jornadas de Concurrencia y SistemasDistribuidos
Invitación de RedIRIS
Jorge García de Quirós Giménez Hacia la modelización de Tor y análisis de servicios ocultos 12 de julio de 2018 29 / 30
Modelización del protocolo Tor y extracción decaracterísticas de servicios ocultos
Jorge García de Quirós
Trabajo Fin de Grado - Grado en Ingeniería Informática
Universidad de Zaragoza, Spain
Director: Ricardo J. Rodríguez
Ponente: José Merseguer
12 de julio de 2018