Jak się łamie hasła? Filmy prezentują to różnie - od jakiś efektów 3D w dziwnych tunelach, po jakieś przesuwanie się wirtualnych zapadek w cyber kłódkach. Wszystko to jest ładne i ma zaciekawić widza, ale ani niepraktyczne, ani niestosowane. Dzisiaj omówimy niektóre fajne ataki na hasła.
Czym jest suma kontrolna?
Suma kontrolna to jednostronne przekształcenie tekstu na coś w rodzaju odcisku palca. Za każdym razem ten sam tekst da ten sam odcisk (czyli jest unikalny [w zasadzie]). Dla przykładu "fervi" to (używając algorytmu MD5) - 3417c2c42473c0be62a931a4ba3241d2, a "nervi" to 74bd3be5559730a7016bc57c3a352257. Zmiana jednej literki zmienia cały odcisk.
Natomiast (mając odpowiedni algorytm) jest to operacja jednostronna, czyli mając "74bd3be5559730a7016bc57c3a352257" nie da się odzyskać nervi.
Mając odpowiedni algorytm, bo te bardzo słabe można łatwo "łamać", na zasadzie tworzenia gotowych sum kontrolnych i haseł.
MD5 Online
MD5 Online to strona, która umożliwia zamianę tekstu na sumę MD5 i vice versa (o ile odwrotność jest w bazie danych). Dodam, że MD5 nie jest zalecane w użytku i od dawna można stosować mocniejsze algorytmy.
Dla przykładu mamy generator online pod tym linkiem (jeśli użyjemy tego z MD5 Online i nie będzie naszego odcisku, to doda do bazy, więc później "zdekoduje")
https://www.md5hashgenerator.com/
Następnie to co wyjdzie wklejamy w linku:
https://www.md5online.org/md5-decrypt.html
Są spore szanse, że dostaniemy z powrotem naszą wpisaną frazę.
Słownik
Myślę, że każdy przy generowaniu hasła wpisał swoje imię, imię dziecka, swoją ulubioną potrawę, popularną frazę, zespół muzyczny itd. Po prostu ludziom łatwiej takie hasło sobie w głowie wyobrazić i zapamiętać niż kombinację losowych znaków. Ktoś się zastanowił i stwierdził - nie jest to pewna metoda łamania hasła, ale daje duże szanse, stwórzmy słowniki do łamania haseł.
Słownik to baza danych zawierająca często kilkadziesiąt GB (duże) różnych kombinacji haseł, które są wpisywane w "dane miejsce". Dlatego często strony internetowe odradzają podawania "haseł słownikowych", a część (jak Github) blokuje jeśli hasło jest słownikowe lub kiedyś wyciekło w internecie zmuszając do tworzenia nowych kombinacji.
Bruteforce
Najmniej efektywne, ale najpewniejsze rozwiązanie - siłą "atakować" np. plik każdą możliwą kombinacją. Bruteforce jako zasada działania nie wyewoluował za bardzo, ale dzisiaj te ataki są konfigurowalne, np. można ustawić, że 7 miejsce to cyfra, co pozwala ograniczyć ilość kombinacji.
Należy pamiętać, że ta metoda sprawdza się bardzo dobrze do krótkich haseł, bo 30 znakowe czy 64 już nie złamie.
Czasem hasło to prowizorka ...
Myślę, że są ludzie, co mają hasło na użytkownika systemowego. Tylko, że to hasło jest prowizoryczne, gdyż albo można je usunąć (są specjalne programy do tego) albo wejść sobie z innego systemu i dane odczytać (nie są szyfrowane). Warto sobie zdać sprawę jak działa system, który "kluczykujemy", gdyż możemy się zdziwić, że jakiś 12 letni haker złamał nam komputer ;)
Tekst powstał na podstawie drugiego tematu tygodnia - "Richard Ernest Bellman" (jako nawiązanie do programowania dynamicznego -> algorytmy)