Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
LastPass – o co chodzi w wycieku haseł z tego managera i jaki jest koszt złamania wszystkich Twoich haseł?
Ostatnio spływają coraz bardziej ponure informacje o managerze haseł LastPass. Niedawno donosiliśmy, że hackerzy uzyskali dostęp do >>zaszyfrowanych<< baz z hasłami.
Nietechniczne osoby (i media) rozumieją to często w ten sposób: wyciekły wszystkie moje hasła z LastPass. No niekoniecznie, ale i tak sytuacja nie jest ciekawa:
1. Dobry manager haseł szyfruje wszytko co w nim umieścimy (np. adresy URL, do których „pasują” hasła)). A tutaj niespodzianka. Część danych nie była szyfrowana. Na szczęście loginy/hasła były.
2. No więc jak trudno jest złamać dostęp do tych haseł?
LastPass do przechowania głównego hasła użytkownika używa m.in. algorytmu PBKDF2:
LastPass utilizes a stronger-than-typical implementation of 100,100 iterations of the Password-Based Key Derivation Function (PBKDF2), a password-strengthening algorithm that makes it difficult to guess your master password.
PBKDF2 z przeszło 100 000 iteracji jest to całkiem OK, ale jak się okazuje część użytkowników, którzy dłużej posiadali konto w LastPass, miała skonfigurowaną o wiele słabszą „wersję” PBKDF2 (5000 iteracji)
In 2018 LastPass increased the default from 5,000 iterations to 100,100. But what happened to the existing accounts? Some have been apparently upgraded, while other people report still having 5,000 iterations configured. It’s unclear why these haven’t been upgraded.
Wartość iteracji skonfigurowaną dla swojego konta można sprawdzić tutaj.
Są klienci z jeszcze słabszą „odmianą” PBKDF2 (500 iteracji; oznacza to, że będzie można łamać bazę haseł około 200 razy szybciej):
Update (2022-12-27): I’ve now seen comments from people who have their accounts configured to 500 iterations.
I jeszcze kolejny upssss (jedna iteracja!)
In fact, there is so far one confirmed case of an account configured with 1 (in words: one) iteration, which was apparently the LastPass default before they changed to 500.
To co z tą prędkością łamania? Tutaj mamy szacowania, że rekomendowane przez LastPass główne hasło 12 znakowe można złamać kosztem około $100 i to nawet jeśli macie na swoim koncie skonfigurowane 100 000 iteracji PBKDF2. Dotyczy to haseł standardowych ustalanych przez użytkowników (nie np. całkowicie losowych) – czyli np. zlepek 3 wyrazów. Co ciekawe jeśli ktoś użyje już 4 wyrazów (i ma odpowiednio długie hasło) to koszt złamania wzrasta do $76 000 000.
Wszystkie te oszacowania są przy założeniu użycia dość prostych słów (słownik 18000 wyrazów).
3. Wylistowanie dodatkowych grzechów LastPassa możecie zobaczyć tutaj. „Najciekawsze” zarzuty wskazane przez badacza:
* they even roll their own version of AES [!!!]
* Your vault encryption key always resident in memory and never wiped, and not only that, but the entire vault is decrypted once and stored entirely in memory. If that wasn’t enough, the vault recovery key and dOTP are stored on each device in plain text and can be read without root/admin access
* LastPass has suffered 7 major #security breaches (malicious actors active on the internal network) in the last 10 years.
* LastPass has a history of ignoring security researchers and vuln reports, and does not participate in the infosec community nor the password cracking community. Vuln reports go unacknowledged and unresolved for months
4. Dobra, dobra ale jaki z tego wniosek dla użytkowników LastPass-a?
* Powinieneś zmienić wszystkie hasła przechowywane w LastPass
* Powinieneś zmigrować się do innego managera haseł (polecamy KeePass lub Bitwarden – jest też możliwość postawienia wszystkiego na własnej infrastrukturze; ewentualnie 1Password).
* Jak szybko to zrobić? Jeśli na swoim koncie LastPass masz ustawionych mniej niż 100 000 „iteracji haseł” – zrób to naprawdę w trybie ASAP.
* Jeśli używasz hasła głównego hasła (do LastPass) zaledwie 12-13 znakowego – zmigruj się ASAP.
* Jeśli posiadasz skonfigurowane co najmniej 100 000 iteracji i posiadasz silne hasło (np. zlepek kilku niestandardowych słów, powyżej 16 lub więcej znaków lub całkowicie losowe: 10 lub więcej znaków – duże/małe litery/cyfry/znaki specjalne) – to możesz być względnie spokojny o swoje hasła zachowane w LastPass (jeśli nie wyjdą nowe „rewelacje”). Ale i tak rekomendujemy migrację do innego rozwiązania.
~Michał Sajdak
Dajcie spokój, nikt tego nie używa to marketing zwykły, dziś paść ofiarą ataku, albo w ogóle być ofiarą to zaszczyt. Dostaną nagrodę biznesu, ich pracownicy działu sec. będą chodzić niczym najemnicy z bliznami wojennymi którzy opowiadają o pierwszym nalocie fosforowym który przepalił ich najlepszego przyjaciela na wylot. Na końcu powiedzą „lesson lerned”. Krótko mówiąc „who cares”
xD
Ktoś tu chyba nie wytrzeźwiał od pasterki i bredzi trzy po trzy…..
No ja niestety używałem do teraz…
cóż, ja również miałem 1 – użytkownikiem lastpassa byłem od tak dawna, że trudno powiedzieć…. Czeka mnie ciekawy weekend zmian :(
Jeszcze jeden aspekt o którym chyba jeszcze nikt nie wspomniał (ani LastPass w komunikacie, ani w znalezionych przeze mnie artykułach ) – LastPass Authenticator. To narzędzie do kodów TOTP które robi backup kodów TOTP w „vault” LastPass. Może tak być że wykradziony vault ma więc także wszystkie kody (a dokładniej secret bazowy do generowania) TOTP. To już byłaby duża porażka bo wyszło wszystko – user/hasło/2FA. Można sprawdzić i wyciągnąć samemu z konta za pomocą skryptu z Git’a. Szukać projektu „lastpass-authenticator-export”. Sprawdziłem – działa bezbłędnie.
Zastanawiam się, czy w Bitwardenie jest narzędzie do zaciągnięcia około stu haseł z pliku wygernewonego w LastPassie (nawet jeżeli miałbym ten plik ręcznie przeedytować, to i tak byłoby to prostsze niż ręczne kopiowanie hasło po haśle)? I czym różni się Bitwarden od Lastpassa? Widzę, że Bitwarden jest również płatny z kluczem Yubico (ale jest mniej więcej trzykrotnie tańszy niż Lastpass – a to już coś!).
Tak, Bitwarden pozwala na import pliku CSV wygenerowanego z LastPass więc przesiadka jest prosta
https://bitwarden.com/help/import-from-lastpass/
Polecacie migracje, a ja bym przede wszystkim polecił zmianę haseł które były zapisane na koncie
Migracje dopiero potem (najlepiej ofc przy okazji)
I gdzie zapiszesz te setki haseł po zmianie przed migracją? W LastPass?
:) należę do tych szczęśliwców co maja… 1 :) od 2 dni siedze i zmieniam 500 hasel
Jaka jest różnica pomiędzy LastPass, Bitwarden a 1Password? One wszystkie – jak rozumiem – trzymają dane użytkownika, więc są tak samo słabo bezpieczne? Jeszcze ta pewność siebie tego pana z 1Password, którego artykuł o LastPassie podlinkowaliście: „We have not been breached, and we do not plan to be breached”. Sam już nie wiem, czego użyć, a obecnie mam LastPassa. Spróbuję na razie może Bitwardena, bo po prostu chcę mieć wszystko w jednym miejscu.
W zasadzie mogę podpiąć się pod pytanie. Która alternatywa dla LastPass jest solidniejsza? bitwarden czy 1password? Wiadomo, chodzi o bezpieczeństwo przechowywanych danych. Czy ktoś jest w stanie laikowi wytłumaczyć ewentualne różnice między tymi rozwiązaniami?
Olej menedzery hasel. Lepiej uzywac rozwiazan typu LessPass czy Spectre.
Jak trzeba być mądrym inaczej, żeby zostawiać użytkownikowi do wyboru tak kluczową i stosunkowo nisko poziomową rzecz jak iteracje funkcji kdf. To chociażby tak jakby dać użytkownikom opcję wyboru soli/pieprzu…. geniusze w tym lastpassie, dobrze że od zawsze korzystam z Bitwardena. Im mniej daje się opcji wyboru użytkownikowi w tego typu programach tym lepiej.
Do wyboru AFAIR nie dawali. Najpierw mieli domyślnie 1, później bodaj 500, później 5000, później 100 000 (liczby szacunkowe). Przy updatach nie migrowali iteracji starym użytkownikom.
Te iteracje były wykonywane po stronie serwera ? Bo jeśli tak to by tłumaczyło dlaczego nie włączyli tego wszystkim przy kolejnych aktualizacjach.
To nic nie tłumaczy infrastruktura związana z hasłami w menadżerach opiera się na dwóch kluczach i podwójnym szyfrowaniu symetrycznym. Gdyby nie dało się tego zmienić to równie dobrze nie mógłbyś zmieniać haseł. Dlatego jedyne co musieli zrobić to przy każdej zmianie jednorazowo skorzystać z podanego hasła by przerobić klucze pod nową liczbę iteracji tak jakby nastąpiła zmiana hasła, bo defacto zmiana ilości iteracji skutkuje zmianą klucza więc to tak jakby ktoś zmienił hasło. Stąd to nei jest żadna filozofia czy coś trudnego do wykonania.