As Progressive Web Apps (PWA) e WebAPK oferecem uma experiência semelhante às apps nativas, acessíveis diretamente pelos navegadores. No entanto, essa tecnologia inovadora apresenta riscos que podem ser explorados com fins maliciosos.
Saiba como os cibercriminosos utilizam essas ferramentas para roubar informações sensíveis, disseminar malware ou conduzir ataques de phishing, aproveitando a facilidade de acesso e instalação em diversos dispositivos. Além disso, descubra estratégias-chave para minimizar esses riscos e garantir um ambiente seguro, protegendo os usuários contra as ameaças crescentes na era digital.
O que são os PWAs?
As tecnologias PWA (Progressive Web Apps ou Aplicações Web Progressivas) permitem criar aplicativos que funcionam de forma semelhante às nativas dos sistemas operacionais, ou seja, como aquelas desenvolvidas especificamente para uma infraestrutura.
As PWAs podem ser consideradas uma fusão entre apps nativas e tecnologia de websites. Diferentemente dos apps nativos, as PWAs utilizam recursos de sites que não estão hospedados no sistema operacional do usuário, mas que são acessados através dos navegadores web.
Essas aplicações são acessíveis por navegadores e construídas com tecnologias comuns de web, tornando-as compatíveis com a maioria dos sistemas operacionais, desde que possam acessar navegadores ou ser executadas como apps independentes. Além disso, elas podem funcionar sem conexão com a internet.
O componente essencial das PWAs é o Service Worker: um script executado pelo navegador em segundo plano, separado da página web. Esse script atua como um proxy, permitindo o uso offline e uma rápida carregamento, ao interceptar solicitações.
Este gráfico ilustra o fluxo de execução:
Como se observa, ao executar uma PWA, o sistema operacional depende do navegador, enquanto uma aplicação nativa é executada diretamente.
Usos maliciosos baseados em PWAs
Essa tecnologia pode ser explorada para roubo de informações, disseminação de malware, entre outros fins. A seguir, alguns exemplos de usos maliciosos que podem ser realizados com PWAs:
- Phishing com PWA: É possível criar PWAs falsas com diversas funcionalidades maliciosas. Os cibercriminosos utilizam técnicas de engenharia social para convencer as vítimas a baixarem essas PWAs projetadas para parecer legítimas. Por exemplo, uma campanha sofisticada de phishing, descoberta pela ESET, utilizou PWAs e WebAPK para enganar usuários de dispositivos móveis com aplicativos bancários falsos que simulavam ser legítimos, mas cujo objetivo era roubar informações sensíveis.
- Service Workers comprometidos: Podem causar envenenamento de cache, usado para infectar usuários, como demonstrado em alguns casos.
- Ataques Man-in-the-Middle (MITM): Esse tipo de ataque intercepta comunicações entre dois dispositivos sem autorização, permitindo a manipulação do tráfego interceptado. Isso pode incluir roubo de informações sensíveis, como credenciais de acesso ou dados financeiros, ou a falsificação da identidade de uma das partes. Configurações incorretas de HTTPS podem facilitar esse tipo de ataque.
- Ataques XSS (Cross-Site Scripting): Devido à natureza híbrida das PWAs, elas podem ser vulneráveis a ataques XSS. Nesses ataques, scripts maliciosos são injetados em sites e executados. Os invasores frequentemente enviam URLs com payloads pré-carregados para as vítimas com o objetivo de roubar dados pessoais, cookies de sessão ou aplicar técnicas de engenharia social.
- Execução de scripts maliciosos: Isso pode ocorrer devido à má administração de CSPs (políticas de segurança de conteúdo).
Além disso, ciberataques direcionados à empresa criadora de uma aplicação também podem impactar os usuários finais
Qual a diferença entre PWA e WebAPK?
As APKs (Android Application Packages) são arquivos executáveis para Android que permitem instalar e executar aplicativos. Diferentemente de aplicativos instalados via Google Play, as APKs podem ser instaladas diretamente através de um executável.
Já as WebAPKs permitem que uma PWA seja empacotada em um APK, possibilitando sua instalação e acesso. Mesmo assim, o que está sendo utilizado é uma PWA, e não um aplicativo nativo. Quando o usuário vê a PWA na tela inicial do Android, foi o navegador que gerou essa WebAPK.
Como funcionam?
O funcionamento das WebAPKs pode ser resumido no seguinte gráfico.
O usuário realiza uma solicitação através do navegador para instalar a WebAPK, que contém um manifesto definindo o conteúdo a ser baixado. O navegador, então, faz uma requisição ao servidor, recebendo como resposta o código HTML, CSS e/ou JS, que permite carregar a página na WebAPP instalada no Android, tornando-a acessível para o usuário.
Usos maliciosos do WebAPK:
Devido à sua conexão com as PWAs, os usos maliciosos e vulnerabilidades dessa tecnologia são semelhantes aos das próprias PWAs
- Cross-Site Scripting (XSS): Ataques que injetam scripts maliciosos em sites para roubo de dados pessoais, cookies de sessão ou execução de ações não autorizadas
- Ataques Man-in-the-Middle (MITM): Interceptam e manipulam o tráfego entre o usuário e o servidor, podendo roubar informações sensíveAtaque Man in the Middle
- Injeções SQL: Configurações ou codificações inadequadas podem permitir o acesso a dados sensíveis por cibercriminosos
- Cross-Site Request Forgery (CSRF): Ataques que exploram a confiança de sites em usuários autenticados, enganando navegadores para enviar solicitações não autorizadas em nome do usuário. Isso possibilita a execução de ações maliciosas sem o consentimento da vítima.
- Inserção de código malicioso em APKs: APKs falsificados ou comprometidos podem afetar o usuário ao serem baixados.
- Ocultamento de ações maliciosas: Após a instalação, o arquivo APK pode ser excluído, permitindo que atividades maliciosas sejam disfarçadas.
Como evitar os riscos?
PWAs e WebAPKs são ferramentas úteis para desenvolvimento e instalação de apps web. No entanto, como qualquer tecnologia, elas apresentam riscos. Para mitigá-los, é essencial entendê-los e adotar boas práticas de cibersegurança:
- Use HTTPS para garantir que os dados em trânsito entre usuário e servidor estejam criptografados.
- Certifique-se de que os service workers das PWAs estejam configurados corretamente.
- Atualize regularmente as PWAs, WebAPKs e o sistema operacional para evitar a exploração de vulnerabilidades conhecidas.
- Gerencie os permissões das PWAs, garantindo que não acessem mais dados do que o necessário.
- Utilize software antimalware e antiphishing para detectar e impedir ataques ou ameaças.
- Baixe aplicativos apenas de sites confiáveis e verificados. Sempre confira a reputação da aplicação antes de instalá-la.
Adotar essas práticas ajudará a proteger tanto as aplicações quanto os usuários de ameaças na era digital.