Endurecimiento de la aplicación

¿Qué es el endurecimiento de la aplicación?

El endurecimiento de aplicaciones es un concepto y una técnica de ciberseguridad que utiliza la ofuscación de código, la criptografía de caja blanca y otras técnicas para proteger las aplicaciones de las técnicas de fraude móvil, como la ingeniería inversa y la manipulación. El endurecimiento de las aplicaciones debería ser una práctica recomendada para que las empresas protejan sus aplicaciones, reduzcan los riesgos de seguridad y eviten el abuso, el engaño y el reempaquetado.

Protección dentro de la aplicación, endurecimiento de la aplicación y blindaje de la aplicación

El endurecimiento de aplicaciones y el blindaje de aplicaciones son subconjuntos de la protección dentro de la aplicación. La protección dentro de la aplicación está diseñada para defender las aplicaciones desde dentro y es muy adecuada para un enfoque de confianza cero en la protección de aplicaciones. La protección dentro de la aplicación se utiliza mejor para las aplicaciones de alto valor que se ejecutan en dispositivos desatendidos o en entornos no confiables.  

El endurecimiento de aplicaciones incluye capacidades de prevención que aumentan la dificultad para que un atacante ejecute un ataque. El blindaje de las aplicaciones implica medidas antimanipulación diseñadas para interrumpir a un atacante y capacidades de detección que determinan si el entorno de la aplicación es de confianza.

La protección dentro de la aplicación también abarca capacidades como las tecnologías anti-bot, la protección contra el clickjacking, la autoprotección de la aplicación en tiempo de ejecución, la autenticación multifactor y el análisis de riesgos.

Supuestos de seguridad móvil que dejan vulnerables a las aplicaciones

Los desarrolladores de aplicaciones móviles no pueden controlar todos los entornos en los que se utilizarán sus aplicaciones. Por ejemplo, los usuarios pueden hacer jailbreak o root a su dispositivo, lo que desactiva las salvaguardas del sistema operativo. Por lo tanto, el endurecimiento de las aplicaciones es una parte importante de la seguridad de las aplicaciones móviles, porque crea protecciones en la propia aplicación, independientemente del estado de seguridad del dispositivo o del sistema operativo.

Dos conceptos erróneos comunes aumentan los riesgos de que una aplicación móvil se vea comprometida.

En primer lugar, la gente da por sentado que las tiendas de aplicaciones oficiales -Apple App Store y Google Play- sólo ofrecen aplicaciones legítimas y seguras para su descarga. Las tiendas de aplicaciones oficiales analizan las aplicaciones que los desarrolladores envían en busca de malware y comprueban que el acceso de las aplicaciones a los datos de los usuarios está mediado.  

Pero la realidad es que la tienda de aplicaciones no puede atrapar todas las aplicaciones maliciosas, porque hay demasiadas aplicaciones para eliminar todas las malas y actuar como un control de seguridad fiable.

En segundo lugar, muchos asumen que los sistemas operativos iOS y Android proporcionan una seguridad adecuada para las aplicaciones móviles descargadas en sus dispositivos. La realidad es que los parches para una vulnerabilidad en Android o iOS no siempre están disponibles de forma inmediata, y los usuarios no siempre practican la ciber higiene actualizando sus dispositivos con regularidad. Además, en algunos casos los desarrolladores no implementan correctamente las capacidades de cifrado que ofrecen los sistemas operativos.

Mobile App Shielding

Learn how to reduce fraud, save money, and protect revenue with app shielding

Make the case for stronger mobile app security and learn why app shielding with runtime-protection is especially valuable given the current mobile threat landscape.
 

Download the White Paper

Razones para endurecer sus aplicaciones

Hay tres razones principales para el endurecimiento de las aplicaciones: asegurar la propiedad intelectual, proteger la integridad de la aplicación y salvaguardar los datos sensibles de la misma.

Dentro de una aplicación, hay propiedad intelectual (PI), como conceptos, innovaciones e invenciones que dan a la empresa una ventaja competitiva. La posesión del código fuente en funcionamiento proporciona acceso a cualquier IP que esté codificada dentro de la aplicación. Analizando el código fuente de la aplicación, un hacker podría robar IP. El endurecimiento de las aplicaciones puede mantener la seguridad de la IP.

