La compañía tecnológica Apple publicó actualizaciones de seguridad para sus sistemas operativos iOS 6, 7 y Apple TV 6 por una vulnerabilidad en el soporte SSL/TLS que podría permitir a un atacante interceptar comunicaciones seguras.

El problema también afecta a OS X 10.9.x. 

 
El problema reside en la función SSLVerifySignedServerKeyExchange en libsecurity_ssl/lib/sslKeyExchange.c en la característica Secure Transport en el componente Data Security de Apple iOS 6.x (anteriores a
6.1.6) y 7.x (anteriores a 7.0.6), Apple TV 6.x (anteriores a 6.0.2) y Apple OS X 10.9.x (anteriores a.9.2). El problema reside en que no se comprueba la firma en un mensaje TLS Server Key Exchange, que podría permitir ataques de hombre en el medio para falsificar servidores SSL mediante el uso de una llave privada arbitraria para el paso de firmado (o incluso llegar a omitirlo). 
 
Apple ha publicado las versiones 7.0.6 y 6.1.6 de iOS y la versión 6.0.2 de Apple TV para corregir este problema. Se ha confirmado que la vulnerabilidad también está presente en OS X 10.9.1 y quedará corregido en la versión 10.9.2 (actualmente en beta), que será publicada en breve. 
 
De esta forma, se ven afectados los Apple TV de segunda generación, los iPhone 3GS, 4 (y posteriores), los iPod touch (de cuarta y quinta generación) y los iPad 2 (y posteriores). 
 
Un análisis del código permite revelar la causa del problema 
 
static OSStatus
SSLVerifySignedServerKeyExchange(SSLContext *ctx, bool isRsa, SSLBuffer signedParams, uint8_t *signature, UInt16 signatureLen) { OSStatus err; … 
 
if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0) goto fail; if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0) goto fail; goto fail; if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0) goto fail; … 
 
fail: 
SSLFreeBuffer(&signedHashes); 
SSLFreeBuffer(&hashCtx); 
return err; 
 
 
El problema, con CVE-2014-1266, reside en las dos líneas goto fail seguidas. El primero está enlazado correctamente a la sentencia if pero la segunda línea no está condicionado. De esta forma el código siempre saltará al final desde ese segundo goto, err siempre tendrá un valor exitoso porque la de actualización SHA1 fue exitosa y de esta forma la verificación nunca fallará. 
 
De esta forma, no se llega a efectuar correctamente la verificación de firma en un mensaje ServerKeyExchange. Da igual la clave privada del servidor: si es la correcta, una falsa ¡o incluso si no existe!; dado 
que no se efectúa la verificación de dicha clave. 
 
Existe una prueba en https://www.imperialviolet.org:1266/ (el número de puerto corresponde con el número de CVE), si al visitar este sitio aparece un mensaje seguramente el sistema estará afectado. 
 
Dada la importancia que puede tener este problema, se recomienda actualizar los dispositivos afectados a la mayor brevedad posible. Para ello, en iOS en Ajustes/General ir a Actualización de software. 
 
Opina sobre esta noticia: 
http://unaaldia.hispasec.com/2014/02/actualizacion-de-apple-para-ios-6-y-7.html#comments
 
Más información:
 
About the security content of iOS 7.0.6
http://support.apple.com/kb/HT6147
 
About the security content of iOS 6.1.6
http://support.apple.com/kb/HT6146
 
About the security content of Apple TV 6.0.2
http://support.apple.com/kb/HT6148
 
Apple’s SSL/TLS bug (22 Feb 2014)
https://www.imperialviolet.org/2014/02/22/applebug.html
 
Apple Fixes Dangerous SSL Authentication Flaw In iOS
http://beta.slashdot.org/story/198507

Fuente:
Antonio Ropero
antonior@hispasec.com
Twitter: @aropero
Laboratorio Hispasec
www.hispasec.com

Imagen:
Fotos Digitales Gratis
www.fotosdigitalesgratis.com

Logotipos/Imágenes/Texto MR Respectiva/s Compañía/s mencionada/s en la noticia.
Portal de Seguridad Informática, Tecnología e Internet
Descargas Antivirus/Antimalware
www.antivirusgratis.com.ar