Mejore el blindaje de aplicaciones con la protección dentro de la aplicación

Mejore el blindaje de aplicaciones con la protección dentro de la aplicación

Los dispositivos móviles y las aplicaciones que operan en ellos exponen sus sistemas back-end a ciberataques. Los atacantes aprovechan las vulnerabilidades en los sistemas operativos móviles y en sus aplicaciones para espiar a sus usuarios, tomar sus datos privados o incluso robar su dinero. En respuesta, muchos desarrolladores de aplicaciones móviles están utilizando el blindaje de aplicaciones, a veces llamado «fortalecimiento de aplicaciones», para proteger la propiedad intelectual y reducir las posibilidades de aplicar ingeniería inversa a una aplicación.

El endurecimiento o el blindaje de aplicaciones son importantes para evitar la ingeniería inversa, pero no detectarán un ciberataque en tiempo real en el entorno en el que se ejecuta su aplicación en un dispositivo móvil de riesgo. Las aplicaciones móviles necesitan protección adicional en la aplicación para protegerse contra ataques a sus aplicaciones por parte de exploits y fraudes.

Según la «Guía de mercado para la protección dentro de la aplicación» de Gartner de Dionisio Zumerle y Manjunath Bhat, 3 de julio de 2019, «El mercado de protección dentro de la aplicación se refiere a las soluciones de seguridad implementadas dentro de la aplicación (en lugar de la red o el sistema operativo, por ejemplo) para hacer que la aplicación sea más resistente a ataques como la exfiltración de datos maliciosos, la intrusión, la manipulación y la ingeniería inversa. Las empresas utilizan la protección en la aplicación para salvaguardar sus activos basados ​​en software y para proteger a su organización y a sus clientes de ataques fraudulentos”.

Las aplicaciones financieras, de atención médica y de servicios cívicos que contengan información de identificación personal y propiedad intelectual deben implementar tanto el blindaje de la aplicación como la protección dentro de la aplicación. Aquí, describiré los casos de cada uno y proporcionaré aplicaciones de ejemplo que implementan protección en la aplicación y qué datos están protegiendo.

¿Qué es el blindaje de aplicaciones?

Protección de aplicaciones es un conjunto de tecnologías que modifican y ofuscan el código binario de una aplicación. El blindaje de aplicaciones hace que una aplicación sea más resistente a la manipulación, protegiéndola contra el robo de propiedad intelectual, la piratería y el descubrimiento de vulnerabilidades mediante ingeniería inversa y acceso no autorizado. Crea una aplicación más resistente, lo que dificulta la ingeniería inversa al ofuscar y cifrar el código binario.

Las capacidades de protección de aplicaciones incluyen:

  • Ofuscación de código – La ofuscación es el acto deliberado de modificar el código fuente o máquina que es difícil de entender para los humanos. Hacer que el código sea difícil de entender disuade a un atacante de intentar excavar en su código en busca de posibles fallas, vulnerabilidades o ingeniería inversa de su IP.
  • Detección de depuración – La aplicación previene y detecta la depuración y responde a la presencia de un depurador. Se deben cubrir todos los protocolos de depuración disponibles.
  • Detección de emulador – La detección de emuladores permite que la aplicación detecte cuándo está funcionando en un emulador. Los emuladores se utilizan para aplicar ingeniería inversa a una aplicación e identificar sus comunicaciones con otros servicios.
  • Detección de root o jailbreak – Jailbreak o detección de raíz detecta si un usuario eliminó las restricciones que Apple o Google colocan en los dispositivos. La detección de Jailbreak es importante pero no detecta compromisos del dispositivo.
  • Manipulación de aplicaciones – Si bien la ofuscación ayuda a evitar la ingeniería inversa de su código estático (que no se ejecuta), los atacantes aún podrían intentar revertir su aplicación ‘enganchándola’ mientras se está ejecutando. La manipulación de aplicaciones incluye métodos para detectar si un atacante está intentando aplicar ingeniería inversa a su aplicación mientras se está ejecutando.

