Ověřování otisků prstů Microsoft Windows Hello se obešlo na noteboocích Dell, Lenovo a Surface

click fraud protection

Pokud jste slyšeli, že výzkumníci obešli Windows Hello na noteboocích Dell, Lenovo a Surface, toto je vše, co potřebujete vědět.

Klíčové věci

  • Výzkumníkům se podařilo obejít Windows Hello na noteboocích Dell, Lenovo a Microsoft a upozornili na slabá místa v technologii snímání otisků prstů.
  • Snímače otisků prstů na těchto noteboocích využívají technologii „Match on Chip“ k provádění biometrického ověření na jejich vlastních mikroprocesorech, ale to samo o sobě nebrání útokům spoofingu.
  • Protokol SDCP (Secure Device Protection Protocol) společnosti Microsoft se snaží tyto zranitelnosti řešit, ale výzkumníci zjistili, že některé notebooky, včetně Lenovo ThinkPad T14s a Microsoft Surface Type Cover, nevyužívaly SDCP vůbec, takže byly náchylnější k útoky.

Pokud máte a Přenosný počítač se systémem Windows, pak jste pravděpodobně narazili na Windows Hello. Jedná se o biometrické přihlášení, které na podporovaných přenosných počítačích umožňuje uživatelům přihlásit se buď skenem obličeje, skenem duhovky nebo skenem otisku prstu. V případě použití otisku prstu k získání do vašeho notebooku však buďte varováni: výzkumníci z Blackwing HQ obešli Windows Hello na třech různých noteboocích od Dell, Lenovo a Microsoft.

Jesse D'Aguanno a Timo Teräs na konferenci BlueHat společnosti Microsoft v Redmondu ve Washingtonu prokázáno jak se jim podařilo obejít Windows Hello na Dell Inspiron 15, Lenovo ThinkPad T14s a Microsoft Surface Pro Type Cover s Fingerprint ID (pro Surface Pro 8/X). To znamenalo, že mohli získat přístup k uživatelskému účtu a datům uživatele, jako by to byli normální uživatelé. Navíc senzory použité na těchto třech zařízeních pocházejí od společností Goodix, Synaptics a ELAN, resp. což znamená, že tyto chyby zabezpečení nejsou omezeny pouze na jednoho výrobce snímačů otisků prstů nebo notebook OEM.

Zápas na čipu, SDCP a na tom, jak to výrobci notebooků podělali

Klávesnice Surface Pro 7 + s černým krytem

V první řadě je nutné porozumět tomu, jak tyto snímače otisků prstů fungují a spolupracují s hostitelským systémem. Všechny tři snímače otisků prstů používají technologii „Match on Chip“ (MoC), což znamená, že obsahují vlastní mikroprocesor a úložiště. Na tomto čipu se provádí veškeré ověřování otisků prstů, včetně porovnávání s databází „šablon otisků prstů“; biometrická data, která snímač otisků prstů získává. Tím je zajištěno, že i v případě ohrožení hostitelského počítače (v tomto případě samotného notebooku) nejsou biometrická data ohrožena.

Další výhodou MoC je, že brání útočníkovi kompromitovat falešný senzor a odesílat biometrická data do hostitelského systému. Nebrání to však škodlivému senzoru, aby předstíral, že je legitimní, a sděluje systému, že se uživatel ověřil. Nemůže také zabránit útokům opakovaného přehrávání, kdy by útočník zachytil platný pokus o přihlášení a poté jej „přehrál“ zpět do hostitelského systému. Windows Hello Advanced Sign-in Security (ESS) vyžaduje použití senzorů MoC, ale již nyní můžete vidět řadu způsobů, jak se kreativní útočníci mohou pokusit dostat do notebooku uživatele. Proto Microsoft vyvinul SDCP, protokol Secure Device Protection Protocol.

SDCP má následující cíle:

  1. Zajištění důvěryhodnosti zařízení s otisky prstů
  2. Ujistěte se, že zařízení na otisky prstů je zdravé
  3. Ochrana vstupu mezi zařízením na otisk prstu a hostitelem

SDCP je doktrína, která říká, že pokud systém přijímá biometrické přihlášení, může tak učinit za předpokladu, že vlastník zařízení byl v době přihlášení fyzicky přítomen. Funguje na řetězu důvěry a jeho cílem je odpovědět na následující otázky o používaném senzoru:

  1. Může hostitel věřit, že mluví s originálním zařízením?
  2. Může hostitel věřit, že zařízení nebylo napadeno nebo upraveno?
  3. Jsou data pocházející ze zařízení chráněna?

