W początkach sierpnia dziennikarka Pytania na Śniadanie poprosiła mnie o wyjaśnienie, jak wymyślić bezpieczne hasło. Przygotowałem więc nieco przemyśleń, którymi dzielę się również z Czytelnikami bloga.
Spis treści
Co zabezpiecza hasło?
Na samym początku trzeba sobie zadać pytanie, co zabezpiecza wspomniane hasło. Czy jest to plik (np. szyfrowany plik Worda czy Excela albo plik ZIP, a może PDF), który przechwycony przez przestępcę może być brutalnie (ang. brute-force attack) łamany przez wiele godzin, dni czy nawet miesięcy? A może jest to system, który po kilku nieudanych próbach blokuje dostęp?
PIN do karty płatniczej ma 4 cyfry i to wystarcza, bo po 3 próbach karta jest blokowana. Gdyby nie była blokowana, wystarczyłoby maksymalnie 10 tysięcy prób (od 0000 do 9999), aby w końcu trafić. Maksymalnie, bo tak naprawdę zgadywane hasło będzie pewnie gdzieś pośrodku. Dlatego czterocyfrowe hasło do pliku Word/Excel/ZIP to bardzo zły pomysł, a do karty już nie taki zły.
Dlatego zawsze warto zadbać, jeżeli tylko mamy na to wpływ, aby system sprawdzający hasła miał włączony limit prób.
W przypadku zabezpieczania hasłem plików należy brać pod uwagę nie tylko to, czy hasło jest odpowiednio bezpieczne tu i teraz, ale też i po jakim czasie chronione dane nie będą już cenne. Przecież moc komputerów ciągle rośnie! Hasło uznawane za bezpieczne 10 lat temu, wcale nie musi być nadal bezpiecznym hasłem za kolejnych lat 20.
Skąd przychodzi atak?
Drugim pytaniem jest to, jakiego ataku się obawiamy. Czy atakujący zna swoją ofiarę, analizuje związane z nią informacje, czy po prostu atakuje „na ślepo”.
Atak z zewnątrz
Jeżeli atak przychodzi z zewnątrz i atakujący nie zna swojej ofiary, to wtedy nie jest ważne czy hasło to LubięFrytkiNa100% czy LubięPączkiNa100% bo obydwa są równie prawdopodobne i obydwa równie bezpieczne. Nie będzie miało też wtedy znaczenia, czy hasło zapamiętamy, czy zapiszemy flamastrem na monitorze.
Kiedyś brałem udział w dyskusji, w której specjaliści od bezpieczeństwa śmiali się z hasła do domowego WiFi zapisanego na lodówce. No ale przecież hasło chroni WiFi przed sąsiadami, a nie domownikami. Jeżeli sąsiedzi nie odwiedzają naszej kuchni, to takie zapisanie nie uchybia bezpieczeństwu. Aczkolwiek faktem jest, że lepiej wyrabiać sobie dobre nawyki, a zapisywanie hasła do nich nie należy.
Atak socjotechniczny
Zawsze istnieje szansa, że atakujący choć trochę zna swoją ofiarę, dlatego nie tylko zapisywanie, ale także stosowanie haseł kojarzących się z nami nie jest dobrym pomysłem. Jeżeli atakujący nie może użyć metody brute-force, może posłużyć się atakiem socjotechnicznym. Ulubione piosenki, ulubione cytaty, imiona osób bliskich, pewne nawyki – wszystko to może być wykorzystane przeciwko nam. Być może również dostanie się do pomieszczenia, w którym wisi zapisane hasło.
Jak stworzyć bezpieczne hasło?
Osobiście nie polecam generatorów haseł, bo takie hasło z generatora nie jest możliwe do zapamiętania i wtedy będziemy mieli tendencję do
- zapisywania hasła (a to bywa niebezpieczne),
- rzadkiego zmieniania (bo skoro nauczyłem się trudnego hasła, to nie chce mi się uczyć nowego),
- stosowania tego samego hasła w kilku serwisach (raz nauczone, wykorzystywane zawsze).
Innym problemem jest to, że skomplikowane hasło wolniej się wpisuje. Proszę spróbować wpisać HSkje23#maH% na klawiaturze. Będzie szło wolno i nie będzie to wygodne, a i ktoś z zewnątrz łatwiej podpatrzy wolne pisanie, niż szybki ruch palców na klawiaturze. A teraz proszę sprawdzić hasło: BrzydkieKaczątkoWędrowałoPrzezLas90*. Dużo dłuższe i bezpieczniejsze niż HSkje23#maH%, a dużo wygodniejsze w użyciu.
Na pierwszy rzut oka hasło o Kaczątku wygląda na łatwe, ale to jest ten sam syndrom, co w przypadku Holmesa i Watsona – gdy już widzimy hasło, to wiadomo – zakrzykniemy „ależ to banalne Holmesie”. Włamywacz jednak nie wie ile tam jest wyrazów, więc matematycznie możliwości do wypróbowania jest o wiele, wiele więcej, bo hasło jest dużo dłuższe. A jednocześnie – pomimo, że dłuższe, to łatwiejsze do zapamiętania i wpisania.
W cytacie otwierającym ten artykuł znajduje się wskazówka: „Pomyśl o jakiejś frazie, która jest za długa, żeby ją złamać na siłę, i której nie ma w słowniku.” Ja dodam jeszcze – i wzbogać ją o cyfry i znaki specjalne. A może nawet polskie znaki.
Przykład 1:
Mam ulubiony cytat z Pisma Św: Kto ma uszy niechaj słucha. Więc dopiszę 2, bo się kojarzy z dwoma uszami. Do tego jeszcze wykrzyknik dla podkreślenia uwagi. I powstaje hasło: Ktoma2uszyniechajslucha! A jeśli system pozwala na spacje i polskie znaki w haśle, to wręcz Kto ma 2 uszy niechaj słucha!
To akurat nie jest dobre hasło, bo podaję go jako przykład na szkoleniach, a nawet w telewizji 🙂 ale hasło stworzone według tej zasady jest w mojej ocenie bezpieczne.
Przykład 2:
Tworzę zdanie kojarzące mi się z serwisem. Np. przy logowaniu się do banku mogę mieć hasło: Wolność!FinansowaOdKredytów. Albo nawet Wolność!FinansowaOd7Kredytów jeżeli mam tych kredytów 7. Ja to wiem, przestępca nie wie, a cyfra w haśle utrudni atak.
Zadbaj o unikalność hasła
Najgroźniejszym atakiem automatycznym jest w mojej ocenie właśnie sytuacja, w której to samo hasło jest stosowane w wielu miejscach. Sam padłem ofiarą takiego ataku. Stosowałem to samo hasło (na szczęście do bardzo mało ważnych kont) do konta e-mail oraz do forum, w którym się zarejestrowałem tym adresem. W efekcie, hasło zostało przechwycone i złamane na forum, a przestępca uzyskał taką informację:
forum akwarystów, użytkownik: bojownik@lobo.pro → Hasło: Molinezja17!
Atakujący może więc spróbować (automatycznie, specjalnym oprogramowaniem), czy przypadkiem hasło Molinezja17! nie pasuje też do skrzynki pocztowej. I w ten sposób mało ważne dla mnie forum akwarystów jednocześnie ujawnia hasło do konta e-mail, które może być już bardzo ważne, bo przy jego pomocy być może będzie można uruchomić procedurę odzyskiwania hasła do innych portali, np. Facebooka albo innych e-maili.
Unikalność również na skalę światową
Hasło, o czym rzadko się mówi, powinno być również unikalne w skali światowej. Jako ludzie wierzymy w swoją kreatywność, ale za przeproszeniem dla wrażliwych Czytelników, jednym z najpopularniejszych haseł w Polsce jest dupa123.
W top 10 światowych haseł są takie kwiatki jak: 12345678, qwerty, password. Tak! Ludzie w pole password wpisują password i się dziwią, że to zostało bez problemu złamane. Przestępcy mają listę takich najpopularniejszych haseł oraz ich odmian. Password1 wcale aż tak bardzo nie utrudnia sprawy.
Warto sobie zacząć zdawać sprawę z tego, że wcale nie jesteśmy tacy niepowtarzalni, a nasz cięty dowcip wcale nie jest wybitnie rzadki i nie do odgadnięcia.
Zmieniaj hasła co jakiś czas
Na początku pisałem o tym, że jeżeli system się blokuje po kilku próbach, to złamanie hasła metodą brute-force nie jest możliwa. Ale to nie do końca prawda, bowiem często się zdarza, że ze znanych serwisów wyciekają tzw. hasze haseł, czyli skróty uzyskane jednokierunkową funkcją skrótu.
Jak działają funkcje skrótu?
Zazwyczaj zapamiętywanie haseł odbywa się w następujący sposób: Wspomniane przykładowe forum akwarystów nie ma zapisanych na dysku serwera haseł użytkowników, a ich sumy kontrolne, wyliczane z hasła. Przy każdym wpisywaniu hasła przy logowaniu do forum, system oblicza funkcję skrótu i porównuje z tym, co ma zapisane. Jeżeli skrót się zgadza, to system autoryzuje działania użytkownika.
Jak przebiega atak?
Funkcje są jednokierunkowe i, w teorii, jeżeli przestępca ukradnie spis kont i skrótów haseł, nie jest w stanie odczytać hasła, ma jedynie wynik nieodwracalnego matematycznego przekształcenia. W praktyce jednak może przeprowadzać w nieskończoność atak brute-force na tym pliku. Czyli próbować kolejne hasła, obliczać ich skróty i sprawdzać czy w wykradzionym zestawie taki skrót nie występuje. Przykładowo, dla hasła Monika1 jeden z rodzajów skrótów to: eb0a52b550eb094f7983eac2a580633f. Wystarczy więc znaleźć taki ciąg w wykradzionej bazie i wszyscy użytkownicy, którzy go mają zapisany, korzystają z hasła Monika1.
Atakujący nie musi nawet liczyć skrótów osobiście. Są w internecie bazy skrótów z odpowiadającymi im hasłami.
Co daje zmiana hasła?
Jeżeli nawet plik ze skrótami wyciekł, to być może zanim przestępca złamie skrót i wykorzysta pozyskane informacje, może minąć trochę czasu. Zmienione hasło sprawi więc, że pomimo wszystko konto będzie bezpieczne, do momentu aż ponownie lista skrótów zostanie wykradziona i poddana łamaniu.
Dwuskładnikowe uwierzytelnianie
Coraz więcej serwisów internetowych nie tylko pozwala, ale wręcz wymusza stosowanie tak zwanego dwuskładnikowego uwierzytelniania. Polega ono na tym, że samo hasło nie jest wystarczające do dokonania operacji. Konieczne jest jeszcze jakieś inne działanie. Zazwyczaj jest to jedna z poniższych metod:
- wpisanie kodu jednorazowego z listy kodów albo zdrapki,
- wpisanie kodu przesłanego SMSem,
- kliknięcie AKCEPTUJ w aplikacji mobilnej,
- wpisanie kodu w aplikacji mobilnej,
- wpisanie kodu wyświetlanego na ekranie specjalnego tokena,
- podpisanie operacji podpisem elektronicznym umieszczonym na karcie lub w specjalnym urządzeniu.
Każda z tych metod ma swoje wady, żadna nie daje 100% bezpieczeństwa, ale wszystkie one są i tak bezpieczniejsze niż stosowanie wyłącznie hasła. I nie należy tych metod kojarzyć jedynie z bankami. Dwuskładnikowe uwierzytelnianie stosuje od dawna system poczty GMail, portal społecznościowy Facebook i wiele innych serwisów niefinansowych.
Zdecydowana rekomendacja jest taka: Jeżeli tylko jest to możliwe, stosuj logowanie oparte o coś więcej niż hasło. Pozwolę sobie tu zacytować wypowiedź Piotra Wojczysa z internetowego forum inspektorów: „Nie chcesz kasy puścić z dymem? Stosuj token wraz z loginem.”
Podsumowanie
Najważniejsze informacje z artykułu zebrałem na poniższych grafikach.
Uwaga! Te hasła już nie są dobre, zostały upublicznione 🙂
Materiały dodatkowe
Nagranie z programu Pytanie Na Śniadanie
http://pytanienasniadanie.tvp.pl/43820590/haslo-z-imieniem-psa-lub-kota-to-zly-pomysl