De todos es sabido que Apple tiene una forma especial de lanzar actualizaciones para sus productos, especialmente para sus sistemas operativos. Al contrario que Microsoft con su Windows, que publica boletines mensuales de seguridad el segundo martes de cada mes (y alguno más fuera de ese ciclo si la ocasión lo merece), las actualizaciones de seguridad de Apple aparecen muchas veces de forma espontánea y sin aviso previo.
Sin embargo, hasta la fecha todas estas actualizaciones habían requerido de la intervención del usuario para ser instaladas. Esto ha cambiado con la reciente publicación de una actualización de seguridad que corrige una vulnerabilidad crítica en el protocolo NTP (Network Time Protocol) que Apple ha publicado y que cuenta con la particularidad de que se instala automáticamente sin que el usuario tenga que hacer nada.
Vulnerabilidad en NTP
La gravedad de la vulnerabilidad, que permitiría a un atacante ejecutar código arbitrario de forma remota, es lo que ha obligado a Apple a tomar esta medida por primera vez en su historia. A pesar de que a muchos usuarios no les sonará de nada, NTP es un protocolo muy extendido que permite la sincronización de los relojes de aquellos sistemas conectados a Internet. Esto permite que nuestro sistema siempre marque la hora correcta y se actualice si cambiamos de región horaria sin perder precisión.
Los problemas corregidos en ntp-4.2.8 afectan a versiones anteriores y concretamente eran estos (cortesía de Hispasec):
- Entropía insuficiente en PRNG (Pseudo-Random Number Generator). Si la clave de autenticación no está definida en el archivo de configuración ntp.conf, se genera una clave criptográficamente débil (CVE-2014-9293).
- Uso de un generador de números pseudoaleatorios (PRNG) criptográficamente débil. Las versiones de ntp-keygen anteriores a 4.2.7p230 generan las claves simétricas con un generador de números pseudoaleatorios con una semilla débil (CVE-2014-9294).
- Desbordamiento de buffer. Un atacante remoto sin autenticar podría provocar desbordamientos de búfer en las funciones crypto_recv(), ctl_putdata() y configure() de ntpd. Esto podría permitir la ejecución de código arbitrario con privilegios del proceso ntpd (CVE-2014-9295).
- Condiciones de error, valores de retorno y códigos de estado. En una sección del código de ntpd que trata un error poco frecuente falta un «return«, por lo que el proceso no finaliza cuando se encuentra el error (CVE-2014-9296).
Actualización automática de Apple
Como ya hemos dicho, esta ha sido la primera actualización automática que Apple ha lanzado para sus sistemas, aunque esta característica se incorporó al sistema OS X hace dos años. Apple se ha decidido por usar este método debido a la criticidad de la vulnerabilidad y, de hecho, su aplicación ni siquiera requiere un reinicio del sistema.
Esta característica, que en principio ahorra trabajo y facilita la vida de los usuarios, no ha estado exenta de críticas, puesto que precisamente algunos usuarios ven preocupados cómo Apple puede realizar cambios en su sistema sin previa autorización. Algunos incluso se preguntan si Apple usará esta característica para instalar nuevos parches que limiten la funcionalidad o la ejecución de cierto tipo de software o contenidos como, por ejemplo, música o películas sin DRM o aplicaciones que no hayan sido descargadas de la App Store.
No sabemos cuáles son los planes de Apple a la hora de utilizar esta característica en el futuro, pero hasta el momento ha servido para corregir una vulnerabilidad de una forma transparente a sus usuarios, garantizando que la mayoría de ellos estará a salvo de que un atacante la pueda utilizar en su beneficio. Esperemos que se siga utilizando de esta manera.