SlideShare una empresa de Scribd logo
1 de 40
JOSE TORRES SERGIO DE LOS SANTOS
Innovation Analyst Head of Lab
@jose7orres @ssantosv
Starring
Área de Innovación y Laboratorio
Certificate Transparency
• Diseñado por Google.
• Presentado y definido en el RFC 6962
• Será obligatorio en Chrome en octubre 2017
• Pretende convertirse en una de las soluciones más efectivas para
reforzar la seguridad del ecosistema TLS (HTTPS incluido)
abril 2018
Certificate Transparency
Existen otras aproximaciones de propósito similar:
• HPKP
• HSTS
• CAA
Aunque todas pueden funcionar de forma simultánea sin problemas
No requieren
infraestructura
adicional
Certificate Transparency
• Será adoptado por otros navegadores como Firefox.
¿Están preparados el
ecosistema TLS y el resto
de actores implicados?
Certificate Transparency
Dentro del movimiento #movingtoHTTPS que Google espera trasladar
a todo internet
Es una propuesta prometedora pero...
• Pretende la exposición pública de todo
nuevo certificado emitido (de cualquier tipo)
• Basado en los Árboles de Merkle
Una caja fuerte con el contenido a simple
vista!
Certificate Transparency
Veamos
cómo
funciona …
Integración en el ecosistema TLS tradicional
Certificate Transparency
Logs Auditors
CT
Logs
Logs Monitors
SSL Certificates
Website
Owner
Purchases
Subscribes to
Uploaded to
Verifies
their activity
Looks for
certificates
Issues
www.
Checks
Actores Implicados
Certificate Transparency
https://ct.grahamedgecombe.com/
Actores Implicados
¿Existe toda la infraestructura?
¿Funcionan todos los actores?
Monitores
Logs
CAs
Auditores
Certificate Transparency
No necesariamente…
Certificate Transparency
Conseguir evitar la
protección adicional que
supone CT para conseguir
ejecutar ataques típicos
como MiTM…
Objetivo
Necesitamos un plan …
¿Cómo evitar Certificate Transparency?
Necesitaremos:
• Emitir certificados asociados a un determinado
dominio sin ser descubiertos (Emulando RogueCerts)
• Estar presentes en los logs de CT y controlando en
CUÁLES queremos estar
• Pasar desapercibidos antes los monitores.
¿Cómo evitar Certificate Transparency?
Para ello será necesario:
¿Cómo evitar Certificate Transparency?
El diseño de la arquitectura es
bastante fiable.
Lo ideal será buscar fallos de
implementación de los
actores implicados
Evaluar los posibles problemas en el
ecosistema, detectando posibles
puntos ciegos que puedan ser
explotables
Almacenan y publican los certificados recopilados, sin embargo:
• No todos los logs tienen la misma cantidad de certificados.
• Igual que los navegadores, los logs solo aceptan certificados de ciertas
CAs.
• Los monitores, solo vigilan ciertos log
• Los navegadores (Chrome) solo acepta como válidos “LOG CONFIABLES”
Entonces, ¿Hay CAs discriminadas?
+ Si, las hay.
Actores implicados – CT Logs
https://www.certificate-transparency.org/known-logs https://sslmate.com/labs/ct_growth/
LOGS
CAS
MONITORES
Actores implicados – CT Logs
Actores implicados - Monitores
• Funcionan bajo demanda.
• Un usuario puede solicitar la vigilancia de
determinados dominios (no necesariamente propios)
• Prácticamente solo existen dos:
• Cert Spotter. (SSLMate)
• Facebook Certificate Transparency Monitoring tool
El “tiempo de
mergeo” es
especialmente
importante
Hay que tener en
cuenta el tiempo que
transcurre desde que
se emite el
certificado, hasta que
aparece en los logs
Podríamos ser detectados por los monitores…
¿Cómo evitarlo?
¿Qué logs vigilan?
¿Cada cuánto tiempo?
¿Cuánto tardan en notificar?
Actores implicados – Monitores
¿Estos logs comparten info?
Sin embargo, no están
funcionando del mejor
modo…
Facebook no está
comunicando ninguna
aparición
Actores implicados – Monitores
Algunas están vetadas por los logs y a su vez estos en el navegador.
Podrían ayudar significativamente al ecosistema mediante dos “simples
acciones”:
• Subir el certificado a los logs inmediatamente después de emitirlos.
• Ofrecer el SCT vía OCSP o incrustado en el navegador.
Sin embargo, la mayoría no lo hace (al menos para los certificados no EV)
Actores implicados – CAs
Con todo lo anterior se hicieron pruebas prácticas.
• Se crearon varios dominios:
- ct-11p.com
- certransp.com
- .elevenpaths.com
• Seleccionamos varias CAs para emitir certificados:
- Comodo CA
- Let’s Encrypt
¡Manos a la obra!
(Solo aceptada en ICARUS)
Y por si fuera poco
Aún no hemos hablado del navegador…
El código fuente
Implementación en Chrome
Los logs aceptados, están ¿hardcodeados?
Implementación en Chrome
File: sth_set_component_installer.h
Expect-CT
Implementación en Chrome
Expect-CT: enforce;
max-age=1440;
report-URI=https://blah.com/CTReport/
enforce: El navegador espera un SCT válido o aborta la conexión
max-age: Tiempo de caché de esta directiva en el navegador (en seg.)
report-URI: URL a la que el navegador deber enviar reportes de fallos
Resultados
El número mínimo de log, no está definido, aunque se recomendaban 3 2
Hemos conseguido estar en 2 logs (Venafi y Digicert) con altas
posibilidades de 3 o más
- Es posible aparecer en un log pendiente de inclusión y esperar
Los logs aceptados (en Chrome), aparecen y desaparecen continuamente,
creando nuevas combinaciones por probar y posibilidades de repetir el
experimento.
https://sslmate.com/labs/ct_growth/
En julio 2017 Chrome (M60) incluyó 2 nuevos
logs de Comodo en su lista de confianza
¿Más problemas?
No funciona del todo
bien en Chrome
Aún no se sabe
nada de Firefox
• ¿Y el resto de navegadores?¿MS Edge?
Conclusiones
UN ATACANTE TENDRÍA POTENCIALMENTE 40 HORAS ANTES DE SER DETECTADO
UNA VEZ DETECTADO, EL TIEMPO DE REACCIÓN, PODRÍA SER MUCHO MAYOR
Conclusiones
Hay que tener en cuenta que:
• CT NO se usará para revocar certificados. Solo para ayudar a detectar con
más rapidez su uso indebido.
• Una vez reportado, un certificado, deberá ser revocado mediante los
mecanismos tradicionales. Tras esto, el certificado seguirá pasando la
validación de CT para el navegador (estar en X logs)
• El conocimiento general de CT por los administradores/usuarios, es muy
bajo y su uso poco extendido (solo el 12% de certificados de Alexa están
en 3 logs)  Baja probabilidad de reporte
¿Significa todo esto que CT no es una buena opción?
Todo lo contrario, es una solución muy prometedora,
pero aún debe estabilizarse.
Retrasado a ¿2018?: https://www.thesslstore.com/blog/certificate-
transparency-requirement/
Conclusiones
Gracias por vuestro tiempo!
¿Preguntas?
Jose Torres y Sergio De Los Santos - Exploiting Certificate Transparency blind spots [rootedvlc4]

