Bezpieczeństwo

Dlaczego samo hasło to za mało?

 

Może trudno uwierzyć, ale pojęcie logowania się towarzyszy nam już od mniej więcej 1961 roku, kiedy w systemie operacyjnym Compatible Time-Sharing System wprowadzono polecenie „login” aby odblokować dostęp do urządzenia przy podaniu odpowiedniego hasła. Podczas rozwoju systemów Unix w latach 70. również skorzystano z tego rozwiązania, tym razem wzbogacając je o nazwę użytkownika. Dało to możliwość korzystania z jednej maszyny typu mainframe wielu użytkownikom, z zachowaniem prywatności danych podzielonych na różne katalogi. Dzięki dużej ilości serwerów typu Linux i BSD, które powstały na fundamencie Unixa, praktyka używania użytkownika i hasła pozostała z nami do dziś.

Dobre, ale archaiczne rozwiązanie

Dla usługodawców którzy świadczyli usługi wielu podmiotom naraz, uwierzytelnianie klientów poprzez podawanie loginu i hasła było dobrym i sprawdzonym sposobem na oddzielenie danych. Osoba logująca się otrzymywała dostęp do swoich plików, jednocześnie będąc pozbawiona dostępu do danych innych osób korzystających z systemu. Identycznie działo się z usługami. Niestety, wszystko zmieniła ewolucja internetu i hakerów, którzy zauważyli, że można zarobić na nie swoich danych.

Do połowy lat 90. internet funkcjonował jako luźne zrzeszenie komputerów, najczęściej używanych w celach biznesowych i akademickich. Niewiele komputerów było podłączonych do sieci, a te nieliczne, które łączyły się z internetem, robiły to sporadycznie za pomocą modemu. Co więcej, internet nie był też tak wszechobecny jak jest dzisiaj: bankowość internetowa była usługą dla nielicznych, sprzedaż internetowa istniała na mikroskopijną skalę a e-mail nie zastępował tradycyjnej poczty.

Dwie i pół dekady później, świat internetu drastycznie się zmienił. Ludzie przywykli do bankowości internetowej, coraz więcej osób robi zakupy online, a dla wielu e-mail stał się oficjalnym sposobem dostarczania nawet rządowej korespondencji. Co więcej, hardware też się zmienił: komputery są na stałe podłączone do szerokopasmowego internetu, a smartfony towarzyszą nam non stop, komunikując się z różnymi usługami. 

Warto jest zauważyć, że wszechobecność internetu to doskonała okazja dla hackerów: rosnąca ilość użytkowników i usług połączona z niemal całodobową dostępnością urządzeń w internecie stworzyła idealne środowisko do przechwytywania danych. Tymczasem sposób, w jaki uwierzytelnia się większość użytkowników, niewiele się zmienił: nadal używamy loginu i hasła.

Problematyczny użytkownik i hasło

Używanie loginu i hasła samo w sobie jest rozsądnym i dość bezpiecznym rozwiązaniem – ale nie w dobie wszechobecnego internetu. Problem polega na tym, że dziś istnieje multum złośliwego oprogramowania, które po wkradnięciu się do komputera, czyha na dane użytkownika. Możliwości przechwycenia loginu i hasła jest wiele. Hakerów wspierają m.in.:

  • Keylogger – pozbawione interfejsu oprogramowanie, które w tle zapisuje wszelkie dane wpisane przez klawiaturę;
  • Spyware – złośliwe oprogramowanie, które śledzi lub podgląda użytkownika;
  • Skompromitowane usługi RDP lub VNC – umożliwiają zdalny podgląd pulpitu ofiary.

Ale to nie wszystko. Ataki socjotechniczne również odgrywają istotną rolę w przechwytywaniu uwierzytelnień:

  • Phishing – wiadomości mailowe podszywającą się pod usługę lub usługodawcę;
  • Spear phishing – zaawansowane, w pełni spersonalizowane ataki phishingowe na przedsiębiorstwo lub prywatnego użytkownika;
  • Whaling – ataki socjotechniczne nakierowane na osoby decyzyjne.

