Nawet prawidłowo stworzone i przechowywane hasła nie są w 100% bezpieczne. Wystarczy trochę pecha lub chwila nieuwagi, by wyciekły lub zostały wykradzione. Można jednak zapobiec skutkom takiego zdarzenia poprzez wieloskładnikowe uwierzytelnienie.
Przez kolejne dni będziecie mogli przeczytać nasze rekomendacje na temat tego, jak hasła tworzyć, jak je przechowywać, czym je najlepiej wzmocnić i jak zabezpieczać urządzenia mobilne, a ostatniego dnia odpowiemy na wasze najczęstsze pytania z tego obszaru. Pisaliśmy o tworzeniu haseł oraz ich przechowywaniu, dzisiaj napiszemy o tym, co do haseł dodać, by nawet po ich wycieku nie trzeba się było martwić.
Cały cykl znajdziecie tu:
- Część 1, czyli jak tworzyć hasła,
- Część 2, czyli jak przechowywać hasła,
- Część 3, czyli które metody uwierzytelnienia dwuskładnikowego mają sens,
- Cześć 4, czyli jak zabezpieczać urządzenia mobilne i czy ufać biometrii,
- Cześć 5, czyli najczęściej zadawane pytania.
Metoda na wyciek
Nasze hasło może zostać wykradzione ze słabiej zabezpieczonych serwisów internetowych, podsłuchane na mniej zaufanym komputerze, wyłudzone przez phishing czy wykradzione z naszego sprzętu przez złośliwe oprogramowanie. Możliwości wycieku jest tyle, że możemy przyjąć, że nie uchronimy wszystkich naszych haseł przez cały czas. Oczywiście, posiadając różne hasła do różnych serwisów, ograniczymy skutki takiego wycieku, ale nawet ujawnienie jednego hasła może zaboleć (nie trzeba być ministrem, by się o tym przekonać). Co zatem możemy zrobić, by wyciek hasła nie był tragedią, a jedynie uciążliwością?
Jeśli tylko pozwala na to dostawca usługi (a ci poważni pozwalają), powinniśmy dorzucić do naszego procesu uwierzytelnienia kolejny krok – dodatkowy element, który będzie trudny lub niemożliwy do pozyskania przez przestępcę. Takie rozwiązanie nazywamy uwierzytelnieniem dwuskładnikowym (tej nazwy używa np. Facebook), uwierzytelnieniem dwupoziomowym (nazwa Apple) lub weryfikacją dwuetapową (terminologia Google). W każdym przypadku chodzi o to samo – coś ekstra, co broni naszego konta przed przestępcami. Czym jest to „coś ekstra”? Możliwości może być wiele.
Drugi krok uwierzytelnienia
Katalog metod potwierdzania, że my to my już po tym, jak podamy prawidłowe hasło, jest dość spory. Tu wymienimy te najczęściej spotykane i postaramy się ocenić ryzyko ich stosowania.
Metoda (chyba) najstarsza to… karta zdrapka z jednorazowymi kodami. Pamiętacie ją pewnie z bankowości, gdzie służyła do autoryzacji transakcji. Odeszła już chyba wszędzie w zapomnienie, zastąpiona bardziej nowoczesnymi rozwiązaniami.
Z podobnej epoki pochodzą tokeny sprzętowe, czyli breloczki np. RSA, wyświetlające co n sekund inny ciąg znaków. Te także (przynajmniej w naszym kręgu kulturowym) już odchodzą do lamusa, chociaż służyły zarówno do uwierzytelnienia, jak i do autoryzacji transakcji. Na szczęście uwolnił nas od nich postęp technologiczny.
Najnowszym wcieleniem metody opartej o proste kody są aplikacje na urządzeniach mobilnych, działające podobnie jak tokeny. Różnica polega głównie na tym, że aplikację możemy łatwo sparować z dowolną obsługującą ją usługą i w jednej aplikacji możemy generować kody do wielu usług. No i nie musimy nosić breloczka.
Czwartym, dość starym, lecz nadal wielce popularnym sposobem dostarczania kodów jednorazowych są wiadomości SMS.
Co łączy wszystkie 4 powyższe metody? Przekazywane za ich pomocą kody jednorazowe są relatywnie łatwe do wyłudzenia na dobrze przygotowanych witrynach phishingowych – wystarczy, by fałszywa witryna działała w pełni interaktywnie i wykradała nie tylko login i hasło, ale także jednorazowy kod. Takie ataki są trudniejsze do przeprowadzenia, ale technicznie możliwe i czasem spotykane.
Kolejnym rodzajem dodatkowego kroku są różnego rodzaju powiadomienia pokazujące się w systemach Android lub iOS albo w dedykowanych aplikacjach. Użytkownik widzi wtedy na swoim innym urządzeniu wyskakujące okienko, w którym musi podjąć decyzję, czy zezwala na logowanie, czy nie. Choć pozornie bezpieczniejsze (brak kodu do przepisania na stronie przestępcy), ta metoda, podobnie jak 4 poprzednie, też jest podatna na popularny atak. Jest nim przejęcie ciasteczka uwierzytelnionej sesji użytkownika. Przestępca stawia swój dedykowany serwer proxy (np. za pomocą narzędzia Evilginx), ściąga na niego swoją ofiarę, wyświetla jej prawdziwą stronę logowania, lecz podsłuchuje cały ruch do oryginalnego serwera WWW. Po udanym logowaniu (uwzględniającym przepisanie kodu jednorazowego lub zatwierdzenie w aplikacji) przestępca przechwytuje ciasteczko zalogowanego użytkownika i może za jego pomocą uzyskać dostęp do usługi.
Jak zatem widzicie, przestępcy dobrze sobie radzą z wieloma rodzajami dwuskładnikowego uwierzytelnienia. Czy zatem jest coś, co ratuje skórę użytkownikom nawet w obliczu dobrze przygotowanego przestępcy?
Klucze U2F
Rozwiązaniem problemu (przynajmniej jak do tej pory) są tzw. klucze U2F (popularnie zwane Yubikeyami od nazwy ich pierwszego i nadal bardzo popularnego producenta). To rozwiązanie sprzętowe (podobne do pendrive’a), które ma jedną istotną wadę i jedną ogromną zaletę. Wadą jest cena, sięgająca okolic 100-200 PLN w zależności od modelu i upolowanej promocji. Zaletą jest niezwykła skuteczność przeciwko phishingowi – klucz U2F nie zadziała na fałszywej stronie, ponieważ adres prawdziwej strony jest jednym z potrzebnych elementów komunikacji witryny z kluczem. Można zatem powiedzieć, że klucze U2F skutecznie chronią przed phishingiem, a ich fizyczna forma w praktyce uniemożliwia wyłudzenie ich przez przestępców w jakiejkolwiek formie.
A co jeśli zgubię telefon / klucz?
To bardzo ważne pytanie. Konfigurując drugi składnik uwierzytelnienia, należy pamiętać o rozwiązaniach awaryjnych. Większość serwisów pozwala (a nawet zaleca) wygenerować zestaw kluczy awaryjnych – to ciągi znaków, które można schować w bezpiecznym miejscu (np. menedżerze haseł lub wydrukowane w sejfie), a które pomogą odzyskać dostęp do konta w razie większej awarii. W przypadku kluczy U2F inną metodą (choć podnoszącą koszty) jest podłączenie dwóch różnych kluczy i noszenie ze sobą jednego oraz przechowywanie drugiego w bezpiecznym miejscu. Można także, będąc świadomym użytkownikiem, na co dzień używać klucza U2F, lecz mieć skonfigurowaną metodę awaryjną np. w oparciu o aplikację generującą kody jednorazowe.
Ale ja nie chcę się tak męczyć przy każdym logowaniu
Nie przy każdym. Przynajmniej nie w każdej usłudze. Każdy usługodawca ma swoje mechanizmy ustalania, kiedy poprosi o dodatkowy składnik uwierzytelnienia, np. w Gmailu prośba pojawia się głównie przy dużej zmianie lokalizacji (inny kraj) lub zmianie sprzętu (nowy komputer). Z kolei OVH czy Cloudflare proszą o dodatkowy składnik przy każdym logowaniu (na szczęście tam można logować się rzadziej). Jak zawsze jednak za bezpieczeństwo płacimy wygodą.
Podsumowanie
Czasem użytkownicy pytają, po co w ogóle używać innych metod uwierzytelnienia skoro wszystko oprócz U2F da się oszukać. Warto pamiętać, że każde dwuskładnikowe uwierzytelnienie jest o wiele, wiele lepsze od jego braku. SMS z kodem jednorazowym też uratuje przed wyciekiem hasła i zwykłymi przestępcami próbującymi włamać się do naszej skrzynki. 100% ochrony przed włamaniem do poczty na skutek phishingu zapewni tylko klucz U2F, ale pozostałe metody będą skuteczne w ponad 99% przypadków ataku. Warto zatem wdrożyć jakąkolwiek metodę dwuskładnikowego uwierzytelnienia wszędzie, gdzie to tylko możliwe, a osoby o podwyższonym profilu ryzyka powinny używać kluczy U2F.
Macie pytania dotyczące haseł? Piszcie je od razu w komentarzach, odpowiemy w kolejnych odcinkach.
Dla zachowania pełnej przejrzystości: Patronem cyklu jest Aruba Cloud. Za opracowanie i opublikowanie tego artykułu pobieramy wynagrodzenie.
Komentarze
Warto wspomnieć o jeszcze dwóch sposobach na ominięcie 2FA:
Bardziej zasobni właściciele kont bankowych i inwestorzy kryptowalutowi są narażeni na przejęcie kodów sms poprzez sim swap:
Rzecznik Finansowy ostrzega przed oszustwem z podmianą kart SIM
https://rf.gov.pl/2020/11/10/rzecznik-finansowy-ostrzega-przed-oszustwem-z-podmiana-kart-sim/
Metoda zasypywania użytkownika powiadomieniami na telefonia aż ze zmęczenia zatwierdzi dostęp do konta:
MFA Fatigue – MFA Spamming Demonstration | Push Notification Fatigue
https://www.youtube.com/watch?v=auGdUGIqESU&t=46s
Z tym 2FA powinni zrobić tak, aby przy samej rejestracji od razu wyskakiwała możliwość konfiguracji, a dla osób już zarejestrowanych przy logowaniu powinna wyskoczyć możliwość dodania 2FA. Bądźmy szczerzy zwykli userzy nigdy nie zaglądają w ustawienia i nie skonfigurują 2FA. W każdym serwisie powinno być dostępne, a wręcz wymagane 2FA. Wystarczy najprostsze- wysłanie kodu na e-mail czy sms. Nie jest to idealne rozwiązanie, ale znacznie lepsze nic brak 2FA. A tu taki ZUS mający dostęp do wszystkich danych NIE POZWALA ustawić 2FA.
> przy samej rejestracji od razu wyskakiwała możliwość konfiguracji, a dla osób już zarejestrowanych przy logowaniu powinna wyskoczyć możliwość dodania 2FA
W Gmailu za pieniądze (Google Workspace) właśnie tak jest. Skutek: może z 10% rejestruje się od razu. Rozsyłasz potem maile, przypomnienia, plakaty tłumaczące o co chodzi i zachęcające do włączenia… może kolejne 10% włączy. Potem wybija godzina, do której użytkownicy mieli możliwość samodzielnego włączenie 2FA i zaczynają dzwonić telefony… W dodatku połowa osób mówi, że… hasło im nie wchodzi, a przecież cały czas mają takie samo „Wiosna2020!”) – bo nie są w stanie przeczytać komunikatu.
Ciekawym rozwiązaniem jest Time-Based One-Time Passwords.
Robisz dwa różne hashe i dwa razy wprowadzasz.
10^6 * 10^6 to dosyć sporo do złamania. Jak będzie trzeba to dodajesz kolejny hash.
Chciałbym wzmocnić bazę Keepass za pomocą Yubikey.
Czy to zadziała z dwoma kluczami i będę mógł synchronizować bazę (ręcznie to robie)
Keepass umożliwia dwie metody współpracy z kluczami a ja próbowałem skonfigurować challenge-response, ale nie powiodło się
Właśnie m.in. z tego powodu planuję migrację do KeePassXC. Mam wrażenie – mimo całego mojego szacunku do KeePass2 którego używam od lat – że XC ma pewne rzeczy lepiej rozwiązane np. jest multiplatformowy (bo napisany w C++), natywnie obsługuje Yubikey, generowane hasła można oprzeć na słownikach wyrazów etc. Wiadomo – KeePass2 ma masę rzeczy dostępnych przez pluginy, ale pytanie – czy to dobrze czy źle. XC nie wspiera pluginów.
Jak nie urok to s[…]
—————————
KeePassXC.exe – Błąd systemu
—————————
Nie można uruchomić programu, ponieważ na komputerze nie znaleziono api-ms-win-core-kernel32-legacy-ansi-l1-1-0.dll. Spróbuj ponownie zainstalować program, aby naprawić ten problem.
—————————
OK
—————————
Poszło na wirtualce. Interfejs keepassxc jak dla mnie- okropny :-(
> karta zdrapka (…) Odeszła już chyba wszędzie w zapomnienie, zastąpiona bardziej nowoczesnymi rozwiązaniami.
A przynajmniej tańszymi.
Nie wszędzie, jeszcze w PKO BP funkcjonuje. Na całe szczęście, bo jedyną alternatywą jest aplikacja bankowa, która sprawia, że przestajemy mieć 2FA bo do korzystania z niej nie jest potrzebne dodatkowe urządzenie.
działa też sms