La evaluación de vulnerabilidades y las pruebas de penetración (VA/PT) son habituales para cualquier aplicación móvil crítica para la empresa.

Está claro por qué esta práctica recomendada para los servicios en línea se ha aplicado también a las aplicaciones móviles. Si vas a instalar código que maneja datos confidenciales, transacciones e IP en dispositivos no gestionados -y eso describe a la mayoría de las aplicaciones móviles-, lo primero que debes hacer es comprobar que no presenta debilidades de seguridad evidentes.

¿Qué es VA/PT?

La evaluación de vulnerabilidades analiza su aplicación y le proporciona un informe de errores de codificación y descuidos que podrían ser explotados por un pirata informático. Por su parte, las pruebas de penetración intentan, de forma controlada, explotar las vulnerabilidades. Esto le da a usted, como desarrollador de la aplicación, la oportunidad de corregir estos puntos débiles antes de que se publique la aplicación.

Las VA/PT adoptan dos enfoques diferentes: las pruebas estáticas y las dinámicas, ambas con sus pros y sus contras. Las pruebas estáticas de seguridad de las aplicaciones (SAST) analizan el código y el paquete de la aplicación, leyendo el código en busca de patrones que puedan dar lugar a fallos de seguridad, mientras que las pruebas dinámicas de seguridad de las aplicaciones (DAST) ejecutan la aplicación en un entorno lo más parecido posible al de producción, analizando cómo interactúa la aplicación con el entorno de ejecución y comprobando si se expone alguna interfaz susceptible de ser explotada.

Dado que las aplicaciones móviles no son entidades fijas, sino algo que evoluciona rápidamente con el tiempo (no es raro que ocurra cada dos semanas), las pruebas VA/PT tienden a ser un proceso automatizado que se integra en el proceso de creación. Esto es especialmente cierto en el caso de SAST.

Hasta aquí todo bien, ¿cuál es el problema?

La mayoría de las soluciones VA/PT automatizadas tratan su aplicación como una caja cerrada. Incluso cuando el servicio VA/PT tiene acceso a su código para pruebas de caja blanca, asumen que un atacante solo puede atacar las interfaces externas y los comportamientos de la aplicación.

Ese punto de vista puede haber sido válido para los servicios en línea cuando el software estaba instalado dentro de la infraestructura de TI (ya sea en las instalaciones o en la nube), pero no es la forma en que un atacante ve su aplicación móvil. Con la aplicación instalada en los dispositivos de los usuarios finales, un atacante ve un libro abierto, listo para la ingeniería inversa y la manipulación. Las herramientas de libre acceso permiten a cualquiera sacar una aplicación de un teléfono y descifrarla.

Vulnerabilidades de día cero

Ingeniería inversa significa que un atacante puede encontrar vulnerabilidades de día cero dentro de su código que su VA/PT elegido no conoce. También pueden encontrar secretos, como claves de API y claves criptográficas, que permitan al atacante desbloquear otras partes de su ecosistema.

Por si fuera poco, los malos manipularán el comportamiento de nuestra aplicación. Esto a menudo toma la forma de ataques man-in-the-device, en los que un atacante puede tomar el control de tu app en ejecución.

Dos de los ataques más comunes del hombre en el dispositivo que Verimatrix está viendo en este momento son:

  • Ataques de superposición: el malware coloca una ventana o pantalla invisible sobre la aplicación en ejecución para capturar las pulsaciones de teclas y extraer datos confidenciales.
  • Granjas de emuladores: ofrecen a los atacantes la posibilidad de automatizar ataques a escala.

Cerrar el libro y defenderse contra estos ataques significa hacer que las aplicaciones se autodefiendan: ir más allá de endurecer las interfaces de la aplicación para endurecer el propio código. Aquí es donde entra en juego el Blindaje de Software. Las soluciones de blindaje de nivel empresarial están ahí para proteger su aplicación una vez que se despliega en la naturaleza. Incorporan capas de protección en el código, como ofuscación avanzada, comprobaciones del entorno en tiempo de ejecución y validación de la integridad, para impedir que los atacantes realicen ingeniería inversa del código y que utilicen técnicas del tipo "el hombre en el dispositivo" para hacerse con el control de la aplicación.

Una buena solución profesional de Blindaje convertirá su aplicación móvil en la caja cerrada que su solución VA/PT cree que es.

Es por estas razones que el Top 10 de OWASP Mobile recomienda endurecer su código, así como escanear en busca de vulnerabilidades.

VA/PT puede decirle que su aplicación es vulnerable a un atacante man-in-the-middle; pero usted necesita Shielding para defenderse contra la ingeniería inversa y los ataques man-in-the-device.

Para descubrir lo fácil que puede ser proteger tu aplicación, ¿por qué no pruebas Verimatrix XTD Prevent (antes App Shield) hoy mismo?

Vea cómo podemos ayudarle a proteger su empresa:

- Aplicaciones móviles y API
- Contenidos de vídeo
- Pagos digitales