-15% na nową książkę sekuraka: Wprowadzenie do bezpieczeństwa IT. Przy zamówieniu podaj kod: 10000

Skucha w menadżerze haseł Bitwarden? Ustawionych mieli mało iteracji PBKDF2. Teoretyczny problem, a może trzeba się bać? ;-)

24 stycznia 2023, 09:41 | Aktualności | komentarzy 29

Tutaj krótka analiza użycia algorytmu PBKDF2 w Bitwardenie. W skrócie – odpowiednie użycie PBKDF2 znacznie zwiększa czas łamania głównego hasła do menadżera, w przypadku gdyby doszło do hipotetycznego ataku na jego infrastrukturę IT (podobnie jak miało to miejsce w przypadku LastPass).

Ale żeby wszystko działało zgodnie z zamierzeniami, potrzebna jest odpowiednia liczba iteracji wykonania PBKDF2. Im większa liczba iteracji, tym bardziej czasochłonne łamanie hasła.

Jeśli ktoś chciałby jednak nieco więcej doczytać o PBKDF2, warto zerknąć tutaj: Jak bezpiecznie przechowywać hasło w bazie?

Wracając do istoty rzeczy – Bitwarden wspomina, że używa 200,001 iteracji PBKDF2, ale okazuje się że w kontekście atakujących jest to realnie 100 000 iteracji. Ale jeszcze niedawno używali prawdopodobnie mniejszej liczby (5000). Pozostaje otwartym pytanie, czy stare konta zostały odpowiednio zmigrowane:

This seems to be the case. I’ve started using the account early 2020, but don’t remember whether it’s older. The iterations were set at 5000. Setting them to 2000000 didn’t cause a noticeable slowdown.

Lada moment Bitwarden ma zwiększyć liczbę iteracji do 350000:

Z kolei OWASP niedawno zaktualizował swoje rekomendacje do takich liczb:

  • PBKDF2-HMAC-SHA1: 1,300,000 iterations
  • PBKDF2-HMAC-SHA256: 600,000 iterations
  • PBKDF2-HMAC-SHA512: 210,000 iterations

Czy jest się czym przejmować? Po pierwsze, nie było włamania do Bitwardena. Po drugie, jeśli masz odpowiednio silne hasło (polecamy powyżej 15 znaków, użycie 4+ niestandardowych słów do zbudowania hasła), to nawet 100000 iteracji PBKDF nie pomoże w jego złamaniu.

~Michał Sajdak

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



