Apple ha publicado actualizaciones de seguridad para 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.
No solo iOS tiene problemas
Continúan los problemas, avisos y actualizaciones en torno a productos de Apple. Tras la última actualización importante para iOS, se acaban de publicar nuevas actualizaciones para Safari, OS X y QuickTime. Con todo aun hay un anuncio de un nuevo problema aun pendiente de solucionar.
La primera de las actualizaciones de seguridad publicadas es para su navegador Safari (versión 6.1.2 y 7.0.2) que solventa cuatro vulnerabilidades de corrupción de memoria en WebKit, que podrían ser aprovechadas por un atacante remoto para provocar condiciones de denegación de servicio o ejecutar código arbitrario. Afecta a las versiones para OS X Lion v10.7.5, OS X Lion Server v10.7.5, OS X Mountain Lion v10.8.5 y OS X Mavericks v10.9.1. Los CVE asociados son CVE-2013-6635, CVE-2014-1268, CVE-2014-1269 y CVE-2014-1270.
Se recomienda actualizar a las versiones 6.1.1 o 7.0.1 de Safari para Mac OS X disponible a través de las actualizaciones automáticas de Apple, o para su descarga manual desde:http://support.apple.com/downloads/#safari
Por otra parte, Apple publica la actualización "OS X Mavericks 10.9.2 y Security Update 2014-001" destinada a corregir un total de 33 vulnerabilidades en su familia de sistemas operativos OS X (Lion, Mountain Lion y Mavericks). Entre los problemas corregidos se incluye la que analizamos en la "una-al-día" de ayer, en relación con el soporte SSL/TLS.
Se han solucionado vulnerabilidades en Apache, App Sandbox, ATS, Certificate Trust Policy, CFNetwork Cookies, CoreAnimation, CoreText, curl, Data Security, Date and Time, File Bookmark, Finder, ImageIO, IOSerialFamily, LaunchServices, NVIDIA Drivers, PHP, QuickLook, QuickTime y Secure Transport. También se ha actualizado la lista de certificados raíz, que puede visualizarse a través de la aplicación "Keychain Access".
La actualización está disponible a través de "Actualización de Software" en "Preferencias del Sistema" o desde el sitio web de descargas de Apple:http://www.apple.com/support/downloads/
La última de las actualizaciones publicadas afecta a QuickTime, que se actualiza a la versión 7.7.5 para solucionar 10 problemas de seguridad en su versión para Windows 7, Vista y XP. Las vulnerabilidades están relacionadas con el tratamiento de imágenes o películas específicamente creadas y podrían permitir la ejecución remota de código arbitrario.
Esta nueva versión puede instalarse a través de las funcionalidades de actualización automática de Apple, o descargándolas directamente desde:http://www.apple.com/quicktime/download/
¿Un "keylogger" para iPhone?
Además de estas actualizaciones, Apple aun tiene trabajo pendiente ya que se ha anunciado un nuevo problema pendiente de corrección.
Este fallo, reportado por técnicos de FireEye, afectaría a dispositivos iOS 7 y podría permitir la grabación de todas las presiones/toques del usuario, incluyendo toques de pantalla, del botón de inicio, de los botones de volumen y hasta del TouchID. Un "keylogger" en toda regla. Destacan la creación de una app capaz de "monitorizar" en segundo plano estos eventos en dispositivos iPhone 5s con la última versión de iOS 7 sin jailbreak y enviarlos a un servidor remoto. Además también afecta a versiones anteriores de iOS.
iOS 7 proporciona ajustes para "Actualización en segundo plano", desactivar el refresco innecesario de aplicaciones puede prevenir una potencial monitorización en segundo plano. Aunque también podría evitarse, por ejemplo una aplicación puede reproducir música en segundo plano sin necesidad de activar dicha opción. Por lo que un atacante podría crear una aplicación maliciosa disfrazada como aplicación musical para efectuar el registro de las pulsaciones. Por lo que la única forma de evitar este problema es mediante el cierre de las aplicaciones que se ejecutan en segundo plano.
FireEye ha confirmado que está colaborando con Apple para la corrección de este problema, por lo que podemos esperar otra actualización para iOS dentro de poco.
Más información:
About the security content of Safari 6.1.2 and Safari 7.0.2http://support.apple.com/kb/ HT6145
About the security content of OS X Mavericks v10.9.2 and Security Update 2014-001http://support.apple.com/kb/
Background Monitoring on Non-Jailbroken iOS 7 Devices — and a Mitigationhttp://www.fireeye.com/blog/
No hay comentarios:
Publicar un comentario