0Pricing
Cryptology Academy · Lekcja

Ograniczanie częstotliwości i blokowanie kont

Przeanalizują Państwo zabezpieczenia po stronie serwera i na poziomie protokołu, które w praktyce uniemożliwiają skuteczne ataki brute force.

Ograniczanie częstotliwości i blokowanie kont to bezpłatna lekcja Cryptology Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cryptology Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cryptology Academy zawiera 4 lekcji w sumie.

Ataki brute force online i offline

Ataki brute force online uwierzytelniają się w działających systemach za pośrednictwem sieci. Każda próba wymaga co najmniej jednej podróży w obie strony, która zazwyczaj trwa 50–500 ms, co ogranicza atakującego najwyżej do kilku tysięcy prób na minutę. Jest to nieporównywalnie wolniejsze niż łamanie hashy offline. Ograniczanie liczby prób i blokada konta wykorzystują to ograniczenie, dzięki czemu atak brute force online staje się praktycznie niemożliwy do przeprowadzenia w jakimkolwiek realistycznym czasie.

Blokada konta po N nieudanych próbach

Najprostszą ochroną przed atakiem brute force online jest zablokowanie konta po określonej liczbie kolejnych nieudanych prób logowania, zazwyczaj od 5 do 10. Konto można zablokować na stały czas, na przykład 15 minut, albo do momentu ręcznego odblokowania przez administratora. Blokada konta zmienia atak brute force online z próby łamania hasła w atak wyczerpujący wymierzony w dostępność konta.

Ryzyko odmowy usługi związane z blokadą konta

Blokada konta tworzy podatność na atak typu denial of service: atakujący znający prawidłowe nazwy użytkowników może zablokować wszystkie konta, wysyłając po 5 nieudanych prób dla każdego z nich. Jest to nieodłączny kompromis związany z zasadami blokowania kont. Niektóre systemy stosują tymczasową blokadę, na przykład na 5 minut, zamiast blokady stałej, aby ograniczyć wpływ ataku DoS. Inne w ogóle nie blokują kont, lecz stosują wykładnicze zwiększanie opóźnienia, które spowalnia atakujących bez stwarzania możliwości przeprowadzenia ataku DoS.

CAPTCHA jako zabezpieczenie przed botami

CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) wymaga rozwiązania zagadki wizualnej lub dźwiękowej, łatwej dla człowieka, lecz trudnej dla automatycznych botów. Google reCAPTCHA v3 wykorzystuje analizę zachowania zamiast jawnych wyzwań, przypisując ocenę ryzyka na podstawie ruchów myszy, czasu wykonywania działań i historii przeglądania. CAPTCHA znacznie spowalnia automatyczne ataki brute force bez blokowania kont.

Wykładnicze zwiększanie opóźnienia po nieudanych próbach

Wykładnicze zwiększanie opóźnienia wydłuża czas oczekiwania między dozwolonymi próbami logowania po każdym niepowodzeniu: 1 sekunda po pierwszym niepowodzeniu, 2 sekundy po drugim, 4 sekundy po trzecim i tak dalej. Po 10 nieudanych próbach oczekiwanie wynosi ponad 17 minut. Dzięki temu atak brute force staje się niezwykle powolny bez całkowitego blokowania konta, co eliminuje ryzyko odmowy usługi, a jednocześnie zniechęca do automatycznych ataków.

Ograniczanie liczby prób według adresu IP

Ograniczanie liczby prób według adresu IP blokuje próby logowania lub wymaga dodatkowej weryfikacji w przypadku adresów IP, z których w jednostce czasu pochodzi więcej nieudanych prób niż określony próg. Jeśli z danego adresu IP w ciągu minuty zostanie wysłanych 50 nieudanych prób logowania, kolejne próby z tego adresu zostaną zablokowane na godzinę. Ataki rozproszone wykorzystujące botnety z tysiącami różnych adresów IP mogą omijać proste limity nakładane na pojedynczy adres IP, dlatego wymagają bardziej zaawansowanego wykrywania tempa działań na podstawie wielu sygnałów.

TOTP jako sposób na powstrzymanie ataku brute force

Jednorazowe hasła zależne od czasu (TOTP, używane w Google Authenticator i podobnych aplikacjach) generują 6-cyfrowy kod ważny przez 30 sekund. Nawet jeśli atakujący odgadnie prawidłowe hasło metodą brute force, musi również znać aktualny kod TOTP. Przy zaledwie 1 milionie możliwych 6-cyfrowych kodów i 30-sekundowym oknie czasowym praktyczne okno na przeprowadzenie ataku brute force przeciwko TOTP jest bardzo krótkie. Uwierzytelnianie wieloskładnikowe skutecznie eliminuje atak brute force na hasła jako realny wektor ataku.

