análisis de malware en android -.bsides chile 2014
TRANSCRIPT
Análisis de malware en Android
22 de Octubre 2014
WHOAMI
CTO IZIT Speaker Mobile Cursos de seguridad WEB y Móvil @JulianZarate [email protected] http://computacionmovil-ar.blogspot.com.ar/
¿Porqué Android?
•Es el sistema operativo mas vendido •Esta presente en casi todas las marcas. •Es Open Source y... Es Linux •900 millones de Devices activados •1.3 millones por dia •Los Carriers son responsables de actualizaciones (es muy lento)
Información Importante
Datos Ubicacion
Contactos /data/data/com.android.providers.contacts/
Calendario /data/data/com.android.providers.calendar/
SMS&MMS /data/data/com.android.providers.telephony/
DownloadHistory /data/data/com.android.providers.downloads/
BrowserData /data/data/com.android.providers.browser/
Gmail /data/data/com.google.android.providers.gmail/
LocationCache /data/data/com.google.android.location/
WIFi /data/misc/wifi/wpa_supplicant/
User pass browser /data/data/com.android.browser/databases/webview.db
Analisis de Malware
Modelo de seguridad de Android ● Separación de Privilegios
- Cada aplicación tiene su propio uid: gid
- Distintos componentes del sistema tienen su propio uid: gid
● Permisos de Aplicaciones
El manifiesto se basa en Lista Blanca
Tiene que ser aceptado por el usuario
Estadística de permisos en 1.400 aplicaciones legítimas vs
760 maliciosas. – Número medio de peticiones
• 7 para las maliciosas (algunas llegaron a pedir 39!!) • 3 para las legítimas
– No es un indicador definitivo pero es algo a tener en cuenta.
Analisis de Malware
Analisis de Malware
Estructura de un archivo APK
Es un archivo zip.
META-INF/ • Certificados • ‘manifest’ – lleno de SHA-1 hashes
– Assets/ • Configuraciones de aplicación, etc…
– Manifest/ • Archivo XML. aplicación. • Realmente un algún que otro
Indica los permisos requeridos por la
archivo Dbase IV que contiene XML y lenguaje.
• tenemos http://code.google.com/android-apktool/ – Res/
• Otros recursos, principalmente imágenes
ADB (Android Debug Bridge)
Es una herramienta de línea de comandos versátil que le permite comunicarse con una instancia de emulador o dispositivo con Android conectado. Comandos: ADB shell ADB devices ADB logcat ADB bugreport ADB pull ADB push El mas interesante ADB forward tcp:8080 tcp:3131
Analisis de Malware
El SDK de Android tiene numerosas herramientas, entre ellas DDMS (Dalvik Debug Monitor Server) que nos permite analizar por consola el comportamiento de una app.
Requisitos: - SDK Instalado - Dispositivo Android con “modo developer habilitado”
- “Depuración USB habilitado”
Analisis de Malware
Analisis de Malware
Siempre es necesario poder analizar el codigo fuente de
realmente las aplicaciones
hacen. para observar lo que
• Requisitos – Eclipse – DEX2JAR – JD-GUI - APK a analizar
Analisis de Malware
Vamos a ver… analizaremos a un viejo conocido
Android.Fake.Player
Analisis de Malware
1)File > New 2) Project > “Libraries”.
> Java Proyect Properties > Java Build Path. Dex2jar
3) Agregar .APK
Analisis de Malware
4) Run As > Run Configurations y hacemos doble click en “Java application”
Analisis de Malware
5) Arguments colocamos
APK con la extensión el nombre de nuestro fichero
6) Apply y Run.
Analisis de Malware
5) Arguments colocamos
APK con la extensión el nombre de nuestro fichero
6) Apply y Run.
Analisis de Malware
Abrir JD-GUI (Java Decompiler), y abrimos el .JAR resultante.
Aquí ya podemos revisar las clases y métodos
Analisis de Malware
Analisis de Malware
Ahora analizaremos a Zitmo, mas conocido como Zeus, un troyano diseñado para robar las credenciales bancarias. Muchos bancos utilizan el factor de doble autenticación, y uno de los mas usados es mTANs (Mobile Transaction Authentication Number) Cuando realizas una transacción bancaria, la entidad envía vía SMS un “token” que se usa para finalizar la transacción. Este Troyano esta diseñado para escuchar, interceptar y reenviar este token a un servidor remoto.
Analisis de Malware
Analisis de Malware
Analisis de Malware
Dudas??
Quejas ??
Amenazas??