O que o teclado do Android pode dizer a estranhos?

Investigamos se o teclado do smartphone é capaz de revelar todos os seus segredos.

Manchetes alarmantes como “Hackers podem espionar cada toque de tecla dos smartphones Honor, OPPO, Samsung, Vivo e Xiaomi pela Internet”, têm circulado na mídia nas últimas semanas. Sua origem foi um estudo bastante sério sobre vulnerabilidades na criptografia do tráfego de teclados. Invasores capazes de observar o tráfego de rede, por exemplo, por um roteador doméstico infectado, podem de fato interceptar cada toque de tecla e descobrir todas as suas senhas e segredos. Mas não se apresse em trocar seu Android por um iPhone ainda, pois isso vale apenas para teclados no idioma chinês no sistema pinyin e somente se o recurso “previsão de nuvem” estiver ativado. No entanto, achamos que seria uma boa ideia investigar a situação dos demais idiomas e de teclados de outros fabricantes.

Por que muitos teclados pinyin são vulneráveis à espionagem

O sistema de escrita pinyin, também conhecido como alfabeto fonético chinês, ajuda os usuários a escreverem palavras chinesas usando diacríticos e letras latinas. É o sistema de romanização oficial para a língua chinesa, adotado pela ONU, entre outros. Desenhar caracteres chineses em um smartphone é bastante inconveniente, então o método de entrada pinyin é muito popular, usado por mais de um bilhão de pessoas, segundo algumas estimativas. Ao contrário de muitos outros idiomas, a previsão de palavras para chinês, especialmente no pinyin, é difícil de implementar diretamente em um smartphone. É uma tarefa computacionalmente complexa. Portanto, quase todos os teclados (ou melhor, métodos de entrada – IMEs) usam “previsão de nuvem”, o que significa que eles enviam instantaneamente os caracteres pinyin inseridos pelo usuário para um servidor e recebem em troca sugestões de conclusão de palavras. Às vezes, a função “nuvem” pode ser desativada, mas isso reduz a velocidade e a qualidade da entrada em chinês.

Para prever o texto inserido em pinyin, o teclado envia dados ao servidor

Para prever o texto inserido em pinyin, o teclado envia dados ao servidor

Obviamente, todos os caracteres que você digitar ficarão acessíveis aos desenvolvedores do teclado devido ao sistema de “previsão de nuvem”. Mas isso não é tudo! A troca de dados de caractere por caractere requer criptografia especial, que muitos desenvolvedores não conseguem implementar corretamente. Como resultado, todos os toques de teclas e as previsões correspondentes podem ser facilmente descriptografados por intrusos.

Você pode encontrar detalhes sobre cada um dos erros encontrados na fonte original, mas no geral, dos nove teclados analisados, apenas o IME do pinyin nos smartphones Huawei implementou corretamente a criptografia TLS e conseguiu evitar os ataques. No entanto, IMEs de Baidu, Honor, iFlytek, OPPO, Samsung, Tencent, Vivo e Xiaomi foram considerados vulneráveis em vários graus, com o teclado pinyin padrão da Honor (Baidu 3.1) e o pinyin da QQ não recebendo atualizações mesmo depois que os pesquisadores entraram em contato os desenvolvedores. Os usuários do pinyin são aconselhados a atualizar seu IME para a versão mais recente e, se nenhuma atualização estiver disponível, baixar outro IME do pinyin.

Outros teclados enviam toques de teclas?

Não há necessidade técnica direta para isso. Para a maioria dos idiomas, as terminações de palavras e frases podem ser previstas diretamente no dispositivo, portanto, os teclados populares não exigem transferência de dados caractere por caractere. No entanto, dados sobre o texto inserido podem ser enviados ao servidor para sincronização de dicionário pessoal entre dispositivos, para aprendizado de máquina ou para outros fins não diretamente relacionados à função principal do teclado, como análise de publicidade.

Se você deseja que esses dados sejam armazenados nos servidores do Google e da Microsoft, tudo bem, mas é improvável que alguém esteja interessado em compartilhá-los com pessoas de fora. Pelo menos um desses incidentes foi divulgado em 2016. Descobriu-se que o teclado SwiftKey estava prevendo endereços de e-mail e outras entradas de dicionário pessoal de usuários terceiros. Após o incidente, a Microsoft desativou temporariamente o serviço de sincronização, provavelmente para corrigir os erros. Se você não quiser que seu dicionário pessoal seja armazenado nos servidores da Microsoft, não crie uma conta SwiftKey e, caso já tenha uma, desative-a e exclua os dados armazenados na nuvem seguindo estas instruções.

