BrutePrint: ignorar a proteção de impressão digital do smartphone

Afinal, a proteção de impressão digital do Android não é tão confiável: pode ser forçada mesmo sem uma cópia de sua impressão digital.

O reconhecimento de impressão digital é considerado um método de autenticação bastante seguro. De vez em quando, há publicações sobre diferentes maneiras de enganar o sensor de impressão digital, mas, de uma forma ou de outra, todos os métodos sugeridos se resumem à imitação física do dedo do proprietário do telefone, usando uma almofada de silicone ou a impressão de tinta condutora. Isso envolve a obtenção de uma imagem de alta qualidade de um dedo — não qualquer um, lembre-se, mas aquele registrado no sistema.

Em resumo, todos esses métodos têm muitos problemas do mundo real. Porém, é possível fazer isso de forma mais elegante, sem sair do mundo puramente digital e sem abdicar de todos os seus benefícios? Sim: recentemente, os pesquisadores chineses Yu Chen e Yiling He publicaram um estudo sobre como usar força bruta em quase qualquer smartphone Android protegido por impressão digital. Eles chamaram o ataque de BrutePrint.

Até que ponto as impressões digitais são únicas?

Antes de começarmos a investigar o trabalho de nossos colegas chineses, vejamos a teoria por trás disso. Para começar, e como você deve saber, as impressões digitais são realmente únicas e nunca mudam com o tempo.

Em 1892, Sir Francis Galton, um cientista inglês, publicou um trabalho laconicamente intitulado Finger Prints (Impressões digitais). Ele resumiu os dados científicos da época sobre impressões digitais. O trabalho de Galton lançou as bases teóricas para o uso prático posterior de impressões digitais na ciência forense.

Entre outros itens, Sir Francis Galton calculou que a probabilidade de correspondência de impressões digitais era “inferior a 2<sup>36</sup>, ou de um para cerca de sessenta e quatro mil milhões”. Os especialistas forenses mantêm esse valor até hoje.

A propósito, se você gosta de se aprofundar em anatomia ou nos fatores biológicos por trás da singularidade das impressões digitais, aqui está um novo trabalho de pesquisa sobre o assunto.

Qual é o grau de confiabilidade dos sensores de impressão digital?

No entanto, o trabalho de Sir Francis e tudo o que resultou dele relaciona-se ao (caloroso) mundo analógico, abrangendo itens como a obtenção de impressões digitais e a comparação delas com as que foram deixadas na cena de um crime, por exemplo. Simples assim. Porém, a (fria) realidade digital é um pouco diferente. A qualidade da representação da impressão digital depende de vários fatores: tipo de sensor, tamanho e resolução e, em grande parte, algoritmos de correspondência e pós-processamento de “imagem”.

Comparação de uma impressão digital capturada por um sensor óptico com uma cópia analógica da impressão digital.

Impressões digitais como eram vistas por Sir Francis Galton há 150 anos (à esquerda) e pelo sensor óptico de ponta do seu smartphone (à direita). Fonte e Fonte.

Claro, o desenvolvedor precisa tornar o dispositivo muito barato (ou ninguém o comprará), obter autenticação em frações de segundo (ou ficar sobrecarregado com reclamações sobre a velocidade lenta) e evitar falsos negativos a todo custo (ou o usuário descartará tudo). O resultado são sistemas de autenticação não muito precisos.

Portanto, quando se refere a sensores usados em smartphones, números muito menos otimistas são citados para a probabilidade de correspondência de fragmentos de impressões digitais do que os famosos 1 para 64 bilhões. Por exemplo, a Apple estima a probabilidade do Touch ID em 1 para 50.000. Portanto, pode-se supor que, para modelos de sensores econômicos, a probabilidade diminuirá ainda mais, em uma ou duas ordens.

Isso nos leva de bilhões para milhares. O que já está ao alcance da força bruta. Assim, para obter o prêmio, o hacker potencial só precisa superar um obstáculo: o limite do número de tentativas de reconhecimento da impressão digital. Normalmente, apenas cinco são permitidas, seguidas por um período prolongado de bloqueio de autenticação da impressão digital.

Esse obstáculo pode ser superado? Em seu estudo, Yu Chen e Yiling He dão uma resposta afirmativa.

