Uwierzytelnianie wieloskładnikowe: dlaczego kody SMS nie są już bezpieczne

SIM swapping i proxy phishingowe omijają kody SMS. Czym różnią się kody z aplikacji, push z dopasowaniem numeru i klucze FIDO2, jak pomaga dostęp warunkowy Entra ID i jak zmienić metodę bez chaosu.

Uwierzytelnianie wieloskładnikowe: dlaczego kody SMS nie są już bezpieczne

Jeszcze kilka lat temu kod SMS przy logowaniu uchodził za dobre zabezpieczenie i wiele firm wdrożyło je właśnie w takiej formie: hasło plus sześciocyfrowy kod na telefonie. Dziś banki, Microsoft i instytucje odpowiedzialne za cyberbezpieczeństwo uznają SMS za najsłabszą formę uwierzytelniania wieloskładnikowego (MFA) i zalecają odejście od niej.

Powód jest prosty: atakujący nauczyli się omijać kod SMS na dwa sposoby, które nie wymagają ani dużych zasobów, ani głębokiej wiedzy technicznej. Jednocześnie pojawiły się metody, które wytrzymują nawet wtedy, gdy pracownik sam wpisze kod na fałszywej stronie.

W tym artykule wyjaśniamy, dlaczego SMS już nie wystarcza, czym różnią się pozostałe metody MFA, jak Microsoft Entra ID pozwala wymagać silniejszych metod tylko tam, gdzie to potrzebne, oraz jak przejść na nie bez chaotycznego poniedziałkowego poranka.

Dwa sposoby na ominięcie kodu SMS

SIM swapping

Atakujący kontaktuje się z operatorem komórkowym, podając się za Twojego pracownika. Zna imię i nazwisko, numer PESEL (często wyciekł z innych serwisów) i ma wiarygodną historię o zgubionym telefonie. Operator wydaje nową kartę SIM z tym samym numerem. Od tej chwili każdy kod SMS trafia do atakującego, a telefon pracownika po prostu traci zasięg, co często zauważa się dopiero po kilku godzinach. Operatorzy zaostrzyli tę procedurę, ale ryzyko pozostaje, zwłaszcza gdy pracownik używa prywatnego numeru, nad którym firma nie ma kontroli.

Proxy phishingowe

Metoda jeszcze częstsza. Pracownik dostaje e-mail z linkiem do strony, która wygląda dokładnie jak logowanie do Microsoft 365. To nie jest kopia, lecz pośrednik (proxy): wszystko, co pracownik wpisze, strona przekazuje w czasie rzeczywistym do prawdziwego serwera Microsoftu i odsyła odpowiedzi. Pracownik wpisuje hasło i zostaje ono przekazane dalej. Dostaje kod SMS i go wpisuje, a ten też zostaje przekazany. Microsoft wystawia token sesji, a atakujący go przejmuje. Pracownik widzi, że logowanie się udało, i niczego nie podejrzewa.

Warto zrozumieć, że druga metoda omija nie tylko SMS, ale także kody z aplikacji i proste zatwierdzanie push. Każda metoda, którą można przekazać pośrednikowi, jest podatna.

Metody od najsłabszej do najsilniejszej

  • Kod SMS. Podatny na obie metody. Jego jedyną zaletą jest to, że nie wymaga aplikacji.
  • Kod z aplikacji (TOTP, na przykład Microsoft Authenticator). Chroni przed SIM swappingiem, ale nie przed proxy phishingowym, ponieważ pracownik może wpisać kod na fałszywej stronie.
  • Push z dopasowaniem numeru. Aplikacja pokazuje na ekranie, na którym się logujesz, dwie cyfry i prosi o wpisanie ich na telefonie. Chroni przed przypadkowym zatwierdzeniem, gdy atakujący wysyła dziesiątki próśb w nadziei, że pracownik w którąś kliknie, ale w scenariuszu z proxy numer również zostaje przekazany dalej.
  • FIDO2 i passkeys. Fizyczny klucz USB lub NFC albo passkey zapisany na telefonie. Kryptograficzna odpowiedź jest powiązana z prawdziwym adresem strony, więc dla fałszywej domeny klucz po prostu nie zadziała. To jedyna metoda odporna na proxy phishingowe, a Microsoft nazywa ją odporną na phishing (phishing-resistant).

W praktyce realistycznym celem firmy jest Authenticator z dopasowaniem numeru dla wszystkich oraz FIDO2 lub passkeys dla tych, których konta są najcenniejsze: administratorów, zarządu i pracowników finansów.

Częste pytanie brzmi, czy pracownicy zgodzą się zainstalować Authenticatora na prywatnym telefonie. Z naszego doświadczenia prawie wszyscy się zgadzają, jeśli wyjaśnić, że aplikacja nie widzi innych danych na telefonie i że firma nie zarządza przez nią telefonem. Dla tych, którzy odmawiają, pozostaje fizyczny klucz FIDO2: nie ma baterii ani oprogramowania do aktualizowania i kosztuje mniej niż jeden dzień przestoju.

