Zagadnienia bezpieczeństwa związane z uwierzytelnianiem dwuczynnikowym (2FA)

Uwierzytelnianie dwuczynnikowe (2FA) to szczególny rodzaj uwierzytelniania wieloczynnikowego (MFA), które wzmacnia bezpieczeństwo dostępu poprzez wymaganie dwóch metod (zwanych również czynnikami uwierzytelniającymi) w celu zweryfikowania tożsamości użytkownika. Czynniki te mogą obejmować coś, co znasz – jak nazwa użytkownika i hasło – oraz coś, co masz – jak aplikacja na smartfona – do zatwierdzania żądań uwierzytelnienia.

2FA chroni przed phishingiem, socjotechniką i atakami typu „brute-force” na hasła oraz zabezpiecza Twoje loginy przed napastnikami wykorzystującymi słabe lub skradzione dane uwierzytelniające.

Uwierzytelnianie dwuskładnikowe (2FA) jest podstawowym elementem modelu bezpieczeństwa zero zaufania. Aby chronić dane wrażliwe, musisz sprawdzić, czy użytkownicy próbujący uzyskać dostęp do tych danych są tymi, za których się podają. 2FA jest skutecznym sposobem ochrony przed wieloma zagrożeniami bezpieczeństwa, które są wymierzone w hasła i konta użytkowników, takimi jak phishing, ataki brute-force, wykorzystywanie danych uwierzytelniających i inne.

Powiedzmy, że używasz nazwy użytkownika i hasła do zakończenia podstawowego uwierzytelniania do aplikacji. Informacje te są przesyłane przez Internet (Twoja podstawowa sieć). Będziesz chciał użyć innego (pozapasmowego) kanału do uzupełnienia drugiego czynnika. Zatwierdzenie powiadomienia push wysłanego przez sieć komórkową jest przykładem uwierzytelniania pozapasmowego.

Jakie są rodzaje 2FA?

SMS 2FA

howtogeek.com

Uwierzytelnianie dwuskładnikowe za pomocą wiadomości SMS uwierzytelnia tożsamość użytkownika poprzez wysłanie kodu bezpieczeństwa do jego urządzenia mobilnego. Użytkownik następnie wprowadza kod do witryny lub aplikacji, do której się uwierzytelnia.

TOTP 2FA

blog.meteor.com

Metoda Time-Based One Time Password (TOTP) 2FA generuje klucz lokalnie na urządzeniu, do którego użytkownik próbuje uzyskać dostęp. Kluczem bezpieczeństwa jest zazwyczaj kod QR, który użytkownik skanuje za pomocą swojego urządzenia mobilnego, aby wygenerować serię liczb. Następnie użytkownik wprowadza te numery do witryny lub aplikacji, aby uzyskać dostęp. Kody generowane przez uwierzytelniacze tracą ważność po pewnym czasie, a przy kolejnym logowaniu do konta generowany jest nowy kod. TOTP jest częścią architektury bezpieczeństwa Open Authentication (OAUTH).

Push-Based 2FA

how-to-geek

Push-based 2FA ulepsza SMS i TOTP 2FA poprzez dodanie dodatkowych warstw bezpieczeństwa, jednocześnie poprawiając łatwość użycia dla użytkowników końcowych. Push-based 2FA potwierdza tożsamość użytkownika za pomocą wielu czynników uwierzytelniania, czego nie potrafią inne metody. Duo Security jest wiodącym dostawcą 2FA opartego na technologii push.

Tokeny U2F

wellesley.edu

Tokeny U2F zabezpieczają dwuskładnikowe uwierzytelnianie, wykorzystując fizyczny port USB do weryfikacji lokalizacji i tożsamości użytkownika próbującego się zalogować. Aby użyć tokena U2F, użytkownik wkłada token do swojego urządzenia i naciska przycisk znajdujący się na górze urządzenia. Po aktywacji tokena użytkownik wprowadza swój kod PIN i uzyskuje dostęp do swoich kont.

WebAuthn

inovex.de

Utworzony przez FIDO (Fast IDentity Online) Alliance i W3C, Web Authentication API jest specyfikacją, która umożliwia silną, kryptograficzną rejestrację i uwierzytelnianie za pomocą klucza publicznego. WebAuthn (Web Authentication API) pozwala stronom trzecim, takim jak Duo, wykorzystać wbudowane biometryczne uwierzytelniacze w laptopach i smartfonach, pozwalając użytkownikom uwierzytelniać się szybko i za pomocą narzędzi, które już mają pod ręką.

Jakie zagrożenia uwzględnia 2FA?

  • Skradzione hasła
  • Próby phishingu
  • Inżynieria społeczna
  • Ataki typu Brute-Force Attacks
  • Broken Logic
  • Key Logging

Podatności w uwierzytelnianiu dwuczynnikowym

Obejście uwierzytelniania dwuczynnikowego

Czasami, implementacja uwierzytelniania dwuskładnikowego jest wadliwa do tego stopnia, że można ją całkowicie obejść.

Jeśli użytkownik jest najpierw proszony o wprowadzenie hasła, a następnie proszony o wprowadzenie kodu weryfikacyjnego na osobnej stronie, użytkownik jest skutecznie w stanie „zalogowania”, zanim wprowadzi kod weryfikacyjny. W tym przypadku warto przetestować, czy można bezpośrednio przejść do stron „tylko dla zalogowanych” po zakończeniu pierwszego kroku uwierzytelniania. Czasami można zauważyć, że witryna nie sprawdza, czy użytkownik ukończył drugi krok przed załadowaniem strony.

Two-factor authentication tokens

Kody weryfikacyjne są zazwyczaj odczytywane przez użytkownika z jakiegoś fizycznego urządzenia. Wiele stron internetowych o wysokim poziomie bezpieczeństwa zapewnia teraz użytkownikom dedykowane urządzenie do tego celu, takie jak token RSA lub urządzenie z klawiaturą, którego można użyć, aby uzyskać dostęp do bankowości internetowej lub laptopa do pracy. Oprócz tego, że te dedykowane urządzenia zostały zaprojektowane z myślą o bezpieczeństwie, mają one również tę zaletę, że generują kod weryfikacyjny bezpośrednio. Jest to również powszechne dla stron internetowych do korzystania z dedykowanej aplikacji mobilnej, takich jak Google Authenticator, z tego samego powodu.

Z drugiej strony, niektóre strony internetowe wysyłają kody weryfikacyjne do telefonu komórkowego użytkownika jako wiadomość tekstową. Chociaż jest to technicznie nadal weryfikacja czynnika „coś masz”, to jest otwarty na nadużycia. Po pierwsze, kod jest przesyłany za pomocą wiadomości SMS, a nie generowany przez samo urządzenie. Stwarza to potencjał dla kodu do przechwycenia. Istnieje również ryzyko podmiany SIM, gdzie atakujący w sposób nieuczciwy uzyskuje kartę SIM z numerem telefonu ofiary. Atakujący otrzymywałby wtedy wszystkie wiadomości SMS wysyłane do ofiary, w tym tę zawierającą jej kod weryfikacyjny.

.