Acredita-se que o reconhecimento de impressões digitais seja um método de autenticação bastante seguro. Publicações sobre diferentes maneiras de enganar o sensor de impressão digital aparecem de vez em quando, mas todos os métodos sugeridos de uma forma ou de outra se resumem à imitação física do dedo do proprietário do telefone – seja usando uma almofada de silicone ou impressão de tinta condutora. Isso envolve a obtenção de uma imagem de alta qualidade de um dedo – e não qualquer dedo, lembre-se, mas aquele registrado no sistema.
Em poucas palavras, todos esses métodos vêm com muitos recursos do mundo real problema. Mas é possível fazer isso de forma mais elegante, sem sair do mundo puramente digital e de todos os seus benefícios? Acontece que é: os pesquisadores chineses Yu Chen e Yiling He publicaram recentemente um estudo sobre como usar força bruta em quase qualquer smartphone Android protegido por impressão digital. Eles chamaram o ataque de BrutePrint.
Quão únicas são as impressões digitais?
Antes de começarmos a investigar o trabalho de nossos camaradas chineses, brevemente – alguma teoria de fundo… Para começar, e você deve saber disso, mas as impressões digitais são verdadeiramente únicas e nunca se alteram com a idade.
Agora, em 1892, o cientista inglês Sir Francis Galton publicou um trabalho laconicamente intitulado Finger Prints. Nele, ele resumiu os dados científicos então atuais sobre impressões digitais, e o trabalho de Galton lançou as bases teóricas para o uso prático posterior de impressões digitais em forense.
Entre outras coisas, Sir Francis Galton calculou que correspondência de impressões digitais probabilidade era “menos de 236, ou 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 anatomia hardcore ou dos fatores biológicos por trás da singularidade das impressões digitais, aqui está um novo trabalho de pesquisa sobre o assunto.
Quão confiáveis são os sensores de impressão digital?
O trabalho de Sir Francis e tudo o que dele decorreu, no entanto, relaciona-se com o (quente) mundo analógico, abrangendo coisas como tirar impressões digitais, compará-las com as deixadas, digamos, na cena de um crime, e Bob é seu tio. Mas as coisas são um pouco diferentes na (fria) realidade digital. A qualidade da representação da impressão digital digital depende de vários fatores: tipo de sensor, seu tamanho e resolução e, em grande medida, pós-processamento de “imagem” e algoritmos de correspondência.
Impressões digitais como foram vistas por Sir Francis Galton há 150 anos (esquerda), e pelo sensor óptico do seu smartphone de última geração (à direita). Source and Source
E, claro, o desenvolvedor precisa baratear o aparelho (ou ninguém vai comprar), conseguir autenticação em fração de segundo (ou fique sobrecarregado com reclamações sobre velocidade lenta) e evite falsos negativos a todo custo (ou o usuário descartará tudo completamente). 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 a 64 bilhões. Por exemplo, a Apple estima a probabilidade de 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 ordem ou duas.
Isso nos leva de bilhões para milhares. O que já está ao alcance da força bruta. Assim, o potencial hacker está a apenas um obstáculo do prêmio: o limite do número de tentativas de reconhecimento de impressões digitais. Normalmente, apenas cinco deles são permitidos, seguidos de um período prolongado de bloqueio de autenticação de impressão digital.
Esse obstáculo pode ser superado? Yu Chen e Yiling He dão uma resposta afirmativa a isso em seu estudo. 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 abre a oportunidade para um ataque MITM no sistema de autenticação: com um dispositivo conectado ao smartphone por meio da porta SPI da placa-mãe, pode-se interceptar mensagens recebidas do sensor de impressão digital e enviar suas próprias mensagens emulando o sensor de impressão digital.
Os pesquisadores construíram tal dispositivo (pseudo-sensor) 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 alimentar múltiplas imagens de impressões digitais para smartphones no modo automático.
Dispositivo para força bruta do sistema de autenticação de impressão digital. Fonte
A partir daí, 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, 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 para maximizar o desempenho de força bruta. As imagens de impressões digitais foram adaptadas por IA para corresponder às geradas pelos sensores instalados nos smartphones participantes do estudo.
As imagens retornadas por diferentes tipos de sensores de impressão digital são bastante diferentes um do outro. Source
As duas vulnerabilidades na parte inferior do BrutePrint: Cancel-After-Match-Fail e Match-After-Lock
O ataque BrutePrint explora duas vulnerabilidades. Os pesquisadores os descobriram na lógica básica da estrutura de autenticação de impressão digital que, ao que parece, vem com todos os smartphones Android sem exceção. As vulnerabilidades foram chamadas de Cancel-After-Match-Fail e Match-After-Lock.
The Cancel-After-Match- Vulnerabilidade de falha
Cancelar -After-Match-Fail (CAMF) explora dois recursos importantes do mecanismo de autenticação de impressão digital. A primeira é o fato de contar com multisampling, 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). A segunda é o fato de que, além de
falhar, uma tentativa de autenticação também pode resultar em
error — e neste caso, há um retorno ao início.
Permite o envio de uma série de imagens terminando em um quadro pré-editado para disparar 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.
Como funciona Cancel-After-Match-Fail: o erro leva você de volta ao ponto de partida sem desperdiçar uma tentativa. Source
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 novas imagens, às quais o sistema ainda responderá com uma resposta honesta ‘verdadeiro’ ou ‘falso’. Ou seja, uma vez detectada a imagem correta, você pode usá-la assim que o sistema estiver fora do bloqueio, concluindo assim uma autenticação bem-sucedida.
Ataques explorando Cancel-After-Match-Fail e Match-After-Lock
O ataque explorando a primeira vulnerabilidade foi bem-sucedido para todos os smartphones testados com Android genuíno integrado, mas por algum motivo não funcionou com o HarmonyOS. Match-After-Lock foi explorado em smartphones Vivo e Xiaomi, bem como em ambos os telefones Huawei executando HarmonyOS.
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 maliciosas de autenticação de impressão digital.
De acordo com o estudo, demorou de 2,9 a 13,9 horas para hackear um sistema de autenticação de smartphone Android com apenas uma impressão digital registrada. Já para smartphones com o máximo possível de impressões digitais cadastradas para um determinado modelo (quatro para Samsung, cinco para todos os demais), o tempo foi bastante reduzido: hackeá-los levou de 0,66 para 2,78 horas.
Probabilidade de sucesso do ataque BrutePrint em função do tempo gasto: uma impressão digital registrada (linha contínua) e o número máximo de impressões digitais registradas (linha tracejada). Fonte
E os iPhones?
O sistema Touch ID usado nos iPhones acabou por ser 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 alimentar o sistema com 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 que a festa dure para sempre, nos iPhones o número de tentativas só pode ser aumentado de 5 para 15.
So iOS os usuários podem dormir 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 maneira.
Quão perigoso é tudo isso? também preocupado com o BrutePrint – na prática, o ataque dificilmente representa uma grande ameaça. Há várias razões para isso:
BrutePrint requer acesso físico ao dispositivo. Este fator por si só reduz a probabilidade de algo parecido acontecer com você por uma grande margem.
- Além disso, para realizar o ataque, é necessário abrir o dispositivo e fazer uso de um conector específico na placa-mãe. Fazer isso sem o conhecimento do proprietário dificilmente é fácil.
- Mesmo na melhor das hipóteses, o ataque irá
requerem um tempo considerável — medido em horas.
E, claro, BrutePrint
Combinados, esses fatores tornam extremamente improvável que tal ataque possa ser usado na vida real – a menos que algumas pessoas com mentalidade empreendedora construam um produto comercial fácil de usar com base no estudo.
Proteção de smartphones Android contra força bruta de impressão digital
Se, apesar do acima, você acredita que poderia ser vítima de tal ataque, aqui estão algumas dicas sobre como se proteger:
Registre-se como poucos impressões digitais quanto possível (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.