L'autenticazione tramite impronta digitale di Windows Hello di Microsoft è stata bypassata sui laptop Dell, Lenovo e Surface

Se hai sentito che i ricercatori hanno bypassato Windows Hello sui laptop Dell, Lenovo e Surface, questo è tutto ciò che devi sapere.

Punti chiave

  • I ricercatori sono riusciti a bypassare Windows Hello sui laptop Dell, Lenovo e Microsoft, evidenziando le vulnerabilità nella tecnologia di scansione delle impronte digitali.
  • I sensori di impronte digitali su questi laptop utilizzano la tecnologia "Match on Chip" per eseguire la verifica biometrica sui propri microprocessori, ma ciò non impedisce di per sé gli attacchi di spoofing.
  • Il Secure Device Protection Protocol (SDCP) di Microsoft mira a risolvere queste vulnerabilità, ma i ricercatori ne hanno scoperte alcune i laptop, inclusi Lenovo ThinkPad T14 e Microsoft Surface Type Cover, non utilizzavano affatto SDCP, rendendoli più suscettibili a attacchi.

Se hai un Computer portatile Windows, probabilmente ti sei imbattuto in Windows Hello. Si tratta di un accesso biometrico che, sui laptop supportati, consente agli utenti di accedere con una scansione del viso, una scansione dell'iride o una scansione delle impronte digitali. Tuttavia, nel caso in cui utilizzi un'impronta digitale per accedere al tuo laptop, fai attenzione: i ricercatori del quartier generale di Blackwing hanno bypassato Windows Hello su tre diversi laptop di Dell, Lenovo e Microsoft.

Intervenendo alla conferenza BlueHat di Microsoft a Redmond, Washington, Jesse D'Aguanno e Timo Teräs dimostrato come sono riusciti a bypassare Windows Hello su Dell Inspiron 15, Lenovo ThinkPad T14s e Microsoft Surface Pro Type Cover con Fingerprint ID (per Surface Pro 8/X). Ciò significava che potevano accedere all'account utente e ai suoi dati come se fossero un utente normale. Inoltre, i sensori utilizzati su questi tre dispositivi provengono rispettivamente da Goodix, Synaptics ed ELAN, il che significa che queste vulnerabilità non sono limitate a un solo produttore di scanner di impronte digitali o laptop OEM.

Match on Chip, SDCP e come i produttori di laptop hanno sbagliato

Surface Pro 7 + con tastiera con cover con tasti nera

Innanzitutto, è fondamentale capire come funzionano questi scanner di impronte digitali e come interagiscono con il sistema host. Tutti e tre gli scanner di impronte digitali utilizzano la tecnologia "Match on Chip" (MoC), il che significa che racchiudono il proprio microprocessore e memoria. Tutta la verifica delle impronte digitali viene eseguita su questo chip, compreso il confronto con il database dei "modelli di impronte digitali"; i dati biometrici ottenuti dal sensore di impronte digitali. Ciò garantisce che anche se la macchina host viene compromessa (in questo caso, il laptop stesso), i dati biometrici non sono a rischio.

Un altro vantaggio del MoC è che impedisce a un utente malintenzionato di compromettere un sensore contraffatto e di inviare dati biometrici al sistema host. Tuttavia, non impedisce a un sensore dannoso di fingere di essere legittimo, comunicando al sistema che l'utente si è autenticato. Inoltre, non può impedire gli attacchi di riproduzione, in cui un utente malintenzionato intercetta un tentativo di accesso valido e quindi lo "riproduce" sul sistema host. Windows Hello Advanced Sign-in Security (ESS) richiede l'uso di sensori MoC, ma puoi già vedere diversi modi in cui gli aggressori creativi potrebbero tentare di entrare nel laptop di un utente. Ecco perché Microsoft ha sviluppato SDCP, il protocollo Secure Device Protection.

L'SDCP ha i seguenti obiettivi:

  1. Garantire che il dispositivo per le impronte digitali sia affidabile
  2. Garantire che il dispositivo per impronte digitali sia integro
  3. Protezione dell'input tra il dispositivo per impronte digitali e l'host

SDCP è una dottrina che afferma che se il sistema accetta un accesso biometrico, può farlo presupponendo che il proprietario del dispositivo fosse fisicamente presente al momento dell'accesso. Funzionando su una catena di fiducia, mira a rispondere alle seguenti domande sul sensore utilizzato:

  1. L'host può fidarsi che stia comunicando con un dispositivo autentico?
  2. L'host può essere sicuro che il dispositivo non sia stato violato o modificato?
  3. I dati provenienti dal dispositivo sono protetti?

