Czym właściwie jest 2FA

Możecie nie zdawać sobie sprawy, ale korzystamy z niego na co dzień. Płacąc w sklepie, przy pomocy karty powyżej kwoty 50 zł (lub przy co szóstej transakcji, gdy ich zsumowana wartość przekracza 150€ etc.) jesteśmy proszeni o podanie numeru PIN.

W ten sposób potwierdzamy swoją tożsamość przy wykorzystaniu dwóch z trzech dostępnych kategorii:

  • coś co wiesz (np. hasło, PIN)
  • coś co masz (np. token, karta płatnicza)
  • coś czym jesteś (np. odcisk palca, cechy biometryczne twarzy)

Dlaczego warto stosować

Jest to najłatwiejszy sposób na zwiększenie bezpieczeństwa konta. Polega on na zastosowaniu drugiego czynnika, jakim jest zazwyczaj kod z SMSa lub aplikacji. Do tak zabezpieczonego konta, nieuprawniony dostęp jest znacząco utrudniony. Nawet, jeśli atakujący posiadałby dane logowania, to po ich wpisaniu zastanie ekran z prośbą o podanie kodu, którego nie ma sposobu znać, nie wykonując dodatkowych czynności, aby je zdobyć.

Jednak z rosnącą popularnością 2FA (Two-factor Authentication), oszuści dostosowali swoje narzędzia i techniki. Obecnie ofierze wysyła się link prowadzący do fałszywej bramki płatności, przez którą przechodzi ona do podstawionej strony logowania do banku. Po wpisaniu loginu i hasła zostają one przesłane do atakującego, a on przesyła je dalej do serwisu bankowego. Bank widzi, że klient próbuje się zalogować, więc wysyła do niego SMS z kodem albo oczekuje podania ciągu znaków wygenerowanych w aplikacji. Oczywiście ten etap też jest przewidziany na podstawionej stronie, gdzie wyświetla się okienko w celu podania wybranej metody, z której korzysta klient. Atakujący, po wprowadzeniu przez nieświadomą osobę swoich danych i kodu, uzyskuje w prosty sposób dostęp do konta bankowego ofiary. Dlatego należy mieć świadomość, z jakich innych zabezpieczeń można skorzystać, aby w pełni chronić swoje konta i dane.

Rodzaje 2FA

Istnieje kilka sposobów na implementację 2FA, o dwóch pierwszych już wspomniałem. Serwisy mogą wybierać spośród poniższych opcji.

Kody SMS

Najprostsza wersja, która polega na wysłaniu wiadomości tekstowej na uprzednio przypisany do konta numer telefonu. Niestety - jednocześnie jest to aktualnie najmniej bezpieczna opcja. Banki obecnie wycofują się z jej wykorzystania - temat zostanie rozwinięty później.

Kod z aplikacji

Zrzut ekranu aplikacji Google Authenticator. [ŹRÓDŁO]

Dzięki rozwiązaniom takimi jak Google Authenticator, Authy albo KeePassXC, metoda staje się jeszcze bezpieczniejsza, ponieważ wykorzystują one technologię TOTP (Time-based One Time Password). W skrócie, podczas powiązania naszego konta z aplikacją należy zeskanować kod QR lub przepisać kod. Po pomyślnym zaimportowaniu klucza współdzielonego, następuje proces wyliczania hasła.

Schemat TOTP.

Jeśli serwer i klient zgadzają się co do czasu oraz posiadają ten sam klucz współdzielony, to ich wypadkowa (skrót kryptograficzny) będzie taka sama. Dzięki temu, urządzenia nie muszą być ze sobą bezpośrednio połączone, aby móc generować bezpieczne kody.

Powiadomienia push

Materiał reklamowy Apple nt. powiadomień push 2FA. [ŹRÓDŁO]

Inną implementacją jest proste powiadomienie, mówiące o próbie zalogowania się na konto. Rozwijając je, ujrzymy opcje akceptacji lub odrzucenia tego żądania. Najczęściej dodawana jest też przybliżona lokalizacja, z jakiej nastąpiło połączenie do naszego konta.

W tym przypadku, metoda ta ułatwia życie. Jeśli często logujemy się na różnych urządzeniach i chcemy zyskać na czasie, nie otwierając za każdym razem aplikacji i wpisując kod, wystarczy kliknąć powiadomienie.

Klucze bezpieczeństwa

Materiał reklamowy Yubico prezentujący cały asortyment kluczy bezpieczeństwa. [ŹRÓDŁO]

Kolejnym wariantem są fizyczne klucze, czyli w praktyce zatopione w wytrzymałym plastiku komponenty elektroniczne, przetwarzające zaawansowane algorytmy kryptograficzne. Posiadają one również płytkę przewodzącą lub inny element wymagający interakcji, do którego przykładamy palec w celu potwierdzenia naszej fizycznej obecności. Podczas logowania po wpisaniu loginu i hasła, jesteśmy proszeni o włożenie urządzenia do portu USB i jego dotknięcie. Dla ciekawskich, dlaczego sprzętowe rozwiązania są uznawane za bardziej bezpieczne, o czym więcej tutaj.

Występują one w wielu wariantach - od takich, które trzeba fizycznie podłączyć, inne, rozszerzone o komunikację NFC do korzystania z nich także przy potwierdzaniu swojej tożsamości w telefonie, jak i takie, łączące te opcje w jedną np. połączenie USB, NFC i Bluetooth. Proces tworzenia takiego urządzenia jest skrupulatnie kontrolowany od samego początku, aby zapewnić bezpieczeństwo w całym łańcuchu dostaw.

Kody zapasowe

Kody zapasowe w serwisie Instagram. [ŹRÓDŁO]

