Jeśli ktoś do tej pory przechowywał hasła użytkowników otwartym tekstem, inicjatywa zmiany tej praktyki zasługuje na oklaski. Oklaski jednak się kończą, gdy przy okazji dochodzi do pomyłkowego ujawnienia zahaszowanych haseł użytkowników.
Serwis MusicBrainz.org to jedna z największych (jeśli nie największa) niekomercyjnych baz meta-danych muzycznych. Wysiłkiem sporego grona wolontariuszy zebrał i udostępnia na otwartej licencji dane 660 tysięcy wykonawców i 11 milionów nagrań. Umożliwia także – co ważne – pobranie całej bazy danych serwisu, z wyłączeniem niektórych danych użytkowników takich jak hasło czy data urodzenia. Wczoraj osoby, które założyły w nim swoje konto, zostały zaskoczone wiadomością od administracji serwisu.
Haszować hasła? Może za 3 lata.
Ponad 3 lata temu jeden z użytkowników otwarł w serwisie zgłoszenie, w którym poprosił o wdrożenie szyfrowania haseł. Jako iż w trakcie tworzenia serwisu nikt nie przewidział takiej opcji, jej wdrożenie było skomplikowane technicznie i zajęło całe 3 lata. Przez ten czas hasła użytkowników były przechowywane w bazie otwartym tekstem (pole to było wyłączone z eksportu bazy). W końcu jednak nadszedł czas wielkich zmian i wprowadzono haszowanie haseł za pomocą algorytmu bcrypt. W celu migracji stworzono skrypt, który konto po koncie haszował hasła i zapisywał je do nowej kolumny (ze względu na złożoność obliczeniową algorytmu może to być proces czasochłonny). Zapomniano jednak o drobnym szczególe…
Tak nam się wyeksportowało
Serwis ogłosił wczoraj, że doszło do wycieku nowych haszy haseł sporej części użytkowników. Jak pamiętacie, każdy mógł pobrać bazę danych serwisu, nie zawierającą haseł użytkowników. Niestety, wdrażając nową kolumnę z haszem hasła, administracja zapomniała o wyłączeniu jej z procesu eksportu danych (sam proces opierał się na wykluczaniu pól, zamiast na umieszczaniu ich na liście przeznaczonych do eksportu). W ten oto sposób, zamiast poprawić bezpieczeństwo kont użytkowników, serwis udostępnił hasze ich haseł. Jak ustalono, baza została pobrana i trudno obecnie powiedzieć, co zrobi z nią szczęśliwy nowy posiadacz. Co prawda użycie funkcji bcrypt z parametrem kosztu „8” oznacza, że próby złamania haszy będą dość kosztowne (czasowo i/lub sprzętowo) dla atakującego, jednak nie można przyjąć, że hasze te są całkiem bezpieczne, szczególnie dla prostych lub krótkich haseł.
Reakcja serwisu
Serwis poprawił skrypty, zmienił zasadę eksportu danych (z wykluczenia na listę dopuszczonych tabel i kolumn) oraz powiadomił użytkowników i poprosił ich o zmianę haseł. Co ciekawe, wyciek został zidentyfikowany 29. marca, ale użytkownicy dowiedzieli się o nim dopiero wczoraj.
MusicBrainz.org gratulujemy udanego wdrożenia.
Informację podesłał Wilbur – dzięki!
Komentarze
„Ponad 3 lata temu jeden z użytkowników otwarł w serwisie zgłoszenie […]” – co to za słowo „otwarł” :)
http://poradnia.pwn.pl/lista.php?id=10279
Polskie słowo ;) Swoją drogą bardzo przydatne. :P
Atam, staropolszczyzna jest przecież ładna dla ucha i oka :)
Zastanawiam się, po kiego grzyba dawać publicznie możliwość eksportu tabeli użytkowników (nawet jeżeli kolumna z hasłami czy tam hashami haseł jest wyłączona z eksportu)
Żeby mieć informację kto i kiedy co w serwisie zmieniał. Identycznie jest w Wikipedii.