Se você ouviu falar que os pesquisadores ignoraram o Windows Hello nos laptops Dell, Lenovo e Surface, isso é tudo que você precisa saber.
Principais conclusões
- Os pesquisadores conseguiram contornar o Windows Hello em laptops Dell, Lenovo e Microsoft, destacando vulnerabilidades na tecnologia de digitalização de impressões digitais.
- Os sensores de impressão digital nesses laptops usam a tecnologia “Match on Chip” para realizar verificação biométrica em seus próprios microprocessadores, mas isso não impede inerentemente ataques de falsificação.
- O Secure Device Protection Protocol (SDCP) da Microsoft visa resolver essas vulnerabilidades, mas os pesquisadores descobriram que alguns laptops, incluindo Lenovo ThinkPad T14s e Microsoft Surface Type Cover, não utilizavam SDCP, deixando-os mais suscetíveis a ataques.
Se você tem um Notebook com Windows, então você provavelmente já encontrou o Windows Hello. É um login biométrico que, em laptops compatíveis, permite que os usuários façam login com uma leitura facial, de íris ou de impressão digital. No caso de usar uma impressão digital para entrar em seu laptop, esteja avisado: pesquisadores da sede da Blackwing contornaram o Windows Hello em três laptops diferentes da Dell, Lenovo e Microsoft.
Falando na conferência BlueHat da Microsoft em Redmond, Washington, Jesse D'Aguanno e Timo Teräs demonstrado como eles conseguiram ignorar o Windows Hello no Dell Inspiron 15, no Lenovo ThinkPad T14s e na capa tipo Microsoft Surface Pro com identificação de impressão digital (para Surface Pro 8/X). Isso significa que eles conseguiram obter acesso à conta do usuário e aos dados do usuário como se fossem um usuário normal. Além disso, os sensores usados nesses três dispositivos são da Goodix, Synaptics e ELAN respectivamente, o que significa que essas vulnerabilidades não estão limitadas a apenas um fabricante de scanner de impressão digital ou laptop OEM.
Match on Chip, SDCP e como os fabricantes de laptops erraram
Em primeiro lugar, é fundamental compreender como esses leitores de impressão digital funcionam e interoperam com o sistema host. Todos os três leitores de impressão digital usam a tecnologia “Match on Chip” (MoC), o que significa que eles possuem seu próprio microprocessador e armazenamento. Toda a verificação de impressões digitais é realizada neste chip, incluindo a comparação com o banco de dados de “modelos de impressões digitais”; os dados biométricos que o sensor de impressão digital obtém. Isso garante que mesmo que a máquina host esteja comprometida (neste caso, o próprio laptop), os dados biométricos não correm risco.
Outro benefício do MoC é que ele evita que um invasor comprometa um sensor falsificado e envie dados biométricos ao sistema host. No entanto, isso não impede que um sensor malicioso finja ser legítimo, informando ao sistema que o usuário foi autenticado. Ele também não pode impedir ataques de repetição, em que um invasor interceptaria uma tentativa de login válida e a "repetiria" de volta ao sistema host. A Segurança de Login Avançada (ESS) do Windows Hello requer o uso de sensores MoC, mas você já pode ver várias maneiras pelas quais invasores criativos podem tentar entrar no laptop de um usuário. É por isso que a Microsoft desenvolveu o SDCP, o Secure Device Protection Protocol.
O SDCP tem os seguintes objetivos:
- Garantir que o dispositivo de impressão digital seja confiável
- Garantir que o dispositivo de impressão digital esteja íntegro
- Protegendo a entrada entre o dispositivo de impressão digital e o host
SDCP é uma doutrina que afirma que se o sistema estiver aceitando um login biométrico, ele poderá fazê-lo presumindo que o proprietário do dispositivo estava fisicamente presente no momento do login. Funcionando em uma cadeia de confiança, visa responder às seguintes questões sobre o sensor utilizado:
- O host pode confiar que está falando com um dispositivo genuíno?
- O host pode confiar que o dispositivo não foi hackeado ou modificado?
- Os dados provenientes do dispositivo estão protegidos?
É por isso que o SDCP cria um canal ponta a ponta entre o host e o sensor de impressão digital. Isso aproveita o Secure Boot, que garante que um certificado específico do modelo e uma chave privada sirvam como uma cadeia de confiança para verificar se todas as comunicações foram intactas. Firmware comprometido ainda pode ser usado, mas o sistema saberá que foi comprometido e modificado, e os pesquisadores notaram que todos os dispositivos testados também assinaram seu firmware para evitar adulteração.
Tudo o que foi dito acima parece bom, e o SDCP como conceito é um ótimo recurso de segurança que os OEMs deveriam usar. Como resultado, foi uma surpresa para os pesquisadores quando o Lenovo ThinkPad T14s e o Microsoft Surface Type Cover não fizeram uso do SDCP.
Para citar os pesquisadores do QG da Blackwing:
"A Microsoft fez um bom trabalho ao projetar o SDCP para fornecer um canal seguro entre o host e os dispositivos biométricos, mas infelizmente os fabricantes de dispositivos parecem não entender alguns dos objetivos. Além disso, o SDCP cobre apenas um escopo muito restrito da operação de um dispositivo típico, enquanto a maioria dos dispositivos tem exposta uma superfície de ataque considerável que não é coberta pelo SDCP.
Por fim, descobrimos que o SDCP nem sequer estava ativado em dois dos três dispositivos que visamos."
Atacando Dell, Lenovo e Surface
No caso do Dell Inspiron 15, os pesquisadores descobriram que poderiam cadastrar uma impressão digital via Linux, que por sua vez não faria uso de SDCP. Embora o sensor armazene dois bancos de dados de impressões digitais para Linux e Windows (garantindo assim que o SDCP seja usado apenas no Windows e que um usuário não possa se inscrever no Linux para fazer login no Windows) é possível interceptar a conexão entre o sensor e o host para dizer ao sensor para usar o banco de dados Linux, apesar da máquina estar inicializada no Janelas.
Tudo isso foi possível graças a um pacote não autenticado que verificava o sistema operacional inicializado e poderia ser sequestrado para apontar para o banco de dados Linux. Era necessário usar um Raspberry Pi 4 para registrar usuários no banco de dados Linux e conectar-se ao sensor manualmente, mas funcionou e permitiu que os pesquisadores fizessem login no sistema Windows usando qualquer impressão digital, mantendo o SDCP intacto.
Fonte: QG da Blackwing
No caso do Lenovo ThinkPad T14s, foi necessária a engenharia reversa de uma pilha TLS personalizada, garantindo a comunicação entre o host e o sensor, ignorando totalmente o SDCP. A chave usada para criptografar essa comunicação acabou sendo uma combinação do produto da máquina nome e número de série e exploração simplesmente porque um "problema de engenharia", como os pesquisadores colocaram isto.
Depois que a impressão digital do invasor pôde ser inscrita à força na lista de IDs válidos, foi possível inicializar o Windows e usar a impressão digital do invasor para fazer login no sistema.
Fonte: QG da Blackwing
O pior e mais flagrante dos três vem do sensor de impressão digital do Microsoft Surface Cover da ELAN. Não há SDCP, ele se comunica via USB em texto não criptografado e não faz nenhum esforço para autenticar o usuário. A única verificação de autenticação feita é uma verificação com o sistema host para ver se o número de impressões digitais registradas no host corresponde ao número que o sensor possui. Isso ainda pode ser facilmente contornado com um sensor falsificado perguntando ao sensor real quantas impressões digitais estão registradas.
O que você pode fazer?
Se você possui um desses laptops afetados, tenha certeza de que é muito improvável que qualquer ataque como esse aconteça com você. Esses são ataques altamente especializados que exigem muito esforço por parte do invasor e também precisam de acesso físico ao seu laptop. Se isso for um problema, o melhor caminho a seguir é atualizar para um laptop mais seguro ou pelo menos desabilitar totalmente o Windows Hello.
Desativar o Windows Hello deve ser suficiente, pois exigirá que você faça login manualmente e o sistema não esperará que um sensor de impressão digital faça login. Se você ainda não confia no seu laptop, então comprar um novo pode ser uma boa ideia.