Google
publicó hace una semana una nueva versión de su sistema operativo para móviles
Android. Dentro de las novedades que
trae vamos a hacer un repaso al área de seguridad.
SELinux corre ahora en modo forzado "Enforced"
SELinux es un módulo de seguridad
diseñado específicamente para el kernel Linux que provee de diversos mecanismos
de control de acceso así como de herramientas para el usuario. SELinux es una
solución open source originalmente desarrollada por la NSA.
Android implementó completamente
SELinux a partir de la versión 4.3. Aunque ya desde la versión 4.2 diferentes
partes de SELinux fueron incluidas en el núcleo Linux de Android pero no estaban
activadas por defecto.
En la versión 4.3, SELinux corría
en modo permisivo "Permissive".
Es decir, no efectuaba ningún tipo de denegación de acceso al recurso
solicitado pero efectúa un registro del evento si esa acción hubiese sido
bloqueada en el modo forzado "Enforced".
A partir de la 4.4 Kitkat
SELinux, totalmente implementado y funcional, negará el acceso a aquellos
recursos o acciones que estén sometidas a reglas de acceso.
Configuración VPN por usuario
En dispositivos multiusuarios la
configuración VPN solo afectará al usuario correspondiente sin que el resto se
vea afectado por esta configuración.
Soporte para criptografía de curva elíptica ECDSA
A partir de ahora el almacén de
claves de Android soporta llaves firmadas usando criptografía de curva
elíptica.
Aviso de monitorización del dispositivo
Android alertará al usuario del
dispositivo si detecta que un certificado ha sido añadido al almacén de
certificados del dispositivo y es posible que pueda ser usado para monitorizar
el tráfico cifrado.
Esto está muy relacionado con
ambientes corporativos donde se procede a instalar un certificado de la CA local para navegar o acceder
a recursos de la empresa. En ciertos entornos puede ser obligatorio instalar un
certificado para que el tráfico SSL sea "conocido" y monitorizado por la empresa.
Certificate pinning para certificados de Google
Android detectará y bloqueará el
uso de certificados de Google fraudulentos. Certificate pinning ya se
encontraba de alguna forma desde la versión Jellybeans de Android. Ahora el
soporte se amplia específicamente para la prevención de cambios inadvertidos de
certificados de Google.
Certificate pinning es una
interesante opción en la que el certificado lleva especificado en quien se ha
de confiar para validar el certificado, desechando certificados, aun siendo
válidos, de otras CAs aunque estas estén en nuestro almacén.
Detección de desbordamientos de memoria intermedia
Todo el código de Android ha sido
compilado con la opción FORTIFY_SOURCE a nivel 2. Esta opción del compilador
permite controlar ciertos tipos de desbordamientos en la pila del proceso.
Más información:
Security Enhancements in Android
4.4
SEforAndroid
David García