Quem tem um smartphone Xiaomi, que conta com uma quota de mercado global de cerca de 8%, decerto já se deu conta de uma aplicação de segurança pré-instalada nos dispositivos da marca. Chama-se Guard Provider e é, supostamente, responsável pela proteção do dispositivo contra malware.
Ironicamente, foi precisamente esta app a responsável pela vulnerabilidade de malware descoberta pela equipa de investigação da Check Point Software.
Por norma, os smartphones são adquiridos pelos clientes já com aplicações pré-instaladas, algumas das quais bastante úteis, outras que nunca chegam a ser utilizadas (o chamado bloatware). Mas ninguém espera que as aplicações pré-instaladas constituam um risco para a privacidade e segurança.
O Guard Provider, como qualquer outra aplicação pré-instalada, está presente em todos os dispositivos móveis out-of-the-box e não pode ser apagada. A Check Point, ao descobrir esta vulnerabilidade, reportou à Xiaomi, que lançou uma correção pouco tempo depois.
Como é isto aconteceu nos smartphones Xiaomi?
Devido à natureza insegura do tráfego da rede de e para o Guard Provider e também ao uso de múltiplos SDKs dentro da mesma aplicação, o agente da ameaça conseguia ligar-se à mesma rede Wi-Fi que as vítimas e executar um ataque Man-in-the Middle (MiTM). Em consequência das falhas de comunicação entre os múltiplos SDKs, o cibercriminoso conseguia injetar qualquer código nocivo à sua escolha, como é o caso do roubo de password, ransomware, tracking ou qualquer outro tipo de malware.
Os programadores e empresas precisam de estar cientes de que ter um elemento de segurança combinado com outro elemento de segurança numa mesma aplicação nos seus telemóveis não significa necessariamente que, quando esses dois elementos são implementados juntos, o dispositivo como um todo esteja seguro.
Em todo o caso, a Check Point dispõe de arquiteturas de segurança, como é o caso do SandBlast Mobile, capaz de detetar e prevenir este tipo de ataques através da eliminação de potenciais ameaças causadas pela utilização de múltiplos SDK dentro da mesma aplicação.