Menedżery haseł

Menedżery haseł – co musimy o nich wiedzieć?

Menedżer haseł to program komputerowy, który umożliwia użytkownikom przechowywanie, generowanie i zarządzanie hasłami do aplikacji lokalnych i usług online.

Program ten pomaga w generowaniu i odzyskiwaniu złożonych haseł, przechowywaniu takich haseł w zaszyfrowanej bazie danych lub obliczaniu ich na żądanie.

Rodzaje menedżerów haseł obejmują:

  • aplikacje programowe instalowane lokalnie
  • usługi online dostępne za pośrednictwem portali internetowych
  • lokalnie dostępne urządzenia sprzętowe, które służą jako klucze.

W zależności od rodzaju użytego menedżera haseł i funkcjonalności oferowanej przez jego twórców, zaszyfrowana baza danych jest przechowywana lokalnie na urządzeniu użytkownika lub zdalnie za pośrednictwem usługi hostingu plików online. Menedżery haseł zazwyczaj wymagają od użytkownika wygenerowania i zapamiętania jednego hasła „głównego”, aby odblokować i uzyskać dostęp do wszelkich informacji przechowywanych w ich bazach danych. Wiele aplikacji do zarządzania hasłami oferuje dodatkowe funkcje, które zwiększają zarówno wygodę, jak i bezpieczeństwo, takie jak przechowywanie informacji o kartach kredytowych oraz funkcja automatycznego wypełniania.

Oprogramowanie instalowane lokalnie

Menedżery haseł zazwyczaj znajdują się na komputerze osobistym lub urządzeniu przenośnym użytkownika, w postaci lokalnie zainstalowanego oprogramowania. Aplikacje te mogą działać w trybie offline, w którym baza danych haseł jest przechowywana niezależnie i lokalnie na tym samym urządzeniu, co oprogramowanie menedżera haseł. Alternatywnie, menedżerowie haseł mogą oferować lub wymagać podejścia opartego na chmurze, w którym baza danych haseł jest zależna od usługi hostingu plików online i przechowywana zdalnie, ale obsługiwana przez oprogramowanie do zarządzania hasłami zainstalowane na urządzeniu użytkownika.

Niektóre menedżery haseł offline nie wymagają pozwolenia na korzystanie z Internetu, więc nie ma wycieku danych ze względu na sieć. Do pewnego stopnia całkowicie offline’owy menedżer haseł jest bezpieczniejszy, ale może być znacznie słabszy pod względem wygody i funkcjonalności od menedżera online.

Usługi oparte na sieci Web

Menedżer haseł online to strona internetowa, która bezpiecznie przechowuje dane logowania. Są one internetową wersją bardziej konwencjonalnych menedżerów haseł opartych na komputerach stacjonarnych.

Zaletami menedżerów haseł online w porównaniu z wersjami stacjonarnymi są przenośność (można ich używać na każdym komputerze z przeglądarką internetową i połączeniem sieciowym, bez konieczności instalowania oprogramowania) oraz zmniejszone ryzyko utraty haseł w wyniku kradzieży lub uszkodzenia jednego komputera – chociaż to samo ryzyko dotyczy serwera, na którym przechowywane są hasła użytkowników. W obu przypadkach ryzyku temu można zapobiec poprzez zapewnienie bezpiecznego wykonywania kopii zapasowych.

Głównymi wadami menedżerów haseł online są wymagania, aby użytkownik ufał stronie hostingowej i aby na komputerze, z którego korzysta, nie było keyloggera. Ponieważ serwery i chmury są obiektem ataków cyberprzestępców, równie ważne jest to, w jaki sposób uwierzytelnia się w serwisie online i czy przechowywane tam hasła są zaszyfrowane zdefiniowanym przez użytkownika kluczem. Innym ważnym czynnikiem jest to, czy stosowane jest szyfrowanie jedno- czy dwukierunkowe.

Niektóre systemy zarządzania hasłami online, takie jak Bitwarden, są open source, gdzie kod źródłowy może być niezależnie audytowany, lub hostowane na własnym komputerze użytkownika, zamiast polegać na chmurze usługi.