¿Qué es la protección en la aplicación?

La protección en la aplicación se diferencia del blindaje de la aplicación en que detecta ataques de malware, red y sistema operativo en tiempo real desde el interior de la aplicación. Móvil la tecnología de defensa contra amenazas se coloca dentro de una aplicación móvil para detectar y remediar las amenazas a la aplicación y al dispositivo.

La protección en la aplicación protege sus sistemas back-end de verse comprometidos por malware móvil o dispositivos móviles vulnerables que sus usuarios puedan llevar. Si bien no puede controlar el estado de los dispositivos de sus usuarios móviles, puede limitar la comunicación de los dispositivos con usted si detecta malware, configuraciones riesgosas o ataques a la red en los dispositivos móviles de sus usuarios.

Algunos de los datos de amenazas en tiempo real que ofrece la protección en la aplicación, además de jailbreak y detección de emuladores, incluyen:

  • Detección de malware – La protección en la aplicación detecta múltiples tipos de malware en el dispositivo y recomienda soluciones al usuario. A medida que los usuarios continúan migrando a dispositivos móviles, también lo hace el malware. Varias muestras de malware y herramientas de acceso remoto, RAT, como Bankbot, Monokle, Anubis y Cerebus han aparecido en dispositivos móviles, y esta tendencia continuará a medida que más empresas impulsen más servicios a dispositivos móviles. Muchas de estas RAT monitorean el portapapeles, la entrada de contraseña e incluso las notificaciones para recopilar datos adicionales sobre el usuario y las credenciales.
  • Detección de día cero – La protección en la aplicación detecta errores que se explotan a través del sistema de archivos y los comportamientos del sistema operativo. Los días cero se detectan monitoreando dinámicamente los indicadores de compromiso frente a una biblioteca en la nube de vulnerabilidades conocidas, o simplemente la versión del sistema operativo/nivel de parche instalado en el dispositivo.
  • Mitigación de red o Wi-Fi – La protección en la aplicación detecta manipulaciones de conexión de red y ataques Man-in-the-Middle (MiTM). Su aplicación debe ser capaz de identificar el «hombre en el medio» (MiTM), la eliminación de SSL y los intentos de proxy o descifrar el tráfico de la aplicación de sus usuarios para remediar el ataque y producir análisis forense de amenazas sobre el evento de amenaza. Los ataques a la red representan el porcentaje más significativo de los ataques a dispositivos móviles en todo el mundo.
  • Riesgo de configuración del dispositivo – Muchas condiciones aumentan la exposición al riesgo de los terminales móviles, la mayoría de las cuales se originan porque el usuario es el administrador de su dispositivo. Los usuarios eligen si actualizar o no el sistema operativo para parchear las vulnerabilidades conocidas, tener un código PIN o hacer jailbreak a su dispositivo. La protección en la aplicación dentro de su aplicación le brinda visibilidad de la salud y la condición y, en última instancia, el perfil de riesgo de quienes usan sus aplicaciones móviles. La información le brinda inteligencia sobre cómo hacer cumplir el acceso condicional o casos de uso basados ​​en riesgos medibles.

¿Cuál es la diferencia entre el blindaje de aplicaciones y la protección dentro de la aplicación?

El blindaje de aplicaciones y la protección en la aplicación son complementarios. En muchos casos, para una reducción integral del riesgo, debe usar ambas tecnologías en su aplicación móvil para obtener resiliencia y obtener datos de ataques móviles. Decidir cuál depende de lo que hace su aplicación y qué tipo de información almacena y con la que realiza transacciones regularmente.