Não houve nenhum outro caso amplamente conhecido de vazamento de textos digitados. No entanto, a pesquisa mostrou que os teclados populares monitoram ativamente os metadados enquanto você digita. Por exemplo, o Gboard do Google e o SwiftKey da Microsoft enviam dados sobre cada palavra inserida: idioma, comprimento da palavra, hora exata da entrada e o aplicativo no qual a palavra foi inserida. O SwiftKey também envia estatísticas sobre quanto esforço foi economizado: quantas palavras foram digitadas na íntegra, quantas foram previstas automaticamente e quantas foram ignoradas. Considerando que ambos os teclados enviam o ID de publicidade exclusivo do usuário para a “sede”, isso cria uma ampla oportunidade para criação de perfil. Por exemplo, torna-se possível determinar quais usuários estão se correspondendo entre si em qualquer mensageiro.

Se você criar uma conta SwiftKey e não desativar a opção “Help Microsoft improve”, de acordo com a política de privacidade, “pequenas amostras” de texto digitado podem ser enviadas ao servidor. Como isso funciona e o tamanho dessas “pequenas amostras” é desconhecido.

“Ajude a Microsoft a melhorar” (Help Microsoft improve)… sério? A coleta dos seus dados?

O Google permite que você desative a opção “Share Usage Statistics” no Gboard, o que reduz significativamente a quantidade de informações transmitidas: comprimentos de palavras e aplicativos nos quais o teclado foi usado não são mais coletados.

Desativar a opção "Share Usage Statistics" no Gboard reduz significativamente a quantidade de informações coletadas

Desativar a opção “Share Usage Statistics” no Gboard reduz significativamente a quantidade de informações coletadas

Em termos de criptografia, a troca de dados no Gboard e no SwiftKey não levantou nenhuma preocupação entre os pesquisadores, pois ambos os aplicativos dependem da implementação TLS padrão no sistema operacional e são resistentes a ataques criptográficos comuns. Portanto, a interceptação de tráfego nesses aplicativos é improvável.

Além do Gboard e do SwiftKey, os autores também analisaram o popular aplicativo AnySoftKeyboard. Ele fez jus à sua reputação como um teclado para os obstinados pela privacidade, não enviando nenhuma telemetria aos servidores.

É possível que senhas e outros dados confidenciais vazem de um smartphone?

Um aplicativo não precisa ser um teclado para permitir a interceptação de dados confidenciais. Por exemplo, o TikTok monitora todos os dados copiados para a área de transferência, embora essa função pareça desnecessária para uma rede social. Malwares no Android, em geral, ativam recursos de acessibilidade e direitos de administrador nos smartphones para capturar dados de campos de entrada e diretamente de arquivos em aplicativos “interessantes”.

Por outro lado, um teclado Android pode “vazar” não apenas o texto digitado. Por exemplo, o teclado AI.Type causou o vazamento de dados de 31 milhões de usuários. Por algum motivo, ele coletou dados como números de telefone, geolocalizações exatas e até mesmo o conteúdo de catálogos de endereços.

Como se proteger da espionagem do teclado e do campo de entrada

  • Sempre que possível, use um teclado que não envie dados desnecessários ao servidor. Antes de instalar um novo aplicativo de teclado, pesquise na Web por informações sobre ele, pois se houver algum escândalo associado, você saberá imediatamente.
  • Se você estiver mais preocupado com a conveniência do teclado do que com sua privacidade (não julgamos, o teclado é importante), verifique as configurações e desative as opções de sincronização e transferência de estatísticas sempre que possível. Elas podem estar ocultas sob vários nomes, incluindo “Conta”, “Nuvem”, “Ajude-nos a melhorar” e até “Doações de áudio”.
  • Verifique de quais permissões do Android o teclado precisa e revogue as que não forem necessárias. O acesso aos contatos ou à câmera definitivamente não é necessário para um teclado.
  • Instale somente aplicativos de fontes confiáveis, verifique a reputação do aplicativo e, novamente, não conceda permissões excessivas.
  • Use uma proteção abrangente para todos os seus smartphones Android e iOS, como Kaspersky Premium.
Dicas