forumAbrir tema

Tengo contraseñas, tokens y API keys en mi app móvil — ¿se puede hacer reverse engineering de la app?

KKemal S***hace 8 días·44 mensajes·2,3 mil visualizaciones#móvil#seguridad#ofuscación
KKemal S***Participante
Cargo
Representante de ventas de campo
Sector
Fabricación de maquinaria
Tipo de organización
negocio de dos sucursales
Miembro desde
jun 2023
Mensaje
62
#1

Hacer reverse engineering de mi APK de Android me toma 5 minutos. Con decompiladores (ApkTool, Frida) se ven las contraseñas y los tokens. ¿Cómo puedo proteger esto?

Entendí que no debo hard-codear las API keys. Pero obtenerlas dinámicamente del servidor también lo sobrecarga. ¿Hay un punto medio?

¿Existe el mismo riesgo en apps de iOS? ¿Podemos leer los datos de la app en dispositivos con jailbreak?

DDoki ekibiEquipo Doki
Cargo
Cuenta oficial
Sector
Ciberseguridad y digital
Tipo de organización
Doki
Miembro desde
mar 2023
Mensaje
310
Más útil#2

Seguridad de Apps Móviles: Riesgo de reverse engineering (APK de Android/IPA de iOS se descompilan fácilmente). Estrategias de protección: 1) Almacenamiento de datos sensibles: Keychain (iOS), KeyStore (Android), SharedPreferences encriptados, 2) Ofuscación (ProGuard Android, SwiftShield iOS), 3) API keys: almacenamiento en el servidor (nunca embeber), certificate pinning (validar identidad del servidor), refresh dinámico de tokens (tokens de corta duración, emitidos por el servidor), 4) Detección de Root/Jailbreak (la llamada a la API falla si se detecta, no es infalible), 5) Protección en tiempo de ejecución (virtualización de código: difícil/complejo, relación costo-beneficio baja para PYMES), 6) Seguridad de red: TLS 1.2+, certificate pinning (prevenir MITM), 7) Anti-instrumentación de Frida (difícil, juego del gato y el ratón). Consejo práctico: Mantén la API key en el servidor, app → solicitud al servidor → servidor devuelve token autenticado, token en caché en el cliente (expiración: 1-24 horas). Almacenamiento de datos: datos sensibles = encriptados (librería Encrypter de Android, Keychain de iOS), no sensibles = SharedPreferences/UserDefaults. Riesgo de Jailbreak: acceso a datos posible (privilegios de root), mitigación = encriptación + certificate pinning (limita vectores de ataque). Riesgo en iOS menor (ecosistema cerrado), en Android mayor (abierto, rootear es fácil). Pentest: escaneo de vulnerabilidades con herramientas (Burp Suite mobile, checklist OWASP Mobile Top 10).

YYavuz A***ParticipanteMiembro de la comunidad
Miembro desde
nov 2022
Mensaje
139
#3

no hard-codees la api key. mantenla en el servidor, pide un token desde la app. usa certificate pinning (para prevenir MITM). usa keystore/keychain para los datos sensibles. ofusca el apk con proguard. agrega check de root/jailbreak...

EEsra O***Participante
Cargo
Director de aseguramiento de calidad
Sector
Agricultura
Tipo de organización
Equipo de 8 personas
Miembro desde
may 2023
Mensaje
84
#4

Implementación de seguridad móvil: 1) AndroidKeyStore: KeyStore.getInstance('AndroidKeyStore'), generar clave con cifrado, 2) iOS Keychain: SecItemAdd() para almacenamiento seguro, 3) Autenticación de API: renovación de token OAuth (expira en 1h, emitido por el servidor), 4) Certificate pinning (TrustKit en iOS, Network Security Configuration en Android), 5) Ofuscación (reglas de ProGuard: mantener clases de API, ofuscar las demás), 6) Comprobaciones en tiempo de ejecución (RootBeer en Android, DTTJailbreakDetection en iOS), 7) Endurecimiento contra Frida (detección anti-hook: validación de firma de funciones de API). Jerarquía de almacenamiento: Público (ninguno), Local (cifrado), Keychain/Keystore (respaldado por hardware si está disponible). Herramientas de pentesting: proxy móvil de Burp Suite, instrumentación interactiva con Frida, descompilador de APK (apktool, dex2jar), depurador (gdb en Android, lldb en iOS).

UUğur V***ParticipanteMiembro de la comunidad
Miembro desde
ago 2023
Mensaje
282
#5

no hardcodees la API key guárdala en el servidor. que la app haga login → el servidor envía el token → el cliente lo cachea. el token expira en 1-4 horas. usa Keystore/Keychain para guardar datos. ofusca con ProGuard... añade check de jailbreak/root, si se detecta cierra la app...

UUğur Y***Veterano
Cargo
Director de clínica
Sector
Catering
Tipo de organización
mediana empresa
Miembro desde
mar 2023
Mensaje
253
#6

