Reklama
  • WIADOMOŚCI

PESEL to słabe hasło do dokumentu. Jak prosto je złamać?

Przedsiębiorstwa czy administracja publiczna często przesyła dokumenty zabezpieczone hasłem w postaci numeru PESEL. Zamysł ustawiania haseł do plików z danymi osobowymi jest słuszny, lecz wykorzystanie numeru PESEL nie zapewnia należytego poziomu bezpieczeństwa informacji. Pokażemy wam, jak łatwo można uzyskać dostęp do takich plików z wykorzystaniem „zwykłego” laptopa.

PESEL jest bardzo słabym hasłem do dokumentu. Pokazujemy, jak je złamać w praktyce
PESEL jest bardzo słabym hasłem do dokumentu. Pokazujemy, jak je złamać w praktyce
Autor. Magnific.com. Licencja: https://www.magnific.com/legal/terms-of-use, https://support.magnific.com/s/article/Attribution-How-when-and-where

W artykule _„Szyfrowanie dokumentów numerem PESEL nie chroni ich zawartości” bloger Tomasz Zieliński (Informatyk Zakładowy) jasno wskazuje, że zabezpieczenie dokumentów numerami PESEL bywa bezcelowe dla wielu typów PDF-ów, szczególnie tych starszych.

W przypadku pliku PDF w wersji 1.4 (standardu z 2001 roku), który Zieliński otrzymał na maila od jednej z miejskich jednostek organizacyjnych, odgadnięcie poprawnego hasła (PESEL-u) zajęło zaledwie 19 sekund. Jego domowy komputer testował niecałe 6,9 miliona hashy na sekundę, zaś lista wszystkich numerów PESEL z lat 1950-2000 zawiera 186 milionów rekordów.

W 2024 roku Tomasz Zieliński próbował złamać dokument z banku, oparty na 11-znakowym haśle - złożonym z cyfr oraz liter opartych na dacie urodzenia oraz imieniu i nazwisku (np. 07JN965TY03). Informatyk Zakładowy złamał je w 7,5 godziny, zaś przejrzenie wszystkich możliwych kombinacji zajęłoby 18 godzin.

Postanowiliśmy sprawdzić tempo łamania hashy (zgadywania numeru PESEL) dla plików w formatach: .rar, .zip, .7z, .docx i .pdf.

Połammy trochę plików

Utworzyliśmy sześć różnych plików zabezpieczonych numerami PESEL. wykorzystując przy tym listę wszystkich możliwych kombinacji PESEL-ów dla pełnoletnich Polaków w dniu łamania hashy, czyli dla osób urodzonych między 23 lutego 1915 r. a 24 kwietnia 2008 roku. Łącznie było to 340,3 mln rekordów, które zajmowały 3,8 GB miejsca na dysku.

Zawartością pliku był przepis na chlebek bananowy od Ania Gotuje. Równie dobrze mogły by to być PIT-y, decyzje administracyjne czy inne dokumenty z danymi osobowymi. Rodzaj pliku nie ma znaczenia pod kątem łamania hashy (zgadywania hasła).

Sześć plików zahasłowanych numerami PESEL, skrypt w Pythonie oraz słownik
Sześć plików zahasłowanych numerami PESEL, skrypt w Pythonie oraz słownik
Autor. Oskar Klimczuk / CyberDefence24

Hash umożliwia bezpieczne przechowywanie hasła. Z założenia jest jednostrony - „łamanie hasha” oznacza dopasowywanie pierwotnej frazy do posiadanego wyniku działania danego algorytmu. Przykładowo, hashem słowa „jabłko” dla algorytmu MD5 jest „ae7aa47db556a9d1fc5b5097b13c9524”.

Jeżeli wiemy, że za hashem stoi owoc, możemy wykorzystać listę wszystkich znanych nam owoców. Jeśli na liście znalazło się „jabłko”, uda się nam złamać hash. W praktycznych zastosowaniach wymaga to często milionów prób.

Reklama

Odpowiedzialność karna

Artykuł ma na celu wykazanie, że stosowanie numerów PESEL jako haseł do plików jest złą praktyką. Jednocześnie nie powinniśmy próbować łamać haseł do plików innych osób bez wyrażenia ich zgody.

Zgodnie z art. 267 Kodeksu Karnego, nieuprawniony dostęp do informacji wskutek przełamania informatycznego zabezpieczenia jest zagrożony grzywną, ograniczeniem wolności lub pozbawieniem wolności do lat 2.