Do listy można też dodać możliwości przechwycenia loginu i hasła w czasie transmisji danych (packet sniffing), podczas dzielenia się hasłami (efekt błędu ludzkiego) lub gdy usługodawca padnie ofiarą hakerów (ponieważ kopia loginu i hasła jest przechowywana również na serwerach usługodawców).

Jak widać możliwości na przechwycenie loginu i hasła jest naprawdę wiele, a za wszystko jest odpowiedzialny fakt, że całe uwierzytelnienie – czyli podanie użytkownika i hasła – jest wysyłane z jednego urządzenia do serwera. Jeżeli jedno urządzenie zostanie skompromitowane, całe bezpieczeństwo usług i danych zostaje pominięte.

2FA, czyli Two Factor Authentication

Mając na uwadze fakt, że komputery i smartfony są niemal non stop podłączone do internetu można dojść do wniosku, że dla hakera czas na złamanie zabezpieczeń jednego systemu jest praktycznie nieograniczony. I de facto tak jest; choć obecne systemy komputerowe są aktualizowane i wyposażone w różnego rozwiązania zapory, nie istnieje żadne rozwiązanie technologiczne, które w stu procentach gwarantuje ich bezpieczeństwo. 

Niemniej, pewnym rozwiązaniem tego problemu jest 2FA, czyli Two Factor Authentication (uwierzytelnienie dwuetapowe lub uwierzytelnienie wieloetapowe). Zamiast korzystać z jednego urządzenia, 2FA wymusza użycie dodatkowego, takiego jak smartfon lub klucz USB.

Przykłady 2FA

 

 

 

 

 

 

 

Transakcje bankowe najczęściej są potwierdzane kodem SMS.

Jednym z najbardziej rozpowszechnionych form 2FA jest potwierdzenie SMS-owe. Przy logowaniu się do usługi, użytkownik wpisuje swój login i hasło, po czym otrzymuje wiadomość SMS wysłaną na telefon komórkowy. Aby zalogować się do systemu należy przepisać treść jednorazowego kodu do formularza na stronie. Dzięki temu, nawet jeżeli haker przechwyci nazwę użytkownika i hasło, nie będzie w stanie zalogować się poprawnie bez powiadomienia użytkownika drugiego urządzenia, którym jest telefon komórkowy. Co prawda istnieją metody obejścia tego zabezpieczenia przez SIM-jacking, czyli oszukanie operatora komórkowego i podmienienie karty SIM, ale jest to bardzo pracochłonne zadanie i rzadko kiedy kończy się powodzeniem.

Kody dostępu stanowią dobrą alternatywę, gdy nie są przechowywane w pamięci urządzenia.

Drugim dość częstym rozwiązaniem są kody jednorazowego dostępu. Zasada działania tego mechanizmu jest równie prosta: użytkownik loguje się do strony używając loginu i hasła, po czym system prosi go o wpisanie kodu o oznaczonym numerze. Jeżeli kod się zgadza, użytkownik loguje się do systemu. Naturalnie, ta metoda jest bezpieczna tylko wtedy, gdy wydrukujemy listę kodów jednorazowego, a zawierający ją plik usuniemy z komputera lub gdy lista kodów znajduje się na zupełnie innym urządzeniu.

Aplikacje uwierzytelniające zabezpieczają użytkownika przed nieautoryzowanymi próbami logowania.

Trzecim rozwiązaniem jest aplikacja uwierzytelniająca. Podobnie jak w pierwszym przykładzie, użytkownik musi skorzystać ze smartfona wyposażonego w odpowiednią aplikację powiązaną z systemem logującym. Po wpisaniu loginu i hasła użytkownik proszony jest o wprowadzenie np. jednorazowego kodu wygenerowanego przez aplikację, lub potwierdzenia zalogowania się poprzez przyciśnięcie przycisku w interfejsie aplikacji.