Los equipos de desarrollo móvil invierten muchas horas en diseñar y crear aplicaciones móviles intuitivas. Muchos realizan comprobaciones de seguridad estándar y tratan de seguir buenas prácticas de codificación. Sin embargo, también es sumamente importante proteger la aplicación durante el tiempo de ejecución. Las aplicaciones móviles dependen del sistema operativo para proporcionar una base segura para funcionar correctamente. Si un dispositivo se ve comprometido, toda la base de seguridad de la aplicación móvil también se ve comprometida.

Una aplicación de autodefensa es capaz de operar independientemente de las funciones de seguridad nativas del dispositivo. Las aplicaciones móviles con tecnología de seguridad en tiempo de ejecución o protección en la aplicación son capaces de detectar actividades maliciosas independientemente de las funciones de seguridad nativas. La detección independiente identifica amenazas en tiempo real y, en última instancia, evita la exposición a riesgos inaceptables mientras protege las transacciones y los datos tanto en la aplicación como en el servidor.

¿Qué tan vulnerables son los sistemas operativos?

Los desarrolladores de aplicaciones móviles confían en los sistemas operativos subyacentes para la seguridad. Sin embargo, aunque los propios sistemas operativos móviles están reforzados para proteger contra ataques, no son infalibles. Cada año se descubren miles de nuevas vulnerabilidades. Tanto los investigadores como los actores malintencionados prueban continuamente tanto Android como iOS en busca de vulnerabilidades a través de programas de recompensas por errores, investigaciones internas o para vender días cero al mejor postor. Un exploit persistente entregado de forma remota en iOS puede generar hasta $ 2 millones para un investigador emprendedor.

En 2019, los proveedores de sistemas operativos móviles crearon parches para 1161 vulnerabilidades de seguridad. Apple parchó 306 CVE (vulnerabilidades y exposiciones comunes), el 64 % de las cuales se consideraron amenazas de seguridad «críticas».

En 2019, Google parcheó 855 CVE, la mayoría de los cuales (54%) se consideraron “críticoamenazas de seguridad “altas” o “altas”. Los CVE críticos son vulnerabilidades que permiten la ejecución remota de código o eluden de forma remota las funciones de seguridad. Los CVE de alta gravedad, si se ejecutan con éxito, podrían permitir que un atacante acceda de forma remota a los datos o eluda las funciones de seguridad del sistema operativo.

Incluso si los parches para todas las vulnerabilidades se entregaron en un tiempo récord, los usuarios también deben actualizar sus dispositivos para aumentar su seguridad. Confiar en un consumidor para parchear, especialmente dada la cantidad de dispositivos que son tan antiguos que ya no se pueden actualizar, es una gran apuesta.

¿Por qué lo necesitas?

Si estás siguiendo el Top 10 móvil de OWASP, lo más probable es que ya esté implementando procedimientos y herramientas de protección y fortalecimiento de aplicaciones. OWASP sugiere que implemente controles para autenticación, almacenamiento de datos, criptografía e ingeniería inversa. Sin embargo, a menudo hay espacio para mejoras significativas en la seguridad móvil y el fortalecimiento de las aplicaciones.

Zimperium inspeccionó previamente aplicaciones de los sectores bancario, de viajes y minorista en busca de problemas de seguridad, privacidad y normativos, incluido OWASP Mobile Top 10. Descubrimos que la mayoría de las aplicaciones fallaron en las comprobaciones de ingeniería inversa. La ingeniería inversa de una aplicación permite a los atacantes descubrir vulnerabilidades y métodos de comunicación. Uno de los ejemplos más notables de no implementar el endurecimiento correctamente y revelar debilidades a través de una aplicación móvil es el banco Tesco.

Vulnerabilidades en las aplicaciones móviles del banco dejaron la puerta abierta para que los ciberdelincuentes se abran paso a la fuerza bruta para robar depósitos. Muchas de las cuentas afectadas no eran clientes de banca móvil, sin embargo, el robo se inició desde una aplicación móvil con poca seguridad.

