Windows Hello è una funzionalità di autenticazione biometrica e di riconoscimento facciale integrata in Windows. Lanciata con Windows 10, Windows Hello offre un modo più sicuro e pratico per accedere ai propri dispositivi senza dover digitare alcuna password (in un altro articolo abbiamo parlato di tutte le possibili modalità di login). La piattaforma supporta diversi metodi di autenticazione, tra cui PIN, sequenza grafica, riconoscimento facciale, impronta digitale e riconoscimento dell’iride.
Il team di ricerca Microsoft Offensive Research and Security Engineering (MORSE) ha chiesto agli esperti di sicurezza di Blackwing Intelligence un’attenta verifica sul funzionamento di Windows Hello insieme con un lettore di impronte digitali. I ricercatori hanno eseguito un gran numero di prove su tre notebook, riuscendo in ogni caso a eludere l’autenticazione di Windows Hello. I dispositivi utilizzati per i test, durati all’incirca tre mesi, sono i seguenti:
- Dell Inspiron 15
- Lenovo ThinkPad T14
- Microsoft Surface Pro Type Cover con Fingerprint ID (per Surface Pro 8 / X)
L’obiettivo era quello di valutare la sicurezza dei tre migliori sensori di impronte digitali integrati, forniti direttamente dai vari produttori hardware. Il processo di ricerca si è concentrato su un’approfondita attività di reverse engineering su hardware e software, sulla scoperta di difetti nell’implementazione crittografica del protocollo TLS personalizzato e di alcuni protocolli proprietari.
Sensori “Match on Chip” (MoC)
Gli autori della ricerca che ha messo al tappeto Windows Hello e i principali sensori di impronte digitali fanno innanzi tutto presente che i dispositivi in questione sono del tipo Match on Chip (MoC). A differenza dei prodotti “match on host“, i sensori MoC hanno un microprocessore e una memoria integrati nel chip, il che consente di eseguire l’abbinamento delle impronte digitali in modo sicuro. Poiché i modelli di impronte digitali non lasciano mai il chip, vengono eliminati i problemi di privacy legati al materiale biometrico memorizzato.
Secure Device Connection Protocol (SDCP)
Per rafforzare ulteriormente i sensori MoC, Microsoft ha creato SDCP, un insieme di standard e un protocollo di comunicazione sicura. SDCP garantisce la sicurezza nelle comunicazioni tra l’host (il dispositivo, come un computer o un tablet) e il sensore di impronte digitali. È progettato per affrontare questioni di sicurezza cruciali, garantendo che l’autenticazione biometrica avvenga in modo sicuro e affidabile.
Per implementare SDCP, i dispositivi che supportano questa tecnologia devono usare un bootloader non aggiornabile memorizzato in ROM. Durante il processo di certificazione del dispositivo, Microsoft emette un certificato e una chiave privata specifici per ogni singolo modello.
SDCP richiede inoltre l’utilizzo di Secure Boot per garantire che solo firmware noto e non compromesso sia caricato ed eseguito sul dispositivo. Una volta avviato il firmware, può essere stabilita una connessione sicura tra l’host e il dispositivo mediante lo scambio delle chiavi crittografiche.
L’attacco che ha messo al tappeto le difese di Windows Hello combinate con quelle del sensore di impronte digitali
I ricercatori hanno superato la protezione di Windows Hello e del lettore di impronte digitali seguendo un processo di ricerca delle vulnerabilità che ha richiesto, come accennato in precedenza, un lavoro certosino.
Bersaglio numero uno: Dell Inspiron
Si è partiti con il sensore che equipaggia il sistema Dell Inspiron 15 perché, secondo i ricercatori, offre il supporto Linux, utilizza codice di qualità del codice inferiore e comunicazioni tramite USB facili da monitorare e analizzare.
Un dissector è un modulo software che in Wireshark permette di analizzare e interpretare i pacchetti dati catturati, rendendo più facilmente comprensibili e visualizzabili le informazioni contenute nei pacchetti di rete. Il dissector traduce i dati grezzi acquisiti da Wireshark in informazioni comprensibili e strutturate che possono essere visualizzate dall’utente.
I ricercatori di Blackwing Intelligence hanno realizzato un dissector “ad hoc” per analizzare il protocollo di comunicazione proprietario tra driver e sensore di impronte digitali. In questo modo è stato possibile comprendere i “rudimenti” delle comunicazioni per poi andare alla ricerca di debolezze e vulnerabilità.
La presenza di una differenza nell’implementazione di SDCP tra Windows e Linux ha permesso di forzare la scrittura di un’impronta digitale contraffatta tramite Linux. Facendo leva su una debolezza nella fase di inizializzazione del sensore, gli esperti hanno sostituito con successo il database delle impronte digitali al momento dell’avvio del sistema operativo.
La seconda vittima: Lenovo ThinkPad
Studiando il funzionamento del sensore montato sul Lenovo ThinkPad, i ricercatori di Blackwing Intelligence hanno potuto notare che il lettore di impronte Synaptics non utilizzava SDCP, ma un TLS personalizzato per la comunicazione via USB.
L’attacco si è quindi concretizzato, in questo caso, attraverso la decodifica del certificato/client key utilizzato per poi avviare una nuova sessione TLS con il sensore.
Anche qui, si è poi passati all’enumerazione delle impronte digitali valide presenti sul sensore Synaptics e alla successiva aggiunta di un’impronta contraffatta, sfruttata per autenticarsi in Windows.
Il terzo dispositivo sconfitto: Microsoft Surface Pro X Type Cover
Blackwing Intelligence osserva infine che anche in un dispositivo Microsoft come Surface Pro X Type Cover, il sensore ELAN non utilizza SDCP e le comunicazioni via USB avvengono in chiaro.
Inoltre, qualsiasi dispositivo USB poteva affermare di essere il sensore ELAN e offrire il servizio di autenticazione senza alcuna verifica. Avvalendosi di una scheda Raspberry Pi 4, gli esperti hanno inoltre bypassato un controllo aggiuntivo sulla consistenza delle impronte digitali presenti nella Surface Type Cover.
Morale della favola
I ricercatori, pur sottolineando l’efficacia della biometria come metodo di accesso, hanno evidenziato le tante carenze rilevate nelle implementazioni dei singoli produttori.
Ai produttori hardware hanno quindi caldamente consigliato ai produttori di abilitare SDCP e sottoporre i propri prodotti, d’ora in avanti, a revisioni di sicurezza (audit) svolte da terze parti (soggetti indipendenti).
L’avventura, promette Blackwing Intelligence, non finisce qui perché la prossima tappa consiste nell’esplorazione del livello di sicurezza del firmware, nel rilevamento di funzionalità nascoste, nella robustezza rispetto ad attacchi incentrati sull’hardware. La ricerca sarà inoltre ampliata a piattaforme come Linux, Android, iOS e macOS.