Polski serwis miał hasła przechowywane bezpiecznym bcryptem. Ile z nich udało się złamać w krótkim czasie? [dużo]

17 listopada 2020, 11:16 | W biegu | komentarzy 36
: oglądaj sekurakowe live-streamy o bezpieczeństwie IT.

Niedawno informowaliśmy o wycieku z forum serwisu wakacje.pl. Dobra informacja jest taka, że hasła użytkowników przechowywane były w tym przypadku z wykorzystaniem bezpiecznego algorytmu bcrypt. Można zatem złamać co najwyżej pojedyncze hashe? Otóż niekoniecznie, jeden z serwisów udostępnia aktualne statystyki łamania:

29832 to całkowita liczba zaimportowanych hashy, z czego aż 43% została w dość krótkim czasie złamana. Z czego to wynika? Z prostych haseł. Szybkość łamania bcrypta na jednej nowoczesnej karcie graficznej to 75 000 hashy na sekundę – duży słownik języka polskiego można przeglądnąć w parę sekund…:

Hashmode: 3200 – bcrypt $2*$, Blowfish (Unix) (Iterations: 32)
Speed.#1………: 75778 H/s (20.79ms) @ Accel:2 Loops:16 Thr:24 Vec:1

Jak widzicie również sól (domyślnie tworzona w bcrypcie) nie pomaga, nie pomógłby też większy tzw. work factor (dłużej liczy się pojedyncze wykonanie bcrypt()).

Rada dla użytkowników? Stosujcie długie hasła (złożone najlepiej z 4+ słów, z których parę powinno być nieoczywista), np.: czytelnikusequrakaurzywajdlugihchasel

Zauważcie, że pojawiło się tutaj słowo, w odmianie, które łatwo zapamiętać, a którego raczej nie będzie w słowniku („seqraka”). Błędy ortograficzne są celowe.

W miarę łatwe do zapamiętania, okropnie trudne do złamania.