Más contenido relacionado

Similar a Jose Torres y Sergio De Los Santos - Exploiting Certificate Transparency blind spots [rootedvlc4]

Vc4 nm73 eq#6-tls
Vc4 nm73 eq#6-tlsVc4 nm73 eq#6-tls
Vc4 nm73 eq#6-tls
SaMoCaFlo
 
Vc4 nm73 eq#6-tls
Vc4 nm73 eq#6-tlsVc4 nm73 eq#6-tls
Vc4 nm73 eq#6-tls
Yare LoZada
 

Similar a Jose Torres y Sergio De Los Santos - Exploiting Certificate Transparency blind spots [rootedvlc4] (20)

HTTPS: Usted, úselo bien.
HTTPS: Usted, úselo bien.HTTPS: Usted, úselo bien.
HTTPS: Usted, úselo bien.
 
Git: flujos de trabajo y herramientas para trabajo colaborativo
Git: flujos de trabajo y herramientas para trabajo colaborativoGit: flujos de trabajo y herramientas para trabajo colaborativo
Git: flujos de trabajo y herramientas para trabajo colaborativo
 
Webinar go anywhere_mft_scripts
Webinar go anywhere_mft_scriptsWebinar go anywhere_mft_scripts
Webinar go anywhere_mft_scripts
 
