Resource Protection

La resource protection cifra y comprime los recursos embebidos en tu aplicación, así un atacante no puede extraerlos, leerlos ni reemplazarlos.

  • .NET.NET
  • AndroidAndroid
  • AppleiOS
TL;DR

La resource protection cifra los assets que se empaquetan dentro de tu aplicación: imágenes, archivos de configuración, ficheros de datos y otros recursos embebidos. Solo se descifran en runtime cuando se usan. Un atacante que desempaquete la aplicación encuentra datos cifrados en lugar de archivos utilizables.

Definición

¿Qué es la resource protection?

La resource protection es una técnica que protege los assets que no son código embebidos en una aplicación. La mayoría de las aplicaciones se distribuyen con recursos empaquetados: imágenes, archivos de datos, configuración, plantillas y más.

Por defecto esos recursos se quedan dentro del paquete de la aplicación en su forma original. Cualquiera que desempaquete el paquete puede extraerlos, leerlos e incluso reemplazarlos por versiones modificadas.

La resource protection cifra y comprime esos recursos embebidos. Se almacenan en forma protegida y solo se descifran en runtime cuando la aplicación los necesita, así no pueden extraerse ni manipularse desde el paquete.

Mecanismo

Cómo funciona la resource protection

La resource protection transforma cómo se almacenan los assets embebidos:

  • Cifrado en tiempo de compilación. Los recursos embebidos se cifran cuando se compila la aplicación.

  • Compresión. Los recursos se comprimen, reduciendo el tamaño y ocultando aún más su contenido.

  • Descifrado en runtime. Un recurso se descifra solo cuando la aplicación accede a él.

Los assets originales nunca quedan en forma legible dentro del paquete que se distribuye.

Ejemplo

Ejemplo de resource protection

La misma configuración empaquetada, antes y después de la resource protection. La aplicación lee los mismos valores; un atacante que desempaqueta el paquete, no.

Original

Un atacante desempaqueta el paquete de la aplicación y extrae directamente cada imagen, fichero de datos y archivo de configuración embebido.

Cifrado

El mismo paquete contiene recursos cifrados y comprimidos. Solo son utilizables en runtime, dentro de la aplicación.

Original
{
  "apiUrl": "https://api.bytehide.com",
  "version": "1.4.2",
  "features": ["auth", "vault", "monitor"]
}
Cifrado
{
  "_data": "4f7ba918c23f5e7183d49a2e6fb147e0953c82a618f4297b5dc1a9...",
  "_alg": "AES-256-GCM",
  "_v": 1
}

Casos de uso

Cuándo usar la resource protection

La resource protection es especialmente útil cuando tu aplicación:

  • Embebe ficheros de configuración o de datos que revelan cómo funciona.
  • Distribuye assets propietarios que no deberían extraerse ni reutilizarse.
  • Debe evitar que los recursos embebidos se sustituyan por versiones modificadas.

Combina con anti-tamper: la resource protection mantiene los assets confidenciales, el anti-tamper garantiza que no han sido reemplazados.

Disponibilidad por plataforma

La resource protection según la plataforma

  • .NET

    Cifrado y compresión de los recursos embebidos.

  • Android

    Cifrado de los recursos empaquetados en el APK.

  • iOS

    Cifrado de los assets y archivos de recursos empaquetados.

Preguntas frecuentes

¿Qué es la resource protection?
La resource protection es una técnica que cifra y comprime los assets embebidos en una aplicación, como imágenes, ficheros de datos y configuración, para que no puedan extraerse ni reemplazarse desde el paquete.
¿La resource protection afecta al rendimiento?
El impacto es pequeño. Los recursos se descifran solo cuando se acceden, y la compresión incluso puede reducir el tiempo de carga.
¿La resource protection reduce el tamaño de la aplicación?
La compresión a menudo compensa el coste del cifrado, así que el paquete protegido puede ser de tamaño similar o más pequeño.
¿Qué recursos conviene proteger?
Archivos de configuración, ficheros de datos, assets propietarios y cualquier cosa embebida que revele cómo funciona la aplicación o que no debería reutilizarse.
¿Qué plataformas soportan la resource protection?
ByteHide Shield ofrece resource protection para .NET, Android e iOS.
+10.000 desarrolladores y empresas protegen sus aplicaciones con ByteHide

Protege tu aplicación con
ByteHide Shield

La resource protection es una de las más de 20 protecciones de ByteHide Shield. Aplícala a tu aplicación .NET, Android o iOS.

ByteHide runtime dashboard showing live threat monitoring and protection metrics