Korzystanie z internetowego menedżera haseł jest alternatywą dla technik jednokrotnego logowania, takich jak OpenID lub konto Microsoft (wcześniej Microsoft Wallet, Microsoft Passport, .NET Passport, Microsoft Passport Network i Windows Live ID), lub może służyć jako środek tymczasowy do czasu przyjęcia lepszej metody.

Urządzenia sprzętowe oparte na tokenach

Menedżery haseł oparte na tokenach muszą mieć mechanizm tokena bezpieczeństwa, w którym lokalnie dostępne urządzenie sprzętowe, takie jak karty inteligentne lub bezpieczne urządzenia flash USB, jest używane do uwierzytelniania użytkownika zamiast lub dodatkowo do tradycyjnego hasła tekstowego lub innego systemu uwierzytelniania dwuskładnikowego. Dane przechowywane w tokenie są zwykle zaszyfrowane, aby uniemożliwić sondowanie i nieuprawniony odczyt danych. Niektóre systemy tokenów nadal wymagają oprogramowania załadowanego na komputer wraz ze sprzętem (czytnikiem kart inteligentnych) i sterownikami, aby prawidłowo odczytać i zdekodować dane.

 Dane uwierzytelniające są chronione za pomocą tokena bezpieczeństwa, dzięki czemu zazwyczaj oferują uwierzytelnianie wieloczynnikowe poprzez połączenie:

  • czegoś, co użytkownik posiada, np. aplikacji mobilnej, która generuje tokeny podobne do wirtualnej karty inteligentnej, karty chipowej i pamięci USB,
  • czegoś, co użytkownik zna (PIN lub hasło), i/lub
  • coś, czym jest użytkownik, jak biometria, np. odcisk palca, skaner dłoni, siatkówki lub twarzy.

Istnieje kilka firm, które produkują specjalne urządzenia uwierzytelniające, z których jedną z najpopularniejszych jest YubiKey. Ale tylko kilka menedżerów haseł firm trzecich może zintegrować się z tymi urządzeniami sprzętowymi. Chociaż może się to wydawać problemem, większość menedżerów haseł ma inne akceptowalne opcje weryfikacji dwuetapowej, integrując się z aplikacjami takimi jak Google Authenticator i wbudowanymi generatorami TOTP. Chociaż tokenowe urządzenia firm trzecich są przydatne w zwiększaniu bezpieczeństwa, są one uważane jedynie za dodatkowe środki bezpieczeństwa i wygody, i nie są uważane za niezbędne ani krytyczne dla prawidłowego funkcjonowania menedżera haseł.

Zalety

Zaletą kontroli dostępu opartej na hasłach jest to, że można je łatwo włączyć do większości oprogramowania za pomocą interfejsów API dostępnych w wielu produktach programistycznych, nie wymagają one rozległych modyfikacji komputera/serwera, a użytkownicy są już zaznajomieni z używaniem haseł. Podczas gdy hasła mogą być dość bezpieczne, słabą stroną jest sposób, w jaki użytkownicy je wybierają i zarządzają nimi, poprzez stosowanie:

  • prostych haseł – o krótkiej długości, wykorzystujących słowa, które można znaleźć w słownikach, lub nie zawierających różnych typów znaków (cyfr, interpunkcji, wielkich i małych liter), lub w inny sposób łatwych do odgadnięcia
  • hasła, które inni mogą znaleźć – na karteczkach samoprzylepnych na monitorach, w notatniku przy komputerze, w dokumencie na komputerze, przypomnieniach na tablicy, zapisie w urządzeniu inteligentnym w postaci tekstu jawnego itp.
  • to samo hasło – używanie tego samego hasła do wielu witryn, niezmienianie haseł do kont itp.
  • wspólne hasła – użytkownicy przekazujący innym hasła, wysyłający niezaszyfrowane e-maile z informacjami o hasłach, kontrahenci używający tego samego hasła do wszystkich swoich kont, itp.
  • logowania do kont administracyjnych, gdzie wystarczyłoby ograniczone logowanie, lub

