Explotación de una vulnerabilidad en un dispositivo con sistema operativo Android
Jonathan Reyes
Mercado mundial de smartphones
Mercado de smartphones en EE.UU.
Android es Linux
Android es Linux
Stack
Aplicaciones
El canal oficial para distribución de aplicaciones es Google Play (antes Android Market)
También existen métodos alternativos:
Markets de terceros
Instalación directa desde el APK
Permisos de las Aplicaciones
Permisos de las Aplicaciones
Estos incluyen:
modificar o escribir en el almacenamiento USB
controlar partes del hardware
acceder a Internet
obtener la ubicación mediante GPS
acceder a información de contactos
realizar llamadas
enviar mensajes
Application Sandbox
Verifica que la aplicación a ser instalada ha sido firmada debidamente por su desarrollador (no realiza verificaciones con CAs).
Asigna un único UID a cada aplicaciones instalada, garantizando que una aplicación no pueda acceder a los datos o procesos de otra.
(más o menos)
Pero....
no todo es color de rosa...
Exploits
No son utilizados necesariamente con fines maliciosos. Los usuarios avanzados pueden usarlos para obtener una mejor experiencia.
Dos ejemplos muy conocidos:
rageagainstthecage se aprovecha de una vulnerabilidad del demonio adbd y el número máximo de procesos que puede correr el sistema para obtener acceso root.
Otro exploit famoso se aprovecha de una vulnerabilidad en las versiones previas a la 1.4.1 de la utilidad udev de Linux.
DroidDream
Uno de los casos más famosos de malware en Android, fue distribuido a través de aplicaciones disponibles en el Android Market con nombres que confundirían fácilmente a usuarios incautos:
Task Killer Pro
Spider Man
Super Sexy Ringtones
Sexy Girls: Japanese
Números
50+ aplicaciones publicadas desde 3 cuentas
Casi 200 000 dispositivos infectados...
en tan solo 4 días
Demostración
Con el propósito de demostrar que incluso sin concederle ningún permiso a una aplicación, esta podría acceder a cierta información privada y enviarla a un servidor remoto, Paul Brodeur del grupo Leviathan Security publicó un artículo en el blog de la compañía, detallando el proceso.
Recomendaciones
De no ser necesario, no activar la opción que permite instalar software desde fuentes no confiables en un teléfono Android.
Existen antivirus gratuitos y de pago disponibles para Android, instalarlos puede ser de gran ayuda, sobre todo para usuarios inexpertos.
Es importante verificar qué permisos está pidiendo una aplicación antes de ser instalada, si el propósito de la aplicación es simple pero pide permisos que no debería necesitarlos para su ejecución, es posible que intente obtener información con fines maliciosos.
Mantener actualizado el dispositivo es quizás la mejor forma de protegerse contra distintos ataques de malware.