En 20 minutos... Buenas Practicas SSL
En 20 minutos... Buenas Practicas SSLEn 20 minutos... Buenas Practicas SSL
En 20 minutos... Buenas Practicas SSL
 
Vc4 nm73 eq#6-tls
Vc4 nm73 eq#6-tlsVc4 nm73 eq#6-tls
Vc4 nm73 eq#6-tls
 
CodeCamp 2010 | Diez formas de escribir código (in)seguro
CodeCamp 2010 | Diez formas de escribir código (in)seguroCodeCamp 2010 | Diez formas de escribir código (in)seguro
CodeCamp 2010 | Diez formas de escribir código (in)seguro
 
Observabilidad: Todo lo que hay que ver
Observabilidad: Todo lo que hay que verObservabilidad: Todo lo que hay que ver
Observabilidad: Todo lo que hay que ver
 
VC4NM73-EQ#6-TLS
VC4NM73-EQ#6-TLSVC4NM73-EQ#6-TLS
VC4NM73-EQ#6-TLS
 
Vc4 nm73 eq#6-tls
Vc4 nm73 eq#6-tlsVc4 nm73 eq#6-tls
Vc4 nm73 eq#6-tls
 
"Al rico" PHP
"Al rico" PHP"Al rico" PHP
"Al rico" PHP
 
5 problemas del intercambio de archivos mediante scripts
5 problemas del intercambio de archivos mediante scripts5 problemas del intercambio de archivos mediante scripts
5 problemas del intercambio de archivos mediante scripts
 
Actividad5
Actividad5Actividad5
Actividad5
 
SimpleSAMLphp
SimpleSAMLphpSimpleSAMLphp
SimpleSAMLphp
 
Voip2day video conferencia grado militar usando software libre
Voip2day   video conferencia grado militar usando software libreVoip2day   video conferencia grado militar usando software libre
Voip2day video conferencia grado militar usando software libre
 
Protocolos
ProtocolosProtocolos
Protocolos
 
como realmente_trabaja_internet
 como realmente_trabaja_internet como realmente_trabaja_internet
como realmente_trabaja_internet
 
Elio Rojano - VoIP2DAY 2016 | Que hace tu Asterisk cuando no miras
Elio Rojano - VoIP2DAY 2016 | Que hace tu Asterisk cuando no mirasElio Rojano - VoIP2DAY 2016 | Que hace tu Asterisk cuando no miras
Elio Rojano - VoIP2DAY 2016 | Que hace tu Asterisk cuando no miras
 
Qué hace tu Asterisk cuando no miras
Qué hace tu Asterisk cuando no mirasQué hace tu Asterisk cuando no miras
Qué hace tu Asterisk cuando no miras
 
C++ Meetup Madrid
C++ Meetup MadridC++ Meetup Madrid
C++ Meetup Madrid
 
Trabajo Final Dani
Trabajo  Final DaniTrabajo  Final Dani
Trabajo Final Dani
 

Más de RootedCON

Más de RootedCON (20)

Rooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro Villaverde
Rooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro VillaverdeRooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro Villaverde
Rooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro Villaverde
 
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
 
Rooted2020 hunting malware-using_process_behavior-roberto_amado
Rooted2020 hunting malware-using_process_behavior-roberto_amadoRooted2020 hunting malware-using_process_behavior-roberto_amado
Rooted2020 hunting malware-using_process_behavior-roberto_amado
 
Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_
Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_
Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_
 
Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...
Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...
Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...
 
Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...
Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...
Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...
 
Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...
Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...
Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...
 
Rooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguer
Rooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguerRooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguer
Rooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguer
 
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
 
Rooted2020 stefano maccaglia--_the_enemy_of_my_enemy
Rooted2020 stefano maccaglia--_the_enemy_of_my_enemyRooted2020 stefano maccaglia--_the_enemy_of_my_enemy
Rooted2020 stefano maccaglia--_the_enemy_of_my_enemy
 
Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...
Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...
Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...
 
Rooted2020 virtual pwned-network_-_manel_molina
Rooted2020 virtual pwned-network_-_manel_molinaRooted2020 virtual pwned-network_-_manel_molina
Rooted2020 virtual pwned-network_-_manel_molina
 
Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...
Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...
Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...
 
Rooted2020 todo a-siem_-_marta_lopez
Rooted2020 todo a-siem_-_marta_lopezRooted2020 todo a-siem_-_marta_lopez
Rooted2020 todo a-siem_-_marta_lopez
 
Rooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valero
Rooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valeroRooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valero
Rooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valero
 
Rooted2020 live coding--_jesus_jara
Rooted2020 live coding--_jesus_jaraRooted2020 live coding--_jesus_jara
Rooted2020 live coding--_jesus_jara
 
Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...
Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...
Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...
 
Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...
Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...
Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...
 
Rooted2020 evading deep-learning_malware_detectors_-_javier_yuste
Rooted2020 evading deep-learning_malware_detectors_-_javier_yusteRooted2020 evading deep-learning_malware_detectors_-_javier_yuste
Rooted2020 evading deep-learning_malware_detectors_-_javier_yuste
 
Rooted2020 encontrando 0days-en_2020_-_antonio_morales
Rooted2020 encontrando 0days-en_2020_-_antonio_moralesRooted2020 encontrando 0days-en_2020_-_antonio_morales
Rooted2020 encontrando 0days-en_2020_-_antonio_morales
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (12)

EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

Jose Torres y Sergio De Los Santos - Exploiting Certificate Transparency blind spots [rootedvlc4]

  • 1.
  • 2. JOSE TORRES SERGIO DE LOS SANTOS Innovation Analyst Head of Lab @jose7orres @ssantosv Starring Área de Innovación y Laboratorio
  • 3.
  • 4. Certificate Transparency • Diseñado por Google. • Presentado y definido en el RFC 6962 • Será obligatorio en Chrome en octubre 2017 • Pretende convertirse en una de las soluciones más efectivas para reforzar la seguridad del ecosistema TLS (HTTPS incluido) abril 2018
  • 5. Certificate Transparency Existen otras aproximaciones de propósito similar: • HPKP • HSTS • CAA Aunque todas pueden funcionar de forma simultánea sin problemas No requieren infraestructura adicional
  • 7. • Será adoptado por otros navegadores como Firefox. ¿Están preparados el ecosistema TLS y el resto de actores implicados? Certificate Transparency Dentro del movimiento #movingtoHTTPS que Google espera trasladar a todo internet Es una propuesta prometedora pero...
  • 8. • Pretende la exposición pública de todo nuevo certificado emitido (de cualquier tipo) • Basado en los Árboles de Merkle Una caja fuerte con el contenido a simple vista! Certificate Transparency
  • 10. Integración en el ecosistema TLS tradicional Certificate Transparency
  • 11. Logs Auditors CT Logs Logs Monitors SSL Certificates Website Owner Purchases Subscribes to Uploaded to Verifies their activity Looks for certificates Issues www. Checks Actores Implicados Certificate Transparency https://ct.grahamedgecombe.com/
  • 12. Actores Implicados ¿Existe toda la infraestructura? ¿Funcionan todos los actores? Monitores Logs CAs Auditores Certificate Transparency
  • 14. Conseguir evitar la protección adicional que supone CT para conseguir ejecutar ataques típicos como MiTM… Objetivo
  • 15. Necesitamos un plan … ¿Cómo evitar Certificate Transparency?
  • 16. Necesitaremos: • Emitir certificados asociados a un determinado dominio sin ser descubiertos (Emulando RogueCerts) • Estar presentes en los logs de CT y controlando en CUÁLES queremos estar • Pasar desapercibidos antes los monitores. ¿Cómo evitar Certificate Transparency?
  • 17. Para ello será necesario: ¿Cómo evitar Certificate Transparency? El diseño de la arquitectura es bastante fiable. Lo ideal será buscar fallos de implementación de los actores implicados Evaluar los posibles problemas en el ecosistema, detectando posibles puntos ciegos que puedan ser explotables
  • 18. Almacenan y publican los certificados recopilados, sin embargo: • No todos los logs tienen la misma cantidad de certificados. • Igual que los navegadores, los logs solo aceptan certificados de ciertas CAs. • Los monitores, solo vigilan ciertos log • Los navegadores (Chrome) solo acepta como válidos “LOG CONFIABLES” Entonces, ¿Hay CAs discriminadas? + Si, las hay. Actores implicados – CT Logs https://www.certificate-transparency.org/known-logs https://sslmate.com/labs/ct_growth/ LOGS CAS MONITORES
  • 20. Actores implicados - Monitores • Funcionan bajo demanda. • Un usuario puede solicitar la vigilancia de determinados dominios (no necesariamente propios) • Prácticamente solo existen dos: • Cert Spotter. (SSLMate) • Facebook Certificate Transparency Monitoring tool
  • 21. El “tiempo de mergeo” es especialmente importante Hay que tener en cuenta el tiempo que transcurre desde que se emite el certificado, hasta que aparece en los logs
  • 22. Podríamos ser detectados por los monitores… ¿Cómo evitarlo?
  • 23. ¿Qué logs vigilan? ¿Cada cuánto tiempo? ¿Cuánto tardan en notificar? Actores implicados – Monitores ¿Estos logs comparten info?
  • 24. Sin embargo, no están funcionando del mejor modo… Facebook no está comunicando ninguna aparición Actores implicados – Monitores
  • 25. Algunas están vetadas por los logs y a su vez estos en el navegador. Podrían ayudar significativamente al ecosistema mediante dos “simples acciones”: • Subir el certificado a los logs inmediatamente después de emitirlos. • Ofrecer el SCT vía OCSP o incrustado en el navegador. Sin embargo, la mayoría no lo hace (al menos para los certificados no EV) Actores implicados – CAs
  • 26. Con todo lo anterior se hicieron pruebas prácticas. • Se crearon varios dominios: - ct-11p.com - certransp.com - .elevenpaths.com • Seleccionamos varias CAs para emitir certificados: - Comodo CA - Let’s Encrypt ¡Manos a la obra! (Solo aceptada en ICARUS)
  • 27. Y por si fuera poco Aún no hemos hablado del navegador…
  • 28. El código fuente Implementación en Chrome Los logs aceptados, están ¿hardcodeados?
  • 31.
  • 32. Expect-CT Implementación en Chrome Expect-CT: enforce; max-age=1440; report-URI=https://blah.com/CTReport/ enforce: El navegador espera un SCT válido o aborta la conexión max-age: Tiempo de caché de esta directiva en el navegador (en seg.) report-URI: URL a la que el navegador deber enviar reportes de fallos
  • 33. Resultados El número mínimo de log, no está definido, aunque se recomendaban 3 2 Hemos conseguido estar en 2 logs (Venafi y Digicert) con altas posibilidades de 3 o más - Es posible aparecer en un log pendiente de inclusión y esperar Los logs aceptados (en Chrome), aparecen y desaparecen continuamente, creando nuevas combinaciones por probar y posibilidades de repetir el experimento. https://sslmate.com/labs/ct_growth/ En julio 2017 Chrome (M60) incluyó 2 nuevos logs de Comodo en su lista de confianza
  • 34. ¿Más problemas? No funciona del todo bien en Chrome Aún no se sabe nada de Firefox • ¿Y el resto de navegadores?¿MS Edge?
  • 36. UN ATACANTE TENDRÍA POTENCIALMENTE 40 HORAS ANTES DE SER DETECTADO UNA VEZ DETECTADO, EL TIEMPO DE REACCIÓN, PODRÍA SER MUCHO MAYOR
  • 37. Conclusiones Hay que tener en cuenta que: • CT NO se usará para revocar certificados. Solo para ayudar a detectar con más rapidez su uso indebido. • Una vez reportado, un certificado, deberá ser revocado mediante los mecanismos tradicionales. Tras esto, el certificado seguirá pasando la validación de CT para el navegador (estar en X logs) • El conocimiento general de CT por los administradores/usuarios, es muy bajo y su uso poco extendido (solo el 12% de certificados de Alexa están en 3 logs)  Baja probabilidad de reporte
  • 38. ¿Significa todo esto que CT no es una buena opción? Todo lo contrario, es una solución muy prometedora, pero aún debe estabilizarse. Retrasado a ¿2018?: https://www.thesslstore.com/blog/certificate- transparency-requirement/ Conclusiones
  • 39. Gracias por vuestro tiempo! ¿Preguntas?

Notas del editor

  1. https://sslmate.com/blog/post/ct_redaction_in_chrome_53
  2. https://sslmate.com/blog/post/ct_redaction_in_chrome_53
  3. SCT: - Extensión X.509v3: Incrustado en el certificado en la extensión con OID: 1.3.6.1.4.1.11129.2.4.2 - Extensión del protocolo TLS: Extensión 18 (signed_certificate_timestamp) = 0x0012 (Reconfiguración del servidor) - Respuesta OCSP:
  4. Comodo: Para intentar estar en el máximo numero de logs posible Let’s Encrypt: Para probar tiempos.