Es posible que también deba implementar la protección en la aplicación para cumplir con las normas y políticas específicas. Hay mandatos en PSD2 que requieren que los desarrolladores de aplicaciones móviles puedan detectar manipulaciones de terceros e implementar entornos separados para la autenticación. El RGPD y la Ley de Privacidad del Consumidor de California también hacen cumplir la privacidad de los datos y la capacidad de eliminar datos privados. Otros mandatos como PCI DSS e HIPAA buscan reducir el fraude en las industrias de pago y atención médica.

¿Qué sucede cuando instala la protección en la aplicación en una aplicación móvil?

Un banco global reconoció que tenía millones de clientes y cientos de miles de empleados que se conectaban a sus sistemas back-end a través de cincuenta aplicaciones móviles empresariales y de consumo diferentes. El personal de TI de este banco se dio cuenta de que no podía determinar el estado de los dispositivos de sus clientes o empleados que interactuaban con los sistemas bancarios. Este banco consideró necesario obtener visibilidad de los riesgos asociados con los dispositivos móviles que interactúan con sus sistemas.

Este banco estadounidense luego realizó una búsqueda exhaustiva y probó todas las soluciones de seguridad móvil disponibles. El equipo eligió por unanimidad a Zimperium para proteger los dispositivos de sus empleados, la banca de consumo y las aplicaciones móviles internas de los empleados. La flexibilidad de Zimperium para admitir múltiples EMM, nubes y dispositivos demostró que Zimperium era el socio de seguridad móvil con mayor capacidad empresarial.

El primer proyecto que implementó el banco bajo su programa avanzado de seguridad móvil fue integrar la defensa contra amenazas móviles en su aplicación de banca móvil para el consumidor. Con la defensa contra amenazas implementada en sus aplicaciones de banca móvil, el banco ahora identifica transacciones sospechosas realizadas en dispositivos comprometidos o riesgosos.

Antes de la implementación, el banco carecía de inteligencia de riesgos de los dispositivos de los clientes. Ahora, finalmente tiene datos para identificar el fraude bancario móvil atribuible a dispositivos o redes comprometidas.

Inmediatamente después de la actualización de la aplicación, los consumidores comenzaron a realizar transacciones de banca móvil con la aplicación protegida cibernéticamente. Los datos sorprendieron a los funcionarios del banco. La salud de los dispositivos móviles de sus clientes (y las redes a las que se conectaban) era alarmante.

En los primeros 30 días, el banco registró cerca de un millón de amenazas a los dispositivos móviles de sus clientes. Los datos de amenazas se registran solo cuando la aplicación bancaria está abierta. Si la aplicación está cerrada, el banco no recibe datos de amenazas de los usuarios ya que las sesiones en otras aplicaciones no representan un riesgo de fraude para el banco.

Durante esos primeros 30 días, varios millones de usuarios de banca móvil actualizaron las aplicaciones y comenzaron a generar datos forenses de ataques móviles:

  • 276,000 detecciones de Wi-Fi no seguras;
  • 1433 detecciones de puntos de acceso no autorizados;
  • 495,000 los dispositivos no tenían código PIN;
  • 166,000 habilitado el acceso a la tienda de aplicaciones de terceros;
  • 16,000 dispositivos rooteados o con jailbreak;
  • 1,000 registró un evento de alteración del sistema o archivo; y
  • 1,500 rootear aplicaciones y otras 500 aplicaciones que contienen malware, troyanos y spyware en los teléfonos inteligentes de sus consumidores

El banco ahora tiene datos procesables sobre cómo prevenir el fraude a través de sus canales móviles en más de $1.100 millones. Todo esto fue posible gracias a la actualización de una aplicación existente con un SDK de defensa contra amenazas móviles que tardó menos de 10 minutos en configurarse.

Contáctenos

Para obtener más información sobre cómo crear aplicaciones seguras, ofuscar su códigoo habilitar la protección en la aplicaciónpor favor Contáctenos para una evaluación personalizada.

Deja un comentario