Podstawy Bezpieczeństwa: Hasła część 1, czyli jak utworzyć bezpieczne hasło

dodał 3 października 2022 o 09:15 w kategorii HowTo, Info  z tagami:
Podstawy Bezpieczeństwa: Hasła część 1, czyli jak utworzyć bezpieczne hasło

Hasła to jeden z najważniejszych, najbardziej złożonych, obrośniętych szkodliwymi mitami i budzących najwięcej kontrowersji tematów w obszarze bezpieczeństwa. Spróbujemy go dla was rozebrać na czynniki pierwsze w krótkim cyklu artykułów.

Przez kolejne dni będziecie mogli przeczytać nasze rekomendacje na temat tego, jak hasła tworzyć, jak je przechowywać, czym je najlepiej wzmocnić i jak zabezpieczać urządzenia mobilne, a ostatniego dnia odpowiemy na wasze najczęstsze pytania z tego obszaru. Zaczynamy dzisiaj od kwestii niezwykle ciekawej, czyli jak tworzyć hasła, by były bezpieczne i dało się je zapamiętać.

Cały cykl znajdziecie tu:

Podstawy Bezpieczeństwa
Artykuł stanowi część cyklu Podstawy Bezpieczeństwa realizowanego od ponad dwóch lat pod patronatem Aruba Cloud. Doradzamy w nim, jak podnosić bezpieczeństwo codziennego używania komputerów, telefonów i internetu. Nawet jeśli nie znajdziecie w nim niczego nowego (chociaż najpierw warto sprawdzić!), to zawsze możecie te wpisy podsyłać swoim bliskim i znajomym – im na pewno się przydadzą. Zachęcamy też do zapoznania się z poprzednimi odcinkami tej serii.

Hasło dłuższe lepsze od skomplikowanego

Pamiętacie te rekomendacje, że hasło powinno zawierać duże i małe litery, cyfry i znaki specjalne? Niestety to jeden z najmocniej zakorzenionych mitów dotyczących haseł. Do tej pory identyczne (lub bardziej skomplikowane!) rekomendacje można spotkać w wielu (czasem nawet poważnych) serwisach. Tymczasem matematyka nie kłamie i wskazuje na zupełnie inne rozwiązanie.

Załóżmy, że naszego hasła nie ma w słowniku, z którego korzysta haker i będzie musiał je zgadywać, sprawdzając wszystkie możliwe kombinacje znaków. Porównajmy teraz hasło spełniające popularne kryteria:

$Tk0A&8B

z hasłem, które na pierwszy rzut oka wielu osobom wyda się „słabe”:

czarnazabakumka

Oba hasła zapewne oprą się atakom słownikowym. A które z nich jest silniejsze? Obliczymy to w mocno uproszczony sposób, by nie męczyć was logarytmami. To pierwsze hasło ma 8 znaków, z których każdy może przyjąć jedną z 95 wartości. To drugie ma 15 znaków, z których każdy może przyjąć 26 różnych wartości. Jeśli porównamy więc 95 do potęgi 8 z 26 do potęgi 15 to okaże się, że nasze 15-znakowe hasło składające się z samych małych liter jest ponad 200 tysięcy razy trudniejsze do złamania niż hasło 8-znakowe, zawierające wszystkie kategorie znaków. 

Jak bardzo długość hasła wpływa na trudność jego złamania niech najlepiej pokaże fakt, że porównywalną do tego „skomplikowanego”, ale krótkiego hasła siłę będzie miało hasło składające się z samych małych liter o długości 11 znaków, a hasło o 12 znakach będzie od niego silniejsze. Teraz jeszcze odpowiedzcie sobie na pytanie, które z nich jest łatwiej zapamiętać – i mamy gotową rekomendację „dłuższe lepsze od skomplikowanego”.

Dłuższe, ale jak długie?

Aby odpowiedzieć na to pytanie musimy przyjąć kilka założeń – najlepiej pesymistycznych, by być w razie pomyłki po lepszej stronie. Po pierwsze, liczymy dla hasła składającego się z samych małych liter. Po drugie zakładamy, że hasło jest przechowywane w formie najgorszego możliwego, często używanego hasha (najszybszego do obliczania), czyli MD5. Po trzecie zakładamy, że atakujący ma do dyspozycji botnet, duży budżet na maszyny w AWS lub własny superkomputer.

Karta graficzna typu RTX 3090 za pomocą narzędzia hashcat osiąga ok. 67 miliardów sprawdzanych hashy na sekundę. Załóżmy zatem, że atakujący jest absurdalnie bogaty i bardzo zdeterminowany i może użyć 1000 takich kart naraz. Nasze „skomplikowane” hasło 8-znakowe łamałby niecałe dwie minuty (statystycznie ujmując, połowę tego czasu – bo musiałby mieć dużego pecha, by trafić na nie w ostatniej próbie). Z kolei pokonanie naszego „prostego, ale długiego” hasła zajęłoby maksymalnie 290 dni (o rachunku za prąd nie wspominając). Jeśli 290 dni was nie satysfakcjonuje, to wystarczy dodać 3 kolejne litery i dostajemy ok. 14 tysięcy lat.

