SlideShare una empresa de Scribd logo
1 de 33
Juan Urbano Stordeur
Security Consultant
Mobile Security Testing Guide (MSTG)
Mobile Application Security Verification
Standard (MASVS)
OWASP Mobile Top Ten 2016/2014
3
 URL EXTERNA
 POR UNA PLICACIÓN DE TERCERO
 POR MEDIO DE DISPOSITIVO CON ROOT
¿De qué manera podemos obtener una
aplicación?
5
¡Perfecto! ¿Pero como empieza un
cybercriminal a recolectar información?
1. Análisis estático
2. Análisis de transferencia de información
3. Información almacenada en el dispositivo
6
Podríamos definir tres enfoques de
análisis
Análisis estático
Diversas herramientas:
Jadx
Procyon
cfr
jd-gui, etc
7
Comparamos con Meld
8
Enfoque pasivo/activo.
Principalmente MITM a la aplicación (CA,
Bypass Certificate Pinning, etc).
9
Análisis de transferencia de información
Bypassing SSL Pinning
Cydia Substrate y Android-SSL-TrustKiller - Dos
APK que se instalan en el dispositivo para evadir
Certificate Pinning (solo en Kitkat v4.4)
Xposed Framework y JustTrustMe – Igual que las
anteriores, pero mas fáciles implementar y corren
en Lollipop+.
10
Almacenamiento Externo.
Almacenamiento Interno.
SQLite
Shared Preferences
11
Información almacenada en el dispositivo
Algunos ejemplos de auditorias
realizadas…
12
CASO 1: Archivos assets
13
 URL’s almacenadas en xml
 IP’s publicas y privadas
 Puertos y servicios
 Direccionamiento interno, etc.
