Cristián RojasEspecialista en Seguridad de Software
¿Estamos realmente seguros?
Vulnerabilidades en suites de cifrado
Cliente
Servidor
Suites de cifrado
RSA-RC4-SHA
Algoritmo de intercambio de
llave
Algoritmo de encriptación
Algoritmo MAC
Llave de sesión
EXP-RC2-CBC-MD5
EDH-RSA-DES-CBC-SHA
AECDH-NULL-SHA
Mitigación
admin@secureserver ~$ openssl ciphers -v \'AES !EXP !RC2 !MD5 !DES !aNULL !eNULL'
String de configuración
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;ssl_ciphers "AES !EXP !RC2 !MD5 !DES !aNULL !eNULL";
Forward Secrecy
La sesión es segura, pero...
Transmisiones anteriores de la sesiónINCLUYENDO negociación de llave
Implementando Forward Secrecy
DHE
DHE
???ECDHE
+27%*DHE+210%*
* Indica diferencias en tiempo de respuesta respecto a RSAFuente: Vincent Bernat, “SSL/TLS & Perfect Forward Secrecy”
Autoridades Certificadoras (CA)
Eligiendo una CA
● Postura frente a la seguridad
● Enfoque de negocios● Herramientas de
manejo de certificados● Soporte de clientes
SSL is not fucked. CA's are.
AutoridadCertificadora
Certificate Pinning
restserver1.startechconf.com
restserver2.startechconf.com
restserver3.startechconf.com
Recomendaciones para el servidor
Ojo con la cadena de certificados
CA-1 Root CA
Root CA
CA-1
Cadena de confianza verificada
Certificado Raíz CA
Certificado CA intermedia
Certificado servidor
SSLv2
SSLv3
TLSv1.0
TLSv1.1
TLSv1.2
Usar protocolos de TLSv1.0 hacia arriba
Proveer una buena lista de suites de cifrado
● Usar algoritmos de encriptación fuertes (128 bits o más)
● No usar EXPORT ni algoritmos obsoletos
● Usar ECDHE/DHE para implementar F0rward Secrecy
● Dar preferencia a la lista de suites de cifrado del servidor
Recomendaciones para la aplicación
Encriptarlo todo
● Asegurar las cookies (mediante el flag Secure)
● Usar HTTP Strict Transport Security (HSTS) en lo posible
● Asegurarse de no usar contenido mezclado (ej. HTML encriptado, pero CSS y JS sin encriptar)
Deshabilitar cache de contenidos sensibles
● La cache queda en el disco duro sin encriptar
● Ejemplos:– Datos de perfil– Cartolas– Mensajes personales
Poner atención a otros aspectos de
seguridad ;)
Fuente: OWASP Top 10 2013 – https://www.owasp.org
Herramientas y links
● Qualys SSL Test: https://www.ssllabs.com/ssltest/
● Ivan Ristic, “OpenSSL Cookbook”: http://goo.gl/vYAYHS
● Josh Bleecher Snyder, “Why app developers should care about SSL pinning”: http://goo.gl/fTcLm