–ms

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. „Stosujcie długie hasła (złożone najlepiej z 4+ słów (…) czytelnikusequrakaurzywajdlugihchasel”

    Nie, to nie jest dobry practice, szczególnie jeśli skończy się to na ustawieniu hasła które jest zdaniem, z wykrzyknikiem (lub 123 na końcu). Od serwisu zajmującego się bezpieczeństwem oczekiwałabym.. zasugerowania password managera, bo nikt nie zapamięta różnych długich haseł dla różnych serwisów.

    C’mon, you can do better

    Odpowiedz
    • Nie jest to idealne, ale zdecydowanie lepsze niż hasła typu Marek123. Manager haseł – to bardzo dobre rozwiązanie, ale umówmy się – dla większości nietechnicznych ludzi to (niestety) overkill.

      Odpowiedz
    • Zeratul

      Nie wszędzie da się stosować menedżery haseł – przykład: hasło logowania do systemu (często także do innych usług w ramach SSO)
      W tym przypadku rada jest dość sensowna

      Jeśli dodatkowo wzbogacimy hasło o liczby czy znaki specjalne (niekoniecznie na obu końcach) to już łamanie słownikowe jest mocno utrudnione (a w niesłownikowym przeszkadza długość)

      Odpowiedz
    • student Informatyki

      Ale okropny język. Używanie angielskich słów kiedy polskie są szeroko używane sprawia że wyglądasz głupio. „Dobry practise” wygląda po prostu śmieszne

      Odpowiedz
  2. Willing.pl

    Szkoda, że sporo serwisów ogranicza długość hasła i przez to nie można używać długich i mocnych haseł.

    Odpowiedz
  3. krzysiek

    to przesunięcie c o jedną pozycję w prawo to dodatkowe zabezpieczenie antysłownikowe czy pisane od razu bez spacji i korekta nie wyłapała?

    Odpowiedz
    • Błędy ort. są tam celowe (patrz też urzywaj :-)

      Odpowiedz
  4. Tomep

    Porada fajna ale co jak ktoś musi zapamiętać ponad 200 haseł? Tylko manager haseł zostaje.
    Jakie wytyczne masz dla haseł generowanych przez menedżery haseł? Długość, ilość różnych grup znaków (małe, duże, znaki spec) ?

    Odpowiedz
  5. tjam

    correcthorsebatterystaple

    Odpowiedz
  6. Tomek

    A hasło wygenerowane przez icloud keychain (20 znaków) jest ok?

    Odpowiedz
  7. Z tymi przydługimi hasłami też da się temat rozpracować. Kiedyś miałem mały projekcik, który początkowo był implementacją tęczowych tablic. Ale później bawiąc się zmodyfikowałem go i zamiast tworzyć całkowicie losowe hasła na podstawie hasha poprzedniego, składałem iloczyny kartezjańskie różnych słowników, które posiadałem. Przykładowo, mając słownik 100 najpopularniejszych haseł tworzyłem tablicę listującą wszystkie kombinacje 10000 haseł w niej więcej połowie potrzebnej pojemności. Wydajność była gorsza niż w przypadku klasycznych tęczowych tablic ale skuteczność świetna! Z popularnych wycieków udawało się złamać do 60% haseł.
    O ile kojarzę to podobnie można się teraz bawić w hashcat’cie.

    Odpowiedz
    • tt

      Dlatego celowy blad ortograficzny lub „przerobka” wyrazu aby nie byl slownikowy zalatwia Twoja metode.

      Odpowiedz
  8. Ja

    Pozwolicie, że się nie zgodzę z tym co napisaliście. Powodem jest fakt iż wystarczy aby hasło przed użyciem bcrypt zostało potraktowane sha512 wraz z odpowiednim soleniem i pieprzeniem.

    Odpowiedz
  9. Lepiej używać generatora haseł. Ustawić długość na 30 – 40 znaków i po problemie. Dodatkowo zabezpieczać ruch z i do bazy danych SSL. Najlepiej bazę trzymać na innym serwerze niż serwis web.

    Odpowiedz
  10. Dog

    „Stosujcie długie hasła (złożone najlepiej z 4+ słów […])”
    Jaki jest sens „4+ słów”, skoro podpięcie słownika przesortuje – i złamie – bardzo szybko takie pozornie bezpieczne hasło?
    Bezpieczne hasło jest wtedy, gdy jest długie i losowe – czyli niesłownikowe… Używanie haseł słownikowych – nawet gdy składa się ono z kilku słów – nie ma większego sensu i daje pozorne poczucie bezpieczeństwa. Dlaczego Sekuraku piszesz takie herezje?

    Odpowiedz
    • Zobacz na przykładzie bcrypt. Mamy nieoczywiste 4 słowa, słownik 100 000 słów. Wszystkich możliwości jest 100 000 ^4 = 10^20. Prędkość łamania bcrypt = 100 000 prób / sek.

      Czyli w pesymistycznym przypadku zajmie to 10^15 sekund. Na oko jest to 11574074074 dni = 31709791 lat.

      Dla takich SHA256 wychodzi to gorzej ale cały czas ze sporym marginesem bezpieczeństwa (dla 5 słów i specjalnych błędów to już w ogóle).

      Całość oczywiście przy założeniu że ktoś nie robi hasła typu: dupadupadupadupa ;)

      Oczywiście najlepiej używać managerów haseł, ale dla wielu (nietechnicznych) ludzi to overkill.

      Odpowiedz
  11. hmm

    urzywaj?
    Sprytny wybieg.

    Odpowiedz
    • Nom, błędy ortograficzne są mile widziane w hasłach, czy powtórzenia jakiś liter. W miarę łatwo zapamiętać, a trochę zwiększają siłę hasła.

      Odpowiedz
      • Nic tak nie działa w haśle jak spacja. Nie wiem czemu nikt jej nie używa…. 4 spacje i hasło nie do ruszenia 😁

        Ewentualnie jakieś Emoji w unicode

        Odpowiedz
  12. Tomasz21

    Pytanie na śniadanie? Czy to ma sens? A może ograniczyć trochę to co się robi na maszynie. Na przykład; Hasło do banku. A może pieniądze trzymać w domu???W skrytce. Bez hasła. To tylko jest przykład. Nie zapominajmy , że hasło to jest nasz podpis osobisty. Podobne hasła; = podobne podpisy.
    Skomplikowane hasło, To unikalny twój podpis, nie do podrobienia. Czy o to chodzi w tym wszystkim. Przyzwyczaić ludzi do przejścia , na cryptowalutę, a potem wyłączyć prąd???? To daje do myślenia.
    Pozdrawiam.

    Odpowiedz
  13. Michał

    Tak jak z klawiaturami do zabezpieczonych przejść z kodem 1234 lub 1111. Co z tego, ze ktoś dał gruba kasę za najlepszy system skoro user i tak ma w nosie ;)

    Odpowiedz
  14. chesteroni

    Rada odnośnie haseł nie jest najlepsza moim zdaniem. Prosta modyfikacja sposobu która znacznie utrudni to:
    1/ jeśli musisz używać słów, niech będą z różnych języków, nie musisz znać języka japońskiego by mieć „sayonara” w haśle itd.
    2/ miej świadomość przekształceń: wstawienia, usunięcia, powielenia. Stosuj z umiarem ale kilka warto mieć.

    Np. dla słowa sayonara możliwe warianty to:
    wstawienie: saywonara
    usunięcie: saonara
    powielenie: sayyonara

    I tak mając hasło japońsko-niemiecko-polsko-angielskie możnaby wygenerować:
    saywonaraLiebePrawwo,Jutice

    Mamy wstawienie, nic, powielenie, usunięcie, mamy cztery języki, 27 znaków, znak przecinka, a jednocześnie hasło wyraża emocje, dzięki czemu jest łatwe do zapamiętania.

    Odpowiedz
  15. Filon

    A czy czasem złożoność hasła nie polega na czymś innym?? duże litery, małe litery, znak specjalny cyfra?
    Janekizenek!23# wedle serwisów sprawdzających moc hasła (http://www.passwordmeter.com) jest bezpieczniejsze niż wasze 38 znaków… ok kaspersky twierdzi inaczej:)

    Odpowiedz
    • Ten sajt niestety nawet httpsa nie obsługuje ;) i wg niego hasło Katarzyna1! jest mega mocne :-) więc dajmy spokój ;)

      Odpowiedz
      • tt

        Dobre :) !

        Odpowiedz
  16. Pawel

    Ok, jeżeli tacy jesteście cwani, to przekonajcie teraz PKOBP, że ja chcę używać 30 znakowego hasła ;> bo mają ograniczenia ;]
    PS. Taki bait, ja próbowałem odpałowali mnie ;)

    Odpowiedz
    • + niektórzy nie pozwalają na używanie znaków specjalnych w hasłach :/

      Odpowiedz
      • Pawel

        Z pomijaniem spacji się już spotkałem, ale to inne miejsce ;)

        Odpowiedz
  17. Piotr

    manager haseł nie jest overkilem w tych czasach tylko czymś co powinno być uczone w szkole podstawowej równolegle z paintem. zróbcie proszę poradnik nt.; przegląd aplikacji na telefon, sposoby *bezpiecznego* backupu: w chmurze + pendrive, istota siły hasła głównego. jeśli już takowy macie to chylę czoła. pozdr!

    Odpowiedz
    • Piotr

      nie chce was namawiać do robienia czegoś za darmo. myślę że opracowane szkolenie będzie overkilem dla Waszej firmy bo nie nadąrzycie odbierać zamówień. opcja sprzedanie tego do MEN jako dodatek oficjalnego programu nauczania klasy 3 lub 4. pojechałem, schodzę na Ziemię, to Polska, tu się niewiele da zrobić, w nosie jest bezpieczeństwo. idę zrobić lekcję moim dzieciom.

      Odpowiedz
    • mamy w sumie rozbudowany moduł o hasłach na jednym z naszych płatnych webinarów (sprawdzanie wycieków, tworzenie haseł, łamanie haseł, pokaz a-z Keepass, kwestie 2FA) całość z pokazami na żywo

      Odpowiedz
  18. Jarek

    Wy tak serio? Do stron typy wakacje, prenumerata, księgarnia, apteka, sklep mam stosować trudniejsze hasła niż Wakacje1, Prenumerata1 itp.? Jeżeli ktoś to złamie, to co: stracę moje miliony, nerkę?
    Popadacie w paranoję.
    Rozumiem silne hasło do ważnego konta pocztowego, banku…
    Ktoś się czepia PKO BP: żeby dostać się do kasy muszę podać nieoczywiste id klienta i trzy hasła, w tym jedno generowane przez token – to mało?

    Odpowiedz
    • asdsad

      „Najwyżej” pozna Twój adres zamieszkania i telefon, co może użyć do jakiegoś ataku socjotechnicznego.

      Poza tym, jedni się nie wstydzą, że kupują w aptece Viagrę, a inni się wstydzą.

      Odpowiedz
  19. Fabian

    Czy możecie podać jakie hasła zostały złamane? Nie wszystkie, top 100 wystarczy. Potrzebuję do zaprezentowania case study w pracy.

    Odpowiedz
  20. Henry

    Dobrym pomysłem jest jeszcze stosowanie znaków charakterystycznych la danego języka (ąśćż itp.) o ile hasło nie jest słownikowe.
    Dlaczego?
    Łamanie nie słownikowych haseł wymaga bruteforce’owania (sprawdzania każdej możliwej kombinacji).
    Z punktu widzenia hashcata – znaki specjalne dla języków poza słownikiem , muszą być podawane specjalna flagą [domyślna flaga ?a zawiera znaki A-Za-z0-9 i znaki specjalne, bez znaków specyficznych dla języków).
    Tym sposobem hasło np. AaBb12 można sprawdzać maską ?a?a?a?a?a?a (około (26*2+10+20)^6 = 82^6 kombinacji).
    Znaki takie jak ąćźśż są zapisywane w DWÓCH bajtach, więc o ile chcemy sprawdzać więcej niż jeden język (np. z wycieku międzynarodowego serwisu) to hasło pokroju ÓËÆ musielibyśmy sprawdzać maską ?b?b?b?b?b?b (3 znaki po 2 bajty) czyli 256^6 kombinacji, pomimo iż hasło jest o połowę krótsze.

    Odpowiedz
  21. Marek

    M0żn@T3ż7@ki3H@sl0

    Odpowiedz

Odpowiedz