La
última versión de Android ya es una realidad. Los primeros dispositivos con
Android 7.0, también conocido como Nougat, ya están en la calle, y Google ha
ampliado la información
sobre las características de seguridad que ésta nueva versión viene a ofrecer.
Como no podía ser menos, esta
nueva versión es la más segura hasta la fecha. Para ello Google ha incluido
mejoras en diferentes aspectos de seguridad. Entre todas ellas, el equipo de
seguridad de Android destaca el programa de recompensas por vulnerabilidades (que
tan buen rendimiento le está dando a la compañía), un nuevo modo Direct Boot,
rediseño del mediaserver y fortalecimiento del subsistema multimedia,
aplicaciones protegidas desde regresiones accidentales hasta tráfico de datos
sin cifrar, una actualización de la forma en que Android trata las autoridades
de certificación de confianza, estricto cumplimiento del arranque verificado
con corrección de errores y actualizaciones del kernel de Linux para reducir la
superficie de ataque y aumentar la protección de memoria.
Arranque Directo y cifrado
En Android 7.0 Nougat se ha actualizado
el esquema de cifrado subyacente y simplificado el proceso de arranque para
acelerar el reinicio del teléfono. Ahora las funciones principales del
teléfono, como la aplicación de teléfono y el reloj, están disponibles de forma
inmediata, incluso antes de introducir el PIN, por lo que se pueden recibir
llamadas y las alarmas pueden funcionar. Esta funcionalidad recibe el nombre de
Arranque Directo ("Direct
Boot").
El nuevo esquema de cifrado de
archivos mejora la experiencia de usuario, debido a que el área de
almacenamiento del sistema, así como el área de almacenamiento de cada perfil
de usuario, están cifradas por separado. A diferencia del cifrado del disco completo,
donde todos los datos se cifran como una sola unidad, el cifrado basado por
perfil permite que el sistema se reinicie normalmente en un estado operativo
usando únicamente las teclas del dispositivo.
El cifrado basado en archivos
ofrece un mejor aislamiento y protege usuarios y perfiles individuales en un
dispositivo mediante cifrado de datos a una granularidad más fina. Cada perfil
se cifra mediante una clave única que sólo puede ser desbloqueado mediante el
PIN o contraseña, para que los datos solo puedan ser descifrados por el usuario.

Protecciones multimedia y de plataforma
En Android 7 también se ha rediseñado
y mejorado la seguridad del servidor multimedia, uno de los servicios
principales que procesan entradas no confiables.
Se ha incorporado protección ante
desbordamientos de entero. Tan pronto se detecta un desbordamiento de entero,
se cierra el proceso y se detiene el ataque. El subsistema multimedia se ha
convertido en módulos para poner los diferentes componentes en "sandboxes" individuales. Así se han
podido ajustar los privilegios de cada "sandbox" con los mínimos privilegios requeridos para su función.
La finalidad es mitigar gran parte de las vulnerabilidades de desbordamiento de
memoria basada en la pila reduciendo la superficie expuesta.
También se han añadido otras
protecciones, como el Arranque Verificado (Verified Boot) que evita el arranque
de dispositivos comprometidos. Configuración actualizada de SELinux y aumento
de la cobertura. Aleatorización del orden de carga de librerías y mejora de
ASLR. Se ha añadido protección de memoria adicional para los nuevos kernels marcando
porciones de la memoria del núcleo como de sólo lectura, restringiendo el acceso
al kernel a las direcciones del espacio de usuario y reduciendo aún más la actual
superficie de ataque. Se ha introducido un nuevo
esquema de firma de aplicaciones que ofrece instalación más rápida de las
aplicaciones y mayor protección contra alteraciones no autorizadas de archivos
APK.
Mejoras en la seguridad de aplicaciones
Las aplicaciones que quieren
compartir datos con otras aplicaciones deben activarse opcionalmente
de forma explícita ofreciendo sus archivos a través de un proveedor de
contenidos (Content
Provider) como FileProvider.
Para facilitar a las aplicaciones
controlar el acceso a su tráfico de red seguro, las autoridades de certificación
instaladas por el usuario y los instalados mediante APIs ya no son de confianza
predeterminada para aplicaciones dirigidas a la API de nivel 24+.
Android Nougat incluye una
función de configuración
de seguridad de la red que permite a las aplicaciones personalizar los
ajustes de seguridad de la red mediante un archivo de configuración declarativo
seguro sin que haya que modificar el código de la aplicación. Esto incluye bloquear
tráfico en texto claro, configurar el conjunto de CAs y certificados de
confianza y asignar una configuración de depuración.
Actualizaciones del sistema
Google también ha realizado
mejoras significativas en el sistema de actualización OTA, reduciendo el tiempo
de actualización y el tamaño de las actualizaciones. También se evita el paso
de optimización de aplicaciones, sin duda uno de las partes más lentas del
proceso de actualización.
Sin duda las actualizaciones del
sistema van a seguir siendo uno de los puntos débiles de Android, mientras éstas
tarden meses en llegar (o incluso no lleguen nunca) los sistemas volverán a ser
vulnerables en cuanto se descubra una nueva vulnerabilidad. Mientras la
obtención de actualizaciones siga dependiendo del dispositivo, país, fabricante,
proveedor o del distribuidor la cadena seguirá siendo demasiado larga y muchos
usuarios tardarán en tener sus dispositivos actualizados.
Más información:
Keeping Android safe: Security enhancements in
Nougat
Antonio Ropero
Twitter: @aropero
No hay comentarios:
Publicar un comentario