Hasło główne Firefoksa już 9 lat temu było niewiele warte. Dzisiaj jest już nic niewarte

Strona główna Aktualności
image

O autorze

Od swojego powstania Firefox (oraz klient poczty Thunderbird) korzystał z mechanizmu hasła głównego. W ustawieniach użytkownik mógł sobie wprowadzić hasło, z którego tworzony był klucz używany do zaszyfrowania haseł do witryn internetowych przechowywanych w programie. Ich użycie czy zobaczenie wymagało wpierw wprowadzenia takiego hasła głównego, chroniąc przed np. wykradzeniem pliku z bazą danych programu. Dziewięć lat temu odkryto, że zabezpieczenie jest symboliczne – już wtedy siłowe złamanie hasła było proste z użyciem narzędzi takich jak FireMaster. Teraz w 2018 roku odkryto ponownie, że przez te dziewięć lat Mozilla nic z mechanizmem klucza głównego nie zrobiła. W czasach gdy domowi użytkownicy mogą posiadać karty graficzne o mocy obliczeniowej niewyobrażalnej dekadę temu, wciąż używany jest algorytm już wtedy uznawany za słaby.

Sama idea klucza głównego jest słuszna. Pierwsze przeglądarki zapisywały hasła jawnym tekstem. Gdy zaczęto korzystać z szyfrowanej unikatowym kluczem bazy danych, zwiększyło to bezpieczeństwo wrażliwych danych, ale tylko troszkę – napastnik mający fizyczny dostęp do komputera (np. serwisant „pogotowia komputerowego”) mógł po prostu skopiować cały profil użytkownika przeglądarki. Zaszyfrowanie danych w tej bazie kluczem generowanym każdorazowo z podawanego na początku pracy programu hasła uodparniało na ciekawskich jak i wykradające pliki malware.

Dziewięć lat temu niejaki Justin Dolske zauważył, jak słaby jest jednak mechanizm generowania klucza szyfrującego z hasła głównego. Najpierw liczony jest klucz pośredni z wykorzystaniem funkcji skrótu SHA1, z zaledwie jedną iteracją, a następnie wykorzystywany jest on do wygenerowania klucza szyfrującego za pomocą funkcji PBKDF1. Tymczasem już w 1999 roku sugerowano, że aby uodpornić taki klucz na ataki siłowe, należy skorzystać przynajmniej z tysiąca iteracji.

Mijały lata, zgłoszony przez Dolskego w Bugzilli błąd porastał mchem. Aż do czasu gdy całkiem niezależnie słabość mechanizmu szyfrowania zastosowanego w Firefoksie odkrył Władimir Palant, znany głównie z rozszerzenia AdBlock Plus) – i zaszokowany zauważył, że problem znany jest od lat, a mimo wzrostu mocy obliczeniowej sprzętu, Mozilla nic nie robi. Podczas gdy Mozilla wciąż stosuje jedną iterację funkcji SHA-1, standardy branżowe zalecają dziś 10 tys. iteracji, podczas gdy menedżery haseł takie jak LastPass stosują 100 tysięcy iteracji.

Trudno by było inaczej – jak podają badacze Microsoftu, przeciętne hasło ma około 40 bitów entropii i bez dodatkowych zabezpieczeń może zostać siłowo złamane w ciągu minuty na karcie graficznej klasy GeForce GTX 1080.

Ze swojej strony Palant proponuje Mozilli, by zaprzestała korzystania z funkcji SHA1 i sięgnęła po funkcję Argon2, niedawno oficjalnie wprowadzoną do języka PHP jako domyślną funkcję skrótu dla haseł. Argon2 wygrał w 2015 roku konkurs Password Hashing Competition, jako najbardziej odporny na siłowe ataki z użyciem GPU.

Mozilla obecnie pracuje nad niezależnym menedżerem haseł Lockbox, który w przyszłości miałby stać się podstawowym mechanizmem zabezpieczania danych przechowywanych na Koncie Firefoksa, więc pojawiły się głosy, że problem mógłby zostać rozwiązany właśnie Lockboksie. Palant jednak zauważa, że czekanie na jakiś przyszłościowy menedżer haseł to żadne wyjście, poza tym menedżer ten jest zależny od klucza dostarczanego z Konta Firefoksa – a więc nie może zastąpić fundamentalnej funkcji menedżera haseł w przeglądarce.

Czy zabezpieczacie w jakiś sposób swoje hasła w przeglądarkach?

© dobreprogramy

Komentarze