Komentarze

  1. Paweł

    Czy w tym przypadku zabezpieczenie dostępu do Bitwarden kluczem Yubikey coś zmienia?

    Odpowiedz
    • Paweł

      Drogi Sekuraku, mógłbyś się wypowiedzieć w sprawie zastosowania klucza sprzętowego w Bitwarden?

      Odpowiedz
      • Łukasz

        Jeżeli nie wykradli zaszyfrowanej bazy to zmienia, potrzebują twojego klucza do pobrania bazy.

        Odpowiedz
        • PS

          Pamiętam że kiedyś Bitwarden obsługiwał Yubi tylko przez ” www ” i logując się czy to przez serwis czy z dodatku do przeglądarki wymagał klucza, jednak Apka tzw zainstalowana nie obsługiwała kluczy i wystarczyło samo hasło main aby odblokować – sprawdzałem. Nie wiem jak jest teraz być może się zmieniło, jeśli nie zastanawia mnie czy zainstalowanie apki nie wystarczy żeby ominąć Yubi – kiedyś tak mam wrażenie było

          Odpowiedz
          • sebas

            Zmienio sie. Nawet aplikacja na androidzie wspiera YubiKey jako 2FA.

      • Saruman

        Obawiam się ze w niczym nie pomoże CI klucz YubiKey gdyż ponieważ klucz zabezpiecza tylko proces uwierzytelniania do usługi. Natomiast hjakiery jeśli włamią sie do bitwardejna to pobiorą zabezpieczone bazy z hasłami użytkowników i będą starali się je łamać brute forcem (przynajmniej powinny być zabezpieczone).

        Odpowiedz
    • bitbit
      Odpowiedz
    • Zerat

      Z tego co słyszałem w SecurityNow (polecam podcast BTW), klucz jest używany wyłącznie do logowania, ergo nie wpływa na zabezpieczenie vaulta (bazy) od strony kryptograficznej

      Odpowiedz
    • Aegewsh

      Nie, nie zmienia. Klucz chroni Twoje dane tylko przed nieautoryzowanym logowaniem, jeśli przestępca zdobędzie jakoś hasło do Twojego konta. Dzięki temu nie będzie mógł się zalogować.

      Odpowiedz
    • OjPaweł
      Odpowiedz
    • Juz za niedlugo wszystko sie zmieni, gdy spopularyzuje sie rozszerzenie do FIDO2 o nazwie hmac-secret. Wtedy dowolnym kluczem FIDO2 bedziesz mogl znegocjowac klucz symetryczny w ramach DH, dzieki czemu offline’owo mozna bedzie vaulta odblokowac.

      Odpowiedz
  2. Maciej

    A co z 2,000,000 (słownie – dwa miliony) iteracji w PBKDF2. Taką wartość mam ustawioną a hasło jak sprawdzałem na stronie bitwardena (https://bitwarden.com/password-strength/) i ma się niby łamać „wiekami”. Jaki jest realny czas łamania takiej bazy?

    Odpowiedz
    • 1) zależy jak masz złożone hasło – bo jeśli to test test1234 ;-) to i 2mln iteracji nie pomogą
      2) nie można łamać wydajnie hasła, jak ktoś nie dostał się do Twojego zaszyfrowanego pliku (który jest w infrze BW)

      Odpowiedz
      • MM

        > który jest w infrze BW

        Niekoniecznie, sporo osób self-hostuje np. Vaultwarden. Z tego co widzę dalej (vaultwarden/server:latest sprzed ~5 min) domyślnie 100k iteracji (i -SHA256).

        Oczywiście osoby, które mają jakieś homelaby i dodatkowo odważą się na postawienie sobie mniej lub bardziej publicznie menedżera haseł raczej powinny mieć szerszą wiedzę o tym co robią, ale… Twórcy BitWardena niby też. ;)

        Odpowiedz
        • Mhm, przy czym to podpada pod ten punkt (czyli jest w infrze BW -> infrze BW, która jest hostowana przez użytkownika)

          Odpowiedz
  3. Kris

    Używam BW od początku 2019 i mam ustawioną wartość na 100,000 (nie majstrowałem przy tym polu). Mam nadzieję, że 60 znakowe hasło jest wystarczające :)

    Odpowiedz
  4. Mati

    Gdzie ustawic te iteracje

    Odpowiedz
  5. RYSTAN

    Dwa pytania:
    – czy ilość iteracji szyfrowania jest zapisana w bazie, czy może jest dodatkowym elementem który atakujący musi zgadnąć?
    – w którym momencie jest sprawdzana obecność klucza sprzętowego? Przed czy po sprawdzeniu hasła?

    Odpowiedz
  6. maniel

    Rzeczywiście, miałem 5000, konta używać od bodajże 2017

    Odpowiedz
  7. potwierdzam

    Potwierdzam. Na dość starym już koncie miałem ustawione 5000 itreacji.

    Odpowiedz
  8. GABS

    Ktoś z Was zmienia ustawienia algorytmów szyfrujących w lokalnych menadżerach haseł jak KeePassXC?

    Dopiero po tym artykule zmieniłem na Argon2id z domyślnie ustawionego AES.

    Odpowiedz
    • Marek

      Tak, po instalacji KeePassa zmieniam algo szyfrowania z AES na ChaCha20 i algo hasha na Argon2.

      Odpowiedz
      • Jakub

        A jest jakaś realna różnica bezpieczeństwa miedzy AES a ChaCha20 a tym trzecim którego nie pamiętam?

        Odpowiedz
  9. Jan

    Konta nie zostały zmigrowane, u mnie dalej widnieje 5000 iteracji PBKDF2 SHA-256

    Odpowiedz
  10. mamkolana

    Pora, zeby w koncu przeszli na scrypt lub Argon2d.

    Odpowiedz
  11. RB

    Od początku mam ustawione na 250 tys. iteracji i nie pamiętam, żebym kiedyś przy tym gmerał.

    Odpowiedz
  12. GM

    Ja z bitwardenem miałem tak, że po aktualizacji apki na PC nie dało się już zalogować. Reinstall nie pomógł, cały czas był komunikat, że hasło nieprawidłowe.

    Logowałem się często kilka razy dziennie, więc niemożliwe, że zapomniałem hasła. Do tego apka na telefon działała normalnie (biometria i zwykłe hasło).
    Finalnie zrobiłem 2 konto i na razie działa, ale niesmak został

    Odpowiedz

Odpowiedz