Współczynnik pracy bcrypt spowalnia obliczanie hashy

bcrypt jest funkcją haszującą hasła z konfigurowalnym współczynnikiem kosztu. Przy koszcie 10 bcrypt potrzebuje około 100 ms na zahaszowanie pojedynczego hasła. Przy koszcie 12 czas ten wynosi około 400 ms. Oznacza to, że atakujący łamiący hashe bcrypt offline może testować najwyżej kilkaset haseł na sekundę na GPU, w porównaniu z miliardami na sekundę w przypadku MD5. Współczynnik pracy można zwiększać wraz z rozwojem sprzętu, aby utrzymać stały poziom trudności łamania.

Argon2 i wymagania pamięciowe

Argon2 wygrał konkurs Password Hashing Competition w 2015 roku i jest obecnie zalecany w nowych systemach. Jego kluczową właściwością jest wymaganie dużej ilości pamięci: do obliczeń potrzebna jest konfigurowalna ilość pamięci RAM, zazwyczaj od 64 MB do 1 GB. Utrudnia to przyspieszanie obliczeń za pomocą GPU i ASIC, ponieważ urządzenia te mają ograniczoną przepustowość pamięci. Atakujący dysponujący GPU, który może wykonywać tysiące równoległych obliczeń bcrypt, z powodu ograniczeń pamięci może wykonywać zaledwie kilka obliczeń Argon2.

Reguły WAF przeciwko credential stuffing

Zapory aplikacji webowych mogą wykrywać ataki credential stuffing, rozpoznając wzorce w ruchu związanym z nieudanymi logowaniami: duży jego wolumen z pojedynczych adresów IP, próby wykorzystujące popularne listy nazw użytkowników, nietypowe rozmieszczenie geograficzne prób logowania oraz wzorce czasowe charakterystyczne dla narzędzi automatycznych. Reguły WAF mogą blokować podejrzany ruch, wymagać dodatkowej weryfikacji lub go spowalniać, zanim dotrze do aplikacji. Nowoczesne zapory WAF integrują kanały analizy zagrożeń zawierające informacje o znanych zakresach adresów IP botnetów.

API HIBP dla haseł znanych z wycieków

Integracja Have I Been Pwned API z procesem zmiany haseł uniemożliwia użytkownikom ustawianie haseł występujących w bazach danych znanych wycieków. API wykorzystuje k-anonimowość: wysyłanych jest tylko pierwszych 5 znaków szesnastkowych skrótu SHA-1, co chroni prywatność użytkowników, a jednocześnie umożliwia porównanie z 850 milionami haseł znanych z wycieków. Blokowanie haseł ujawnionych w wyciekach już podczas rejestracji eliminuje znaczną część podatności na ataki credential stuffing.

Blokada konta

Jakie jest główne zagrożenie bezpieczeństwa powodowane przez restrykcyjne zasady blokady konta, które trwale blokują konta?

Ograniczanie liczby prób i blokada konta: najważniejsze informacje

Ataki brute force online są ograniczane przez opóźnienia sieciowe, które można wykorzystać za pomocą ograniczania liczby prób i blokady konta. Blokada konta powstrzymuje atak brute force, ale umożliwia przeprowadzenie ataku typu denial of service. Wykładnicze zwiększanie opóźnienia i CAPTCHA ograniczają oba rodzaje ryzyka. Ograniczanie liczby prób według adresu IP wykrywa ataki z jednego źródła. Uwierzytelnianie wieloskładnikowe TOTP skutecznie powstrzymuje ataki brute force na hasła. bcrypt i Argon2 spowalniają łamanie hashy offline. HIBP API blokuje hasła znane z wycieków już podczas rejestracji.

Często zadawane pytania

Czy lekcja „Ograniczanie częstotliwości i blokowanie kont” jest bezpłatna?

Tak — pełny tekst „Ograniczanie częstotliwości i blokowanie kont” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cryptology Academy, przejdź na CoddyKit PRO. Kurs Cryptology Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Ograniczanie częstotliwości i blokowanie kont”?

Przeanalizują Państwo zabezpieczenia po stronie serwera i na poziomie protokołu, które w praktyce uniemożliwiają skuteczne ataki brute force. Ćwiczysz Cryptology Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Cryptology Academy?

Nie wymagamy żadnego doświadczenia. Cryptology Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Ograniczanie częstotliwości i blokowanie kont”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Cryptology Academy?

Tak. Każda lekcja Cryptology Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Jak działają ataki brute force
  2. Ataki słownikowe i tęczowe tablice
  3. Dlaczego długość klucza kryptograficznego ma znaczenie
  4. Ograniczanie częstotliwości i blokowanie kont
← Powrót do Cryptology Academy