BrutePrint: preparar-se para invadir por meio de força bruta smartphones Android protegidos por impressão digital

O método do pesquisador é baseado em uma falha na implementação do sensor de impressão digital genérico dos smartphones Android: nenhum dos modelos testados criptografou o canal de comunicação entre o sensor e o sistema. Isso cria a oportunidade para um ataque MITM no sistema de autenticação: com um dispositivo conectado ao smartphone via porta SPI da placa-mãe, é possível interceptar mensagens recebidas do sensor de impressão digital e enviar suas próprias mensagens emulando o sensor de impressão digital.

Os pesquisadores criaram um dispositivo desse tipo (pseudossensor) e o complementaram com um gadget para clicar automaticamente na tela do sensor do smartphone. Assim, a parte do componente de hardware foi configurada para fornecer várias imagens de impressões digitais a smartphones no modo automático.

Dispositivo usado para o ataque BrutePrint.

Dispositivo para invadir por meio de força bruta o sistema de autenticação de impressão digital. Fonte

Em seguida, eles começaram a preparar espécimes de impressões digitais para força bruta. Os pesquisadores não revelam a fonte de seu banco de dados de impressões digitais, limitando-se a especulações gerais sobre como os invasores podem obtê-lo (coleções de pesquisa, dados vazados ou banco de dados próprio).

Como próximo passo, o banco de dados de impressões digitais foi submetido a uma IA para gerar algo como um dicionário de impressões digitais, a fim de maximizar o desempenho da força bruta. As imagens de impressões digitais foram adaptadas pela IA para corresponder às geradas pelos sensores instalados nos smartphones participantes do estudo.

Exemplos de imagens geradas por sensores de impressão digital de diferentes tipos

As imagens retornadas por diferentes tipos de sensores de impressão digital são bastante diferentes umas das outras. Fonte

As duas vulnerabilidades por trás do BrutePrint: Cancel-After-Match-Fail e Match-After-Lock

O ataque BrutePrint explora duas vulnerabilidades. Os pesquisadores as descobriram na lógica básica da estrutura de autenticação de impressão digital que, aparentemente, vem com todos os smartphones Android, sem exceção. As vulnerabilidades foram chamadas de Cancel-After-Match-Fail (Cancelar após falha na correspondência) e Match-After-Lock (Correspondência após bloqueio).

A vulnerabilidade Cancel-After-Match-Fail

Cancel-After-Match-Fail (CAMF) explora dois recursos importantes do mecanismo de autenticação de impressão digital. O primeiro é o fato de que ele se baseia em multiamostragem, o que significa que cada tentativa de autenticação usa não apenas uma, mas uma série de duas a quatro imagens de impressões digitais (dependendo do modelo do smartphone). O segundo é o fato de que, além de falhar, uma tentativa de autenticação também pode resultar em erro e, nesse caso, há um retorno ao início.

Isso permite o envio de uma série de imagens terminando em um quadro pré-editado para acionar um erro. Assim, se uma das imagens da série acionar uma correspondência, ocorrerá uma autenticação bem-sucedida. Caso contrário, o ciclo terminará em erro, após o qual uma nova série de imagens poderá ser enviada sem desperdiçar a preciosa tentativa.

Diagrama de vulnerabilidade da lógica de autenticação de impressão digital Cancel-After-Match-Fail.

Como Cancel-After-Match-Fail funciona: o erro leva você de volta ao ponto de partida sem desperdiçar uma tentativa. Fonte

A vulnerabilidade Match-After-Lock

A segunda vulnerabilidade é Match-After-Lock (MAL). A lógica de autenticação de impressão digital fornece um período de bloqueio após uma tentativa malsucedida, mas muitos fornecedores de smartphones não implementam corretamente esse recurso em suas versões do Android. Portanto, embora a autenticação de impressão digital bem-sucedida não seja possível no modo de bloqueio, ainda é possível enviar mais e mais imagens novas, às quais o sistema ainda responderá com uma resposta honesta indicando ‘verdadeiro’ ou ‘falso’. Ou seja, uma vez detectada a imagem correta, você poderá usá-la assim que o sistema estiver fora do bloqueio, concluindo assim uma autenticação bem-sucedida.

Ataques que exploram Cancel-After-Match-Fail e Match-After-Lock