Klucze U2F oferują dobrą ochronę przed atakami typu phishing.

Ostatnim popularnym sposobem na uwierzytelnienie dwuetapowe jest klucz U2F USB, np. YubiKey. To pendrive wyposażony w możliwość przesyłania danych prosto do serwera usługodawcy, bez konieczności przepisywania kodów lub innych zabezpieczeń przez użytkownika. Po zalogowaniu się do systemu użytkownik proszony jest o włożenie klucza do portu USB i (opcjonalnie) naciśnięcie przycisku na kluczu. W tym momencie serwer automatycznie sprawdza autentyczność klucza i jeżeli wszystko się zgadza, loguje użytkownika do usługi. Cała transakcja jest szyfrowana i nie wymaga przepisywania tekstu na klawiaturze, dzięki czemu ten sposób weryfikacji drastycznie zmniejsza możliwość padnięcia ofiarą ataków phishingowych.

Nie ma lekarstwa na brak świadomości

Weryfikacja dwuetapowa (2FA) jest naturalną ewolucją poprzednich form weryfikacji, czyli używania prostego loginu i hasła. Niepodważalnie, zhakowanie dwóch systemów – komputera i smartfonu jednocześnie – jest znacznie trudniejszym zadaniem niż złamanie zabezpieczeń jednego urządzenia. To samo można powiedzieć o metodzie SIM jacking, która wymaga zarówno wprowadzenie w błąd firmy telekomunikacyjnej, jak i przechwycenia loginu i hasła ofiary.

SIM-jacking: nieautoryzowane przeniesienie numeru telefonu na inną kartę.

Niemniej nawet zabezpieczenie 2FA może zostać skompromitowane, jeżeli użytkownik nie jest świadomy tego, co robi. Nic bowiem nie stoi hakerowi na przeszkodzie, aby np. przygotować podrobioną stronę internetową, która najpierw poprosi użytkownika o login i hasło i przekaże dane do prawdziwego usługodawcy, po czym poprosi jeszcze o kod dostępu i używając go, zaloguje się do usługi w imieniu ofiary.

Rozwiązania typu U2F USB są krokiem w dobrą stronę jeżeli chodzi o prewencję przed atakami phishingowymi, jednak tego typu rozwiązania też mają swoje ograniczenia – możemy się na nich zawieść, gdy użytkownik celowo spełnia prośby hakerów, choćby o tym nie wiedząc. O tak zwanych “insiderach” pisaliśmy na łamach Platformy Przemysłu Przyszłości i naszego bloga. Ich działania są odpowiedzialne za około 34% wszelkich wycieków danych!  

Najlepszym rozwiązaniem na utrzymanie bezpieczeństwa kont i danych jest inwestycja w wiedzę i świadomość. Osoby decyzyjne, szczególnie narażone na ataki typu whaling powinny poświęcić trochę czasu na zapoznanie się z różnego rodzaju przykładami ataków, aby świadomie korzystać z technologii i niemal nieograniczonego dostępu do danych wewnątrz firmy. (O whalingu i innych metodach atakowania osób decyzyjnych pisaliśmy tutaj.)

Dobrym rozwiązaniem są usługi cyberbezpieczeństwa stworzone specjalnie dla osób VIP, które swoją ofertą obejmują szkolenie z zakresu bezpieczeństwa, audyt urządzeń mobilnych i dogłębne omówienie ataków socjotechnicznych. Natomiast dla osób, które regularnie korzystają z różnych usług internetowych – służbowo lub prywatnie – polecam osobiste zapoznanie się z podstawami zasad cyberbezpieczeństwa, lub skorzystanie z gotowych ofert firm szkoleniowych w tej dziedzinie.

Oceń artykuł:


02.12.2020