Questo è il motivo per cui SDCP crea un canale end-to-end tra l'host e il sensore di impronte digitali. Ciò sfrutta Secure Boot, che garantisce che un certificato specifico del modello e una chiave privata fungano da catena di fiducia per verificare che tutte le comunicazioni non siano state manomesse. È ancora possibile utilizzare il firmware compromesso, ma il sistema saprà che è stato compromesso e modificato e i ricercatori hanno notato che tutti i dispositivi testati hanno anche firmato il proprio firmware per impedirlo manomissione.

Tutto quanto sopra sembra positivo e il concetto SDCP è un'ottima funzionalità di sicurezza che gli OEM dovrebbero utilizzare. Di conseguenza, è stata una sorpresa per i ricercatori che il Lenovo ThinkPad T14s e la Microsoft Surface Type Cover non utilizzassero affatto l'SDCP.

Per citare i ricercatori del quartier generale di Blackwing:

"Microsoft ha fatto un buon lavoro progettando l'SDCP per fornire un canale sicuro tra l'host e i dispositivi biometrici, ma sfortunatamente i produttori di dispositivi sembrano fraintendere alcuni degli obiettivi. Inoltre, l’SDCP copre solo un ambito molto ristretto del funzionamento tipico di un dispositivo, mentre la maggior parte dei dispositivi ha una superficie di attacco considerevole esposta che non è affatto coperta dall’SDCP.

Alla fine, abbiamo scoperto che l'SDCP non era nemmeno abilitato su due dei tre dispositivi presi di mira."

Attaccare Dell, Lenovo e Surface

Nel caso del Dell Inspiron 15 i ricercatori hanno scoperto che è possibile registrare un'impronta digitale tramite Linux, senza utilizzare SDCP. Anche se risulta che il sensore memorizza due database di impronte digitali sia per Linux che per Windows (garantendo quindi che SDCP venga utilizzato solo su Windows e che un utente non possa registrarsi su Linux per accedere su Windows) è possibile intercettare la connessione tra sensore e host per dire al sensore di utilizzare il database Linux, nonostante la macchina sia avviata Finestre.

Tutto ciò è stato possibile grazie a un pacchetto non autenticato che controllava il sistema operativo avviato e poteva essere dirottato per puntare invece al database Linux. È stato necessario utilizzare un Raspberry Pi 4 per registrare gli utenti nel database Linux e connettersi manualmente al sensore, ma non è stato necessario ha funzionato e ha consentito ai ricercatori di accedere al sistema Windows utilizzando qualsiasi impronta digitale, pur mantenendo l'SDCP intatto.

Fonte: quartier generale dell'Ala Nera

Nel caso del Lenovo ThinkPad T14s, è stato necessario il reverse engineering di uno stack TLS personalizzato che proteggesse la comunicazione tra l'host e il sensore, saltando completamente l'SDCP. La chiave utilizzata per crittografare quella comunicazione si è rivelata una combinazione del prodotto della macchina nome e numero di serie e sfruttamento semplicemente perché si tratta di un "problema di ingegneria", come affermano i ricercatori Esso.

Una volta che l'impronta digitale dell'aggressore poteva essere registrata forzatamente nell'elenco degli ID validi, era possibile avviare Windows e utilizzare l'impronta digitale dell'aggressore per accedere al sistema.

Fonte: quartier generale dell'Ala Nera

Il peggiore e il più eclatante dei tre viene dal sensore di impronte digitali della Microsoft Surface Cover di ELAN. Non esiste SDCP, comunica tramite USB in chiaro e non fa alcuno sforzo per autenticare l'utente. L'unico controllo di autenticazione effettuato è un controllo con il sistema host per verificare se il numero di impronte digitali registrate sull'host corrisponde al numero del sensore. Questo può ancora essere facilmente aggirato con un sensore contraffatto che chiede al sensore reale quante impronte digitali sono registrate.

Cosa sai fare?

Se possiedi uno di questi laptop interessati, stai certo che è molto improbabile che ti possa capitare un attacco come questo. Si tratta di attacchi altamente specializzati che richiedono molto impegno da parte dell'aggressore e necessitano anche dell'accesso fisico al laptop. Se questo è un problema, la soluzione migliore è passare a un laptop più sicuro o almeno disabilitare completamente Windows Hello.

Si spera che disabilitare Windows Hello sia sufficiente, poiché richiederà l'accesso manuale e il sistema non si aspetterà affatto che un sensore di impronte digitali effettui l'accesso. Se ancora non ti fidi del tuo laptop, allora prenderne uno nuovo potrebbe essere una buona idea.