Innowacyjna metoda odszyfrowywania danych po ataku ransomware Akira

Dzisiaj znowu o ransomware, ale tym razem od nieco innej strony. Jak się okazało, pomagając firmie, która została zaatakowana, programista Yohanes Nugroho był w stanie odszyfrować konkretną odmianę ransomware Akira dla komputerów z systemem Linux, odzyskując w ten sposób pliki i niwecząc żądania okupu.

Nugroho wyjaśnił, w jaki sposób opracował metodę deszyfracji, w poście na swoim prywatnym blogu. Programista opublikował kod źródłowy swojej metody na GitHub. Mogą z niego korzystać ofiary tej samej odmiany Akiry. Program deszyfrujący wymaga znaczników czasu dotkniętych plików, fragmentu znanego tekstu jawnego i zaszyfrowanego do porównania oraz mocnych podzespołów GPU do siłowego złamania kluczy szyfrujących.

Wariant Akira, dla którego zaprojektowano metodę deszyfrowania, jest aktywny od końca 2023 roku i dotyczy tylko komputerów z systemem Linux lub ESXi. Znany jest powszechnie jako Akira Linux V3, a dokładny hash dla tej odmiany znajduje się we wspomnianym artykule na blogu. Wariant używa KCipher2 do szyfrowania pierwszych 65 535 (0xFFFF) bajtów każdego pliku i ChaCha8 do szyfrowania pozostałych bajtów. Co ważne, ransomware używa bieżącego czasu (timestamp) w formacie nanosekundowym do generowania seedów do szyfrowania, umożliwiając odszyfrowanie metodą brute-force, gdy znane są nawet przybliżone czasy szyfrowania.

Szczegóły techniczne

Nugroho przeprowadził inżynierię wsteczną próbki Akiry i odkrył, że wykonuje ona cztery losowe generacje próbek na plik w czterech różnych momentach, dwa dla KCipher2 (t3 i t4) i dwa dla ChaCha8 (t1 i t2).

Fakt, że te czasy są ze sobą powiązane, komplikuje proces brute-force, wymagając określenia przesunięcia między pierwszą (t3) a drugą (t4) generacją. Czas ten różni się w zależności od systemu i pliku. Na przykład system firmy, który odszyfrował Nugroho, miał zakres od 1,5 do 5 milionów nanosekund, co wymagało 4,5 biliona możliwych par do sprawdzenia w algorytmie brute-force.

Ponadto system plików VMware VMFS zapewnia znaczniki czasu modyfikacji plików tylko z dokładnością do sekundy i rejestruje znacznik czasu, gdy plik jest zamykany, a nie gdy jest otwierany (gdy rozpoczyna się szyfrowanie).

Programista ustalił, że czas rozpoczęcia szyfrowania jednego pliku można określić na podstawie czasu modyfikacji pliku (czasu zakończenia szyfrowania) poprzedniego zaszyfrowanego pliku, co zapewnia niezbędne informacje do brutalnego wymuszenia znaczników czasu nanosekund.

We wpisie na blogu autor omawia też potencjalne konfiguracje GPU, których można użyć do uruchomienia procesu odszyfrowywania brute-force, zauważając, że RTX 3090 może testować około 1,5 miliarda szyfrowań na sekundę. Zamiast kupować jeden lub kilka GPU, firmy mogłyby rozważyć niedrogie usługi wynajmu GPU w chmurze, takie jak RunPod lub Vast AI. Dokładny koszt będzie zależał od liczby i rozmiaru zaszyfrowanych plików oraz zakresu przesunięcia (ile możliwych par t3/t4 trzeba brutalnie wymusić). Nugroho dodał, że wydał łącznie około 1200 USD na wszystkie swoje testy i eksperymenty, co raczej nie jest dużym kosztem dla zdesperowanych firm.

Ofiary Akiry mogą użyć kodu udostępnionego przez Nugroho, lecz wymaga to uzyskania znaczników czasu i szyfrogramów zaszyfrowanych plików, przetestowania przesunięć czasowych ich własnego serwera za pomocą narzędzi udostępnionych w repozytorium Nugroho na GitHubie i pozyskania niezbędnych zasobów GPU do przyspieszenia brute-force.

Metoda najpierw siłowo sprawdza szyfrowanie KCipher2, znajdując t3 i t4, a w przypadku dużych plików sprawdza ChaCha8, znajdując t1 i t2. Jest to możliwe, gdy znany jest t3, ponieważ odległość między t3 i t1 jest mniejsza niż 10 milionów nanosekund. Po znalezieniu wszystkich czterech czasów inicjalizacji ziarna szyfrowania użytkownik może ich użyć do uruchomienia deszyfratora.

Autor metody deszyfracji zauważył, że prawdopodobnie twórcy ransomware Akira zmienią swoje metody szyfrowania w celu ominięcia tej luki. W lipcu 2023 r. firma Avast opublikowała już deszyfrator dla Akiry, wykorzystując podatność w zabezpieczeniach ransomware, co spowodowało, że w późniejszych wersjach luka ta została naprawiona.

Cała ta sytuacja napawa optymizmem. Być może ransomware nie są wcale takie straszne i nie zawsze ich atak wiąże się z zapłatą okupu bądź bezpowrotną stratą danych. Może wystarczy zespół analityków i programistów, który złamie algorytm szyfrowania i opracuje deszyfrację?

Podziel się z innymi tym artykułem!