Ако сте чували, че изследователите са заобиколили Windows Hello на лаптопи Dell, Lenovo и Surface, това е всичко, което трябва да знаете.
Ключови изводи
- Изследователите са успели да заобиколят Windows Hello на лаптопи Dell, Lenovo и Microsoft, подчертавайки уязвимостите в технологията за сканиране на пръстови отпечатъци.
- Сензорите за пръстови отпечатъци на тези лаптопи използват технологията "Match on Chip" за извършване на биометрична проверка на техните собствени микропроцесори, но това по същество не предотвратява измамни атаки.
- Протоколът за защитено устройство на Microsoft (SDCP) има за цел да се справи с тези уязвимости, но изследователите установиха, че някои лаптопи, включително Lenovo ThinkPad T14s и Microsoft Surface Type Cover, изобщо не използват SDCP, което ги прави по-податливи на атаки.
Ако имате Windows лаптоп, тогава вероятно сте попадали на Windows Hello. Това е биометрично влизане, което на поддържаните лаптопи позволява на потребителите да влизат със сканиране на лицето, сканиране на ириса или сканиране на пръстови отпечатъци. В случай на използване на пръстов отпечатък за влизане във вашия лаптоп обаче, бъдете предупредени: изследователи от Blackwing HQ са заобиколили Windows Hello на три различни лаптопа от Dell, Lenovo и Microsoft.
Говорейки на конференцията BlueHat на Microsoft в Редмънд, Вашингтон, Джеси Д'Агуано и Тимо Терас демонстрира как са успели да заобиколят Windows Hello на Dell Inspiron 15, Lenovo ThinkPad T14s и Microsoft Surface Pro Type Cover with Fingerprint ID (за Surface Pro 8/X). Това означаваше, че са успели да получат достъп до потребителския акаунт и данните на потребителя, сякаш са обикновени потребители. Освен това сензорите, използвани на тези три устройства, са съответно от Goodix, Synaptics и ELAN, което означава, че тези уязвимости не са ограничени само до един производител на скенер за пръстови отпечатъци или лаптоп OEM.
Съвпадение на чип, SDCP и как производителите на лаптопи се прецакаха
Първо и най-важно е да разберете как тези скенери за пръстови отпечатъци работят и взаимодействат с хост системата. И трите скенера за пръстови отпечатъци използват технологията "Match on Chip" (MoC), което означава, че разполагат със собствен микропроцесор и памет. Цялата проверка на пръстови отпечатъци се извършва на този чип, включително сравнение с базата данни на "шаблони за пръстови отпечатъци"; биометричните данни, които сензорът за пръстови отпечатъци получава. Това гарантира, че дори ако хост машината е компрометирана (в този случай самият лаптоп), биометричните данни не са изложени на риск.
Друго предимство на MoC е, че не позволява на нападател да компрометира фалшив сензор и да изпрати биометрични данни към хост системата. Това обаче не пречи на злонамерен сензор да се преструва на легитимен, като казва на системата, че потребителят се е удостоверил. Освен това не може да предотврати атаки за повторно възпроизвеждане, при които нападателят би прихванал валиден опит за влизане и след това би го „повторил“ обратно към хост системата. Windows Hello Advanced Sign-in Security (ESS) изисква използването на MoC сензори, но вече можете да видите редица начини, по които креативни нападатели могат да се опитат да влязат в лаптопа на потребителя. Ето защо Microsoft разработи SDCP, Secure Device Protection Protocol.
SDCP има следните цели:
- Уверете се, че устройството с пръстов отпечатък е надеждно
- Уверете се, че устройството за пръстов отпечатък е здраво
- Защита на входа между устройството за пръстови отпечатъци и хоста
SDCP е доктрина, която гласи, че ако системата приема биометрично влизане, тя може да го направи при предположението, че собственикът на устройството е присъствал физически по време на влизане. Функционирайки във верига на доверие, той има за цел да отговори на следните въпроси относно използвания сензор:
- Може ли хостът да се довери, че говори с оригинално устройство?
- Може ли хостът да се довери, че устройството не е хакнато или модифицирано?
- Защитени ли са данните, идващи от устройството?
Ето защо SDCP създава канал от край до край между хоста и сензора за пръстови отпечатъци. Това използва Secure Boot, което гарантира, че специфичен за модела сертификат и частен ключ служат като верига на доверие, за да се потвърди, че цялата комуникация е непроменена. Компрометираният фърмуер все още може да се използва, но системата ще знае, че е бил компрометиран и модифицирани и изследователите отбелязват, че всички тествани устройства също са подписали своя фърмуер, за да предотвратят подправяне.
Всичко по-горе звучи добре и SDCP като концепция е страхотна функция за сигурност, която производителите на оригинално оборудване трябва да използват. В резултат на това беше изненада за изследователите, когато Lenovo ThinkPad T14s и Microsoft Surface Type Cover изобщо не използваха SDCP.
Да цитираме изследователите от щаба на Blackwing:
„Microsoft свърши добра работа с проектирането на SDCP, за да осигури защитен канал между хоста и биометричните устройства, но за съжаление производителите на устройства изглежда не разбират някои от целите. Освен това SDCP покрива само много тесен обхват от типична операция на устройство, докато повечето устройства имат изложена значителна повърхност за атака, която изобщо не се покрива от SDCP.
Накрая открихме, че SDCP дори не е активиран на две от три от устройствата, към които се насочихме."
Атакуване на Dell, Lenovo и Surface
В случая с Dell Inspiron 15, изследователите откриха, че могат да запишат пръстов отпечатък чрез Linux, което от своя страна няма да използва SDCP. Въпреки че се оказва, че сензорът съхранява две бази данни с пръстови отпечатъци както за Linux, така и за Windows (поради което се гарантира, че SDCP се използва само в Windows и потребителят не може да се регистрира на Linux за влизане в Windows) е възможно да се прихване връзката между сензора и хоста, за да се каже на сензора да използва базата данни на Linux, въпреки че машината е стартирана в Windows.
Всичко това беше възможно благодарение на неавтентифициран пакет, който проверяваше заредената операционна система и можеше да бъде отвлечен, за да посочи базата данни на Linux вместо това. Изискваше се използването на Raspberry Pi 4 за записване на потребителите в базата данни на Linux и ръчно свързване със сензора, но проработи и позволи на изследователите да влязат в системата Windows, докато използват всеки пръстов отпечатък, като същевременно запазват SDCP непокътнати.
Източник: Blackwing HQ
В случая с Lenovo ThinkPad T14s, това изисква обратно инженерство на персонализиран TLS стек, осигуряващ комуникацията между хоста и сензора, пропускайки изцяло SDCP. Ключът, използван за криптиране на тази комуникация, се оказа комбинация от продукта на машината име и сериен номер и експлоатация просто защото "инженерен проблем", както се изразяват изследователите то.
След като пръстовият отпечатък на атакуващия можеше да бъде принудително записан в списъка с валидни идентификатори, беше възможно да се стартира Windows и да се използва пръстовият отпечатък на атакуващия за влизане в системата.
Източник: Blackwing HQ
Най-лошото и най-фрапиращото от трите идва от сензора за пръстови отпечатъци на Microsoft Surface Cover от ELAN. Няма SDCP, той комуникира през USB в чист текст и не полага никакви усилия за удостоверяване на потребителя. Единствената проверка за удостоверяване, която прави, е проверка с хост системата, за да се види дали броят на регистрираните пръстови отпечатъци на хоста съвпада с номера, който сензорът има. Това все още може лесно да бъде заобиколено с фалшив сензор, който пита истинския сензор колко пръстови отпечатъка са записани.
Какво можеш да направиш?
Ако притежавате един от тези засегнати лаптопи, бъдете сигурни, че е много малко вероятно подобна атака да ви се случи. Това са високоспециализирани атаки, които изискват много усилия от страна на нападателя, а освен това се нуждаят от физически достъп до вашия лаптоп. Ако това е проблем, тогава най-добрият път напред е или да надстроите до по-сигурен лаптоп, или поне да деактивирате напълно Windows Hello.
Надяваме се, че деактивирането на Windows Hello трябва да е достатъчно, тъй като ще изисква от вас да влезете ръчно и системата изобщо няма да очаква сензор за пръстови отпечатъци за влизане. Ако обаче все още нямате доверие на вашия лаптоп, тогава вземането на нов може да е добра идея.