Capas de seguridad en apps móviles: Red (TLS 1.2+, certificate pinning), API (autenticación por token OAuth caducidad corta), Almacenamiento (keystore cifrado), Código (ofuscación, anti-tampering), Tiempo de ejecución (detección de jailbreak/root). Modelo de amenazas: acceso físico (dispositivo rooteado, depurador), acceso a red (intercepción por proxy — evitado con cert pinning) análisis de código (ingeniería inversa — mitigado con ofuscación). OWASP Mobile Top 10: transporte inseguro (evitar bypass de TLS), almacenamiento inseguro (cifrado keystore), autenticación insegura (mejores prácticas OAuth), criptografía insuficiente (AES-256), inyección en cliente (validación de entrada).

JJülide A***Participante
Cargo
Director de contabilidad
Sector
Joyería
Tipo de organización
Empresa de 20 empleados
Miembro desde
may 2024
Mensaje
103

Doki · Escaneo de vulnerabilidades · 2026

#7

Voy a detallar un poco el aspecto técnico. bueno si decidimos sin medir siempre acabamos en el mismo punto.

También me gustaría saber si alguien lo hace de otra manera.

GGamze E***ParticipanteMiembro de la comunidad
Miembro desde
may 2022
Mensaje
248
#8

A nosotros también nos pasa.

SSena B***ParticipanteMiembro de la comunidad
Miembro desde
jul 2024
Mensaje
353
#9

Yo no me apresuraría. pues si decidimos sin medir, siempre acabamos en el mismo punto.

Eso es todo, disculpa si me he extendido demasiado.

YYiğit D***Experto
Cargo
Director financiero
Sector
Servicios de salud
Tipo de organización
cadena de tiendas
Miembro desde
dic 2023
Mensaje
176
#10

Me han quedado claras las dudas gracias.

AAv. Kemal U***Experto
Cargo
Abogado · TI
Tipo de organización
Empresa de 300 empleados
Miembro desde
sept 2023
Mensaje
168
#11

Aquí hay una trampa, no puedo dejar de mencionarla. Si el permiso y el alcance no están por escrito, que no empiece la prueba.

No confíes en una sola medida; ve capa por capa.

GGürkan K***Participante
Cargo
Planificación de producción
Sector
Embalaje
Tipo de organización
startup recién creada
Miembro desde
may 2024
Mensaje
109

Doki · Prueba de penetración · 2026

#12

Quisiera hacer una pregunta. Si intentas cambiarlo todo a la vez, nada termina de asentarse.

Espero que le sea útil.

CCem B***ParticipanteMiembro de la comunidad
Miembro desde
sept 2023
Mensaje
50
#13

Estoy en la misma situación, por eso pregunto. Si el permiso y el alcance no están por escrito, que no empiece la prueba.

OOrhan D***Experto
Cargo
Empleado de tienda
Sector
Servicios de TI
Tipo de organización
startup recién creada
Miembro desde
nov 2024
Mensaje
228
#14

Muchas gracias, lo probaré hoy. El error cometido por seguridad de apps móviles suele ser reversible, pero caro.

FFeyza K***Participante
Cargo
Becario
Sector
Catering
Tipo de organización
taller
Miembro desde
nov 2024
Mensaje
2
#15

Guardado. Cuanto más difícil sea revertir una decisión más despacio debéis tomarla.

El error cometido por seguridad de apps móviles suele ser reversible, pero caro.

SSimgeParticipante
Cargo
Organizador de eventos
Miembro desde
may 2024
Mensaje
88

Doki · Configuración de gestión de logs · 2025

#16

No sabía eso.

ZZübeyde B***Experto
Cargo
Diseñador gráfico
Sector
Agricultura
Tipo de organización
negocio unipersonal
Miembro desde
oct 2024
Mensaje
128
#17

Yo también tengo curiosidad. La mayor parte de la pérdida de tiempo se acumula en los trabajos pendientes de aprobación.

Si escribís el resultado aquí, también servirá de ayuda a otros.

LLale Ç***Nuevo miembro
Cargo
Técnico de soporte de sistemas
Sector
Turismo
Tipo de organización
cadena de tiendas
Miembro desde
jun 2026
Mensaje
161
#18

Lo que voy a preguntar sonará un poco novato, perdonadme. Que la copia de seguridad sea accesible en la misma red y con la misma identidad la convierte en parte del objetivo.

Los cambios en los datos de pago nunca se verifican por el mismo canal por el que llegan. Yo seguiría por ese camino.

EElif Z***Experto
Cargo
Planificación de producción
Sector
vidrio
Tipo de organización
mediana empresa
Miembro desde
feb 2023
Mensaje
164
#19

Tomo nota, gracias. Si es la primera vez que lo hacéis, empezad poco a poco, la escala llegará después.

Corrijanme si me equivoco.

HHavva G***ParticipanteMiembro de la comunidad
Miembro desde
feb 2023
Mensaje
384
#20

Este hilo es para archivar. Los cambios en los datos de pago nunca se verifican por el mismo canal por el que llegan.

Corrijanme si me equivoco.

Responder