Czy jest zatem sens tworzyć hasła dłuższe niż 18 znaków? Jeśli ktoś lubi, to oczywiście – ale nie wpływa to już w żaden realny sposób na jego bezpieczeństwo. 18 znaków powinno wystarczyć każdemu – nawet jeśli są to tylko małe litery.

Ale ataki słownikowe!

Słusznie, to ważny temat. Wszystkie powyższe rozważania opieramy na założeniu, że nasze hasło nie znajduje się w słowniku napastnika. Słowniki znacząco skracają czas potrzebny na łamanie haseł. Jakie hasła zatem są w słownikach napastników, a jakich nie ma? Spójrzmy na kilka nieoczywistych przykładów.

litwoojczyznomojatyjestesjakzdrowie

To hasło oczywiście (podobnie jak wiele fragmentów wierszy, piosenek czy innych popularnych powiedzonek) znajduje się w licznych słownikach. Nie używajcie fraz, które występują w takiej postaci w sieci.

zaq!@WSXCDE#$rfvbgt%^

To hasło znajduje się w każdym słowniku hakera. To „wężyk” po klawiaturze. Każdy szanujący się haker ma w swoim słowniku wszystkie wężyki.

P@k1st@n!P@k1st@n!P@k1st@n!

To hasło też znajduje się w słowniku hakera. Nie bezpośrednio – w słowniku znajduje się słowo „pakistan”, a program łamiący hasła (np. hashcat) zna różne regułki, których używacie do modyfikacji swoich haseł i aplikuje je po kolei do każdego słowa ze słownika. Zaaplikowane zostaną więc popularne regułki takie jak „pierwsza litera duża”, „zamień a na @”, „zamień i na 1”, „dodaj ! na końcu” oraz „powtórzy 3 razy”. 

poznalemswojazonenaplazywustce

Tego zdania nie ma w słowniku hakera. Dlaczego? Bo to zdanie osobiste, które dotyczy konkretnej (być może tylko jednej na świecie) osoby.

bederobil20pompekjakwstane

To hasło także nie znajdzie się w słowniku hakera, a co więcej, jego codzienne wpisywanie może pomóc w realizacji planu.

Co więcej, warto zauważyć, że ułożenie hasła z 5 słów znajdujących się w słowniku hakera nie oznacza, że do złamania takiego hasła wystarczy łamać je 5 razy dłużej. Jeśli słownik hakera ma 100 000 haseł, to oznacza to, że łamanie hasła z 5 wyrazów (znajdujących się w słowniku) będzie wymagać 100 000 do potęgi piątej prób (1 i 25 zer, czyli bardzo dużo).

Ale hasła powinien generować manager haseł!

O tym, czy / kiedy / jak używać managera haseł, opowiemy w kolejnym odcinku. Jeśli z niego korzystacie, to oczywiście używanie całkiem losowych haseł, składających się z małych i dużych liter, cyfr i znaków specjalnych o długości przynajmniej 11-12 znaków daje porównywalny poziom bezpieczeństwa, co hasła 15-znakowe składające się z samych małych liter.

Może zapytacie „a po co mi hasło z małych liter układające się w zdanie, skoro korzystam z managera haseł”. Odpowiemy: „może przyda się do zabezpieczenia managera haseł albo logowania do komputera” :)

Miernik siły hasła mówi mi, że moje hasło jest słabe

Niestety wiele mierników siły hasła na różnych stronach nie liczy jego prawdziwej siły, tylko działa według starych reguł, dawno uznanych za nieprzydatne, a wręcz obniżające jakość hasła. Najprościej taki miernik przetestować, porównując dwa hasła: „calkiemdobrehaslomam” oraz „Abcd123!”. 

Jeśli to pierwsze zostanie uznane za słabe, a drugie za silne, to wiecie już, że autorzy tego miernika nie wiedzą, co czynią.

Różne hasła w różnych miejscach

Dobre hasło nie wystarczy. Trzeba mieć ich dużo, a najlepiej jest mieć osobne hasło do każdego serwisu.

Dlaczego osobne hasła są takie ważne? Włamywacze lubią, gdy macie takie same hasła w wielu miejscach. W jednym ukradną, w drugim użyją. Hasła do poczty czy Facebooka praktycznie nigdy nie są wykradane z serwerów poczty czy Facebooka. Bardzo często wykradane są z innych miejsc (np. fora czy sklepy internetowe) i sprawdzane, czy pasują do danej skrzynki pocztowej lub konta w mediach społecznościowych. Używając różnych haseł w różnych miejscach, rzucacie włamywaczom kłody pod nogi.

Jak sobie poradzić z posiadaniem wielu różnych haseł? Odpowiedź na ten temat znajdziecie już w środę w kolejnym artykule, tym razem poświęconym przechowywaniu haseł.

Macie pytania dotyczące haseł? Piszcie je od razu w komentarzach, odpowiemy w kolejnych odcinkach.

Dla zachowania pełnej przejrzystości: Patronem cyklu jest Aruba Cloud. Za opracowanie i opublikowanie tego artykułu pobieramy wynagrodzenie.