Credential Stuffing (CS), jest to rodzaj ataku hakerskiego, w którym atakujący wykorzystuje wykradzione poświadczenia w celu zalogowania się na konta lub profile posiadane przez ofiarę.
Atak ten opiera się na założeniu hakera, że ofiara wykorzystuje te same dane do logowania na różnych kontach – co niestety jest bardzo powszechne wśród użytkowników Internetu.
Co umożliwia przeprowadzenie ataku Credential Stuffing
Coraz szybszy rozwój Internetu oraz cyfryzacja dotykająca coraz to nowych aspektów życia wpływa na konieczność posiadania rożnych kont i profili, a zarazem poświadczeń, czyli danych umożliwiających identyfikację ich użytkownika i zaoferowanie wybranych przez niego usług. Danymi tymi są, np. login, hasło, kod PIN, wygenerowany token, konkretna odpowiedź na zapisane pytanie bezpieczeństwa (np. jaki jest twój ulubiony kolor, gdzie było twoje pierwsze mieszkanie, jak ma na imię twoja babcia). Wskazanymi w poprzednim zdaniu profilami i kontami są wszelkiego rodzaju konta w mediach i serwisach społecznościowych, konta pocztowe (e-mail), konta do bankowości elektronicznej, konta w różnych serwisach i sklepach internetowych, portalach aukcyjnych, czy wreszcie konta umożliwiające elektroniczny dostęp do usług świadczonych dla obywateli przez poszczególne organy państwa. Ponadto dochodzą jeszcze profile i konta na forach internetowych, czatach, oraz konta służbowe umożliwiające dostępy do różnych programów i systemów. Ilość posiadanych kont i profili może dochodzić do kilkuset, a nieodosobnionymi przypadkami są osoby posiadające blisko pół tysiąca różnych kont.
Ponadto, dobre praktyki i zasady bezpieczeństwa w Internecie nakazują posiadanie odpowiednio długich i skomplikowanych haseł niemożliwych do złamania w prosty i szybki sposób.
Stosowanie się do powyższych praktyk przy tak ogromnej liczbie posiadanych kont sprawia, że ludzie nie są w stanie zapamiętać indywidualnych poświadczeń do każdego konta i profilu. W związku z tym często zdarza się, że używane są te same dane do logowania na różne konta i profile, co skrzętnie wykorzystują hakerzy, w szczególności stosując atak Credential Stuffing.
Na czym polega atak Credential Stuffing
Hakerzy wchodzą w posiadanie poświadczeń innych użytkowników Internetu w wyniku skutecznego przeprowadzenia innych ataków hakerskich, umożliwiających wykradzenie takich danych, jak też kupując odpowiednie bazy danych na czarnym rynku, czy w darknecie.
Cyberprzestępca mając dane do logowania innego użytkownika może próbować zalogować się na pojedyncze konto lub profil w celu jego przejęcia, jak też spróbować wykorzystać te dane do przejęcia innych kont i profili ofiary opierając się na założeniu, że takie same poświadczenia uwierzytelniają użytkownika także na innych kontach.
Wobec powyższego Credential Stuffing to zautomatyzowany proces, np. opierający się na sieci botów (BotNet), podczas którego skradzione dane logowania wprowadzane są na tysiącach stron internetowych w czasie od pięciu minut do kilku godzin, poczynając od profili w mediach społecznościowych po konta użytkownika związane z własnościowym oprogramowaniem firm.
Warto dodać, że bardziej wyrafinowane boty dokonują kilku prób logowań z różnych adresów IP przez co obchodzą proste środki bezpieczeństwa, takie jak blokowanie adresów IP ze zbyt dużą ilością błędnych logowań.
O skuteczności tych ataków świadczy fakt, że blisko jedna trzecia użytkowników Internetu używa ponownie swoich haseł. Powoduje to, że 0,1% naruszonych poświadczeń można skutecznie wykorzystać do zalogowania się na inne konto lub profil.
Jednocześnie ataki te są ułatwiane poprzez dostępność ogromnych baz danych zawierających naruszone dane uwierzytelniające. Przykładem takiej bazy danych może być „Collection #1-5”, przechowująca w postaci zwykłego tekstu 22 miliardy kombinacji skompromitowanych nazw użytkowników i haseł.
Credential Stuffing vs. Password Spraying
Warto wskazać na czym polega różnica pomiędzy atakami Credential Stufiing i Password Sraying. Otóż przeprowadzając atak PS (Password Spraying) haker używa zweryfikowanej nazwy użytkownika na kilku kontach w połączeniu z kombinacją różnych popularnych haseł, mając nadzieję, że użytkownik używa prostych do zapamiętania haseł, np. password, admin, 1234, hasło, qwerty. Natomiast, jak już wykazałem powyżej, atak CS (Credential Stuffing) opiera się na używaniu tych samych poświadczeń do logowania się na różnych kontach i profilach przez tego samego użytkownika.
Credential Stuffing vs. Brute Force
Jak już wiemy, atak Credential Stuffing polega na dopasowywaniu nazw użytkowników i haseł w celu odgadnięcia prawidłowej kombinacji loginu i hasła. Natomiast atak Brute Force polega na próbie odgadnięcia danych uwierzytelniających bez posiadania kontekstu, czyli używając losowych ciągów znaków, często używanych haseł lub typowych fraz. Zasadniczą różnicą jest to, że ataki Brute Force nie wykorzystują skompromitowanych danych uwierzytelniających konkretnego użytkownika, przez co ich skuteczność jest znacznie niższa.
Przebieg ataku Credential Stuffing
Atakujący konfiguruje bota lub sieć botów, które mogą automatycznie logować się równolegle do wielu kont użytkowników, jednocześnie fałszując swoje adresy IP. Takie boty weryfikują poprawność wprowadzanych danych, a po pomyślnym logowaniu pozyskują dane użytkownika, w tym jego dane osobowe, dane kart kredytowych lub inne cenne dla hakera dane. Ponadto bot lub sieć botów po pomyślnym zalogowaniu zachowują informacje o danych uwierzytelniających, aby można było ich użyć w przyszłości, np. w przypadku ataków typu phishing lub innych transakcji udostępnianych przez usługę wykorzystywaną przez użytkownika, którego dane uwierzytelniające do tej usługi zostały skompromitowane. Dodać należy, że Credential Stuffing jest jedną z najczęstszych technik przejmowania kont użytkowników.
Skutki udanego ataku Credential Stuffing
Udany atak Credential Stuffing może rodzić daleko idące skutki, począwszy od przejęcia konta lub profilu, zmianie danych do logowania, wykradzenia danych ofiary lub innych cennych dla hakera danych zamieszczonych na takim profilu/koncie, umożliwienie podszywania się pod ofiarę, jej dyskredytację, czy nawet kradzież tożsamości, co może być wykorzystane w innych celach przestępczych. Ponadto hakerzy dokonujący udanego ataku CS mogą przejąć kontrolę nad bankowością elektroniczną ofiary, co może skończyć się kradzieżą wszystkich pieniędzy lub innych zgromadzonych aktywów, np. papierów wartościowych czy akcji. Dodatkowo, hakerzy mogą na podstawie tego ataku dokonywać zakupów w Internecie, wykradać zdjęcia ofiary, jej prywatne wiadomości lub dokumenty, a także wykorzystywać takie konto do wysyłania wiadomości phishingowych lub spamu.
Wykrywanie ataków Credential Stuffing
Użytkownicy indywidualni mogą wykryć atak CS stosując uwierzytelnianie dwuskładnikowe 2FA/MFA, umożliwiające otrzymanie ostrzeżenia w momencie próby naruszenia konta. W takim przypadku konieczne jest wprowadzenie dodatkowego zestawu poświadczeń w celu otwarcia uwierzytelnionej sesji (zalogowania).
Natomiast użytkownicy biznesowi mogą korzystać z:
- wykrywacza anomalii w zakresie ruchu botów – takie narzędzie pomaga w wykrywaniu nieprawidłowości w napływającym ruchu internetowym i wysyłaniem powiadomienia o botach,
- regularnego skanowania baz danych w poszukiwaniu udostępnionych loginów – wynika to z cyklicznie prowadzonych konserwacji systemu, co zapewnia wczesne wykrycie zagrożeń i minimalizację szkód spowodowanych naruszeniem danych,
- odcisku palca urządzenia i przeglądarki – czyli na poświadczeniach biometrycznych, które zapewniają silne i unikatowe loginy; połączenie hasła z poświadczeniem biometrycznym może zwiększyć zabezpieczenie konta nawet dziesięciokrotnie,
- monitorowania sieci VPN,
- specjalnego oprogramowania monitorującego dark web i wykonującego skany w poszukiwaniu naruszonych haseł.
Zapobieganie atakom Credential Stuffing
Indywidualni użytkownicy mogą zapobiegać atakom Credential Stuffing poprzez:
- korzystanie z uwierzytelniania dwuskładnikowego 2FA/MFA,
- stosowanie odpowiednio bezpiecznych haseł, w szczególności wygenerowanych przez generatory haseł,
- używanie różnych haseł na każdym koncie i profilu,
- stosowanie dodatkowych zabezpieczeń, np. w postaci odpowiednio silnych pytań zabezpieczających wymaganych podczas logowania.
Natomiast użytkownicy biznesowi mogą zapobiegać atakom CS poprzez:
- wprowadzenie uwierzytelniania dwuskładnikowego 2FA/MFA dla wszystkich kont firmowych, w tym kont indywidualnych pracowników – jest to zasadne, ponieważ boty nie będą w stanie zapewnić fizycznej metody uwierzytelniania, takiej jak telefon komórkowy, czy token; natomiast uwierzytelnianie MFA można łączyć z odciskiem palca urządzenia.
- stosowanie zabezpieczeń CAPTCHA na stronach logowania, jednakże zabezpieczenie to może zostać ominięte przez hakerów poprzez użycie przeglądarek bezgłowych (headless browsers),
- weryfikację odcisków palca poszczególnych urządzeń, do czego można użyć JavyScript (zbieranie informacji o urządzeniach użytkownika i tworzeniu „odcisku palca” dla każdej sesji przychodzącej); warto nadmienić, że odcisk palca, to kombinacja parametrów, takich jak system operacyjny, język, przeglądarka, strefa czasowa, agent użytkownika, itp.,
- blokadę przeglądarek bezgłowych (headless browsers), takich jak PhantomJS, które można łatwo rozpoznać po używanych przez nie wywołaniach JavaScript – przeglądarki takie nie są legalnymi użytkownikami i prawie zawsze wskazują na podejrzane zachowanie,
- niezezwalanie na używanie adresów e-mail jako identyfikatorów użytkowników,
- przeprowadzanie regularnych szkoleń dla pracowników z zakresu cyberbezpieczeństwa,
- wprowadzenie odpowiednich polityk z zakresu cyberbezpieczeństwa,
- ograniczenie ruchu z numerów systemu autonomicznego,
- używanie zapory aplikacji internetowych WAF (Web Application Firewall),
- ograniczenie liczby żądań uwierzytelniania/prób logowania, w tym poprzez użycie list blokowania IP,
- posiadanie oraz stałe aktualizowanie listy znanych groźnych adresów IP (o złej reputacji),
- używanie narzędzi skanujących w celu wyszukiwania potencjalnego wycieku danych, w tym haseł.
Słynne ataki Credential Stuffing
Na zakończenie warto przedstawić kilka słynnych ataków Credential Stufing.
Pierwszy w tym zestawieniu atak na sieć amerykańskich barów Dunkin’s Dounts został dokonany w październiku 2018 roku a następnie w styczniu 2019 roku. Łupem hakerów padły dane osobowe klientów korzystających z programu lojalnościowego tej sieci, w tym numery kont bankowych, adresy e-mail i numery telefonów.
Drugi słynny atak został przeprowadzony w marcu 2020 roku na Nitendo, kiedy to tysiące użytkowników zgłosiło nieautoryzowane logowania na ich konta. Z bazy danych Nitendo zostały skradzione dane do logowania, między innymi imiona i nazwiska klientów oraz ich adresy e-mail. Firma w wydanym oświadczeniu nie potrafiła stwierdzić, czy przyczyną wycieku danych był phishing, Credential Stuffing, czy połączenie obu ataków.
Trzecim słynnym atakiem Credential Stuffing był atak na Zoom trwający od marca do kwietnia 2020 r. W wyniku tego ataku hakerzy skradli 530 000 nazw użytkowników tej aplikacji oraz ich haseł, które w kwietniu 2020 roku zostały wystawione na sprzedaż i kupione w darknecie. W oficjalnym komunikacie wydanym przez firmę stwierdzono, że złamano tysiące danych logowania użytkowników na skutek ataku hakerskiego przeprowadzonego na inne firmy.
Natomiast jednym z najnowszych ataków Credential Stuffing jest atak przeprowadzony pomiędzy 6 a 8 grudnia 2022 r., potwierdzony przez PayPal 20 grudnia 2022 r. Skutkiem tego ataku było wykradzenie danych 34 942 użytkowników tej platformy, w tym ich imion i nazwisk, dat urodzenia, adresów pocztowych, numerów ubezpieczenia społecznego oraz indywidualnych numerów identyfikacji podatkowej. Ponadto hakerzy mieli dostęp do historii transakcji oraz danych powiązanej karty kredytowej lub debetowej, a także danych do faktur PayPal.
Podsumowanie
Ataki hakerskie z roku na rok stają się coraz bardziej wyszukane i coraz groźniejsze. W obecnych czasach niezbędne jest propagowanie wiedzy z cyberbezpieczeństwa, niezależnie od tego czy odbiorcami są firmy, instytucje, czy osoby indywidualne. Każda instytucja, każde przedsiębiorstwo i każda osoba fizyczna muszą być przygotowani na atak hakerski i mieć choćby podstawową wiedzę z dziedziny zabezpieczeń cybernetycznych. Brak tej wiedzy, nieumiejętne jej wykorzystanie, czy nieumiejętna konfiguracja systemów zabezpieczeń w prosty sposób prowadzą do katastrofy i narażają ofiary ataków hakerskich na ogromne straty finansowe, utratę reputacji, klientów i kontaktów. W obecnym, nowoczesnym i cyfrowym świecie niezbędna staje się umiejętność cyfrowej samoobrony. Dobitnie o tym świadczą choćby przedstawione w tym artykule ataki typu Credential Stuffing, które mogą doprowadzić nawet do utraty cyfrowej tożsamości i wykorzystaniu skradzionych w ten sposób danych w celach przestępczych.
Autor: Michał Mamica