Łamanie PDFa z hasłem w kilka sekund – PZU i ich iluzoryczna ochrona. NN Investment Partners również powiela złe praktyki.

2 lat temu

Iluzja bezpieczeństwa jest gorsza od świadomości o jego braku, bo prowadzi do decyzji podjętych na błędnych przesłankach. Informacje przekazywane przez instytucje zaufania publicznego typu „Chronimy Twoje dane osobowe” jest często właśnie takową iluzją bezpieczeństwa. Przestudiujmy dwa tego przypadki na przykładzie plików PDF z hasłami.

  1. Dostałem maila od PZU z propozycją ubezpieczenia o niniejszej treści, z podkreśleniem „Chronimy dane osobowe”:

2. W załączniku znajdował się plik PDF zabezpieczony hasłem:

3. Załóżmy, iż owego hasła nie znam. Wiem natomiast z treści maila, iż hasło składa się z 4 cyfr. Sprawdźmy zatem jak dużo czasu zajmie jego złamania przy użyciu współczesnego, domowego komputera.

4. Poprzez otworzenie PDFa w trybie tekstowym odczytajmy (np. dzięki notatnika) nagłówek pliku. Pozwoli to nam zidentyfikować, w której wersji standardu został on stworzony:

Jak widać z ciągu znaków – „%PDF-1.4”, został tutaj użyty ponad 20 letni format w postaci PDF 1.4

5. Kolejnym krokiem jest wyciągnięcie skrótu hasła, które chcemy złamać. Z pomocą przychodzi nam tu narzędzie pdf2john.py .

6. Do łamania uzyskanego hasha użyjemy hashcata w trybie bruteforce. 10500 oznacza tutaj tryb łamania właśnie hasha formatu dla plików PDF w wersji 1.4-1.6:

W pliku hash.txt znajduje się wcześniej wyciągnięty skrót hasła. a3 oznacza tryb bruteforce z maską ?d?d?d?d gdzie każde ?d oznacza dowolną cyfrę z przedziału 0-9.

Jak widać poniżej, złamanie hasła składającego się z czterech cyfr trwało 10 sekund:

Tym samym śmiało można, stwierdzić, iż 4 cyfrowe hasło jest typem iluzorycznej ochrony i nie zabezpiecza danych osobowych.

Kolejno na warsztat weźmy „zabezpieczony” PDF od NN Investment Partners.

  1. Tutaj został on poddany „ochronie” już nieco dłuższym ciągiem znaków — numerem PESEL.

2. Nagłówek pliku z załącznika – „%PDF-1.2” wskazuje, iż plik został stworzony przy użyciu standardu z 1996 roku:

3. To samo wskazuje wyciągnięty hash hasła:

4. Odpalamy „chamski” brutforce hashcatem. Chamski, bo nie bierzemy pod uwagę żadnych dodatkowych założeń, które zmniejszyłyby ilość możliwych kombinacji oprócz tego, iż PESEL to liczba składająca się z 11 cyfr:

Tym razem łamanie hasła trwało 64 sekundy. Kolejny raz udowadniamy, iż 11 cyfrowe hasło nie jest, żadną ochroną danych i stanowi przykład iluzji bezpieczeństwa.

Co zrobić, jak żyć?

Do szyfrowania danych należy używać długich haseł — powyżej 12 znaków, o dużej przestrzeni znakowej tzn. takich, w których będą duże/małe litery, cyfry i znaki specjalne. Takie hasło powinno być przesłane do klienta drugim kanałem komunikacji np. smsem. Ponadto instytucje powinny korzystać z silnych algorytmów szyfrujących, które znacząco spowalniają próby brutforcowania. Przykładem może być tutaj użycie archiwum 7zip z algorytmem AES-256.

Idź do oryginalnego materiału