lunes, 11 de noviembre de 2013

Nuevas características de seguridad en Android 4.4 KitKat

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

Twitter: @dgn1729

No hay comentarios:

Publicar un comentario en la entrada