Uwierzytelnianie dwuskładnikowe (2FA) jest powszechnym sposobem dodatkowego zabezpieczenia podczas logowania do skrzynki pocztowej, bankowości internetowej, czy e-sklepu i portali społecznościowych. Warto jednak wiedzieć, że aktywacja 2FA nie daje 100% bezpieczeństwa (przynajmniej nie w każdej formie) przed pozyskaniem danych ze strony cyberprzestępców w ataku phishing (gdzie wyłudzane są poufne dane). Znajdują oni sposób, aby wyłudzić od użytkowników także i drugi składnik wymagany do logowania np. do bankowości internetowej.

Uwierzytelnianie dwuskładnikowe to nic innego jak dwuetapowe sprawdzenie tożsamości użytkownika podczas logowania. Oprócz podania samego hasła należy także wprowadzić ustalony drugi składnik. Może to być kod SMS lub z aplikacji do autentykacji, a także fizyczny token bezpieczeństwa umieszczany w porcie USB. Szczegółowy opis ustawienia 2FA w portalu społecznościowym Facebook można znaleźć w naszym artykule - wirus na Facebook, jak sobie z nim poradzić. Konfiguracja w innych mediach społecznościowych jest analogiczna.
To, że 2FA jest niezwykle ważnym sposobem ochrony dostępu do zasobów cyfrowych, nikt nie ma wątpliwości. Jednak nie każdy zdaje sobie sprawę z faktu, iż jest on zawodny . Celem niniejszego artykułu jest ukazanie słabości dwuetapowego uwierzytelniania jeśli nie przestrzega się kilku podstawowych zasad podczas jego wykorzystywania.

2FA - Czy skutecznie ochroni przed nieautoryzowanym dostępem do kont internetowych?

Dwuetapowe uwierzytelnianie w znaczący sposób utrudnia możliwość zalogowania się do konta osobom postronnym. Tym bardziej jeśli to samo hasło stosowane jest w wielu miejscach (zdecydowanie odradzamy takiej praktyki) jego skompromitowanie w jednym serwisie spowoduje, że cyberprzestępca może uzyskać dostęp do wszystkich cyfrowych zasobów. Nawet gdy dane logowania w postaci loginu i hasła zostały ujawnione np. w wyniku wycieku danych u usługodawcy, to przy aktywnym 2FA bez drugiego składnika próba nieautoryzowanego logowania się nie powiedzie. Jednak niesłabnące ataki phishing mogą temu przeczyć. Wpływa na to czynnik ludzki, a mianowicie użytkownicy sami podają dane logowania wraz z jednorazowym kodem (wysyłanym w wiadomości SMS bądź generowanym w aplikacji do uwierzytelniania dwuetapowego). Wielu może pomyśleć, że nikt o zdrowych zmysłach nie poda danych logowania do bankowości czy konta e-mail oszustom. Fakty są niestety niepodważalne. Cyberprzestępcy na każdego mogą znaleźć sposób, aby wyłudzić potrzebne dla siebie informacje. To tylko kwestia czasu ataku, przywołania odpowiedniego dla atakowanej osoby pretekstu i chwila nieuwagi. Oszuści wykorzystują w znacznym stopniu socjotechnikę niż "magiczne sztuczki" programistyczne. Rzadko kiedy włamują się na czyjeś konta bankowe tak po prostu. Wyłudzenie danych i logowanie w imieniu prawdziwego właściciela jest dużo łatwiejsze i wymaga mniejszej wiedzy technicznej.

Schemat wyłudzania kodów jednorazowych z 2FA

Wydawać by się mogło, że kradzież poufnych danych i ich wykorzystanie przez cyberprzestępców jest bardzo skomplikowane. W gruncie rzeczy tak nie jest. Spróbujemy przedstawić to na poniższym schemacie. Skupimy się na atakach ukierunkowanych w bankowości internetowe, ponieważ utrata tychże danych jest najbardziej bolesna w skutkach dla ich właścicieli.
Abstrahując już od przyczyny i źródła (wiadomości SMS, e-mail, reklamy w social media itp.) skąd użytkownik znalazł się na stronie phishing, wszystkie one są bardzo do siebie podobne. W pierwszym kroku użytkownik na fałszywej stronie bankowości (nieoficjalny adres strony) proszony jest o podanie loginu bądź numeru klienta (nazewnictwo jest różne, w zależności od banku) oraz hasła do bankowości. W tym momencie cyberprzestępca na oficjalnej stronie danej bankowości internetowej próbuje zalogować się za pomocą wyłudzonych danych. Po ich wprowadzeniu oczekuje na drugi składnik wymagany przy dwuetapowej weryfikacji (jest ona wymagana w każdej bankowości). W kolejnym etapie prosi użytkownika o podanie jednorazowego kodu autoryzacyjnego w celu uwierzytelnienia logowania. Ta część schematu zobrazowana jest na poniższej grafice.
Schemat phishing 2FA logowanie

