Os dispositivos móveis registram mais dados do que realmente precisam. O problema é que esse registro nem sempre é informado ao usuário. Muitos aplicativos pedem permissões excessivas e, no caso dos navegadores, extraem valores dos sensores integrados. Um grupo de pesquisadores da Universidade de Newcastle demonstrou que é possível usar isso de forma maliciosa com um novo ataque chamado PINLogger, que interpreta dados dos sensores e calcula o número PIN com uma precisão de 94 por cento em apenas três tentativas.
Muitos jogos de Android e iOS solicitam acesso aos sensores do dispositivo móvel por questões técnicas, mas já vi exemplos que caem no abusivo. Para que um jogo quer ver meu calendário ou minha lista de contatos? A primeira coisa que vem à mente é essa palavra mágica: Publicidade. O usuário médio não dá muito valor a esses dados secundários que gera, mas há gente lá fora disposta a pagar para obtê-los e oferecer “uma experiência mais personalizada”. Agora, o que acontece se alguém encontrar uma forma de usar esses dados com objetivos maliciosos? O que nosso smartphone pode entregar sem que percebamos?
Para começar... o número PIN. De acordo com um grupo de pesquisadores da Universidade de Newcastle, o ataque PINLogger baseado em JavaScript pode “ouvir” o movimento e a orientação de um dispositivo Android sem a permissão do usuário, analisar o fluxo de dados enviado pelos sensores com uma rede neural e, a partir daí, calcular o número PIN. O estudo indica que, diante de um PIN de quatro dígitos, o PINLogger consegue descobrir o número em 74 por cento das vezes na primeira tentativa, 86 por cento na segunda e 94 por cento na terceira. Ao contrário de outros ataques, o PINLogger não exige a instalação de software no smartphone. Tudo o que precisa é que um navegador com o código malicioso em uma página da web permaneça aberto enquanto o usuário digita o PIN.
É claro que a eficácia do PINLogger depende do nível de acesso aos sensores que o navegador tem, e isso varia muito conforme o software e o sistema operacional. Os exemplos compartilhados focam em iOS 8 e Android Lollipop, tecnicamente sem suporte, mas ainda muito usados. Em geral, os navegadores mais invasivos são os alternativos, com Baidu e CM Browser à frente. Por enquanto, o acesso via JavaScript se limita a alguns sensores, mas isso pode mudar no futuro. Talvez seja hora de implementar restrições de acesso aos sensores “por aplicativo”, um sistema de listas brancas ou, por que não, manipulação direta das permissões.