Če ste slišali, da so raziskovalci zaobšli Windows Hello na prenosnikih Dell, Lenovo in Surface, je to vse, kar morate vedeti.
Ključni zaključki
- Raziskovalcem je uspelo obiti Windows Hello na prenosnih računalnikih Dell, Lenovo in Microsoft, kar je pokazalo ranljivosti v tehnologiji skeniranja prstnih odtisov.
- Senzorji prstnih odtisov na teh prenosnikih uporabljajo tehnologijo "Match on Chip" za izvajanje biometričnega preverjanja na lastnih mikroprocesorjih, vendar to samo po sebi ne preprečuje napadov s spoofingom.
- Microsoftov protokol za varno zaščito naprav (SDCP) želi odpraviti te ranljivosti, vendar so raziskovalci ugotovili, da nekatere prenosniki, vključno z Lenovo ThinkPad T14s in Microsoft Surface Type Cover, sploh niso uporabljali SDCP, zaradi česar so bolj dovzetni za napadi.
Če imate a Windows prenosnik, potem ste verjetno naleteli na Windows Hello. To je biometrična prijava, ki na podprtih prenosnikih uporabnikom omogoča prijavo s skeniranjem obraza, šarenice ali skeniranjem prstnih odtisov. V primeru uporabe prstnega odtisa za vstop v vaš prenosnik pa bodite opozorjeni: raziskovalci iz Blackwing HQ so obšli Windows Hello na treh različnih prenosnikih Dell, Lenovo in Microsoft.
Govor na Microsoftovi konferenci BlueHat v Redmondu v Washingtonu, Jesse D'Aguanno in Timo Teräs dokazano kako jim je uspelo zaobiti Windows Hello na Dell Inspiron 15, Lenovo ThinkPad T14s in Microsoft Surface Pro Type Cover with Fingerprint ID (za Surface Pro 8/X). To je pomenilo, da so lahko pridobili dostop do uporabniškega računa in uporabnikovih podatkov, kot da bi bili običajen uporabnik. Poleg tega so senzorji, uporabljeni na teh treh napravah, proizvajalci Goodix, Synaptics in ELAN, kar pomeni, da te ranljivosti niso omejene samo na enega proizvajalca bralnika prstnih odtisov ali prenosnika OEM.
Match on Chip, SDCP in kako so proizvajalci prenosnikov zafrknili
Najprej in predvsem je nujno razumeti, kako ti skenerji prstnih odtisov delujejo in medsebojno delujejo z gostiteljskim sistemom. Vsi trije čitalniki prstnih odtisov uporabljajo tehnologijo "Match on Chip" (MoC), kar pomeni, da imajo lasten mikroprocesor in shrambo. Vse preverjanje prstnih odtisov se izvaja na tem čipu, vključno s primerjavo z bazo podatkov "predlog prstnih odtisov"; biometričnih podatkov, ki jih pridobi senzor prstnih odtisov. To zagotavlja, da tudi če je gostiteljski stroj ogrožen (v tem primeru sam prenosnik), biometrični podatki niso ogroženi.
Druga prednost MoC je, da napadalcu prepreči, da bi ogrozil lažni senzor in poslal biometrične podatke v gostiteljski sistem. Vendar zlonamernemu senzorju ne preprečuje, da bi se pretvarjal, da je zakonit, in sistemu povedal, da je uporabnik overjen. Prav tako ne more preprečiti napadov ponovitve, kjer bi napadalec prestregel veljaven poskus prijave in ga nato "ponovno predvajal" nazaj v gostiteljski sistem. Windows Hello Advanced Sign-in Security (ESS) zahteva uporabo senzorjev MoC, vendar lahko že vidite številne načine, na katere lahko ustvarjalni napadalci poskušajo priti v uporabnikov prenosnik. Zato je Microsoft razvil SDCP, protokol za varno zaščito naprav.
SDCP ima naslednje cilje:
- Zagotavljanje, da je naprava s prstnimi odtisi zaupanja vredna
- Zagotovite, da je naprava za prstni odtis zdrava
- Zaščita vnosa med napravo za prstne odtise in gostiteljem
SDCP je doktrina, ki navaja, če sistem sprejema biometrično prijavo, lahko to stori ob predpostavki, da je bil lastnik naprave fizično prisoten v času prijave. Deluje v verigi zaupanja in želi odgovoriti na naslednja vprašanja o senzorju, ki se uporablja:
- Ali lahko gostitelj zaupa, da se pogovarja s pristno napravo?
- Ali lahko gostitelj zaupa, da naprava ni bila vlomljena ali spremenjena?
- Ali so podatki, ki prihajajo iz naprave, zaščiteni?
Zato SDCP ustvari kanal od konca do konca med gostiteljem in senzorjem prstnih odtisov. To izkorišča Secure Boot, ki zagotavlja, da certifikat, specifičen za model, in zasebni ključ služita kot veriga zaupanja za preverjanje, ali je bila vsa komunikacija nespremenjena. Ogroženo strojno programsko opremo je še vedno mogoče uporabiti, vendar bo sistem vedel, da je bila ogrožena, in spremenjeno, raziskovalci pa so ugotovili, da so vse testirane naprave podpisale tudi svojo vdelano programsko opremo za preprečevanje nedovoljeno poseganje.
Vse zgoraj navedeno se sliši dobro in SDCP kot koncept je odlična varnostna funkcija, ki bi jo morali uporabljati proizvajalci originalne opreme. Posledično je bilo za raziskovalce presenečenje, ko Lenovo ThinkPad T14s in Microsoft Surface Type Cover sploh nista uporabljala SDCP.
Če citiram raziskovalce s sedeža Blackwing:
"Microsoft je opravil dobro delo pri oblikovanju SDCP, da bi zagotovil varen kanal med gostiteljem in biometričnimi napravami, vendar se zdi, da proizvajalci naprav na žalost napačno razumejo nekatere cilje. Poleg tega SDCP pokriva le zelo ozek obseg tipičnega delovanja naprave, medtem ko ima večina naprav izpostavljeno precejšnjo napadalno površino, ki je SDCP sploh ne pokriva.
Nazadnje smo ugotovili, da SDCP sploh ni bil omogočen na dveh od treh naprav, ki smo jih ciljali."
Napad na Dell, Lenovo in Surface
V primeru Dell Inspiron 15 so raziskovalci ugotovili, da bi lahko vnesli prstni odtis prek Linuxa, ki pa ne bi uporabljal SDCP. Čeprav se izkaže, da senzor shranjuje dve bazi podatkov prstnih odtisov za Linux in Windows (kar zagotavlja, da se SDCP uporablja samo v sistemu Windows in se uporabnik ne more vpisati v Linux za prijavo v sistemu Windows) je mogoče prestreči povezavo med senzorjem in gostiteljem, da senzorju sporoči, naj uporablja bazo podatkov Linux, kljub temu, da je stroj zagnan v Windows.
Vse to je bilo mogoče zaradi nepreverjenega paketa, ki je preveril zagnani operacijski sistem in bi ga lahko ugrabili, da bi namesto tega pokazal na bazo podatkov Linux. Zahtevala je uporabo Raspberry Pi 4 za vpis uporabnikov v bazo podatkov Linux in ročno povezavo s senzorjem, vendar je delovalo in raziskovalcem omogočilo, da se prijavijo v sistem Windows s katerim koli prstnim odtisom, medtem ko so še vedno ohranili SDCP nedotaknjen.
Vir: HQ Blackwing
V primeru Lenovo ThinkPad T14s je zahteval obratni inženiring sklada TLS po meri, ki je varoval komunikacijo med gostiteljem in senzorjem, pri čemer je SDCP v celoti preskočil. Izkazalo se je, da je ključ, uporabljen za šifriranje te komunikacije, kombinacija izdelka stroja ime in serijsko številko ter izkoriščanje preprosto zato, ker je "inženirski problem", kot so navedli raziskovalci to.
Ko je bil napadalčev prstni odtis mogoče prisilno vpisati na seznam veljavnih ID-jev, je bilo mogoče zagnati Windows in uporabiti napadalčev prstni odtis za prijavo v sistem.
Vir: HQ Blackwing
Najslabši in najhujši od treh izvira iz senzorja prstnih odtisov Microsoft Surface Cover podjetja ELAN. Ni SDCP, komunicira prek USB-ja v čistem besedilu in ne poskuša preveriti pristnosti uporabnika. Edino preverjanje pristnosti, ki ga opravi, je preverjanje z gostiteljskim sistemom, da ugotovi, ali se število vpisanih prstnih odtisov na gostitelju ujema s številom, ki ga ima senzor. Temu se je še vedno mogoče zlahka izogniti s ponarejenim senzorjem, ki vpraša pravi senzor, koliko prstnih odtisov je vpisanih.
Kaj lahko narediš?
Če ste lastnik enega od teh prizadetih prenosnikov, bodite prepričani, da je zelo malo verjetno, da bi se takšen napad zgodil vam. Gre za visoko specializirane napade, ki od napadalca zahtevajo veliko truda, potrebujejo pa tudi fizični dostop do vašega prenosnika. Če je to težava, je najboljša pot naprej bodisi nadgradnja na bolj varen prenosnik ali pa vsaj popolnoma onemogočite Windows Hello.
Upajmo, da bo onemogočanje Windows Hello dovolj, saj se boste morali prijaviti ročno in sistem sploh ne bo pričakoval senzorja prstnih odtisov za prijavo. Če še vedno ne zaupate svojemu prenosniku, potem nakup novega bi bila morda dobra ideja.