SSH, FTP, SFTP, HTTP/HTTPS en puertos fuera
de lo común, etc.
14
CASO 2: Servicios y puertos expuestos
CASO 3: Información almacenada de manera
insegura
15
SQLite & Shared
Preferences
CASO 4: Brute Force SMS
16
CASO 5: SQL Injection
17
¿Cuál sería el impacto entonces?
18
¿Cuales serían las recomendaciones?
19
20
Algunas Protecciones Binarias
Lexical Obfuscation
Anti-Tampering
Anti-Debugging
Anti-Emulation
Root Check
SQLite & Shared
Preferences encrypted
CA Validation &
Certificate Pinning
21
package artificialDriving {public class Navigator{}}
package connectionHandler {public class BluetoothHandler{}}
package userInterface {public class {}}
package a {
public class a{
public void a(){}
public void(int a){}}
public class b{
public void a(){}
public void a(int a){}}
Lexical Obfuscation
public final class CcoCIcI{
private static final byte[] COcocOlo;
private static boolean CcoCIcI;
private static BluetoothAdapter IoOoOIOI;
…
}
package 你{
public class 音{
public void 你() {}
public void 你(int ){}
}
}
22
Random/Non-alpha Identifier name
Anti-Tampering
Validación por medio de “hashes”
Analizar archivos modificados en base a una
validación de time stamp.
Bloques de código, clases o sobre toda la
aplicación.
23
Anti-Tampering
Re-empaquetar y firmar la aplicación con una
firma distinta la válida.
Correr la aplicación con la firma original y la
modificada en paralelo.
Controlar si solo la versión modificada
(“resigned”) arroja un error de integridad.
24
Anti-Debugging
android.os.Debug.isDebuggerConnected() nativa de Android, si el modo
debug es True, termina la ejecución de la aplicación.
if (android.os.Debug.isDebuggerConnected())
{
android.os.Process.killProcess(android.os.Process.myPid());
}
25
Anti-Emulation
Validar la identificación
del dispositivo
IMEI
Phone number
Voice mail number
SIM serial number
Subscriber ID
Brand
Device
Model
26
Anti-Emulation
public boolean checkEmulation()
return (Build.PRODUCT.contains(“sdk”) || Build.MODEL.contains(“sdk”));}
public boolean checkEmulation() {
Context context = getApplicationContext();
if ("goldfish".equals(getProperty(context,"ro.hardware"))
|| "generic".equals(getProperty (context,"ro.product.device"))
|| "1".equals(getProperty (context,"ro.kernel.qemu")) ) {
return true; }
return false; } 27
Anti-Emulation
public boolean checkEmulation() {
TelephonyManager mng = (TelephonyManager)
getApplicationContext().getSystemService("phone");
if (mng.getSimOperatorName().equals("Android") ||
mng.getNetworkOperatorName().equals("Android")) {
return true;
}
return false;
28
Root-Check
/system/bin/su
/system/xbin/su
/sbin/su
/system/su
/system/bin/.ext/.su
29
30
SQLite & Shared Preferences
encrypted
SQLite:
SQLCipher https://www.zetetic.net/sqlcipher/
Shared Preferences:
https://github.com/scottyab/secure-preferences
https://github.com/sveinungkb/encrypted-
userprefs 31
¿PREGUNTAS?
Juan Urbano Stordeur – juan.urbano@eset.com
@juanurss
¡Muchas gracias!

Más contenido relacionado

Similar a Csa Summit 2017 - Obteniendo información de tu organización a través de aplicaciones móviles

Common Criteria: Herramienta para el desarrollo seguro
Common Criteria: Herramienta para el desarrollo seguroCommon Criteria: Herramienta para el desarrollo seguro
Common Criteria: Herramienta para el desarrollo seguro
Javier Tallón
 

Similar a Csa Summit 2017 - Obteniendo información de tu organización a través de aplicaciones móviles (20)

Webinar CISOBeat - Detectar Ataques de Red Utilizando SNORT
Webinar CISOBeat - Detectar Ataques de Red Utilizando SNORTWebinar CISOBeat - Detectar Ataques de Red Utilizando SNORT
Webinar CISOBeat - Detectar Ataques de Red Utilizando SNORT
 
Presentacion Ontología de Seguridad para la securización de sistemas
Presentacion Ontología de Seguridad para la securización de sistemasPresentacion Ontología de Seguridad para la securización de sistemas
Presentacion Ontología de Seguridad para la securización de sistemas
 
Common Criteria: Herramienta para el desarrollo seguro
Common Criteria: Herramienta para el desarrollo seguroCommon Criteria: Herramienta para el desarrollo seguro
Common Criteria: Herramienta para el desarrollo seguro
 
¿Cómo detectar ataques de red utilizando Snort? | CISObeat
¿Cómo detectar ataques de red utilizando Snort? | CISObeat¿Cómo detectar ataques de red utilizando Snort? | CISObeat
¿Cómo detectar ataques de red utilizando Snort? | CISObeat
 
Noticia abril
Noticia abrilNoticia abril
Noticia abril
 
Noticia abril
Noticia abrilNoticia abril
Noticia abril
 
Noticia abril
Noticia abrilNoticia abril
Noticia abril
 
Análisis de malware en Android -.Bsides Chile 2014
Análisis de malware en Android -.Bsides Chile 2014Análisis de malware en Android -.Bsides Chile 2014
Análisis de malware en Android -.Bsides Chile 2014
 
NcN_CSUC_CSIRT
NcN_CSUC_CSIRTNcN_CSUC_CSIRT
NcN_CSUC_CSIRT
 
CERT/CSIRT's tools: Con las manos en la masa
CERT/CSIRT's tools: Con las manos en la masaCERT/CSIRT's tools: Con las manos en la masa
CERT/CSIRT's tools: Con las manos en la masa
 
Taller deandroid
Taller deandroidTaller deandroid
Taller deandroid
 
Seguridad en Internet
Seguridad en InternetSeguridad en Internet
Seguridad en Internet
 
Respuestas
RespuestasRespuestas
Respuestas
 
Taller de Android
Taller de AndroidTaller de Android
Taller de Android
 
Presentación de anubis
Presentación de anubisPresentación de anubis
Presentación de anubis
 
Abril.pdf
Abril.pdfAbril.pdf
Abril.pdf
 
Troyanizando y Auditando Android - HoneyCON
Troyanizando y Auditando Android - HoneyCONTroyanizando y Auditando Android - HoneyCON
Troyanizando y Auditando Android - HoneyCON
 
Presentación Seguridad IoT en Sanidad
Presentación Seguridad IoT en SanidadPresentación Seguridad IoT en Sanidad
Presentación Seguridad IoT en Sanidad
 
Presentación Seguridad IoT en Sanidad
Presentación Seguridad IoT en SanidadPresentación Seguridad IoT en Sanidad
Presentación Seguridad IoT en Sanidad
 
Dominio 8 grupo 11
Dominio 8  grupo 11Dominio 8  grupo 11
Dominio 8 grupo 11
 

Más de CSA Argentina

Csa Summit 2017 - Un viaje seguro hacia la nube
Csa Summit 2017 - Un viaje seguro hacia la nubeCsa Summit 2017 - Un viaje seguro hacia la nube
Csa Summit 2017 - Un viaje seguro hacia la nube
CSA Argentina
 
Csa Summit 2017 - Managing multicloud environments
Csa Summit 2017 - Managing multicloud environmentsCsa Summit 2017 - Managing multicloud environments
Csa Summit 2017 - Managing multicloud environments
CSA Argentina
 
Csa summit 2017 - Plataforma de Seguridad para entornos Cloud
Csa summit 2017 - Plataforma de Seguridad para entornos CloudCsa summit 2017 - Plataforma de Seguridad para entornos Cloud
Csa summit 2017 - Plataforma de Seguridad para entornos Cloud
CSA Argentina
 
Csa Summit 2017 - Csa Star for dummies
Csa Summit 2017 - Csa Star for dummiesCsa Summit 2017 - Csa Star for dummies
Csa Summit 2017 - Csa Star for dummies
CSA Argentina
 
CSA Summit 2017 - Infraestructuras Ágiles y Delivery Continuo, del testing ma...
CSA Summit 2017 - Infraestructuras Ágiles y Delivery Continuo, del testing ma...CSA Summit 2017 - Infraestructuras Ágiles y Delivery Continuo, del testing ma...
CSA Summit 2017 - Infraestructuras Ágiles y Delivery Continuo, del testing ma...
CSA Argentina
 

Más de CSA Argentina (20)

7o estudio-cloud security-esarsenu-2019-csaespearclbobrcomx-isacamad-v2
7o estudio-cloud security-esarsenu-2019-csaespearclbobrcomx-isacamad-v27o estudio-cloud security-esarsenu-2019-csaespearclbobrcomx-isacamad-v2
7o estudio-cloud security-esarsenu-2019-csaespearclbobrcomx-isacamad-v2
 
Cloud native y donde esta el piloto
Cloud native   y donde esta el pilotoCloud native   y donde esta el piloto
Cloud native y donde esta el piloto
 
Iam dev secops the infinity loop saga
Iam dev secops   the infinity loop sagaIam dev secops   the infinity loop saga
Iam dev secops the infinity loop saga
 
Presentacion DevSecOps Argentina
Presentacion DevSecOps ArgentinaPresentacion DevSecOps Argentina
Presentacion DevSecOps Argentina
 
Revista CSA LATAM FORUM 2019
Revista CSA LATAM FORUM 2019Revista CSA LATAM FORUM 2019
Revista CSA LATAM FORUM 2019
 
Cloud security adoption sophos
Cloud security adoption sophosCloud security adoption sophos
Cloud security adoption sophos
 
CSA LATAM FORUM - NETSKOPE
CSA LATAM FORUM - NETSKOPECSA LATAM FORUM - NETSKOPE
CSA LATAM FORUM - NETSKOPE
 
Hardening usuarios smartfense
Hardening usuarios smartfenseHardening usuarios smartfense
Hardening usuarios smartfense
 
Segurdad de red para la generacion de la nube symantec
Segurdad de red para la generacion de la nube symantecSegurdad de red para la generacion de la nube symantec
Segurdad de red para la generacion de la nube symantec
 
Automated security analysis of aws clouds v1.0
Automated security analysis of aws clouds v1.0Automated security analysis of aws clouds v1.0
Automated security analysis of aws clouds v1.0
 
2018 cyberark evento cloud
2018   cyberark evento cloud2018   cyberark evento cloud
2018 cyberark evento cloud
 
Csa Summit 2017 - Un viaje seguro hacia la nube
Csa Summit 2017 - Un viaje seguro hacia la nubeCsa Summit 2017 - Un viaje seguro hacia la nube
Csa Summit 2017 - Un viaje seguro hacia la nube
 
Csa Summit 2017 - Managing multicloud environments
Csa Summit 2017 - Managing multicloud environmentsCsa Summit 2017 - Managing multicloud environments
Csa Summit 2017 - Managing multicloud environments
 
Csa summit 2017 - Plataforma de Seguridad para entornos Cloud
Csa summit 2017 - Plataforma de Seguridad para entornos CloudCsa summit 2017 - Plataforma de Seguridad para entornos Cloud
Csa summit 2017 - Plataforma de Seguridad para entornos Cloud
 
Csa Summit 2017 - Csa Star for dummies
Csa Summit 2017 - Csa Star for dummiesCsa Summit 2017 - Csa Star for dummies
Csa Summit 2017 - Csa Star for dummies
 
CSA Summit 2017 - Infraestructuras Ágiles y Delivery Continuo, del testing ma...
CSA Summit 2017 - Infraestructuras Ágiles y Delivery Continuo, del testing ma...CSA Summit 2017 - Infraestructuras Ágiles y Delivery Continuo, del testing ma...
CSA Summit 2017 - Infraestructuras Ágiles y Delivery Continuo, del testing ma...
 
UNDER THE DOME - SEGURIDAD SI, PERO TRANSPARENTE
UNDER THE DOME - SEGURIDAD SI, PERO TRANSPARENTEUNDER THE DOME - SEGURIDAD SI, PERO TRANSPARENTE
UNDER THE DOME - SEGURIDAD SI, PERO TRANSPARENTE
 
SECURITY AS A WAR - Infosecurity 2015
SECURITY AS A WAR - Infosecurity 2015SECURITY AS A WAR - Infosecurity 2015
SECURITY AS A WAR - Infosecurity 2015
 
Csa summit el circulo de la confianza entre el cliente y el proveedor cloud
Csa summit   el circulo de la confianza entre el cliente y el proveedor cloud Csa summit   el circulo de la confianza entre el cliente y el proveedor cloud
Csa summit el circulo de la confianza entre el cliente y el proveedor cloud
 
Csa summit la transformación digital y el nuevo rol del ciso
Csa summit   la transformación digital y el nuevo rol del cisoCsa summit   la transformación digital y el nuevo rol del ciso
Csa summit la transformación digital y el nuevo rol del ciso
 

Último

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
silviayucra2
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
241521559
 

Último (10)

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 

Csa Summit 2017 - Obteniendo información de tu organización a través de aplicaciones móviles

Notas del editor

  1. Enfoque blackbox METODO URL EXTERNA METODO APLICACIÓN DE TERCERO METODO ROOT
  2. Recordar que el enfoque es BLACKBOX de un cybercriminal. Que se va a descargar y obtener la aplicación de dos formas distintas. Que busca obtener cuanta información disponible pueda.
  3. Una vez que tenemos la aplicación Si tenemos que partir de un enfoque inicial, o punto de partida este puede ser uno de estos.
  4. Acá en particular se busca obtener el codigo de la aplicación en forma clara y transparente. En donde en particular se pasa de .dex a .java utilizando En particular vamos a usar jadx y cfr
  5. Basicamente comparamos para ver el output de las diverasas herramientas. En ocasiones cuando las versions son distintas(descargadas url) se encuentra información adicional
  6. Arm tcpdump – Permite el análisis pasivo dentro del dispositivo. Burp Suite – Plataforma integrada para realizar test sobre aplicaciones (PROXY). Configuración del Proxy: https://support.portswigger.net/customer/portal/articles/1841101-configuring-an-android-device-to-work-with-burp Instalando la CA dentro del device: https://support.portswigger.net/customer/portal/articles/1841102-Mobile%20Set-up_Android%20Device%20-%20Installing%20CA%20Certificate.html
  7. Si tenemos que partir de un enfoque inicial, o punto de partida este puede ser uno de estos.
  8. Como se puede analizar una vez que se ven los dos casos anteriores la información que se va generando. Dentro de /data/data/app Se puede ver que se generan archivos, files, shared_prefs, databases(clasicos) y NO clasicos, creados por los developers
  9. Experiencias personales, sobre aplicaciones que evidencian información sensible. Por eso el nombre-> Stealing company data via Android apps Assets Regex IP/http/https/ftp/ssh/ PUERTOS Passwords hardcodeados Token’s de API’s Codigo comentado con información sensible
  10. Para que sirve? Que se obtiene? Imagenes, css, pero fundamentalmente archivos .xml que tienen información sensible: Config.xml Routes_config.xml
  11. Almacenamiento de información –> puedo mencionar el ejemplo del
  12. Transferencia de información
  13. Por medio de la aplicación mobile, se obtiene acceso a las db’s de la organización.
  14. La aplicación expone información sensible. Exposición de redes y segmentos internos. Exposicion de comentarios de los desarrolladores. Informacion hardcodeada Usuarios de ssh/ftp etc El daño de imagen o la posibilidad de fraude por medio de la app lícita.
  15. Implementar protecciones binarias
  16. RECOMENDACION
  17. Realizar una validación por medio de valores de hash “hash values” (md5sum, sha1sum, sha256sum, etc).
  18. android.os.Debug.isDebuggerConnected() nativa de Android, si el modo debug es True y corta la ejecución de la aplicación. Como se puede ver más abajo la implementación:
  19. Frenear la ejecución cuando se encuentra un emulador en ejecución.
  20. .A través de las propiedades en la clase android.os.SystemProperties que puede ser accedida por reflexión: Si un atacante descubre que la propiedad ro.hardware guarda la cadena goldfish, Sí ro.product.device es generic, o que ro.kernel.qemu tiene el valor 1, entonces sabrá que se encuentra en un entorno emulado
  21. Existen diversas implementaciones, básicamente se realiza un “which su” sobre los paths /system/bin/su /system/xbin/su /sbin/su /system/su /system/bin/.ext/.su
  22. Existen diversas implementaciones, básicamente se realiza un “which su” sobre los paths /system/bin/su /system/xbin/su /sbin/su /system/su /system/bin/.ext/.su
  23. SQLCipher sobre la tabla/campo provides transparent 256-bit AES encryption of database files.