¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Seguridad en Android
Sistema de permisos
Android utiliza un sistema de permisos de aplicaciones para protegera al usuario. Dependiendo de la funcionalidad de la aplicación, requerirá unos permisos concretos.
Los permisos de las aplicaciones vienen definidos en el fichero AndroidManifest.xml, en las líneas <user-permission>
En Android 6.0 y posteriores, el sistema concede automáticamente los permisos normales a la aplicación en el momento de la instalación, mientras que los permisos peligrosos deben ser concedidos explícitamente por el usuario durante la ejecución de la aplicación.
Rooting
En sistemas Unix, el usuario con máximos privilegios es root
Por defecto, Android no habilita esta característica para proteger al usuario. Es relativamente sencillo obtener permisos de root en el teléfono. Se dice que se rootea el dispositivo accediendo así a funciones muy avanzadas no orientadas al usuario final, como por ejemplo instalar ROMs alternativas o desinstalar las aplicaciones preinstaladas del terminal.
Un teléfono rooteado es más potente, pero conlleva riesgos de seguridad. Una aplicación con permisos de root puede, por ejemplo, romper el sandboxing y acceder a datos de otras aplicaciones.
Algunas aplicaciones como SuperSu mitigan parcialmente el riesgo de asignación de permisos root concediendo estos permisos solamente a aplicaciones concretas.
Google Play Protect
Servicio de Google para protección contra amenazas en dispositivos móviles.
Realiza análisis del terminal automáticamente y de forma periódica.
En caso de perdida del dispositivo, permite localizarlo, bloquearlo de forma remota, mostrar en pantalla un mensaje para que la persona que pueda encontrarlo sepa con quién contactar, etc.
El mismo servicio es el encargado de analizar las aplicaciones que se suben a Google Play y de descartar aquellas que no cumplen c on los requisitos mínimos de seguridad.
También ofrece protección web, bloqueando el acceso a páginas potencialmente maliciosas.
Análisis de código
Una vez obtenido el código de una aplicación, se puede realizar una búsqueda estratégica para identificar rápidamente sentencias sospechosas:
- Acceso s SQLite: db, sqlite, database, insert, delete, select, table, cursor…
- Notificaciones toast (tapjacking): toast
- Identificadores: uid, user-id, imei, deviceId, deviceSerialNumber…
- Conexiones: http, url, HttpURLConnection, URLConnection…
- Intents
- Localización GPS: getLastKnownLocation, requestLocationUpdates, getLatitude…
- Credenciales: username, user, pass, password…
