lowCWE-693M7:2024

Protecciones Binarias Insuficientes

La app móvil carece de ofuscación de código, anti-tampering o protecciones anti-debugging — facilitando ingeniería inversa, modificación y redistribución.

Cómo Funciona

Sin protecciones binarias, los atacantes pueden hacer ingeniería inversa de tu app fácilmente. Pueden decompilar el código para encontrar secretos hardcodeados, entender lógica de negocio, encontrar vulnerabilidades, bypasear checks de licencia o crear versiones modificadas. Aunque la ofuscación no previene atacantes determinados, sube significativamente la barra. Las apps React Native son especialmente vulnerables porque los bundles JavaScript son texto legible por default.

Código Vulnerable
// React Native — no obfuscation configured
// metro.config.js
module.exports = {
  transformer: {
    // Default config, JS bundle is readable
  }
};
Código Seguro
// metro.config.js with obfuscation
module.exports = {
  transformer: {
    minifierConfig: {
      mangle: true,
      compress: { drop_console: true }
    }
  }
};
// Also: use react-native-obfuscating-transformer

Ejemplo Real

En 2015, atacantes hicieron ingeniería inversa de la app móvil de Starbucks, encontrando que guardaba usernames y passwords en texto plano. Esto llevó a hijacking de cuentas y compras no autorizadas de gift cards por millones de dólares.

Cómo Prevenirlo

  • Habilita ofuscación de código (ProGuard para Android, Bitcode para iOS)
  • Usa detección anti-tampering para detectar binarios modificados
  • Elimina símbolos de debug de builds de release
  • Considera soluciones como DexGuard o iXGuard para apps sensibles

Tecnologías Afectadas

MobileReact NativeFlutter

Data Hogo detecta esta vulnerabilidad automáticamente.

Escanea Tu Repo Gratis

Vulnerabilidades Relacionadas