Todos los sistemas operativos tienen fallos, errores más o menos grandes que pueden suponer, desde pequeños inconvenientes para los usuarios hasta enormes problemas de seguridad para las grandes empresas. Android no se libra de dichos errores y Google es consciente de ello, por esto se emplean grandes esfuerzos en implementar medidas de seguridad para hacer de Android un sistema seguro y estable para todos.

Como muchos sabéis, Android está basado en el Kernel o núcleo de Linux, y gracias a esto es capaz de incorporar medidas de seguridad avanzadas que provienen de este sistema operativo. Ahora se han adoptado diversas medidas de seguridad que se enmarcan en dos grandes grupos, la protección de la memoria y la reducción de la superficie de ataque.

Android Developers Blog

Protección de la memoria en Android

Una de las medidas más eficaces es proteger la memoria de los procesos de usuario separando los espacios de direcciones. Las tareas del núcleo y los procesos de los usuarios, conviven en espacios de memoria diferentes consiguiendo aislar las operaciones del núcleo en caso de problemas

Memoria de solo lectura o no ejecución

Esta medida de seguridad consiste en segmentar espacios de memoria del nucleo en distintas secciones lógicas y establece secciones que se marcan como de solo lectura, otras de lectura y ejecución y un tercer tipo de no ejecución, separando así zonas críticas para evitar posibles ataques al núcleo.

Restricción de acceso al kernel por parte de la memoria de usuario

Mejoramos la protección del kernel, evitando que la memoria de usuario tenga acceso directo al mismo. Se consigue mayor seguridad ante ataques ya que los procesos de usuario tienen menos posibilidades de acceso a la ejecución de procesos en la memoria del kernel.

Protección contra desbordamiento de buffer de la pila

El conocidísimo por muchos programadores «Stack buffer overflow«, más conocido en español como desbordamiento del buffer de la pila. Se implementarán nuevas medidas para prevenir los fallos que lo provocan y se proporcionan coberturas adicionales para mayor número de tipos de array.

Android 7.0 Nougat

Reducción de la superficie de ataque

Es una de las medidas de seguridad en muchos ámbitos, desde los tecnológicos hasta el cuerpo a cuerpo. Es un conjunto de métodos relativamente sencillo, en el que se intenta reducir el número de posibles lugares por donde atacar al núcleo. Todo ello debe conseguirse sin que la funcionalidad se vea mermada.

Eliminar acceso a funciones de depuración

En Linux existe una utilidad llamada Perf que sirve a los desarrolladores para conocer el rendimiento del núcleo y las aplicaciones del usuario. Es una aplicación muy valiosa para los desarrolladores, pero proporciona un método de acceso al núcleo y de cara a la mayor parte de los usuarios no tienen ningún valor. En la próxima versión de Android vendrá deshabilitado su uso por defecto, aunque los desarrolladores que lo necesiten todavía podrán acceder gracias a determinadas instrucciones.

Restringir acceso a los comandos IOCTL

Las llamadas IOCTL se utilizan para comunicarse con drivers de dispositivos y pese a su utilidad, representan un problema para la seguridad del kernel y el módulo SELinux. Algunos comandos de tipo IOCTL son necesarios para el funcionamiento de las aplicaciones, pero muchos otros no. Por ello, en Android Nougat se reducirá la lista de comandos IOCTL.

Seccomp como requisito

Seccomp es un mecanismo de seguridad que provee a las aplicaciones mecanismos de sandbox en el kernel. Así, en Android 7.0 las llamadas al sistema se reducirán y la incorporación de Seccomp será obligatoria para todos los dispositivos que se lancen al mercado con el nuevo sabor o aquellos que actualicen al mismo.

Fuente: Android Developers Blog

Dejar una respuesta

Please enter your comment!
Please enter your name here