Dostęp warunkowy Entra ID: rygor tam, gdzie jest potrzebny

Wymaganie klucza FIDO2 przy każdym otwarciu czatu w Teams jest niepraktyczne i pracownicy szybko zaczną szukać sposobów obejścia. Dostęp warunkowy Microsoft Entra ID pozwala ustalić reguły, kiedy wymagana jest każda z metod.

Typowe reguły, które wdrażamy klientom:

  • z komputera zarządzanego przez firmę i zgodnego z politykami: MFA raz na kilka dni;
  • z nieznanego urządzenia lub z innego kraju: MFA za każdym razem i tylko metoda odporna na phishing;
  • dla ról administratorów: zawsze FIDO2 lub passkey;
  • blokada starszych protokołów (POP, IMAP, SMTP z hasłem), ponieważ w ogóle nie obsługują MFA;
  • blokada ryzykownego logowania (na przykład z dwóch krajów w ciągu godziny) z obowiązkową zmianą hasła.

Reguły ustawia się centralnie i obejmują Microsoft 365, Azure oraz każdą aplikację podłączoną przez Entra ID. Opisujemy to na stronie usługi Microsoft Entra ID, a szerszą ochronę poczty i kont w opisie bezpieczeństwa Microsoft 365.

Jak wdrożyć to bez chaosu

Największym ryzykiem wdrożenia MFA nie jest technologia, lecz poniedziałkowy poranek, kiedy 80 pracowników nie może się zalogować i wszyscy dzwonią jednocześnie. W naszej praktyce przejście wygląda tak:

  • Inwentaryzacja. Kto używa SMS, kto Authenticatora, kto niczego. Raporty Entra ID pokazują to w kilka minut.
  • Pilotaż. Jako pierwsi przechodzą zespół IT i 5 do 10 pracowników z różnych działów. Wtedy wychodzi na jaw, które aplikacje są niekompatybilne.
  • Kampania rejestracji. Entra ID może przy logowaniu pokazać pracownikowi przypomnienie o skonfigurowaniu Authenticatora, z możliwością odroczenia o kilka dni. Dla większości osób wystarczy tydzień.
  • Jednostronicowa instrukcja i uzgodnione terminy, w których helpdesk ma dodatkową obsadę. Każdy pracownik musi wiedzieć, do kogo zadzwonić po utracie telefonu.
  • Przełączanie dział po dziale, a nie całej firmy naraz. Finanse idą pierwsze, bo ich ryzyko jest największe.
  • Temporary Access Pass dla nowych pracowników i tych, którzy zgubili telefon, żeby nie trzeba było „tymczasowo” przywracać SMS.

Ostatni krok bywa pomijany, a „tymczasowy” SMS zostaje na rok.

Co zrobić ze starszymi systemami

Nie wszystkie systemy obsługują MFA: stara aplikacja księgowa, urządzenie VPN bez nowoczesnych protokołów, system produkcyjny z kontem lokalnym. Możliwości są następujące:

  • Przenieść dostęp za Entra ID. Wiele aplikacji można podłączyć przez SAML lub OIDC, nawet jeśli nie mają własnego MFA, a wtedy Entra ID wykonuje MFA, zanim wpuści użytkownika.
  • Postawić przed systemem VPN z MFA. Jeśli sam system jest dostępny tylko z sieci wewnętrznej, a do sieci wchodzi się wyłącznie przez VPN z drugim składnikiem, efekt jest praktycznie taki sam. Dokładnie tak działa nasz hosting ERP: do systemu księgowego wchodzi się przez VPN z 2FA, które jest wliczone w usługę.
  • Odizolować. Jeśli system nie pasuje do żadnej z opcji, ogranicz dostęp do wybranych urządzeń i rejestruj logowania do czasu jego wymiany.
  • Wpisać do rejestru ryzyk. W kontekście NIS2 i DORA ważne jest nie tylko wdrożenie, ale też udokumentowanie, dlaczego jeden system jest tymczasowo wyjątkiem i kiedy zostanie z niego usunięty.

Które z tych rozwiązań jest odpowiednie, ustalamy według tego, ilu ludzi używa systemu i jakie dane w nim są. Dla systemu księgowego z wynagrodzeniami wszystkich pracowników sama izolacja nie wystarczy; dla wewnętrznego arkusza do rejestrowania czasu pracy wystarczy do czasu jego wymiany.

Od czego zacząć

  • W raporcie Entra ID sprawdź, ile kont nadal używa SMS jako jedynego drugiego składnika.
  • Wyłącz starsze protokoły. To jedna zmiana, która zamyka dużą część ataków.
  • Zamów klucze FIDO2 dla administratorów i pracowników finansów; to niewielka inwestycja w porównaniu z jednym udanym atakiem.
  • Utwórz reguły dostępu warunkowego dla grupy pilotażowej i przez tydzień obserwuj, co przestaje działać.
  • Jeśli nie masz kogo oddelegować do administrowania tym, przeprowadzimy przejście i bieżącą opiekę w ramach wsparcia IT, łącznie z helpdeskiem, gdy pracownik zgubi telefon.