Los dos gigantes del mundo móvil se han dado a la tarea de incursionar en las nuevas versiones de sus sistemas operativos que poco a poco inundarán las tiendas de telefonía celular. Estamos hablando de Apple con su nuevo iOS 10 y Google con Android 7.0 Nougat.
¿Cuáles son las novedades que plantean estos sistemas en materia de seguridad y cómo afectarán a los usuarios finales? Dedicaremos este artículo a examinar los cambios aplicados por estas plataformas.
iPhone 7 junto a iOS 10
Tras el pasado lanzamiento del iPhone 7, los usuarios de Apple abrieron el debate sobre cuáles son las principales características que sufren modificaciones en este nuevo dispositivo y cuánto realmente conviene adquirir estas prestaciones.
Cierto es que los cambios más radicales propuestos por Apple para su nuevo modelo son en realidad cambios en el sistema operativo que llegarán de la mano de iOS 10, el cual será distribuido a modelos anteriores de iPhone, iPad y iPod (iPhone 5 y superior, iPad 4ta generación y superior, iPod touch sexta generación y superior).
Pero ¿qué innovaciones plantea el SO en términos de seguridad?
Corrección de vulnerabilidades
El nuevo SO de Apple incluye reparaciones para siete fallas de seguridad que se detallan a continuación:
- CVE-2016-4741: Desde hace un par de años, iOS tiene algunos problemas de seguridad en lo que a despliegue de actualizaciones refiere, vulnerabilidades que bloquean la actualización del terminal, descubiertas por Raul Siles –investigador de DinoSec, quien también encontró bugs similares en Android–. Esta falla de seguridad se vería solucionada con la nueva entrega de iOS 10 mediante la utilización de HTTPS. Conoce más sobre estas fallas aquí, aquí y aquí.
- CVE-2016-4719: Mejor validación de permisos para evitar el filtrado de datos sensibles de geolocalización.
- CVE-2016-4746: La aplicación del teclado almacenaba en caché información sensible que podía ser revelada mediante sugerencias inoportunas.
- CVE-2016-4747: Para evitar ataques MITM con credenciales de correo electrónico, ahora las conexiones no confiables serán terminadas.
- CVE-2016-4740: Mejoras en la aplicación de mensajería para evitar filtrado de mensajes.
- CVE-2016-4749: Mecanismos de sanitización para evitar archivos temporales no cifrados al usar AirPrint.
- CVE-2016-4620: Otra mejora en procesos de sandboxing de aplicaciones para evitar que aplicaciones maliciosas puedan conocer a quién un usuario está escribiendo mensajes SMS.
Otras actualizaciones emitidas por Apple son iOS 10.0.1, Xcode 8 y watchOS 3, las cuales plantean en conjunto correcciones para otras cuatro vulnerabilidades entre las que se incluyen la ejecución remota de código malicioso.
Mejoras para desarrollo seguro
Desde el punto de vista del desarrollo de apps, iOS 10 también incluye mejoras para la confidencialidad de los datos del usuario. Entre estas mejoras encontramos las siguientes:
- Mejoras para la generación de claves asimétricas en la API SecKey.
- Cifrado simétrico por RC4 deshabilitado para conexiones SSL/TLS.
- La clase UIPasteboard permite restringir el paso de datos entre equipos y fijar un tiempo de expiración.
- Se deberá declarar estáticamente el uso de clases protegidas en el archivo Info.plist.
Android 7.0 Nougat
Por su parte, Google también ha incorporado algunos cambios al modelo de seguridad de Android 7.0. Los principales ítems contemplados para esta nueva versión incluyen los detallados a continuación:
Cifrado
Android Nougat cambia el sistema de cifrado de disco completo por un modelo de cifrado basado en archivos, donde el espacio de almacenamiento del sistema y el de cada uno de los usuarios del dispositivo son cifrados de manera individual. Este esquema brinda un mayor grado de confidencialidad para los datos cada usuario, característica importante en dispositivos multiusuarios como las tabletas inteligentes. Además, las aplicaciones prioritarias –como las llamadas y alarmas– pueden ejecutarse de modo restringido antes de que el usuario ingrese el PIN para el descifrado, característica denominada Direct Boot.
En lo que ha cifrado refiere, Apple siempre ha llevado la delantera mediante el cifrado por hardware habilitado por defecto. No obstante, Google ha comenzado a realizar esfuerzos para fortalecer el cifrado a través de diferentes plataformas, ya que todos los nuevos dispositivos con Nougat deberán tener este tipo de hardware para el almacenamiento de claves y protección contra ataques de fuerza bruta.
Reingeniería del servidor multimedia
Los componentes multimedia han sido una fuente de grandes vulnerabilidades para Android, incluyendo Stagefright y Metaphor. El equipo de seguridad de Android nos asegura que ha mejorado los procesos de sanitización de entradas multimedia, interrumpiendo inmediatamente procesos que puedan crear integer overflows. Igualmente, se ha reforzado el sandboxing de los componentes y la adquisición de permisos.
Además se han reforzado otras medidas de seguridad ya conocidas como Verified Boot, SELinux –normalmente conocido como SEAndroid–, reducción de la exposición del kernel mediante memoria de solo lectura y restricción de acceso al espacio de usuario, y un nuevo sistema de firmado de APK.
Seguridad de aplicaciones
A partir de la API 24, los certificados instalados por los usuarios y aquellos instalados en modo de administrador del dispositivo no serán confiables por defecto. En otro esfuerzo por unificar plataformas, todos los nuevos equipos con Android deberán tener el mismo almacén de CA. Los desarrolladores también podrán configurar políticas de seguridad de red mediante ficheros de configuración.
Para compartir archivos, las aplicaciones deberán hacerlo explícitamente a través de un Content Provider. Se ha removido el acceso a identificadores del equipo como la dirección MAC y las aplicaciones ya no podrán solapar interfaces para evitar así ataques de tapjacking.
También se ha reducido el control que tienen las aplicaciones que corren en modo de administración del dispositivo, de modo que ya no podrán cambiar el bloqueo de pantalla ni recibirán notificaciones cuando el usuario intente quitarles el privilegio de administrador. Esto ciertamente pone en jaque las técnicas que los cibercriminales del mundo del ransomware móvil venían utilizando.
Actualizaciones del sistema
Se ha reducido el tamaño de los paquetes de las actualizaciones OTA de seguridad y se ha reducido su tiempo de instalación a través de un nuevo compilador JIT. El plan de actualizaciones propuesto por Google para Android 7.0 Nougat en dispositivos Nexus incluye parches de seguridad mensuales, más las actualizaciones trimestrales de funcionalidad y correcciones de bugs.
Claro que aún no existe una solución definitiva para asegurar que los OEM entreguen estas actualizaciones a tiempo ni para impedir que los fabricantes introduzcan fallas de seguridad, por ejemplo, al modificar las políticas SELinux. Después de todo, de nada servirán estas mejoras si Nougat no es desplegado pronto a los usuarios finales.
Sistemas orientados a la seguridad
Ambos sistemas operativos han recorrido un largo camino desde sus orígenes y ambos han logrado rediseñar su arquitectura en tornos a consideraciones de seguridad de manera tal vez más precisa que los sistemas de escritorio.
Por parte de Google, comienzan a vislumbrarse esfuerzos por unificar aspectos de seguridad a través de los distintos modelos de celulares y tabletas disponibles en el mercado, lo que ha sido siempre el gran cuestionamiento hacia este sistema. Google también resalta los resultados de su agresivo programa de bug hunting, cuyas recompensas ascienden a los 200.000 dólares.