O ataque que explora a primeira vulnerabilidade foi bem-sucedido em todos os smartphones testados com o Android genuíno integrado, mas, por algum motivo, não funcionou com o HarmonyOS. A vulnerabilidade Match-After-Lock foi explorada em smartphones vivo e Xiaomi, bem como em ambos os telefones Huawei que executam o HarmonyOS.

Tabela de vulnerabilidade de vários smartphones em relação a Cancel-After-Match-Fail e Match-After-Lock.

Todos os smartphones testados mostraram-se vulneráveis a pelo menos um ataque. Fonte

Todos os smartphones Android e HarmonyOS participantes do estudo foram considerados vulneráveis a pelo menos um dos ataques descritos. Isso significa que todos eles permitiram um número indefinido de tentativas mal-intencionadas de autenticação de impressão digital.

De acordo com o estudo, foram necessárias de 2,9 a 13,9 horas para invadir por hack um sistema de autenticação de smartphone Android com apenas uma impressão digital registrada. Porém, para smartphones com o máximo possível de impressões digitais registradas para determinado modelo (quatro para Samsung, cinco para todos os demais), o tempo foi bastante reduzido: foram necessárias de 0,66 a 2,78 horas para invadi-los por hack.

Tempo necessário para invadir smartphones por hack usando BrutePrint.

Probabilidade de ataque BrutePrint bem-sucedido em função do tempo gasto: uma impressão digital registrada (linha sólida) e o número máximo de impressões digitais registradas (linha tracejada). Fonte

E os iPhones?

O sistema Touch ID usado nos iPhones se mostrou mais resistente ao BrutePrint. Segundo o estudo, a principal vantagem do iPhone é que a comunicação entre o sensor de impressão digital e o restante do sistema é criptografada. Portanto, não há como interceptar ou fornecer ao sistema uma impressão digital preparada em um dispositivo equipado com Touch ID.

O estudo aponta que os iPhones podem ser parcialmente vulneráveis a manipulações usadas para maximizar o número de possíveis tentativas de reconhecimento de impressões digitais. No entanto, não é tão ruim quanto parece: enquanto os smartphones Android permitem tentativas ilimitadas, nos iPhones, o número de tentativas só pode ser aumentado de 5 para 15.

Assim, os usuários do iOS podem ficar tranquilos: o Touch ID é muito mais confiável do que a autenticação de impressão digital usada no Android e no HarmonyOS. Além disso, hoje em dia a maioria dos modelos de iPhone usa o Face ID, de qualquer forma.

Até que ponto tudo isso é perigoso?

Os proprietários de smartphones Android também não devem se preocupar muito com o BrutePrint: na prática, o ataque dificilmente representa uma grande ameaça. Há várias razões para isso:

  • O BrutePrint requer acesso físico ao dispositivo. Por si só, este fator reduz em grande margem a probabilidade de algo parecido acontecer com você.
  • Além disso, para realizar o ataque, é preciso abrir o dispositivo e usar um conector específico na placa-mãe. Fazer isso sem o conhecimento do proprietário não é nada fácil.
  • Mesmo na melhor das hipóteses, o ataque exigirá um tempo considerável, medido em horas.
  • E, claro, o BrutePrint requer uma configuração peculiar, tanto de hardware quanto de software, incluindo equipamento personalizado, um banco de dados de impressões digitais e IA treinada.

Combinados, esses fatores tornam extremamente improvável que tal ataque possa ser usado na vida real, a menos que algumas pessoas com mentalidade empreendedora criem um produto comercial fácil de usar com base no estudo.

Proteção de smartphones Android contra ataque por meio de força bruta a impressões digitais

Se, apesar do que foi mencionado, você acredita que pode ser vítima de um ataque desse tipo, aqui estão algumas dicas de como se proteger:

  • Registre o menor número possível de impressões digitais (idealmente, apenas uma). Quanto mais dedos você usar para autenticação, mais vulnerável o sistema se tornará à tática descrita, bem como a outros ataques.
  • Não se esqueça de usar um PIN extra ou proteção por senha para aplicativos que tenham essa opção.
  • A propósito, a função AppLock disponível na versão paga do Kaspersky para Android permite o uso de senhas separadas para qualquer um de seus aplicativos.
Dicas