Las Progressive Web Apps (PWA) y WebAPK ofrecen una experiencia similar a las apps nativas, accesibles desde navegadores. Sin embargo, esta tecnología innovadora presenta riesgos que pueden ser aprovechados con fines maliciosos.
Conoce cómo los ciberdelincuentes pueden utilizarlas para robar información sensible, introducir malware o realizar ataques de phishing, aprovechando la facilidad de acceso y descarga en diversos dispositivos.
Descubre también las estrategias clave para minimizar estos riesgos y asegurar un entorno de aplicación seguro, protegiendo a los usuarios de amenazas crecientes en la era digital.
¿Qué son las PWA?
Las tecnologías PWA -Progressive Web Apps o Aplicaciones Web Progresivas- permiten crear aplicaciones que funcionan como nativas de los sistemas operativos, es decir como aquellas que son creadas específicamente para esa infraestructura.
Las PWA, se podría decir, funcionan como una fusión entre las apps nativas y la tecnología para web sites. A diferencia de las apps nativas, las PWA utilizan tecnología en sitios web que no están alojados en el sistema operativo del usuario, sino que acceden a los sitios a través de los navegadores web.
En efecto, las PWA son accesibles a través de los navegadores y están construidas con tecnología común para webs. Esto hace que las PWA sean perfectamente accesibles para la mayoría de los OS siempre y cuando estos puedan acceder a navegadores o ejecutarse como una app independiente y pueden ejecutarse sin conexión a internet.
El componente esencial de las PWA es el Service Worker Funcionalities: un script que el browser ejecuta en segundo plano, separado de la página web, y que actúan de forma similar a un proxy, y permite el uso offline y una carga rápida mediante la interceptación de requests.
Este gráfico sirve para comprender mejor el flujo de ejecución:
Como se observa, al momento de ejecutarse una PWA, el OS requiere al browser. La ejecución de una app nativa, en cambio, es llamada directamente.
Qué usos maliciosos se pueden en base a las PWA
Esta tecnología puede ser aprovechada para robo de información, introducción de malware, entre otras. A continuación, algunos ejemplos de usos maliciosos que pueden ser realizados aprovechando esta tecnología:
- PWA Phishing: Es posible la creación de PWA apócrifas cuyas con diversas funcionalidades maliciosas. Los cibercriminales utilizan técnicas de ingeniería social para hacer que la víctima se descargue estas PWA que están diseñadas para lucir legítimas. Como ejemplo, una sofisticada campaña de phishing descubierta por ESET, utiliza PWA y WebAPK para engañar a usuarios de dispositivos móviles, aplicaciones bancarias que simulan ser legitimas y que solo tienen el fin de robar información sensible del usuario.
- Service workers comprometidos: Pueden provocar envenenamiento de caché, que en el caso mostrado se utiliza para infectar usuarios.
- Ataques Man in the Middle: un tipo de ataque destinado a interceptar, sin autorización, la comunicación entre dos dispositivos conectados a una red. Este ataque permite a un agente malintencionado manipular el tráfico interceptado de diferentes formas, ya sea para escuchar la comunicación y obtener información sensible, como credenciales de acceso, información financiera, etc., o para suplantar la identidad de alguna de las partes. Https mal configuradas, podrían dar lugar a este tipo de ataque.
- Ataques XSS, o Cros Site Scripting: Dada la naturaleza híbrida de las PWA en relación sitios web, podrían ser vulnerables a este tipo de ataque en el que logran inyectar un script malicioso en un sitio web para luego ser procesado y ejecutado. Comúnmente, este proceso que se basa en la confianza que tiene el sitio sobre la entrada de los datos, consiste en enviar la URL con el payload precargado al usuario víctima con un objetivo determinado: robar datos personales del usuario, cookies de sesión, implementar técnicas de ingeniería social, entre otras.
- Ejecución de Scripts maliciosos: Debido a una mala administración de CSP (políticas de contenido).
- Como siempre, podría además trasladarse un ciberataque apuntado a la compañía creadora de la app a los usuarios finales.
¿Qué diferencia hay entre PWA y WebAPK?
Las APK (Android Application Package) son como un archivo ejecutable para Android que instala y hacer funcionar una aplicación. No dependen de apps como Google Play, sino que permiten instalar aplicaciones directamente mediante el ejecutable.
Las WebAPK permiten que una PWA pueda ser empaquetada en un APK y este se encargará de descargarla e instalarla para hacerla accesible (seguimos frente a una PWA y no ante una app nativa) y cuando un usuario ve la PWA en la pantalla de inicio de Android, es el browser generó esta WebAPK
¿Y cómo funcionan?
En el siguiente gráfico puede verse a modo de resumen el funcionamiento de las WebAPKs.
El usuario realiza una solicitud mediante el browser para instalar la WebAPK que tendrá un manifiesto que define el contenido a descargar. Luego el browser realizará una petición al server, cuya respuesta será el código HTML, CSS y/o JS, que permitirá cargar la página en la WebAPP instalada en Android para que esta pueda ser desplegada para el usuario.
Usos maliciosos de WebAPK:
Dada su vinculación con las PWA, los usos maliciosos y vulnerabilidades de esta tecnología son similares a los de PWA como tal.
- Cross-Site Scripting o XSS que mencionamos anteriormente.
- Ataque Man in the Middle
- Podrían ser objeto de inyecciones SQL si están mal configuradas o codificadas lo que permitiría a los cibercriminales acceder a información sensible.
- Cross-Site Request Forgery (CSRF): un tipo de ataque que explota la confianza que un sitio web tiene en sus usuarios autenticados, engaña al navegador de un usuario para que envíe solicitudes no autorizadas al sitio web en su nombre. Esto permite al atacante realizar acciones en nombre del usuario sin su conocimiento, y así logran inyectar un script malicioso en un sitio web para luego ser procesado y ejecutado. Comúnmente, este proceso que se basa en la confianza que tiene el sitio sobre la entrada de los datos, consiste en enviar la URL con el payload precargado al usuario víctima con un objetivo determinado: robar datos personales del usuario, cookies de sesión, implementar técnicas de ingeniería social, entre otras.
- Se podría falsificar o introducir código malicioso en las APK al fin que al realizar la descarga el usuario sea afectado.
- Una vez instalada una aplicación, el archivo APK se puede borrar, ya que la aplicación seguirá funcionando con normalidad lo que podría permitir el ocultamiento de algunas acciones maliciosas.
¿Cómo mitigar riesgos?
Las PWA y WebAPK, son herramientas muy útiles a la hora de desarrollar e instalar apps web pero como se mencionó, al igual que toda tecnología, implica sus riesgos. Para poder mitigarlos es importante comprenderlos y además implementar buenas prácticas de ciberseguridad. A continuación, dejamos algunos consejos útiles:
- Se recomienda el uso de HTTPS para contacto entre usuario y servidos al fin de contar con la información en tránsito cifrada.
- Informarse sobre los service workers de las PWA para saber si esa implementación los tiene bien configurados.
- Actualizar constantemente las PWA y WebAPK para evitar el aprovechamiento de vulnerabilidades conocidas. Lo mismo para el sistema operativo host.
- Gestionar los permisos otorgados a estas para asegurarse que no requieran más de los que necesitan y tener conocimiento de que información puede ser accedida.
- Contar con software antimalware y antiphishing, capaz de detectar y detener intentos de ataque o amenazas presentes.
- No descargar las aplicaciones de sitios inseguros o no chequeados respecto de su autenticidad. Es importante informarse sobre la reputación de la aplicación.