administratorzy, którzy pozwalają użytkownikom o tej samej roli używać tego samego hasła.

Typowe jest popełnienie co najmniej jednego z tych błędów. To sprawia, że hakerom, crackerom, złośliwemu oprogramowaniu i cyberzłodziejom bardzo łatwo jest włamać się na indywidualne konta, do korporacji każdej wielkości, agencji rządowych, instytucji itp. To właśnie ochrona przed tymi podatnościami sprawia, że menedżery haseł są tak ważne.

Menedżery haseł mogą być również wykorzystywane jako obrona przed phishingiem i pharmingiem. W przeciwieństwie do ludzi, menedżer haseł może również zawierać automatyczny skrypt logowania, który najpierw porównuje adres URL bieżącej strony z adresem URL zapisanej strony. Jeśli te dwa nie pasują do siebie, to menedżer haseł nie wypełnia automatycznie pól logowania. Ma to na celu zabezpieczenie przed wizualnymi imitacjami i podobnymi witrynami. Dzięki tej wbudowanej przewadze korzystanie z menedżera haseł jest korzystne, nawet jeśli użytkownik ma do zapamiętania tylko kilka haseł. Chociaż nie wszystkie menedżery haseł mogą automatycznie obsługiwać bardziej złożone procedury logowania narzucone przez wiele witryn bankowych, wiele nowszych menedżerów haseł obsługuje złożone hasła, wielostronicowe wypełnienia i wcześniejsze uwierzytelnianie wieloczynnikowe

Zgodnie z tą samą logiką, menedżery haseł mogą również chronić przed złośliwym oprogramowaniem rejestrującym naciśnięcia klawiszy (keyloggerami). W przypadku korzystania z menedżera haseł z uwierzytelnianiem wieloczynnikowym, który automatycznie wypełnia pola logowania, użytkownik nie musi wpisywać żadnych nazw użytkowników ani haseł, które mogłyby zostać przechwycone przez keyloggera. Chociaż keylogger może przechwycić kod PIN, aby uwierzytelnić się na przykład na tokenie karty inteligentnej, to bez samej karty inteligentnej (czyli czegoś, co posiada użytkownik) kod PIN na nic się nie zda. Menedżery haseł nie mogą jednak chronić przed atakami typu man-in-the-browser, w których złośliwe oprogramowanie na urządzeniu użytkownika wykonuje operacje (np. na stronie bankowej), podczas gdy użytkownik jest zalogowany, ukrywając jednocześnie złośliwe działanie przed użytkownikiem.

Problemy

Podatność na ataki

Jeżeli hasła są przechowywane w sposób niezaszyfrowany, to przy lokalnym dostępie do maszyny nadal istnieje możliwość ich uzyskania.

Niektóre menedżery haseł wykorzystują wybrane przez użytkownika hasło główne lub frazę hasła w celu utworzenia klucza używanego do szyfrowania chronionych haseł. Bezpieczeństwo tego podejścia zależy od siły wybranego hasła (które może zostać odgadnięte lub przeforsowane), a także od tego, czy hasło nie jest przechowywane lokalnie, gdzie złośliwy program lub osoba może je odczytać. Ujawnienie hasła głównego powoduje, że wszystkie chronione hasła są zagrożone.

Podobnie jak w przypadku każdego systemu, w którym użytkownik wprowadza hasło, hasło główne może również zostać zaatakowane i odkryte za pomocą rejestrowania kluczy lub kryptoanalizy akustycznej. Niektóre menedżery haseł starają się używać wirtualnych klawiatur, aby zmniejszyć to ryzyko – jednak nadal jest to podatne na rejestratorów klawiszy, które robią zrzuty ekranu podczas wprowadzania danych. Ryzyko to można zminimalizować, stosując urządzenie do weryfikacji wieloczynnikowej.

Niektóre menedżery haseł zawierają generator haseł. Wygenerowane hasła mogą być możliwe do odgadnięcia, jeśli menedżer haseł używa słabego generatora liczb losowych zamiast generatora bezpiecznego pod względem kryptograficznym.

