Ak ste počuli, že výskumníci obišli Windows Hello na notebookoch Dell, Lenovo a Surface, toto je všetko, čo potrebujete vedieť.
Kľúčové informácie
- Výskumníkom sa podarilo obísť Windows Hello na prenosných počítačoch Dell, Lenovo a Microsoft, pričom poukázali na slabé miesta v technológii skenovania odtlačkov prstov.
- Snímače odtlačkov prstov na týchto prenosných počítačoch využívajú technológiu „Match on Chip“ na vykonávanie biometrického overenia na ich vlastných mikroprocesoroch, ale to samo o sebe nezabráni útokom spoofingu.
- Cieľom protokolu SDCP (Secure Device Protection Protocol) od spoločnosti Microsoft je riešiť tieto zraniteľnosti, ale vedci zistili, že niektoré notebooky, vrátane Lenovo ThinkPad T14s a Microsoft Surface Type Cover, nepoužívali SDCP vôbec, takže boli náchylnejšie na útokov.
Ak máte a Prenosný počítač so systémom Windows, potom ste pravdepodobne narazili na Windows Hello. Ide o biometrické prihlásenie, ktoré na podporovaných prenosných počítačoch umožňuje používateľom prihlásiť sa buď skenovaním tváre, skenom dúhovky alebo skenovaním odtlačkov prstov. V prípade použitia odtlačku prsta na vstup do vášho notebooku však buďte varovaní: výskumníci z Blackwing HQ obišli Windows Hello na troch rôznych notebookoch od Dell, Lenovo a Microsoft.
Jesse D'Aguanno a Timo Teräs na konferencii BlueHat spoločnosti Microsoft v Redmonde vo Washingtone preukázané ako sa im podarilo obísť Windows Hello na Dell Inspiron 15, Lenovo ThinkPad T14s a Microsoft Surface Pro Type Cover s Fingerprint ID (pre Surface Pro 8/X). To znamenalo, že mohli získať prístup k používateľskému účtu a údajom používateľa, ako keby to bol bežný používateľ. Okrem toho senzory použité na týchto troch zariadeniach pochádzajú od spoločností Goodix, Synaptics a ELAN, resp. čo znamená, že tieto zraniteľnosti sa neobmedzujú len na jedného výrobcu snímača odtlačkov prstov alebo notebooku OEM.
Zápas na čipe, SDCP a ako to pokazili výrobcovia notebookov
V prvom rade je nevyhnutné pochopiť, ako tieto snímače odtlačkov prstov fungujú a spolupracujú s hostiteľským systémom. Všetky tri snímače odtlačkov prstov využívajú technológiu „Match on Chip“ (MoC), čo znamená, že obsahujú vlastný mikroprocesor a úložisko. Všetky overenia odtlačkov prstov sa vykonávajú na tomto čipe, vrátane porovnávania s databázou „šablón odtlačkov prstov“; biometrické údaje, ktoré snímač odtlačkov prstov získa. To zaisťuje, že aj keď je hostiteľský stroj napadnutý (v tomto prípade samotný notebook), biometrické údaje nie sú ohrozené.
Ďalšou výhodou MoC je, že bráni útočníkovi kompromitovať falošný senzor a odosielať biometrické údaje do hostiteľského systému. Nebráni to však škodlivému senzoru predstierať, že je legitímny, a povedať systému, že používateľ sa overil. Nemôže tiež zabrániť opakovaným útokom, pri ktorých by útočník zachytil platný pokus o prihlásenie a potom ho „prehral“ späť do hostiteľského systému. Windows Hello Advanced Sign-in Security (ESS) vyžaduje použitie snímačov MoC, no už teraz môžete vidieť množstvo spôsobov, ktorými sa môžu kreatívni útočníci pokúsiť dostať do notebooku používateľa. To je dôvod, prečo Microsoft vyvinul SDCP, protokol Secure Device Protection Protocol.
SDCP má nasledujúce ciele:
- Zabezpečenie dôveryhodnosti zariadenia na snímanie odtlačkov prstov
- Uistite sa, že zariadenie na snímanie odtlačkov prstov je zdravé
- Ochrana vstupu medzi zariadením na snímanie odtlačkov prstov a hostiteľom
SDCP je doktrína, ktorá hovorí, že ak systém akceptuje biometrické prihlásenie, môže tak urobiť za predpokladu, že vlastník zariadenia bol v čase prihlásenia fyzicky prítomný. Funguje na reťazci dôvery a jeho cieľom je odpovedať na nasledujúce otázky o používanom senzore:
- Môže hostiteľ dôverovať, že hovorí s originálnym zariadením?
- Môže hostiteľ veriť, že zariadenie nebolo napadnuté alebo upravené?
- Sú dáta pochádzajúce zo zariadenia chránené?
To je dôvod, prečo SDCP vytvára end-to-end kanál medzi hostiteľom a snímačom odtlačkov prstov. Toto využíva Secure Boot, ktorý zaisťuje, že certifikát špecifický pre daný model a súkromný kľúč slúžia ako reťazec dôvery na overenie toho, že všetka komunikácia bola nepoškodená. Kompromitovaný firmvér možno stále používať, ale systém bude vedieť, že bol napadnutý a modifikované a výskumníci poznamenali, že všetky testované zariadenia tiež podpísali svoj firmvér, aby tomu zabránili falšovanie.
Všetko vyššie uvedené znie dobre a koncept SDCP je skvelou bezpečnostnou funkciou, ktorú by výrobcovia OEM mali používať. V dôsledku toho bolo pre výskumníkov prekvapením, keď Lenovo ThinkPad T14s a kryt Microsoft Surface Type Cover vôbec nevyužívali SDCP.
Aby som citoval výskumníkov z centrály Blackwing:
„Microsoft odviedol dobrú prácu pri navrhovaní SDCP, aby poskytoval bezpečný kanál medzi hostiteľom a biometrickými zariadeniami, ale bohužiaľ sa zdá, že výrobcovia zariadení nepochopili niektoré z cieľov. Okrem toho SDCP pokrýva iba veľmi úzky rozsah typických operácií zariadenia, zatiaľ čo väčšina zariadení má odkrytú veľkú útočnú plochu, ktorú SDCP vôbec nepokrýva.
Nakoniec sme zistili, že SDCP nebol povolený ani na dvoch z troch zariadení, na ktoré sme sa zamerali.“
Útok na Dell, Lenovo a Surface
V prípade Dell Inspiron 15 výskumníci zistili, že môžu zaregistrovať odtlačok prsta cez Linux, ktorý zase nebude využívať SDCP. Aj keď sa ukázalo, že snímač ukladá dve databázy odtlačkov prstov pre Linux aj Windows (čím sa zabezpečí, že SDCP sa používa iba v systéme Windows a používateľ sa nemôže zaregistrovať Linux na prihlásenie do systému Windows) je možné zachytiť spojenie medzi senzorom a hostiteľom a povedať senzoru, aby použil databázu Linux, napriek tomu, že je počítač spustený Windows.
To všetko bolo možné vďaka neoverenému paketu, ktorý kontroloval spustený operačný systém a mohol byť unesený, aby namiesto toho ukázal na databázu Linuxu. Vyžadovalo to použitie Raspberry Pi 4 na registráciu používateľov do databázy Linuxu a manuálne pripojenie k senzoru, ale to fungovalo a umožnilo výskumníkom prihlásiť sa do systému Windows pomocou akéhokoľvek odtlačku prsta, pričom si stále zachovalo SDCP neporušené.
Zdroj: Blackwing HQ
V prípade Lenovo ThinkPad T14s to vyžadovalo spätné inžinierstvo vlastného zásobníka TLS zabezpečujúceho komunikáciu medzi hostiteľom a snímačom, pričom sa úplne vynechal SDCP. Ukázalo sa, že kľúč použitý na šifrovanie tejto komunikácie je kombináciou produktu stroja meno a sériové číslo a využívanie jednoducho preto, že ide o „technický problém“, ako uvádzajú výskumníci to.
Keď sa podarilo násilne zapísať útočníkov odtlačok do zoznamu platných ID, bolo možné nabootovať Windows a použiť útočníkov odtlačok na prihlásenie do systému.
Zdroj: Blackwing HQ
Najhoršie a najstrašnejšie z týchto troch pochádza zo snímača odtlačkov prstov na kryte Microsoft Surface Cover od spoločnosti ELAN. Neexistuje SDCP, komunikuje cez USB v čistom texte a nevynakladá žiadne úsilie na autentifikáciu používateľa. Jediná overovacia kontrola, ktorú vykonáva, je kontrola s hostiteľským systémom, či sa počet zaregistrovaných odtlačkov prstov na hostiteľovi zhoduje s číslom senzora. To sa dá stále ľahko obísť pomocou falošného snímača, ktorý sa skutočného snímača pýta, koľko odtlačkov prstov je zaregistrovaných.
Čo môžeš urobiť?
Ak vlastníte jeden z týchto postihnutých notebookov, buďte si istí, že je veľmi nepravdepodobné, že by sa vám takýto útok stal. Ide o vysoko špecializované útoky, ktoré si od útočníka vyžadujú veľa úsilia a potrebujú aj fyzický prístup k vášmu notebooku. Ak je to problém, najlepším spôsobom je inovovať na bezpečnejší prenosný počítač alebo aspoň úplne vypnúť Windows Hello.
Dúfajme, že vypnutie Windows Hello by malo stačiť, pretože bude vyžadovať manuálne prihlásenie a systém nebude vôbec očakávať, že sa prihlási snímač odtlačkov prstov. Ak však svojmu notebooku stále neveríte vybrať si nový môže byť dobrý nápad.