To je důvod, proč SDCP vytváří end-to-end kanál mezi hostitelem a snímačem otisků prstů. To využívá Secure Boot, který zajišťuje, že certifikát specifický pro model a soukromý klíč slouží jako řetězec důvěry k ověření, že veškerá komunikace byla nezměněna. Kompromitovaný firmware lze stále používat, ale systém bude vědět, že byl kompromitován a modifikovali a vědci poznamenali, že všechna testovaná zařízení také podepsala svůj firmware, aby tomu zabránili manipulace.

Všechno výše uvedené zní dobře a SDCP jako koncept je skvělá bezpečnostní funkce, kterou by OEM měli používat. V důsledku toho bylo pro výzkumníky překvapením, když Lenovo ThinkPad T14s a Microsoft Surface Type Cover vůbec nevyužívaly SDCP.

Cituji výzkumníky z centrály Blackwing:

„Microsoft odvedl dobrou práci, když navrhl SDCP, aby poskytoval bezpečný kanál mezi hostitelem a biometrickými zařízeními, ale bohužel se zdá, že výrobci zařízení nepochopili některé cíle. Kromě toho SDCP pokrývá pouze velmi úzký rozsah typických operací zařízení, zatímco většina zařízení má odhalenou velkou útočnou plochu, která SDCP vůbec nepokrývá.

Nakonec jsme zjistili, že SDCP nebyl ani povolen na dvou ze tří zařízení, na která jsme se zaměřili.“

Útok na Dell, Lenovo a Surface

V případě Dell Inspiron 15 vědci zjistili, že mohou zaregistrovat otisk prstu přes Linux, který zase nebude využívat SDCP. I když se ukázalo, že senzor ukládá dvě databáze otisků prstů pro Linux i Windows (proto je zajištěno, že SDCP se používá pouze ve Windows a uživatel se nemůže zaregistrovat Linux pro přihlášení na Windows) je možné zachytit spojení mezi senzorem a hostitelem a sdělit senzoru, aby použil databázi Linux, i když je počítač spouštěn Okna.

To vše bylo možné díky neověřenému paketu, který kontroloval spouštěný operační systém a mohl být unesen, aby místo toho ukazoval na linuxovou databázi. Vyžadovalo to použití Raspberry Pi 4 k registraci uživatelů do linuxové databáze a ruční připojení k senzoru, ale to fungovalo a umožnilo výzkumníkům přihlásit se do systému Windows pomocí libovolného otisku prstu a přitom zachovat SDCP neporušený.

Zdroj: Blackwing HQ

V případě Lenovo ThinkPad T14s to vyžadovalo reverzní inženýrství vlastního zásobníku TLS zajišťujícího komunikaci mezi hostitelem a senzorem, přičemž zcela vynechal SDCP. Ukázalo se, že klíč použitý k šifrování této komunikace je kombinací produktu stroje jméno a sériové číslo a využití jednoduše proto, že jde o „technický problém“, jak vědci uvedli to.

Jakmile se podařilo útočníkův otisk násilně zapsat do seznamu platných ID, bylo možné nabootovat do Windows a použít útočníkův otisk k přihlášení do systému.

Zdroj: Blackwing HQ

Nejhorší a nejkřiklavější z těchto tří pochází ze snímače otisků prstů Microsoft Surface Cover od ELAN. Neexistuje žádný SDCP, komunikuje přes USB v čistém textu a nevyvíjí žádnou snahu o ověření uživatele. Jedinou autentizační kontrolou, kterou provádí, je kontrola s hostitelským systémem, zda počet zaregistrovaných otisků prstů na hostiteli odpovídá číslu senzoru. To lze stále snadno obejít pomocí podvrženého snímače, který se skutečného snímače ptá, kolik otisků prstů je zaregistrováno.

Co můžeš udělat?

Pokud vlastníte jeden z těchto postižených notebooků, buďte si jisti, že je velmi nepravděpodobné, že by se vám podobný útok stal. Jedná se o vysoce specializované útoky, které vyžadují velké úsilí ze strany útočníka a také potřebují fyzický přístup k vašemu notebooku. Pokud je to problém, pak je nejlepší cestou vpřed buď upgradovat na bezpečnější notebook, nebo alespoň zcela zakázat Windows Hello.

Vypnutí Windows Hello by snad mělo stačit, protože bude vyžadovat ruční přihlášení a systém nebude vůbec očekávat, že se přihlásí snímač otisků prstů. Pokud však svému notebooku stále nevěříte vyzvednout nový může být dobrý nápad.