Podczas konfigurowania 2FA serwisy udostępniają i proponują zapisać specjalnie wygenerowane kody, z których możemy skorzystać, jeśli nie mamy dostępu do ustawionej metody uwierzytelnienia. W przypadku utraty telefonu możemy z nich skorzystać w celu odzyskania dostępu do konta i ustawienia nowej metody 2FA. Bardzo ważne jest, aby przechowywać je w bezpiecznym miejscu - fizycznie lub cyfrowo - pamiętając o ich dodatkowej kopii.

Dlaczego SMS odchodzi w zapomnienie

Implementacja mechanizmu 2FA za pomocą wiadomości SMS stała się mniej bezpieczna. Przy tak ważnych operacjach, jakie można wykonywać na np. koncie internetowym banku, nie mogą sobie one pozwolić na słabe punkty.

Przekonała się o tym firma Cloudflare w 2012 roku. Atakujący umiejętnie przekierowywali wiadomości poczty głosowej, co poskutkowało koniec końców uzyskaniem dostępu do administracyjnego konta e-mail. Więcej szczegółów, jak cały atak wyglądał, można przeczytać na ich blogu.

Komunikacja w sieciach GSM pomiędzy telefonem, a stacją bazową jest słabo-szyfrowana (jeśli w ogóle). W sieciach od 3G poprzez 4G jest to rozwiązane poprzez wymóg wzajemnego uwierzytelnienia obu komponentów. Możliwe jednak nadal jest wymuszenie na urządzeniu przejścia do technologii GSM - tutaj do akcji wkracza IMSI Catcher.

Jest to urządzenie pozwalające przechwytywać komunikaty, którymi wymienia się telefon ze stacją. Przeprowadzając atak MITM (Man In The Middle), udaje prawdziwą stacje, do której klient będzie próbował się połączyć. Rozgłasza swoją obecność wokół i czeka na połączenia od ofiar (w uproszczeniu).

Drugą, teoretycznie prostszą metodą do wykonania jest wyrobienie duplikatu karty SIM. Należy jednak wspomnieć, że operatorzy telekomunikacyjni są co raz bardziej na nią wyczuleni i podchodzą do takiej prośby z większą uwagą. Przestępca może podać się za ofiarę i wystąpić do operatora w celu otrzymania drugiej karty przypisanej do danego numeru. W tym scenariuszu zakładamy, że atakujący ma już dostęp do konta bankowego ofiary. Gdy aktywuje on uzyskaną kartę na swoim telefonie, prawowity właściciel traci zasięg na swoim telefonie - w tym momencie ofiara nie jest w stanie korzystać ze swojej karty SIM. Od tej chwili to przestępca otrzymuje wszystkie połączenia i SMS, nieprzeznaczone dla niego. Mając dostęp do konta, zleca on przelew i otrzymuje kod poprzez SMS, po wpisaniu którego bank weryfikuje transakcję. Z tego powodu dostęp do np. konta bankowego powinien być potwierdzany za pomocą aplikacji.

Jakie serwisy i w jaki sposób wspierają 2FA

Dwuskładnikowe uwierzytelnianie sporo zyskało na popularności na przestrzeni ubiegłych lat. Dzisiaj brak jego implementacji na stronie jest oznaką nieprofesjonalnego podejścia do bezpieczeństwa danych użytkowników, gdyż uważa się to za standard. Tutaj możemy łatwo sprawdzić jakie metody 2FA oferują konkretne serwisy.

Menadżery haseł

Materiał reklamowy usługi Dropbox Passwords. [ŹRÓDŁO]

Poza stosowaniem Two-factor authentication, możemy w szybki i łatwy sposób dodatkowo zwiększyć bezpieczeństwo naszych kont, korzystając z menadżerów haseł. Są to programy, zbierające wszystkie nasze dane logowania w jedno miejsce, do którego mamy dostęp poprzez hasło główne, dzięki czemu musimy pamiętać tylko je oraz możemy zachowywać ogólno przyjęte zalecenia co do długości, zawartości i unikalności haseł.

Do najpopularniejszych obecnie rozwiązań należą KeePass, LastPass, Dashlane albo 1Password. Dla tych już poważniej myślących polecam zrobić swój research, gdyż różnych opcji jest wiele i każda posiada swoje funkcjonalności. Tutaj coś na start Waszych poszukiwań.

Takie rozwiązanie zwiększa bezpieczeństwo, gdyż nie korzystamy z tego samego hasła na wielu stronach. Problem wymyślania nowych danych logowania możemy zrzucić na narzędzie, które wygeneruje i zapisze bardzo długą (w końcu nie musimy się ograniczać) kombinację dużych/małych liter, cyfr i znaków specjalnych. Większość takich rozwiązań ma również wtyczki do przeglądarek, które automatycznie uzupełniają pola logowania.

Podsumowanie

Osobiście korzystam z kombinacji 2FA z kluczem bezpieczeństwa i wbudowanym menadżerem Apple Keychain, który po potwierdzeniu biometrycznym, automatycznie wpisuje hasło i pozwala przejść dalej. Dodatkowo, jeśli wybierzecie klucz marki Yubico, macie możliwość połączenia funkcjonalności klucza z aplikacją - kody zostaną wygenerowane tylko po jego interakcji z urządzeniem, dodając kolejną warstwę ochrony.

Tak jak wcześniej wspomniałem najłatwiejszą na początek opcją jest rozwiązanie oparte na technologii TOTP. Działa ono offline oraz jest rozwiązaniem bezpieczniejszym w porównaniu do SMS. Osobiście polecam Authy, gdyż według mnie oferuje dużo wygodniejszą obsługę wielu urządzeń. W związku z tym kody mogą być generowane np. na komputerze lub na innej wspieranej platformie.

Tagi:

Kategorie:


Ostatnia aktualizacja: