We wrześniu 2022 roku atakujący, który kupił hasło podwykonawcy Ubera, raz za razem próbował się zalogować. Każda próba wysyłała podwykonawcy prośbę o potwierdzenie drugiego składnika. Pierwsze z nich zablokowały atakującego. Potem jedna została zaakceptowana i atakujący znalazł się w środku (komunikat bezpieczeństwa Ubera). Miesiąc wcześniej Cisco opisało ten sam schemat we własnym incydencie: telefony od osoby podającej się za pomoc techniczną i strumień powiadomień push, aż jeden z pracowników zaakceptował któreś z nich (Cisco Talos).
Obie firmy miały włączone uwierzytelnianie wieloskładnikowe. Atakujący nie złamali drugiego składnika: obeszli go, korzystając z technik, które działają dlatego, że wdrożone MFA każe zmęczonemu człowiekowi podjąć decyzję dotyczącą bezpieczeństwa w najgorszym możliwym momencie.
Jeśli Państwa MFA opiera się na kodzie SMS lub jednoklikowym monicie „Potwierdzić?”, warto poświęcić na tę lekturę dziesięć minut. Te dwie metody są dziś tymi, które atakujący z góry planują obejść, a nie tymi, które ich zatrzymują.
Trzy ataki, które pokonują „jakieś MFA”
- Push-bombing (zmęczenie MFA, MFA bombing, 2FA bombing). Atakujący ma już hasło: z wykradzionej bazy, z phishingu albo z ponownego użycia. Uruchamia logowanie za logowaniem, wysyłając na telefon użytkownika strumień monitów o potwierdzenie, aż w końcu ktoś, z dezorientacji albo po prostu żeby to ustało, dotknie Potwierdź. Jedno dotknięcie i atakujący jest w środku.
- SIM-swap. SMS nigdy nie był projektowany jako kanał bezpieczeństwa. Atakujący, który przekona (lub przekupi) operatora, by przeniósł numer na nową kartę SIM, otrzymuje każdy jednorazowy kod wysłany na ten numer. Bez złośliwego oprogramowania, bez fałszywej strony: wystarczy telefon do biura obsługi.
- Atak z udziałem pośrednika (AiTM). Przekonująca podróbka strony logowania w czasie rzeczywistym pośredniczy w komunikacji z prawdziwą. Ofiara wpisuje hasło, prawdziwy system prosi o drugi składnik, a ofiara go podaje, bo naprawdę próbuje się zalogować. Serwer pośredniczący atakującego przechwytuje powstałą sesję. MFA „zadziałało”. Konto i tak jest stracone.
Amerykańska agencja ds. cyberbezpieczeństwa CISA wymienia wszystkie trzy ataki w swoich wytycznych i wyznacza wyraźną granicę: za odporne na phishing uznaje wyłącznie FIDO/WebAuthn oraz uwierzytelnianie oparte na kluczu publicznym (PKI), ponieważ klucz jest powiązany z adresem prawdziwej witryny, a podróbka nie może go użyć. Potwierdzenie push, nawet z dopasowywaniem liczb (number matching), nie znajduje się na tej liście (informator CISA).
Co zatrzymuje każdy z nich
Te ataki mają różne słabe punkty, dlatego warto precyzyjnie określić, co pokonuje który.
- SIM-swap i przechwytywanie kodów: usunąć kod. Jeśli klucz użytkownika jest generowany w bezpiecznym sprzęcie telefonu i nigdy go nie opuszcza, nie ma współdzielonego sekretu w bazie danych ani niczego, co przychodzi SMS-em. Nie ma czego przechwycić, a przeniesienie numeru telefonu nie przenosi niczego, co atakujący mógłby wykorzystać.
- Push-bombing: pozwolić użytkownikowi przeczytać, co zatwierdza. Gdy żądanie dotrze już do telefonu, żaden klucz ani biometria nie pomogą, bo atak po prostu prosi użytkownika, aby powiedział „tak”. Biometria potwierdza jedynie, że ekranu dotyka właściciel telefonu, a nie że logowanie jest uprawnione. Skuteczne jest żądanie, które niesie konkretny, czytelny opis dokładnie tego, co jest zatwierdzane: która usługa, jakie działanie, skąd. Monit, którego użytkownik sam nie zainicjował, w oczywisty sposób nie jest jego, więc go odrzuca. Wygasanie żądań i limity częstotliwości wywoływania monitów odbierają atakowi skalę, od której zależy.
- Atak pośrednika: samo potwierdzenie go nie zatrzymuje. Tutaj użytkownik nie jest nakłaniany do zatwierdzenia cudzego logowania. Zatwierdza własne, tyle że na niewłaściwej stronie. Pomaga pokazanie, skąd przyszło żądanie: jeśli potwierdzenie podaje adres, z którego nadeszło logowanie, serwer pośredniczący w innym kraju rzuca się w oczy użytkownikowi, który się przyjrzy. To podnosi koszt ataku, ale nie czyni go niemożliwym. Tam, gdzie model zagrożeń wymaga odporności na phishing w ścisłym sensie, odpowiedzią są klucze FIDO powiązane z witryną, w połączeniu z krótkim czasem życia sesji i zasadami logowania ograniczającymi, gdzie sesji można używać.
Na tym polega różnica między MFA, które atakujący ma już rozpisane w swoim scenariuszu, a MFA, które każdy z tych ataków czyni widocznym lub bezcelowym.
Gdzie w to wpisuje się Notakey
Notakey usuwa kod i sprawia, że każde potwierdzenie da się przeczytać.
- Klucz użytkownika jest generowany w bezpiecznym sprzęcie telefonu i nigdy go nie opuszcza. Nie ma SMS-a do przechwycenia ani kodu do przekazania.
- Powiadomienie jest tylko dzwonkiem do drzwi. Gdy użytkownik otwiera aplikację, pobiera ona kartę potwierdzenia przez HTTPS z serwera, na którym została zarejestrowana, więc to, co czyta użytkownik, pochodzi z Państwa serwera, a nie z powiadomienia, a podpis użytkownika obejmuje dokładnie to żądanie.
- Przeciwko push-bombingowi obroną jest to, co czyta użytkownik: karta pokazuje, która usługa pyta i co jest zatwierdzane, więc monit, którego nikt nie zainicjował, rzuca się w oczy i zostaje odrzucony. Żądania wygasają, a wbudowany ogranicznik limituje, jak często można je wywoływać, dzięki czemu strumień monitów, na którym opiera się atak, zostaje przerwany.
- Przeciwko atakowi pośrednika serwer można skonfigurować tak, by na karcie pojawiał się adres IP, z którego przyszło żądanie, nazwa usługi lub adres URL, dzięki czemu użytkownik widzi, skąd naprawdę pochodzi logowanie. Nie będziemy twierdzić niczego więcej: to sprawia, że serwer pośredniczący staje się widoczny dla użytkownika, który się przyjrzy, ale nie czyni ataku niemożliwym.
- Obejmuje ścieżki, z których atakujący naprawdę korzystają. Zobacz praktyczne przewodniki: 2FA w VPN przez RADIUS, pulpit zdalny Windows oraz SSH w systemie Linux.
Przekonaj się sam
Najszybszym sposobem, by poczuć różnicę, jest zatwierdzenie transakcji, którą naprawdę da się przeczytać: konkretnego działania podpisanego z własnego telefonu, a nie monitu pozbawionego kontekstu.
Wypróbuj demo na żywo, aby podpisać transakcję w około dwie minuty, lub poproś o prezentację, a odwzorujemy Państwa logowania do VPN, SSO lub Windows w pilotaż na Państwa własnej infrastrukturze.