Podkreślamy, że łamanie hashy zostało przeprowadzone w celu wzmocnienia poziomu zabezpieczeń plików w polskich organizacjach poprzez wykazanie słabości zabezpieczenia. Nie rekomendujemy działań niezgodnych z prawem.

PDF na pierwszy ogień

Do łamania hashy haseł wykorzystano laptop biurowy o przeciętnej specyfikacji z zintegrowaną kartą graficzną. Zdecydowana większość komputerów stacjonarnych składanych na przestrzeni ostatnich lat ma lepsze możliwości łamania hashy.

Do zapisania dokumentu jako PDF wykorzystano Worda z 2013 roku, który umożliwia zaszyfrowanie pliku hasłem. Jako hasło wykorzystano losowo wygenerowany numer PESEL - pomimo tego, że nie można go jednoznacznie przypisać osobie fizycznej na bazie artykułu, postanowiliśmy go nie upubliczniać.

Zapis dokumentu Worda do PDF
Zapis dokumentu Worda do PDF
Autor. Oskar Klimczuk / CyberDefence24

Za pomocą jednego z ogólnodostępnych programów można było przejść do łamania hasha pliku (odgadnięcia hasła) w oparciu o słownik z wszystkimi możliwymi kombinacjami numerów PESEL dla pełnoletnich Polaków. Co ciekawe, odgadnięcie prawidłowego numeru PESEL zajęło… 3 minuty i 14 sekund!

Prędkość łamania hashy wahała się między 1,2 mln a 1,3 mln kombinacji na sekundę. Odgadnięcie numeru PESEL wymagało 245 mln prób, które „zwyczajny” komputer wykonał w niecałe 200 sekund.

Reklama

Archiwa ZIP

Kolejnym krokiem było utworzenie dwóch plików ZIP z takim samym hasłem. Jedno z nich wykorzystywało funkcję „Klasycznego szyfrowania ZIP”. Do łamania hashy wykorzystano ten sam słownik z ponad 340 mln linijek.

Cały proces zajął 15 minut i 29 sekund dla domyślnych ustawień WinRAR oraz 2 minuty i 7 sekund dla klasycznego szyfrowania.

7z i RAR

Przy pliku w formacie .7z pojawiła się pierwsza trudność - proces sprawdzenia wszystkich haseł ze słownika zawierajacego numery PESEL wszystkich Polaków zająłby… 4 dni i kilkanaście godzin. Nie planowałem na to poświęcać tyle czasu (i prądu).

7-Zip wykorzystuje AES-256 - jeden z najlepszych powszechnie używanych algorytmów szyfrowania symetrycznego. Jednocześnie pragniemy pokazać, że o możliwości złamania hasha decyduje nie tylko algorytm, lecz złożoność klucza (hasła) - PESEL nie powinien być wykorzystywany w tym celu z racji na jego przewidywalność.

W tym celu postanowiłem znacznie okroić słownik do numerów PESEL wygenerowanych w latach 1980-1985. Przedział został dobrany w taki sposób, ponieważ dla wielu osób fizycznych możliwe jest oszacowanie roku urodzenia.

Hashe z plików .7z i .rar udało się złamać w następującym czasie:

  • .rar (RAR5): 47 minut i 53 sekundy;
  • .7z: 2 godziny i 48 minut.
Reklama

Word, czyli „czarny koń” i zagrzany laptop

Największe trudności sprawił hash, który może być dla niektórych zaskoczeniem, mianowicie najtrudniej było „włamać się” do pliku w formacie dokumentu Worda (.docx). Aby go złamać, postanowiłem… uruchomić równolegle dwa losowe słowniki z PESEL-ami z lat 1980-1985. W tym celu użyłem laptopa o nieco lepszej specyfikacji (aczkolwiek innego niż tzw. „gamingowy”).

Na pierwszym komputerze prędkość łamania hashy wynosiła 576 hashy na sekundę, zaś na drugim (dotychczasowo używanym do łamania wszystkich hashy) - 453 hashe na sekundę. Przewidywana długość testowania wszystkich rekordów ze słownika wynosiła kolejno: około 10 i pół godziny oraz około 12 godzin.

Co jednak najśmieszniejsze, pierwszy z laptopów (o lepszej specyfikacji)… zagrzał się i odmówił łamania hashy. W pełni zrozumiałe - w końcu jego wbudowana karta graficzna osiągnęła temperaturę 90 stopni Celsjusza. Stało się to po godzinie i 26 minutach, podczas których udało mu się wypróbować 2,9 mln numerów PESEL.

