Mejoras de seguridad en Android 1.5 a 4.1

Android proporciona un modelo de seguridad de varias capas que se describe en Descripción general de seguridad de Android . Cada actualización de Android incluye docenas de mejoras de seguridad para proteger a los usuarios. Las siguientes son algunas de las mejoras de seguridad introducidas en las versiones de Android 1.5 a 4.1:

androide 1.5
  • ProPolice para evitar desbordamientos del búfer de pila (-fstack-protector)
  • safe_iop para reducir los desbordamientos de enteros
  • Extensiones a OpenBSD dlmalloc para evitar vulnerabilidades de doble free() y para evitar ataques de consolidación de fragmentos. Los ataques de consolidación de fragmentos son una forma común de explotar la corrupción del montón.
  • OpenBSD calloc para evitar desbordamientos de enteros durante la asignación de memoria
androide 2.3
  • Protecciones de vulnerabilidad de cadena de formato (-Wformat-security -Werror=format-security)
  • No eXecute (NX) basado en hardware para evitar la ejecución de código en la pila y el montón
  • Linux mmap_min_addr para mitigar la escalada de privilegios de desreferencia de puntero nulo (mejorado aún más en Android 4.1)
Android 4.0
Aleatorización del diseño del espacio de direcciones (ASLR) para aleatorizar ubicaciones clave en la memoria
Android 4.1
  • Compatibilidad con PIE (ejecutable independiente de la posición)
  • Reubicaciones de solo lectura/enlace inmediato (-Wl,-z,relro -Wl,-z,now)
  • dmesg_restrict habilitado (evite filtrar direcciones del kernel)
  • kptr_restrict habilitado (evite filtrar direcciones del kernel)