Iluzja bezwzględnej ochrony
Zawsze chwaliliśmy passkeys jako rozwiązanie, które ma raz na zawsze pożegnać nas z problemem zapominania haseł i ryzykiem phishingu. Mechanizm ten opiera się na kryptografii klucza publicznego i prywatnego, co teoretycznie eliminuje możliwość podkradzenia poświadczeń w sposób tradycyjny. Klucz prywatny nigdy nie opuszcza urządzenia, a klucz publiczny jest jawny, więc jego kradzież nic nie daje atakującemu. Wydawało się, że to idealne zamknięcie na cztery spusty dla naszych kont online.
Historia powtarza się z Microsoftem
Jednak jak często mawiamy, im szybciej chcemy wprowadzić nową technologię, tym więcej kompromisów robimy kosztem bezpieczeństwa. Zespół Spectter Ops pod wodzą Michaela Grafnetera postanowił sprawdzić, jak naprawdę wygląda implementacja passkeys w ekosystemie Windows 11. Ich odkrycia są zaskakujące, ponieważ Microsoft jest jednym z głównych twórców standardu WebAuthn, na którym opierają się te mechanizmy. Oczekiwaliśmy więc wzorowej realizacji, a nie luk wynikających z pośpiechu i niedbałości.
Proces uwierzytelniania krok po kroku
Aby zrozumieć skalę problemu, musimy przyjrzeć się temu, co dzieje się pod maską. Gdy przeglądarka żąda użycia passkey, nie komunikuje się bezpośrednio z fizycznym kluczem czy elementem Secure Element. Zamiast tego odwołuje się do systemowej biblioteki Windows, która decyduje o dalszych krokach. System może wybrać uwierzytelnienie przez Windows Hello, klucz USB typu YubiKey lub telefon połączony przez Bluetooth Low Energy. Ten dodatkowy pośrednik w postaci systemu operacyjnego tworzy nową warstwę podatności.
Logi systemowe jako zdradziecki ślad
Największym problemem, jaki wykryli badacze, jest fakt, że wszystkie te działania są monitorowane i logowane przez system operacyjny. Dzienniki zdarzeń Windows zapisują detale procesu uwierzytelniania, co w przypadku tradycyjnych haseł mogłoby prowadzić do ich kradzieży. W przypadku passkeys sytuacja jest bardziej złożona, ponieważ sam klucz prywatny nie jest przechowywany w logach. Jednak same metadane i kontekst operacji mogą zostać wykorzystane do przeprowadzenia zaawansowanych ataków.
Ryzyko manipulacji danymi
Proces uwierzytelniania polega na podpisaniu unikalnego wyzwanie (challenge) wysłanego przez usługę. Wynikiem tej operacji są nowe dane, które potwierdzają tożsamość użytkownika. Jeśli jednak atakujący ma dostęp do logów systemowych lub może manipulować procesem wyboru metody uwierzytelniania, może próbować podrobić ten podpis lub wykorzystać inne luki w implementacji. To otwiera drogę na nieautoryzowany dostęp, mimo że sama koncepcja passkeys jest solidna.
Dlaczego to tak ważne?
Wielu użytkowników i firm przenosi się na passkeys, wierząc, że tym samym eliminują ryzyko wycieków haseł. Jeśli jednak podstawa systemu operacyjnego, na którym działamy, jest podatna na nieprawidłowe logowanie lub manipulację, cała budowa bezpieczeństwa chwieje się. Microsoft jako gigant technologiczny powinien być wzorem, a nie źródłem nowych zagrożeń. Ich zaniedbania pokazują, że standardy same w sobie nie gwarantują bezpieczeństwa bez starannej implementacji.
Co możemy zrobić?
Jako świadomi użytkownicy powinniśmy być ostrożni i nie polegać ślepo na marketingowych obietnicach. Warto regularnie aktualizować system operacyjny, aby łatać ewentualne luki w bibliotekach odpowiedzialnych za uwierzytelnianie. Dodatkowo, tam gdzie to możliwe, warto korzystać z zewnętrznych menedżerów haseł lub fizycznych kluczy bezpieczeństwa, które mają mniejszą zależność od wewnętrznych mechanizmów systemu Windows.
Podsumowanie naszych obserwacji
Odkrycia zespołu Spectter Ops są ostrzeżeniem dla całej branży. Pokazują one, że nawet najbardziej obiecujące technologie mogą zawieść, jeśli ich wdrożenie jest pospieszne i nieprzemyślane. Passkeys nadal mają ogromny potencjał, ale musimy wymagać od producentów systemów operacyjnych wyższych standardów bezpieczeństwa. Nie możemy pozwolić, by niedbalstwo stało się normą w erze cyfrowej.