A pesquisa sobre o amplamente utilizado QuickBlox SDK e API levou à descoberta de vulnerabilidades críticas incorporadas em aplicativos de bate-papo e vídeo usados por setores como telemedicina, IoT inteligente e finanças.
Os pesquisadores da Claroty Team82 e da Check Point Research (CPR) desenvolveram explorações de PoC demonstrando que essas vulnerabilidades ameaçavam as informações pessoais de milhões de usuários. Eles descobriram que podiam acessar intercomunicadores inteligentes e abrir portas remotamente ou vazar dados de pacientes de aplicativos de telemedicina.
Os desenvolvedores que usam a estrutura QuickBlox devem primeiro criar uma conta QuickBlox. Isso fornece as credenciais que serão usadas para o aplicativo e um QB-Token que é usado em outras solicitações de API.
Quando o aplicativo recupera o QB-Token, os usuários efetuam login com a sessão do aplicativo e as credenciais do usuário. No entanto, o processo exige que o usuário conheça as credenciais do aplicativo — que geralmente são simplesmente inseridas no aplicativo e facilmente extraídas pelos invasores.
Voltando à API, “Descobrimos algumas vulnerabilidades críticas na API QuickBlox que podem permitir que invasores vazem o banco de dados do usuário de muitos aplicativos populares”, relatório Os pesquisadores. Eles descobriram que qualquer pessoa com uma sessão no nível do aplicativo poderia obter uma lista de usuários, recuperar PII e gerar várias contas controladas por invasores.
Por meio do Google e mecanismos de pesquisa como o BeVigil, os pesquisadores localizaram dezenas de outros aplicativos usando a mesma estrutura do QuickBlox e sujeitos à mesma vulnerabilidade. Extrair as chaves foi mais difícil em alguns aplicativos do que em outros (por meio de criptografia ou ofuscação de código), mas os pesquisadores afirmam: “Os desenvolvedores só podem colocar obstáculos para complicar a recuperação da chave do aplicativo; que sempre estará acessível aos invasores, independentemente de levar cinco minutos para extrair ou duas horas.”
Os pesquisadores examinaram como suas descobertas poderiam ser usadas em diferentes aplicativos que incorporavam o QuickBlox. Eles fornecem um estudo de caso sobre a Rozcom, uma fornecedora de intercomunicadores de vídeo com sede em Israel para entrada em prédios. Investigando separadamente o aplicativo móvel Rozcom, eles encontraram vulnerabilidades adicionais e descobriram que as IDs de usuário foram produzidas pela concatenação de uma ID de edifício individual e o número de telefone do usuário.
Voltando às vulnerabilidades do QuickBlox, os pesquisadores observaram: “A Rozcom optou por usar o ID do usuário [the concatenation] como o identificador de usuário no QuickBlox. E como poderíamos vazar o banco de dados do usuário do QuickBlox, poderíamos obter acesso a todos os usuários do Rozcom, incluindo IDs de prédios, bem como os números de telefone dos usuários correlatos.”
Saber o ID do prédio e o número de telefone do usuário permitiu que os pesquisadores se passassem por um usuário legítimo (eles também descobriram que poderiam obter o código de autorização do usuário). “Isso significa”, explicaram os pesquisadores, “que o único requisito para recuperar as credenciais de um usuário é seu número de telefone, que conseguimos vazar usando a vulnerabilidade QuickBlox. Ademais, o código de autenticação é estático. Portanto, os invasores podem facilmente fazer login em nome de qualquer usuário e usar a funcionalidade do aplicativo em sua extensão. Isso permite que eles abram a porta/portão, abram streams de vídeo e muito mais; eles agora controlam totalmente o dispositivo de intercomunicação remotamente.”
Usando a mesma abordagem em um aplicativo de telemedicina (sem nome, porque no momento da redação ainda era vulnerável), os pesquisadores descobriram que poderiam usar a vulnerabilidade QuickBlox para fazer login em nome de qualquer usuário, seja paciente ou médico. Eles descobriram que eram capazes de recuperar informações pessoais, incluindo histórico médico, histórico de bate-papo e arquivos médicos.
“Ademais”, alertaram os pesquisadores, “como a personificação total é possível por meio desse ataque, qualquer pessoa pode se passar por um médico e modificar informações ou até mesmo se comunicar em tempo real por meio de bate-papo e vídeo com pacientes reais na plataforma em nome de um médico real”.
Essa pesquisa conjunta no QuickBlox demonstra a escala potencial da ameaça de falhas de API, especialmente quando a falha está em uma estrutura usada por vários fornecedores e vários aplicativos. Neste caso, os pesquisadores trabalharam em estreita colaboração com o QuickBlox. QuickBlox corrigiu as vulnerabilidades por meio de um novo design de arquitetura segura e nova API. A segurança, no entanto, não depende apenas das correções dos fornecedores – o aplicativo de telemedicina ainda estava vulnerável no momento da escrita porque o desenvolvedor não havia incorporado as correções do fornecedor.