Se
ha publicado una nueva versión de OpenSSL, la 1.1.0, con importantes novedades
y solución a múltiples problemas y vulnerabilidades.
OpenSSL es un desarrollo
"Open Source" que implementa los protocolos SSL y TLS, y que es
utilizada por multitud de programas, tanto para implementar dichos protocolos
(por ejemplo, HTTPS) como para emplear sus componentes criptográficos individuales
(funciones de cifrado y "hash", generadores de claves, generadores
pseudoaleatorios, etc).
La nueva versión 1.1.0 de OpenSSL,
se considera una actualización mayor y abre una nueva rama de desarrollo, de
ahí su importancia. Como es de esperar incorpora importantes novedades y la solución
a diversas vulnerabilidades. Cabe señalar la eliminación de protocolos y
algoritmos ya obsoletos e inseguros y el soporte de nuevos algoritmos criptográficos.
- Se ha incluido soporte para los
nuevos algoritmos ChaCha20 (para cifrado
simétrico) y Poly1305 (para
autenticación).
- La mayoría de las estructuras
públicas de libcrypto y libssl se han hecho opacas incluyendo: BIGNUM y tipos
asociados, EC_KEY y EC_KEY_METHOD, DH y DH_METHOD, DSA y DSA_METHOD, RSA y
RSA_METHOD, BIO y BIO_METHOD, EVP_MD_CTX, EVP_MD, EVP_CIPHER_CTX, EVP_CIPHER,
EVP_PKEY y tipos asociados, HMAC_CTX, X509, X509_CRL, X509_OBJECT,
X509_STORE_CTX, X509_STORE, X509_LOOKUP, X509_LOOKUP_METHOD.
- Igualmente las estructuras
internas de libssl también se han hecho opacas.
- Se elimina el soporte a SSLv2 y al
conjunto de cifrado Kerberos.
- RC4 también se ha eliminado de
los conjuntos de cifrado por defecto en libssl.
- Se ha retirado el soporte de
cifrado de 40 y 56 bits de libssl.
- Todos los archivos de cabecera
públicos se han movido a include/openssl, para evitar los enlaces simbólicos.
- Se ha añadido en libcrypto el
soporte para modo OCB (Offset Codebook Mode).
- También se ha añadido a las
librerías libcrypto y libssl el sopote para operaciones criptográficas
asíncronas.
- Nuevos niveles de seguridad.
- Se ha incluido soporte de los algoritmos
scrypt y KDF (implementando TLS PRF como un KDF). Igualmente se soporta X25519,
Certificate Transparency, HKDF y la autenticación entre pares RFC6698/RFC7671
DANE TLSA.
- Ahora se pueden desactivar las interfaces obsoletas en tiempo de compilación, ya sea con respecto a la versión más reciente a través del argumento de configuración "no-deprecated", o a través de la opción "--api=1.1.0|1.0.0|0.9.8".
Entre las vulnerabilidades corregidas, cabe señalar que se mitigan los ataques Sweet32 (CVE-2016-2183). Este ataque podría permitir a un atacante remoto que monitorice y capture una gran cantidad de tráfico de una sesión cifrada 3DES en modo CBC del que se conozca algo de texto plano podrá llegar a descifrar algún texto. Este ataque afecta a cifrados en bloque de 64 bits como 3DES o Blowfish. En la nueva versión los conjuntos de cifrado 3DES y RC4 no se incluyen por defecto.
Se soluciona una fuga de memoria
por un uso inadecuado en el método SRP_VBASE_get_by_user (CVE-2016-0798). Y un
fallo en la comprobación de límites en el tratamiento de la extensión hearbeat
TLS puede permitir la revelación de hasta 64k de memoria a un cliente conectado
o un servidor (CVE-2014-0160).
La versión OpenSSL 1.1.0 está disponible
desde
Más Información:
OpenSSL
OpenSSL 1.1.0 Series Release
Notes
Changes between 1.0.2h and 1.1.0 [xx XXX xxxx]
On the Practical (In-)Security of 64-bit Block
Ciphers
Antonio Ropero
Twitter: @aropero
No hay comentarios:
Publicar un comentario