Użytkownik, wpisując jednorazowy kod (który otrzymał np. w wiadomości SMS) na fałszywej stronie informowany jest w komunikacie, że jest on niepoprawny. Oszust w tym samym momencie wykorzystuje wprowadzony przez użytkownika kod na prawdziwej już stronie bankowości. Po poprawnym zalogowaniu cyberprzestępca może np. przelać dostępne środki na podstawione konta bankowe. Tę część schematu ataku phishing przedstawia poniższy rysunek.
Schemat_phishing_2FA - kod autoryzacyjny

Prośba o kolejne kody wynika z realizowanych operacji przez cyberprzestępcę. Może to być dodanie zaufanego odbiorcy czy realizacja przelewu. Wyłudzanie innych danych (numer PESEL, nazwisko panieńskie matki itp.) wynika z potrzeby wykorzystania ich do kolejnych ataków. Szerzej zostanie to opisane w dalszej części artykułu.

Phishing i socjotechnika - sposobem na obejście 2FA

Każdego dnia zespół PREBYTES SIRT ujawnia kilkadziesiąt stron phishing, na których wyłudzane są różnego rodzaju dane. W większości przypadków są to dane logowania do bankowości internetowej.

BrowserWall

Wszystkie adresy stron phishing są przez nas skutecznie blokowane w BrowserWall DNS oraz dostępne w CTI Feed. Zachęcamy również do korzystania z naszego rozszerzenia BROWSERWALL do przeglądarek internetowych.

Sprzedajesz na OLX lub Allegro Lokalnie? To z pewnością spotkałeś się z atakiem phishing na tych popularnych serwisach ogłoszeniowych. Zaszczepiłeś się przeciwko Covid-19? Informacja o wygraniu w Narodowej Loterii Programu Szczepień z pewnością nie będzie podejrzana. Przykładów można mnożyć, ponieważ osoby zajmujące się atakami phishing cały czas dostosowują się do aktualnej sytuacji i tworzą nowe schematy ataków. Jak to zostało wcześniej powiedziane, na każdego znajdzie się sposób. Może powtarzamy to jak mantrę, ale naprawdę należy zachowywać czujność i weryfikować wszelkie strony, na których użytkownik zmuszany jest do podawania poufnych danych.
Na przykładzie banku ING i opisywanym już przez nas ataku phishing podszywającym się pod PGE zobrazujemy, jak wygląda wyłudzanie kodu autoryzującego. Schemat ataku dla pozostałych bankowości jest podobny, różnica jest wyłącznie w typie i ilości danych, jakie należy podać przy logowaniu do systemu danego banku. To m.in. login, hasło czy numer PESEL. W pierwszych krokach wyłudzane są właśnie wskazane dane. W kolejnym należy podać kod PIN do aplikacji mobilnej.

Podanie kodu PIN do aplikacji mobilnej ING Bank
Oszust po jego uzyskaniu będzie mógł przy jego pomocy (jeśli taki typ autoryzacji jest aktywowany) zatwierdzać transakcje, zmieniać limity przy przelewach czy wypłatach z bankomatu i realizować czynności, które wymagają autoryzacji.

Cyberprzestępca nie wie jednak, jaki sposób autoryzacji jest aktywny na danym koncie. Z tego względu w kolejnym kroku następuje wyłudzenie jednorazowego kodu autoryzującego (i to nie jednego, ponieważ po podaniu pierwszego wyświetlone zostaje okno do wprowadzania kolejnych) wysyłanego na powiązany z kontem numer telefonu. Oszuści mogą realizować kilka różnych operacji, do czego będą potrzebować kilka kodów lub przy dodaniu zaufanego odbiorcy (przelewy realizowane na konto zaufanego odbiorcy w większości przypadków nie wymagają autoryzacji) już niekoniecznie.

Podanie kodu autoryzacyjnego

SMS z kodem do autoryzacji powinien wyglądać tak jak poniżej:

sms-ing-350x350
Grafika pochodzi ze strony ing.pl

W kolejnym przykładzie zobrazujemy, jak uporczywi potrafią być cyberprzestępcy, aby uzyskać potrzebne np. do realizacji przelewu kody jednorazowe wysyłane w wiadomościach SMS. Poniżej zrzut ekranu z ataku phishing ukierunkowanego w bank Credit Agricole. Widać na nim, jak użytkownik proszony jest o kolejne kody autoryzacyjne.
Podanie kilku jednorazowych kodów autoryzacyjnych

