Dzięki pomyłce przestępców ofiary mogą odzyskać zaszyfrowane pliki

dodał 21 lutego 2014 o 11:22 w kategorii Złośniki  z tagami:
Dzięki pomyłce przestępców ofiary mogą odzyskać zaszyfrowane pliki

Prawidłowe stosowanie kryptografii jest trudne a autorzy złośliwego oprogramowania również popełniają błędy. Mogą z tego skorzystać ofiary jednego z najnowszych wariantów ransomware, którego twórcy pomylili 128 cyfr ze 128 bajtami.

Oprogramowanie szyfrujące pliki na dysku użytkownika i wymuszające okup za ich odszyfrowanie staje się coraz popularniejsze. Najwyraźniej przychody z tej działalności muszą być spore, ponieważ konkurencja jest duża. Na szczęście okazuje się, ze nie wszyscy autorzy ransomware prawidłowo wdrażają szyfrowanie plików, dzięki czemu w jednym z wariantów możliwe jest ich odszyfrowanie.

Pechowy wybór ofiary

Niedawno powstały gatunek ransoware o nazwie BitCrypt zaraził komputer pewnego użytkownika, szyfrując wszystkie zdjęcia jego syna. Użytkownik oczywiście nie miał kopii bezpieczeństwa, nie licząc kilku zdjęć wrzuconych na Facebooka. Miał za to w zanadrzu tajną broń – był nią ojciec chrzestny dziecka, pracujący w firmie Cassidian Cybersecurity. Wobec możliwej utraty zdjęć chrześniaka wszystkie ręce zostały wezwane na pokład i zespół przystąpił do analizy problemu.

Niestety ofiara infekcji znajdowała się 400 km dalej i nie było na miejscu nikogo, kto mógłby pomóc, zatem analiza zaczęła się od zdjęcia ekranu zarażonego komputera. Była na nim krótka informacja o zaszyfrowaniu wszystkich plików oraz wskazówka, by odwiedzić witrynę bitcrypt.info i podać na niej kod DRU-84-539467. Dodatkowo informacja zawierała adres zapasowej strony w sieci Tor na wypadek, gdyby poprzedni link był już nieaktywny. Strona wskazana w instrukcji została założona 3 lutego 2014 i zawierała jedynie formularz służący do podania numeru infekcji (obecnie domena została zawieszona).

Wygląd bitcrypt.info

Wygląd bitcrypt.info

Po zalogowaniu użytkownik otrzymywał kolejne instrukcje, obejmujące, jak się pewnie domyślacie, płatność w BTC. Cena nie była wygórowana – jedynie 0,4 BTC, co po ówczesnym kursie oznaczało ok. 260 euro, obecnie oczywiście znacznie mniej (autor ransomware musi sobie pluć w brodę…). Co ciekawe, na adres portfela podany w komunikacie faktycznie dotarło kilka płatności.

Analiza szyfrowania

Program twierdził, że używa szyfrowania RSA z kluczem o długości 1024 bitów, obecnie uznawanego za nie do złamania w domowych warunkach (oficjalnie nikomu do tej pory się nie udało). Na szczęście badaczom udało się znaleźć kopię złośliwego programu w serwisie VirusTotal, zatem postanowili zweryfikować to twierdzenie. Po rozpakowaniu próbki w środku znaleziono kod stworzony w Delphi i przystąpiono do jego analizy.

Na początku działania programu losowany jest jeden z 1000 przechowywanych w programie kluczy RSA, który zostanie wykorzystany w procesie szyfrowania plików, a jego identyfikator zapisywany jest w numerze infekcji, przekazywanym użytkownikowi. Program wybiera jedynie pliki z kilkunastoma najpopularniejszymi rozszerzeniami i szyfruje je za pomocą algorytmu AES w trybie CTR. Dla każdego pliku losowane jest 16-znakowe hasło, z którego za pomocą funkcji PBKDF2 z 1000 interacji i losową solą generowany jest klucz o długości 192 bitów, używany następnie w szyfrowaniu AES. Klucz AES jest następnie szyfrowany algorytmem RSA i zapisywany w zaszyfrowanej formie razem z plikiem.

Teoretycznie trudno znaleźć lukę w tym sposobie postępowania. Kiedy jednak badacze przyjrzeli się kluczowi RSA, zaczęli świętować. Okazało się, że autorowi programu pomyliły się bajty z cyframi. Zamiast stworzyć klucz o długości 128 bajtów (1024 bitów), klucz tworzony przez program ma 128 cyfr, czyli 464 426 bity. Zamiast RSA-1024 niemożliwego do złamania mamy zatem do czynienia z RSA-464 RSA-426, a klucze o zbliżonej długości były łamane już w roku 1994.

Podsumowanie

Autorzy odkrycia na tym nie poprzestali i wykorzystując dostępne implementacje algorytmów faktoryzacji stworzyli narzędzie w Pythonie, służące do odszyfrowywania plików BitCrypta. Cały proces na czterordzeniowym procesorze zajmuje ok 2 dni, zatem jest w zasięgu praktycznie każdego poszkodowanego. Mimo tego przypominamy, by jednak robić kopie bezpieczeństwa najważniejszych plików – nie każdy autor złośliwego oprogramowania robi takie błędy.