La integridad de las aplicaciones también es una preocupación de los desarrolladores de aplicaciones. Los actores malintencionados pueden inspeccionar y, si es posible, modificar una aplicación para clonarla, robar datos o raspar datos a través de las API. Una aplicación que no está reforzada mediante ofuscación y criptografía de caja blanca es como un libro abierto. Los atacantes pueden realizar un análisis estático del código de la aplicación a simple vista y encontrar áreas para atacar y explotar. Como parte de una estrategia de defensa en capas, las empresas también deberían contar con mecanismos que añadan funciones antidepuración y antimanipulación a una aplicación para proteger, detectar y responder a los ataques a su integridad.

Una técnica de ataque muy popular consiste en explotar los fallos de seguridad de las aplicaciones para robar datos privados sensibles. Dado que los datos en uso durante el tiempo de ejecución pueden estar expuestos de forma que los datos en reposo o en tránsito no lo estén y que los atacantes pueden aprender a explotar esto utilizando depuradores, emuladores y otras herramientas, la siguiente mejor estrategia es restringir el uso no autorizado de depuradores, emuladores y otras herramientas que los hackers emplean para acceder y modificar los datos de las aplicaciones. Además, si las claves de cifrado no están debidamente protegidas, un atacante podría robar esas claves y utilizarlas para acceder a los datos en tránsito. El endurecimiento de las aplicaciones y otras técnicas de protección dentro de la aplicación protegen las aplicaciones y los datos que fluyen a través de ellas desactivando los vectores de ataque que utilizan los hackers.

Técnicas de endurecimiento de aplicaciones

El endurecimiento de aplicaciones abarca varias técnicas para proteger las aplicaciones de los atacantes. Entre ellas se encuentran:

Ofuscación de código

La ofuscación de código codifica el código de la aplicación para dificultar la ingeniería inversa de las aplicaciones. Por lo tanto, es más difícil atacar una aplicación haciéndola más difícil de leer, lo que también hace más difícil robar su IP o reempaquetarla. La ofuscación de código utiliza varias técnicas para proteger las aplicaciones. Los componentes de software y los identificadores pueden ser renombrados. Se puede añadir un código ficticio que nunca se utiliza y se pueden cifrar las cadenas. El código puede ser recompilado y ejecutado en un intérprete o máquina virtual. Otras técnicas de ofuscación de código son la reflexión y el empaquetamiento.

Criptografía de caja blanca o white-box

Este enfoque ofrece una alternativa a la utilización de las herramientas nativas de las plataformas modernas, como el llavero de Apple iOS o el almacén de claves de Android. Si una empresa necesita permitir que sus aplicaciones funcionen en dispositivos con jailbreak, esta puede ser una técnica criptográfica útil. Además, la caja blanca se puede utilizar si el intruso ve la ubicación predeterminada, como Keychain/Secure Enclave para iOS o KeyStore para Android, para las credenciales en un dispositivo para dirigir un ataque.  

Otras técnicas:

  • La fijación de certificados, que permite a las partes implicadas en un proceso de autenticación mutua fijar determinados certificados, puede utilizarse para contrarrestar los ataques de intermediarios.
  • La encriptación de recursos implica la encriptación de los componentes de la aplicación, como las clases y las cadenas.
  • La caducidad automática establece un plazo tras el cual se cierra la sesión de un usuario después de un periodo de inactividad.
  • Se pueden emplear teclados autónomos para detener los intentos de keylogging, y la detección de teclados falsos puede utilizarse para detectar teclados no autorizados.
  • El polimorfismo es un método que permite alterar el código para dificultar la ingeniería inversa.

Casos de uso de endurecimiento de aplicaciones

Las aplicaciones bancarias móviles son un caso de uso para el endurecimiento de aplicaciones. Cada vez son más los usuarios de móviles que confían en sus dispositivos para realizar operaciones bancarias. Los estafadores buscan aprovechar cualquier fallo de seguridad que puedan encontrar. El endurecimiento de la aplicación ayuda a evitar que los defraudadores desarrollen explotaciones maliciosas de la aplicación de banca móvil, lo que hace más difícil que un atacante tenga éxito.   

Las aplicaciones sanitarias móviles manejan información sanitaria protegida (PHI) regulada por la Ley de Portabilidad y Responsabilidad del Seguro Médico (HIPAA). Los proveedores de servicios sanitarios y otros pueden enfrentarse a fuertes sanciones si sus aplicaciones de telesalud revelan datos de los pacientes. El endurecimiento de las aplicaciones puede garantizar que se mantenga la confidencialidad de los pacientes y se eviten las multas de la HIPAA al garantizar que los ciberatacantes no puedan acceder a la PHI.

Las aplicaciones móviles de venta al por menor son otro excelente caso de uso para el endurecimiento de aplicaciones. Manejan datos de tarjetas regulados por la norma de seguridad de datos del sector de las tarjetas de pago (PCI DSS). Los comercios en línea que no cumplan la norma PCI DSS podrían enfrentarse a multas de las compañías de tarjetas de crédito, a la pérdida de confianza de los clientes e incluso a auditorías de la Comisión Federal de Comercio.   

El personal de los servicios públicos, como los socorristas, las fuerzas del orden y los organismos gubernamentales, acceden, transmiten y almacenan información sensible en sus aplicaciones móviles. Estos datos podrían estar regidos por la HIPAA, las políticas de la agencia o las normas de privacidad, por lo que deben estar protegidos por medidas de seguridad sólidas, como el endurecimiento de las aplicaciones.  

Las aplicaciones móviles orientadas al consumidor son un puente entre el mundo exterior y las bases de datos sensibles de los clientes internos, lo que las convierte en un objetivo para los atacantes. El endurecimiento de las aplicaciones es capaz de bloquear o impedir de otro modo que los atacantes exploten las numerosas vulnerabilidades de las aplicaciones móviles que pueden dar lugar al robo de datos.   

Con el número de dispositivos y aplicaciones conectadas aumentando exponencialmente, la superficie de ataque para que los hackers se infiltren en las redes en el hogar, en el lugar de trabajo y en la fábrica se está expandiendo a un ritmo similar. Las aplicaciones que controlan los dispositivos conectados son vulnerables a los ataques. El endurecimiento de las aplicaciones puede asegurar esas aplicaciones para proteger los sistemas integrados de una manera que las soluciones antivirus y otras herramientas de seguridad convencionales no pueden.

Delivering Trust Through Mobile App Shielding and Hardening
Blog

Delivering Trust Through Mobile App Shielding and Hardening

In the increasingly crowded and competitive financial services market, financial institutions (FIs) are prioritizing mobile app development and the mobile user experience in order to maximize customer acquisition and retention. 

Read the Blog

Ayude a protegerse contra estas estrategias de ataque con el endurecimiento de las aplicaciones

El endurecimiento de las aplicaciones puede ayudar a defenderlas contra varios escenarios de ataque, como la ingeniería inversa, el reempaquetado y los teclados falsos.  

La ingeniería inversa es la práctica de analizar una aplicación para extraer información sobre su diseño e implementación. La técnica puede utilizarse con fines legítimos, pero un atacante también puede utilizarla para analizar el código y desarrollar malware que explote las aplicaciones con fines nefastos.  

En un ataque de reempaquetado, un hacker realiza ingeniería inversa de una aplicación legítima, le añade código malicioso y la sube a una tienda de aplicaciones. Esta es una de las técnicas favoritas de los atacantes que tienen como objetivo las aplicaciones bancarias móviles.

Las aplicaciones de teclados alternativos, que son utilizadas por las personas para personalizar sus teclados, también pueden ocultar código malicioso que roba datos o realiza otras acciones maliciosas.

La conclusión es que el endurecimiento de las aplicaciones las protege contra la actividad maliciosa y protege la información sensible de los ciberdelincuentes durante todo su ciclo de vida. El endurecimiento de las aplicaciones forma parte de un enfoque de seguridad por capas que incluye protección en tiempo de ejecución, autenticación fuerte y otras técnicas. La seguridad en capas puede ayudar a acelerar las iniciativas de transformación digital, reducir los costes operativos y abrir nuevas oportunidades de crecimiento.

Póngase en contacto con nosotros

Póngase en contacto con uno de nuestros expertos en seguridad para saber más sobre cómo nuestras soluciones pueden ayudarle con sus necesidades de seguridad digital