Warto zaznaczyć, że w wiadomości SMS z kodem są zawarte szczegóły, czego dotyczy autoryzacja. Istotne jest z tego względu weryfikowanie jaka operacja ma zostać uwierzytelniona. Cyberprzestępca może próbować wybrać pieniądze z bankomatu lub zrealizować przelew na podstawione konto bankowe. Podobnie jest w przypadku autoryzacji przy wykorzystaniu PIN-u. Jeśli w tym momencie użytkownik zorientuje się, że wskazana w komunikacie operacja nie dotyczy uregulowania płatności na rzecz PGE czy innego podmiotu to nie podając kodu autoryzacyjnego uchroni się przed utratą środków. Tutaj 2FA spełni swoje zadanie, ponieważ bez kodu cyberprzestępca nie zrealizuje przelewu czy innej czynności wymagającej autoryzacji. Warto jednak zaznaczyć, że wiadomości z kodami autoryzacyjnymi są podatne na przechwycenie. Może się to odbyć poprzez wyrobienie duplikatu karty SIM przez cyberprzestępcę, bądź w wyniku zainfekowania smartfona złośliwym oprogramowaniem lub ataku na sieć GSM (obsługującą telefonię komórkową).

Bezpieczniejszym rozwiązaniem przy korzystaniu z 2FA (w przypadku bankowości internetowej) może wydawać się autoryzacja mobilna, czyli zatwierdzanie przelewów i innych czynności realizowana jest z poziomu mobilnej aplikacji bankowej. W tym przypadku nie jest potrzebny ani PIN, ani jednorazowy kod SMS. Aplikacja mobilna pokazuje czego dotyczy autoryzowana operacja, a także dzięki szyfrowaniu komunikacji uniemożliwia przechwycenie, a także zmodyfikowanie treści wiadomości z autoryzowaną operacją. Jeśli cyberprzestępca pozyska dane logowania do bankowości i będzie próbował zrealizować np. przelew, zostanie to jasno i czytelnie odnotowane. Użytkownik nierealizujący w danym momencie takiej operacji będzie pewny, że jest to próba oszustwa.
Jednak to rozwiązanie także nie daje 100% bezpieczeństwa. Ktoś może zapytać, dlaczego? Przecież w tym przypadku nie są wykorzystywane kody jednorazowe i oszuści nie będą mieli czego wyłudzić. Należy jednak zwrócić uwagę, że dane (w zależności od banku) takie, jak numer PESEL, nazwisko panieńskie matki, czy kod PIN mogą zostać wykorzystane do rejestracji aplikacji mobilnej. Poniżej dwa przykłady w których użytkownicy są właśnie proszeni o podanie tego typu danych.

Alior Bank - wyłudzenie PESELu i nazwiska panieńskiego matki
mBank - wyłudzenie numeru PESEL, nazwiska panieńskiego matki oraz PINu do aplikacji mobilnej

Posiadając możliwość zarządzania bankowością z poziomu aplikacji mobilnej cyberprzestępca będzie mógł autoryzować różne operacje. Jeśli właściciel konta do którego dostęp uzyskał oszust w porę nie zorientuje się to może utracić środki. Toteż nie tylko hasło i kody jednorazowe mogą zostać wyłudzane podczas ataków phishing, ale i wydawałoby się mniej znaczące dane, które jednak należy chronić i nie podawać tam, gdzie nie jest to zasadne.

Podsumowanie - na co zwracać uwagę przy korzystaniu z 2FA

Wracając do celu tego artykułu, 2FA nie ochroni przed nieautoryzowanym dostępem do konta (e-mail, bankowości internetowej itp.), należy pamiętać o przestrzeganiu poniższych zasad, aby zminimalizować to ryzyko.

  1. Po pierwsze, stosowanie 2FA nie zwalnia z wykorzystywania różnych haseł na poszczególnych kontach internetowych.
  2. Zawsze należy weryfikować stronę internetową (sprawdzać jej adres w pasku adresu), na której wprowadzane są poufne dane.
  3. Należy zwracać uwagę na to, do czego kod jednorazowy z 2FA ma zostać wykorzystany i czy na pewno jego podanie jest wymagane.
  4. W przypadku niepewności można podać błędny kod. W takiej sytuacji oszust (próbujący przechwycić dane) nie dość, że nie zaloguje się, to jeszcze próba nieudanego logowania zostanie odnotowana w powiadomieniu na telefon.
  5. Jeśli jest taka możliwość to w przypadku mobilnej bankowości lepszym rozwiązaniem będzie autoryzacja mobilna w aplikacji niż kody jednorazowe.
  6. Przed atakiem phishing w pełni może uchronić fizyczny klucz bezpieczeństwa (security key U2F). W tym przypadku cyberprzestępca nie jest w stanie pozyskać danych znajdujących się na kluczu U2F zdalnie, przez internet.

Bądźcie czujni i uważajcie, gdzie podajecie poufne dane, szczególnie te do bankowości internetowej i konta e-mail.