Silny menedżer haseł będzie zawierał ograniczoną liczbę dozwolonych fałszywych wpisów uwierzytelniających, zanim menedżer haseł zostanie zablokowany i będzie wymagał ponownej aktywacji przez służby informatyczne. Jest to najlepszy sposób ochrony przed atakiem typu brute-force.

Menedżery haseł, które nie zapobiegają zamianie pamięci na dysk twardy, umożliwiają wydobycie niezaszyfrowanych haseł z dysku twardego komputera. Wyłączenie zamiany może zapobiec temu ryzyku.

Internetowe menedżery haseł, które działają w przeglądarce użytkownika, są szczególnie podatne na pułapki. Szczegółowe badania przeprowadzone z wykorzystaniem kilku menedżerów haseł ujawniły następujące możliwe błędy w internetowych menedżerach haseł:

  • Błędy autoryzacji: Innym możliwym problemem jest pomylenie uwierzytelniania z autoryzacją. Problemy te były szczególnie obecne w menedżerach haseł, które pozwalały użytkownikom na dzielenie się danymi uwierzytelniającymi z innymi użytkownikami.
  • Błędy w skryptach Bookmarklet: Internetowe menedżery haseł powszechnie bazują na Bookmarkletach do logowania użytkowników. Jednak, jeśli są one niewłaściwie zaimplementowane, złośliwa strona może je wykorzystać do kradzieży hasła użytkownika. Główną przyczyną takich luk jest to, że środowisko JavaScript złośliwej strony nie może być zaufane.
  • Błędy w interfejsie użytkownika: Niektóre menedżery haseł poproszą użytkownika o zalogowanie się poprzez ramkę iframe. Może to stanowić zagrożenie dla bezpieczeństwa, ponieważ w ten sposób użytkownik jest zmuszony do wpisania swojego hasła, podczas gdy adres URL wyświetlany przez przeglądarkę nie jest adresem menedżera haseł. Phisher może tego nadużywać, tworząc fałszywy iframe i przechwytując dane uwierzytelniające użytkownika. Bezpieczniejszym podejściem może być otwarcie nowej karty, w której użytkownik będzie mógł zalogować się do menedżera haseł.
  • Błędy sieciowe: Klasyczne luki w zabezpieczeniach sieciowych mogą być również obecne w webowych menedżerach haseł. W szczególności luki XSS i CSRF mogą zostać wykorzystane przez hakerów w celu uzyskania hasła użytkownika.

Ponadto, menedżery haseł mają tę wadę, że każdy potencjalny haker lub złośliwe oprogramowanie musi znać tylko jedno hasło, aby uzyskać dostęp do wszystkich haseł użytkownika, a także, że takie menedżery mają standardowe lokalizacje i sposoby przechowywania haseł, które mogą być wykorzystane przez złośliwe oprogramowanie.

Cechy dobrego menedżera haseł

Dobry, godny zaufania i stosowania menedżer haseł powinien:

  • używać odpowiednio silnego szyfrowania bazy danych
  • dodatkowo chronić dane zapisane w bazie, np. hasła, kolejnym poziomem szyfrowania
  • chronić dane zapisywane podczas jego pracy w pamięci operacyjnej
  • przed rozpoczęciem pracy z bazą automatycznie tworzyć jej kopię w celu zniwelowania skutków ewentualnej awarii komputera
  • wcale lub najmniej jak to jest możliwe integrować się z systemem operacyjnym, w którym jest uruchamiany łącznie z opcją uruchamiania go z oddzielnego urządzenia zawierającego też bazę danych (np. z pamięci flash, USB lub dyskietki)
  • korzystać w limitowany sposób z tzw. schowka systemowego, a po skorzystaniu, np. do przekopiowania danych, automatycznie go czyścić
  • automatycznie blokować otwartą bazę po niewielkim czasie nieaktywności użytkownika
  • standardowo pokazywać na ekranie najważniejsze dane, np. hasła, w postaci zamaskowanej, ale z możliwością na życzenie użytkownika pokazywania ich w jawnej postaci
  • posiadać generator haseł, który stanowi bardziej bezpieczną alternatywę dla haseł wymyślanych przez użytkownika