O problemie zorientowałem się niecałe trzy godziny po rozpoczęciu procesu łamania hashy. W dwie godziny i 51 minut drugi laptop (o słabszej specyfikacji) przetestował ponad 4,5 mln kombinacji, w tym momencie przerwałem operację.

Postanowiłem, że wznowię łamanie hashy na drugim laptopie (słabszym) od momentu, gdy pierwszy laptop odmówił współpracy w nieludzkich warunkach termicznych, czyli po 2 949 120 próbach odgadnięcia poprawnego PESEL-u. Miałem szczęście, ponieważ po 15 minutach i 24 sekundach udało mi się odgadnąć prawidłowy numer PESEL - wymagało to nieco ponad 3,3 mln prób.

Oznacza to, że złamanie hasha z dokumentu Worda zajęło nieco ponad 3 godziny (przy zmianie sprzętu). Jednocześnie przetestowano (w jednym zbiorze) nieco ponad 15% wszystkich kombinacji.

Przy założeniu, że korzystamy wyłącznie z lepszego urządzenia, a prawidłowy PESEL jest ostatnim rekordem w słowniku (co byłoby maksymalnym pechem) - cały proces zająłby ponad 10 i pół godziny (21 920 000 : 576 : 3600 = 10,57 godziny)! Należy ponownie podkreślić, że mowa wyłącznie o słowniku z PESEL-ami z lat 1980-1985.

Podsumowanie

Podsumowując, tak prezentują się czasy konieczne do złamania poniższych rodzajów hashy haseł:

Czas łamania hashy o określonym rozszerzeniu

Rozszerzenie Czas łamania Słownik
.pdf 3 minuty 14 sekund Pełny
.zip (klasyczny) 2 minuty 7 sekund Pełny
.zip 15 minut 29 sekund Pełny
.rar 47 minut 53 sekundy Okrojony
.7z 2 godziny 48 minut Okrojony
.docx Około 3 godziny Okrojony
Czas łamania hashy o określonym rozszerzeniu

Widzimy, że hash utworzony z numeru PESEL można złamać w kilka godzin na laptopie biurowym. Do ogadnięcia hasła do pliku w formie PESEL-u nie potrzebujemy komputera kwantowego - wystarczy komputer z średniej półki.

Reklama

To jakie hasła ustawiać?

Przede wszystkim nie powinniśmy stosować numerów PESEL jako haseł do plików - są one utworzone schematycznie (11 cyfr). Znając czyjś rok urodzenia zawężamy pulę numerów PESEL do 3,6 mln, zaś znajomość płci danej osoby zmniejsza ją o połowę.

Hasło do plików powinno być nieschematyczne - najlepiej złożone z kilku słów, np. „HasloDoPlikuPowinnoBycLosoweAleNieschematyczne!”. Można również rozważyć losowe ciągi znaków, np. „NMAFIM(#K$nosfm)n12n4n(}2jif^&(-gh”_.

Kluczowe jest również przesyłanie go innym kanałem komunikacji niż wiadomość, np. SMS-em w przypadku wiadomości mailowych. Dzięki temu znacznie zmniejszymy ryzyko naruszenia ochrony danych osobowych wskutek włamania na nasze konto, ponieważ cyberprzestępca nie będzie mógł zapoznać się z zawartością plików z danymi osobowymi, ponieważ nie zna hasła (oraz go nie złamie w rozsądnym czasie).

W sytuacji, gdy informacja o haśle jako numerze PESEL znajduje się w treści wiadomości, znacznie ułatwiamy potencjalne złośliwe działania

Szyfrowanie dokumentów numerem PESEL nie chroni ich zawartości - brzmiał przytaczany na początku tytuł artykułu Informatyka Zakładowego (Tomasza Zielińskiego).

Jako użytkownicy sieci powinniśmy pamiętać o stosowaniu dwuetapowego uwierzytelniania oraz korzystania z unikalnych haseł.

Chcesz nam coś przekazać? Polecamy  anonimowy kontakt z nami - należy użyć formularza „Zgłoszenia anonimowe” u dołu strony.

CyberDefence24.pl - Digital EU Ambassador

Serwis CyberDefence24.pl otrzymał tytuł #DigitalEUAmbassador (Ambasadora polityki cyfrowej UE). Jeśli są sprawy, które Was nurtują; pytania, na które nie znacie odpowiedzi; tematy, o których trzeba napisać – zapraszamy do kontaktu. Piszcie do nas na: [email protected].

Reklama

Krajowy system e-Faktur - co musisz wiedzieć o KSEF?

YouTube cover video
Materiał sponsorowany